2. 自然资源部第一海洋研究所海洋物理与遥感研究室,山东 青岛 266061
2. Laboratory of Marine Physics and Remote Sensing, First Institute of Oceanography, Ministry of Natural Resources, Qingdao 266061, China
无人船作为一种新型无人水面平台,具有体积小、机动性强、不易被敌军船只发现的优点,逐渐成为对敌侦察、海上维权的重要作战手段[1 – 2]。自主避障是无人船在超视距、遥控无效状态下安全航行的关键。无人船只有准确检测周围海域中的障碍物,如礁石、浮标、船舶等,才能自主规划出安全、最优的避碰路径。
目前,无人船用避障检测手段以激光雷达[3]、航海雷达[4]为主,分别用于检测定位近、远距离的海面障碍物。从无人船安全角度考虑,快速准确定位近距离障碍物目标则更为重要,但价格适中的激光雷达激光线数少,角分辨率低,易漏检体积较小的障碍物,如橡皮艇、礁石等。美国太空与海战系统中心的Larson J.等[5]将双目视觉引入了无人船避障检测领域中,仅通过处理、匹配船载双目相机拍摄的海上可见光图像,即可测得前方障碍物的位置信息,具有实施成本低、角分辨率高的优点。双目视觉因此成为近年来无人船避障检测领域中的研究热点。Shin B. S.等[6]以海天线为界对双目视觉三维重建出的点云数据进行海平面拟合,根据点云相对于海平面的高度、数量信息检测定位海面障碍物。Sinisterra A. J.等[7]首先采用基于在线学习机制的方法检测单目图像中的障碍物,然后匹配双目图像对应点,根据成像几何关系测得障碍物的位置信息。立体匹配是双目视觉海面障碍物测距的关键。多数学者匹配双目图像对应点时采用了基于区域的立体匹配方法[6-8]。然而,无人船体的不规则晃动,增大了双目图像间海面障碍物的尺度、亮度差异,易导致此类方法匹配出现歧义,降低双目视觉测距的准确性。
为提高立体匹配的准确性,本文提出一种改进的AKAZE特征匹配方法,通过提取、匹配非线性尺度空间中障碍物的轮廓角点,可以在尺度、亮度存在差异的条件下准确测得海面障碍物的位置信息。利用本文所提方法研发出一种具有防水、防盐等性能的适用于无人船海上工作环境的宽基线双目视觉系统SV-100。在青岛市胶州湾开展了该系统的测试验证实验,结果表明该系统在100 m内的测距误差小于6 m。
1 改进的AKAZE特征匹配方法本章介绍一种改进的AKAZE特征匹配方法。给定校正后的双目图像,基于非线性扩散滤波原理,采用快速显示扩散方案构建非线性尺度空间,保护障碍物轮廓结构并使得特征提取具有尺度不变性。根据被测像素与图像域、尺度域中邻域圆像素的灰度差提取障碍物轮廓角点,抑制波浪边缘、海面反光等背景干扰因素。最后,采用FREAK算法计算特征描述向量,依据极线约束准则搜索双目图像的匹配点。基于上述方法流程,可准确提取、匹配障碍物的轮廓角点,从而为后续双目视觉障碍物测距提供准确的视差数据。
1.1 尺度空间特征提取受风、浪、流等因素的影响,双目相机会随无人船船体发生不规则晃动,造成双目图像间海面障碍物的尺度、亮度存在差异,易造成匹配歧义。SIFT,SURF,AKAZE等算法于尺度空间中提取具有尺度不变性的特征点,提高了立体匹配的鲁棒性[9]。AKAZE算法基于非线性滤波和快速显式扩散方案构建非线性尺度空间,使图像滤波自适应于边缘结构,保护了图像的局部精度[10]。但该算法比较提取特征点时需计算尺度空间中每一像素的归一化黑塞矩阵行列式值,计算复杂度高,且划定的像素邻域范围小,造成特征提取随机性强,受波浪边缘、海面反光等背景因素影响大。
针对上述问题,本文将FAST算法[11]提取角点的原理应用在非线性尺度空间特征点的提取中。通过提取轮廓角点,以减少干扰点的数量。
1)分别提取不同尺度图像中的特征点,即先于图像域中提取特征点。计算被测像素与所在尺度图像中半径为3邻域圆上16个像素的灰度差,统计灰度差大于阈值εk的像素数量N,若N大于邻域圆上像素总数量的3/4,则判定被测像素为该尺度图像中的特征点,像素数量N的计算公式如下:
$N = \sum\limits_{x \in S} {\left| {I\left( x \right) - I\left( p \right)} \right| > {\varepsilon _k}} \text{。}$ | (1) |
式中:S为以被测像素为圆心划定的半径为3邻域圆上像素的集合;x为邻域圆上的像素;p为被测像素;I为像素的灰度。
2)为保证提取出的特征点具有尺度不变性,需再于尺度域中提取特征点。将提取出的每一尺度图像的特征点分别与上下相邻尺度图像半径为3邻域圆像素的灰度进行比较,如图1所示。
![]() |
图 1 非线性尺度空间特征点提取 Fig. 1 Feature extraction of nonlinear scale space |
针对相邻尺度图像与被测图像分辨率不同的情况,需将邻域圆半径乘以两图像分辨率间的比例系数后,再进行灰度比较。若各邻域圆上与被测点灰度差大于阈值εk的像素数量超过该圆上像素总量的3/4,则保留该特征点。
为增强后续特征点描述向量间的差异性以提高匹配的准确率,本文方法对提取出的特征点群进行采样,仅提取出图像局部区域中分值最高的特征点。根据尺度参数将尺度空间中的特征点重映射至原图像,采用非极大值抑制方法去除大小为3×3像素的图像块中除分值最大的特征点外的其他特征点,分值V的计算公式如下:
$\begin{split} V = \max& \left(\sum\limits_{x \in {S_{bright}}} {\left| {I\left( x \right) - I\left( {{P_k}} \right)} \right| - {\varepsilon _k}} , \right.\\ &\;\,\left.\sum\limits_{x \in {S_{dark}}} {\left| {I\left( {{P_k}} \right) - I\left( x \right)} \right| - {\varepsilon _k}} \right) \text{。} \end{split} $ | (2) |
式中:Pk为特征点;Sbright为特征点邻域圆上大于特征点灰度的像素集合;Sdark为特征点邻域圆上小于特征点灰度的像素集合,特征点邻域圆的半径为3。
1.2 特征描述向量计算提取出尺度空间特征点后,采用FREAK算法计算特征描述向量。该算法仿生人类视网膜中神经元细胞的分布模式,以邻域内相关性较小像素的灰度差为依据描述特征点,能够提高描述向量间的差异性[12]。具体流程如下:
1)以特征点为中心对邻域像素进行采样。采样点共43个,由内向外分布为6层,如图2所示。黑色圆心为采样点,灰色圆圈为采样点感受野。
![]() |
图 2 采样点分布情况 Fig. 2 Distribution of sampling points |
2)完成采样后,对感受野进行高斯滤波。根据采样点灰度信息确定特征点方向。如图3所示。FREAK算法从43个采样点组成的903个采样点对中选取了45个中心对称的采样点对用以计算特征点的方向
![]() |
图 3 用于计算特征点方向的采样点对 Fig. 3 Sample point pairs for calculating the direction of the feature |
${O_d} = \frac{1}{{{M_c}}}\sum\limits_{{P_O} \in R} {\left( {I\left( {P_O^{r1}} \right) - {G_\sigma }\left( {P_o^{r2}} \right)} \right)} \frac{{P_o^{r1} - P_O^{r2}}}{{\left\| {P_O^{r1} - P_O^{r2}} \right\|}}\text{。}$ | (3) |
式中:G为采样点对集合;M为采样点对数;Por1和Por2分别为采样点对中2个采样点的坐标;I为高斯滤波后采样点的灰度。
3)FREAK算法于903个采样点对中筛选出512个相关性较小的采样点用于计算二进制描述向量:
${ F} = \sum\limits_{0 \leqslant \alpha \leqslant \beta } {{2^\alpha }} T\left( {{P_\alpha }} \right)\text{。}$ | (4) |
式中:Pα为采样点对;N为二进制特征描述向量的维数;函数T定义如下:
$T\left( {{P_\alpha }} \right) = \left\{ {\begin{array}{*{20}{c}} {1,\;\left( {{G_\sigma }\left( {P_\alpha ^{r1}} \right) - G\left( {P_\alpha ^{r2}} \right)} \right) > 0} \text{,}\\ {0,\;{\rm{other}}\text{。}\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;} \end{array}} \right.$ | (5) |
式中:Pαr1和Pαr2代表采样点对中2个采样点的坐标。
1.3 双目图像特征匹配相比于多幅单目图像的配准,双目图像特征点的匹配可利用固有的极线约束关系来缩小特征点的搜索范围。对于平行校正后的双目图像而言,仅需沿着行方向自左向右搜索匹配代价最小的点即可,由于FREAK算法计算得到的描述向量为二进制类型,所以采用汉明距离作为匹配代价的计算公式:
$d = \sum {{A_i}} \oplus {B_i}\text{。}$ | (6) |
式中:d为两特征描述向量间的汉明距离,Ai和Bi分别为两特征向量对应位的数值,为异或运算符。基于上述流程,以左目图像为参考图像,右目图像为匹配图像,完成特征点匹配后,再以右目图像为参考图像,匹配左目图像。若2次特征匹配结果相同,则保留匹配对,进而确定双目图像特征点间的一一对应关系。
2 宽基线双目视觉系统由于双目视觉的测距精度与左、右相机间的基线长度成正相关,因此综合考虑拟研发无人船的内部安装条件,船宽为2.5 m,设计搭建了基线长度为1.8 m的双目视觉系统,并命名为SV-100,如图4框线内所示。该系统主要由1 280×960分辨率的CMOS工业面阵相机、8 mm焦距的镜头、IP66等级的室外防护罩、三脚支架及工控机组成。
![]() |
图 4 双目视觉系统 Fig. 4 Stereo vision system |
其中,工业相机的数据接口为千兆以太网口GigE,可实时向工控机传输照片流,保证双目图像的同步采集。室外防护罩具备防水、放盐的功能,可保障双目视觉系统在复杂海况下正常工作。为准确获取无人船前方的海面障碍物的位置信息,以规划出安全、最优的避障行驶路径,本系统海面障碍物测距的流程如图5所示。
![]() |
图 5 无人船双目视觉系统测距流程图 Fig. 5 Flow chart of obstacle ranging for USVs based on the stereo vision system |
1)采用Bought算法极线校正船载左、右目相机采集的双目图像,实现对应点行对准;
2)采样改进的AKAZE特征匹配方法提取、匹配双目图像中海面障碍物的轮廓角点,并计算对应点视差;
3)根据成像几何关系测得障碍物的位置信息。该方法基于Opencv 3.1.0开源计算机视觉库实现,编程语言为C++,运行环境为Windows 7。
3 实验验证及结果分析为验证SV-100双目视觉系统海面障碍物测距的准确性,开展实验测试。实验期间,采用德国Continental AG公司研发的ARS408型毫米波雷达作为SV-100测距准确性的验证手段。ARS408型毫米波雷达是一种紧凑型V波段77 GHZ的长距传感器,探测范围可达250 m,测距误差小于0.4 m,具有灵敏度高、性能稳定的优点。ARS408安装于双目相机中间,在与双目相机的公共视场内,获取前面障碍物的位置信息。
实验场景中,选定了一个浮标为被测障碍物,驱动实验船驶行驶至距离浮标约30 m,60 m,80 m及100 m处停机,控制双目视觉系统、毫米波雷达获取上述位点浮标的距离测量数据。以毫米波雷达数据为基准,验证双目视觉系统于不同范围内的测距误差。双目相机采集的可见光图像如图6所示。
![]() |
图 6 浮标的双目图像 Fig. 6 Binocular images of the buoy |
经定点测量,上述位点浮标的点云分布情况如图7所示。双目视觉重建出的点云中干扰点数量少,原因在于经过改进后的AKAZE特征匹配方法通过提取、匹配具有视觉意义的轮廓角点,有效抑制了波浪边缘的干扰。随着测距范围的增大,障碍物于图像中的占像素比例逐渐减小,部分特征点的匹配中出了歧义,导致重建的点迹分布不规则。但从整体上看,在100 m范围内,双目视觉系统与毫米波雷达测得的点云仅存在较小的位置差异。
![]() |
图 7 障碍物点迹分布情况 Fig. 7 Distribution of the obstacle point cloud |
以毫米波雷达与双目视觉系统测得点云质心间的纵向距离为参考依据,绘制双目视觉系统的测距误差曲线,如图8所示。
![]() |
图 8 双目视觉系统测距误差曲线 Fig. 8 Ranging error curve of the stereo vision system |
双目视觉系统于60 m处的测距误差为2.04 m,误差占比为3.4%,于100 m处的误差为5.65 m,误差占比为5.7%。经与毫米波雷达数据比对,说明双目视觉系统于100 m范围内障碍物测距的准确性高,能够为无人船避碰路径规划提高准确的障碍物位置信息。
4 结 语针对无人船体不规则晃动,导致双目视觉海面障碍物测距过程中立体匹配出现歧义的问题,提出一种改进的AKAZE特征匹配方法。通过提取、匹配非线性尺度空间中障碍物的轮廓角点,从而可准确测得海面障碍物的位置信息。利用本文所提方法研发出一种具有防水、防盐等性能的适用于无人船海上工作环境的宽基线双目视觉系统SV-100。测试实验结果表明,该系统在100 m内的测距误差小于6 m,能够为无人船避碰路径规划提供较为准确的障碍物位置信息。
[1] |
王石, 张建强, 杨舒卉, 等. 国内外无人艇发展现状及典型作战应用研究[J]. 火力与指挥控制, 2019, 44(2): 13-17. |
[2] |
田军, 佘亚军, 蔡龙. 针对持续性跟踪无人艇的探测技术[J]. 舰船科学技术, 2013, 35(4): 98-101. DOI:10.3404/j.issn.1672-7649.2013.04.023 |
[3] |
李小毛, 张鑫, 王文涛, 等. 基于3D激光雷达的无人水面艇海上目标检测[J]. 上海大学学报(自然科学版), 2017, 23(1): 27-36. |
[4] |
MA H, SMART E, AHMED A, et al. Radar image-based positioning for USV under GPS denial environment[J]. IEEE Transactions on Intelligent Transportation Systems, 2017, 1-9. |
[5] |
LARSON J, BRUCH M, EBKEN J. Autonomous navigation and obstacle avoidance for unmanned surface vehicles[J]. Proceedings of SPIE - The International Society for Optical Engineering, 2006, 6230: 623007-623007-12. |
[6] |
SHIN B S, MOU X, MOU W, et al. Vision-based navigation of an unmanned surface vehicle with object detection and tracking abilities[J]. Machine Vision and Applications, 2017, 29: 95-112. |
[7] |
SINISTERRA A J, DHANAK M R, VON ELLENRIEDER K. Stereovision-based target tracking system for USV operations[J]. Ocean Engineering, 2017, 133: 197-214. DOI:10.1016/j.oceaneng.2017.01.024 |
[8] |
MUHOVIC J, MANDELJC R, BOVCON B, et al. Obstacle tracking for unmanned surface vessels using 3-D point cloud[J]. IEEE Journal of Oceanic Engineering, 2019, 1-13. |
[9] |
韩敏, 闫阔, 秦国帅. 基于改进KAZE的无人机航拍图像拼接算法[J]. 自动化学报, 2019, 45(2): 305-314. |
[10] |
ALCANTARILLA P F, NUEVO J, BARTOLI A. Fast explicit diffusion for accelerated features in nonlinear scale spaces[J]. In Proceedings of the British Machine Vision Conference, Bristol, England, 2013, 13.1-13.11. |
[11] |
ROSTEN E, DRUMMOND T. Faster and better: a machine learning approach to corner detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2008, 32(1): 105-119. |
[12] |
ALAPHI A, ORTIZ R, VANDERGHEYNST P. Freak: fast retina key-point[J]. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Providence, RI, USA, 2012, 510-517. |