Closed DrMaxP closed 3 years ago
The most critical resource (since you are not using Body Tracking) is USB bandwidth. You do not mention the frame rates for the data streams. Assuming 30fps you can probably handle 2 streams per controllers and certainly have enough GPU to process your 5-7 streams. Without knowing the compute requirements of your app or DepthKit it is hard to determine if the above HW requirements is sufficient. Since you are using DepthKit I would suggest asking Scatter for guidance.
Thanks. I'm not using DepthKit. Because I am a hobbyist and can't risk building a high end PC that won't drive multiple Kinects, I've fallen back to the one PC per Kinect option. I already have some very small PCs that were being used to drive Kinect V2s and have determined what characteristics are important to drive an Azure Kinect. These PCs have mostly 4th Gen Intel CPUs and I'm testing Brekel Pointcloud V3 acquiring depth and colour at 30fps. It appears on these older systems you need at least 4 physical cores to do this - i.e. 2 cores with hyperthreading aren't enough on these systems. However, at least this gives me a known route / cost basis for running a multi-sensor system.
Worth noting I'm not interested in body tracking and therefore the GPU requirements are no where near as important.
I am aware of some people's system specifications for hosting 5-10 Azure Kinect sensors on a single PC - including the DepthKit Ignite demo system https://github.com/microsoft/Azure-Kinect-Sensor-SDK/issues/971. However, that system had a very high spec and I'm wondering where performance could be lowered without significantly compromising the ability of a single PC to host say 5-7 Azure Kinect sensors capturing RGB data at 1080p and depth at any of the supported FOVs and binning modes? I do not need to do body tracking.
Apart from USB 3 expansion cards that can offer one host controller per sensor, what is most critical? Core count? Memory and speed? CPU max clock speed? Cache size? How important is the GPU if not doing body tracking?
For example, could I dial back to a CPU with 8 physical cores at a similar peak CPU clock speed as below and still host 6 Azure Kinects fine at 30fps? How much influence will the motherboard/chipset be having here? How important is a Core X CPU and X299 (w.r.t. the extra PCI lanes?).
If you have a single host running multiple kinects, would you be happy to post specs and performance observations?
From that thread:
-**PC
Intel i9 9920x Extreme (3.5GHz,12-core / 24-thread)
32GB DDR4 memory (8GB x 4)
NVIDIA RTX2080Ti video card
Asus X299Tuf MK2 Motherboard
3x StarTech.com 4 Port USB3.0 PCIe Cards with 4 Dedicated 5Gbps Channels**
Data steaming options 720p color 640x576 depth
Software running on the PC** Sensor SDK Demo app that was built in the Unity game engine Plugin for Unity that supports the Unity VFX graph for particle system effects DepthKit