锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

机器人视觉三维成像技术全解析

时间:2022-11-17 15:00:00 高分辨率伺服型加速度传感器

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达  


在工业4.0时代,国家智能制造高速发展,传统的编程来执行某一动作的机器人已经难以满足现今的自动化需求。在很多应用场景下,需要为工业机器人安装一双眼睛,即机器人视觉成像感知系统,使机器人具备识别、分析、处理等更高级的功能,可以正确对目标场景的状态进行判断与分析,做到灵活地自行解决发生的问题。

由机器视觉系统组成

从视觉软件到机器视觉行业,有必要全面了解机器视觉系统的组成。

典型的机器视觉系统可分为图像采集、图像处理和运动控制。PC视觉系统由图1所示的几部分组成:

①工业相机和工业镜头——这部分属于成像设备。通常,视觉系统由一个或多个成像系统组成。如果有多个相机,图像卡可以切换以获取图像数据或同步控制以获取多个相机通道的数据。根据应用程序的需要,相机可能是输出标准的单色视频(RS-170/CCIR)、复合信号(Y/C)、RGB信号,也可是非标准的逐行扫描信号、线路扫描信号、高分辨率信号等。

②光源作为辅助成像设备,在成像质量和各种形状中往往起着至关重要的作用LED灯、高频荧光灯光纤卤素灯等都容易得到。

传感器-通常以光纤开关和接近开关的形式出现,以判断被测对象的位置和状态,并通知图像传感器正确收集。

④图像采集卡-通常以插入卡的形式安装PC图像采集卡的主要工作是将相机输出的图像输送给计算机主机。它将相机的模拟或数字信号转换为一定格式的图像数据流,可以控制相机的一些参数,如触发信号、曝光/积分时间、快门速度等。图像采集卡通常对不同类型的相机有不同的硬件结构,也有不同的总线形式,如PCI、PCI64、Compact PCI,PC104,ISA等。

⑤PC平台-电脑是一个PC视觉系统的核心是图像数据的处理和大部分的控制逻辑。对于检测类型的应用,通常需要更高的频率CPU,这样可以减少处理时间。同时,为了减少工业电磁、振动、灰尘、温度等的干扰,必须选择工业计算机。

⑥视觉处理软件-机器视觉软件用于处理输入的图像数据,然后通过一定的操作得到结果。输出的结果可能是PASS/FAIL信号、坐标位置、字符串等。常见的机器视觉软件C/C 图像库,ActiveX以图形式出现控件、编程环境等形式,可以是例如,仅用于LCD检测,BGA检测、模板对准等。),也可以是一般目的(包括定位、测量、条码/字符识别、斑点检测等)。

⑦控制单元(包括I/O、运动控制、电平转换单元等。)-一旦视觉软件完成图像分析(除非仅用于监控),则需要与外部单元进行通信,以完成生产过程的控制。简单的控制可以直接使用一些图像采集卡I/O,必须依靠附加的可编程逻辑控制单元/运动控制卡来实现相对复杂的逻辑/运动控制。

机器视觉系统完整的主要工作流程如下:

1.工件定位检测器检测到物体已移动到接近摄像系统的视觉中心,并将触发脉冲发送到图像采集部分。

根据事先设定的程序和延迟,图像采集部分向相机和照明系统发出启动脉冲。

3.相机停止目前的扫描,重新开始新的帧扫描,或者相机在启动脉冲到之前处于等待状态,启动脉冲到达后启动帧扫描。

4.在开始新帧扫描之前,打开曝光机构,可以提前设定曝光时间。

5.另一个启动脉冲打开照明,照明的开启时间应与相机的曝光时间相匹配。

6.相机曝光后,一帧图像的扫描和输出正式开始。

7.图像采集部分通过模拟视频信号接收模拟视频信号A/D数字化,或直接接收摄像机数字化后的数字视频数据。

将数字图像存储在处理器或计算机的内存中。

处理器处理、分析和识别图像,以获得测量结果或逻辑控制值。

处理结果控制流水线的动作,定位,纠正运动误差等。

机器人视觉成像的结构形式

机器人视觉系统的主要功能是模拟人眼视觉成像和人脑智能判断和决策功能,利用图像传感技术获取目标对象信息,最终用于机器人系统测量、测试、识别和定位目标,或机器人自身的伺服控制。

在工业应用领域,最具代表性的机器人视觉系统是机器人手眼系统。根据成像单元的不同安装方法,机器人手眼系统分为固定成像手眼系统两类(Eye-to-Hand)手系统中的随动成像眼(Eye-in-Hand, or Hand-eye),如下图2所示。

图 2 两种机器人手眼系统的结构形式

(a)手机器人系统,(b)看看手机器人系统

在某些应用程序中,为了更好地发挥机器人手眼系统的性能,充分利用固定成像手眼系统的全球视随动成像手眼系统局部视野的高分辨率和高精度性能,可以采用两种混合协作模式,如固定成像手眼系统负责机器人的定位,或使用固定成像手眼系统估计机器人的相对目标,如图3所示,随动成像眼在手系统负责目标姿态的高精度估计。

图 3 机器人协同视觉系统原理图

机器人视觉三维成像方法

3D视觉成像可分为光学和非光学成像。目前,光学方法应用最广泛,包括飞行时间法、激光扫描法、激光投影成像、立体视觉成像等。

飞行时间3D成像

飞行时间(TOF)相机的每个像素都利用光飞行的时差来获得物体的深度。目前,飞行时间阵列相机已经有商业产品,如飞行时间阵列相机Mesa Imaging AG SR-4000, PMD Technologies Cam Cube 3.0,微软Kinect V2等。

TOF大视野、远距离、低精度、低成本的成像D图像采集具有检测速度快、视野大、工作距离长、价格低等特点,但精度低,易受环境光的干扰。Camcueb3.0具有可靠的深度精度(<3mm @ 4m),每个像素对应一个3D数据。

扫描3D成像

扫描3D成像方法可分为扫描测距、主动三角法和色散共焦法。扫描测距是使用一个准直光束通过1D测距扫描整个目标表面D测量。基于三角测量原理,采用准直光束、一个或多个平面光束扫描目标表面D成像,如图4所示。色散共焦通过分析反射光束的光谱,获得对应光谱光的聚集位置, 如图5所示。

图 4 线结构光扫描三维点云生成示意图

图 5 色散共焦扫描三维成像图

扫描3D测量精度高是成像的最大优点。其中,色散共焦法具有其它方法无法比拟的优点,如非常适合测量透明物体、高反应和光滑表面的物体。但缺点是速度慢、效率低;用于机械手臂末端时,可实现高精度3D但不适合机械臂实时3D指导和定位,因此应用场合有限。此外,主动三角扫描在测量复杂结构面形时容易堵塞,需要通过合理规划终端路径和姿

结构光投影3D成像

结构光投影三维成像目前是机器人3D视觉感知的主要方式。结构光成像系统由多个投影仪和相机组成。常见的结构形式有:单投影仪-单相机、单投影仪-双相机、单投影仪-多相机、单相机-双投影仪和单相机-多投影仪。结构光投影三维成像的基本工作原理是:投影仪将特定的结构光照明图案投射到目标对象中,摄像摄取目标调制的图像,然后通过图像处理和视觉模型找到目标对象的三维信息。

结构光投影三维成像根据结构光投影次数可分为单次投影3D和多次投影3D方法。单次投影3D主要采用空间复用编码和频率复用编码的形式。由于单次投影曝光和成像时间短,抗振动性好,适合运动物体3D成像,如机器人实时运动指导,手眼机器人抓取生产线上的连续运动产品。但深度垂直方向的空间分辨率受目标视场、镜头倍率、相机像素等因素的影响,大视场不易提高。

多次投影3D空间分辨率高,能有效解决表面斜率阶跃变化和空洞问题。缺点是:

1)连续相移投影方法3D投影仪和相机的非线性和环境变化容易影响重构精度;

2)抗振动性差,连续运动物体不适合测量;

3)在Eye-in-Hand在视觉引导系统中,机械臂在连续运动时不易进行3D成像与指导;

4)实时性差,但随着投影仪的投影频率和CCD/CMOS图像传感器采集速度的提高,多投影方法实时3D成像性能也在逐步提高。

对于粗糙的表面,结构光可以直接投射到物体表面进行视觉成像;但对于光滑的表面和镜面物体3D在镜面偏折法的帮助下,结构光投影不能直接投射到成像表面。

对于复杂表面类型的测量,偏差法通常需要多种投影方法,因此具有多种投影方法相同的缺点。此外,偏差法很难测量曲率变化较大的表面,因为条纹偏差后反射角的变化率是测量表面曲率变化率的两倍,因此对测量对象表面的曲率变化更敏感,容易产生堵塞问题。

立体视觉3D成像

立体视觉字面意思是用一个眼睛或两只眼睛感知三维结构,一般情况下是指从不同的视点获取两幅或多幅图像重构目标物体3D结构或深度信息,如图6所示。

图6  立体视觉三维成像示意图

立体视觉可分为被动和主动两种形式。被动视觉成像只依赖相机接收到的由目标场景产生的光辐射信息,该辐射信息通过2D图像像素灰度值进行度量。被动视觉常用于特定条件下的3D成像场合,如室内、目标场景光辐射动态范围不大和无遮挡;场景表面非光滑,且纹理清晰,容易通过立体匹配寻找匹配点;或者像大多数工业零部件,几何规则明显,控制点比较容易确定等。

主动立体视觉是利用光调制(如编码结构光、激光调制等)照射目标场景,对目标场景表面的点进行编码标记,然后对获取的场景图像进行解码,以便可靠地求得图像之间的匹配点,再通过三角法求解场景的3D结构。主动立体视觉的优点是抗干扰性能强、对环境要求不高(如通过带通滤波消除环境光干扰),3D测量精度、重复性和可靠性高;缺点是对于结构复杂的场景容易产生遮挡问题。

基于结构光测量技术和3D物体识别技术开发的机器人3D视觉引导系统,可对较大测量深度范围内散乱堆放的零件进行全自由的定位和拾取。相比传统的2D视觉定位方式只能对固定深度零件进行识别且只能获取零件的部分自由度的位置信息,具有更高的应用柔性和更大的检测范围。可为机床上下料、零件分拣、码垛堆叠等工业问题提供有效的自动化解决方案。

机器视觉3D引导系统框架


3D重建和识别技术

通过自主开发的3D扫描仪可获准确并且快速地获取场景的点云图像,通过3D识别算法,可实现在对点云图中的多种目标物体进行识别和位姿估计。

3D重建和识别效率

多种材质识别效果测试 

得益于健壮的重建算法和识别算法,可对不同材质的零件进行稳定的重建和识别,即便是反光比较严重的铝材料及黑色零件都能获得较好的重建和识别效果,可适用于广泛的工业场景。

机器人路径规划

并不是获得零件的位姿信息后就能马上进行零件的拾取,这仅仅只是第一步,要成功拾取零件还需要完成以下几件事:

自主开发的机器人轨迹规划算法,可轻松完成上述工作,保证机器人拾取零件过程稳定可靠。

快速切换拾取对象

只需要四个简单的操作即可实现拾取对象的快速切换,无需进行复杂的工装、产线的调整。

性能比较

1. 类似于飞行时间相机、光场相机这类的相机,可以归类为单相机3D成像范围,它们体积小,实时性好,适合随动成像眼在手系统执行3D测量、定位和实时引导。但是,飞行时间相机、光场相机短期内还难以用来构建普通的随动成像眼在手系统,主要原因如下:

1)飞行时间相机空间分辨率和3D精度低,不适合高精度测量、定位与引导。

2)对于光场相机,目前商业化的工业级产品只有为数不多的几家,如德国Raytrix,虽然性能较好,空间分率和精度适中,但价格贵,使用成本太高。

图 7  随动成像眼在手系统机器人3D视觉成像优选方案

2. 结构光投影3D系统,精度和成本适中,有相当好的应用市场前景。它由若干个相机-投影仪组成的,如果把投影仪当作一个逆向的相机,可以认为该系统是一个双目或多目3D三角测量系统。

3. 被动立体视觉3D成像,目前在工业领域也得到较好应用,但应用场合有限。因为单目立体视觉实现有难度,双目和多目立体视觉要求目标物体纹理或几何特征清晰。

4. 结构光投影3D、双目立体视觉3D都存在下列缺点:体积较大,容易产生遮挡。针对这个问题虽然可以增加投影仪或相机覆盖被遮挡的区域,但会增加成像系统的体积,减少在Eye-in-Hand系统中应用的灵活性。

总结

虽然光学3D视觉成像测量方法种类繁多,但能够安装在工业机器人上,组成一种合适的随动成像眼在手系统,对位置变动的目标执行3D成像测量、引导机器人手臂准确定位和实施精准操作的方法有限。因为从工业应用的角度来说,我们更关心的是3D视觉传感器的精度、速度、体积与重量。

鉴于机器人末端能够承受的端载荷有限,允许传感器占用的空间有限,传感器在满足成像精度的条件下,重量越轻体积越小也就越实用。所以,对于随动成像眼在手系统,最佳3D成像方法是采用被动单目(单相机)3D成像方法,这样不仅体积小、重量轻,也解决了双目和多目多视图遮挡难题。

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲

在「小白学视觉」公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲

在「小白学视觉」公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章