Hardware requirements for multicamera Azure Kinect DK testing environment

Sebastian Pokuciński 41 Reputation points
2022-09-02T11:12:03.69+00:00

Hello everyone!

As @SatishBoddu-MSFT suggested in a response to an outdated question I am asking the following question as a new thread:

"What are the hardware requirements for a multi-camera testing environment based on the Azure Kinect DK?"

To extend the description - as a researcher of the domestic environment and artificial inteligence in general, I would love to connect 4 Azure Kinect DK's and build a room surveillance system.

As far as my idea goes, I would like to build a test environment similar to this:
237306-image.png

Following the previous thread laptops-recs-for-azure-kinect-dk.html, I am aware of some difficulties with proper hardware configuration of such scenario. In my case each azure kinect dk would be about 10m away from the main PC. I would like to use a single working station (PC) to make it work.

Known to me problems:

  1. 10m long cables may not work properly. The power delivery as well as the data transfer
  2. Single PC's USB controller is not enough to properly read all the data comming from like 4 kinect's simultanuously
  3. Kinects availability - I am from Poland. I really do not understand why the MS Store does not sell Kinects to our country, when even much smaller european countries are "supported". I am struggling to buy it in Germany, but the reponse time of Germany's MS Store is also far from perfect.

Known to me solutions:
To build a test environment working in my scenario we would need a lot of additional hardware. What I can think of are:

  1. Rather powerfull PC
  2. Additional PCIe-mounted USB controller card, that would introduce additional USB controllers to the game
  3. A power source extension - an active 10m cable with power adapter or a simpler solution - just a typical garden extension cord (230V) with the Kinect's adapter placed at the end
  4. 10m long active data cable. Here is my biggest problem. I could not find a "certified list" or "tested cables" that multiple people would use. In the previous thread there was a data transfer cable proposed, but what was strange to me - without an aditional power adapter for the cable itself. I have no idea how could it work. In my scenario I think about a combination of this cables:
    https://proline.pl/unitek-wzmacniacz-sygnalu-usb-3-0-10m-y-3005-p1371599
    with this power adapters (for the data cables alone)
    https://proline.pl/natec-nhz-0369-zasilacz-do-huba-usb-2a-5v-3-5-x-1-35mm-p945463
  5. Azure Kinects DK itself. As I mentioned, to buy it in Poland I need to cooperate a third-party reseller just to buy it in e.g. Germany and re-sell it to my University in Poland (like, really!?) It is a couple of days I am waiting for the Germany's MS Store to answer if they even have them in stock. Are you somehow aware of current DK's availability in Europe?

In the hardware I skipped things like tripods for the cameras' mounting or the details of the PC, as I find them not important to the scenario.

My thread's question would be: "guys, is it gonna work?" :D I really miss some "use cases", like a forum thread dedicated to tested scenarios in which Azure Kinect DK users' could share tested environment configurations, known to be working correctly. I can understand it would not be an official MS's statement, it's obvious. But sharing space for developers - that would be awesome :D

Azure IoT
Azure IoT
A category of Azure services for internet of things devices.
383 questions
{count} vote

Accepted answer
  1. QuantumCache 20,031 Reputation points
    2022-09-15T23:06:32.15+00:00

    Hello @Sebastian Pokuciński , Sorry for the delay in response.

    Thanks for posting such a great scenario with questions. I hope below response will help you with your initial query.

    1. 10m long cables may not work properly. The power delivery as well as the data transfer

    PG Response: The USB spec shows a maximum length of 3 meters for a SuperSpeed cable which is what is used to transfer depth frames from the Azure Kinect. As the cable extends beyond this limit there will be increasing levels of noise that will degrade data transfer performance.

    If your diagram is roughly to scale then it looks like all 4 Kinects are about 3 meters from the coffee table. Perhaps you can place your PC there.

    Power delivery should not be an issue for you as long as you use the dedicated DC connector or you use a cable with a USB C connector on both ends.

    2. Single PC's USB controller is not enough to properly read all the data comming from like 4 kinect's simultaneously

    This is correct. You should dedicate one USB host controller to one Azure Kinect, at least when running in modes with higher resolution and higher frame rates. Also that PC will need a powerful GPU to process the depth frames from 4 Kinects simultaneously.

    3. Kinects availability - I am from Poland. I really do not understand why the MS Store does not sell Kinects to our country, when even much smaller european countries are "supported". I am struggling to buy it in Germany, but the reponse time of Germany's MS Store is also far from perfect.

    You do not mention frame synchronization in this email, but if you are running more than one Kinect at a time you will need to daisy chain them all together with a frame sync cable.

    4. To build a test environment working in my scenario we would need a lot of additional hardware. What I can think of are:

    Active USB cables use a hub to extend the signal. However this also adds latency to the data stream which may cause problems with synchronized cameras. Also there may be an issue with Container IDs that may need to be addressed when using active extenders. You can read this thread to learn more: USB Extenders / Extensions · Issue #427 · microsoft/Azure-Kinect-Sensor-SDK (github.com)

    241578-image.png

    The DC power connector is a 4.5mm OD with 3.0mm ID and a pin diameter of 0.6mm. Similar to this connector: https://www.alibaba.com/product-detail/4506-DC-plug-4-5mm-0_60742810909.html?spm=a2700.7724857.normalList.20.61e761fcUIgZxg

    241653-image.png

    5. Azure Kinects DK itself. As I mentioned, to buy it in Poland I need to cooperate a third-party reseller just to buy it in e.g. Germany and re-sell it to my University in Poland (like, really!?) It is a couple of days I am waiting for the Germany's MS Store to answer if they even have them in stock. Are you somehow aware of current DK's availability in Europe?

    Azure Kinect DKs are only sold into European countries that use the Euro as their currency.

    If the response is helpful, please click "Accept Answer" and upvote it.

    Happy to help you!

    1 person found this answer helpful.

1 additional answer

Sort by: Most helpful
  1. Sebastian Pokuciński 41 Reputation points
    2022-10-16T12:10:29.01+00:00

    Hello!

    A few weeks later I am back with descriptions and user experience.

    As I have stated - I wanted to create a fully functional, 4-camera testing environment to create an object recognition and tracking system in a domestic environment.
    I was able to successfully realize it! :D

    Here is the full configuration:

    250855-testlab.png

    To describe "what and how".

    PC Configuration:

    • i9 12900
    • RTX 3090

    Additional PCIe usb-controller card:
    https://www.startech.com/en-us/cards-adapters/pexusb3s44v
    StarTech.com 4 Port Quad Bus PCI Express PC

    Cables:

    • 4 typical, garden power cords for 230V, 15m, orange, just like for home maintenance
    • 4 sets of data cables, "active usb 3.0", with additional power suply for each of the cables. I have ordered the "Unitek Y-3005" 10m cables and additional power adapters "Natec NHZ-0369"
    • 3 sets of jack-jack synchronization cables, typical high-quality cables from my local music store - they are quite popular and available without problems.

    All the cables were placed on a tripod, with azure kinect mounted on top of it and in each corner of the room.

    Sample kinect stand:
    250865-unnamed.jpg

    To update some of my previous questions and "ifs":

    1. 10m long cables may not work properly - MYTH
      They are working just fine. I may not be sure about each active usb 3.0 cable, but I am sure the original cables of Unitek are working correctly. Note: they were working correctly even without the additional cable-power-supply. I have used the additional power "just in case" to avoid any unexpected behavior, but they seem not to be a "must have"
    2. Single PC's USB controller is not enough to properly read all the data comming from like 4 kinect's simultaneously - TRUE
      I can confirm - the amount of data in case of multi-kinect scenario is overwhelming. In my case even the dedicated USB card was not enough! I have found this exact model of StarTech in one of the GitHub threads but it appeared to be a bottle neck. Although the controller has 4 separated 5Gb usb ports - it is connected via PCIe x4 what bottle necks the transfer when on max load. I had to connect 3 kinects to the PCIe extension card and 1 directly to the usb port from motherboard. Without this "workaround" cameras started to randomly time-out. PC is also required to be a high-end one. My Lenovo Y50-70 with an old GTX 980M was not able to manage even a single camera - hardware use at about 95% all the time.
    3. Terrible hardware availability - TRUE
      As a researcher from Poland I was left without support. I tried to contact US microsoft store, German microsoft store - all have the same answer: "we do not sell it to your country", end of story. Sad, that a country o 40 milion people is ignored by the MS Store :/ I had to pay for a proxy-service that ordered the devices to Germany and resell them further. At a higher price of course.

    If you have any questions - just ask :)

    1 person found this answer helpful.