3D视觉成像是工业机器人信息感知的一种最重要的方法,可分为光学和非光学成像方法。
目前应用最多的还是光学方法,包括:
飞行时间法、结构光法、激光扫描法、莫尔条纹法、激光散斑法、干涉法、照相测量法、激光跟踪法、从运动获得形状、从阴影获得形状,以及其他的ShapefromX等。
本次介绍几种典型方案。
飞行时间(TOF)相机每个像素利用光飞行的时间差来获取物体的深。
在经典的
TOF测量方法中,探测器系统在发射光脉冲的同时启动探测接收单元进行计时,当探测器接收到目标发出的光回波时,探测器直接存储往返时间。目标距离Z可通过以下简单方程估算:
这种测距方式也称为直接TOF(DTOF),D-TOF通常用于单点测距系统,为了实现面积范围3D成像,通常需要采用扫描技术。
无扫描TOF三维成像技术直到近几年才实现,因为在像素级实现亚纳秒电子计时是非常困难的。
与直接计时的D-TOF不同的方案是间接TOF(I-TOF),时间往返行程是从光强度的时间选通测量中间接外推获得。I-TOF不需要精确的计时,而是采用时间选通光子计数器或电荷积分器,它们可以在像素级实现。I-TOF是目前基于TOF相机的电子和光混合器的商用化解决方案。
TOF成像可用于大视野、远距离、低精度、低成本的3D图像采集。其特点是:检测速度快、视野范围较大、工作距离远、价格便宜,但精度低,易受环境光的干扰。
扫描3D成像方法可分为
扫描测距
、
主动三角法
、
色散共焦法
等。其实,色散共焦法是扫描测距法的一种,考虑到目前在手机、平板显示等制造行业应用比较广泛,在此单独介绍。
扫描测距是利用一条准直光束通过一维测距扫描整个目标表面实现3D测量。典型扫描测距方法有:
1、单点飞行时间法,如连续波频率调制(FM-CW)测距、脉冲测距(激光雷达)等;
2、激光散射干涉法,如基于多波长干涉、全息干涉、白光干涉散斑干涉等原理的干涉仪;
3、共焦法,如色散共焦、自聚焦等。
单点测距扫描3D方法中,单点飞行时间法适合远距离扫描,测量精度较低,一般在毫米量级。其他几种单点扫描方法有:单点激光干涉法、共焦法和单点激光主动三角法,测量精度较高,但前者对环境要求高;线扫描精度适中,效率高。比较适合于机械手臂末端执行3D测量的应是主动激光三角法和色散共焦法。
主动三角法是基于三角测量原理,利用准直光束、一条或多条平面光束扫描目标表面完成3D测量的。
光束常采用以下方式获得:激光准直、圆柱或二次曲面柱形棱角扩束,非相干光(如白光、LED光源)通过小孔、狭缝(光栅)投影或相干光衍射等。
主动三角法可分为三种类型:
单点扫描、单线扫描和多线扫描
。目前商业化的用于机械手臂末端的产品大多数是单点和单线扫描仪。
在多线扫描方法中,条纹极数可靠识别是难点。为了准确识别条纹编号,通常采用两组垂直光平面高速交替成像,这样还可以实现“FlyingTriangulation”扫描,其扫描与三维重构过程如下图所示。多线条投影一次频闪成像产生一幅稀疏3D视图,通过纵横向条纹投影扫描生成若干幅3D视图序列,再通过三维图像准配生成高分辨率的完整致密的三维曲面模型。
色散共焦似乎可以扫描测量粗糙和光滑的不透明和透明物体,如反射镜面、透明玻璃面等,目前在手机盖板三维检测等领域广受欢迎。
色散共焦扫描有三种类型:
单点一维绝对测距扫描、多点阵列扫描和连续线扫描
,下图分别列出了绝对测距和连续线扫描两类示例,其中连续线扫描也是一种阵列扫描,只是阵列的点阵更多、更密集。
在商业产品上,目前较为知名的扫描光谱共焦传感器是法国的STILMPLS180,采用180个阵列点形成一条线,最大线长4.039mm(测量点11.5pm,点与点间距为22.5pm),另一款产品是芬兰的FOCALSPECUULA,采用的是色散共焦三角法技术。
结构光投影三维成像目前是
机器人3D
视觉感知的主要方式,结构光成像系统是由若干个投影仪和相机组成,常用的结构形式有:单投影仪-单相机、单投影仪-双相机、单投影仪-多相机、单相机-双投影仪和单相机-多投影仪等典型结构形式。
结构光投影三维成像的基本工作原理是:
投影仪向目标物体投射特定的结构光照明图案,由相机摄取被目标调制后的图像,再通过图像处理和视觉模型求出目标物体的三维信息
。
常用的投影仪主要有下列几种类型:液晶投影(LCD)、数字光调制投影(DLP:如数字微镜器件(DMD))、激光LED图案直接投影。
根据结构光投影次数划分,结构光投影三维成像可以分成单次投影3D和多次投影3D方法。
单次投影结构光主要采用空间复用编码和频率复用编码形式实现,常用的编码形式有:彩色编码、灰度索引、几何形状编码和随机斑点。
目前在机器人手眼系统应用中,
对于三维测量精度要求不高
的场合,如
码垛、拆垛、三维抓取等
,比较受欢迎的是投射伪随机斑点获得目标三维信息,其3D成像原理如下图所示。
多次投影3D方法主要采用时间复用编码方式实现,常用的图案编码形式有:二进制编码、多频相移编码τ35和混合编码法(如格雷码十相移条纹)等。
条纹投影3D成像基本原理如下图所示,利用计算机生成结构光图案或用特殊的光学装置产生结构光,经过光学投影系统投射至被测物体表面,然后采用图像获取设备(如CCD或CMOS相机)采集被物体表面调制后发生变形的结构光图像,利用图像处理算法计算图像中每个像素点与物体轮廓上点的对应关系;最后通过系统结构模型及其标定技术,计算得到被测物体的三维轮廓信息。
在实际应用中,常采用格雷码投影、正弦相移条纹投影或格雷码十正弦相移混合投影3D技术。
对于粗糙表面,结构光可以直接投射到物体表面进行视觉成像测量;但对于大反射率光滑表面和镜面物体3D测量,结构光投影不能直接投射到被测则表面,3D测量还需要借助镜面偏折技术,如下图所示。
在这种方案中,条纹不是直接投影到被测则轮廓上,而是投射到一个散射屏上,或用液晶显示屏代替散射屏把条纹直接显示出来。相机通过光亮表面折返光路,获取被光亮表面曲率变化调制的条纹信息,然后解算出三维轮廓形貌。
立体视觉字面意思是用一只眼睛或两只眼睛感知三维结构,一般情况下是指从不同的视点获取两幅或多幅图像重构目标物体3D结构或深度信息。
深度感知视觉线索可分为ocularcues和Binocularcues(双目视差)。目前立体视觉3D可以通过单目视觉、双目视觉、多目视觉、光场3D成像(电子复眼或阵列相机)实现。
单目视觉深度感知线索通常有:透视、焦距差异、多视觉成像、覆盖、阴影、运动视差等。在机器人视觉里还可以用镜像1,以及其他shapefromX10等方法实现。
双目视觉深度感知视觉线索有:眼睛的收敛位置和双目视差。在机器视觉里利用两个相机从两个视点对同一个目标场景获取两个视点图像再计算两个视点图像中同名点的视差获得目标场景的3D深度信息。典型的双目立体视觉计算过程包含下面四个步骤:图像畸变矫正、立体图像对校正、图像配准和三角法重投影视差图计算,如下图。
也称多视点立体成像,用单个或多个相机从多个视点获取同一个目标场景的多幅图像,重构目标场景的三维信息。其基本原理如下图所示。