一. 前言
传统工业机器视觉中,3D视觉与2D视觉技术的最大区别在于处理的数据类型不同:
2D视觉领域中,主要是处理二维(X,Y)平面图像里的信息(像素的灰度值)—— 像素灰度处理
3D视觉领域中,核心是对3D传感器采集到的三维(X,Y,Z)点云数据进行处理,可对物体进行立体测量,获取物体平面度、高度等信息 —— 点云数据处理
目前市面上的测距方法主要分为两个大类:
被动测量类:单目视觉、双目视觉和多目视觉
主动测量类:结构光法、TOF飞行时间法,激光三角测距法
1、双目立体视觉法(Stereo Vision)
双目立体视觉法的技术原理是通过从两个视点观察同一物体,从而来获得同一物体在不同视角下的图像。通过三角测量原理来计算图像像素间的位置偏差(视差)来获取物体的三维图像,比如把一只手指放在鼻尖前方,左右眼看到手指会有一个错位的效果,这个位置差被称为视差。相机所要拍摄的物体离相机越近,视差越大,离相机越远,视差就越小。由此可以得出,当两个相机的位置等条件已知时,就可以通过计算相似三角形的原理来得出从物体到相机的距离。
2、激光三角传感器原理
3D激光相机利用激光三角反射原理生成点云数据,它由激光发射器、镜头以及感光芯片,如图所示:
在3D相机中,取代光源的是激光发射器,通过复杂的光学系统设计,激光发射器发出一束激光照射到被测物体表面,反射光经过光学透镜组在相机的感光元件表面形成光斑,不同高度的表面反射形成的光斑位置各不相同。如下图所示,当被检测表面偏高时,测量激光光斑位置会右移;反之,如果被检测表面偏低时,测量激光光斑位置会左移。
三维(X,Y,Z)点云数据的获取:一般我们把激光线方向称为X方向,也就是激光照射出来的那条线定义为X轴,高度为Z方向,通过一次静态拍照,我们可以得到X和Z两个方向的数据,Y方向可以通过移动相机或者移动物体,使相机持续不断的拍照,就形成了连续的Y方向数据,最后组合在一起,就是我们所需要的3D点云数据。
优点:精度高、频率高。
3、结构光法(Structured Light)
结构光(Structured light):通常采用特定波长的不可见的红外激光作为光源,它发射出来的光经过一定的编码投影在物体上,通过一定算法来计算返回的编码图案的畸变来得到物体的位置和深度信息。根据编码图案不同一般有散斑结构光、条纹结构光和编码结构光,如下图所示:
结构光法利用光学三角测量原理,分为单目结构光和双目结构光,如图所示以双目结构光为例:
特定波长的Laser发出的结构光照射在物体表面,其反射的光线被带滤波的camera相机接收,滤波片保证只有该波长的光线能为camera所接受。芯片对接收到的光斑图像进行运算,得出物体的深度数据。
4、飞行时间法(Time of Flight)
TOF是Time of Flight的简写,直译为飞行时间的意思。所谓飞行时间法3D成像,是通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到目标物距离,从而获取物体三维轮廓信息。
TOF法根据调制方法的不同,一般可以分为两种:脉冲调制(Pulsed Modulation)和连续波调制(Continuous Wave Modulation)。