Installing Volumetric Capture
Volumetric Capture ships various binaries to be deployed at the workstation and the sensor processing units:
- The VolCap GUI application [
volcap.exe
] - The Device Repository CLI application [
dev_repo.exe
] - The VolSnap mixed mode (GUI & CLI) application [
volsnap.exe
] - The Intel RealSense 2.0 Eye CLI application [
remote_eye_rs2.exe
] (optional - depending on the sensor of choice) - The Microsoft Kinect 4 Azure Eye CLI application [
remote_eye_k4a.exe
] (optional - depending on the sensor of choice) - The Windows Eye Monitor Service [
remote_eye_service
] (optional - can resort to manual sensor connection mode) - The Intel NUC LED Controller application [
intel_nuc_led_utils.exe
] (optional - depends on Intel NUC mini-PC availability)
Items 4.-7
. are deployed on the sensor processing units. An Intel NUC is a minimal processing unit that can accomodate each sensor, although it is not strictly necessary, and even standard desktop computers can be used.
We also rely on external software:
- A message broker RabbitMQ
- A Python interpreter
IMPORTANT: It is recommended for performance reasons that RabbitMQ is hosted on the same workstation where VolCap will run, although it is not strictly necessary.
Requirements
VolCap
The central application has been tested on the following specifications:
- CPU: Intel i7 7700K (or better)
- RAM:
16GB
- GPU: Nvidia Geforce 960 (or better)
- Network:
1Gbps
(U/D) LAN connectivity is needed, to handle real-time streaming of multiple sensors. - OS: Windows 10 Pro
- HDD: Capacity is not really an issue; it depends on the needs of each user. The recommended capacity is at least
1TB
of storage. However, a writing speed of7200
rpm (or faster) is essential to record multiple streams simultaneously in real-time.
Eyes
For the sensor processing units we use mini-PCs which are portable and can be mounted on the sensors’ tripods. However, it is not strictly necessary as even standard desktop PCs can be used, using USB3.0 extension cables (taking into account the short 1m
cables of the sensors). The necessary requirements are real-streaming of the sensor data, which usually means enough processing power (sensor dependent) and 1Gbps
connectivity (although 100Mbps
should suffice under some sensor settings). We have tested with the Intel NUC7i5BNH with:
- RAM:
8GB
- OS: Windows 10 Pro
Installation
RabbitMQ Setup
The communication between the central app (VolCap) and the sensor stream capturers (Eyes) is facilitated by a RabbitMQ message broker. The following steps explain how to install and setup the RabbitMQ broker:
- Download and install the Erlang Compiler, by choosing Windows x64 Binary file.
- Download the RabbitMQ installation file from RabbitMQ webpage and install.
- In order to estamblish communication between the different parts of the system, you will have to open port:
5672
on Windows Firewall.- Open Windows Start Menu and search for
Control Panel
- In Control Panel open
Windows Defender Firewall
- In the left panel select
Advanced Settings
- In the left panel of the window that poped-up select
Inbound Rules
- In the right panel that appeard select
New Rule...
- In the window that appeared select
Port
and hitNext
- In
Specific local ports
text box type5672
and hit next - In the next window leave the
Allow Connection
option selected and hit next - In the next window leave everything selected and hit next
- In the next window you can add a name for the rule and a description, so as to know that you created that rule, and it’s not a Windows default rule.
- Repeat all the steps in order to create an
Outbound Rule
too, for the same port - The same rules for port
5672
must be applied to each capturer processing unit (e.g. Intel-NUC) hosting the Remote Eyes also.
- Open Windows Start Menu and search for
- Additionally, you will have to open outbound connections to port:
15672
, (the same way as the previous step, but putting15672
instead of5672
as the port number), in order to use RabbitMQ’s management interface. This is done by following the steps described above. You just have to create a newInbound Rule
for port15672
.
VolCap Setup
To install the VolCap application you need to:
- Download the latest release of Volumetric Capture from the Releases section.
- Extract the
main.zip
file in a directory of your choosing (e.g.C:/
). Avoid using paths that include"spaces"
. - Create a shortcut of volcap.exe on your desktop if you want.
- If RabbitMQ has been installed on the same machine, just double click the volcap.exe (or the shortcut if you created one), and you are ready to go.
For the Kinect 4 Azure eye, you also need to download the Depth Engine DLL, which should be placed next to k4a.dll
. More details can be found here, with the MSI downloaders available at this link. The appropriate version is 2.0
.
Remote Eyes Setup
NUC
In order to use the Eye, some Windows settings have to be set to each sensor processing unit (i.e. Intel NUC:
- Disable Windows Updates. (how to)
- Configure Local Time Zone to all devices.
- Enable Remote Desktop. (how to)
- Enable High Performance Settings. (how to)
- Disable USB power management. (how to)
- Install remote-eye application and Remote Eye Windows Service. (how to)
Service & Eye
This monitoring service is responsible for spawning and managing the lifecycle of the Eye application at each sensor processing unit.
No explicit configuration for a specific server is needed as the main application implicitly resolves that.
For each sensor processing unit:
- Create the directory:
C:\Capturer
. - When you have downloaded the
remote.zip
file from the release, extract its content inC:\Capturer
. - You should have a
\bin
folder which comprises the Eye application executables and in\remote_eye_service
the service files. - To install the Monitor service, you should run the
install_remote_eye_service.bat
inC:\Capturer\remote_eye_service\
with Administrator rights (right-click and choose “Run as administrator”). - If you ever need to uninstall the Monitor service, again you must run
uninstall_remote_eye_service.bat
with Administrator rights.
If you have already installed the remote_eye_service
from a previous version, you first need to uninstall it by running the uninstall_remote_eye_service.bat
script with Administrator rights. Then you should delete all the contents from the remote_eye_service
folder, and replace them with the ones from the current version. Finally, you should run the install_remote_eye_service.bat
script with Administrator rights, in order to install the current version of the service.
For the Intel RealSense 2.0 D415 eye, we have tested with, and thus, recommend, the 05.11.15.00
firmware version.
For the Kinect 4 Azure eye, you also need to download the Depth Engine DLL, which should be placed next to k4a.dll
. More details can be found here, with the MSI downloaders available at this link. The appropriate version is 2.0
. You also need to download and install the Microsoft Visual C++ Redistributable for Visual Studio 2019 (x64).
To achieve automatic sensor connection between the VolCap and Eye applications, we use the Monitor service. This service runs in the background of the sensor processing unit, and listens to UDP port
11234
in the network’s broadcast channel. Thus, you have to follow the steps above for creating inbound and outbound Windows Firewall rules, for all the processing units (workstation and sensor) for UDP port11234
.
Synchronization
Furthermore, for acquiring global timestamps aligned with the workstation (see the Synchronization Section) you should enable connections on port 320
(both incoming and outgoing) on the workstation pc, and port 321
on each NUC with the same procedure explained above.
Calibration
The spatial (volumetric) alignment, or otherwise extrinsics calibration method that the Volumetric Capture system relies on is described in the respective Calibration section. Details about its requirements and installation process can be found here.