Azure Kinect DK的比较

本文详细说明ORBBEC® Femto Bolt Microsoft Azure Kinect DK 的规格及部分设计细节的对比,供开发者了解和使用相关产品。

Femto Bolt概述

Femto Bolt 是奥比中光与微软联合打造的一款先进iToF 3D相机,作为微软官方推荐的Azure Kinect DK替代选择,Femto Bolt 深度相机采用了微软最新的先进ToF传感技术,拥有与微软Azure Kinect DK深度相机完全一致的工作模式和性能表现。相机整合了包括多模式深度相机、彩色视频相机和惯性传感器在内的多种感知方式,通过单条USB Type-C连接,即可同时实现数据传输和对相机供电。

Femto Bolt采用紧凑型外观设计,机身深度尺寸仅为Azure Kinect DK1/2更便于相机完成商业集成;配合Orbbec SDK,开发者能够充分体验和使用Femto Bolt 3D相机所提供的强大功能,轻松开发各种应用。面向寻求Azure Kinect DK替代产品的用户,我们在Orbbec SDK的基础上封装了Orbbec SDK K4A Wrapper,提供与Azure Kinect Sensor SDK相同的API和使用方式,帮助Azure Kinect DK用户将已有应用快速适配到Femto Bolt 3D相机。它可在Femto Bolt 购买链接中购买。

Azure Kinect DK的产品特性对比速览

关键特性

Femto Bolt

Azure Kinect DK

Depth image to Color

精度优化至:max4 pixelmean2 pixel

max15.05 pixelmean7.8 pixel

RGB FOV

略缩小至H80° V51°

H90° V59°

RGB动态范围

提升至81.1DB

45.6DB

深度

效果一致

SDK

API兼容

结构尺寸

深度方向尺寸缩小至64.9mm

深度方向尺寸:125.4mm

数据接口

USB-C带固定锁孔

USB-C

麦克风阵列

不支持

支持

Azure Kinect DK的关键规格对比速览

关键参数/功能对比速览

Femto Bolt

Azure Kinect DK

工作距离

WFoV unbinned0.25 - 2.21m

WFoV binned0.25 - 2.88m

NFoV unbinned0.5 - 3.86m

NFoV binned0.5 - 5.46m

深度 FOV

NFoVH75 ° V65 °

WFoVH120° V120°

深度分辨率@帧率

WFoV unbinned1024 × 1024@5/15fps

WFoV binned512 × 512@5/15/25/30fps

NFoV unbinned640 × 576@5/15/25/30fps

NFoV binned320 × 288@5/15/25/30fps

深度相对精度

0.15%@1m

RGB 分辨率

3840 x 2160@30fps

RGB FOV

H80° V51°

H90° V59°

RGB HDR

支持

不支持

最大功耗

< 8.8W

< 5.9W

SDK

Orbbec SDK

Orbbec SDK K4A Wrapper

Azure Kinect Sensor SDK

IMU

支持

相机集成深度算力

不支持

麦克风阵列

不支持

支持

 

若要详细了解Femto Bolt硬件规格,请参阅《硬件规格》

Azure Kinect DK的兼容性说明

l  深度相机兼容说明

Femto Bolt集成了 Microsoft 设计的 1 兆像素时差测距 (ToF) 深度相机(Azure Kinect Developer Kit相同的深度相机),并提供相同的操作模式和性能。深度相机支持如下所述的模式:

模式

解决方法

FoI

FPS

工作范围*

曝光时间

NFOV unbinned

640x576

75°x65°

5152530

0.5 - 3.86 m

12.8 ms

NFOV 2x2 binned (SW)

320x288

75°x65°

5152530

0.5 - 5.46 m

12.8 msA

WFOV 2x2 binned

512x512

120°x120°

5152530

0.25 - 2.88 m

12.8 msA

WFOV unbinned

1024x1024

120°x120°

515

0.25 - 2.21 m

20.3 ms

Passive IR

1024x1024

N/A

5152530

N/A

1.6 ms

* 850nm 15% 95% 的反射率,2.2 μW/cm2/nm,随机误差标准偏差 ≤ 17 mm,典型系统误差 < 11 mm + 0.1% 的距离(无多路径干扰)。 可以在上面指示的操作范围之外提供深度。 这取决于对象的反射率。

 

深度计算

Femto Bolt

Azure Kinect Developer Kit

处理原始数据的位置

外部,主机电脑

 

实际效果图对比展示:

深度相机操作模式

Femto Bolt

Azure Kinect Developer Kit

NFOV unbinned

WFOV  unbinned

l  SDK兼容说明

为帮助用户快速上手Femto Bolt,并实现对Azure Kinect DK的无缝替换,我们在Orbbec SDK的基础上封装了面向Azure Kinect DK用户的Orbbec SDK K4A Wrapper,最大程度上保持了与Azure Kinect Sensor SDK API的一致性。因此基于Azure Kinect DK开发的应用程序可以方便快捷的切换至使用Femto Bolt详细操作说明请参阅《将Femto Bolt接入AKDK应用软件》

Azure Kinect DK的差异性说明

l  RGB相机差异说明

Femto Bolt RGB相机提供与Azure Kinect DK一致的分辨率(3840 x 2160@30fps),但FOV相比略小些。同时Femto Bolt RGB相机具有高动态功能,能够提供更高画质的RGB图像和视频

RGB相机关键参数对比

Femto Bolt

Azure Kinect Developer Kit

RGB FOV

H80° V51°

H90° V59°

RGB HDR

支持

不支持

 

彩色相机并排色框对比

Femto Bolt

Azure Kinect Developer Kit

 

下表显示了相机在正面 2000 mm 距离的深度和 RGB 相机视场(传感器“看到”的视角)对比。

Femto Bolt

Azure Kinect Developer Kit

image

 

实际效果图对比展示:

Femto Bolt

Azure Kinect Developer Kit

 

彩色相机具体规格对比详见下表

彩色相机特性

Femto Bolt

Azure Kinect Developer Kit

Pixel pitch

1.45 um

1.25 um

Sensor Size

5.568x3.840mm

5.120x3.132 mm

F number

2.7

2.2

Aspect Ratio

16:9

4:3

RGB 相机分辨率 (HxV)

纵横比

帧速率 (FPS)

格式选项

额定 FOV (HxV)(处理后)

帧速率 (FPS)

格式选项

额定 FOV (HxV)(处理后)

3840x2160

16:9

05152530

MJPEG

80°x51°

051530

MJPEG

90°x59°

2560x1440

16:9

05152530

MJPEG

80°x51°

051530

MJPEG

90°x59°

1920x1080

16:9

05152530

MJPEG

80°x51°

051530

MJPEG

90°x59°

1280x720

16:9

05152530

MJPEG/YUY2/NV12

80°x51°

051530

MJPEG/YUY2/NV12

90°x59°

4096x3072

43

N/A

0515

MJPEG

90°x74.3°

2048x1536

43

N/A

051530

MJPEG

90°x74.3°

1280x960

43

05152530

MJPEG

65°x51°

N/A

l  D2C优化说明

对比Azure Kinect DK,我们提升了Femto Bolt相关的D2C精度效果。如前后景边界对齐效果图对比:

Femto Bolt

Azure Kinect Developer Kit

图片3

图片4

图片5

图片6

l  SDK差异说明

Orbbec SDK K4A Wrapper 接口差异

序号

功能点

Orbbec SDK K4A Wrapper

Azure Kinect Sensor SDK

差异点对应用程序影响点

1

录像

typedef struct _k4a_record_configuration_t

{

 

 

    /**

     * The timestamp offset of the start of the recording. All recorded timestamps are offset by this value such that

     * the recording starts at timestamp 0. This value can be used to synchronize timestamps between 2 recording files.

     */

    uint64_t start_timestamp_offset_usec;

} k4a_record_configuration_t;

typedef struct _k4a_record_configuration_t

{

 

    /**

     * The timestamp offset of the start of the recording. All recorded timestamps are offset by this value such that

     * the recording starts at timestamp 0. This value can be used to synchronize timestamps between 2 recording files.

     */

    uint32_t start_timestamp_offset_usec;

} k4a_record_configuration_t;

需要替换更新Orbbec SDK K4a Wrapper的头文件重新编译

2

深度引擎库

Orbbec Femto Bolt深度引擎与Azure Kinect DK不通用,因此Orbbec Femto Bolt相机需要使用Orbbec打包提供的专用深度引擎库

多个版本

替换Femto Bolt定制的深度引擎库

3

IMU 采样率

默认 500Hz,相机支持50Hz100Hz200Hz500Hz1KHz2KH

1.6KHZ

无影响,用户可以使用更多的采样率。

 

Orbbec SDK K4A Wrapper 未实现的接口(返回空值或返回异常状态)

序号

Azure Kinect Sensor SDK

接口涵义

差异点影响

1

k4a_result_t k4a_set_allocator(k4a_memory_allocate_c

b_t allocate, k4a_memory_destroy_cb_t free)

传入外部用户自定义内存管理器供 SDK 内部申请需要的内存

用户无法使用其自定义内存管理器供 SDK 内部使用。 SDK 自身功能运行基本不受影响

2

void k4a_capture_set_temperature_c(k4a_capture_t ca

pture_handle, float temperature_c)

设置 capture 的温度信息

用户无法修改该值,对用户保存自定义数值有影响

3

float k4a_capture_get_temperature_c(k4a_capture_t ca

pture_handle)

获取capture 的温度信息

用户无法获取到该值,对用户依赖该值的算法或应用运行有影响。

4

void k4a_image_set_exposure_usec(k4a_image_t imag

e_handle, uint64_t exposure_usec)

设置图像的曝光值

用户无法修改该值,对用户保存自定义数值有影响

5

void k4a_image_set_white_balance(k4a_image_t image

_handle, uint32_t white_balance)

设置图像的白平衡值

6

void k4a_image_set_iso_speed(k4a_image_t image_ha

ndle, uint32_t iso_speed)

设置图像快门速度

7

uint64_t k4a_image_get_exposure_usec(k4a_image_t i

mage_handle)

获取图像曝光值

用户无法获取到该值,对用户依赖该值的算法或应用运行有影响。

8

uint32_t k4a_image_get_white_balance(k4a_image_t i

mage_handle)

获取图像白平衡值

9

uint32_t k4a_image_get_iso_speed(k4a_image_t image

_handle)

读取图像快门速度

10

k4a_result_t k4a_device_get_sync_jack(k4a_device_t de

vice_handle,

                                      bool *sync_in_jack_connected,

                                      bool *sync_out_jack_connected

)

获取设备的同步线的连接状态

用户应用无法依赖该接口判断多机同步线链接状态

l  机械集成差异说明

Femto Bolt提供了更为实用的紧凑型产品设计 - 机身深度尺寸约为Azure Kinect DK1/2

因此Femto Bolt两侧M2.5 x 4mm的固定螺孔间距较Azure Kinect DK窄。

IMG_8103-2

 

同时,我们为Femto BoltUSB-C连接提供了固定锁孔以增强机械稳定性,提供更为稳定的数据传输。

 

数据接口布局差异如对比表所示:

 

Femto Bolt结构尺寸详见:《硬件规格》

l  多机同步功能差异说明

Femto Bolt相对Azure Kinect DK的一个关键优化点是更为全面和易用的多机同步功能。不同于Azure Kinect DK的音频线连接方案,Femto Bolt使用了更为通用和支持更多功能扩展的8-pin GPIO接口,以及对应的连接器材。

电气集成

Femto Bolt

Azure Kinect Developer Kit

多机同步接口

8-pin接口

Sync-out Sync-in

 

使用Orbbec SDK K4A Wrapper时,Femto Bolt 多机同步功能及使用流程与Azure Kinect Developer Kit基本一致,但是:

    1. Femto Bolt 不支持同步线状态检测;

    2. Femto Bolt多机同步方案是异步授时,Azure Kinect Developer Kit为同步清零,这可能导致当前Femto Bolt 多机连到不同主机上,通过Orbbec SDK K4A Wrapper使用时,时间戳无法同步。

 

SDK及应用层差异详细说明:

模块

功能

Femto Bolt + Orbbec SDK K4A Wrapper

Femto Bolt + Orbbec SDK

Azure Kinect Developer Kit

多机时间戳同步

时间戳同步清零

不支持

可通过接口自由配置和触发

主模式和从模式下开流后第一帧清零

异步授时(PC授时给各设备)

打开设备时默认开启授时

可通过接口自由执行授时

不支持

同步线

连接状态检测

不支持

不支持

sync in jack sync out jack 连接检测

 

同步图像采集

单机内同步模式

Standalone 模式,深度和RGB同步

Standalone 模式,深度和RGB同步;

Free Run 模式,深度和RGB自由配置(不同步,可配置不同帧率)

Standalone 模式,深度和RGB同步

多机间同步模式

Master + Subordinate

Primary + Secondary

Master + Subordinate

主从延时配置

支持配置从机相对主机延时(通过depthDelay实现)

支持 depthDelaycolorDelaytriggerOutDelay

支持配置从机相对主机延时

深度与RGB延时配置

支持配置深度相对RGB延时(通过depthDelayColorDelay实现)

支持 depthDelaycolorDelay

支持配置深度相对RGB延时

主从开流顺序

推荐先开从机,可先开主机

推荐先开从机,可先开主机

需要先开从机

 

相关说明可详见:《同步多台设备》

l  其他电气集成差异说明

电气集成

Femto Bolt

Azure Kinect Developer Kit

DC

DC 12V/2A

DC插头规格:

内径 = 2.1mm;外径 = 5.5mm;针径 = 0.6mm

DC 5.2V/2.5A

DC插头规格:

内径 = 3.0mm;外径 = 4.5mm;针径 = 0.6mm

 

多机同步接口

8-pin接口

Sync-out Sync-in

平均功耗(最大模式实测数据参考)

3.5W

3.9W

最大功耗

最大功耗 < 8.8W

最大功耗 < 5.9W

l  其他关键参数/功能差异说明

其他关键参数

Femto Bolt

Azure Kinect Developer Kit

IMU

采集频率

默认500Hz,支持50Hz、100Hz、200Hz、500Hz、1KHz、2KH

1.6 kHz

麦克风阵列

采集数据

不支持

支持