3D成像方法汇总(原理解析):双目视觉、激光三角、结构光、ToF、光场、全息...

作者丨路人甲ing..@CSDN

来源丨https://blog.csdn.net/tyfwin/article/details/89110067

编辑丨3D视觉工坊

3D成像方法汇总介绍:

这里要介绍的是真正的3D成像,得到物体三维的图形,是立体的图像。

而不是利用人眼视觉差异的特点,错误感知到的假三维信息。

原理上分类:主要常用有:

1、双目立体视觉法(Stereo Vision)

2、激光三角法(Laser triangulation)

3、结构光3D成像(Structured light 3D imaging)

4、飞行时间法ToF(Time of flight)

5、光场成像法(Light field of imaging)

6、全息投影技术(Front-projected holographic display)

7、补充:戳穿假全息

上面原理之间可能会有交叉。

而激光雷达不是3D成像原理上的一个分类,而是一种具体方法。

激光雷达的3D成像原理有:三角测距法、飞行时间ToF法等。

激光雷达按照实现方式分类有:机械式、混合固态、基于光学相控阵固态 、基于MEMS式混合固态、基于FLASH式固态等。

一、双目立体视觉法:

就和人的两个眼睛一样,各种两个摄像头的手机大都会用这种方法来获得深度信息,从而得到三维图像。但深度受到两个摄像头之间距离的限制。

视差图:双目立体视觉融合两只眼睛获得的图像并观察它们之间的差别,使我们可以获得明显的深度感,建立特征间的对应关系,将同一空间物理点在不同图像中的映像点对应起来,这个差别,我们称作视差(Disparity)图像。对于视差的理解可以自己体验一下:将手指头放在离眼睛不同距离的位置,并轮换睁、闭左右眼,可以发现手指在不同距离的位置,视觉差也不同,且距离越近,视差越大。

提到视差图,就有深度图,深度图像也叫距离影像,是指将从图像采集器到场景中各点的距离(深度)值作为像素值的图像。

深度图与点云的区别,点云:当一束激光照射到物体表面时,所反射的激光会携带方位、距离等信息。若将激光束按照某种轨迹进行扫描,便会边扫描边记录到反射的激光点信息,由于扫描极为精细,则能够得到大量的激光点,因而就可形成激光点云。深度图像经过坐标转换可以计算为点云数据;有规则及必要信息的点云数据可以反算为深度图像。两者在一定条件下是可以相互转化的。

双目立体视觉由三角法原理进行三维信息的获取,即由两个摄像机的图像平面和被测物体之间构成一个三角形。已知两个摄像机之间的位置关系和物体在左右图像中的坐标,便可以获得两摄像机公共视场内物体的三维尺寸及空间物体特征点的三维坐标。所以,双目视觉系统一般由两个摄像机构成。

深度和视差成反比。

f3ce91ac2a2e1eb47118aaf012e72174.png

c3d3448f1cc55bbe626a3cc25371ce15.png

2ba5554d421961cf77b39b30f26dedaf.png

b0209bbf43ab2613c1a8c1925ebbf19a.png

二、激光三角法

单点激光测距原理:(同属于下面结构光原理)

单点激光测距原理图如下图。

b1bbfb793738f66872b7f3c11eaf4999.png

激光头Laser与摄像头在同一水平线(称为基准线)上,其距离为s,摄像头焦距为f,激光头与基准线的夹角为β。激光头Laser与摄像头在同一水平线(称为基准线)上,其距离为s,摄像头焦距为f,激光头与基准线的夹角为β。假设目标物体Object在点状激光器的照射下,反射回摄像头成像平面的位置为点P。假设目标物体Object在点状激光器的照射下,反射回摄像头成像平面的位置为点P。 

由几何知识可作相似三角形,激光头、摄像头与目标物体组成的三角形,相似于摄像头、成像点P与辅助点P′。P与辅助点P′。 

设 PP′=x,q、d如图所示,则由相似三角形可得:PP′=x,q、d如图所示,则 由相似三角形可得:f/x=q/s  ==>  q=fs/x    

 X可分为两部分计算:X=x1+x2= f/tanβ + pixelSize* position

其中pixelSize是像素单位大小, position是成像的像素坐标相对于成像中心的位置。

最后,可求得距离d:   d=q/sinβ

线状激光三角测距原理:(同属于下面结构光原理)

将激光光条的中心点P1、成像点P1′、摄像头、激光头作为基准面,中心点P1就符合单点结构光测距。对于任一点(该点不在基准面上),也可由三角测距得出。将激光光条的中心点P1、成像点P1′、摄像头、激光头作为基准面,中心点P1就符合单点结构光测距。对于任一点(该点不在基准面上),也可由三角测距得出。

ff7a7c5564130b1bd7f8a45296590115.png

如上图所示,将成像平面镜像到另一侧。其中P1′,P2′和分别是P1和P2的成像位置,对于点P2、成像点P2′、摄像头、激光头所形成的平面,与基准面存在夹角θ,也符合单点结构光测距。此时的焦距为f′,x的几何意义同单点激光测距原理。如上图所示,将成像平面镜像到另一侧。其中P1′,P2′和分别是P1和P2的成像位置,对于点P2、成像点P2′、摄像头、激光头所形成的平面,与基准面存在夹角θ,也符合单点结构光测距。此时的焦距为f′,x的几何意义同单点激光测距原理。

   d'/baseline=f'/x

d′是P2与baseline所成平面上P2到底边的高(类比于单点激光测距原理中的q)。同样x可分为两部分计算d′是P2与baseline所成平面上P2到底边的高(类比于单点激光测距原理中的q)。同样x可分为两部分计算:

  x=f'/tanβ + pixelSize* position

上述中的平面与基准面的夹角为θ上述中的平面与基准面的夹角为θ:

     f'/f=cosθ        tanθ=(|P2'.y-P1'.y|)/f

可求得f′:可求得f′:f'=f/cos(arctan((P2'.y-P1'.y)/f))   

三、结构光3D成像法

OPPO Find X和IphoneX等手机的前置摄像头纷纷搭载。

单从光源本身理解什么是结构光:就是带有一定结构的,而且我们自己是知道光源的这种结构的。

结构光三维视觉是基于光学三角测量原理。光学投射器将一定模式的结构光透射于物体表面,在表面上形成由被测物体表面形状所调制的光条三维图像。该三维图像由处于另一位置的摄像机探测,从而获得光条二维畸变图像。光条的畸变程度取决于光学投射器与摄像机之间的相对位置和物体表面形状轮廓(高度)。直观上,沿着光条显示出的位移(或者偏移)与物体表面高度成比例,扭结表示了平面的变化,不连续显示了表面的物理间隙。当光学投射器与摄像机之间的相对位置一定时,由畸变的二维光条图像坐标便可重现物体表面三维形状轮廓。由光学投射器、摄像机、计算机系统即构成了结构光三维视觉系统。

3d70f455ed5909744ca0252b676297c0.png

根据光学投射器所投射的光束模式的不同,结构光模式又可分为点结构光模式、线结构光模式、多线结构光模式、面结构光模式、相位法等。

点结构光模式:(和上面介绍的三角测距一样)如图所示,激光器发出的光束投射到物体上产生一个光点,光点经摄像机的镜头成像在摄像机的像平面上,形成一个二维点。摄像机的视线和光束在空间中于光点处相交,形成一种简单的三角几何关系。通过一定的标定可以得到这种三角几何约束关系,并由其可以唯一确定光点在某一已知世界坐标系中的空间位置。

ca2e492081199ece688e66dd33b572d5.png

线结构光模式:(和上面介绍的三角测距一样)线结构光模式是向物体投射一条光束,光条由于物体表面深度的变化以及可能的间隙而受到调制,表现在图像中则是光条发生了畸变和不连续,畸变的程度与深度成正比,不连续则显示出了物体表面的物理间隙。任务就是从畸变的光条图像信息中获取物体表面的三维信息;实际上,线结构光模式也可以说是点结构模式的扩展。过相机光心的视线束在空间中与激光平面相交产生很多交点,在物体表面处的交点则是光条上众多的光点,因而便形成了点结构光模式中类似的众多的三角几何约束。很明显,与点结构光模式相比较,线结构光模式的测量信息量大大增加,而其实现的复杂性并没有增加,因而得到广泛应用。

13b23f0575ea741ffdd976954b31a06f.png

多线结构光模式:多线结构光模式是光带模式的扩展。如图,由光学投射器向物体表面投射了多条光条,其目的的一方面是为了在一幅图像中可以处理多条光条,提高图像的处理效率,另一方面是为了实现物体表面的多光条覆盖从而增加测量的信息量,以获得物体表面更大范围的深度信息。也就是所谓的“光栅结构模式”,多光条可以采用投影仪投影产生一光栅图样,也可以利用激光扫描器来实现。

51dba389376fdc5ddee0f0d20ca5588d.png

面结构光模式:当采用面结构光时,将二维的结构光图案投射到物体表面上,这样不需要进行扫描就可以实现三维轮廓测量,测量速度很快,光面结构光中最常用的方法是投影光栅条纹到物体表面。当投影的结构光图案比较复杂时,为了确定物体表面点与其图像像素点之间的对应关系,需要对投射的图案进行编码,因而这类方法又称为编码结构光测量法。图案编码分为空域编码和时域编码。空域编码方法只需要一次投射就可获得物体深度图,适合于动态测量,但是目前分辨率和处理速度还无法满足实时三维测量要求,而且对译码要求很高。时域编码需要将多个不同的投射编码图案组合起来解码,这样比较容易实现解码。主要的编码方法有二进制编码、二维网格图案编码、随机图案编码、彩色编码、灰度编码、邻域编码、相位编码以及混合编码。

9b61649a5b80f1e4046a6833927e6dbc.png

f1d309bf97454e3a08de29e847420da3.png

相位法:近年来基于相位的光栅投影三维轮廓测童技术有了很大的发展,将光栅图案投射到被测物表面,受物体高度的调制,光栅条纹发生形变,这种变形条纹可解释为相位和振幅均被调制的空间载波信号。采集变形条纹并且对其进行解调可以得到包含高度信息的相位变化,最后根据三角法原理计算出高度,这类方法又称为相位法。基于相位测量的三维轮廓测量技术的理论依据也是光学三角法,但与光学三角法的轮廓术有所不同,它不直接去寻找和判断由于物体高度变动后的像点,而是通过相位测量间接地实现,由于相位信息的参与,使得这类方法与单纯光学三角法有很大区别。

39eba999f674650db1241afcc4301d63.png

四、飞行时间法ToF

飞行时间是从Time of Flight直译过来的,简称TOF。其基本原理是通过连续发射光脉冲(一般为不可见光)到被观测物体上,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到目标物距离。

TOF法根据调制方法的不同,一般可以分为两种:脉冲调制(Pulsed Modulation)和连续波调制(Continuous Wave Modulation)。

脉冲调制:脉冲调制方案的原理比较简单,如下图所示。它直接根据脉冲发射和接收的时间差来测算距离。

8730db2a8370be363dd9a282898c739b.png

连续波调制:实际应用中,通常采用的是正弦波调制。由于接收端和发射端正弦波的相位偏移和物体距离摄像头的距离成正比,因此可以利用相位偏移来测量距离。

1247ec435cd0c9440d5fbb6a9ea6fdef.png

目前的消费级TOF深度相机主要有:微软的Kinect 2、MESA的SR4000 、Google Project Tango 中使用的PMD Tech 的TOF深度相机等。这些产品已经在体感识别、手势识别、环境建模等方面取得了较多的应用,最典型的就是微软的Kinect 2。

TOF深度相机对时间测量的精度要求较高,即使采用最高精度的电子元器件,也很难达到毫米级的精度。因此,在近距离测量领域,尤其是1m范围内,TOF深度相机的精度与其他深度相机相比还具有较大的差距,这限制它在近距离高精度领域的应用。

但是,TOF深度相机可以通过调节发射脉冲的频率改变相机测量距离;TOF深度相机与基于特征匹配原理的深度相机不同,其测量精度不会随着测量距离的增大而降低,其测量误差在整个测量范围内基本上是固定的;TOF深度相机抗干扰能力也较强。因此,在测量距离要求比较远的场合(如无人驾驶),TOF深度相机具有非常明显的优势。

五、光场成像法(Light field of imaging)

光场就是光辐射在空间各个位置各个方向的传播。

全光函数:全光函数包含7个变量。

空间位置(3D)、特定方向(2D)、特定时刻(1D)、特定波长(1D)

L=p(x, y, z, θ, φ ,t, λ)

如图所示:

f7613ca3aa5e4a240211673627b14d76.png

若一条光线通过两个平面UV和ST所产生的交点坐标分别为(u,v)和(s,t),此时就可以通过光场函数L(u,v,s,t)来表示这条光线的分布。L代表光线的强度,而(u,v)和(s,t)共同确定了光线在空间中分布的位置和方向。在四维(u,v,s,t)空间中:一条光线对应光场的一个采样点。

为什么要用这种双平面的方式来确定光场的分布呢?这是因为常规的相机一般都可以简化成两个互相平行的平面——镜头的光瞳面和图像传感器所在的像平面。对于常规的相机来说,每个像素记录了整个镜头所出射光线会聚在一个位置上的强度。

所以,传统的相机只能获取一个像平面的图像。而如果能够获取到整个相机内的光场分布情况,我们就可以将光线重新投影到一个虚拟的像平面上,计算出这个新的像平面上所产生的图像。光场相机的目的就在于对相机的光场分布进行记录。

光场相机工作原理:光场相机由镜头、微透镜阵列和图像传感器组成,其中微透镜阵列是多个微透镜单元所组成的二维阵列。镜头的光瞳面(UV面)和图像传感器的光敏面(XY面)关于微透镜阵列(ST)成共轭关系,也就是说,镜头经过每个微透镜单元都会投影到图像传感器上形成一个小的微透镜子图像。每个微透镜子图像包含了若干个像素,此时各像素所记录的光线强度就来自于一个微透镜和镜头的一个子孔径区域之间所限制的细光束,如下图。

3c6d9aaa312e2b6ff0f31ceb372cb557.png

031b6a50b28d791762d753d2261f81b1.png

这里的细光束也就是光场的离散采样形式,通过微透镜单元的坐标ST和镜头子孔径的坐标UV即能够确定每个细光束的位置和方向,获得L(u,v,s,t)的分布。

如下图:每个宏像素对应于光场的一个位置采样。宏像素内的每一点对应于光场在该位置的一个方向采样。光场的位置分辨率由采样问隔决定。光场的方向分辨率由每个宏像素内所包含的像元数所决定的。

35929bc0696ebc7d86b2d87d2a484f1f.png

怎么实现数字对焦:正如前面所说,获得相机内的光场分布后,就可以重新选择一个虚拟的像平面,如上图。

可以选择更远或更近的像面位置,计算出所有的光线在这个平面上的交点位置和能量分布,从而就得到了一幅新像面上的图像。这个过程等价于传统相机的调焦过程,只不过是通过数字计算来实现,因而被称为数字调焦。

利用光场相机的数字调焦能力,只需要一次曝光就可以计算出不同像平面位置的图像,能够实现大光圈条件下的快速对焦。更进一步,利用不同深度平面的图像序列,可以完成全景深图像合成、三维深度估计等功能。

六、全息投影技术

全息投影技术是利用干涉和衍射原理记录并再现物体真实的三维图像的记录和再现的技术。

其第一步是利用干涉原理记录物体光波信息,此即拍摄过程:被摄物体在激光辐照下形成漫射式的物光束;另一部分激光作为参考光束射到全息底片上,和物光束叠加产生干涉,把物体光波上各点的位相和振幅转换成在空间上变化的强度,从而利用干涉条纹间的反差和间隔将物体光波的全部信息记录下来。记录着干涉条纹的底片经过显影、定影等处理程序后,便成为一张诺利德全息图,或称全息照片。

其第二步是利用衍射原理再现物体光波信息,这是成象过程:全息图犹如一个复杂的光栅,在相干激光照射下,一张线性记录的正弦型全息图的衍射光波一般可给出两个象,即原始象(又称初始象)和共轭象。再现的图像立体感强,具有真实的视觉效应。全息图的每一部分都记录了物体上各点的光信息,故原则上它的每一部分都能再现原物的整个图像,通过多次曝光还可以在同一张底片上记录多个不同的图像,而且能互不干扰地分别显示出来。

如下图。离轴全息和同轴全息。

b5acbd463495de08e20818993a8d2b78.png

98219d39b0e0b5835346ad6a31717919.png

4a4a06b9c01f13198a67bbe32949e7bd.png

b2076b51911da6ad8aad98abe11a5cf6.png

七、其他补充

这里要解释一下,人们看到的舞台上的立体的效果,不是真正的全息,一般来说,只是一层介质膜,被商家炒概念为全息,只是伪全息。

3231d62a4b301bae7e2546f353776a51.png

eb6f892ae5897def8b28f77c275d5644.png

电影院的3D眼镜和全息更是半毛钱关系也没有,原理是利用了人眼的视差。3D眼镜有:互补色、偏振光、时分式。

d911759d04b5abae785b66b6bdf6a961.png

fad78892da73662b8c1b9f13a2c2da85.png

683f21ad97525fd8635f34f2763e924f.png

AR、VR技术和全息关系也不大。

VR虚拟现实就不说了,只是前期把各个位置各个角度的内容录制合成,后期通过传感器探测人的动作来对应的切换内容。

AR增强现实,如下图分两步,先获取周围世界的三维信息,

311b6af8d4d3f2cf938785ccadef0a59.png

35bfda53375f173000a7ee94d584e0eb.png

AR增强现实,如下图分两步,先获取周围世界的三维信息,再把虚拟的物体添加到上面,获取三维世界的方法一般是:双目、TOF、结构光。

84a74d8414aad7a55747af23e67d395a.png

各种3D眼镜也没有真全息成像技术。

Google Glass:核心器件是:偏振分光棱镜PBS ,和舞台上的效果类似。一层偏振膜来给人三维的感觉。

a2fa38cc6ed8331b0568fc4a4f8e4fad.png

01a6a0aaf35b05e8d88973e217492b4e.png

灵犀科技AR、magic leap 、lumus等核心器件使用:阵列波导,一种光波导,把和偏振分光棱镜类似,增大了视角。

3c30c919fbda6f1e4a0e850037b5da48.png

微软HoloLens的核心器件是:全息波导。注意这里的全息波导只是一种导波器件,不是全息技术。光栅是在波导的表面:光栅衍射导光。

5fa267df5fdafc4a3e021d3dd30334b5.png

好,就到这里。

上面都是本人学习了解过重中整理记录的,水平有限,难免有些不足疏漏错误,还望大佬多多指正。

参考资料:

1、http://www.sohu.com/a/225790894_132567

2、https://blog.csdn.net/qq_28796453/article/details/81154186

3、http://www.elecfans.com/instrument/581578.html

4、https://blog.csdn.net/u013019296/article/details/82718264

5、https://blog.csdn.net/qq_40855366/article/details/81177192

6、https://wenku.baidu.com/view/1c422af6910ef12d2af9e7cc.html

7、https://blog.csdn.net/dgreh/article/details/83096330

8、https://www.jianshu.com/p/b12b4a4a64a3

9、https://blog.csdn.net/lrisfish/article/details/77838690

10、https://blog.csdn.net/sean_xyz/article/details/54631340

11、、https://wenku.baidu.com/view/7512618f3086bceb19e8b8f67c1cfad6185fe960.html?from=search

12、http://mobile.zol.com.cn/669/6691049.html

13、https://blog.csdn.net/electech6/article/details/78349107

14、https://blog.csdn.net/qq_37764129/article/details/81001558

15、https://blog.csdn.net/wenzhilu/article/details/80721743 

16、https://blog.csdn.net/m0_38087936/article/details/81480455

17、https://blog.csdn.net/SIMO518/article/details/82379354

本文仅做学术分享,如有侵权,请联系删文。

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

3D视觉工坊精品课程官网:3dcver.com

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

15.国内首个3D缺陷检测教程:理论、源码与实战

16.基于Open3D的点云处理入门与实战教程

17.透彻理解视觉ORB-SLAM3:理论基础+代码解析+算法改进

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

d472f84205ca8690a9bbf5c04ae5d613.jpeg

▲长按加微信群或投稿,加微信:dddvision

b138ce2a0329d89160faed420c30f28c.jpeg

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定激光/视觉SLAM自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近6000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

94035c5852d4112e136ab6074491cfd2.jpeg

 圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

  • 4
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值