机器人开发--D435
1 D435
RealSense是一款较为常用的深度(RGB-D)相机,目前也被广泛应用于很多实际的开发任务中。
2 D415、D435、D435i与T265
英特尔有实感深度摄像头D415, D435和D435i,以及实感追踪摄像头T265。
2.1 D415和D435
这两种模型之间存在两个主要差异:视场和快门类型。D435i在各方面都与D435相同,只是增加了惯性测量单元(IMU)。
视场
英特尔实感深度摄像头D415的视场大约为65度;而D435则更宽,大约为85度。
快门类型
英特尔实感摄像头D415采用的是滚动快门,而D435则是全局快门。具有滚动快门的摄像头是通过快速扫描左右或上下来记录场景中的所有像素。这通常会在几帧的过程中发生,但数据将保存为单帧。
全局快门摄像头的操作方式不同。因为它们可以在一帧中对整个场景进行快照记录,因此可以同时捕获每个像素。
实感摄像头D435,更宽的视场使其更适合机器人和无人机导航等用例。较大的视场可以提供更多时间来对障碍物做出反应。如果你希望在捕获高速运动时防止深度图像模糊,全局快门可以提供更佳的性能。
校准差异
D415是基于英特尔实感D415模块。这意味着成像器,发射器和RGB都位于同一个计算板或加强件,从而可以令校准更加容易。
英特尔实感摄像头D435则基于英特尔实感D430模块,带有附加但独立的RGB摄像头。深度算法基于传感器的精确放置,因此不将它们固定在相同的加强件有可能令深度摄像头和RGB摄像头之间的校准产生问题。
像素差异
英特尔实感D415采用了两百万像素成像器,而D435则是一百万像素。
“Min Z”差异
“Min Z”(深度摄像头到被捕获对象的距离)。与深度摄像头D415相比,D435在任何给定范围内的深度噪点都更高(> 2x),并且在相同分辨率下具有更小的最小操作距离(约0.5x),这意味着你可以更接近于摄像头。例如,在848×480分辨率下,D415的Min Z约为29厘米,而D435则是17厘米。
对比
https://www.intelrealsense.com/compare-depth-cameras/
3 功能介绍
RealSense深度成像的原理是基于三角测量法,左右红外相机进行测量深度,中间红外点阵投射器相当于补光灯。实际上不打开也能测深度,只是效果不好。
最右边的rgb相机用于采集彩色图片,最终可以将彩色视频流与深度流进行对齐。
4 开发
RealSense SDK:https://github.com/IntelRealSense/librealsense
RealSense ROS:https://github.com/IntelRealSense/realsense-ros
5 知识点
5.1 结构光深度相机应用影响因素
黑色物体的影响
基于红外的结构光深度相机对深色(尤其是黑色)物体的测量一般不准确,甚至测量失败(没有深度值)。
我们首先从物体的颜色说起。我们看到的物体的颜色是由于物体对不同波长的光具有选择性吸收而产生的。这个原理可以通过化学实验直观的观察到:当一束白光照射某溶液时,若溶液不吸收可见光,则白光全部通过,溶液呈现无色透明;若溶液吸收了某种颜色的单色光,那它就呈现出被吸收光的互补光。而溶液颜色的深浅,取决于浅溶液中吸光物质的浓度。
如果两种不同颜色的单色光按一定的强度比例混合可以得到白光,那么就称这两种单色光为互补色光,这种现象称为光的互补。下图右中连线的两端构成互补光。
而结构光一般采用的是人眼不可见的近红外光,它也是可以被物体吸收的。只不过因为其本身是不可见光,人眼无法直接观察到红外光被吸收的现象。
如下图所示,被测物体表面不同颜色(现在我们知道是不同物质对不同光的吸收不同)对结构光深度相机成像的影响。从图中可以明显看出深色物体(尤其是黑色物体)对红外光的吸收能力非常强,这导致投射在黑色物体上的红外光无法返回,红外成像传感器因为无法接收到返回的红外光,因此也就无法测量物体的深度。
下图右红框内黑色表示无深度值,可以看到黑色的椅子背靠和支撑腿都没有深度值。
光滑物体表面反射的影响
当物体表面超过一定的光滑程度时,深度相机测量精度会急剧下降,甚至测量失败(没有深度值)。
上图左是漫反射示意图,指的是投射在粗糙表面上的光向各个方向反射的现象。当一束平行的入射光线射到粗糙的表面时,表面会把光线向着四面八方反射,所以入射线虽然互相平行,但由于各点的法线方向不一致,造成反射光线向不同的方向无规则地反射。
自然界几乎所有的物体表面都符合漫反射条件,比如大气层、动植物、地面、墙壁、衣服等,有些物体表面粗看起来似乎很平滑,但用放大镜仔细观察,就会看到其表面其实是凹凸不平的。因此本来是平行的太阳光被这些表面反射后,弥漫且随机的地射向不同方向。
漫反射是物体可以清晰成像的基础,因此我们从不同角度看同一物体,都能看的比较清楚。因此,深度相机中的成像端能够接收到足够的光线,从而清晰的成像。
而相比之下,镜面反射发生在物体表面(接近)绝对光滑的情况下,比如水面、镜子、抛过光的金属表面等。当物体表面发生镜面反射时,只有当被测物体位于深度相机的发射端和接收端(成像端)的中垂线时,才能接收到反射光线,并且强度很集中,容易发生过度曝光;而其他情况下能够接收到的反射光线非常少,无法成像。
下面给出一个实例,直观感受一下。下图左中光滑的桌面在下图右红框中对应的深度值是无效的(右图中黑色表示没有深度值)。
透明物体透射的影响
我们知道红外光是可以轻松穿透普通透明玻璃的。所以除了前面提到的反射的影响,红外光在一定条件下还可能产生透射现象,这会给红外结构光深度相机带来新的问题:我称之为深度值的歧义性。
视差的影响
结构光深度相机的发射端和接收端通常有一定的间距,因此在物体的边缘会存在一定的视觉盲区。这对于较远的物体边缘影响不大,但是对于近距离的物体边缘影响较大,会产生无效深度值的类似阴影的区域(如下图红框内所示)。
5.2 PCL点云库
PCL(Point Cloud Library)是在吸收了前人点云相关研究基础上建立起来的大型跨平台开源C++编程库,它实现了大量点云相关的通用算法和高效数据结构,涉及到点云获取、滤波、分割、配准、检索、特征提取、识别、追踪、曲面重建、可视化等。支持多种操作系统平台,可在Windows、Linux、Android、Mac OS X、部分嵌入式实时系统上运行。如果说OpenCV是2D信息获取与处理的结晶,那么PCL就在3D信息获取与处理上具有同等地位,PCL是BSD授权方式,可以免费进行商业和学术应用。
参考
1、哪款适合你?一览英特尔实感摄像头D415、D435、D435i、T265的差异
2、计算机视觉life–深度相机:想说爱你不容易
3、PCL(点云库)_百度百科
4、intelrealsense