APP下载

面向远程驾驶的图像测距系统设计

2019-10-30汤鸿剑陈磊陈云

科学与财富 2019年30期
关键词:立体匹配测距

汤鸿剑 陈磊 陈云

摘 要:随着人工智能的快速发展,计算机视觉作为其分支慢慢崭露头角,计算机视觉是指使用计算机来模拟人眼来进行识别与测量。双目测距是计算机视觉的一个重要组成部分,其操作简单、成本低廉,广泛地适用与工地勘测、智能避障、流水线检测和机器人运动控制等領域。本文研究基于计算机视觉的双目摄像头测距系统。该系统将拥有可靠的精确度,有广泛的应用前景,是远程驾驶智能控制的必要技术环节。

关键词:相机标定;图像校正 ;立体匹配;测距

1 研究的背景和意义

近年来,人工智能火热的发展必将成为第四次革命和科技创新的强大驱动力。计算机视觉系统是人工智能的重要一环,不完善性和多样性是计算机视觉领域当前的显著特征。计算机视觉在20世纪70年代之前就被提出,但真正得到关注和发展是在那个年代之后,那时的计算机性能才提高到能处理类似图片这种大容量的数据。但是那时处理图像只是源于各种不同领域的需要(如:脸部特征、指纹、文字等),并没有定义为计算机视觉的一部分,如何解决“计算机视觉问题”并没有形成成型的公式,只能用部分解决具体计算机视觉问题的方法来解决非常有局限的领域的问题,无法广泛推广到各个不同的场合。

计算机视觉是门研究机器如何看世界的科学,更具体的说,是用机器代替人眼对目标进行识别、测量和轨迹追踪,然后经过一系列的图像处理,使计算机生成更便于人类使用的或者仪器能识别的图像。从20世纪开始,人们就对各种动物的眼睛、神经元和视觉相关的脑部神经进行了大量研究,试图描述视觉系统的构成和运作方式,这些研究后来成为了计算机视觉的子领域,人们用计算机创建模拟生物的人工系统,在不同复杂程度上实现运作。正如模拟生物双目视觉,两只眼睛能够定性的感受到现实空间中的物体远近,由此衍生出双目立体视觉技术。双目立体视觉技术是通过计算机模拟人类视觉,使用两个图像采集设备从相邻位置得到被测物在相机中的二维成像,将两张二维图像中被测点分别所在的像素坐标进行差值计算,相当于将两张图片重叠成一张图片,这是图片上会有两个被测点,计算其像素差可以定量的算出被测点与摄像头之间的现实距离。

远程测距是必不可少的工作流程,目前的测距手段如红外线测距、超声波测距和激光测距都有着一定的局限性,均会受到烟雾、灰尘和雨滴的干扰。在特殊环境下,测距激光会因为折射偏离原有路线,影响精度,另外棱镜表面的杂物会将激光折射到不是棱镜中心的位置;

基于图像处理的双目测距作为一个非接触测距系统,能在一定程度上改善环境因素对施工测量的影响。用摄像头实现对距离的测量虽然成本低、使用方便,但其测量的精度方面仍有待提高。

2 测距系统总体设计

实现测距需要设计一种不依赖传播介质的测距方法,双目立体测距可以实现这一要求。双目测距第一步需要用双目摄像头采集图片进行标定得到相机的内外参数,第二步使用得到的畸变系数矫正图片并使用外部参数校正图片使左右图片相关点尽可能在一条水平线上。然后使用匹配算法做出视差图,根据视差图中特定点涵盖的深度信息得到被测物体与摄像头之间的距离,结构图如图1所示。

3 双目立体视觉匹配算法

3.1 SAD算法

1.算法原理

SAD(Sum of absolute differences)是一种图像匹配算法。基本思想:差的绝对值之和。此算法一般用来进行图像块的匹配,求各个像素对应数值差的绝对值之和,评估两个图像块的匹配度。该算法快速、但并不可靠,只是用于后续处理的初步筛选。

2.基本流程

输入两幅图像,一幅ImageL,一幅ImageR,对左图,依次扫描,选定一个锚点:

1)创建一个SAD窗口;

2)用SAD窗口覆盖左图,选择覆盖区域内所有像素点;

3)用SAD窗口覆盖右图,选择覆盖区域内所有像素点;

4)左边覆盖区域所有像素点灰度值分别减去右边覆盖区域对应像素点灰度值,求出差的绝对值之和;

5)移动右图的覆盖窗口,重复3,4的处理;

6)找到这个右图移动范围内SAD值最小的窗口,即找到了与左图锚点的像素值最接近的最佳匹配的图像块。

算法示意图如图2所示。

3.2 半全局立体匹配算法原理

Semi-Global Block Matching(SGBM)半全局块匹配算法。半全局立体匹配是动态规划匹配的改进,保留动态规划算法的简易性,将复杂的二维平面的信息简化为一维平面来进行匹配。

SGBM选取每个像素点的视差值,组成一个视差图,生成一个和视差图成映射关系的全局能量函数,当这个能量函数最小时,便能求解得每个像素最优的视差,像素边缘通过不同的惩罚系数来确保平滑约束。

利用能量函数在一个二维图像中寻找最优解是一个当前技术无法解决的问题,它会随着图片分辨率的提升,难度成倍上升,因此该问题通常被近似分解为多个一维问题累加的线性问题。而且每个一维问题都可以用动态规划来解决。因为对于8连通的像素点1个像素有8个相邻像素,所以一般分解为8个一维问题。

3.3  SGBM算法在OpenCV中的参数含义及配置

在OpenCV中使用函数StereoSGBM ( ) 实现了SGBM算法。SGBM 算法核心步骤有3步:选取匹配基元创建SAD窗口;构建能量函数求向多个方向的扫描的代价和;每个像素取能量代价和函数的最优解铺成视差图。

StereoSGBM类的参数如下:

static Ptr cv::StereoSGBM::create (int minDisparity = 0,

int  numDisparities = 16,

int  blockSize = 3,

int  P1 = 0,

int  P2 = 0,

int  disp12MaxDiff = 0,

int  preFilterCap = 0,

int  uniquenessRatio = 0,

int  speckleWindowSize = 0,

int  speckleRange = 0,

int  mode = StereoSGBM::MODE_SGBM )

minDisparity——最小的視差值;

numDisparity——视差范围,即最大视差值和最小视差值之差,必须是16的倍数;

blockSize——匹配块大小(SADWindowSize),必须是大于等于1的奇数,一般为3~11;

P1,P2——惩罚系数,一般:P1=8*通道数*SADWindowSize*SADWindowSize,P2=4*P1;

disp12MaxDiff ——左右视差图的最大容许差异,默认为-1,不执行左右视差检查;

preFilterCap——预滤波图像像素的截断值;

uniquenessRatio——视差唯一性比率, 视差窗口范围内最低代价是次低代价的1 + uniquenessRatio/100倍时,最低代价对应的视差值才是该像素点的视差,即能显示到图像的视差,否则该像素点的视差为 0,通常为5~15;

speckleRange——视差变化阈值;

Mode——模式。

其中对视差生成影响最大参数有SADWindowSize、numDisparity和uniquenessRatio。其中SADWindowSize和numDisparity是代价计算的参数,uniquenessRatio是后处理的参数。将其他参数设置为默认值,分别将以上三个参数设置为能取到的最小值,得到的最原始的视差效果图。

4 结论

双目立体视觉技术作为当前计算机视觉的前沿和热点,将来必然应用在更广泛的领域,目前双目相关的算法还不够强大,能处理的计算量具有一定的局限,随着技术的发展,计算机视觉也将像人眼一样明辨是非。本论文对计算机视觉的双目立体视觉测距系统做了一定研究,主要包括了双目立体测距系统的原理分析和实现流程,以及使用PC完成测距的一系列操作流程。最终得到了和预期相符的实验结果。

参考文献:

[1]张海波. 基于双目立体视觉的工件识别定位与抓取系统研究[D].中国计量学院,2014.

[2]高如新,朱烜甫.基于ORB算法的双目视觉定位[J].电子测量技术,2017,40(04):142-145.

[3]李双全,章国宝.基于ORB算法的双目立体视觉测距系统[J].工业控制计算机,2017,30(06):42-44.

[4]张家田,王飞,严正国.非接触式距离测量系统[J].电子测量技术,2012,35(09):10-13.

[5]聂春鹏. 基于双目立体视觉的工业机器人目标识别及定位研究[D].长安大学,2015.

[6]陈玄真. 基于双目立体视觉的三维重建方法研究[D].吉林大学,2014.

[7] Liguori, C., Paolillo, A., Pietrosanto, A.. A discussion about stereo vision techniques for industrial image-based measurement systems[P]. Instrumentation and Measurement Technology Conference, 2003. IMTC '03. Proceedings of the 20th IEEE,2003.

[8]曹文祥,冯雪梅.工业机器人研究现状及发展趋势[J].机械制造,2011,49(02):41-43.

[9]Aoki, H.,Furukawa, R.,Aoyama, M.,Hiura, S.,Asada, N.,Sagawa, R.,Kawasaki, H.,Tanaka, S.,Yoshida, S.,Sanomura, Y.. Proposal on 3-D endoscope by using grid-based active stereo[P]. ,2013.

[10]R. Correal,G. Pajares,J.J. Ruz. Automatic expert system for 3D terrain reconstruction based on stereo vision and histogram matching[J]. Expert Systems With Applications,2014,41(4).

[11]Okada, K., Inaba, M., Inoue, H.. Integration of real-time binocular stereo vision and whole body information for dynamic walking navigation of humanoid robot[P]. Multisensor Fusion and Integration for Intelligent Systems, MFI2003. Proceedings of IEEE International Conference on,2003.

[12]黄佳. 基于OPENCV的计算机视觉技术研究[D].华东理工大学,2013.

基金项目:徐州工程学院大学生创新创业训练计划项目(xcx2019087)

猜你喜欢

立体匹配测距
类星体的精准测距
影像立体匹配中的凸优化理论研究
浅谈超声波测距
基于互补不变特征的倾斜影像高精度立体匹配
双目立体匹配算法的FPGA实现
改进导向滤波器立体匹配算法
动态规划立体匹配的状态空间分析和性能改进
带保护线的AT供电测距方案
基于PSOC超声测距系统设计
相对差分单项测距△DOR