基于OpenCV的提花机零件识别与定位方法研究
Research on the Identification and Positioning Method of Jacquard Machine Parts Based on OpenCV
DOI: 10.12677/DSC.2023.123017, PDF, HTML, XML, 下载: 218  浏览: 390 
作者: 李 垚, 李浩铭:武汉纺织大学艺术与设计学院,湖北 武汉;黄 攀:武汉纺织大学机械与自动化学院,湖北 武汉
关键词: OpenCV双目视觉ORBRANSACOpenCV Binocular Vision ORB RANSAC
摘要: 本文根据某公司制造的提花机零部件,在智能装配上料过程出现了翻转、遮挡、偏斜和复杂背景等问题,对基于OpenCV双目立体视觉零件的辨识和定位展开了深入研究。在本文中建立了双眼视觉系统模型,然后完成了对双目视觉控制系统的校准,并获得了照相机的内部参量、相应位置和失真比率等参数。然后在ORB特性提取计算结果的基础上,又提出了ORB + RANSAC特性匹配计算,通过选择正误匹配,并通过立体匹配获得视差图,并根据校准计算结果对工具实现了三维重构。实验结果表明本文使用的改进ORB + RANSC属性匹配计算,可以更精确、高效地对工件加以辨识和定位。
Abstract: In this paper, according to the parts of jacquard machine manufactured by a company, there are problems such as turning, blocking, skew and complex background in the intelligent assembly loading process, and the identification and positioning of the parts based on binocular stereo vision based on OpenCV are deeply studied. In this paper, the binocular vision system model is established, and then the binocular vision control system is calibrated, and the internal parameters, corresponding positions and distortion ratio of the camera are obtained. Then, on the basis of the ORB feature extraction calculation results, the ORB + RANSAC feature matching calculation was proposed, and the parallax map was obtained by selecting the right and wrong matching and stereo matching, and three-dimensional reconstruction of the tool was realized according to the calibration results. The experimental results show that the improved ORB + RANSC attribute matching calculation used in this paper can identify and locate the workpiece more accurately and efficiently.
文章引用:李垚, 黄攀, 李浩铭. 基于OpenCV的提花机零件识别与定位方法研究[J]. 动力系统与控制, 2023, 12(3): 157-164. https://doi.org/10.12677/DSC.2023.123017

1. 引言

随着我国经济实力的快速发展,由于人们对于纺织品的需求在不断上升,劳动力紧缺和劳动力成本的提升使得企业进行自动化,智能化转型。某企业主要生产电子提花机中起到绣花作用的某关键组件 [1] ,一直以来,基本上都是人工进行装配此组件,为了解放劳动力提高生产效率,该企业近期选择了通过智能制造来实现零件的自动化装配目的 [2] 。21世纪初,机器视觉技术在我国发展迅速,进入工业4.0时代,机器视觉技术在智能制造行业愈发重要。机器视觉可以利用机器来代替人眼做测量和判断,通过机器对目标的选取和拍摄,进而转化成图像信息传送给图像处理系统,机器进一步将图像信息依据像素分布、颜色等一些其他信息,转变成数字信息。对这些信号进行各种运算来确定目标特征,加工机器根据判断结果来进行各种操作。

双目视觉技术是机器视觉领域的一个重要分支,双目视觉技术在物体运动参数识别上也有诸多应用案例:Narayan Murmu等利用单摄像机和两面镜子,采用SIFT,SURF方法识别场景中移动的物体,找到目标点并测得距离以后使用三维坐标测速,是一种低成本的视觉测速方法 [3] ;刘峰伯使用OpenCV视觉库,通过三维重建和帧间差法测速,根据特征点提取算法和立体匹配算法的不同,组成了3种测量方案,最后通过卡尔曼滤波器实现对目标较为精确的测速 [4] ;吴勇等建立了一种机器视觉系统,该系统通过双目视觉三维测量原理检测目标的位姿状态,从而实时监控和跟踪运动目标,达到对运动目标的三维信息动态监测 [5] 。

2. 双目视觉系统及其标定

2.1. 双目视觉原理

双目视觉就像人的另一只眼,因为双目都会对同一个目标会形成视觉差异,从而能够更清晰的认识三维的事物。所以,现代电子计算机基于这种原理,一般使用双目视觉法以确定认识对象的目的,其中双眼视是利用测量二只相机间的视野差距以确定三维事物 [6] 。一种基本的双眼立体视方法示意图如图1显示。

Figure 1. Binocular vision schematic

图1. 双目视觉原理图

OL和OR是二个摄像头的相对位置,然后P就是镜头拍摄的目标点,而连接二个摄像头的投影中心线的距离就是基线b,三个空间中任何一个P在左拍照机的图片点为PL,在右拍照机的图片点为PR。然后按照光的直线传播原理可得,三维空间中点P就是二个摄像头的投射中心点和图像焦点连线的交叉点。如果线段L和R分别为右摄像头成像点到左图像面的间距,那么左摄像头视差的点P就可定义如下:

d = | x L x R | (1)

两个成像点PL、PR之间的距离为:

P L P R = b ( x L L 2 ) ( L 2 x R ) = b ( x L x R ) (2)

根据相似三角形理论可以求得:

b ( x L x R ) z f = b z (3)

最后可以得出点P到投影中心平面的距离Z:

Z = b * f x L x R (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中,定义图像块的矩为:

m p q = x , y B x p y q I ( x , y ) , p , q = { 0 , 1 } (5)

2) 通过矩可以确定图像块的质心:

C = ( m 10 m 00 , m 01 m 00 ) (6)

3) 把图像块的几何原点O和质心C互相连通,就得出了方向矢量−,从而以可确定特征点的位置为如下方程:

θ = arctan ( m 01 / m 10 ) (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) 假设当前选定的四个点,对如上图所示的标记均为:

P 1 ( A , B ) , P 2 ( A , B ) , P 3 ( A , B ) , P 4 ( A , B )

可以将其描述向量定义为:

T ( P ( A , B ) ) = { 1 I A > I A 0 I B > I B (8)

3.3. 基于特征描述子目标识别实验

对零件中进行翻转,偏斜,遮挡,过暗或过亮等复杂背景下的情况的目标进行了匹配试验,并记下匹配进行的日期、以及对应的关键点数目(表3)。目标实验设置的六副样本如图3所显示。

(a) 零件旋转 (b) 零件倾斜 (c) 零件遮挡 (d) 场景过暗 (e) 场景过亮 (f) 复杂背景

Figure 3. Algorithm identification renderings

图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算法表达式是:

C ( x , y , d ) = i < n n j < n n | L ( x + i , y + j ) R ( x + d + i , y + j ) | (9)

其中:d代表在左相机窗口内拍摄的画面上外极线所移动的长度,为视差值:L、R则代表所输入的二幅画面的灰度差值。为进一步提高本文研究的立体匹配的精确性和效果,将采用了如下措施:

1) 将通过模板匹配识别的目标物体所在的区域设定为ROI区,只将此区域和其它图像物体进行了立体匹配;

2) 为减少背景信息带来的影响因素,可以使用canny边缘检测算法 [6] [11] ,获取需要研究的目标轮廓信息;

3) 在进行检索时,可以给出一个合适的视差搜索范围,约束零点搜索,如式(10)所示。

M i n D i s p a r i t y = N c o l i m a g e 2 N c o l i m a g e 1 M a x D i s p a r i t y = F c o l i m a g e 2 F c o l i m a g e 1 (10)

我们将采用图3作为试验模版,并通过立体匹配以获取高视差图像恢复及其深度信号。实验结如图4所示。

(a) canny边缘轮廓图 (b) 彩色视差图 (c) 视差图

Figure 4. Stereo matching effect drawings

图4. 立体匹配效果图

4.2. 三维重建及位姿求解实验

通过对上述二个信号的立体匹配并根据双目视觉系统的标定信息,就可以重建出在画面中 p ( u , v ) 所对应的视觉位置 P W = ( x w , y w , z w ) 。本文的世界坐标系设置为左相机坐标下,则有 x 1 = x w , y 1 = y w , z 1 = z w

为检验该三维重建计算的准确性,选择了对实验模拟图中十个特征节点进行了三维重建,将其重建结果记录了下来并进行误差分析 [12] ,如表4所给出。

Table 4. 3D information of target object (unit: mm)

表4. 目标物体三维信息(单位mm)

从上表实测结果中可知,本文所采用的优化算法准确度较高,深度信息偏差范围在0~4 mm内,符合实验精度要求。

5. 结语

本文建立了一种标准的双目机器视觉控制系统,并采用了张正友标准法对该视野控制系统进行了标准,使用试验数据得出双目照相机的内部技术参数,再结合左、右镜头之间的相应位置数据,来消除相机镜头畸变导致的实验影响。然后,对零件的识别可以采用调整后的ORB + RANSAC特征点的方法。

本文通过实验的方法对于不同情况和不同场景下的障碍物,采用特征的方法,对同一环境的两张图片进行了立体对比,并得到秒差异值,通过秒差异数值和特征点的校准加以结合,可以更精确、高效地对工件加以辨识和定位。通过机器视觉解决上料出现的问题,从而实现低成本完成整个智能制造过程。

参考文献

[1] 宋和宋. 国际上最具竞争力的电子提花机品牌[J]. 中国纺织, 2019(11): 86-87.
[2] 孙雷. 平行双目视觉测量原理及实验研究[J]. 电子技术与软件工程, 2022(14): 162-166.
[3] Murmu, N., Chakraborty, B. and Nandi, D. (2019) Relative Velocity Measurement Using Low Cost Single Camera-Based Stereo Vision System. Measurement, 141, 1-11.
https://doi.org/10.1016/j.measurement.2019.04.006
[4] 刘峰伯. 基于OpenCV的双目立体视觉测距测速的研究[D]: [硕士学位论文]. 长春: 吉林大学, 2012.
[5] 吴勇, 郝矿荣, 丁永生, 等. 基于视觉位姿的机器人测速系统[C]//中国运筹学会智能计算分会. 第三届中国智能计算大会论文集. 2016: 411-416.
[6] 曹阳, 丁一岷. 基于双目视觉的机械臂位姿估计及目标自动定位系统[J]. 电子设计工程, 2021, 29(24): 107-110, 115.
[7] 邓龙, 把翠芳, 李斐, 李润, 倪春杰. 基于工业机器人视觉系统的工件识别与定位技术[J]. 中国科技信息, 2022(20): 128-131.
[8] 刘慧杰, 陈强. 基于ORB特征的改进RGB-D视觉里程计[J]. 制造业自动化, 2022, 44(7): 56-59, 106.
[9] 宋超群, 许四祥, 杨宇, 化猛奇. 基于改进FAST和BRIEF的双目视觉测量方法[J]. 激光与光电子学进展, 2022, 59(8): 163-170.
[10] 孙延鹏, 孙赫楠, 陈新禹, 刘妍. 一种基于多权值SAD-Census立体匹配算法[J]. 电脑与信息技术, 2022, 30(5): 1-4, 34.
[11] Geng, H., Gao, Z.Y., Fang, G.R. and Xie, Y.M. (2022) 3D Object Recognition and Localization with a Dense LiDAR Scanner. Actuators, 11, Article 13.
https://doi.org/10.3390/act11010013
[12] Wang H.Z., et al. (2022) Design of Fast Acquisition System and Analysis of Geometric Feature for Highway Tunnel Lining Cracks Based on Machine Vision. Applied Sciences, 12, Article 2516.
https://doi.org/10.3390/app12052516