APP下载

基于共享坐标系的双目立体匹配算法实现*

2020-10-30杜娟邱海涛

自动化与信息工程 2020年5期
关键词:立体匹配偏移量双目

杜娟 邱海涛

特约论文

基于共享坐标系的双目立体匹配算法实现*

杜娟1,2邱海涛1,2

(1.华南理工大学自动化科学与工程学院,广东 广州 510641 2.广东省高端芯片智能封测装备工程实验室,广东 广州 510641)

在双目视觉应用中,立体匹配是衡量整个视觉系统速度与精度的重要环节。提出一种基于共享坐标系的双目立体匹配算法,分别在双目立体匹配的左右2幅图像上建立一个共享坐标系,并根据2个坐标系原点的位置关系计算出左右图像的水平偏移量和垂直偏移量;特征点匹配时,根据水平偏移量和垂直偏移量可快速定位对应匹配点的位置;每个特征点根据其与周围8个像素点之间的灰度值关系生成描述子,通过共享坐标系进行定位,再对定位区域利用描述子进行区域遍历匹配。仿真结果表明:与具有较高匹配精度和匹配速度的ORB双目匹配算法相比,本算法有更快的匹配速度和更高精度。

双目视觉;双目立体匹配;共享坐标系;特征点匹配

0 引言

随着机器视觉技术的快速发展,越来越多的行业引入机器视觉设备来提高生产效率。双目立体视觉技术是机器视觉领域的重要研究方向,而立体匹配技术在双目测量中尤为关键。

目前,应用较多的立体匹配算法有SURF(Speed Up Robust Features),FLANN(Fast Library for Approximate Nearest Neighbors),SIFT(Scale Invariant Feature Transform)和ORB(Oriented Brief)等[1-2]。但这些算法很难做到匹配速度与精度之间的平衡。

为此,本文提出一种基于共享坐标系的双目立体匹配算法[3],利用共享坐标系进行特征点位置锁定,从而快速实现特征点的匹配。

1 双目相机标定与矫正

1.1 相机标定

在双目立体匹配过程中,对双目相机进行高精度标定是提高双目匹配精度的保障。对双目相机进行标定时,首先,左右相机分别采集一组包含各种姿态的标定板图像集,并记录左右相机的相对位置关系;然后,利用OpenCV或Matlab的相机标定工具箱得到相机的内参矩阵和畸变系数。相机标定图像集如图1所示。

1.2 相机矫正

利用双目相机的内参矩阵和畸变系数对左右图像进行水平矫正和旋转矫正;利用双目图像的唯一性约束、相容性约束、连续性约束、极线约束和顺序一致性约束等约束准则提高左右图像的匹配精度。经过水平矫正和极线约束矫正后的双目图像如图2所示。

图2 水平矫正和极线约束矫正后的双目图像

由图2可见:左右图像上的特征点均位于同一条极线上。在进行特征点匹配时,可以将匹配范围由全图缩小至一条极线,从而大大降低计算量。

2 共享坐标系建立

2.1 提取图像特征点

特征点检测是机器视觉领域的一个重要研究方向。目前已有很多成熟的特征点检测算法[4-7],如,FAST角点检测算法、Harris角点检测算法等;也可以通过形态学或图像灰度阈值处理方法提取图像的特征点。

本文采用FAST角点检测算法对图像进行特征点检测。FAST基本思想源于corner定义,即检测候选点周围像素点的像素值,如果候选点周围邻域内有足够多的像素点与该候选点的灰度值差别够大,则认为该候选点为一个角点。

FAST检测角点过程:

3)非极大抑制,首先,计算角点的FAST得分,如式(1)所示,即12个连续像素点的像素值与点像素值差值的绝对值之和;然后,比较相邻2个角点的,保留较大的角点。

式中,为与像素点P相邻的第i个像素点;p为像素点P的像素值;为12个连续像素点像素值的均值。

利用FAST角点检测算法对双目图像中的左图进行检测的效果如图4所示。

图4 FAST检测算法对左图特征点检测效果图

由图4可知,眼睛位置的特征点较为密集,其他位置的特征点分布均比较稀疏。从左图中的所有特征点中选取一个最优的特征点作为左图中的共享坐标系的原点,再利用上述的极线约束在右图中匹配对应的共享坐标系原点。

2.2 选择最优匹配特征点作为共享坐标系原点

首先,利用FAST角点检测算法检测双目图像中左图像上的所有特征点(不需要对右图进行所有特征点的检测);然后,对左图像上的所有特征点领域像素进行显著性检验,即对特征点所在位置3×3范围内的像素点进行均方差计算。为减少计算量,设定特征点显著性均方差大于设定阈值即立刻选定为共享坐标系原点,如式(2)所示,从而停止对特征点的显著性检验。

特征点进行匹配时,需要用一个描述算子对左右图像的特征点进行描述,再根据描述算子的匹配程度进行特征点匹配。

1)确定特征描述子:根据立体匹配需求,特征点的描述信息越详细越有利于特征点精确匹配。但描述详细意味着需要巨大的计算量。为达到特征点快速、精确的匹配效果,以每个特征点像素周围8个像素点的灰度值与特征点灰度的关系作为描述。将周围8个像素点与特征点的灰度关系简化为−1,0,1三种关系。特征描述子的阈值为

图5 特征点描述子示意图

2)寻找共享坐标系原点:利用特征描述子可以实现特征点间的匹配。对右图像与左图像原点同极线上的所有像素点进行遍历匹配。计算左右图像中匹配的2个特征点描述子间的差异程度并将遍历所得的差异程度最小的那个像素点作为最优匹配点。

式(5)与式(4)的不同处在于,不同步,从而实现匹配的旋转不变性。

2.3 共享坐标系建立

匹配得到一对最优的特征点后,以这对特征点作为左右图像的原点建立共享坐标系,如图6所示。

图6 共享坐标系示意图

共享坐标系建立后,计算左右图像坐标的偏移关系。以左图像为基准,设左图原点坐标为1(1,1),右图原点坐标为2(2,2)。双目图像间的水平偏移量和垂直偏移量为

3 特征点匹配

根据坐标系偏移量进行特征点匹配:将左图中的每一个特征点T1(x1,y1)加上坐标偏移量,锁定其在右图中对应的匹配特征点T2(x2,y2)。

由于图像畸变很难完全消除,用坐标系偏移量进行特征点匹配时,根据偏移量计算得到的匹配点与最佳匹配特征点之间会出现位置偏差。为消除这个偏差,由偏移量定位对应匹配特征点位置后,再对该锁定像素点进行局部区域遍历寻找最优匹配特征点。根据双目图像的矫正效果可以选择3×3或5×5的矩形区域作为寻优的目标区域[8]。

4 仿真实验

本实验采用Windows10操作系统;软件平台为Visual Studio 2019;处理器AMD Ryzen 3700X 8-Core Processor 3.60 GHz;内存8 GB。

在双目图像中通过极线约束提取一对最优匹配特征点分别作为左右图像的原点建立双目图像的共享坐标系。通过共享坐标系实现立体匹配时特征点的直接位置锁定,提高了算法的匹配速度。匹配效果如图7所示。

图7 共享坐标系特征点匹配效果图

ORB算法特征点匹配效果图如图8所示。将本文共享坐标系算法与ORB算法进行对比,结果如表1所示。

图8 ORB算法特征点匹配效果图

表1 ORB算法与共享坐标系算法数据比较

ORB算法进行双目立体匹配后,完成435对特征点匹配;共享坐标系完成308对特征点匹配。图8比图7多了一些倾斜的直线,双目图像相应的特征点对应在同一水平线上,所以这些倾斜匹配特征点对是误匹配的结果,对应表1中ORB算法的误匹配特征点对数。共享坐标系算法是将特征点限制在同一极线上进行匹配,不会出现匹配的特征点对在不同水平线上的错误,因此共享坐标系算法的误匹配特征点对数为0。ORB算法完成立体匹配耗时1947 ms;共享坐标系算法完成立体匹配耗时1013 ms。

5 结论

通过在双目图像上建立共享坐标系,从而在双目特征点匹配过程中实现直接锁定匹配点位置匹配方式,相对于全局匹配寻优的双目立体匹配算法,提高了匹配速度;同时将匹配点位置进行限制,提高了匹配精度。只有左右图像的原点匹配精度高才能保障后续立体匹配的精度,当然锁定匹配点位置后的区域寻优也可以弥补算法对共享坐标系原点精度的依赖。

[1] 原渊.基于ORB特征描述子与随机森林的条码缺陷识别算法[J].国外电子测量技术,2019,38(7):61-64.

[2] 张米令.室内移动机器人RGB-D SLAM算法研究[D].哈尔滨:哈尔滨工业大学,2018.

[3] RIDEAUX Reuben, WELCHMAN Andrew E. Contextual effects on binocular matching are evident in primary visual cortex[J]. Vision research,2019,159:76-85.

[4] 刘炳锐.基于点线特征的双目视觉同时定位与地图构建算法研究[D].成都:电子科技大学,2019.

[5] 王敏行.一种双目视觉的精准立体匹配算法[J].科学技术创新,2019(13):7-9.

[6] 白明,庄严,王伟.双目立体匹配算法的研究与进展[J].控制与决策,2008(7):721-729.

[7] 刘小群.基于双目立体视觉的立体匹配算法研究[D].长沙:中南大学,2011.

[8] WANG Di, LIU Hua, CHENG Xiang. A miniature binocular endoscope with local feature matching and stereo matching for 3D measurement and 3D reconstruction[J]. Sensors (Basel, Switzerland),2018,18(7):2243.

Realization of Binocular Stereo Matching Algorithm Based on Shared Coordinate System

Du Juan1,2Qiu Haitao1,2

(1. School of Automation Science and Control Engineering, South China University of Technology, Guangzhou 510641, China 2. Guangdong Provincial Engineering Laboratory for Advanced Chip Intelligent Packaging Equipment, South China University of Technology, Guangzhou 510641, China)

In the application of binocular vision, stereo matching is an important part to measure the speed and accuracy of the whole vision system. A binocular stereo matching algorithm based on shared coordinate system is proposed. A shared coordinate system is established on the left and right images of binocular stereo matching, and the horizontal and vertical offsets of the left and right images are calculated according to the position relationship of the origin of the two coordinate systems. When matching feature points, the positions of the corresponding matching points can be quickly located according to the horizontal and vertical offsets. Each feature point generates descriptors according to the gray value relationship between it and the surrounding 8 pixel points. It is located by sharing coordinate system and then the descriptors are used to traverse and match the location area. Compared with ORB binocular matching algorithms, simulation results show that this algorithm has faster matching speed and higher accuracy.

binocular vision; binocular stereo matching; shared coordinate system; feature point matching

广州市科技计划项目(201707010061);华南理工大学中央高校业务费项目(2018KZ14);广东省科技计划项目国际科技合作领域(2019A050510007)。

杜娟,女,1975年生,工学博士,副教授,主要研究方向:机器视觉、图像处理、智能控制。E-mail: dujuan@scut.edu.cn

邱海涛,男,1994年生,工学硕士,主要研究方向:机器视觉、图像处理、双目视觉、视觉检测。E-mail: 1207831325@qq.com

TP311.1

A

1674-2605(2020)05-0002-05

10.3969/j.issn.1674-2605.2020.05.002

猜你喜欢

立体匹配偏移量双目
霜 降 苏美玲
基于双目视觉的机器人定位与导航算法
基于格网坐标转换法的矢量数据脱密方法研究
基于双目测距的卡尔曼滤波船舶轨迹跟踪
基于AutoLISP的有轨起重机非圆轨道动态仿真
卷烟硬度与卷接、包装工序相关性分析
以南北地震带为例研究面向地震应急的宏观震中与微观震中偏移模型
双目立体视觉系统的旋转轴方位计算与特征点立体匹配
基于SIFT算法的图像匹配技术在测量系统中的应用
一种改进自适应权重稀疏区域立体匹配算法