Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 828a408

Browse files
committedFeb 16, 2020
added content
1 parent 9783e0d commit 828a408

File tree

3 files changed

+76
-13
lines changed

3 files changed

+76
-13
lines changed
 
Loading
27.5 KB
Loading

‎articles/kinect-dk/multi-camera-sync.md

Lines changed: 76 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ keywords: azure, kinect, specs, hardware, DK, capabilities, depth, color, RGB, I
1313

1414
In this article, we will explore the benefits of multi device synchronization and its details.
1515

16-
Before you start, make sure to review [Azure Kinect DK Hardware specification](hardware-specification.md) and the [the multi-camera hardware set up](https://support.microsoft.com/help/4494429).
16+
Before you start, make sure to review [Azure Kinect DK Hardware specification](hardware-specification.md).
1717

1818
There are a few important things to consider before starting your multi-camera setup.
1919

@@ -25,13 +25,13 @@ There are a few important things to consider before starting your multi-camera s
2525
- Do set the exposure when needed, just call the API once.
2626

2727

28-
## Why to use multiple Azure Kinect DK devices?
28+
## Why use multiple Azure Kinect DK devices?
2929

3030
There are many reasons to use multiple Azure Kinect DK devices. Some examples are
3131
- Fill in occlusions
3232
- 3D object scanning
3333
- Increase the effective frame rate to something larger than the 30 FPS
34-
- Multiple 4K color images capture of the same scene, all aligned at the start of exposure within 100 us
34+
- Multiple 4K color images capture of the same scene, all aligned at the start of exposure within 100 microseconds.
3535
- Increase camera coverage within the space
3636

3737
### Solve for occlusion
@@ -45,7 +45,64 @@ Using additional Azure Kinect DK devices will solve this issue and fill out an o
4545

4646
## Set up multiple Azure Kinect DK devices
4747

48-
Make sure to review [the multi-camera hardware setup article](https://support.microsoft.com/help/4494429) that describes different options for hardware setup.
48+
### Before you start
49+
50+
You might need additional hardware before you can begin syncing devices:
51+
52+
- Additional Azure Kinect devices with the latest firmware. For more info about updating your devices, go to [Update Azure Kinect DK]().
53+
- Host PC for each Azure Kinect DK. A dedicated host controller can be used, but it depends on how you're using the device and the amount of data being transferred over USB.
54+
- Azure Kinect Sensor SDK installed on each host PC. For more info on installing Sensor SDK, go to [Set up Azure Kinect DK]().
55+
- 3.5mm audio cables less than 10m in length (not included). Mono or stereo cables can be used.
56+
- One headphone splitter (star configuration only).
57+
58+
### Set up your devices
59+
60+
Once you have all the hardware to sync your devices, you’ll need to connect the devices and configure syncing. There are two different ways to connect your hardware.
61+
62+
[Make sure to remove the Azure Kinect DK cover to reveal the sync ports!]()
63+
64+
#### Daisy chain configuration
65+
66+
Sync up to 9 additional devices with the daisy chain configuration.
67+
68+
![Diagram that shows how to connect Azure Kinect DK devices in a daisy chain configuration.](./media/multicam-sync-daisychain.png)
69+
70+
1. Connect each Azure Kinect DK to power, then connect one device to one host PC.
71+
1. Connect the Azure Kinect DK devices to each other using a 3.5mm audio cable. Here's how:
72+
- **On the master device**
73+
Plug in one end of a 3.5mm cable into the sync out port on the first Azure Kinect DK—this is the master device.
74+
- **On the subordinate device**
75+
Plug the other end of the 3.5mm cable into the sync in port of the second Azure Kinect DK—this is a subordinate device.
76+
77+
To connect more subordinate devices, do the following:
78+
79+
1. Take another 3.5mm cable and plug one end into the sync out port of the subordinate device.
80+
1. Plug the other end of the cable into the sync in port of the next Azure Kinect DK.
81+
1. Continue using 3.5mm audio cables to connect Azure Kinect DK devices until you have one device left. The last Azure Kinect DK should only have one 3.5mm cable plugged into the sync in port.
82+
83+
#### Star configuration
84+
85+
Sync up to 3 devices with the star configuration.
86+
87+
![Diagram that shows how to set up multiple Azure DK devices in a star configuration.](./media/multicam-sync-star.png)
88+
89+
1. Connect each Azure Kinect DK to power, then connect one device to one host PC.
90+
1. Connect the devices using the headphone splitter and 3.5mm cables. Here’s how:
91+
- **On the master device**
92+
Plug in the headphone splitter into the sync out port on the first Azure Kinect DK—this is the master device.
93+
- **On the subordinate device**
94+
Plug one end of a 3.5mm cable into the sync in port of the second Azure Kinect DK, then the other end into the headphone splitter—this is a subordinate device.
95+
96+
To connect more subordinate devices, do the following:
97+
98+
1. Take another 3.5mm cable and plug one end into the sync out port of the subordinate device.
99+
1. Plug the other end of the cable into the headphone splitter connected to the master device.
100+
101+
### Set up synchronized triggering
102+
103+
Once you've set up your hardware for synchronized triggering, you'll need to set up the software. For more info on setting this up, go to the [Azure Kinect developer documentation]()(English only).
104+
105+
## Synchronize multiple Azure Kinect DK devices
49106

50107
### Synchronization cables
51108

@@ -59,12 +116,12 @@ Cable requirements:
59116

60117
When using multiple depth cameras in synchronized captures, depth camera captures should be offset from one another by 160μs or more to avoid depth cameras interference.
61118

62-
> [!NOTE]
119+
> [!NOTE]
63120
> Make sure to remove the cover in order to reveal the sync ports.
64121
65122
### Cross-device calibration
66123

67-
In a single device depth and RGB cameras factory calibrated. However, when multiple devices are used, new calibration requirements need to be considered to determine how to transform an image from the domain of the camera it was captured in, to the domain of the camera you want to process images in.
124+
In a single device depth and RGB cameras are factory calibrated. However, when multiple devices are used, new calibration requirements need to be considered to determine how to transform an image from the domain of the camera it was captured in, to the domain of the camera you want to process images in.
68125
There are multiple options for cross-calibrating devices, but in the GitHub green screen code sample we are using OpenCV methods
69126
There are multiple options for cross-calibrating devices, but in the [GitHub green screen code sample](https://github.com/microsoft/Azure-Kinect-Sensor-SDK/tree/develop/examples/green_screen) we are using OpenCV method.
70127

@@ -80,26 +137,25 @@ If you are setting up multi-camera synchronization on Linux, by default the USB
80137

81138
After setting up the hardware and connecting the sync out port of the master to sync in of the subordinate, we can use the [Azure Kinect Viewer](azure-kinect-viewer.md) to validate the devices setup. It also can be done for more than two devices.
82139

83-
> [!NOTE]
84-
> The Subordinate device is the one that connected to "Sync In" pin.
140+
> [!NOTE]
141+
> The Subordinate device is the one that connected to "Sync In" pin.
142+
>
85143
> The master is the one connected "Synch Out".
86144
87145
1. Get the serial number for each device.
88146
2. Open two instances of [Azure Kinect Viewer](azure-kinect-viewer.md)
89147
3. Open subordinate Azure Kinect DK device first. Navigate to Azure Kinect viewer, and in the Open Device section choose subordinate device:
90148

91-
92149
![Open device](./media/open-devices.png)
93150

94151
4. In the section "External Sync", choose option "Sub" and start the device. Images will not be sent to the subordinate after hitting start due to the device waiting for the sync pulse from the master device.
95152

96-
97153
![Subordinate camera start](./media/sub-device-start.png)
98154

99155
5. Navigate to another instance of the Azure Kinect viewer and open the master Azure Kinect DK device.
100156
6. In the section "External Sync", choose option "Master" and start the device.
101157

102-
> [!NOTE]
158+
> [!NOTE]
103159
> The master device must always be started last the get precise image capture alignment between all devices.
104160
105161
When the master Azure Kinect Device is started, the synchronized image from both of the Azure Kinect devices should appear.
@@ -113,8 +169,8 @@ Due to the differences in the clock used by the firmware and the clock used by t
113169

114170
Using the [depth sensor raw timing table](hardware-specification.md) the exposure time can be calculated as:
115171

116-
> [!NOTE]
117-
> Exposure Time = (IR Pulses * Pulse Width) + (Idle Periods * Idle Time)
172+
> [!NOTE]
173+
> *Exposure Time* = (*IR Pulses* × *Pulse Width*) + (*Idle Periods* × *Idle Time*)
118174
119175
## Triggering with custom source
120176

@@ -133,4 +189,11 @@ A custom sync source can be used to replace the master Azure Kinect DK. It is he
133189
- [Capture Azure Kinect device synchronization](capture-device-synchronization.md)
134190
- [Set up hardware](set-up-azure-kinect-dk.md)
135191

192+
## Related topics
136193

194+
- [Meet Azure Kinect DK]()
195+
- [Set up Azure Kinect DK]()
196+
- [Update Azure Kinect DK]()
197+
- [Where to use Azure Kinect DK]()
198+
- [Reset Azure Kinect DK](reset-azure-kinect-dk.md)
199+
- [Use Azure Kinect Viewer]()

0 commit comments

Comments
 (0)
Please sign in to comment.