Setup Azure Kinect
Azure Kinect is a spatial device with a 4K camera, a depth sensor, an accelerometer, and a gyroscope sensor. The Azure Kinect device is controlled by an SDK available as open source on GitHub.
The Azure Kinect DK consists of the following multiple SDKs:
1. Sensor SDK for low-level sensor and device access, which include the following features:
- RGB camera access and control (e.g. exposure and white balance).
- Depth camera access.
- Synchronized Depth-RGB camera streaming with configurable delay between cameras.
- Motion sensor (gyroscope and accelerometer) access.
- External device synchronization control with configurable delay offset between devices.
- Camera frame meta-data access for image resolution, timestamp and temperature.
- Device calibration data access.
2. Body Tracking SDK for tracking bodies in 3D.
3. Speech Cognitive Services SDK for enabling microphone access and Azure cloud-based speech services.
Discover the device
The Kinect device weights slightly less than half a kilo, and sits in the palm of a hand. It connects to a Windows or Linux computer by a USB 3 cable, and it requires power from an AC outlet, or a Type-C USB cable able to supply at least 1.5A.
It comes with a 4K RGB colour camera, max resolution set at 4096x3072 pixels for 4:3 ratio, or 3840x2160 for 16:9. File format of captured footage is motion Jpeg (MJPEG). The camera is USB video class-compatible and can be used without the Sensor SDK, making for an outstanding webcam!
In addition to the camera, there is a depth and IR sensor, as well as a IMU (Inertial Measurement Unit) consisting of an accelerometer and a gyroscope. Completes the kit a full set of seven high-quality microphones. The device doesn’t have speakers.
Once connected to your Windows computer, the Kinect device is automatically recognised as USB device, and it’s visible in Windows Device Manager.
Install the Development Kits
The Azure Kinect Sensor SDK is open source and available on GitHub. Unless you want to build it yourself, an installer is available for Windows and Linux (at time of writing, support is only for Ubuntu 18). Besides the expected libraries, the Sensor SDK also contains a few command-line tools to update the firmware of the device, record and view footage.
The Azure Kinect Body Tracking SDK, also available for Windows and Linux, contains a body tracker object to process device captures and generate body tracking results.
Once installed, SDK libraries and tools are available in your Program Files folder, ready to use.
For example, you can check whether there’s a need to update the device’s firmware by running the AzureKinectFirmwareTool.exe program (wow a full long name for a command-line tool, I was expecting something like “akfrmwr.exe”!).
The following command lists the devices connected to your computer. Potentially, you can connect multiple devices. The -l option is a lower-case L for List, not a number 1.
AzureKinectFirmwareTool.exe -l
Then you can use the -q option to display the current firmware versions:
AzureKinectFirmwareTool.exe -q
This information is also available programmatically, as I will show you in a future article.
Eject safely
I know, life’s too short to eject a USB device safely… but that’s it, you may want to eject the Azure Kinect device before unplugging it.
In a few more articles (coming soon!), I’ll be covering aspects of programming the device, including reading firmware information, capturing images, reading sensors, track body movements and detect motion in a video stream.