RGB-D相机(Azure Kinect DK)SDK安装

    技术2025-02-06  25

    RGB-D相机(Azure Kinect DK)SDK安装

    文章目录

    RGB-D相机(Azure Kinect DK)SDK安装1. Azure Kinect 传感器 SDK 下载安装1.1 官方apt安装1.2 SDK源码编译安装1.2.1 SDK源码下载1.2.2 下载依赖项1.2.3 编译1.2.4 连接kinect相机,打开k4aviewer1.2.5 Without Root 2. 将 Azure Kinect 传感器流录制到文件中3. 参考

    1. Azure Kinect 传感器 SDK 下载安装

            目前官方提供的SDK所支持的Linux系统平台为ubuntu 18.04。

    1.1 官方apt安装

            配置存储库:

    curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - sudo apt-add-repository https://packages.microsoft.com/ubuntu/18.04/prod sudo apt-get update

    手动配置:

    # Install repository configuration curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > ./microsoft-prod.list sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/

    # Install Microsoft GPG public key curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/

    安装所需的包:

            k4a-tools 包中包含 Azure Kinect 查看器、Azure Kinect 录制器和 Azure Kinect 固件工具

    sudo apt install k4a-tools

            基本教程需要 libk4a.-dev 包

    sudo apt install libk4a1.4-dev

            打开Azure Kinect 查看器

    sudo k4aviewer

    1.2 SDK源码编译安装

            目前官方提供的SDK所支持的Linux系统平台为ubuntu 18.04.,基本教程需要 libk4a.-dev 包

    sudo apt install libk4a1.4-dev

            然后将/usr/lib/x86_64-linux-gnu/libk4a1.4中的libdepthengine.so.2.0拷贝到/usr/lib/x86_64-linux-gnu中

    cd /usr/lib/x86_64-linux-gnu/libk4a1.4 sudo cp libdepthengine.so.2.0 /usr/lib/x86_64-linux-gnu

    1.2.1 SDK源码下载

    官方SDK下载地址: https://github.com/microsoft/Azure-Kinect-Sensor-SDK

    git clone -b v1.4.0 https://github.com/microsoft/Azure-Kinect-Sensor-SDK.git

    1.2.2 下载依赖项

            按照官方文档说明的指示,进入Azure Kinect sdk 源码根目录中 ./scripts/docker文件夹执行bootstrap-ubuntu.sh文件下载依赖项。

    提示找不到命令:

            右击setup-ubuntu.sh文件,打开属性———>权限——>勾选允许作为程序执行文件退出,重新运行:

    sudo ./scripts/docker/setup-ubuntu.sh

    问题解决。

    1.2.3 编译

            编译之前需要打开/Azure-Kinect-Sensor-SDK目录下的.gitmodules文件,将其中所有的url改为github上的,此处一般只需要修改extern/libyuv/src对应的url,最终的结果如下:

    Release Build:

    cmake .. -Gninja

    Or Debug Build:

    cmake .. -GNinja -DCMAKE_BUILD_TYPE=Debug

    ninja

    1.2.4 连接kinect相机,打开k4aviewer

    进入Azure Kinectsdk 源码根目录,输入:

    cd build sudo ./bin/k4aviewer

    官方apt安装,则输入:

    sudo k4aviewer

    连接相机后出现如下界面,SDK安装成功。

    1.2.5 Without Root

            如果想不用root也可以直接使用设备,需要进行如下操作:

            进入Azure Kinect sdk 源码根目录中 scripts 文件夹,复制99-k4a.rules文件至/etc/udev/rules.d/

    sudo cp scripts/99-k4a.rules /etc/udev/rules.d/.

    2. 将 Azure Kinect 传感器流录制到文件中

            Azure Kinect 是一款拥抱开源的 RGB-D 深度摄像头,所以这一代 Kinect 录制的数据集格式也尽量能够用各种方法读取保存。Azure Kinect 使用 MKV 作为 RGB-D stream 在本地的保存格式,可以在一个 MKV 视频中同时保存 RGB 帧 + Depth 帧 +IR 帧 + IMU 数据,我们可以使用通用的视频播放器播放,但只能看到 RGB 视频流。与此同时,Azure Kinect 内部的 Calibration 数据可以使用 JSON 格式输出到本地。

    -d: 表示录制的 Depth Stream 的 depth_mode 为 WFOV non-binned (1MP)。

    -c: 表示录制的 RGB Stream 的分辨率为 3072p。

    -r: 表示录制的 RGB-D Stream 的帧率为 15 fps。

    -l: 表示录制 10 s。

    –imu OFF: 表示录制 RGB-D Stream 的同时,不录制 imu 数据。

    注意到 K4ARecorder 代码,有几个默认值需要注意:

    color-format: RGB 帧的数据格式默认为K4A_IMAGE_FORMAT_COLOR_MJPG。

    color-resolution: RGB 帧的分辨率默认为 K4A_COLOR_RESOLUTION_1080P。

    depth-mode: Depth 帧的模式默认为 K4A_DEPTH_MODE_NFOV_UNBINNED。

    recording rate: 录制的帧率默认为 K4A_FRAMES_PER_SECOND_30。

    imu enabled: 默认同步录制 imu 数据。

    3. 参考

    https://docs.microsoft.com/zh-cn/azure/Kinect-dk/

    https://github.com/microsoft/Azure-Kinect-Sensor-SDK

    https://microsoft.github.io/Azure-Kinect-Sensor-SDK/master/index.html

    Processed: 0.009, SQL: 9