机器人视觉梳理(上)
原创 | 文 BFT机器人
01 机器人视觉的概念
在智能制造过程中,通过传统的编程来执行某一特定动作的机器人(机械手、机械手臂、机械臂等,未作特殊说明时,不作严格区分,统一称为机器人),将难以满足制造业向前发展的需求。
(资料图片)
很多应用场合下,需要为工业机器人安装一双眼睛,即机器视觉成像感知系统,使机器人具备识别、分析、处理等更高级的功能。
这在高度自动化的大规模生产中非常重要,只有当工业机器人具有视觉成像感知系统,具备观察目标场景的能力时,才能正确地对目标场景的状态进行判断与分析,做到智能化灵活地自行解决发生的问题。在工业应用领域,最具有代表性的机器人视觉系统就是机器人手眼系统。根据成像单元安装方式不同,机器人手眼系统分为两类:固定成像单元眼看手系统(Eye-to-Hand)和随动成像单元眼在手系统(Eye-in-Hand or Hand-Eye)。
在Eye-to-Hand系统中,视觉成像单元安装在机器人本体外的固定位置,在机器人工作过程中不随机器人一起运动,当机器人或目标运动到机械臂可操作的范围时,机械臂在视觉感知信息的反馈控制下,向目标移动,对目标进行精准操控。Eye-to-Hand系统的优点是具有全局视场,标定与控制简单、抗震性能好、姿态估计稳定等,但也存在分辨率低、容易产生遮挡问题等缺点。
在Eye-in-Hand系统中,成像单元安装在机器人手臂末端,随机器人一起运动。Eye-in-Hand系统常用在有限视场内操控目标,不会像 Eye-to-Hand系统那样产生机械臂遮挡成像视场问题,空间分辨率高,对于基于图像的视觉控制,成像单元模型参数的标定误差可以被有效地克服,对标定的精度要求不高。
图:两种机器人手眼系统的结构形式(a)眼在手机器人系统(b)眼看手机器人系统
有些应用场合,为了更好地发挥机器人手眼系统的性能,充分利用 Eye-to-Hand系统全局视场和Eye-in-Hand局部视场高分辨率和高精度的性能,可采用两者混合协同模式。
利用 Eye-to-Hand系统负责机器人的定位,利用Eye-in-Hand系统负责机器人的定向;或者利用 Eye-to-Hand计机器人相对目标的方位,利用 Eye-in-Hand负责目标姿态的高精度估计等。
图:机器人协同视觉系统原理
02 机器人视觉发展路径:从2D到3D
视觉成像最初是从二维(2D)图像处理与理解,即2D视觉成像发展起来的。
2D视觉技术主要根据灰度或彩色图像中的像素灰度特征获取目标中的有用信息,以及基于轮廓的图案匹配驱动,识别物体的纹理、形状、位置、尺寸和方向等。2D视觉技术距今已发展了30余年,在自动化和产品质量控制过程中得到广泛应用,目前技术较为成熟,主要用于字符与条码识读、标签验证、形状与位置测量、表面特征检测等。
2D视觉技术难以实现三维高精度测量与定位,二维形状测量的一致性和稳定性也较差,易受照明条件等影响。
尤其当前智能制造技术对机器人视觉性能的要求越来越高,2D机器视觉技术的局限性已经显现,机器人视觉系统集成商已经发现越来越难以通过2D机器视觉系统来增值,迫切需要发展三维(3D)视觉技术,因为3D视觉技术能够产生2D视觉无法产生的形状或深度信息,因此使用范围更广。
当前,机器人视觉成像技术及系统正越来越广泛地应用于视觉测量、检测、识别、引导和自动化装配领域中。
虽然很多机器人具备一定程度的智能化,但还远未达到人类所需的智能化程度,一个重要原因是机器人视觉感知系统中还有许多科学问题、关键应用技术问题等,仍亟待解决。
如:1)如何使机器人像人那样,对客观世界的三维场景进行感知、识别和理解;
2)哪些三维视觉感知原理可以对场景目标进行快速和高精度的三维测量,并且基于该原理的三维视觉传感器具有小体积、低成本,方便嵌入到机器人系统中;
3)基于三维视觉系统获得的三维场景目标信息,如何有效地自组织自身的识别算法,准确、实时地识别出目标;4)如何通过视觉感知和自学习算法,使机器人像人那样具有自主适应环境的能力,自动地完成人类赋予的任务等。
03 机器人3D视觉方案
3D视觉是机器人感知的最先进、最重要的方法,可以分为光学和非光学成像方法。目前应用最多的方法是光学方法,包括:飞行时间法、结构光法、激光扫描法、莫尔条纹法、激光散斑法、干涉法、照相测量法、激光跟踪法、从运动获得形状、从阴影获得形状,以及其他的 Shape from X等。本次介绍几种典型方案。
1.飞行时间3D成像
飞行时间(TOF)相机的每个像素利用光飞行的时间差来获取物体的深度。
直接TOF(D-TOF)是经典的TOF测量方法,探测器系统在发射光脉冲的同时启动探测接收单元进行计时,当探测器接收到目标发出的光回波时,探测器直接存储往返时间,目标距离可以通过简单公式计算:z=0.5*c*t,c是光速,t是光飞行时间。D-TOF通常用于单点测距系统,为了实现面积范围3D成像,通常需要采用扫描技术。无扫描 TOF三维成像技术直到近几年才实现,因为在像素级实现亚纳秒电子计时是非常困难的。
间接TOF(I-TOF)与D-TOF不同,时间往返行程是从光强度的时间选通测量中间接外推获得的。I-TOF不需要精确的计时,而是采用时间选通光子计数器或电荷积分器,它们可以在像素级实现。I-TOF是目前基于 TOF相机的电子和光混合器的商用化解决方案。
图:TOF成像原理
TOF成像可用于大视野、远距离、低精度、低成本的3D图像采集。其特点是:检测速度快、视野范围较大、工作距离远、价格便宜,但精度低,易受环境光的干扰。
2.扫描3D成像
扫描3D成像方法可分为扫描测距、主动三角法、色散共焦法等。
扫描测距是利用一条准直光束通过一维测距扫描整个目标表面实现3D测量。典型扫描测距方法有:
1)单点飞行时间法,如连续波频率调制(FM-CW)测距、脉冲测距(激光雷达)等;
2)激光散射干涉法,如基于多波长干涉、全息干涉、白光干涉、散斑干涉等原理的干涉仪;
3)共焦法,如色散共焦、自聚焦等。单点测距扫描3D方法中,单点飞行时间法适合远距离扫描,测量精度较低,一般在毫米量级。
其他几种单点扫描方法有:单点激光干涉法、共焦法和单点激光主动三角法,测量精度较高,但前者对环境要求高;线扫描精度适中,效率高。比较适合于机械手臂末端执行3D测量的应是主动激光三角法和色散共焦法。
主动三角法是基于三角测量原理,利用准直光束、一条或多条平面光束扫描目标表面完成3D测量的。光束常采用以下方式获得:激光准直、圆柱或二次曲面柱形棱角扩束,非相干光(如白光、LED光源)通过小孔、狭缝(光栅)投影或相干光衍射等。主动三角法可分为三种类型:单点扫描、单线扫描和多线扫描。如图,从左至右依次是单点扫描、单线扫描和多线扫描。
图:主动三角法扫描成像
色散共焦法可以扫描测量粗糙和光滑的不透明和透明物体,如反射镜面、透明玻璃面等,目前在手机盖板三维检测等领域广受欢迎。色散共焦扫描有三种类型:单点一维绝对测距扫描、多点阵列扫描和连续线扫描,下图分别列出了绝对测距和连续线扫描两类示例,其中连续线扫描也是一种阵列扫描,只是阵列的点阵更多、更密集。
图:两种色散共焦单点测距方法(a)基于小孔和分光镜的结构;(b)基于Y型光纤分光的结构
图:两种色散共焦线扫描成像方案(a)色散共焦显微镜;(b)色散共焦三角法
扫描3D成像的最大优点是测量精度高,其中色散共焦法还有其他方法难以比拟的优点,即非常适合测量透明物体、高反与光滑表面的物体。
但缺点是速度慢、效率低;当用于机械手臂末端时,可实现高精度3D测量,但不适合机械手臂实时3D引导与定位,因此应用场合有限;另外主动三角扫描在测量复杂结构形貌时容易产生遮挡,需要通过合理规划末端路径与姿态来解决。
3.结构光投影3D成像
结构光投影三维成像目前是机器人3D视觉感知的主要方式,结构光成像系统是由若干个投影仪和相机组成,常用的结构形式有:单投影仪-单相机、单投影仪-双相机、单投影仪-多相机、单相机-双投影仪和单相机-多投影仪等典型结构形式。
结构光投影三维成像的基本工作原理是:投影仪向目标物体投射特定的结构光照明图案,由相机摄取被目标调制后的图像,再通过图像处理和视觉模型求出目标物体的三维信息。根据结构光投影次数划分,结构光投影三维成像可以分成单次投影3D和多次投影3D方法。
单次投影结构光主要采用空间复用编码和频率复用编码形式实现,目前在机器人手眼系统应用中,对于三维测量精度要求不高的场合,如码垛、拆垛、三维抓取等,比较受欢迎的是投射伪随机斑点获得目标三维信息,其3D成像原理如图。
图:单次投影结构光3D成像原理
多次投影结构光主要采用时间复用编码方式实现。条纹投影3D成像基本原理如图,利用计算机生成结构光图案或用特殊的光学装置产生结构光,经过光学投影系统投射至被测物体表面,然后采用图像获取设备(如CCD或 CMOS相机)采集被物体表面调制后发生变形的结构光图像,利用图像处理算法计算图像中每个像素点与物体轮廓上点的一一对应关系;最后通过系统结构模型及其标定技术,计算得到被测物体的三维轮廓信息。在实际应用中,常采用格雷码投影、正弦相移条纹投影或格雷码+正弦相移混合投影3D技术。
图:多次投影3D成像(a)多次投影3D系统机构示意图;(b)二进制格雷码投影3D基本原理;(c)二进制格雷码+正弦相移混合编码投影3D
偏折法成像:对于粗糙表面,结构光可以直接投射到物体表面进行视觉成像测量;但对于大反射率光滑表面和镜面物体3D测量,结构光投影不能直接投射到被测表面,3D测量还需要借助镜面偏折技术。
图:偏折法成像原理
4.立体视觉3D成像
立体视觉字面意思是用一只眼睛或两只眼睛感知三维结构,一般情况下是指从不同的视点获取两幅或多幅图像重构目标物体3D结构或深度信息。
目前立体视觉3D可以通过单目视觉、双目视觉、多(目)视觉、光场3D成像(电子复眼或阵列相机)实现。
单目视觉深度感知线索通常有:透视、焦距差异、多视觉成像、覆盖、阴影、运动视差等。在机器人视觉里还可以用镜像,以及其他shape from X等方法实现。
双目视觉深度感知视觉线索有:眼睛的收敛位置和双目视差。在机器视觉里利用两个相机从两个视点对同一个目标场景获取两个视点图像,再计算两个视点图像中同名点的视差获得目标场景的3D深度信息。典型的双目立体视觉计算过程包含下面四个步骤:图像畸变矫正、立体图像对校正、图像配准和三角法重投影视差图计算。
图:双目立体视觉系统与计算过程示意图
多(目)视觉成像,也称多视点立体成像,用单个或多个相机从多个视点获取同一个目标场景的多幅图像,重构目标场景的三维信息。多视点立体成像主要用于下列几种场景:
1)使用多个相机从不同视点,获取同一个目标场景多幅图像,然后基于特征的立体重构等算法求取场景深度和空间结构信息;
2)从运动恢复形状的技术。使用同一相机在其内参数不变的条件下,从不同视点获取多幅图像,重构目标场景的三维信息。该技术常用于跟踪目标场景中大量的控制点,连续恢复场景的3D结构信息、相机的姿态和位置。
光场3D成像的原理与传统CCD和CMOS相机成像原理在结构原理上有所差异,传统相机成像是光线穿过镜头在后续的成像平面上直接成像,一般是2D图像。光场相机的优点是:单个相机可以进行3D成像,横向和深度方向的空间分辨率可以达到20μm到mm 量级,景深比普通相机大好几倍,比较适合Eye-in-Hand系统3D测量与引导,但目前精度适中的商业化光场相机价格昂贵。
图:光场相机成像与传统相机成像对比(a)传统相机成像原理;(b)光场相机结构与成像原理
编辑:BFT机器人
更多精彩内容请关注公众号:BFT机器人本文为原创文章,版权归BFT机器人所有,如需转载请与我们联系。若您对该文章内容有任何疑问,请与我们联系,将及时回应。