Print

发布时间: 2019-09-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.180639
2019 | Volume 24 | Number 9




    图像理解和计算机视觉    




  <<上一篇 




  下一篇>> 





双目区域视差快速计算及测距算法
expand article info 仲伟波1, 姚旭洋1, 冯友兵1, 孙雨婷1, 姚徐1,2
1. 江苏科技大学电子信息学院, 镇江 212003;
2. 江苏大学计算机科学与通信工程学院, 镇江 212013

摘要

目的 双目测距对水面无人艇自主避障以及视觉侦察具有重要意义,但视觉传感器成像易受光照环境及运动模糊等因素的影响,基于经典Census变换的立体匹配代价计算方法耗时长,且视差获取精度差,影响测距精度。为了提高测距精度并保证算法运行速度,提出一种用于双目测距的快速立体匹配算法。方法 基于传统Census变换,提出一种新的比特串生成方法,在匹配点正方形支持窗口的各边等距各选3个像素点,共选出8个像素点,这8个像素点两两比较生成一个字节的比特串。将左右视场中的匹配点与待匹配点的比特串进行异或,得到两点的汉明距离,在各汉明距离中找到距离最小的像素点作为匹配像素点,两像素点的横坐标差为视差。本文采用区域视差计算的方法,在左右视场确定同一目标区域后进行视差提取和滤波,利用平均视差计算目标的距离。结果 本文算法与基于传统Census变换的立体匹配视差获取方法相比,在运算速度方面优势明显,时间稳定在0.4 s左右,用时仅为传统Census变换算法的1/5。在Middlebury数据集中的图像对teddy和cones上进行的算法运行时间对比实验中,本文基于Census变换改进的算法比已有的基于Census变换的匹配算法在运行时间上快了近20 s。在实际双目测距实验中,采用本文算法在1019 m范围内测距误差在5%以内,根据无人艇的运动特点和避障要求,通过分析可知该算法的测距精度可以满足低速无人艇的避障需求。结论 本文给出的基于改进Census变换的匹配算法在立体匹配速度上有大幅提高,提取目标视差用于测距,实际测距结果表明,本文算法能够满足水面无人艇的视觉避障要求。

关键词

测距; 双目视觉; 改进Census变换; 立体匹配; 区域视差提取

Rapid calculation and ranging algorithm based on binocular region parallax
expand article info Zhong Weibo1, Yao Xuyang1, Feng Youbing1, Sun Yuting1, Yao Xu1,2
1. School of Electronics and Information, Jiangsu University of Science and Technology, Zhenjiang 212003, China;
2. School of Computer Science and Telecommunication, Jiangsu University, Zhenjiang 212013, China
Supported by: National Key Research and Development Program "Deep-Sea Key Technology and Equipment" of China (2018YFC0309100)

Abstract

Objective The image-based ranging method is more concealed than traditional ranging methods, such as ultrasonic and radar methods. Ranging based on binocular vision for reconnaissance and obstacle avoidance is an important method for unmanned surface vehicles (USVs). However, visual sensor imaging is easily affected by illumination changes and motion blur. The calculated stereo matching cost based on classical Census transform is considerably high, and the stereo parallax accuracy is poor, thereby affecting the productivity and accuracy of ranging. A fast stereo matching and parallax computation algorithm based on improved Census transform for binocular ranging is proposed in this study to improve ranging accuracy and ensure rapid ranging speed. Method A new bit string generation method used in Census transform is proposed. The method selects three pixels at equal intervals on each edge of the square supporting window of the matching point. Eight pixels are selected on the square supporting window edges around the matching point. An eight-bit string is generated by this eight-pixel pairwise comparison and is used for the matching cost calculation between matching points. Then, the Hamming distance between matching points is obtained with the bit OR arithmetic operation between the eight-bit strings of the two matching points from the left and right fields of view separately. The two pixel points from different views with the smallest Hamming distance can be regarded as a pair of matched points. After the matched points are determined, the parallax between the matched points can be achieved easily. The average parallax of the target area in the reference and target images instead of the parallax of the entire area is calculated and adopted to obtain the target distance to reduce the computational complexity. Fortunately, for the stereo ranging used in USVs, the target images always occupy a certain area in two view fields, and the target area has high similarity. The difference in the contours of the targets is minimal, and the concourse can be used to identify the same target in the two views. When the same target area in the left and right fields of view is determined, the parallaxes of all the pixels in the target area are extracted, and the distance of the target is calculated with the average parallax of the target obtained. Result The computation cost of matching based on classical Census transform increases with the matching window. By contrast, the computation cost of matching based on the improved Census transform is stable. The proposed improved algorithm has evident speed advantage when the matching window is large. In the practical binocular ranging for USVs, a binocular image is initially pre-processed via methods such as de-noising and de-blurring. Then, fast stereo matching and parallax calculation based on the improved Census transform are carried out. Finally, the target distance is obtained according to the stereo parallax and binocular imaging model. The ranging error is less than 5% in the range of 1019 m according to the proposed algorithm. The binocular imaging ranging principle indicates that the error of the rapid stereo matching and parallax calculation based on the improved Census transform is not greater than 5%. Conclusion Experiment results show that the proposed matching algorithm based on the improved Census transform can greatly improve the speed of stereo matching. In the practical binocular ranging for USVs, the target area in the left and right fields of view is determined first, and then the average parallax of the target is calculated to obtain the target distance. The actual ranging results show that the distance error is less than 5% and that the proposed algorithm can satisfy the requirements of target ranging and obstacle avoidance for USVs.

Key words

distance measurement; binocular stereo vision; improved Census transform; stereo matching; target parallax extraction

0 引言

基于图像的测距方法比超声、雷达等传统测距方法更具隐蔽性,基于双目视觉的测距、侦察是无人艇的重要手段之一。双目视觉测距一般包括相机标定、图像对校正、立体匹配和距离获取4个步骤。其中立体匹配是双目测距中最关键的一步,双目立体匹配的精度直接影响测距精度,立体匹配的速度直接影响测距效率。

根据立体匹配策略,立体匹配算法分为全局匹配算法和局部匹配算法两大类。全局匹配算法是将图像的像素点匹配问题转化为寻找能量函数最优问题。经典的全局匹配算法有基于图割的算法[1]、基于最小生成树[2-3]和分割树[4]的算法等。基于图割的全局匹配算法利用最大流—最小割算法对全局图最优化分,要求能量函数具有正则性,限制了应用范围。基于最小生成树的全局算法将图像作为4联通的图,得到待匹配图像的最小生成树后进行代价聚合。基于分割树的全局算法对基于最小生成树的全局算法进行改进,在确定图的连通性时引入非局部决策规则代替局部边缘权重策略,取得较好的匹配结果。全局立体匹配算法的效果好,但是计算代价大。

与全局匹配算法相比,局部匹配算法计算复杂度低,效率比全局匹配算法高。常用的局部匹配算法有快速双边带立体匹配算法[5]、跨尺度代价聚合算法[6]以及AD-Census算法[7]等。为了进一步提升线性立体匹配这一局部算法的效率,陈彬等人[8]在GPU平台上进行针对性的并行优化。但是大部分局部匹配算法基于像素的灰度值计算匹配代价,当存在光照变化、运动模糊等影响时,图像的匹配精度急剧下降。概括起来,局部匹配算法一般可分为匹配代价计算、匹配代价聚合、视差提取、视差优化4个步骤,其中匹配代价计算和视差提取是核心步骤[9]

实际应用中,匹配代价的计算易受光照、图像噪声和运动模糊的影响,一方面大大降低立体匹配和视差计算的精度,影响双目测距的准确度;另一方面耗费更多的匹配时间。对无人艇目标快速测距和侦察来说,降低匹配的计算代价非常重要。Lim等人[10]对不同匹配代价计算方法在光照影响下的匹配性能进行比较,发现利用灰度差绝对值之和(SAD)等基于像素灰度值计算匹配代价的方法受光照噪声影响大,基于Census变换进行匹配代价的计算方式对光照有较强的鲁棒性。这对无人艇双目测距中匹配代价计算方式的选取有重要意义,但传统Census变换对中心像素点有很强的依赖性,抗噪声能力差。针对这一缺陷,研究人员进行了改进。Hosni等人[11]将SAD与梯度信息结合,在计算匹配代价时将匹配点和待匹配点各自的梯度值以及支持窗口内各像素灰度差的绝对值之和作为匹配代价; Zhu等人[12]在此基础上进一步改进,提出将灰度差绝对值(AD)、梯度信息与Census变换结合,在计算匹配代价时,不仅考虑匹配点与待匹配点的梯度信息以及灰度差的绝对值信息,而且对中心像素进行Census变换,充分利用像素间的互相关信息。也有研究人员对Census变换本身进行改进优化。Chang等人[13]提出基于Mini-Census变换立体匹配算法,选取中心像素支持窗口固定位置的8个像素点与中心像素点进行灰度值比较,生成比特串,提高了匹配效率,但没有摆脱对中心像素的依赖。吕倪祺等人[14]为了降低Census变换对中心像素的依赖,使用中心像素支持窗口各像素灰度值的加权平均替换中心像素参与变换,并且结合了AD特征进行匹配代价计算,提高了单像素匹配代价的可靠性。但算法的复杂度较高,处理速度有待优化。

针对双目测距中的快速立体匹配和精确视差计算的要求,本文提出一种基于改进Census变换的立体匹配算法,对窗口内的8个像素进行两两比较确定变换码,避免对中心像素点的依赖,降低了噪声的影响。实验结果表明,本文基于Census变换的快速立体匹配算法匹配速度快、抗噪能力强,能够满足无人艇双目视觉测距的要求。

1 匹配代价计算的改进

经典Census变换首先以像素点$p$为中心确定支持窗口。比较窗口内的邻域像素点$q$与窗口中心像素点$p$的灰度值,若$q$点像素灰度值大于$p$点像素灰度值记为1,否则记为0,如式(1)所示。将窗口内所有点与点$p$灰度值大小的比较结果串联形成比特串即得到点$p$的变换码${C_{{\rm{Cen}}}}\left(p \right)$,如式(2)所示。

$ \xi [(I(p),I(q))] = \left\{ {\begin{array}{*{20}{l}} 1&{I(q) > I(p)}\\ 0&{其他} \end{array}} \right. $ (1)

$ {C_{{\rm{Cen}}}}(p) = \mathop \otimes \limits_{q \in \mathit{\boldsymbol{W}}(p)} \xi [(I(p),I(q))] $ (2)

式中,$p$为中心像素点,$\mathit{\boldsymbol{W}}$($p$)是以$p$为中心建立的支持窗口,$q$为中心像素点$p$以外的像素点,$\otimes $为位串联符,$I$($p$)和$I$($q$)为像素点$p$$q$的灰度值。

由式(1)(2)可得左右两幅视场图各像素点的Census变换码,采用汉明距离为对应窗口比特串的初始匹配代价$C(p, q, d)$,其中${M_{{\rm{cl}}}}\left(p \right)$${M_{{\rm{cr}}}}\left({p + d} \right)$为左右图像中分别以点$p$和点$(p+d)$为中心获得的变换码,$d$为给定视差范围${d_{{\rm{min}}}}\sim{d_{{\rm{max}}}}$之间的任意整数值,如式(3)所示。

$ C(p,q,d) = Ha\left( {{M_{{\rm{cl}}}}(p),{M_{{\rm{cr}}}}(p + d)} \right) $ (3)

式中,汉明距离定义为左视场$p$点变换码与右视场的$p+d$点变换码异或结果中1的个数,记录右视场中$p + {d_{{\rm{min}}}}\sim p + {d_{{\rm{max}}}}$区间内各像素点与左视场$p$之间的汉明距离,找到汉明距离最小时对应的$p+d$,该点就是$p$点的匹配点,该对匹配点的视差即为$d$,其值为两匹配像素点的横坐标之差。

经典Census变换过于依赖支持窗口的中心像素,如果中心像素受噪声、模糊影响而改变,则与该点依次进行比较形成的比特串会随之剧烈变化,如此计算汉明距离得到的匹配代价是没有意义的。

基于上述问题,本文提出一种基于改进Census变换的算法进行匹配代价的计算。首先以$p$为中心确定正方形支持窗口,边长$w$

$ w = 2n - 1,n \ge 2,n \in {\bf{N}} $ (4)

在支持窗口的4条边选取8个不同的参考点${r_i}$,其中$i$为参考点的序号数。设窗口左上角像素点坐标为(0,0),水平向右和竖直向下为$x、y$轴正方向,参考点坐标可表示为

$ \begin{array}{*{20}{c}} {{r_i} = }\\ {\left\{ \begin{array}{l} \left( {i \times \left\lfloor {w/2} \right\rfloor ,0} \right)\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;i = 0,1,2\\ \left( {w - 1,\left( {i - 2} \right) \times \left\lfloor {w/2} \right\rfloor } \right)\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;i = 3,4\\ \left( {\left( {w - 1} \right) - \left( {i - 4} \right) \times \left\lfloor {w/2} \right\rfloor ,w - 1} \right)\;\;\;\;\;\;i = 5,6\\ \left( {0,\left\lfloor {w/2} \right\rfloor } \right)\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;i = 7 \end{array} \right.} \end{array} $ (5)

对选取的8个参考点,将相邻参考点的像素灰度值进行比较,若后面的大于前面的记为1,否则记为0。8个值进行串联后产生可以表征支持窗口中心像素点$p$的变换码${C_{{\rm{Cen}}}}\left(p \right)$,具体为

$ {C_{{\rm{Cen}}}}(p) = \mathop { \otimes }\limits_{{r_i} \in \mathit{\boldsymbol{W}}(p)} \left\{ {\begin{array}{*{20}{l}} {\xi \left[ {\left( {I\left( {{r_i}} \right),I\left( {{r_{i + 1}}} \right)} \right)} \right]}&{0 \le i < 7}\\ {\xi \left[ {\left( {I\left( {{r_7}} \right),I\left( {{r_0}} \right)} \right)} \right]}&{i = 7} \end{array}} \right. $ (6)

最后采用式(3)进行匹配代价的计算,取得给定视差范围内匹配点和各点的匹配代价。

基于改进Census变换的匹配算法为每个像素生成1个字节的变换码用于匹配代价计算,采用大的支持窗口匹配时可以节省空间且提高匹配速度。相比于经典Census变换将窗口内所有像素点与中心点进行比较,仅选取窗口内8个点作为参考点,避免了传统Census变换对中心像素的依赖,有效降低了噪声、模糊的影响。对于存在噪声、模糊干扰的实际无人艇双目测距场景有重大意义。

2 区域视差求取

基于局部区域进行视差求取时,由于需要的距离是从目标到视觉传感器的距离,不需要对整幅视场进行视差获取,只要获取目标区域的视差即可,因此需要确定一个目标区域。

水面舰艇或岛屿在视觉传感器侦测范围内占据一定的视场面积,而且目标形状在左右视场中具有很高的相似性,轮廓差别小,因此采用目标轮廓特征进行目标区域的确定。

活动轮廓模型是常用的轮廓提取法,该方法首先设定一个初始轮廓和曲线的能量函数,通过能量函数的最小化使得初始轮廓逼近真实目标边界。该模型的搜索范围较小,不能提取带有凹面的目标轮廓。王沛等人[15]针对合成孔径雷达(SAR)图像特点,结合向量卷积场模型与似然比模型,基于活动轮廓模型进行目标轮廓提取,刘述民等人[16]将活动轮廓模型与立体视觉结合应用于智能驾驶领域的行人检测,都取得了较好效果。

根据水面目标的特点,本文也基于活动轮廓模型在双目视觉获取到的图像中确定目标轮廓。由于双目视觉传感器获取的图像的左右视场在同一目标上的大小差别极小,采用左右视图目标轮廓的面积特征进行轮廓相似度的比较,确定轮廓相似度判定规则为

$ \frac{{\left| {{S_{{\rm{CL}}}} - {S_{{\rm{CR}}}}} \right|}}{{\max \left( {{S_{{\rm{CL}}}},{S_{{\rm{CR}}}}} \right)}} < 0.05 $ (7)

式中,${S_{{\rm{CL}}}}、{S_{{\rm{CR}}}}$分别为左右图像轮廓的面积。当两图像轮廓的面积差的像素点数量小于较大图像轮廓面积的5%时,认为左右视场中的两图像轮廓是同一物体的轮廓。

进行视差求取时,首先在参考图像目标轮廓区域${\mathit{\boldsymbol{A}}_1}$中计算所有像素点的变换码,在待匹配图像中根据轮廓相似度判定规则(式(7))找到与${\mathit{\boldsymbol{A}}_1}$相似度高的区域${\mathit{\boldsymbol{B}}_1}$,也对${\mathit{\boldsymbol{B}}_1}$区域内所有像素点的变换码进行计算。然后选取${\mathit{\boldsymbol{A}}_1}$区域内的像素点${P_1}$作为待匹配点,在视差范围内与${\mathit{\boldsymbol{B}}_1}$内的像素点进行匹配。获得匹配代价最小的像素点${P_2}$,求解${P_1}$${P_2}$$x$轴方向的坐标差$d$,将其绝对值作为计算距离的视差。

获取到目标区域内所有像素点的视差后,进行匹配代价的滤波处理,剔除最大最小值,然后求取目标区域内的平均视差$D$为目标的最终视差。根据双目成像原理,提取目标距离信息,即

$ Z = \frac{{Bf}}{D} $ (8)

式中,$Z$为目标距离信息,$B$为两相机基线距离,$f$为相机焦距。

3 实验结果分析

为了验证本文算法用于无人艇双目视觉测距的有效性和可靠性,在Qt5.8环境下通过C++编程实现算法,硬件平台为Intel i7-6567U,主频3.3 GHz,内存4 GB。进行以下实验:1)基于改进Census变换的立体匹配与基于经典Census变换立体匹配的效率对比实验,实验图像对选自Middlebury数据集[17]。2)基于改进Census变换的立体匹配算法的双目测距验证实验。

3.1 算法效率对比实验

选用Middlebury数据集中的图像对teddy和cones进行算法效率对比实验,如图 1所示。分别采用经典Census变换和本文改进的Census变换进行变换码求取,然后采用汉明距离计算匹配代价,获取参考图像与目标图像各像素点的视差。两组图像的分辨率均为450×375像素,视差搜索范围为0~70像素,所用时间如图 2所示。

图 1 实验用图teddy和cones
Fig. 1 Images for experiment ((a)teddy; (b)cones)
图 2 算法测试时间对比图
Fig. 2 Matching time comparison ((a) teddy images; (b) cones images)

图 2可知,随着匹配窗口的增大,基于经典Census变换的匹配代价计算耗时随之增加,最长用时可高至2 s。祝世平等人[18]对这组图像同样进行了关于视差提取的算法实验,采用改进Census变换并结合动态规划算法进行视差提取,虽然得到了很低的误匹配率,但视差提取算法在teddy和cones图像对的处理耗时较长,无法满足无人艇避障的要求。而本文改进Census变换的匹配代价计算,时间稳定在0.3~0.4 s之间,可见本文改进算法具有明显的速度优势,因此在深度连续的区域采用大窗口进行匹配时,本文改进的Census变换匹配算法是一种效率高、速度快的测距算法。

3.2 双目测距实验

为了进一步验证本文算法立体匹配的精度,将算法得到的立体视差用于双目测距,通过测距精度验证立体视差的提取精度。实验采用的相机焦距为25 mm,基线长100 mm,采集到的图像分辨率为1 280×720像素。在验证实验进行之前,先对双目相机进行标定,以进行图像校正。首先通过标定获取相机的内外参数,采用棋盘格作为标定板,挑选15对成像清晰、多角度拍摄的图像进行标定,得到左相机的内参矩阵$\mathit{\boldsymbol{ML}}$、右相机的内参矩阵$\mathit{\boldsymbol{MR}}$、摄像机外参数旋转矩阵$\mathit{\boldsymbol{Q}}$、平移矩阵$\mathit{\boldsymbol{T}}$, 即

$ \mathit{\boldsymbol{ML}} = \left[ {\begin{array}{*{20}{c}} {10\;623.185}&0&{648.285}\\ 0&{10\;623.005}&{363.315}\\ 0&0&1 \end{array}} \right] $

$ \mathit{\boldsymbol{MR}} = \left[ {\begin{array}{*{20}{c}} {10\;623.184}&0&{642.309}\\ 0&{10\;623.180}&{360.139}\\ 0&0&1 \end{array}} \right] $

$ \mathit{\boldsymbol{Q}} = \left[ {\begin{array}{*{20}{c}} {0.999\;7}&{ - 0.019\;7}&{0.015\;7}\\ {0.020\;1}&{0.999\;6}&{ - 0.020\;7}\\ { - 0.015\;3}&{0.021\;1}&{0.999\;7} \end{array}} \right] $

$ \mathit{\boldsymbol{T}} = \left[ {\begin{array}{*{20}{c}} { - 100.4604}\\ { - 4.1097}\\ {10.9907} \end{array}} \right] $

由内参矩阵$\mathit{\boldsymbol{ML}}$$\mathit{\boldsymbol{MR}}$可以看到,左右相机焦距相同,旋转矩阵$\mathit{\boldsymbol{Q}}$相似于单位矩阵,说明两相机基本处于平行状态。标定的重投影误差如图 3所示,误差最大为0.94像素,平均误差为0.51像素,达到了实用的标准[19]。使用获取的参数对图像进行校正,效果如图 4所示。

图 3 重投影误差
Fig. 3 Reprojection error
图 4 校正前后对比图
Fig. 4 Comparison before and after correction ((a)before correction; (b) after correction)

实际应用中,无人艇双目测距系统中的成像质量除了受光照影响外,还存在由于无人艇晃动造成的图像运动模糊等问题。为了进一步验证本文基于改进Census变换的快速双目测距算法的有效性和可靠性,在无人艇上搭建了双目测距系统进行无人艇运动场景下的双目测距实验。图 5分别是目标距离为5 m和7 m时双目视觉系统获取到的目标图像,被测目标为黑色背景上的蓝色物体。

图 5 存在运动模糊的测距实验场景
Fig. 5 Ranging experiment scene with motion blur

图 5可知,实际实验时由于水面不稳定导致双目视觉系统成像时晃动,造成图像模糊;同时由于太阳光不均匀、水面反光的影响,造成图像曝光不均匀并出现条纹。

实际无人艇双目测距中,首先对双目系统获取的图像对进行去噪、去模糊等预处理,然后采用本文基于改进Census变换的快速立体匹配及视差计算方法进行视差计算。根据双目测距的理论模型,距离$Z$和视差$D$的乘积与基线距离$B$和相机焦距$f$的乘积相等,在无人艇双目测距实验中,采用的双目系统中基线长度为100 mm,相机焦距为25 mm。

在无人艇双目测距实验中,测试目标与相机间的实际距离从10~19 m每隔1 m设定1处,共10处,实验数据如表 1所示,包括根据双目测距原理由实际距离反演得到的理论视差、利用本文快速算法得到的视差、由双目测距模型得到的实测距离以及测距的绝对误差和相对误差。

表 1 无人艇双目测距实验数据
Table 1 Experiment data of stereo ranging for USV

下载CSV
序号 实际距离/mm 理论视差/mm 实测视差/mm 实测距离/mm 距离绝对误差/mm 距离相对误差/%
1 10 000 0.250 00 0.242 15 9 686.12 -313.88 -3.14
2 11 000 0.227 27 0.265 90 10 635.97 364.03 3.31
3 12 000 0.208 33 0.201 03 12 435.95 435.95 3.63
4 13 000 0.192 31 0.199 74 12 516.42 -483.58 -3.72
5 14 000 0.178 57 0.171 55 14 573.01 573.01 4.09
6 15 000 0.166 67 0.159 89 15 635.75 635.75 4.24
7 16 000 0.156 25 0.163 73 15 268.81 -731.19 -4.57
8 17 000 0.147 06 0.154 28 16 204.27 -795.73 -4.68
9 18 000 0.138 89 0.132 61 18 852.27 852.27 4.73
10 19 000 0.131 58 0.125 47 19 925.08 925.08 4.87

表 1可知,采用本文算法求取的视差和测距结果与实际视差和实际目标距离有一定误差。在10~19 m测距范围内实测距离与实际距离的误差小于5%,但随着目标距离增大,实测误差有增大的趋势。

在相机参数不变的情况下,为了得到精度更高的测距结果,可以适当增大双目测距系统的基线长度。因为对于同等距离的同一目标,采用更大基线长度的双目测距系统进行测距时,目标在双目测距系统中左右图像的视差更大,更有利于降低视差误差,进而减小测距误差。但基线长度也不宜过大,以避免无法同时在双目系统中完整获取近场目标图像。在双目测距系统基线长度不变的情况下,相机的焦距越大,理论上测距精度会由于视差精度的提高而提高,但是随着焦距的增大,近距离目标的成像清晰度变差,从而影响了近距离目标视差,但对远距离目标成像影响较小。

当双目系统用于目标测距时,可以根据被测目标距离范围选择适宜的相机焦距,并在一定范围内通过加大双目测距系统中相机基线距离来提升测距精度。当双目系统用于无人艇自主避障时,为了满足避障的可靠性,需尽可能发现更远处的障碍物,为此,一般通过同时增大相机焦距和相机基线距离来实现上述要求。

无人艇进行自主避障时,首先是降低航速,然后根据障碍物现场信息和预设策略进行机动避障。无人艇根据实际情况和任务要求设定避障距离和避障航速,避障航速越高,要求避障距离越远[20]。若设定避障距离为19 m,则避障航速一般不大于5节,即2.57 m/s。本文基于改进Census变换的快速立体匹配及视差计算方法能够在0.5 s内快速获取目标视差并计算出目标距离。在10~19 m距离双目测距系统有不大于5%的误差,即对于19 m外的障碍物,无人艇在距其19 m时才做出需要避障判断,此时留给无人艇的时间约为19/2.57 = 7.39 s,扣除快速视差计算算法需要的0.5 s,无人艇仍有不少于6 s的避障机动时间,足以满足低航速无人艇的自主避障要求。若要实现更高航速下的自主避障要求,则需预设更远的避障距离。

4 结论

针对无人艇双目测距对立体匹配和立体视差的精度要求,本文对传统的Census变换获取匹配代价的算法进行了改进,给出了一种基于改进Census变换的立体匹配算法。改进的算法针对匹配点的特征比特串生成方式进行改进,提高了特征比特串的生成速度。在立体匹配和视差计算阶段,采用区域视差计算的方法,充分利用目标轮廓信息进行匹配和视差提取。这种区域视差计算的方法进一步降低了获取视差运算量,提高了视差计算的精度和速度。

本文改进的Census变换算法在匹配点特征比特串生成时采用了匹配窗口边缘的像素进行异或生成,因此不会出现传统的Census变换算法那种计算耗时会随着匹配窗口的增大而增加的情况。基于Middlebury数据集中的实验结果表明本文基于改进Census变换的匹配及视差获取算法运行时间低于0.4 s,用时稳定,不会随匹配窗口的增大而增加。

采用本文算法进行无人艇实际双目测距的实验结果表明,目标距离在10~19 m范围时,算法的测距误差小于5%。证明本文算法在匹配快速的同时可以有效获取目标的视差,能够满足无人艇双目测距、自主避障和视觉侦察的要求。

本文算法为了提高运行速度,先对像素点特征比特串的生成方式进行了优化改进,在进行左右图像目标匹配时,采取了基于区域的像素点匹配策略,虽然匹配速度得到了很大提升,但是相对于动态规划这类全局性的像素点匹配策略来说误匹配率会较高一些,这也是影响测距精度的重要原因。为了提高测距精度,需要更好的目标区域划分算法来支撑,以进一步降低左右视场中目标区域内像素点的误匹配率。

参考文献

  • [1] Wang H Q, Wu M, Zhang Y B, et al. Effective stereo matching using reliable points based graph cut[C]//Proceedings of 2013 Visual Communications and Image Processing. Kuching, Malaysia: IEEE, 2013: 1-6.[DOI: 10.1109/VCIP.2013.6706415]
  • [2] Yang Q X. A non-local cost aggregation method for stereo matching[C]//Proceedings of 2012 IEEE Conference on Computer Vision and Pattern Recognition. Providence, RI, USA: IEEE, 2012: 1402-1409.[DOI: 10.1109/CVPR.2012.6247827]
  • [3] Yao P, Zhang H, Xue Y B, et al. Iterative color-depth MST cost aggregation for stereo matching[C]//Proceedings of 2016 IEEE International Conference on Multimedia and Expo. Seattle, WA, USA: IEEE, 2016: 1-6.[DOI: 10.1109/ICME.2016.7552942]
  • [4] Mei X, Sun X, Dong W M, et al. Segment-tree based cost aggregation for stereo matching[C]//Proceedings of 2013 IEEE Conference on Computer Vision and Pattern Recognition. Portland, OR, USA: IEEE, 2013: 313-320.[DOI: 10.1109/CVPR.2013.47]
  • [5] Mattoccia S, Giardino S, Gambini A. Accurate and efficient cost aggregation strategy for stereo correspondence based on approximated joint bilateral filtering[C]//Proceedings of the 9th Asian Conference on Computer Vision. Xi'an, China: Springer, 2009: 371-380.[DOI: 10.1007/978-3-642-12304-7_35]
  • [6] Zhang K, Fang Y Q, Min D B, et al. Cross-scale cost aggregation for stereo matching[C]//Proceedings of 2014 IEEE Conference on Computer Vision and Pattern Recognition. Columbus, OH, USA: IEEE, 2014: 1590-1597.[DOI: 10.1109/CVPR.2014.206]
  • [7] Mei X, Sun X, Zhou M C, et al. On building an accurate stereo matching system on graphics hardware[C]//Proceedings of 2011 IEEE International Conference on Computer Vision Workshops. IEEE, 2011: 467-474.[DOI: 10.1109/ICCVW.2011.6130280]
  • [8] Chen B, Chen H P, Li X H. Near real time linear stereo cost aggregation on GPU[J]. Journal of Image and Graphics, 2014, 19(10): 1481–1489. [陈彬, 陈和平, 李晓卉. GPU近实时线性双目立体代价聚合[J]. 中国图象图形学报, 2014, 19(10): 1481–1489. ] [DOI:10.11834/jig.20141010]
  • [9] Hamzah R A, Ibrahim H. Literature survey on stereo vision disparity map algorithms[J]. Journal of Sensors, 2016, 2016(2): 1–23. [DOI:10.1155/2016/8742920]
  • [10] Lim J, Kim Y, Lee S. A census transform-based robust stereo matching under radiometric changes[C]//Proceedings of 2016 Asia-Pacific Signal and Information Processing Association Annual Summit and Conference. Jeju, South Korea: IEEE, 2016: 1-4.[DOI: 10.1109/APSIPA.2016.7820841]
  • [11] Hosni A, Bleyer M, Gelautz M. Secrets of adaptive support weight techniques for local stereo matching[J]. Computer Vision and Image Understanding, 2013, 117(6): 620–632. [DOI:10.1016/j.cviu.2013.01.007]
  • [12] Zhu S P, Yan L N. Local stereo matching algorithm with efficient matching cost and adaptive guided image filter[J]. The Visual Computer, 2017, 33(9): 1087–1102. [DOI:10.1007/s00371-016-1264-6]
  • [13] Chang N Y C, Tsai T H, Hsu B H, et al. Algorithm and architecture of disparity estimation with mini-census adaptive support weight[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2010, 20(6): 792–805. [DOI:10.1109/TCSVT.2010.2045814]
  • [14] Lyu N Q, Song G H, Yang B W. Semi-global stereo matching algorithm based on feature fusion and its CUDA implementation[J]. Journal of Image and Graphics, 2018, 23(6): 874–886. [吕倪祺, 宋广华, 杨波威. 特征融合的双目半全局匹配算法及其并行加速实现[J]. 中国图象图形学报, 2018, 23(6): 874–886. ] [DOI:10.11834/jig.170157]
  • [15] Wang P, Zhou X, Peng R K, et al. Active contour model based on edge and region attributes for target contour extraction in SAR image[J]. Journal of Image and Graphics, 2014, 19(7): 1095–1103. [王沛, 周鑫, 彭荣鲲, 等. 结合边缘和区域的活动轮廓模型SAR图像目标轮廓提取[J]. 中国图象图形学报, 2014, 19(7): 1095–1103. ] [DOI:10.11834/jig.20140714]
  • [16] Liu S M, Huang Y P, Zhang R J. Pedestrian contour extraction and its recognition using stereovision and snake models[J]. Acta Optica Sinica, 2014, 34(5): #0533001. [刘述民, 黄影平, 张仁杰. 基于立体视觉及蛇模型的行人轮廓提取及其识别[J]. 光学学报, 2014, 34(5): #0533001. ] [DOI:10.3788/aos201434.0533001]
  • [17] Scharstein D, Szeliski R, Hirschmüller H. Middlebury stereo vision page[EB/OL].[2019-03-01]. http://vision.Middlebury.edu/stereo/.
  • [18] Zhu S P, Yan L N, Li Z. Stereo matching algorithm based on improved census transform and dynamic programming[J]. Acta Optica Sinica, 2016, 36(4): 208–216. [祝世平, 闫利那, 李政. 基于改进Census变换和动态规划的立体匹配算法[J]. 光学学报, 2016, 36(4): 208–216. ] [DOI:10.3788/aos201636.0415001]
  • [19] Zhang Z. A flexible new technique for camera calibration[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(11): 1330–1334. [DOI:10.1109/34.888718]
  • [20] Zhong W B, Luo Y, Lu D H, et al. Design and implementation of communication navigation and control system for unmanned surface vehicle[J]. Shipbuilding of China, 2018, 59(1): 207–215. [仲伟波, 罗炀, 卢道华, 等. 无人艇通讯导航控制系统设计与实现[J]. 中国造船, 2018, 59(1): 207–215. ] [DOI:10.3969/j.issn.1000-4882.2018.01.020]