结构光、双目、ToF——三种3D技能对比

[复制链接]
查看879 | 回复0 | 2023-8-23 11:58:11 | 显示全部楼层 |阅读模式
        本文固然定名为对比文档,但是对比意义不是特别猛烈的内容仍不在少数——如三种3D技能的误差等部门——换言之,本文旨在通过对比的形式对三种3D技能的特点和特性进行总结。资料告急来自于网络,部门相干参考文献会附在文末。由于时间有限,有些图留有多重水印,如有侵权,请接洽作者删除。作者学习时间为一周左右,浏览的文献及网络资料繁多,参考文献难免有罅漏。本文系作者学习总结,用于个人学习记录,读者若有看法,请不吝见教。

目次
1、三种3D技能的概述
1.1 ToF
1.2 双目
1.3 结构光
2、三种3D技能的构成部门
2.1 ToF
2.2 双目的计算流程
2.3 结构光
3、三种3D技能的原理对比
3.1 ToF
3.1.1 dToF(脉冲调制)
3.1.2 iToF(一连波调制)
3.2 双目
3.3 结构光
3.3.1 时序编码
3.3.2 空间编码
3.3.2.1 德布鲁因序列 (De Bruijn) 序列
3.3.2.2 二维空间编码
4、三种3D技能的误差
4.1 ToF
4.1.1 体系性误差
 4.1.2 非体系性误差
4.2 双目
4.3 结构光
5、三种3D技能的优缺点
5.1 ToF
5.1.1 直接丈量法
5.1.2 间接丈量法
5.2 双目
5.2.1 长处
 5.2.2 缺点
5.3 结构光
5.3.1 长处
5.3.2 缺点
6、后处理
6.1 ToF
6.1.1 深度数据校正
 6.1.2 滤波
6.1.3 自动曝光
6.1.4 HDRZ
6.2 双目
7、资料与参考文献
7.1 ToF的部门参考资料
7.2 双目的部门参考资料
7.3 结构光的部门参考资料
7.4 三种3D技能对比的部门参考资料

1、三种3D技能的概述

1.1 ToF

        ToF(Time of flight),即飞行时间法,是一种深度丈量的方法,精度为厘米级。ToF的原理简单,模块体积小,丈量间隔范围较大,抗干扰能力较强。ToF测距方法属于双向测距技能,它告急利用信号在两个异步收发机(Transceiver)(或被反射面)之间往返的飞行时间来丈量节点间的间隔。
        根据调制方法的差别,ToF可以分为两种:脉冲调制(Pulsed Modulation)和一连波调制(Continuous Wave Modulation)。脉冲调制是直接丈量飞行时间,因此也称为dToF(direct);一连波调制是通过相位差来计算飞行时间,因此也称为iToF(indirect)。
1.2 双目

        双目立体视觉(Binocular Stereo Vision)是呆板视觉的一种告急形式,它是基于视差原理并利用成像装备从差别的位置获取被测物体的两幅图像,通过计算图像对应点间的位置毛病,来获取物体三维多少信息的方法。
        双目立体视觉融合两只眼睛得到的图像并观察它们之间的差别,使我们可以得到显着的深度感,创建特性间的对应关系,将同一空间物理点在差别图像中的映像点对应起来。这个差别称作视差(Disparity)图像。
        双目立体视觉丈量方法具有用率高、精度符合、体系结构简单、本钱低等长处,非常得当于制造现场的在线、非接触产物检测和质量控制。在运动物体(包罗动物和人体形体)丈量中,由于图像获取是在刹时完成的,因此立体视觉方法是一种更有用的丈量方法。双目立体视觉体系是计算机视觉的关键技能之一,获取空间三维场景的间隔信息也是计算机视觉研究中最根本的内容。
1.3 结构光

        结构光技能就是利用提前筹划好的具有特别结构的图案(比如离散光斑、条纹光、编码结构光等),然后将图案投影到三维空间物体外貌上,利用别的一个相机观察在三维物理外貌成像的畸变情况。如果结构光图案投影在该物体外貌是一个平面,那么观察到的成像中结构光的图案就和投影的图案雷同,没有变形,只是根据间隔远近产生一定的标准变革。但是,如果物体外貌不是平面,那么观察到的结构光图案就会因为物体外貌差别的多少形状而产生差别的扭曲变形,而且根据间隔的差别而差别,根据已知的结构光图案及观察到的变形,就能根据算法计算被测物的三维形状及深度信息。
        一样平常而言,结构光可以分为线扫描结构光和面阵结构光,前者本文不做讨论。对于面阵结构光来说,大抵可分为两类:随机结构光和编码结构光。随机结构光较为简单,也更加常用。通过投影器向被测空间中投射亮度不均和随机分布的点状结构光,通过双目相机成像,所得的双目影像经过极线校正后再进行双目稠密匹配,即可重修出对应的深度图。随机结构光本文不做讨论,因为宁静凡双目算法较为相似,一些额外的思量就是是否给相机加装滤光片、光斑的密度要到什么程度等硬件和光学的题目了。
        这里告急讨论编码结构光。编码结构光可以分为两类:时序编码和空间编码。

2、三种3D技能的构成部门

        由于技能的发展和创新,我们很难对三种3D技能的构成部门进行死板僵硬的框定。本部门仅为相识三种技能提供参考。
2.1 ToF

        TOF相机采取自动光探测,通常包罗以下几个部门:
1、照射单元
        照射单元需要对光源进行脉冲调制之后再进行发射,调制的光脉冲频率可以高达100MHz。因此,在图像拍摄过程中,光源会打开和关闭几千次。各个光脉冲只有几纳秒的时长。相机的曝光时间参数决定了每次成像的脉冲数。
        要实现准确丈量,必须准确地控制光脉冲,使其具有完全雷同的一连时间、上升时间和降落时间。因为纵然只是1ns的毛病即可产生高达15cm的间隔丈量误差。如此高的调制频率和精度只有采取精良的LED或激光二极管才能实现,一样平常照射光源都是采取人眼不可见的红外光源。
2、光学透镜
        用于汇聚反射光线,在光学传感器上成像。不过与平常光学镜头差别的是这里需要加一个带通滤光片来包管只有与照明光源波长雷同的光才能进入。如许做的目的是克制非相干光源,减少噪声的同时防止感光传感器因外部光线干扰而过分曝光。
3、成像传感器
        TOF的相机的焦点。该传感器结构与平常图像传感器雷同,但比图像传感器更复杂,它包罗2个大概更多快门,用来在差别时间采样反射光线。因此,TOF芯片像素比一样平常图像传感器像素尺寸要大得多,一样平常100μm左右。
4、控制单元
        相机的电子控制单元触发的光脉冲序列与芯片电子快门的开/闭准确同步。它对传感器电荷实行读出和转换,并将它们引导至分析单元和数据接口。
5、计算单元
        计算单元可以记录准确的深度图。深度图通常是灰度图,此中的每个值代表光反射外貌和相机之间的间隔。为了得到更好的结果,通常会进行数据校准。
2.2 双目的计算流程

        双目由于自动双目、被动双目等区分,结构方面的构成有所差别。如自动红外双目包罗IR投射器和IR相机,被动双目则包罗两个可见光摄像头等等(实在自动双目可以视作传统被动双目和结构光的联合)。下面扼要介绍双目立体视觉的计算流程。

图2.1 双目计算流程图

        如图2.1所示,起首通过双目的定获取相机的内参外参(标定两个相机各自的内参和两个相机间的外参), 经过校正(包罗畸变矫正和极线校正,在查阅资料过程中发现矫正和校端庄常更换,但在《学习OpenCV》P430页里,有如许的表明:区分一下“矫正 undistortion”和“校正 rectification”。矫正:在数学上去掉透镜畸变。校正:数学上将图像分列整齐。
        个人以为矫正即“将错误的去除或改正”,校正即“将杂乱地重新分列大概通过计算使其有序化”。)在经过双目的定后,我们得到了两个相机之间的位姿关系即旋转矩阵R宁静移矩阵T。在进行双目三维视觉最焦点的步调立体匹配之前,通过极线校正,我们一样平常通过立体校正,把两个不共面的相机调解成共面行对准,即把两个相机的成像平面调解到同一个平面上,包管两辅助像的每一行是相对应的。如许就会把二维搜刮题目酿成一维搜刮题目,所以在探求匹配关系时,只需要在两幅图像的同一行进行搜刮就可以,同时也可把求解深度的题目转化成求解视差的题目。然后通过求解同一个点在两幅图像上横坐标的差值,来确定这个点在真实空间的深度。最常见的校正方法即Bouguet校正算法:将标定的外参数矩阵R和T分解为左右相机各旋转一半的旋转宁静移矩阵R1,T1与R2,T2。分解的原则是左右图像重投影造成的畸变最小,左右视图共视面积最大,如图2.2所示。

 图2.2 Bouguet算法表现图

        经过校正则是立体匹配,立体匹配是通过已知外参的相机,根据极线束缚探求真实空间中的同名点,然后再对这个空间上的点进行深度估计。立体匹配包罗匹配代价计算、代价聚合、视差计算和视差优化/后处理。
        立体匹配的相干信息(图片文章等)见图2.3和图2.4。

图2.3 立体匹配的四个部门


图2.4 立体匹配的分类

        立体匹配相干知识在以下博文里有相当详细的整理:
        双目立体匹配入门【一】(理论)_凳子花❀的博客-CSDN博客_双目相机匹配
https://blog.csdn.net/qq_42759162/article/details/123079032?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%8F%8C%E7%9B%AE%E8%A7%86%E8%A7%89%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-8-123079032.142%5ev42%5epc_rank_34,185%5ev2%5econtrol&spm=1018.2226.3001.4187
2.3 结构光

        3D结构光的整个体系包罗结构光投影装备、摄像机、图像采集和处理体系。其过程就是投影装备发射光线到被测物体上,摄像机拍摄在被测物体上形成的三维光图形,拍摄图像经采集处理体系处理后得到被测物体外貌数据。在这个体系中,当相机和投影装备相对位置一定时,投射在被测物体上的光线畸变程度取决于物体外貌的深度,所以在拍摄图像中可以得到一张拥有深度的光线图像。
        3D结构光的根本就是通过光学本领获取被拍摄物体的三维结构,再通过这一信息进行更深度的应用。

3、三种3D技能的原理对比

3.1 ToF

        ToF的根本原理是通过一连发射光脉冲(一样平常为不可见光)到被测物体上,然后接收从物体反射归去的光脉冲,通过探测光脉冲的飞行(往返)时间来计算被测物体离相机的间隔。

 图3.1 飞行时间法深度丈量根本原理表现图

        下面根据ToF的两种范例分别对ToF的原理进行介绍。
3.1.1 dToF(脉冲调制)

        脉冲调制直接根据脉冲发射和接收的时间差来测算间隔。图3.2是脉冲调制测距的表现图:

 图3.2 脉冲调制测距表现图

        脉冲调制方案的照射光源一样平常采取方波脉冲调制,这是因为它用数字电路来实现相对容易。接收端的每个像素都是由一个感光单元(如光电二极管)构成,它可以将入射光转换为电流,感光单元毗连着多个高频转换开关(下图的G0,G1)可以把电流导入差别的可以储存电荷(图3.3S0,S1)的电容里。
        相机上的控制单元打开光源然后再关闭,发出一个光脉冲。在同一时候,控制单元打开和关闭接收端的电子快门。接收端接收到的电荷被存储在感光元件中。

 图3.3 接收端单元电路图

        然后,控制单元第二次打开并关闭光源。这次快门打开时间较晚,即在光源被关闭的时间点打开,同时新接收到的电荷S1也被存储起来。详细过程如图3.4所示。

 图3.4 脉冲波形图

        因为单个光脉冲的一连时间非常短,此过程会重复几千次,直到到达曝光时间。然后感光传感器中的值会被读出,实际间隔可以根据这些值来计算。
        记光速为c,tp为光脉冲的一连时间, S0表现较早的快门收集的电荷, S1表现耽误的快门收集的电荷,那么间隔d可以由如下公式计算:

        最小的可丈量间隔是:在较早的快门期间S0中收集了所有的电荷,而在耽误的快门期间S1没有收集到电荷,即S1=0。代入公式会得出最小可丈量间隔d=0。
        最大的可丈量的间隔是:在S1中收集了所有电荷,而在S0中根本没有收集到电荷。然后,该公式得出d=0.5×c×tp。因此最大可丈量间隔是通过光脉冲宽度来确定的。例如,tp=50ns,代入上式,得到最大丈量间隔。
        需要留意的是,当反射时间高出光脉冲一连时间时,上述丈量方法失去作用。因此我们设置了快门S2对此题目进行办理,如图3.5所示。而当反射时间在光脉冲一连时间内时,快门S2也能对情况光的影响进行测试。

图3.5 直接丈量法

长处:
        丈量方法简单,相应较快;
        由于发射端能量较高,所以一定程度上降低了背景光的干扰。
缺点:
        发射端需要产生高频高强度脉冲,对物理器件性能要求很高;
        对时间丈量精度要求较高;
        情况散射光对丈量结果有一定影响。
3.1.2 iToF(一连波调制)

        实际应用中,通常采取的是正弦波调制。由于接收端和发射端正弦波的相位偏移和物体间隔摄像头的间隔成正比(见反面推导),因此可以利用相位偏移来丈量间隔。图3.6是一连波调制原理表现图:

图3.6 一连波调制测距表现图

        实在相移偏移来丈量间隔相位差的方法与四步相移法的推导根本一样。下图是发射的正弦波和接收的正弦波的表现图:

图3.7 发射接收正弦波表现图

        一连正弦波调制丈量方法,详细的推导过程如下。序号1-9对应下图的公式1-9。

  • 假设发射的正弦信号s(t)振幅是a,调制频率是f
  • 经逾期延△t后接收到的信号为接收r(t),衰减后的振幅为A,强度偏移(由情况光引起)为B
  • 四个采样时间间隔相称,均为T/4
  • 根据上述采样时间可以列出四个方程组
  • 从而可以计算出发射和接收的正弦信号的相位偏移△φ
  • 据此可以根据6中公式计算物体和深度相机的间隔d
  • 接收信号的衰减后的振幅A的计算结果
  • 接收信号强度偏移B的计算结果,反映情况光
  • A,B的值间接的反应了深度的丈量精度,深度丈量方差可以用公式9近似表现。 
长处:
        相位偏移(公式5)中的(r2-r0)和(r1-r3)相对于脉冲调试法消除了由于丈量器件大概情况光引起的固定毛病;
        可以根据接收信号的振幅A和强度偏移B来间接的估算深度丈量结果的准确程度(方差);
        不要求光源必须是短时高强度脉冲,可以采取差别范例的光源,运用差别的调制方法。
缺点:
        需要多次采样积分,丈量时间较长,限定了相机的帧率;
        需要多次采样积分,丈量运动物体时大概会产生运动含糊。
3.2 双目

        在介绍双目测距之前,先看看通用单目相机模子

图3.8 通用单目相机模子表现图

        通用相机模子中,X,Y,Z为天下坐标系,(x,y,z)为相机坐标系,根据x三角形相似性:

        双目测距原理:三角丈量/视差原理

图3.9 视差表现图


图3.10 双目测距原理图


图3.11 双目测距原理图

        深度Z的计算如下所示:

3.3 结构光

3.3.1 时序编码


图3.12 时序编码结构光原理图

        如图3.12,时序编码结构光即为在一定时间范围内,通过投影器向被测空间投射一系列明暗差别的结构光,每次投影都通过相机进行成像。假设共有n张影像,并设被阴影覆盖的部门编码值为1,未被覆盖的部门编码值为0。此时,每个像素都对应唯逐一个长度为n的二进制编码,双目影像搜刮匹配像素的题目就酿成了查找具有雷同编码值的像素。如果双目图像已经进行了极线校正,那么所投影的结构光只需要在x方向上不具有重复性即可。
        如图3.13中,红框内的像素的编码为0110,转化为十进制则为6。此时,只需要在右图雷偕行上检索编码值为6的像素即可。图3.13编码方式称为二进制码(binary code),每段地区不停的进行二分下去直至投影的编码宽度等于相机的像素宽度即可。对于宽度为1024的图像,最少需要10张影像来进行编码。
        (图3.13中右边三列编码有误,应该为0010,0001,0000)

图3.13 编码转换图


图3.14 Binary Code


图3.15 Gray Code

        Binary Code 的一种改进为Gray Code. Gray Code比Binary Code具有更好的鲁棒性,它使得相邻两个像素相差1bit。Gray Code的详细介绍和其与Binary Code之间的转换可以参考Wikipedia。
        留意观察即可看到gray code和binary code在前几行像素上的差别
        转换算法:

        自然,除了利用二进制的0-1编码之外,还可以利用更多颜色层级的编码。假设利用了M种差别的灰度层级进行编码,则拍摄N张影像可以得到包罗M^N个条带的影响。如下图中M = 3,N = 3时图中有27条条带。

图3.16 三张影像三种灰度层级的二维编码

        由以上的介绍也可以得出时序编码结构光的优缺点:
长处:
        高精度。
缺点:
        只实用于静态场景;需要拍摄大量影像。
3.3.2 空间编码

        为满意动态场景的需要,可以采取空间编码结构光。前面谈到了随机结构光,就是不带编码信息,投影随机纹理,而这里讨论的空间编码结构光特指向被测空间中投影经过数学编码的、一定范围内的光斑不具备重复性的结构光。由此,某个点的编码值可以通过其邻域得到。此中,包罗一个完整的空间编码的像素数量(窗口巨细)就决定了重修的精度。
3.3.2.1 德布鲁因序列 (De Bruijn) 序列

        德布鲁因序列(维基百科)B(k,n) 表现用k个符号(如二进制,k = 2)来表现长度为的循环编码,n为一个编码值的长度。举例:最简单的,k = 2时,采取二进制符号(0, 1),编码值的长度n = 2,可以得到一个长度为的循环序列:[0,0,1,1]。此时,我们得到4个长度为2的差别的编码:[0,0],[0,1],[1,1],[1,0]。此,某种结构光就可以按照该德布鲁因序列进行编码。而得到的结构光影像中,以上4个像素的编码为[0,0,1,1],通过一个巨细为2的滑动窗口(假定一个结构光光斑或光束的宽度是一个像素)即可获取每个像素的编码值。同样地,如果是经过极线校正的双目图像,只需要搜刮对应的行即可,此时只要求编码在x轴上不具备重复性。此时的结构光就是竖直条带状的。
        固然,为了进步编码服从,也可以利用灰度图、彩色图像等比0-1编码具有更多大概编码值的投影方式。例如,对于RGB影像,采取二进制编码(即某种颜色只有 有、无 两种状态),则共有 种颜色组合,去除(0,0,0),还剩下7种颜色。因此k = 7,n = 3,如许就可以得到一个长度为343的条带序列。对于这个序列,唯一的束缚为:相邻的条带不能为同样的颜色。否则对于解码算法来说很容易造成误差。下图展示了只利用5种颜色(k = 5, n = 3)的结构光序列:

图3.17 5种颜色的结构光序列

3.3.2.2 二维空间编码

        德布鲁因序列是一种一维编码,可以将之扩展到二维空间中,使得对于一个x * y巨细的二维空间,此中一个w * h巨细的子窗口所包罗的编码值在这整个二维编码序列中只出现一次。

图3.18 4 * 6M-arrays序列

        如上面中的4 * 6的M-arrays序列中,每个2 * 2巨细的窗口所包罗的编码值都是唯一的。
        同样也可以利用RGB信息来进行二维编码,有相干算法来产生一些伪随机二维编码。如在下图中,左边展示了一个6 * 6巨细的二维矩阵,子窗口的巨细为3 * 3。算法起首在左上角的3 * 3子窗口中随机填入各种颜色;然后一个3 * 1巨细的滑动窗口移动到右端第一个空白处,并随机填入3中颜色;在填入天生的随机颜色前,算法会先验证子窗口的编码的唯一性能不能得到包管,若不能,则会重新天生3中随机颜色;如此循环,只是在竖直方向上滑动窗口的巨细变为1 * 3,直至将整个6 * 6矩阵填满。右图则是该算法产生的某种伪随机二维编码的示例。

 图3.19 RGB二维编码

        通过以上对空间编码的讨论,也可以看出空间编码结构光的一些优缺点:
长处:
        无需多张照片,只需要一对影像即可进行三维重修。可以满意及时处理,用在动态情况中。
缺点:
        易受噪声干扰;由于反光、照明等原因大概导致成像时部门地区等编码信息缺失;对于空间中的遮挡比力敏感;相较于时序编码结构光精度较低。

4、三种3D技能的误差

4.1 ToF

4.1.1 体系性误差


图4.1 镜头畸变原理图

        镜头畸变,包罗径向畸变和切向畸变,此中径向畸变来自于透镜的形状,可根据畸变的形式再分为枕形畸变和桶形畸变;切向畸变则来自于整个相机的组装过程,例如镜头与sensor不好坏常平行(一样平常切向畸变较小)。

图4.2 镜头畸变表现图

        FPPN固定相位模式噪声,也被称为梯度误差。Sensor是按照阵列排布的,这带来了一个题目,就是信号到每一个阵列上的信号的时间是差别的,这就导致每个Pixel之间都存在一定量的时延。除此之外,曝光跟参考信号有一定的时延,这会导致团了解有向上的毛病。因此FPPN实在是由两部门,即团体向上毛病和每个Pixel之间的局部差别构成的。

图4.3 Sensor与Pixel的表现图


图4.4 Pixel之间的局部差别


 图4.5 团体向上毛病

        循环误差,由于调制波不是美满正弦波,甚至是方波导致。由于所有的信号都可以表现为谐波和基波的组合,因此可以将误差表现为基波与数个谐波之和的形式:


  图4.6 循环误差波形图

        温漂,vcsel的driver信号随着温度的升高而产生时延从而导致丈量间隔的变动。一样平常来说,温漂和测距误差存在线性关系。
        杂散光,当情况中存在拦截物时信号会产生叠加,使相位发生改变。可以通过点扩散函数(PSF)进行滤除赔偿。点扩散函数形貌了一个成像体系对一个点光源(物体)的相应。PSF的一样平常术语就是体系相应,是一个聚焦光学体系的打击相应。通过快速傅里叶变动和反快速傅里叶变动还原原始图像。

 4.1.2 非体系性误差

        Flying pixel(飞点),对于深度图像而言,处于前景的物体边沿与背景是相连的,由于pixel size较大,同一个pixel大概会接收到背景反射和前景反射返来的信号,且两个信号发生融合,导致物体点云边沿存在一连的线性噪声。这种线性噪声相对于点云来说一样平常间距较大,因此可以通过对随间隔变革的阈值进行筛选,当间隔高出阈值时以为是噪声,当间隔小于阈值时以为是有用信息。
        幅度相干的误差,差别高度的曝光(大概积分时间)会导致测距的精准度题目(更偏向于精度)。可通过自动曝光功能进行改善。
        多装备间干扰,当同时有多个装备进行工作时,多装备的投射光源对各个装备存在干扰。如今可以通逾期分复用大概空间复用的方案办理。
        多径干扰,雷同与体系性误差里的杂散光,差别的是,杂散光是来自于镜头跟sensor之间的反射,而多径干扰则通常来自于外部目的物体之间的多次反射,反射产生的多余间隔会造成较大的干扰。如今尚未有较好的办理方案。
        运动含糊,无论是直接丈量法还是间接丈量法,都需要4次以上的曝光。在这个过程中,如果物体运动到达一定的速率时,边沿大概会出现检测非常的情况,称为运动含糊。
        物体材质/反射率对测距产生影响:告急反映在接收的信号强度过强大概过弱时导致测距产生误差。
        情况光干扰,当外界光照较强的时间,会对测距的影响较大。即当外界情况光较强时,无法判断哪一部门是光源发射出的。
4.2 双目

        当焦距与baseline固定不变时,深度数据Z的误差仅与计算视差d有关。

         计算视差d与间隔Z的关系,得到matlab仿真图如下:

 图4.7 视差d与间隔Z的关系图

        如图4.8所示,两个射线的夹角越小,间隔越远,误差越大。

 图 4.8双目测距误差原理图

4.3 结构光

        体系的丈量误差告急来源为体系建模误差、标定误差和图像处理误差。由于文章篇幅有限,详细分析、推导计算过程可见:
        许丽,曾丹,张之江.结构光丈量体系误差分析[J].光电工程,2008(10):26-31+97.

5、三种3D技能的优缺点

5.1 ToF

5.1.1 直接丈量法


  • 对光信号的稳定性要求较高;
  • 计算量少;
  • 通过调解脉冲周期可以进步丈量间隔;
  • 数据抖动性相对较大;
  • 需要较快(~10ns)高性能的全局曝光。
5.1.2 间接丈量法


  • 对光信号的稳定性要求相对宽松;
  • 计算量相对较大;
  • 需要通过多个频率计算扩大丈量间隔;
  • 数据抖动性相对较少。
5.2 双目

5.2.1 长处


  • 被动双目由于其被动特性,硬件功耗较低;
  • 近间隔精度为毫米级,2m内误差在千分之五(5mm);
  • 硬件要求低,本钱低;
  • 室内室外都可利用;
  • 分辨率可到达较高的2k分辨率;
 5.2.2 缺点


  • 对情况光照非常敏感。光线变革导致图像毛病大,进而会导致匹配失败或精度低;
  • 不实用单调缺乏纹理的场景。双目视觉根据视觉特性进行图像匹配,没有特性会导致匹配失败;
  • 计算复杂度高。该方法是纯视觉的方法,对算法要求高,计算量较大;
  • 基线限定了丈量范围。丈量范围和基线(两个摄像头间距)成正比,导致无法小型化。
5.3 结构光

5.3.1 长处


  • 由于结构光自动投射编码光,因而非常得当在光照不敷(甚至无光)、缺乏纹理的场景利用。
  • 结构光投影图案一样平常经过经心筹划,所以在一定范围内可以到达较高的丈量精度。
  • 技能成熟,深度图像可以做到相对较高的分辨率。
5.3.2 缺点


  • 室外情况根本不能利用。这是因为在室外容易受到强自然光影响,导致投射的编码光被淹没。增加投射光源的功率可以一定程度上缓解该题目,但是结果并不能让人满意。
  • 丈量间隔较近。物体间隔相机越远,物体上的投影图案越大,精度也越差(想象一动手电筒照射远处的情景),相对应的丈量精度也越差。所以基于结构光的深度相机丈量精度随着间隔的增大而大幅降低。因而,往往在近间隔场景中应用较多。
  • 容易受到光滑平面反光的影响。

6、后处理

6.1 ToF

        大部门体系性的误差可以通过标定的技能本领进行办理。标定可以将误差进行量化和模子化,将误差总结为详细数值大概模子,运用在后期的计算跟校正中。
6.1.1 深度数据校正

        根据标定的参数,在深度计算当中对其进行赔偿。详细流程需要于标定流程划一。

 6.1.2 滤波

        由于Flying Pixel或数据抖动等原因,点云图像成像不够美满。对此我们通过滤波进行处理。

6.1.3 自动曝光

        自动曝光算法的目的是通过得当的方式调解曝光时间以控制图像振幅,避免出现过曝和曝光不敷的情况,特别是控制饱和地区的振幅,使其保持在恒定的范围内(对应非体系性误差中幅度相干的误差)。
        利用参考幅度和当前帧实际丈量的幅度的比值(gain)计算下一帧的建议曝光值。公式如下:



 图6.1 自动曝光流程图

6.1.4 HDRZ

        通过设置是非曝光帧+深度数据融合实现HDRZ功能。根据差别TOF方案的功能实现是非曝光的方法可分为:前后帧是非曝光和同一帧是非曝光。
        一样平常情况下,长曝光采取固定曝光,短曝光采取自动曝光,包管在近间隔的情况下不会产生过曝的情况。末了将长曝光和短曝光的深度数据进行融合,从而到达HDRZ的目的——既能拍摄到近间隔的目的也能拍摄到远间隔的目的。
6.2 双目

        左右划一性检测(Left-Right Consistency (LRC) check)
        LRC check的作用是实现遮挡检测(Occlusion Detection),得到对应的遮挡图像。
        详细做法:根据两幅输入图像,分别得到两幅视差图。对于左图中的一个点p,求得的视差值是d1,那么p在右图里的对应点应该是(p-d1),(p-d1)的视差值记作d2。若|d1-d2|>threshold,p标记为遮挡点(occluded point)。
        遮挡添补(Occlusion Filling
        得到了二值的遮挡图像,之后是为所有玄色的遮挡点赋予公道的视差值。对于左图而言,遮挡点一样平常存在于背景地区和前景地区接触的地方。遮挡的产生正是因为前景比背景的偏移量更大,从而将背景遮盖。
        详细赋值方法是:对于一个遮挡点p,分别程度往左和往右找到第一个非遮挡点,记作pl、pr。点p的视差值赋成pl和pr的视差值中较小的那一个。d(p)= min (d(pl),d(pr)) (Occluded pixels have the depth of the background)。
        中值滤波(Median Filtering
这种简单的Occlusion Filling方法在遮挡地区赋值方面结果显著,但是对初始视差的公道性和精度依靠较高。而且会出现雷同于动态规划算法的程度条纹,所以厥后经常跟着一个中值滤波步调以消除条纹。

        完整、详细内容及图片见以下链接:
        立体匹配的后续处理:左右检测+遮挡添补+中值滤波_lphbtm的专栏-步调员ITS401
https://its401.com/article/lphbtm/17953347

7、资料与参考文献

        在网络上找到了一些总结对比图,与参考资料放在这一部门。
7.1 ToF的部门参考资料

        Tof原理及应用_爱研讨的小铭的博客-CSDN博客_tof原理
https://blog.csdn.net/qq_42676511/article/details/120723131

        径向误差、偏幸误差和薄棱镜误差_Hali_Botebie的博客-CSDN博客
https://blog.csdn.net/djfjkj52/article/details/121122845

        ToF技能全解读_图像算法AI的博客-CSDN博客_tof定位算法
https://blog.csdn.net/yegeli/article/details/119734813?ops_request_misc=&request_id=&biz_id=102&utm_term=tof&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-119734813.nonecase&spm=1018.2226.3001.4187
7.2 双目的部门参考资料

        双目立体匹配入门【一】(理论)_凳子花❀的博客-CSDN博客_双目相机匹配
https://blog.csdn.net/qq_42759162/article/details/123079032?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%8F%8C%E7%9B%AE%E8%A7%86%E8%A7%89%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-8-123079032.142%5ev42%5epc_rank_34,185%5ev2%5econtrol&spm=1018.2226.3001.4187

        双目立体匹配_知也无涯12345的博客-CSDN博客_双目立体匹配
https://blog.csdn.net/m0_37604894/article/details/81020846

        车载双目ADAS(五):双目视觉技能的原理、构成、应用与挑战_bobuddy的博客-CSDN博客_双目视觉避障原理
https://blog.csdn.net/u010783226/article/details/113877208?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166147770516781667860110%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=166147770516781667860110&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~pc_rank_34-1-113877208-null-null.142%5ev42%5epc_rank_34,185%5ev2%5econtrol&utm_term=%E5%8F%8C%E7%9B%AE%E7%9A%84%E7%BB%84%E6%88%90%E9%83%A8%E5%88%86&spm=1018.2226.3001.4187

        双目立体视觉(一) 根本原理和步调_CodeIsCoding的博客-CSDN博客_双目立体视觉
https://blog.csdn.net/weixin_40059786/article/details/121935076?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%8F%8C%E7%9B%AE&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-5-121935076.nonecase&spm=1018.2226.3001.4187

        呆板视觉——双目视觉的根本知识(视差深度、标定、立体匹配)_啦啦啦1231213的博客-CSDN博客_双目摄像头视差
https://blog.csdn.net/m0_61238051/article/details/120737470?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%8F%8C%E7%9B%AE&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-4-120737470.nonecase&spm=1018.2226.3001.4187

        双目视觉原理(万字总结,包罗Halcon代码)_happylife_mini的博客-CSDN博客_双目视觉
https://blog.csdn.net/m0_46384757/article/details/125036675?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%8F%8C%E7%9B%AE&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-125036675.nonecase&spm=1018.2226.3001.4187

        深入浅出讲解自动双目立体视觉 - 知乎 (zhihu.com)
https://zhuanlan.zhihu.com/p/158051630
7.3 结构光的部门参考资料

        三维视觉之结构光原理详解_小白学视觉的博客-CSDN博客
https://blog.csdn.net/qq_42722197/article/details/118586576?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166141496816782350852550%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=166141496816782350852550&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-1-118586576-null-null.142%5ev42%5epc_rank_34,185%5ev2%5econtrol&utm_term=%E7%BB%93%E6%9E%84%E5%85%89&spm=1018.2226.3001.4187

        结构光3D成像原理及应用_小白学视觉的博客-CSDN博客
https://blog.csdn.net/qq_42722197/article/details/119770044

        结构光的误差分析- CSDN搜刮
https://so.csdn.net/so/search?q=%E7%BB%93%E6%9E%84%E5%85%89%E7%9A%84%E8%AF%AF%E5%B7%AE%E5%88%86%E6%9E%90&t=&u=&urw=

        3D-camera结构光原理_wujianming_110117的博客-CSDN博客
https://blog.csdn.net/wujianing_110117/article/details/104917590?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-104917590-blog-102687682.pc_relevant_multi_platform_whitelistv4&spm=1001.2101.3001.4242.1&utm_relevant_index=3
7.4 三种3D技能对比的部门参考资料

        TOF、RGB双目、结构光优劣分析_hjwang1的博客-CSDN博客
https://blog.csdn.net/hjwang1/article/details/90258440?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%8F%8C%E7%9B%AE%E7%9A%84%E4%BC%98%E7%BC%BA%E7%82%B9&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-7-90258440.142%5ev42%5epc_rank_34,185%5ev2%5econtrol&spm=1018.2226.3001.4187

        3D相机技能调研(飞行时间TOF+双目+结构光)_PKing666666的博客-CSDN博客_结构光3d相机
https://panjinquan.blog.csdn.net/article/details/119649838



来源:https://blog.csdn.net/BILL245/article/details/127964788
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则