1. 引言
随着我国经济实力的快速发展,由于人们对于纺织品的需求在不断上升,劳动力紧缺和劳动力成本的提升使得企业进行自动化,智能化转型。某企业主要生产电子提花机中起到绣花作用的某关键组件 [1] ,一直以来,基本上都是人工进行装配此组件,为了解放劳动力提高生产效率,该企业近期选择了通过智能制造来实现零件的自动化装配目的 [2] 。21世纪初,机器视觉技术在我国发展迅速,进入工业4.0时代,机器视觉技术在智能制造行业愈发重要。机器视觉可以利用机器来代替人眼做测量和判断,通过机器对目标的选取和拍摄,进而转化成图像信息传送给图像处理系统,机器进一步将图像信息依据像素分布、颜色等一些其他信息,转变成数字信息。对这些信号进行各种运算来确定目标特征,加工机器根据判断结果来进行各种操作。
双目视觉技术是机器视觉领域的一个重要分支,双目视觉技术在物体运动参数识别上也有诸多应用案例:Narayan Murmu等利用单摄像机和两面镜子,采用SIFT,SURF方法识别场景中移动的物体,找到目标点并测得距离以后使用三维坐标测速,是一种低成本的视觉测速方法 [3] ;刘峰伯使用OpenCV视觉库,通过三维重建和帧间差法测速,根据特征点提取算法和立体匹配算法的不同,组成了3种测量方案,最后通过卡尔曼滤波器实现对目标较为精确的测速 [4] ;吴勇等建立了一种机器视觉系统,该系统通过双目视觉三维测量原理检测目标的位姿状态,从而实时监控和跟踪运动目标,达到对运动目标的三维信息动态监测 [5] 。
2. 双目视觉系统及其标定
2.1. 双目视觉原理
双目视觉就像人的另一只眼,因为双目都会对同一个目标会形成视觉差异,从而能够更清晰的认识三维的事物。所以,现代电子计算机基于这种原理,一般使用双目视觉法以确定认识对象的目的,其中双眼视是利用测量二只相机间的视野差距以确定三维事物 [6] 。一种基本的双眼立体视方法示意图如图1显示。
OL和OR是二个摄像头的相对位置,然后P就是镜头拍摄的目标点,而连接二个摄像头的投影中心线的距离就是基线b,三个空间中任何一个P在左拍照机的图片点为PL,在右拍照机的图片点为PR。然后按照光的直线传播原理可得,三维空间中点P就是二个摄像头的投射中心点和图像焦点连线的交叉点。如果线段L和R分别为右摄像头成像点到左图像面的间距,那么左摄像头视差的点P就可定义如下:
(1)
两个成像点PL、PR之间的距离为:
(2)
根据相似三角形理论可以求得:
(3)
最后可以得出点P到投影中心平面的距离Z:
(4)
假设一个点P在三维空间中运动时,则一点P在左右相摄像机上的位移也就会产生变化,这样,视差的值就会相应地产生变化,而根据以上公式可得,视差值和一个点在三维空间中运动与投影中心水平之间的间距相反比。所以,如果能够得到某点的视差,就能够得到某点的深度信号。
2.2. 双目视觉系统标定实验
因为相机镜头在生产制作和使用过程中受多种各种因素的限制,所以在实际使用时,不具有完整的线性相机造型,因此就容易出现一些失真,而调整镜头的内部系数以减少失真的方法主要是镜头校准的过程 [7] 。我们将使用张正友标准法,对搭建的视觉控制系统加以校准。在本篇实验中通过十六组不同位置下的围盘标准板图,对倾斜度开展了标定试验,实验过程如图2所显示:

Figure 2. Camera calibration experiment diagram
图2. 相机标定实验图
先对单目照相机进行标定,接着再对双眼照相机进行标定,并由此得出了左、右镜头之间的相对位置。双目照相机的标定结果如表1所述,而左、右双镜头的相对位置则如表2所述。

Table 1. Left and right camera internal parameters
表1. 左右相机内部参数

Table 2. Relative position of the left and right cameras
表2. 左右相机相对位置
经过对比左、右照相机的实际测定的标准误差后,左、右照相机设置的实际水平间隙均为6.7 cm,实际校准数据均为6.64 cm。使用图1、表2比较了实际的主要参数和标准分布数据,发现标准的偏差较小,所以该相机能够达到后期三维重建的精度要求。
3. 特征描述子模板匹配与目标识别
3.1. 特征点提取
ORB是Oriented Fast and Rotated Brief的简称,它可以用来快速创建特征矢量来识别图像中的关键点 [8] 。本文采用RUBLEE E等人在ICCV2011上提出的ORB算法。因为ORB方法并没有尺寸不变特性以描述模板匹配的结果,而且尺寸变种人也会干扰其数据匹配的正确性,所以对于ORB方法也需要加以完善并且改良,因此本文首先探索了一个使用带有尺寸不变化的BRIEF特征描述子和ORB方法数据检测子组合的特征匹配技术,之后再使用RANSAC方法迭代剔除误匹配。具体的计算公式如下:
1) 对于一个小的图像块B中,定义图像块的矩为:
(5)
2) 通过矩可以确定图像块的质心:
(6)
3) 把图像块的几何原点O和质心C互相连通,就得出了方向矢量−,从而以可确定特征点的位置为如下方程:
(7)
通过使用此算法,将能够克服了Oriented FAST关键点中缺乏选择性和大尺度不变性的困难,同时也能够显著的增加了关键点的鲁棒性。
3.2. BRIEF描述子
通过ORB算法对图像进行特性点后,我们就必须以一种方法来定义这个特性点的属性。而这种属性的输出就叫做对该特性点的定义子。ORB通过BRIEF算子来估计一些特征点的描述子。BRIEF运算的核心是在要点P的附近以特定模式选择N个点对,并将这N个点对的比较结果综合出来成为描述子 [9] ,BRIEF具体步骤如下:
1) 建立一个关键点P为中心,以d为半径做圆O。
2) 在圆O中任意选取N个点对。为了方便说明,N = 4,实际应用中N可以取512。
3) 假设当前选定的四个点,对如上图所示的标记均为:
可以将其描述向量定义为:
(8)
3.3. 基于特征描述子目标识别实验
对零件中进行翻转,偏斜,遮挡,过暗或过亮等复杂背景下的情况的目标进行了匹配试验,并记下匹配进行的日期、以及对应的关键点数目(表3)。目标实验设置的六副样本如图3所显示。

Table 3. Figure 3 pairing time and matching points of each sample experiment
表3. 图3各个样本实验的配对时间、匹配点数
通过实验数结果我们发现,通过我们设计的目标识别算法,能够高效的把各种姿态,不同条件下的目标对象辨识出来,通过RANSAC方法进行误匹配消除后,能够有效减少了匹配距离,减少了匹配错误率。
4. 立体匹配与三维重建
4.1. 双目视觉系统立体匹配
目前最常见的生物相似性识别算法标准有SAD,SSD和NCC。从计算的复杂程度以及对硬件支持的困难度上考虑,由于SSD和NCC计算耗时量都很大,所以不符合实际的操作条件,所以本文采用了SAD算法 [10] 。SAD算法表达式是:
(9)
其中:d代表在左相机窗口内拍摄的画面上外极线所移动的长度,为视差值:L、R则代表所输入的二幅画面的灰度差值。为进一步提高本文研究的立体匹配的精确性和效果,将采用了如下措施:
1) 将通过模板匹配识别的目标物体所在的区域设定为ROI区,只将此区域和其它图像物体进行了立体匹配;
2) 为减少背景信息带来的影响因素,可以使用canny边缘检测算法 [6] [11] ,获取需要研究的目标轮廓信息;
3) 在进行检索时,可以给出一个合适的视差搜索范围,约束零点搜索,如式(10)所示。
(10)
我们将采用图3作为试验模版,并通过立体匹配以获取高视差图像恢复及其深度信号。实验结如图4所示。
(a) canny边缘轮廓图
(b) 彩色视差图
(c) 视差图
Figure 4. Stereo matching effect drawings
图4. 立体匹配效果图
4.2. 三维重建及位姿求解实验
通过对上述二个信号的立体匹配并根据双目视觉系统的标定信息,就可以重建出在画面中
所对应的视觉位置
。本文的世界坐标系设置为左相机坐标下,则有
。
为检验该三维重建计算的准确性,选择了对实验模拟图中十个特征节点进行了三维重建,将其重建结果记录了下来并进行误差分析 [12] ,如表4所给出。

Table 4. 3D information of target object (unit: mm)
表4. 目标物体三维信息(单位mm)
从上表实测结果中可知,本文所采用的优化算法准确度较高,深度信息偏差范围在0~4 mm内,符合实验精度要求。
5. 结语
本文建立了一种标准的双目机器视觉控制系统,并采用了张正友标准法对该视野控制系统进行了标准,使用试验数据得出双目照相机的内部技术参数,再结合左、右镜头之间的相应位置数据,来消除相机镜头畸变导致的实验影响。然后,对零件的识别可以采用调整后的ORB + RANSAC特征点的方法。
本文通过实验的方法对于不同情况和不同场景下的障碍物,采用特征的方法,对同一环境的两张图片进行了立体对比,并得到秒差异值,通过秒差异数值和特征点的校准加以结合,可以更精确、高效地对工件加以辨识和定位。通过机器视觉解决上料出现的问题,从而实现低成本完成整个智能制造过程。