APP下载

基于目标移动的单目立体视觉系统研究

2020-11-30陈泽诣华云松

软件 2020年9期

陈泽诣 华云松

摘  要: 近年来,立体视觉在生产生活中发挥着重要的作用。传统的单目立体视觉通常使用移动单目相机的方法完成图像采集功能。本文提出了一种基于目标移动的单目立体视觉系统,以立体视觉原理为理论依据,对相应硬件与软件系统进行设计,搭建了基于目标移動的单目立体视觉系统。通过使用MATLAB等工具进行单目标定,采用基于窗口的稀疏点匹配方法进行图片的匹配,使用物体移动实验验证了该系统是可行的。

关键词: 单目立体视觉;单目标定;目标移动;三轴运动控制器

中图分类号: TP391. 41    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2020.09.039

本文著录格式:陈泽诣,华云松. 基于目标移动的单目立体视觉系统研究[J]. 软件,2020,41(09):145147+161

【Abstract】: In recent years, stereoscopic vision plays an important role in production and life. Traditional monocular stereo vision usually uses the method of mobile monocular camera to complete the image acquisition function. In this paper, a monocular stereo vision system based on target movement is proposed. Based on the principle of stereo vision, the corresponding hardware and software systems are designed, and the monocular stereo vision system based on target movement is built. Through the use of MATLAB and other tools for single target determination, the sparse point matching method based on the window is adopted for image matching, and the object movement experiment is used to verify the feasibility of the system.

【Key words】: Monocular stereo vision; Single target setting; Moving target; Triaxial motion controller

0  引言

机器视觉作为一种人工智能识别系统,在医学、军事、工业、农业等领域中都有广泛应用[1]。一个基本的机器视觉检测系统由光源、相机和图像采集卡、计算机等组成。对移动物体的单目立体视觉研究是一个较新的立体视觉研究方向。在过去的研究中,大多数单目立体视觉系统采用物体静止、相机移动的方式获取图片信息,少部分系统采用镜面对称等方式利用单目相机模拟双目立体视觉系统,而少有研究者采用物体移动的方式获取图片信息。使用该种方式能够较好的运用标定、物体移动轨迹预测等方法,得到较高的系统精度。

1  基于目标物移动的单目立体视觉原理

本文提出了一种基于单相机多工位的求取物体三维坐标位置的方法。

如图1所示,目标物体可以在三轴运动控制器的控制下精确移动。当相机镜头固定不动时,目标物体从图像采集位置A点平移到图像采集位置B点,采集目标物体在不同的点位的图像,利用这些图像进行分析即可求取出目标物体在空间中的三维坐标。我们以目标物沿着x轴的方向移动一次为例。物体的移动的距离已知。如图2所示,将被测物体在初始位置时某一特征点的位置设为A点,将物体在移动后同一特征

点的位置称为B点。我们假设相机坐标系与世界坐标系重合,设点为相机光心,、分别为A点,B点在平面上的投影点,直线与z轴相交于点,图像平面坐标系原点设为。

以求解B点三维坐标为例,先确定其轴坐标和轴坐标。对于平面,如图3所示。

可以直接从图像中得出,即B点的图像平面y轴坐标。

2  相机标定

相机标定的目的是利用空间物体上的某点位的三维坐标与它在图像上对应点之间的相互对应关系来确定相机的内部参数与外部参数[2]。相机需要标定的参数如下:

外部参数R为正交矩阵,共有9个未知数;t为三维平移向量,共有3个未知数。

内部参数包括相机的内参数矩阵和相应的畸变系数,它包括有效焦距;主点坐标,畸变系数。

本文提出的基于目S移动的单目立体视觉系统中只需要一个相机,且该相机固定不动,因此我们将此单目相机坐标系与世界坐标系重合,进而只需要标定出相机的内部参数。本文的单目标定实验部分采用了经典的张正友平面标定法[3],它从平面的单应性着手,提出了一种根据拍摄不同位置和朝向的平面棋盘格图像模板来求解相机的内参数和畸变参数,相较于其他方法更为稳定。

2.1  张正友平面标定

张正友平面标定法的标定步骤如下:

固定相机位置不改变,从多个角度任意转动棋盘格标定板,同时保证标定板在相机视野内,分别拍摄得到若干张它的图像。随后分别检测出图像中的特征点并做好标记[4],再利用相关公式或者使用软件求取相机内部参数和畸变系数;

2.2  标定实验

采用MATLAB标定工具箱来进行基础的单目视觉标定工作,以获取所使用的单目相机的内部参数[5]。将标定板放置于三轴运动控制器的物体平台上,前后翻转较小角度,共采集15张图片。

本系统中使用的标定板的黑白棋盘格方格大小为20 mm20 mm,图案阵列为89,如图5所示。

将MATLAB工具箱配置好。MATLAB工具箱的功能包括了单目标定以及双目标定所需的各种内容[6]:图片读取、角点提取、误差分析、畸变校正、标定参数计算和立体标定等。把单目相机拍摄到的标定图像导入MATLAB工具箱中,MATLAB工具箱会对每一张图片进行角点提取,然后通过MATLAB标定工作箱中的Calibration函数进行相机的单目标定运算。如图6所示。

标定得到的具体参数如表1所示。

3  立体匹配

图像匹配的功能是将物体在移动前后的特征点一一对应,由此计算出物体在图像中的移动的距离与方向,并与物体实际运动的数据、相机的焦距等数值计算得出物体的三维坐标。因此,使用优秀的图像匹配算法能够使计算所得数据更为准确,提升系统的稳定性。

本文采用基于窗口的稀疏点匹配方法,得到目标的特征点的三维信息。以下先介绍基于窗口的匹配原则。

假如对图像点和进行匹配计算,那么对它们的匹配结果与以和点为中心的窗口内的图像点之间进行匹配计算得到匹配结果是一致的[7]。该方法能够把匹配误差有效地规避掉。

先考虑点。将点所在窗口内所有点的灰度值转换成向量,如图7所示。同理获得所在窗口所有点灰度值构成的向量。

向量与的夹角大小是判断匹配度的度量标注,和的匹配度越高,两向量、之间的夹角越小。两向量的夹角计算如式所示:

其中,θ为两向量的夹角。时表示两向量匹配最佳,则表示是最差匹配,如图所示。匹配时将的最小值设为0.9,不大于0.9时就认为是不匹配点。

基于窗口的稀疏点的匹配选取可以明显反映出图像本质属性的特征点,使其作为匹配对象。当特征点的数量越多,匹配的结果也就越可靠,进而其精度也就越高。因此,可靠的特征点的数量对于匹配效果具有决定性作用。

在完成了特征点的提取后,以物体单次运动之前的视图作为基准,匹配物体单次运动之后的视图。实现的过程如下:先在前视图中选定物体的一个特征点,并对它与后视图中同一行里所有的特征點进行向量夹角的计算,得到特征点的匹配点对。记两点间轴上的间距为视差值,越大则表示三维点离相机的距离越近,相反则越远。

4  系统实验

以物体在x轴上运动为例设计实验验证。选用一个小球作为目标物体,经游标卡尺测量得其直径为28.8 mm。将其放置于三轴运动控制器的物体平台上并固定[8]。保持三轴运动控制器的物体平台的y、z轴位置不变,变化三轴运动控制器的物体平台在x轴上的位置。具体步骤如下:

首先使用控制器将设定小球放置的物体平台的当前位置为基准位置,在三轴运动控制器中此位置的坐标被设为了,而当前位置在相机坐标系下的坐标是未知的。在基准位置使用单目相机对小球进行拍摄,如图9所示。

然后使用控制器将三轴运动控制器的物体平台的x轴向正方向移动50 mm,并再次拍摄图像。继续移动,重复此步骤5次。共得到小球在x轴上的6个不同位置的图像。使用本文所述的基于目标移动的单目立体视觉系统的算法对移动前后的图片两两间进行特征点匹配与数据计算,并使用前文求得的单目相机焦距,得到小球的一个特征点在6个位置的实际空间位置坐标。

由实验数据可以发现,由于图像的噪声等干扰,在图像经过预处理后仍然会存在特征点的匹配有所误差,导致该特征点的图像坐标变化不同,影响到计算得出的特征点的深度[9],进而影响到该点的空间的横纵坐标。计算该点的y轴与z轴坐标的的最大与最小值之差与均值之比,得到其误差均在3%以内。

5  结论

本文建立了一套基于目标移动的单目立体视觉系统,使用新的方法分别对单目相机标定、目标物位置求取算法等进行了研究,并通过初步实验验证,整套系统基本满足需求。实验部分使物体在x轴上进行已知设定位置的运动,通过基于目标物移动的单目三维坐标确定原理的算法得到物体实际坐标。分析比对通过计算得到的实际坐标与现实测量得到的坐标的误差。下一步可以使物体在多轴方向上同时运动,使用该系统求取其实际位置。

参考文献

[1]董志如. 基于生物学启示的视触三维重构方法研究及应用[D]. 河北: 河北工业大学, 2009.

[2]汤溢, 陈曦, 刘祥磊. OpenCV的相机标定在高速相机中的应用[J]. 北京测绘, 2018, 5: 578-582.

[3]刘玉婷, 徐祥宇, 王超, 等. 摄像机标定系统方法的研究[J]. 智能计算机与应用, 2019, 3: 133-136, 141.

[4]刘晓. 基于图像处理的包装袋快速定位方法研究[D]. 山东: 山东科技大学, 2015.

[5]汪永超, 耿丽清. 摄像机标定系统方法研究[J]. 天津职业技术师范大学学报, 2019, 2: 59-62.

[6]崔韬. 基于立体视觉的零件三维尺寸测量[D]. 河北: 河北工业大学, 2015.

[7]周鹏. 基于OpenCV的双目立体视觉系统定标与三维重构技术研究[D]. 宁夏: 宁夏大学, 2015.

[8]刘建群, 刘绿山, 罗继合. 嵌入式四轴运动控制器的设计[J]. 制造业自动化, 2008, 2: 51-53.

[9]张开洪, 罗林, 颜禹. 基于立体视觉的桥梁裂缝自动检测系统研究[J]. 重庆交通大学学报(自然科学版), 2014, 5: 37-41, 110.