计算机系统应用  2018, Vol. 27 Issue (11): 218-223   PDF    
基于融合动态模板匹配的双目测距算法
史珂路1, 田军委2, 雷志强2, 张欢欢1, 孙雷2     
1. 西安工业大学 电子信息工程学院, 西安 710021;
2. 西安工业大学 机电工程学院, 西安 710021
摘要:高空无人机灭火时, 要对火灾点进行探测. 传统的探测方法易受环境的干扰, 并且它的反应不灵敏, 实时性较差. 基于此本文提出了一种基于双目立体视觉的探测方法: 首先搭建实验平台并设计其硬件电路, 然后深入研究了经典的双目立体视觉测距算法, 提出了一种新的测距方法. 该方法主要内容包括: 图像获取、感兴趣区域提取、图像预处理和基于权重融合的动态模板匹配算法. 最后,采用多段非线性补偿的方法构建了测距模型, 并在实验平台上对所构建的测距模型进行了大量的实验, 实验结果表明: 在50 m以内, 该测距模型的误差在1 m以内, 100 m以内, 测距误差在2 m, 匹配精度为6.947像素/m, 基本符合高空无人机灭火的精确测距要求, 故该测距模型测量的距离精度较好, 工程应用性强.
关键词: 测距模型    测距算法    图像预处理    动态模板匹配算法    多段非线性补偿    
Binocular Ranging Algorithm Based on Fusion Dynamic Template Matching
SHI Ke-Lu1, TIAN Jun-Wei2, LEI Zhi-Qiang2, ZHANG Huan-Huan1, SUN Lei2     
1. School of Electronic Information and Engineering, Xi’an Technological University, Xi’an 710021, China;
2. School of Mechatronic Engineering, Xi’an Technological University, Xi’an 710021, China
Foundation item: Science and Technology Coordinating Innovation Project of Shaanxi Province (2015KTZDGY-02-01); Key Project of Shaanxi Science and Technology Department (2017JY-045); Scientific Research Project of Shaanxi Provincial Department of Education (17JK0386)
Abstract: When the high altitude unmanned aerial vehicle is extinguishing, it is necessary to detect the fire point. The traditional detection method is easily disturbed by the environment, its reaction is insensitive and its real-time feature is poor. Therefore, a new method based on binocular stereo vision is proposed in this study. First, we set up the experiment platform and design the hardware circuit. Then the classical binocular stereo vision ranging algorithm is studied deeply, and a new method of distance measurement is proposed. The method mainly includes: image acquisition, region of interest extraction, image preprocessing, and dynamic template matching based on the weight fusion. Finally, the multi segment nonlinear compensation method is used to construct the distance measurement model, and a large number of experiments are carried out on the experimental platform. The experimental result show that within 50 meters, the error of the ranging model is better than 1 meter, and within 100 meters, the ranging error is better than 2 meters, the matching precision is 6.947 pixels/m. The result basically meets the requirement of precise ranging for high altitude UAV fire extinguishing, so the distance measurement accuracy of the ranging model and the engineering application are both good.
Key words: distance measurement model     ranging algorithm     image preprocessing     dynamic template matching algorithm     multi-segment nonlinear compensation    

当高层建筑发生火灾时, 若遇内部停电停水则消防设备难以使用, 在城市道路拥堵且云梯长度有限的情况下, 消防设备不易接近起火点, 严重影响高层建筑火灾扑救, 对生命财产造成不可估量的破坏[1]. 高空灭火无人机因其地形适应性好、具备垂直起降能力和悬停能力, 能很好的承担高层建筑灭火任务.

高空无人机在灭火时首先需要精确测量灭火点和无人机的间距. 目前, 常见的检测方法有: 超声波测距[2]、激光脉冲测距[3]、红外测距[4]、光学测距[5]和立体视觉测距[6]等. 超声、激光、红外测距法属于主动测距法, 因其发射和接收设备价格昂贵, 反射、噪音、交叉等环境问题难以解决, 因而主动法测距不具有普遍应用性.

双目立体视觉测距系统具有信息丰富, 探测距离广, 外界干扰较小, 反应快, 响应时间短, 系统构成简单, 成本低等优点[7]. 双目视觉系统的测距精度, 主要难点在于图像匹配的精度, 本文目的旨在解决这一难点. 左右图像匹配目前最常用的是动态模板匹配, 目前已有不少研究成果. 李军将动态模板匹配应用到导弹跟踪锁定目标的过程中[8]; 陈永雷将动态模板匹配应用到确定动态图像中的目标识别与跟踪方面[9].

Long Van、Nguyen-Dinh, Daniel等人[10]将动态模板匹配应用到小型可穿戴设备的在线手势识别系统中, 提高了系统的抗干扰性. 以上三种算法计算量大且实时性难以满足高空灭火的需求, 本文结合实际应用环境, 提出了一种权重融合的动态模板匹配算法. 通过给三种动态模板匹配算法分配相应的权重, 来达到去除误匹配点的目的, 来提高测距精度.

1 双目立体视觉测距模型的建立

本文所采用的双目立体视觉系统, 将左右两个摄像机平行放置, 点O1X1Y1Z1组成的直角坐标系为左摄像机坐标系, 点O2X2Y2Z2组成的直角坐标系为右摄像机坐标系, x1y1z1为左图像坐标系, x2y2z2为右图像坐标系. 测距原理图如图1所示.

图1可得, 设在摄像机坐标系下, P点的坐标为(X, Y, Z), 左图像坐标系下坐标为(x1, y), 右图像坐标系下的坐标为(x2, y). P点在X-Z平面投影如图2所示.

根据图2, 下列关系式成立:

$Z = f\frac{B}{d}$ (1)
$d = {x_2} - {x_1}$ (2)
图 1 双目测距原理图

图 2 X-Z平面投影图

2 双目视觉测距系统

双目视觉测距系统可实现远距离目标搜索、定位、测距和跟踪等功能, 并实时将目标相对坐标位置和距离参数传送给主控系统. 系统结构如图3所示.

图 3 双目测距系统总体方案框图

该系统由云台子系统、视觉测距子系统和电源子系统三部分构成, 其中云台子系统实现远距离目标搜索和跟踪等功能, 视觉测距子系统用于远距离测量(距离、尺寸、坐标)等参数、并将这些参数通过通讯总线传送到无人机的中央信息处理系统.

双目视觉测距系统的实验平台主要由: 两个200万像素的摄像机、一个三脚架、一个微型主控板、一个显示屏、一个测距仪、供电电源等组成. 本文后续的测距实验是在两摄像头平行放置, 并且基线距离为300 mm的情况下进行的. 其中精密测距仪, 可以精确测量目标的距离, 测程范围为2~2000 m, 测量误差为±1 m, 本实验最终会将实验平台所测的数据与测距仪测得的数据进行对比和分析, 得出结果.

3 双目测距算法 3.1 图像预处理

为了减少后续算法的计算量, 首先双目摄像机将采集到的彩色图像使用加权平均值法转化为灰度图像; 然后对左摄像头采集图像进行感兴趣区域提取, 获得模板图像; 然后对模板图像和右目指定区域进行中值滤波, 平滑掉图像的噪声, 保留图像细节, 然后对图像进行直方图均衡化, 提高目标与背景的反差, 达到增强图像的目的; 最后使用Soble算子对图像的边缘进行处理, 提高边缘的清晰度. 预处理算法流程图见图4.

图 4 图像预处理算法流程图

3.2 感兴趣区域提取

感兴趣区域(简称ROI)即一幅图像中最能引起观察者的关注的部分, 最能表达图像的重点内容的区域. 只对图像的感兴趣区域进行相应的操作, 这样可提高系统的运行效率, 还可降低非感兴趣区域对结果产生干扰[11].

本文采用基于图像分割技术来提取ROI, 但是传统的图像分割算法复杂度高、效率较低, 不能满足本课题实时性的需求, 因此, 笔者提出一种新的提取感兴趣区域的思路, 即我们设定左目中心虚框内获取到的图像为模板图像T, 将模板图像T从整幅图像中提取出来, 然后右目在区域S内进行逐点扫描, 进行相关匹配:

本系统的感兴趣区域是左目的模板图像T, 如图5(a)所示, 和右目的指定区域S, 如图5(b)所示.

图 5 ROI提取示意图

3.3 模板匹配算法

图像匹配是图像处理领域中极为重要的技术, 它是在不同传感器对同一目标在不同视角下得到的两幅图像中找出相似的特征点, 根据匹配算法计算两幅图像的关联程度[12]. 目前, 应用比较广泛的匹配方法是基于图像灰度的模板匹配方法, 模板匹配算法原理通俗易懂, 算法实现相对容易, 匹配精度高. 目标不确定的情况下, 如果根据固定不变的预知模板图像进行模板匹配, 则很容易导致本测距系统应用范围狭窄. 为此, 我们采用动态模板匹配算法. 动态模板匹配算法不是预先制定目标模板, 而是在无人机探测的过程中, 根据当前的图像动态, 自动生成目标图像作为模板进行匹配.

3.4 权重融合动态模板匹配算法

本文所使用的OPENCV环境提供了六种动态模板匹配方法, 以此为基础, 本文提出一种基于权重融合的动态模板匹配算法. 三种动态模板匹配的相似性度量函数如下:

1) 归一化平方差匹配法(TM_SQDIFF_NORMED)

${R_1}\left( {x,y} \right) = \frac{{\sum\nolimits_{x',y'} {{{\left( {T\left( {x',y'} \right) - I\left( {x + x',y + y'} \right)} \right)}^2}} }}{{\sqrt {\sum\nolimits_{x',y'} {\left( {T{{\left( {x',y'} \right)}^2} \cdot {{\sum\nolimits_{x',y'} {I\left( {x + x',y + y'} \right)} }^2}} \right)} } }}$ (3)

2) 归一化相关匹配法(TM_CCORR_NORMED)

${R_2}\left( {x,y} \right) = \frac{{\sum\nolimits_{x',y'} {\left( {T\left( {x',y'} \right) \cdot I'\left( {x + x',y + y'} \right)} \right)} }}{{\sqrt {\sum\nolimits_{x',y'} {\left( {T{{\left( {x',y'} \right)}^2} \cdot {{\sum\nolimits_{x',y'} {I\left( {x + x',y + y'} \right)} }^2}} \right)} } }}$ (4)

3) 归一化相关系数匹配法(TM-CCOEFF_NORMED)

${R_3}\left( {x,y} \right) = \frac{{\sum\nolimits_{x',y'} {\left( {T'\left( {x',y'} \right) \cdot I'\left( {x + x',y + y'} \right)} \right)} }}{{\sqrt {\sum\nolimits_{x',y'} {\left( {T'{{\left( {x',y'} \right)}^2} \cdot {{\sum\nolimits_{x',y'} {I'\left( {x + x',y + y'} \right)} }^2}} \right)} } }}$ (5)

以上三种归一化的匹配方法中, 归一化相关系数匹配法的误判率是最低的, 但是在实际应用中对于运动目标匹配的实时性和准确性还不能满足我们的要求. 因此我们采用融合以上三种匹配方法, 就是给以上三种归一化的匹配方法分配不同的权重, 误判率相对较低的分配的权重最高, 误判率相对较高的分配的权重最低. 通过融合可以进一步提高算法的性能[13]. 其相似性度量函数为:

$R\left( {x,y} \right) = {\lambda _1}{R_1}\left( {x,y} \right) + {\lambda _2}{R_2}\left( {x,y} \right) + {\lambda _3}{R_3}\left( {x,y} \right)$ (6)

其中, 公式(6)中R1(x,y)表示归一化平方差匹配法, R2(x,y)表示归一化相关匹配法, R2(x,y)表示归一化相关系数匹配法. R(x,y)越大表示匹配效果越好.

完整的双目测距算法流程如图6所示.

图 6 双目测距算法软件流程框图

4 实验分析及测距模型的建立 4.1 匹配实验及分析

实验设置和流程如下: 实验是由A、B、C、D人组成, 测量范围0~100 m, 实验时间2017年3月26日, 下午4点, 晴天, 光照良好. A为目标, 以固定间距运动, 每次间隔5 m; B负责用本文设计的测距系统测量出目标人物与摄像头的距离; C负责记录视差和距离的实验数据, D负责录像.

实验过程如图7(a)所示; 显示屏中的内容截图如图7(b)所示, 其中, 上图为左目摄像头的图像, 下图为右目摄像头的图像, 右上角显示视差信息.

图 7 实验过程与显示截屏图

匹配实验数据如表1.

表 1 匹配实验数据

通过对表1中的实验数据得知: 5 m到10 m, 视差变化了422个像素, 距离变化了5 m; 10 m到15 m, 视差变化了113个像素, 距离变化了5 m; 15 m到20 m, 视差变化了49个像素, 距离变化了5 m; …, 95 m到100 m, 视差变化了4个像素, 距离变化了5 m, 从而得知视差与距离是非线性的关系.

根据表1匹配实验数据画出距离与视差的曲线关系, 如图8所示.

图 8 距离与视差的曲线关系图

4.2 构建模型

通过以上分析可知: 视差与距离是非线性的关系, 因此我们采用多段非线性补偿法求视差与距离的关系. 根据测量误差小于一米的要求将视差曲线分成n条小线段或者切线, 将这些小线段连起来形成折线, 从而实现非线性补偿的效果, 为了保证补偿曲线精度, 曲线划分段数需保证一定数目.

根据表1的匹配实验数据, 并经多次实验最终确定n=10. 采用非线性补偿法对视差曲线进行分段, 对每一段进行求解, 得到距离d1与视差 $\delta $ 的非线性关系, 如式(7)所示:

${d_1} = \left\{ {\begin{aligned} & { - 0.01185\delta + 13.03}&{256 < \delta \leqslant 678} \\ & { - 0.0443\delta + 21.33}&{143 < \delta \leqslant 256} \\ & { - 0.1064\delta + 30.21}&{96 < \delta \leqslant 143} \\ & { - 0.1493\delta + 34.33}&{29 < \delta \leqslant 96} \\ & { - 0.5263\delta + 45.26}&{10 < \delta \leqslant 29} \\ & { - 0.4545\delta + 44.55}&{ - 12 < \delta \leqslant 10} \\ & { - 1.25\delta + 35}&{ - 28 < \delta \leqslant - 12} \\ & { - 3.33\delta - 23.33}&{ - 31 < \delta \leqslant - 28} \\ & { - 2.143\delta + 13.57}&{ - 38 < \delta \leqslant - 31} \\ & { - 3.33\delta - 31.67}&{ - 41 < \delta \leqslant - 38} \end{aligned}} \right.$ (7)
4.3 模型验证实验及结论

将已经建好的距离与视差曲线几何关系模型加入到算法程序中去, 再进行相关实验, 实验过程如匹配实验所描述, 得到的数据结果如表2所示.

表2中的实际距离和绝对误差绘制成曲线图, 如图9所示(单位: m).

表 2 距离与视差关系模型d的实测结果

图 9 模型的绝对误差图

图9可以看出, 模型d在50 m内误差在1 m以内, 在50~100 m误差保持在2 m以内, 精度比较好, 可以满足系统要求. 从表2中可以计算出匹配精度: 首先计算每5 m视差的变化量, 然后求100 m内视差变化量的平均值, 通过计算可得匹配精度为6.947 pix/m.

5 结论与展望

为了解决传统的双目测距算法存在的缺点: 实时性差, 算法复杂, 匹配精度差等. 本文提出了一种基于融合动态模板匹配的双目测距算法, 该算法具体实现相对简单、容易理解实时性和匹配精度高等优点, 经过实验验证满足高空无人机灭火在径向100 m以内的精确测距需求. 在下一步的工作中, 笔者将进一步提高匹配算法的精度, 使匹配结果更加准确.

参考文献
[1]
李俊杰. 大空间建筑火灾源点自动定位技术研究[硕士学位论文]. 西安: 西安建筑科技大学, 2014. 5.
[2]
曾德怀, 谢存禧, 张铁, 等. 行走机器人的超声波测距系统的研究. 机械科学与技术, 2004, 23(5): 613-616. DOI:10.3321/j.issn:1003-8728.2004.05.035
[3]
赵栋, 刘立人, 王吉明, 等. 基于光子数目比较的激光测距法. 光学学报, 2006, 26(7): 1091-1096. DOI:10.3321/j.issn:0253-2239.2006.07.026
[4]
吴晓, 华亮, 李智. 移动机器人红外感测系统研制. 微计算机信息, 2009, 25(20): 191-193.
[5]
刘科, 谢敬辉, 李卓. 被动式光学测距误差分析. 光学技术, 2005, 31(4): 586-587, 591. DOI:10.3321/j.issn:1002-1582.2005.04.010
[6]
岳荣刚, 王少萍, 李凯, 等. 基于相似原理的新型双目测距法. 光电工程, 2008, 35(4): 64-68. DOI:10.3969/j.issn.1003-501X.2008.04.013
[7]
邵暖, 李惠光, 刘乐. 基于特征匹配算法的双目视觉测距. 燕山大学学报, 2012, 36(1): 57-61. DOI:10.3969/j.issn.1007-791X.2012.01.011
[8]
李军, 周起勃, 葛军, 等. 动态模板匹配算法对运动目标进行自动锁定跟踪的研究. 红外技术, 2005, 27(4): 328-332. DOI:10.3969/j.issn.1001-8891.2005.04.015
[9]
陈永雷, 胡云安, 赵永涛. 基于动态模板与位置预测的运动目标识别与跟踪. 海军航空工程学院学报, 2007, 22(2): 230-232, 288. DOI:10.3969/j.issn.1673-1522.2007.02.008
[10]
Nguyen-Dinh LV, Roggen D, Calatroni A, et al. Improving online gesture recognition with template matching methods in accelerometer data. Proceedings of the 12th International Conference on Intelligent Systems Design and Applications (ISDA). Kochi, India. 2012. 831–836.
[11]
陈再良. 图像感兴趣区域提取方法研究[博士学位论文]. 长沙: 中南大学, 2012. 5.
[12]
王军, 张明柱. 图像匹配算法的研究进展. 大气与环境光学学报, 2007, 2(1): 11-15. DOI:10.3969/j.issn.1673-6141.2007.01.003
[13]
田军委, 牛秀娟, 赵彦飞. 基于动态模板匹配的运动目标识别. 机械与电子, 2017, 35(1): 77-80. DOI:10.3969/j.issn.1001-2257.2017.01.021