×
嵌入式 > 技术百科 > 详情

全面解析机器视觉成像系统

发布时间:2023-12-25 发布时间:
|

在工业 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、工件定位检测器探测到物体已经运动至接近摄像系统的视野中心,向图像采集部分发送触发脉冲。

2、图像采集部分按照事先设定的程序和延时,分别向摄像机和照明系统发出启动脉冲。

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

4、摄像机开始新的一帧扫描之前打开曝光机构,曝光时间可以事先设定。

5、另一个启动脉冲打开灯光照明,灯光的开启时间应该与摄像机的曝光时间匹配。

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

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

8、图像采集部分将数字图像存放在处理器或计算机的内存中。

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

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

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

机器人视觉系统的主要功能是模拟人眼视觉成像与人脑智能判断和决策功能,采用图像传感技术获取目标对象的信息,通过对图像信息提取、处理并理解,最终用于机器人系统对目标实施测量、检测、识别与定位等任务,或用于机械人自身的伺服控制。

在工业应用领域,最具有代表性的机器人视觉系统就是机器人手眼系统。根据成像单元安装方式不同,机器人手眼系统分为两大类:固定成像眼看手系统(Eye-to-Hand)与随动成像眼在手系统(Eye-in-Hand, or Hand-eye)。


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

有些应用场合,为了更好地发挥机器人手眼系统的性能,充分利用固定成像眼看手系统全局视场和随动成像眼在手系统局部视场高分辨率和高精度的性能,可采用两者混合协同模式,如用固定成像眼看手系统负责机器人的定位,使用随动成像眼在手系统负责机器人的定向;或者利用固定成像眼看手系统估计机器人相对目标的方位,利用随动成像眼在手系统负责目标姿态的高精度估计等。

机器人视觉三维成像方法
3D 视觉成像可分为光学和非光学成像方法。目前应用最多的还是光学方法,其包括:飞行时间法、激光扫描法、激光投影成像、立体视觉成像等。

飞行时间 3D 成像

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

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

扫描 3D 成像

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

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

结构光投影 3D 成像

结构光投影三维成像目前是机器人 3D 视觉感知的主要方式。结构光成像系统是由若干个投影仪和相机组成,常用的结构形式有:单投影仪 - 单相机、单投影仪 - 双相机、单投影仪 - 多相机、单相机 - 双投影仪和单相机 - 多投影仪等。结构光投影三维成像的基本工作原理是:投影仪向目标物体投射特定的结构光照明图案,由相机摄取被目标调制后的图像,再通过图像处理和视觉模型求出目标物体的三维信息。

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

多次投影 3D 具有较高空间分辨率,能有效地解决表面斜率阶跃变化和空洞等问题。不足之处在于:

1)对于连续相移投影方法,3D 重构的精度容易受到投影仪、相机的非线性和环境变化的影响;
2)抗振动性能差,不合适测量连续运动的物体;
3)在 Eye-in-Hand 视觉导引系统中,机械臂不易在连续运动时进行 3D 成像和引导;
4)实时性差,不过随着投影仪投射频率和 CCD/CMOS 图像传感器采集速度的提高,多次投影方法实时 3D 成像的性能也在逐步改进。

对于粗糙表面,结构光可以直接投射到物体表面进行视觉成像;但对于大反射率光滑表面和镜面物体 3D 成像,结构光投影不能直接投射到被成像表面,需要借助镜面偏折法。


偏折法对于复杂面型的测量,通常需要借助多次投影方法,因此具有多次投影方法相同的缺点。另外偏折法对曲率变化大的表面测量有一定的难度,因为条纹偏折后反射角的变化率是被测表面曲率变化率的 2 倍,因此对被测物体表面的曲率变化比较敏感,很容易产生遮挡难题。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
3399元起?我宣布.它才是小米最香新机