本文首发于微信公众号:计算机视觉life。
深度相机种类_深度相机原理-冯金伟博客园深度相机种类_深度相机原理-冯金伟博客园

本文的深度相机制造商涉及:Microsoft、Intel、Leap Motion、Orbbec、图漾、Occipital Structure、Stereolabs 、DUO。 文末附深度相机详细对比清单。


Microsoft Kinect

微软推出了两款Kinect,Kinect一代(Kinect v1)是基于结构光原理的深度相机,Kinect二代(Kinect v2),是基于TOF原理的深度相机。如下所示:
深度相机种类_深度相机原理-冯金伟博客园深度相机种类_深度相机原理-冯金伟博客园

Kinect v1,v2的性能参数对比如下:
深度相机种类_深度相机原理-冯金伟博客园深度相机种类_深度相机原理-冯金伟博客园

这里主要介绍一下Kinect V2。Kinect V2具有较大的红外传感器尺寸,并且(相对于其他深度相机)具有较宽阔的视场角,生成的深度图质量比较高。此外,Kinect V2的SDK非常给力,SDK中提供了同时最多进行六个人的骨架追踪、基本的手势操作和脸部跟踪,支持 Cinder 和 Open Frameworks,并且具有内置的Unity 3D插件。但是,Kinect V2也有一些缺点,比如一台电脑只能连接一个Kinect v2设备,只能在Windows8及以上的操作系统上使用等。

Intel RealSense

Intel RealSense系列深度相机定位不同于Microsoft的 Kinect 系列,Kinect更注重较远距离的人体骨架跟踪,而RealSense 更注重近距离的脸部、手部跟踪,主要应用场景是笔记本电脑、Pad、虚拟现实设备。

Intel RealSense系列有很多选择,比如较早的RealSense F200、RealSense R200,较新的RealSense D400系列、RealSense ZR300、RealSense SR300等。下面以RealSense R200为例介绍一下。
深度相机种类_深度相机原理-冯金伟博客园深度相机种类_深度相机原理-冯金伟博客园

RealSense R200是基于双目结构光技术的深度相机。R200特别之处就是有两个红外成像相机,如下图所示,分别被标记为左红外相机和右红外相机,它们具有相同的硬件设计和参数设定。工作原理是:红外投射器投射出红外散斑,左右两个红外相机采集两张红外图像,处理器根据两张红外图像中的散斑特征点匹配计算视差图,最终得到深度图。所以R200本质上是红外双目技术。

深度相机种类_深度相机原理-冯金伟博客园深度相机种类_深度相机原理-冯金伟博客园

R200的深度测量范围:室内0.5m-3.5m,室外最远10m。实际室外使用范围受环境光照条件影响较大,这是因为红外发射器功率有限,太远的物体上投射的光斑太暗,容易被环境光淹没。

SDK兼容性很强,支持 C++, C#, JavaScript, Processing, Unity, 和Cinder等框架。需要说明的是, R200的SDK只支持人脸跟踪、不支持手势跟踪和骨架跟踪。

官网:https://software.intel.com/zh-cn/realsense/previous

Leap Motion Controller

Leap Motion Controller 是一款非常小的、专门用于手指跟踪的设备。主要用于虚拟现实头盔、笔记本电脑上。该设备可以以高达120FPS的帧率精细的追踪人的双手动作,比如轻扫、抓取、双指开合、出拳等,人机交互体验非常棒。

深度相机种类_深度相机原理-冯金伟博客园深度相机种类_深度相机原理-冯金伟博客园
SDK支持对两只手关节的三维位置跟踪,最远有效距离为0.6m。支持WPF, Cinder, OpenFrameworks, JavaScript, Processing, Unity3D等框架。但是,Leap Motion Controller 不提供任何的IR, RGB, 或者点云数据。

官网:https://www.leapmotion.com/product/desktop#108

Orbbec Astra

Orbbec (奥比中光)是深圳的一家创业公司。已经量产了Orbbec Astra、Orbbec Astra Mini、Orbbec Persee等系列深度相机。

以第一代产品 Astra 和 Astra Pro为例,它们都是基于红外结构光的深度相机,深度图都是 VGA(640×480)分辨率 @30FPS。不同之处在于彩色相机的分辨率, Astra提供的是 VGA@30FPS,而 Astra Pro 是 720p@ 30 FPS。

深度相机种类_深度相机原理-冯金伟博客园深度相机种类_深度相机原理-冯金伟博客园

Orbbec Astra 的SDK比较简单,支持基本的手势跟踪,可以用于手势识别的人机交互,但是不支持骨架提取。最远测量范围可达8m。因此,Orbecc Astra比较适合室内较远距离的应用场景。不过,该设备只支持基于C++的 OpenNI 框架。

官网:https://orbbec3d.com/

图漾

图漾科技是一家位于上海的创业公司。该公司有小型的易于集成的主动双目深度相机(不包含RGB),也有可独立使用的RGB+主动红外双目深度相机。其中RGB-D相机包含工业级和消费级多种型号,以一款消费级RGB-D深度相机FMB11-C为例进行介绍。

深度相机种类_深度相机原理-冯金伟博客园深度相机种类_深度相机原理-冯金伟博客园

根据官网介绍,FMB11-C精度小于1%,具体为z方向: 5mm@1m,x,y方向: 10mm@1m,室内外都可以工作,工作距离0.5-30m。深度分辨率最高为1120 x 920,帧率最高为15FPS。可以输出对齐、同步的RGB 图和深度图,点云图或者 IR 图。支持Windows、Linux、Android、ROS 平台。且多设备同时工作无干扰。适合对帧率要求不高的远距离应用场景。

官网:http://www.percipio.xyz/

Occipital Structure

Structure sensor 是一款可以和苹果的iPad完美结合的产品,通过一根数据线与iPad链接,自带可充电锂电池(续航4小时),通过应用APP就能够方便的扫描人像、物品、场景等三维模型。操作简单,模型的生成速度非常快。同时,使用其提供的OpenNI SDK支持 Windows, macOS, Linux 和 Android。

深度相机种类_深度相机原理-冯金伟博客园深度相机种类_深度相机原理-冯金伟博客园

Structure sensor和其他深度相机主要关注人体/手势跟踪的定位不同,它更注重三维扫描和设备自身的跟踪。使用Structure sensor的SDK,用户可以实现混合现实的体验,虚拟的物体可以和真实的物理世界进行交互,并且还能模拟类似真实空间的遮挡效果。

官网:https://structure.io/

Stereolabs ZED

Stereolabs ZED 是基于RGB双目立体视觉原理的深度相机。室内和室外都能使用,最远深度范围可达20m,深度图分辨率也很高,最高 4416×1242 @ 15FPS,也可以根据帧率需要调整,最高帧率1344×376 @ 100FPS,最大覆盖视场角为110°。

深度相机种类_深度相机原理-冯金伟博客园深度相机种类_深度相机原理-冯金伟博客园

虽然硬件参数比较出众,但是提供的SDK比较弱,只能简单的得到深度数据流,没有人脸/手势/骨架跟踪相关的工具包支持,需要开发者自己完成。

Zed Stereo camera非常适合于室外环境下高帧率、远距离的应用,主要应用于AR/VR,自主机器人等场景。

官网:https://www.stereolabs.com/zed/

DUO

DUO是美国的一家创业公司,主要产品有:DUO MLX, DUO MC, DUO M。我们以DUO MLX为例进行介绍。

深度相机种类_深度相机原理-冯金伟博客园深度相机种类_深度相机原理-冯金伟博客园

DUO MLX 是基于主动红外双目原理的深度相机。特点是具有3个可编程控制功率的LED红外发射器,因此可以根据需要调节测量范围。另外内置了六自由度最高250Hz的IMU(惯性导航单元),镜头最大视场角170°,双目基线为30mm,体积紧凑,USBMini-B通信接口,适用于科学研究或者产品集成。

SDK提供C语言的API接口,直接输出深度图,但是没有手势/人脸/骨架跟踪相关的开发工具包。支持的开发平台包括 Linux, OSX, Windows,以及嵌入式处理器 ARM, AMD, Intel and Nvidia’s Tegra K1。

DUO 的产品适合于科研人员或者产品开发者,主要面向工业机器人、嵌入式设备等需要高帧率的室内外应用。

官网:https://duo3d.com/

深度相机详细参数对比清单

深度相机种类_深度相机原理-冯金伟博客园深度相机种类_深度相机原理-冯金伟博客园

深度相机种类_深度相机原理-冯金伟博客园深度相机种类_深度相机原理-冯金伟博客园

深度相机种类_深度相机原理-冯金伟博客园深度相机种类_深度相机原理-冯金伟博客园

总结

深度相机厂商众多,产品设计原理和技术参数千差万别,体积、价格差距也很大。使用者需要根据自身不同的应用需求和使用场景选择最适合自己的深度相机。
一句话,深度相机没有最好,只有最适合。