去年的仪器仪表的课有汇报,我还专门为3D深度像机做了个调研,一直用inter realsense的,最近老师让看结构光方案的,正好总结一下。
1. 结构光(Structured-light)
由于基于双目立体视觉的深度相机对环境光照强度比较敏感,且比较依赖图像本身的特征,因此在光照不足、缺乏纹理等情况下很难提取到有效鲁棒的特征,从而导致匹配误差增大甚至匹配失败。
基于结构光法的深度相机就是为了解决上述双目匹配算法的复杂度和鲁棒性问题而提出的,结构光法不依赖于物体本身的颜色和纹理,采用了主动投影已知图案的方法来实现快速鲁棒的匹配特征点,能够达到较高的精度,也大大扩展了适用范围。
1.1 基本原理
通过近红外激光器,将具有一定结构特征的光线投射到被拍摄物体上,再由专门的红外摄像头进行采集。这种具备一定结构的光线,会因被摄物体的不同深度区域,而采集反射的结构光图案的信息,然后通过运算单元将这种结构的变化换算成深度信息,以此来获得三维结构。
简单来说就是,通常采用特定波长的不可见的红外激光作为光源,它发射出来的光经过 一定的编码投影在物体上,通过一定算法计算返回的编码图案的畸变来得到物体的位置和深度信息。
1.2 分类
主要分为单目结构光和双目结构光相机。单目结构光容易受光照的影响,在室外环境下,如果是晴天,激光器发出的编码光斑容易太阳光淹没掉。双目结构光可以在室内环境下使用结构光测量深度信息,在室外光照导致结构光失效的情况下转为纯双目的方式,其抗环境干扰能力、可靠性更强,深度图质量有更大提升空间。
此外,结构光方案中的激光器寿命较短,难以满足7*24小时的长时间工作要求,其长时间连续工作很容易损坏。因为单目镜头和激光器需要进行精确的标定,一旦损坏,替换激光器时重新进行两者的标定是非常困难的。
由于结构光主动投射编码光,因而适合在光照不足(甚至无光)、缺乏纹理的场景使用。
1.3 结构光编码的方式
1.3.1 直接编码(direct coding)
根据图像灰度或者颜色信息编码,需要很宽的光谱范围。
优势:对所有点都进行了编码,理论上可以达到较高的分辨率。
缺点:受环境噪音影响较大,测量精度较差。
1.3.2 时分复用编码(time multiplexing coding)
顾名思义,该技术方案需要投影N个连续序列的不同编码光,接收端根据接收到N个连续的序列图像来每个识别每个编码点。投射的编码光有二进制码(最常用)、N进制码、灰度+相移等方案。
该方案的优点:测量精度很高(最高可达微米级);可得到较高分辨率深度图(因为有大量的3D投影点);受物体本身颜色影响很小(采用二进制编码)。
缺点:比较适合静态场景,不适用于动态场景;计算量较大(因为识别一个编码点需要计算连续N次投影)。
1.3.3 空分复用编码(spatial multiplexing coding)
根据周围邻域内的一个窗口内所有的点的分布来识别编码。
该技术的优势:适用于运动物体。
缺点:不连续的物体表面可能产生错误的窗口解码(因为遮挡)。
1.4 3D结构光目前的使用场景
(1)物体信息分割与识别,3D人脸识别,用于安全验证、金融支付等场景;
(2)体感手势识别,为智能终端提供新的交互方式;
(3)三维场景重建,利用深度相机生成的深度信息(点云数据),结合RGB彩色图像信息,可完成对三维场景的还原,可用于测距,虚拟装修等场景。
1.5 结构光法深度相机的优缺点
1.5.1 优点
(1)由于结构光主动投射编码光,因而非常适合在光照不足(甚至无光)、缺乏纹理的场景使用。
(2)结构光投影图案一般经过精心设计,所以在一定范围内可以达到较高的测量精度。
(3)技术成熟,深度图像可以做到相对较高的分辨率。
1.5.2 缺点
(1)室外环境基本不能使用。这是因为在室外容易受到强自然光影响,导致投射的编码光被淹没。增加投射光源的功率可以一定程度上缓解该问题,但是效果并不能让人满意。
(2)测量距离较近。物体距离相机越远,物体上的投影图案越大,精度也越差(想象一下手电筒照射远处的情景),相对应的测量精度也越差。所以基于结构光的深度相机测量精度随着距离的增大而大幅降低。因而,往往在近距离场景中应用较多。
(3)容易受到光滑平面反光的影响。
2. 双目视觉
基于视差原理并利用成像设备 从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息。
3. 光飞行时间法(TOF Time-Of-Flight)
通过红外发射器发射调制过的光脉冲,遇到物体反射后,用接收器接收反射回来的光脉冲,并根据光脉冲的往返时间计算与物体之间的距离。
4. 总结
文章出处登录后可见!