本文根据某公司制造的提花机零部件,在智能装配上料过程出现了翻转、遮挡、偏斜和复杂背景等问题,对基于OpenCV双目立体视觉零件的辨识和定位展开了深入研究。在本文中建立了双眼视觉系统模型,然后完成了对双目视觉控制系统的校准,并获得了照相机的内部参量、相应位置和失真比率等参数。然后在ORB特性提取计算结果的基础上,又提出了ORB + RANSAC特性匹配计算,通过选择正误匹配,并通过立体匹配获得视差图,并根据校准计算结果对工具实现了三维重构。实验结果表明本文使用的改进ORB + RANSC属性匹配计算,可以更精确、高效地对工件加以辨识和定位。 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双目立体视觉零件的辨识和定位展开了深入研究。在本文中建立了双眼视觉系统模型,然后完成了对双目视觉控制系统的校准,并获得了照相机的内部参量、相应位置和失真比率等参数。然后在ORB特性提取计算结果的基础上,又提出了ORB + RANSAC特性匹配计算,通过选择正误匹配,并通过立体匹配获得视差图,并根据校准计算结果对工具实现了三维重构。实验结果表明本文使用的改进ORB + RANSC属性匹配计算,可以更精确、高效地对工件加以辨识和定位。
OpenCV,双目视觉,ORB,RANSAC
Yao Li1, Pan Huang2, Haoming Li1
1School of Art and Design, Wuhan Textile University, Wuhan Hubei
2School of Machinery and Automation, Wuhan Textile University, Wuhan Hubei
Received: Jun. 12th, 2023; accepted: Jul. 3rd, 2023; published: Jul. 14th, 2023
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.
Keywords:OpenCV, Binocular Vision, ORB, RANSAC
Copyright © 2023 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
随着我国经济实力的快速发展,由于人们对于纺织品的需求在不断上升,劳动力紧缺和劳动力成本的提升使得企业进行自动化,智能化转型。某企业主要生产电子提花机中起到绣花作用的某关键组件 [
双目视觉技术是机器视觉领域的一个重要分支,双目视觉技术在物体运动参数识别上也有诸多应用案例:Narayan Murmu等利用单摄像机和两面镜子,采用SIFT,SURF方法识别场景中移动的物体,找到目标点并测得距离以后使用三维坐标测速,是一种低成本的视觉测速方法 [
双目视觉就像人的另一只眼,因为双目都会对同一个目标会形成视觉差异,从而能够更清晰的认识三维的事物。所以,现代电子计算机基于这种原理,一般使用双目视觉法以确定认识对象的目的,其中双眼视是利用测量二只相机间的视野差距以确定三维事物 [
图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. 相机标定实验图
先对单目照相机进行标定,接着再对双眼照相机进行标定,并由此得出了左、右镜头之间的相对位置。双目照相机的标定结果如表1所述,而左、右双镜头的相对位置则如表2所述。
参数 | 左相机 | 右相机 |
---|---|---|
内参数矩阵 | ||
[ f x 0 u 0 0 f y v 0 0 0 1 ] | [ 3.55408 0.00000 1.68053 0 3.55723 0 0 0 1 ] | [ 3.54301 0 1.67985 0 3.54723 0 0 0 1 ] |
畸变系数 | ||
[ k 1 k 2 ] | [ 0.019103 − 0.199055 ] | [ 0.019321 − 0.200119 ] |
表1. 左右相机内部参数
外部参数 | 平移向量T/m | 旋转矩阵R/(˚) |
---|---|---|
x轴 | −6.64148115 | 0.1274326 |
y轴 | 6.89988806 | −0.29783356 |
z轴 | 3.35930681 | −1.5991526 |
表2. 左右相机相对位置
经过对比左、右照相机的实际测定的标准误差后,左、右照相机设置的实际水平间隙均为6.7 cm,实际校准数据均为6.64 cm。使用图1、表2比较了实际的主要参数和标准分布数据,发现标准的偏差较小,所以该相机能够达到后期三维重建的精度要求。
ORB是Oriented Fast and Rotated Brief的简称,它可以用来快速创建特征矢量来识别图像中的关键点 [
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关键点中缺乏选择性和大尺度不变性的困难,同时也能够显著的增加了关键点的鲁棒性。
通过ORB算法对图像进行特性点后,我们就必须以一种方法来定义这个特性点的属性。而这种属性的输出就叫做对该特性点的定义子。ORB通过BRIEF算子来估计一些特征点的描述子。BRIEF运算的核心是在要点P的附近以特定模式选择N个点对,并将这N个点对的比较结果综合出来成为描述子 [
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. 算法识别效果图
样本实验 | 时间/s | 匹配的点数/个 | RANSAC后匹配的点数/个 |
---|---|---|---|
旋转 | 0.108751 | 320 | 111 |
倾斜 | 0.115853 | 220 | 54 |
遮挡 | 0.104345 | 154 | 87 |
场景过暗 | 0.102142 | 121 | 65 |
场景过亮 | 0.110243 | 278 | 104 |
复杂背景 | 0.132105 | 475 | 30 |
表3. 图3各个样本实验的配对时间、匹配点数
通过实验数结果我们发现,通过我们设计的目标识别算法,能够高效的把各种姿态,不同条件下的目标对象辨识出来,通过RANSAC方法进行误匹配消除后,能够有效减少了匹配距离,减少了匹配错误率。
目前最常见的生物相似性识别算法标准有SAD,SSD和NCC。从计算的复杂程度以及对硬件支持的困难度上考虑,由于SSD和NCC计算耗时量都很大,所以不符合实际的操作条件,所以本文采用了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边缘检测算法 [
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所示。
图4. 立体匹配效果图
通过对上述二个信号的立体匹配并根据双目视觉系统的标定信息,就可以重建出在画面中 p ( u , v ) 所对应的视觉位置 P W = ( x w , y w , z w ) 。本文的世界坐标系设置为左相机坐标下,则有 x 1 = x w , y 1 = y w , z 1 = z w 。
为检验该三维重建计算的准确性,选择了对实验模拟图中十个特征节点进行了三维重建,将其重建结果记录了下来并进行误差分析 [
序号 | x误差 | y误差 | z误差 |
---|---|---|---|
1 | 0.768141 | 0.335184 | 2.187562 |
2 | 0.154371 | 0.547924 | 3.148361 |
3 | 0.875164 | 0.341256 | 1.674589 |
4 | −0.957146 | −0.101674 | 0.375641 |
5 | 0.274137 | 0.415781 | 2.876214 |
6 | −0.421270 | 0.316781 | 2.247168 |
7 | −0.891674 | 0.587361 | 3.867152 |
8 | 1.057310 | 0.037518 | 0.571623 |
9 | 0.421871 | −0.046187 | 0.275143 |
10 | −0.084321 | 0.043817 | 3.421574 |
表4. 目标物体三维信息(单位mm)
从上表实测结果中可知,本文所采用的优化算法准确度较高,深度信息偏差范围在0~4 mm内,符合实验精度要求。
本文建立了一种标准的双目机器视觉控制系统,并采用了张正友标准法对该视野控制系统进行了标准,使用试验数据得出双目照相机的内部技术参数,再结合左、右镜头之间的相应位置数据,来消除相机镜头畸变导致的实验影响。然后,对零件的识别可以采用调整后的ORB + RANSAC特征点的方法。
本文通过实验的方法对于不同情况和不同场景下的障碍物,采用特征的方法,对同一环境的两张图片进行了立体对比,并得到秒差异值,通过秒差异数值和特征点的校准加以结合,可以更精确、高效地对工件加以辨识和定位。通过机器视觉解决上料出现的问题,从而实现低成本完成整个智能制造过程。
李 垚,黄 攀,李浩铭. 基于OpenCV的提花机零件识别与定位方法研究Research on the Identification and Positioning Method of Jacquard Machine Parts Based on OpenCV[J]. 动力系统与控制, 2023, 12(03): 157-164. https://doi.org/10.12677/DSC.2023.123017