蒋萌;王尧尧;陈柏
【摘 要】针对机器人在作业时缺乏自主性与智能性的问题,对基于双目视觉的空间目标识别与定位问题进行了研究.搭建了双目立体视觉系统并对其进行了标定,获取了两相机的内外参数、相对位姿及畸变系数.采用基于描述子的模板匹配技术,通过随机树算法对检测到的特征点进行了准确实时地分类识别.对同一场景的两幅图像进行了立体匹配,求取了对应的视差图.结合特征点对应的视差值及标定结果对其进行了三维重建,对多组特征点对在图像及实际场景里对应的2D-3D位置信息进行了迭代,求取了重投影误差最小的解,即目标物体的位姿.研究结果表明:所采用的方法可以用于准确、快速、稳定地实现对目标的识别与定位.%Aiming at robot's lack of intelligence while working, binocular vision was researched on recognition and orientation of object. A binocular stereo vision system was built and calibrated to get parameters and relative pose of the two cameras. Descriptor-based template matching was adapted,detected feature points were classified and recognized by random tree algorithm with high real-time and accuracy. Depth information can be deduced with the disparity of the scene according to stereo matching between the two images. 3D reconstruction then was achieved by combining the disparity and calibrated parameters. The 2D-3D positions of the recognized feature points in the image and the real-world scene were reprojected and iterated for the solution with least error,which was the desired pose of the object. The results indicate that the proposed methods can achieve accurate,fast and stable recognition and orientation of the object.
【期刊名称】《机电工程》 【年(卷),期】2018(035)004 【总页数】6页(P414-419)
【关键词】双目视觉;描述子模板匹配;立体匹配;三维重建 【作 者】蒋萌;王尧尧;陈柏
【作者单位】南京航空航天大学 机电学院,江苏 南京210016;南京航空航天大学 机电学院,江苏 南京210016;浙江大学 流体动力与机电系统国家重点实验室,浙江 杭州310027;南京航空航天大学 机电学院,江苏 南京210016 【正文语种】中 文
【中图分类】TP391;TP242 0 引 言
近年来,人们将机器视觉应用到交通[1]、医疗[2-3]、生产[4-5]、生活等多个领域[6],从而提高了机器人作业的自主性与智能性。
机器视觉分为单目视觉技术与多目视觉技术。在对物体进行识别、定位、分类等操作中,常常需要获取目标的三维信息,单目视觉无法恢复场景的深度信息,而基于结构光[7]、激光[8]、物理传感器的主动测距方法虽能实现快速、准确、无干预地三维测量,但是设备成本较高,无法达到普及应用。相较之下,基于双目视觉的三维重建方法,具有设备要求较低、实施较为简易、算法时空复杂度较低等优势,受到了国内外各界学者的关注与研究。
来自Loccioni的STROPPA L、CRISTALLI C[9]设计了应用于生产线上检测插件
器质量的双目视觉检测系统,最终测量得到的结果表明,基于双目视觉的测量方法在分辨率、检测速度及稳定性上均优于其他非接触测量方法;瓦伦西亚理工大学的LVORRA E等[10]利用双目立体视觉重建了葡萄局部三维模型,重建误差小于1 mm。相较国外,国内在立体视觉方面的研究起步较晚,哈尔滨工业大学的李胜利[11]针对堆叠工件的识别与定位问题,采用Sobel算子与区域增长法相结合的算法检测工件边缘,然后基于梯度方向的椭圆拟合检测工件,取得了较Hough变换和最小二乘法更精确的检测结果,显示基于支持向量机的方法具有较高的稳定性;西南科技大学的张华、夏菠等[12]采用双目视觉系统重建稀疏特征匹配点的三维点云,并在传统RANSAC算法的基础上,加入动态阈值更新和姿态估计收敛判断,降低误匹配的同时提高了系统的实时性,实现了机器人在室内、室外环境下姿态的准确输出。
针对空间物体的三维重建问题,本文将对基于双目视觉的目标识别与定位进行研究。 1 双目视觉系统及其标定 1.1 双目视觉模型及投影关系
相机成像过程丢失了场景的深度信息,双目视觉则可克服这一缺点。 双目视觉的原理如图1所示。
图1 双目测距原理图Ol,Or—左右两个相机的光心;pl,pr—目标P分别在左右相机的成像平面上所成的像点;f—相机焦距;Z—目标与观测位置的距离;b—两个相机放置的水平距离,称作基线
假设目标点P在左图像平面所成的像点pl的坐标为(x1,y1),在右图像平面上所成的像点pr的坐标为(x2,y2)。则视差d=x1-x2。依据相似三角形原理易得: (1)
为确定空间一点的三维位置与其在图像中的对应点之间的关系,必须对视觉系统进
行标定,即建立相机成像模型,通过实验及计算的方法求解模型的参数。三维空间点Pw投影到像平面点p的过程如图2所示。
图2 相机投影模型1—相机;2—成像平面;3—实际场景
整个投影过程涉及世界坐标系、相机坐标系到图像坐标系及像素坐标系之间的转换,根据相机的透视模型易得投影关系为: (2)
式中:M1—相机的内部参数矩阵;M2—相机的外部参数矩阵。 1.2 双目视觉系统标定实验
实际上,相机内参还应包含镜头的畸变系数k,即相机内参数为(f,k,u0,v0,dx,dy),外参数为(tx,ty,tz,α,β,γ)。而求解相机的内外参数、消除畸变的过程就是相机标定的过程。本文采用张正友标定法对搭建的视觉系统进行标定。
实验采集15组不同姿态下的标定板图像,提取其特征点进行标定实验,其中一组过程如图3所示。 图3 相机标定过程
左右两个相机的参数标定结果如表(1,2)所示。
表1 左右相机的内部参数内部参数初始值左相机右相机焦距
f/mm1212.194812.1201像元宽度dx/m2.2e-62.199e-62.199e-6像元高度dy/m2.2e-62.2e-62.2e-6主点行值u0/pixel12961341.511273.17主点列值v0/pixel972951.246944.5畸变系数k0-603.031-671.743
表2 左右相机的相对位姿外部参数平移向量T/(m)旋转矩阵R/(°)X轴5.21×10-20.135Y轴-2.22×10-50.248Z轴6.73×10-4359.939
其中,两相机布置的实际水平距离为5.03 cm,标定结果为5.21 cm,通过对比表(1,2)实际参数值与标定参数值,可发现标定误差很小,足以满足后期三维重建的
精度要求。
2 描述子模板匹配识别算法
常用的模板匹配方法有基于灰度、基于相关性、基于形状的模板匹配等等,但这些方法往往易受到光照的影响。故本文采用基于描述子的模板匹配方法,将检测到的特征点与其描述子相结合,提高匹配的准确性。
对特征的描述方式主要有两大类,一类是用于处理角点、边缘等局部特征的强特征描述方式,其中应用最广泛的是由LOWE D G[13]提出的SIFT算法;另一类则是将特征匹配作为分类问题处理。SIFT算法虽然匹配特性稳定,但计算量大,运算时间较长,无法保证实时性;随机树算法相较于其他机器学习算法可以更高效快速的解决多类别分类问题,故本文采用基于Harris角点检测与随机树算法相结合的特征匹配算法[14]。
2.1 基于随机树的特征匹配识别
随机树模型由根节点与叶节点构成,由树根向下分出两个节点,每个节点再分出两个节点,依次递归至底层节点不再产生分支,成为树叶。每一个节点处都有一个判定公式,从树根输入的待测数据经过判定公式的判定,决定其向下进入左节点或是右节点,到达下一结点后再次进行判定,直至其到达底层的树叶。 基于随机树的模板匹配算法模型如图4所示。 图4 基于随机树的模板匹配算法模型
在本文构建的基于随机树的特征匹配算法中,输入根节点的数据即为特征点及其周围的图像块patch。节点处采取的判定方法是在特征点m的图像块patch中随机选取两个像素点m1和m2,对它们的灰度值进行比较,判定公式如下: (3)
采用随机树算法对特征进行模式识别分类,首先要对特征点及其描述子进行样本训
练。本研究选取模板的正视图作为初始模板图像,通过Harris算法检测得到模板上的N个特征点,对其进行编号得K={k1...kN}。以每个特征点为中心建立n×n像素的图像块patch,对这些图像块进行离线训练,对待检测图像上的特征点k建立同样大小的图像块p(k),则识别的关键问题为判定p(k)中是否含有K中的一个特征点,以及它是哪一个特征点。即确定p(k)的类别Y(p)∈C={-1,1,2,...,N},其中-1表示p(k)中不包含K中的特征点。
为了增强算法对目标位置及光照变化的鲁棒性,需要对大量多尺度、多视角状态下的特征点样本进行训练,由于人工采集较为繁琐,可采用计算机随机生成大量图像样本。当目标物基本不发生变形时,特征点周围的图像块可视为平面模型,则可通过仿射变换随机生成训练样本。对特征点及图像块进行仿射变换: (4)
式中:Rθ—目标旋转变换矩阵;Rφ—尺度变换轴旋转矩阵;S—图像的尺度变化;θ,φ∈[-π,+π];S=diag{λ1,λ2},本文中选取λ1,λ2∈[0.4,1.2]。
通过随机生成参数得到不同的仿射矩阵A,对K中每个特征点及其图像块生成与其对应的多个样本集合。
由于训练样本以及概率测试的数据相当庞大,优化随机树变得尤为困难,故通常采取增加随机树数量的方式来增强识别的稳定性。在样本训练阶段,大量的图像块样本输入到随机树系统中,其中有的样本包含K中的特征点,有的样本不包含K中的特征点。当全部样本均达到树叶后,便可得到每片叶子对于K中特征点的概率分布: Pη(l,p)(Y(p)=c) (5)
式中:η(l,p)—图像块p所到达的Tl棵树的树叶。
该概率分布即为训练样本中到达η处的c类图像块与到达η处的所有图像块的比值。
在检测阶段,为确定输入的图像块p是否含有K中的特征点,对应的是哪一个特征点,对p在不同树中所达到的叶片对应的概率分布求取平均概率分布,平均概率分布中概率最大的特征点,即为待检测图像块对应的特征点: (6)
2.2 基于随机树的目标识别实验
在进行基于随机树的特征匹配识别算法性能验证之前,首先要确定算法的各项参数。 本文实验选定的目标物体的模板如图5所示。 图5 实验选定模板
根据实验的实际情况,本研究设置目标沿着模板法向量的旋转角度范围为[-π,+π],缩放比例为[0.4,1.2]。则还需要确定的参数有随机树的深度Depth,随机树的数目Number以及图像块的尺寸PatchSize。
本研究选取Sample1,对不同参数条件的算法进行匹配时间与匹配率的测试。实验效果如图6所示。
图6 不同参数对应的算法匹配率及匹配时间
良好的匹配性能应同时兼具较高的匹配率与较快的匹配速度。由实验结果可见:当随机树的深度Depth、随机树的数目Number以及图像块的尺寸PatchSize分别取11、30、17时,算法可以实现以较快的匹配速度达到较高的匹配率。 识别实验设置的9幅样本如图7所示。
图7 算法识别效果图Sample1—目标旋转的情况;Sample(2~4)—图像不同程度旋转与倾斜的情况;Sample6—遮挡的情况;Sample(7,8)—代表过暗过明的情况;Sample9—杂乱背景的情况
可见采用上述算法,不同姿态和环境下的目标物体均可被准确识别。 各个样本的匹配率如图8所示。 图8 实验样本与模板匹配率
由实验结果可见:物体倾斜角度越大,检测到匹配到的特征点越少,匹配率越低;同样,在过暗或过量的环境下,图像对应的灰度值总体偏低或偏高,相应地会损失一些匹配点,匹配率也较低。 3 三维重建与定位
3.1 双目视觉系统的立体匹配
通过特征点匹配识别出目标物体后,为了对目标物进行定位,需要确定匹配的特征点对应在三维空间的位置信息,由此求解目标物体的位姿。
对特征点的三维重建,关键是求解其对应的深度信息。双目立体视觉系统中,通常采取立体匹配的方法对采集到的两幅图像进行匹配,获得对应的视差图,恢复图像的深度信息。需要注意的是,只有在两幅图像是行对准的情况下,才可采用式(1)表示的关系计算视差,而实际应用中,两台相机几乎不可能有准确的共面,故进行立体匹配的两幅图像必须先通过立体校正实现行对准,这样不但可以提高匹配的准确性,也可以缩短匹配时间。
根据采取的最优化理论方法的不同,立体匹配分为基于全局的立体匹配算法与基于局部的立体匹配算法,基于全局的立体匹配算法计算量大运算时间长,故本文选择基于局部的区域匹配算法,对一幅图像上给定的一点,选取该像素点邻域内的一个大小为(2m+1)×(2n+1)子窗口(通常m=n),在另一幅图像的一个区域内,沿着该点所在的极线,依据某种相似性判断标准进行搜索,寻找与子窗口图像最为相似的子图。常用的相似性判断标准有SAD,SSD,NCC等,其中SAD与SSD算法直接比较像素及其子窗口的灰度值,而NCC算法则是补偿子窗口内的平均灰度值及其协方差。NCC算法相较SAD、SSD算法,对光照强度的变化更稳定,本文采用
NCC算法对两幅图进行匹配。两幅图像的相似度S为: (7)
式中:g1,g2—输入的两幅图像的灰度值子窗口的平均灰度值;S∈[-1,1]。 S的值越高表明两幅图越相似,S为1,则两幅图相关性很高,S为-1则表明两幅图不相关。匹配结束之后,则可得对应像素点之间的视差d=x2-x1,如1.1节所述。
为提高立体匹配的准确性及效率,本文采取了以下措施:(1)将模板匹配识别出的目标物所在区域设置为ROI区域,仅将该ROI区域与另一幅图像进行立体匹配;(2)在进行搜索时,给定一个合理的视差范围,约束搜索空间,如式(8,9)所示:最小视差为场景中距离视觉系统最近点对应的列坐标之差,最大视差为场景中距离视觉系统最远点对应的列坐标之差;(3)采用图像金字塔的方法提高匹配速度,视差搜索范围应用于图像金字塔的顶层图像,下层图像对应的视差搜索范围自动进行调整。 (8) (9)
立体视觉的最终目的是恢复景物可视表面的完整信息,目前,无论哪种匹配方法都不能完全恢复出所有图像点的视差,因此必须进行最终的表面内插重建。深度插值、误差校正和精度改善是立体匹配的后处理部分。 3.2 三维重建与位姿求解实验
通过上述对两幅图像的立体匹配结合视觉系统的标定结果,则可重建出图像上一点p(u,v)对应的世界坐标pw=(xw,yw,zw)。
为验证算法重建的精度,笔者对所选样本图像中目标物体顶点的三维重建结果在X、Y、Z方向的误差进行分析。分别计算出各顶点在X、Y、Z方向的误差,对4个顶点在同一方向的上的误差求取均值,得到三维重建在3个方向上的误差结果,如表3所示。因Sample6的一顶点被遮挡,故不予考虑。
表3 顶点三维重建在X、Y、Z方向的误差实验样本X误差/mmY误差/mmZ误差/mmSample1-0.2420.0624.459Sample2-0.955-0.1022.68Sample30.5570.5192.916Sample40.0350.7620.67Sample52.060.0451.627Sample7-0.2560.0684.513Sample8-0.310.094.604Sample90.09-0.1252.31
可见,本文所采用的算法重建精度较高。其中,在物体倾斜越大的方向上,对应的重建误差越大。
本研究在完成对特征点的三维重建之后,根据2D-3D匹配点的信息,对位姿进行求解。在匹配的特征点对中,任选4组点对,取其中重投影误差最小的解。再多次取任意4组点对,进行上述处理,依据Levenberg-Marquardt算法反复进行迭代,取重投影误差最小的解作为待求解位姿。
本文对实验设置的9幅样本进行位姿求解,定位结果如图9所示。 图9 目标顶点三维重建及定位结果
实验结果验证:对不同条件下物体,均可进行有效、准确的定位。 4 结束语
(1)为解决空间三维物体的识别与定位问题,本文搭建了平行的双目立体视觉系统,建立了双目视觉对应的成像模型,采用张正友方法对视觉系统进行标定,消除光学畸变,获得两个相机的内部参数及相对位姿。实验对比显示:标定结果精度较高。 (2)针对场景中目标的识别问题,本文采用基于描述子的模板匹配方法,将角点检测算法与随机树算法相结合,对目标进行分类识别;以匹配时间和匹配率为标准,
确定算法的最佳参数。经实验验证:对旋转、遮挡、倾斜等各种条件下的物体,算法均能快速、准确地进行识别。
(3)基于NCC算法,本文对同一场景对应的两幅图像进行了立体匹配,求取视差,结合标定结果对特征点进行三维重建,并根据特征点对在图像及实际场景中对应的2D-3D位置信息求解目标位姿。实验结果证明:三维重建精度较高,对不同条件下的目标物体均可准确定位。 参考文献(References):
[1] JAAFARI I E, ANSARI M E, KOUTTI L. Fast edge-based stereo matching approach for road applications[J]. Signal, Image and Video Processing, Springer London,2017,11(2):267-274.
[2] 董 峰,孙立宁,汝长海.基于双目视觉的医疗机器人摆位系统测量方法[J].光电子·激光,2014(5):1027-1034.
[3] 吕家国,蒋晓瑜,张鹏炜,等.医疗机器人双目视觉硬件系统设计与实现[J].中国光学,2014,7(2):307-314.
[4] ZHAO D, FENG W, SUN G, et al. High precision measurement system of micro-electronic connector based on machine vision[J]. Journal of Applied Sciences,2013,13(22):5363-5369.
[5] STROPPA L, CASTELLINI P, PAONE N. Self-optimizing robot vision for online quality control[J]. Experimental Techniques,2016,40(3):1051-10. [6] AHMED A A, ELBASHIR M K ,OSMAN A A. Distance alert system using stereo vision and feature extraction[C]. International Conference on Communication, Control, Computing and Electronics Engineering, Khartoum: IEEE,2017.
[7] GUEHRING J. Dense 3D surface acquisition by structured light using
off-the-shelf components[J]. Proceedings of SPIE,2000(4309):220-231. [8] KOCH T, BREIER M, LI W. Heightmap generation for printed circuit boards (PCB) using laser triangulation for pre-processing optimization in industrial recycling applications[C]. IEEE International Conference on Industrial Informatics, Bochum: IEEE,2013.
[9] STROPPA L, CRISTALLI C. Stereo vision system for accurate 3D measurements of connector pins’ positions in production Lines[J]. Experimental Techniques,2017,41(1):69-78.
[10] IVORRA E, SáNCHEZ A J, CAMARASA J G, et al. Assessment of grape cluster yield components based on 3D descriptors using stereo vision[J]. Food Control,2015,50(4):273-282.
[11] 李胜利.基于双目立体视觉的工件识别与定位技术研究[D].哈尔滨:哈尔滨工业大学机电工程学院,2016.
[12] 张 华,夏 菠.基于双目视觉的机器人自定位方法研究[J].华中科技大学学报:自然科学版,2015,43(s1):104-108.
[13] LOWE D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision,2004,60(2):91-110.
[14] HARRIS C, STEPHENS M. A combined corner and edge detector[R]. London: The Plessey Company PLC,1988.
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务