«上一篇
文章快速检索     高级检索
下一篇»
  智能系统学报  2021, Vol. 16 Issue (6): 1045-1055  DOI: 10.11992/tis.202103014
0

引用本文  

朱齐丹, 李小铜, 郑天昊. 舰载机位姿实时视觉测量算法研究[J]. 智能系统学报, 2021, 16(6): 1045-1055. DOI: 10.11992/tis.202103014.
ZHU Qidan, LI Xiaotong, ZHENG Tianhao. Research on real-time vision measurement algorithm of shipborne aircraft pose[J]. CAAI Transactions on Intelligent Systems, 2021, 16(6): 1045-1055. DOI: 10.11992/tis.202103014.

基金项目

国家自然科学基金项目(61803116);船舶态势智能感知系统研制项目(MC-201920-X01)

通信作者

朱齐丹. E-mail:zhuqidan@hrbeu.edu.cn

作者简介

朱齐丹,教授,博士生导师,中国自动化学会应用委员会委员,国家绕月探测科学应用专家委员会专家,主要研究方向为智能机器人技术及应用、智能控制系统设计、图像处理与模式识别。主持国家自然科学基金项目、国防973项目、工信部高技木船舶专项项目、科工局国防基础研究重点项目、科技部国际合作项目、海军预研、科研、型号项目等50余项。获国家科技进步二等奖1项、国防科技进步一等奖3项、军队科技进步一等奖1项、黑龙江省科技进步二等奖3项。获发明专利授权20项、软件著作权5项,出版专著4部,发表学术论文200余篇;
李小铜,硕士研究生,主要研究方向为图像处理、机器视觉、深度学习;
郑天昊,硕士研究生,主要研究方向为计算机视觉、深度学习、机械臂、并行编程

文章历史

收稿日期:2021-03-09
网络出版日期:2021-08-30
舰载机位姿实时视觉测量算法研究
朱齐丹 , 李小铜 , 郑天昊     
哈尔滨工程大学 智能科学与工程学院,黑龙江 哈尔滨 150001
摘要:舰载机位姿实时检测对于甲板上的舰载机的运动控制、轨迹规划与防撞等具有重要意义。传统的舰载机调度主要依靠人工判断舰载机位置与航向角进行调度,传统方法不能得出准确数据,还易因为操作员的疏忽与疲劳发生碰撞事故。针对该问题,提出了舰载机位姿实时视觉测量算法。基于YOLO-V4(you only look once version 4)网络以及Canny边缘提取算法对舰载机进行识别分割。创新性地提出一种线框模板匹配算法,通过计算舰载机边缘轮廓与线框模板的匹配度获取最佳位姿。通过并行化与GPU(graphics processing unit)加速,使其满足实时性要求,并在1∶70与1∶14的实物模拟环境中完成测试。结果表明,该算法识别率在95%以上,位置精度在8 mm以内,姿态精度在0.7°以内,速度可达8 Hz。
关键词机器视觉    舰载机位姿    深度学习    目标检测    边缘提取    线框匹配    GPU加速    目标分割    
Research on real-time vision measurement algorithm of shipborne aircraft pose
ZHU Qidan , LI Xiaotong , ZHENG Tianhao     
College of Intelligent Systems Science and Engineering, Harbin Engineering University, Harbin 150001, China
Abstract: Real-time detection of carrier aircraft pose is of great significance to the movement control, trajectory planning, and collision avoidance of carrier-based aircraft on deck. The traditional scheduling of carrier aircraft mainly relies on the manual judgment of the position and heading angle of the carrier-based aircraft. Traditional methods fail to obtain accurate data and readily cause collisions because of operator negligence and fatigue. Therefore, a real-time visual measurement algorithm for the pose of carrier aircraft is proposed. First, the carrier aircraft is identified and segmented based on the you only look once version 4 (YOLO-V4) network and the Canny edge extraction algorithm. Then, an innovative algorithm for wireframe template matching is proposed, and the best pose is obtained by calculating the matching degree between the contour of the carrier aircraft and the wireframe template. The algorithm meets the real-time requirements through parallelization and graphics processing unit acceleration, and the test is completed in the 1:70 and 1:14 physical simulation environments. The results show that the recognition rate of this algorithm is >95%, the accuracy is within 0.7° and 8 mm, and the speed can reach 8 Hz.
Key words: machine vision    shipborne aircraft pose    deep learning    target detection    edge extraction    wireframe matching    GPU acceleration    target segmentation    

舰载机作为航空母舰的主要装备,是海上战场的重要武器。舰载机起飞和着舰的安全性和高效性是衡量航母作战和综合支援能力的重要技术指标。航空母舰上舰载机数量较多,姿态不一,因此获取甲板上舰载机的实时位置与姿态信息对于舰载机起飞和着舰过程中的避碰与轨迹规划具有重大意义。对于三维空间中目标位姿的测量,常根据目标的距离而采用不同的位姿测量方法。对于距离较远的目标,常采用激光雷达技术进行位姿测量,而对于距离相对较近的目标,通常采用机器视觉的方法进行位姿测量。航空母舰上舰载机的位姿测量属于近距离目标位姿测量,故采用机器视觉的方法对舰载机进行位姿测量。

基于视觉的位姿测量方法主要分为传统方法与深度学习方法两类。基于视觉的传统位姿测量方法根据相机的数目可分为单目、双目以及多目。基于单目相机获取的视觉图像信息缺少目标的深度信息,因此若想基于普通单目相机进行位姿测量必须事先获取目标模型的三维信息。文献[1-2]提出了基于三维模型的单目位姿测量方法,设置了一系列的虚拟投影点将目标的三维模型投影到二维平面上构成目标的二维模板库,之后将相机获取到的二维图像与模板库进行匹配,将匹配度最高的二维模板对应的三维位姿作为待测目标的位姿。基于此方法可以准确地解算出目标的三维位姿,但因搜索过程极其耗时,因此该方法的实时性较差。双目立体视觉是视觉感知中实现的一种重要方法,通过左右相机获取含视差的图像即可进行三维重建,获取目标的深度信息,进而进行位姿解算。文献[3]提出了一种基于双目视觉的空间非合作目标位姿测量方法,对左右相机获取到的图像进行SIFT特征提取与匹配,基于双目三维重建原理即可获取所有特征点的三维坐标,从而得到目标的三维点云,之后利用SAC-IA与ICP两步对目标位姿进行求解。基于该方法可以获取较为精确的目标位姿,但由于三维重建以及ICP迭代过程复杂,位姿解算实时性较低。多目视觉是双目视觉的一种延伸,其在双目视觉的基础上增加一台或者多台相机作为辅助测量装备。解决了复杂环境因视野被遮挡和局部信息不精细带来的问题,但存在系统复杂、实时性低等缺点。自2015年开始随着Faster-RCNN、SSD、YOLO等网络的提出,深度学习在二维图像目标识别领域达到了巅峰[4-5],基于此类算法能够精准快速地对目标进行识别。基于深度学习在二维图像目标识别领域的优良性能,国内外大量的研究人员迅速将深度学习引入到了6D位姿估计中,迄今为止提出了许多的网络结构对三维世界中的目标进行6D位姿估计。文献[6]提出了一种基于密集迭代融合的目标6D位姿估计方法,用于从RGB-D图像中估计出已知对象的6D位姿。文献[7]提出了一种实时6D位姿估计方法,该方法的关键技术在于设计一个网络,直接预测待测目标三维预测框3D顶点坐标对应的2D图像坐标,进而构建2D-3D坐标点对,最后通过解PNP即可获取待测目标的位置姿态信息。文献[8]提出了基于物体点云6D位姿估计的深度学习方法,该方法基于三维点云信息对三维场景中的目标进行位姿估计。文献[9]提出了一种先验形状变形用于对类别6D对象进行姿态与大小估计,该方法能从RGB-D图像中恢复出未见实例对象的6D位姿与大小。但此类方法仍存在缺少训练数据,训练过程极其耗时,测量精度较传统方法低等问题。

针对上述位姿测量方法实时性与精度低下的问题,本文提出了一种基于线框模板匹配的舰载机位姿解算算法。引入了基于YOLO-V4网络以及Canny边缘提取算法的多目标分割算法、线框匹配算法以及GPU加速算法,基于该算法对多舰载机目标进行位姿估计,获得了较高的精度和较好的实时性。

1 舰载机位姿实时测量系统

本文提出的舰载机位姿实时测量算法主要包含两个部分:1)基于YOLO-V4网络以及Canny边缘提取算法实现多舰载机目标识别与分割;2)基于线框边缘匹配实现舰载机目标位姿测量,利用类似模板匹配的方法在航母甲板平面的3个自由度内寻找线框模板与目标边缘信息匹配度最高的位置信息与航向角信息,并以此作为舰载机的实时位姿。图1为舰载机位姿实时测量算法的流程。

2 基于深度学习的目标检测与分割

近年来,深度学习在目标检测和图像语义分割等计算机视觉领域取得了巨大的成就。与传统的方法相比,深度学习方法避免了手工设计特征,这使得模型具有良好的自适应能力,提升了模型的泛化能力[10]。目前基于深度学习的目标检测算法主要分为3类[11]:1)基于Two-stage的检测模型,代表性网络为R-CNN系列;2)基于One-stage的检测模型,代表性网络为YOLO、SSD;3)基于Anchor-free的检测模型,代表性网络为CornerNet[12]、FSAF[13]、ExtremeNet[14]、FCOS[15]。基于此类算法能够精准快速地对目标进行识别。本文选择2020年提出的YOLO-V4网络作为多舰载机目标的识别算法,YOLO-V4网络是YOLO-V3网络的改进版,它是将最近几年的一些优秀的网络算法加入到V3中进行堆叠改进而成,YOLO-V4网络在检测速度与精度方面都有极好的性能[16]。本文不涉及对YOLO-V4网络的改进工作,在文献[16]的基础上直接复现YOLO-V4作为多舰载机目标的识别算法。本文采集了500张舰载机目标数量以及角度各异的训练样本,其中部分样本的截图如图2所示。

Download:
图 1 舰载机实时位姿测量算法流程 Fig. 1 Meatruement of airplane position flow
Download:
图 2 YOLO-V4网络训练样本 Fig. 2 YOLO-V4 network training sample

用500张训练样本对YOLO-V4网络进行训练,训练完成的网络识别结果如图3所示。

Download:
图 3 YOLO-V4网络识别结果 Fig. 3 Result of YOLO-V4 network

任意选取50个测试样本对网络进行测试,统计测试结果,其中准确识别的样本个数为49个,出现错误的样本个数仅有1个。由测试结果可以看出,YOLO-V4网络对于舰载机的目标检测准确率可达到95%以上,可以较好地完成目标检测工作。

3 线框模板匹配位姿测量算法 3.1 线框模板匹配算法

模板匹配是一种最原始、最基本的模式识别方法,研究某一特定目标的图案位于图像的什么地方,进而识别目标。它是图像处理中最基本、最常用的匹配方法[17-19]。传统模板匹配算法主要利用像素信息进行匹配,模板是一幅已知图像,而模板匹配就是在一幅大图像中搜索目标,在该图中有要寻找的目标,且目标同模板有相同的尺寸、方向和图像元素,通过一定算法可以在图中找到目标,确定其坐标位置。传统模板匹配方法具有自身的局限性,主要表现在:1)它只能进行平行移动,若原图像中的匹配目标发生旋转或大小变化,该算法无效;2)匹配耗时,实时性低。而本文所需测量的舰载机目标数量较多且姿态各异,固传统的模板匹配算法不适用于航母上舰载机目标的位姿测量。本文提出了一种三维边缘线框模板匹配算法,是传统模板匹配算法基础上的一个改进算法,与传统的模板匹配相比:一是将模板的旋转考虑在内,使得其匹配自由度具有3个,分别对应舰载机的 $x$ 轴位置、 $y$ 轴位置和航向角;二是只用模板的线框和目标图像的边缘进行匹配度计算,使得计算量大幅下降,能够满足实时性要求。除此之外,本文还采用了基于CUDA技术的GPU加速计算,使得位姿测量系统的计算速度能够达到8 Hz。传统模板匹配算法与本文提出的三维线框模板匹配算法如图4所示。

Download:
图 4 模板匹配算法 Fig. 4 Template matching algorithm
3.2 Canny边缘提取算法及其优化

边缘提取是图像处理的常用手段与步骤之一,它通过对原始图像施加某种算子使得边缘信息的像素值不同于其周围的其他非边缘像素,从而使得边缘凸显出来。常用的边缘提取算子包括Sobel算子、拉普拉斯算子、Canny算子等。Canny算法作为一种常用的边缘提取算法,近些年在图像处理中运用得越来越广泛[20-22],其主要包括以下4步:

1)高斯滤波

直接对原始图像计算梯度求取极值必定会严重受到噪音的干扰,故在求取导数前需对图像进行滤波;高斯滤波是一种常见的降噪算法,应用高斯模糊去除噪声,降低了伪边缘的识别。高斯算子是一个类似于正态分布的、中间增益较大、周围增益较小的算子。经过滤波后的像素灰度值如式(1)所示:

$ {g_\sigma }(m,n) = \frac{1}{{\sqrt {2{{\text{π}}}{\sigma ^2}} }}{{\text{e}}^{ - \frac{{{m^2} + {n^2}}}{{2{\sigma ^2}}}}} \cdot f(m,n) $ (1)

2)计算梯度幅值与方向

在图像中,可以将灰度值变化较大的点看作边缘的点,而边缘即是上述幅值变化较大的点的集合。梯度是表示图像变化幅值与方向的常用方式,其可以通过点乘Sobel算子计算,幅值与方向的计算如式(2)、(3)所示:

$ G(m,n) = \sqrt {{g_x}{{(m,n)}^2} + {g_y}{{(m,n)}^2}} $ (2)
$ \theta = \arctan \frac{{{g_y}(m,n)}}{{{g_x}(m,n)}} $ (3)

3)过滤非最大值

在第一步高斯滤波中,由于边缘信息也被模糊放大,可能导致计算梯度值所得到的边缘信息也同样被放大,使得边缘变得不准确;为了减小边缘的宽度,可以采用过滤非最大值的方式,使得边缘宽度尽可能地缩小,直至其接近1像素。具体来说,即某个像素点,如果它是边缘,那么它在该方向上的梯度则为最大值,否则其灰度值应为0。

4)上下阈值过滤

设定上下两个阈值,并将大于上阈值的可能为边缘点的部分直接判定为边缘点,低于下阈值的点直接判定为非边缘点;对于介于上下阈值之间的点,若其与确定为边缘的像素点相邻,则判定其为边缘点,否则为非边缘点。

任意选取一帧含舰载机目标的图像进行Canny边缘提取,得到结果如图5所示。

Download:
图 5 Canny算法边缘提取效果 Fig. 5 Result of Canny process

通过图5可以看到,边缘提取结果中有许多不属于舰载机目标的边缘特征,主要包括两个部分:一是甲板背景边缘,二是由于光照变化问题带来的噪点。在本文中相机是固定不动的,同时还需要对所得图像进行边缘提取,则微弱的光照变化也可忽略,这样就可以认为拍摄到的图像背景始终不会变化。故可以提前采集好背景的边缘图像,为了进一步提升背景减除的强度,用以对抗微弱光照变化引起的噪点,可在提取背景边缘后额外进行一步膨胀操作。经以上步骤可得最终的背景边缘图,如图6所示。

Download:
图 6 膨胀后背景边缘图片 Fig. 6 Background edge picture after expansion

对相机拍摄得到的目标图像进行实时Canny边缘提取,之后将Canny边缘提取结果与膨胀后的背景边缘图片进行背景减除操作,即可得到较为纯净的只含有舰载机边缘特征的图像,如图7所示。由图7可以看出经背景减除的结果中存在一些由于光照变化带来的的噪点,固采用闭操作加轮廓查找的方式来优化结果;闭操作是基本形态学操作的一种,其主要目的是对得到的二值化边缘信息进行处理,连接有微小断痕的边缘信息,去除不属于边缘的点状噪声。其主要步骤包括膨胀与腐蚀,在这之后通过寻找所得图像中的轮廓,计算每条轮廓的长短并去除较短的轮廓,即可得到效果良好的边缘特征图像,如图8所示。

Download:
图 7 背景减除处理结果 Fig. 7 Result of background removal
Download:
图 8 优化后的边缘特征图像 Fig. 8 Optimized edge feature image

通过以上步骤,可以得到较为清晰准确的只含有舰载机目标边缘信息的图像。

3.3 舰载机线框模板的建立

要实现舰载机线框模板与舰载机边缘信息的匹配过程,除了要得到清晰完整的边缘信息外,还需要建立恰当的线框模板。为了建立用于匹配的线框模板,需要获取舰载机模型的几何信息,本文通过对舰载机模型进行了扫描,获取包含舰载机模型几何信息的STL文件。舰载机模型的扫描结果如图9所示。

用三维软件solidworks打开扫描得到的STL文件,选取具有代表性的关键点与关键边即可构建舰载机模型的线框模板。在选取的过程中,需要按照“边缘提取最可能出现的边”作为首要原则,并注意:1)优先选择外围轮廓;2)尽量选择棱角边,尽量避开圆弧面;3)尽量保证边的数量分布均匀。在考虑了以上几点后,我们选择了机翼、尾翼和小部分机首共计47个关键点与40条关键边建立起线框模板,如图10~12所示。

Download:
图 9 舰载机模型扫描结果 Fig. 9 Shipborne aircraft model scan results
Download:
图 10 线框模板Z轴方向的投影 Fig. 10 Z-axis projection of wireframe template
Download:
图 11 线框模板X轴方向的投影 Fig. 11 X-axis projection of wireframe template
3.4 基于鸟瞰算法的多目标去重与初始解估计

本文提出的位姿测量算法支持多相机系统,且不涉及图像拼接,那么就必然存在着由于视野重合所带来的目标重复问题,即存在不同的相机拍摄到同一目标,而基于深度学习的目标分割将其分割为两个不同目标的情况。为解决这个问题,本文提出了一种基于鸟瞰算法的舰载机目标初始解估计,不仅解决了舰载机目标重复的问题,还为后续匹配算法提供了一个初始解,大大提高了算法的实时性。

Download:
图 12 线框模板Y轴方向的投影 Fig. 12 Y-axis projection of wireframe template

假设所有相机均经过内外参标定,则任意一点的世界坐标与像素坐标之间满足式(4)的关系:

$ {Z_c}\left[ {\begin{array}{*{20}{c}} u \\ v \\ 1 \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {{f_x}}&0&{{u_0}} \\ 0&{{f_y}}&{{v_0}} \\ 0&0&1 \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{R}}&{{T}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{X_w}} \\ {{Y_w}} \\ {{Z_w}} \\ 1 \end{array}} \right] = {{\boldsymbol{M}}_{{1}}}{{\boldsymbol{M}}_{{2}}}X $ (4)

式中: $ ({X_w},{Y_w},{Z_w}) $ 为世界坐标; $ (u,v) $ 为像素坐标; ${{\boldsymbol{M}}_{{1}}}$ 为内参矩阵; ${{\boldsymbol{M}}_{{2}}}$ 为外参矩阵。相机的内外参数由相机标定可以获取,因此式(4)中含有3个等式方程4个未知参数。由于缺少深度信息 $ {Z_c} $ ,特征点的像素坐标无法求解出特征点的世界坐标。但对于舰载机来说,其机翼、部分尾翼、机身、头部基本都处于一个平面中,只有部分尾翼不在该平面上。基于此,不妨假设飞机为一平面图形(在本项目中高度为0.034 m的平面图形),其世界坐标中的高度信息均在某一固定高度,由此便可以将式(4)变为含有3个等式方程3个未知参数的方程组,从而由任意特征点的像素坐标均可以求解出对应的世界坐标。

对于3.2节中得到的所有Canny边缘特征点,根据其像素坐标即可求解出对应的世界坐标。对所有求解得到的世界坐标进行统计,获取横、纵坐标的均值,即可将其作为舰载机位置的初始解;将舰载机的姿态角设为0°,即可得到舰载机位置和姿态的初始解,从而加快整个位姿解算算法的实时性。同时,将初始位置距离低于某一阈值的两个舰载机判定为同一架舰载机,从而达到多目标去重的效果。

3.5 匹配度算法的选择与优化

模板匹配使用的搜索方法为遍历法,遍历法也叫蛮力法,是指在一定范围内计算每一个位姿的重合程度,寻找其中最大重合度的位姿作为当前的位姿;但遍历法的时间效率较差,实时性与精度成反比,为了满足实时性要求,可以做两方面优化:1)可以将该过程移植到GPU进行运算,大大加速计算过程(GPU在计算大规模重复的运算时具有巨大优势,例如在本项目的遍历过程中,同价位的GPU计算速度是CPU的30~50倍);2)可以优化重合度的计算。在文献[23]中采用了与本文相似的方法,对舰载机建立其完全的模型,并在计算某个位姿下的线框投影图时,考虑该模型的直角边界、弧面边界以及遮挡关系,得到准确的投影图。该种方法虽然得到的模板图像更加准确,但是在计算模型的空间变换以及遮挡关系时会消耗掉大量的时间。这种方式在遍历每个姿态时对完整的边缘模拟需要巨大的计算过程,包括空间曲线的计算、各个面的相互覆盖等,其在i7-2600上的速度仅为500次/秒;假设遍历步长为 $x$ 方向每次0.01 m, $y$ 方向每次0.01 m,航向角方向每次1°,遍历范围为0.5 m×0.5 m×360°,则其计算速度为0.000556 f/s,完全不可能满足实时性要求;所以,本文采用线框模型关键边的算法。先将三维线框模型投影到二维像素平面,得到47个关键点与40条关键边在二维像素平面上的投影。再计算3.2节得到的Canny边缘特征点到关键边的距离,若距离小于指定阈值则认为该特征点位于关键边上,也就是该特征点位于线框模板上,计算在线框模板上的Canny边缘特征点数量与Canny边缘特征点总量的比值作为重合度。其中点到线段的距离计算分为2种情况:

1)点投影在线段上;

2)点投影不在线段上。

对此,需要分2种情况处理:1)计算值为点到直线的距离;2)点到线段两端点较小的一段的值。这种计算重合度的方法其时间代价几乎完全取决于计算点到线段距离的算法性能,且利用GPU编译器其对算法执行步骤的优化较为薄弱,这里需要额外考虑点到线段距离计算方法的代价问题。表1列举了3种算法并进行了比较。

表 1 点到线段的算法性能比较 Tab.1 Point-to-line distance algorithm performance comparison

实际测试中发现海伦公式法时间代价最小,固采用海伦公式法作为最终方法。

3.6 算法并行化及GPU加速

经过优化的匹配算法对于单个相机、单个目标已经有了较好的识别效果,在参数选择得当的情况下,其计算效率可达0.8~1.2 Hz/s。但对于本文中的多相机、多舰载机目标系统,随着相机数量与目标数量的增加,深度学习与模板匹配的时间消耗也会成倍增加;为了满足实时性要求,基于CUDA的GPU加速必不可少。GPU的架构与CPU采用了不同的设计思路,前者使用较多的计算单元和较精简的指令集,而后者则采用较少的计算单元和较为复杂的指令集,这使得GPU相对与CPU在大规模、不具有复杂结构的线程处理上具有极大的优势[24],而这种情况正适用于模板匹配算法。

基于3.5节可以获得舰载机的初始位姿解,由这个初始解出发,遍历一定范围内的所有可能解,分别计算每个位姿下的线框模板与Canny边缘特征点集的重合度,最大重合度对应的线框模板的位姿即为舰载机位姿的最优解。

在遍历的过程中,所需要考虑的维度一共有3个:1)代表位置信息的 $x$ 轴坐标;2) 代表位置信息的 $y$ 轴坐标;3)代表姿态信息的航向角 $\alpha $ 。正是由于3.2节获取得到了一个初始解,而姿态信息有一个较小的遍历范围(即0°~360°),才使得我们能够在有限的时间内计算所有可能解的重合度并找出其中最优的结果。由此可以将线程组织成32个为一组的线程束,充分利用每个CUDA大核的常量内存和高速缓存(其存取速度大大高于读取GPU全局内存的速度),来加速运算过程。于此同时,用常量内存存储舰载机线框模板,即在整个程序开始时将线框模板数据从主机内存通过GPU内存再到常量内存拷贝一次,之后处理其他帧的时候就不需要从主机内存读取模板信息;并用高速缓存存储Canny边缘特征图像的特征点信息,即每帧图像的特征点从主机内存拷贝到GPU内存,再由GPU内存同步发送给所有大核的高速缓存,这样在每个线程束读取特征点信息时,就大幅度减少了资源冲突的可能。

4 算法验证与性能测试 4.1 硬件环境搭建与算法测试软件编写 4.1.1 硬件环境搭建

根据上文中的算法需要,搭建了相应的实物环境,使用的甲板与舰载机模型均与实物成1∶70比例,甲板由钢板和图层构成,如图13所示(因保密协议要求,此处只给出整套设备的部分图像):舰载机模型采用的是歼-12模型,模型包含黄色与灰色2种,其几何参数完全一致。其中黄色舰载机模型内置了动力系统,用来实现模拟运动中的舰载机位姿检测。

Download:
图 13 硬件实验环境 Fig. 13 Hardware environment

搭建的硬件环境中共有7台相机,其中5台侧方位相机用于对舰载机目标进行位姿测量,另外2台相机位于整个甲板正上方竖直向下,用于对5台侧方位相机进行外参标定。上方相机已完成视野拼接、焦距测定、甲板距离测定等内容。这样得到上方相机的像素坐标即可求解其在甲板上的世界坐标。

相机的内参标定采用经典的张正友相机标定方法,其外参标定采用棋盘格与PNP解算进行标定[25-26],对于棋盘格上的任意角点,通过上方相机均可得到其像素坐标对应的世界坐标,同时可以获取对应角点在侧方相机像素平面的像素坐标。对侧方位相机获取的像素坐标与世界坐标点对进行PNP解算即可得到侧方相机的外参矩阵。

4.1.2 算法测试软件编写

根据算法测试需求,基于QT开发了相应的测试软件,软件功能主要包括:

1)相机视野实时检测;

2)相机内外参标定;

3)实时Canny边缘提取结果显示;

4)舰载机位姿数据显示;

5)舰载机位姿图像化显示。

4.2 算法性能测试

为验证算法的性能,对算法的鲁棒性、实用性、实时性以及精度进行相应的测试。

4.2.1 鲁棒性测试

光照变化以及多舰载机目标之间分割范围出现重叠是影响舰载机位姿解算结果的主要因素,因此分别对以上两个因素进行了测试。

1)光照因素

分别在清晨、正午、傍晚无灯光、傍晚有灯光4种情况下对舰载机位姿测量结果进行了测试,其结果如图14所示。

2)多舰载机目标分割范围重叠

在存在多个目标的情形中,极有可能出现分割范围重叠,从而导致一个目标的分割结果中出现其他目标的边缘信息,使得一般算法位姿求取十分困难。对存在互相遮挡的情形进行了多次测试,其测试结果如图15所示。对测试结果进行统计,得到结果如表2所示。

Download:
图 14 光照因素测试 Fig. 14 Light factor test
Download:
图 15 多舰载机情形测试 Fig. 15 Multi-shipborne aircraft situation test
表 2 舰载机鲁棒性测试 Tab.2 Robustness test of shipborne aircraft

由测试结果可以看出,对于光照变化以及多个舰载机目标分割范围重叠的情形,基于该算法都能得到准确的位姿测量结果。因为,算法的鲁棒性较高。

4.2.2 实用性测试

4.2.1节所进行的算法测试是在室内进行的,无外界强烈阳光的影响,并且对应的舰载机模型都是1∶72的模型。而在实际的应用中,一方面,应用场景是在海上,本文提出的舰载机位姿解算算法必然会受到室外光照的影响;另一方面,实际应用场景中对应的待测目标是用于作战的舰载机,其大小并不是1∶72的舰载机模型的大小。因此,本文提出的算法要想具有实用性,能应用到实际的场景中,一方面必须得适应室外的阳光,另一方面还必须具有能适应不同大小舰载机模型的能力。为了验证本文提出的算法具有实用性,我们将实验环境换到具有强烈阳光的室外,并将舰载机模型换为1∶14的歼-12模型,得到测试结果如图16所示。

Download:
图 16 实用性测试结果 Fig. 16 Usability test results

由测试结果可看出,本文提出的算法同样适用于室外环境且具有不同尺寸的待测目标,具有较好的实用性。

4.2.3 精度测试

对于精度测试,关键在于如何获取用于参考的舰载机准确位姿信息。而在搭建的舰载机甲板上恰好有许多可供参考的规定停机位,如图17所示。

Download:
图 17 甲板指定位姿的停机位 Fig. 17 Decks with designated positions

图17中的十字线位置即为规定停机位,其较长的线段一端和对称的线段的两端恰好对应舰载机机身上的轮胎位置。手动将舰载机放置于停机位上,而该停机位的位置、航向角都已规定好,在忽略微小的手动误差后,只需通过等比缩放即可得到该位置舰载机的参考位姿。通过比较算法测试软件所得到的测量位姿与参考位姿,即可得到舰载机的位姿测量算法的精度。进行10次实验,得到结果如表3所示。

表 3 算法精度测试表 Tab.3 Algorithmic accuracy test table

由测量可以看出,在10次的测量结果中,位置信息最大绝对偏差不超过0.0079 m,航向角绝对值偏差不超过0.612°,因此该算法具有较高的精度。

4.2.4 实时性测试

采用帧率来描述算法的实时性,即每秒可以返回检测到的舰载机位姿数据次数。现准备20张存在2~3个舰载机目标的图片,并利用上文提到的算法对图片中的舰载机模型进行位姿检测,其统计数据如图18所示。由测量结果可知,算法的实时性较高,其速度可达到8 f/s。

Download:
图 18 算法实时性测量结果 Fig. 18 Algorithm real-time measurement results
5 结束语

本文通过结合深度学习与模板匹配两种方法,提出了一种基于线框边缘匹配的舰载机位姿实时检测算法,引入了基于YOLO-V4网络以及Canny边缘提取算法的多目标识别与分割算法、GPU加速算法、线框匹配算法,并通过鸟瞰算法、基于距离代价的重合度算法等方法优化该匹配算法,使该算法既保留了模板匹配耐噪声、精度高的优点,又克服了其计算量大、难以应用于实时系统的缺点。算法验证与性能测试结果表明,该算法具有较好的鲁棒性、实时性、实用性以及精度,该算法识别率在95%以上,位置精度在8 mm以内,姿态精度在0.7°以内,速度可达8 Hz。

参考文献
[1] 于鲲, 丛明煜, 戴文聪. 基于三维模型的空间目标视觉位姿测量[J]. 仪器仪表学报, 2019, 40(4): 179-188.
YU Kun, CONG Mingyu, DAI Wencong. Spatial target vision pose measurement based on 3D model[J]. Chinese journal of scientific instrument, 2019, 40(4): 179-188. (0)
[2] 季涛, 李福东, 杨月全, 等. 基于改进ICP算法和CAD模型库的单目视觉位姿测量[J]. 扬州大学学报(自然科学版), 2019, 22(1): 50-54, 61.
JI Tao, LI Fudong, YANG Yuequan, et al. Monocular vision pose measurement based on improved ICP algorithm and CAD model[J]. Journal of Yangzhou University (natural science edition), 2019, 22(1): 50-54, 61. (0)
[3] 刘祥. 基于双目视觉的空间非合作目标位姿测量方法[D]. 哈尔滨: 哈尔滨工业大学, 2019: 1−8.
LIU Xiang. Non-cooperative target pose estimation based on stereo vision[D]. Harbin: Harbin Institute of Technology, 2019: 1−8. (0)
[4] 王晓林, 苏松志, 刘晓颖, 等. 一种基于级联神经网络的飞机检测方法[J]. 智能系统学报, 2020, 15(4): 697-704.
WANG Xiaolin, SU Songzhi, LIU Xiaoying, et al. Cascade convolutional neural networks for airplane detection[J]. CAAI transactions on intelligent systems, 2020, 15(4): 697-704. (0)
[5] 王婷婷, 苍岩, 毕晓君, 等. 改进的Faster R-CNN网络预测尺度参数[J]. 哈尔滨工程大学学报, 2021, 42(3): 426-432.
WANG Tingting, CANG Yan, BI Xiaojun, et al. Improved faster R-CNN algorithm for object parameter prediction[J]. Journal of Harbin Engineering University, 2021, 42(3): 426-432. (0)
[6] WANG Chen, XU Danfei, ZHU Yuke, et al. DenseFusion: 6D object pose estimation by iterative dense fusion[C]//Proceedings of 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach, USA, 2019: 3343−3352. (0)
[7] TEKIN B, SINHA S N, FUA P. Real-time seamless single shot 6D object pose prediction[C]//Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City, USA, 2018: 1−2. (0)
[8] 李少飞, 史泽林, 庄春刚. 基于物体点云6D位姿估计的深度学习方法[EB/OL]. [2021-02-19] https://doi.org/10.19678/j.issn.1000-3428.0058768.
LI Shaofei, SHI Zelin, ZHUANG Chungang. Deep learning based 6D object pose estimation using point clouds[EB/OL]. [2021-02-19] https://doi.org/10.19678/j.issn.1000-3428.0058768. (0)
[9] TIAN Meng, ANG JR M H, LEE G H. Shape prior deformation for categorical 6D object pose and size estimation[C]//Proceedings of the 16th European Conference on Computer Vision. Glasgow, UK, 2020: 1−2. (0)
[10] 赵永强, 饶元, 董世鹏, 等. 深度学习目标检测方法综述[J]. 中国图象图形学报, 2020, 25(4): 629-654.
ZHAO Yongqiang, RAO Yuan, DONG Shipeng, et al. Survey on deep learning object detection[J]. Chinese journal of image and graphics, 2020, 25(4): 629-654. DOI:10.11834/jig.190307 (0)
[11] 李同, 阮士峰, 陈卓, 等. 基于卷积神经网络的目标检测综述[J]. 科技经济导刊, 2020, 28(27): 18-20.
LI Tong, RUAN Shifeng, CHEN Zhuo, et al. Overview of target detection based on convolutional neural networks[J]. Technology and economic guide, 2020, 28(27): 18-20. (0)
[12] HEI Law, JIA Deng. Cornernet: detecting objects as paired keypoints [C].//Proceedings of the European Conference on Computer Vision (ECCV). Munich, Germany, 2018: 765–781. (0)
[13] ZHU C, HE Y, SAVVIDES M. Feature selective anchor-free module for single-shot object detection [C]. 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). Long Beach, USA ,2019: 840−849. (0)
[14] ZHOU Xingyi, ZHOU Jiacheng, KRÄHENBÜHL P. Bottom-up object detection by grouping extreme and center points[C]//Proceedings of 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach, USA, 2019: 850−859. (0)
[15] TIAN Z, SHEN C, CHEN H, et al. FCOS: fully convolutional one-stage object detection [C].//2019 IEEE/CVF International Conference on Computer Vision (ICCV). Seoul, Korea (South), 2019: 9626−9635. (0)
[16] BOCHKOVSKIY A, WANG C Y, LIAO H Y M. Yolov4: Optimal speed and accuracy of object detection[EB/OL]. (2020-04-22)[2021-05-01]. https://arxiv.org/pdf/2004.10934.pdf. (0)
[17] 曹田, 李勃, 任福继, 等. 快速的圆投影图像匹配算法[J]. 智能系统学报, 2020, 15(1): 84-91.
CAO Tian, LI Bo, REN Fuji, et al. Fast image matching algorithm based on circular projection[J]. CAAI transactions on intelligent systems, 2020, 15(1): 84-91. (0)
[18] 吴清辉. 基于改进SURF特征点的模板匹配算法[J]. 机电工程技术, 2021, 50(6): 208-211.
WU Qinghui. Template matching algorithm based on improved SURF feature points[J]. Mechanical & electrical engineering technology, 2021, 50(6): 208-211. DOI:10.3969/j.issn.1009-9492.2021.06.056 (0)
[19] 江苏蓬, 向伟, 刘云鹏, 等. 采用多特征共生矩阵的模板匹配[J]. 光学 精密工程, 2021, 29(6): 1459-1467.
JIANG Supeng, XIANG Wei, LIU Yunpeng, et al. Template matching algorithm with multi-feature co-occurrence matrix[J]. Optics and precision engineering, 2021, 29(6): 1459-1467. (0)
[20] 王丽芳, 吕建平. 小波变换和Canny算子相结合的图像边缘检测算法[J]. 计算机与数字工程, 2014, 42(8): 1480-1483.
WANG Lifang, LV Jianping. Image segmentation method based on wavelet transform and Canny operator[J]. Computer and digital engineering, 2014, 42(8): 1480-1483. DOI:10.3969/j.issn1672-9722.2014.08.041 (0)
[21] 张月圆, 曾庆化, 刘建业, 等. 基于Canny的改进图像边缘检测算法[J]. 导航与控制, 2019, 18(1): 84-90.
ZHANG Yueyuan, ZENG Qinghua, LIU Jianye, et al. An Improved image edge detection algorithm based on Canny algorithm[J]. Navigation and control, 2019, 18(1): 84-90. DOI:10.3969/j.issn.1674-5558.2019.01.011 (0)
[22] 杨福嘉, 郑丽颖. 基于SIFT的新特征提取匹配算法[J]. 应用科技, 2019, 46(2): 94-97, 103.
YANG Fujia, ZHENG Liying. New feature extraction matching algorithm based on SIFT[J]. Applied science and technology, 2019, 46(2): 94-97, 103. (0)
[23] DAVIS B J, KASZETA R W, CHAMBERS R D, et al. Machine vision tracking of carrier-deck assets for improved launch safety[C]. Proceedings of Signal Processing, Sensor Fusion, and Target Recognition. Baltimore, United States, 2013: 1−11. (0)
[24] 丁科, 谭营. GPU 通用计算及其在计算智能领域的应用[J]. 智能系统学报, 2015, 10(1): 1-11.
DING Ke, TAN Ying. A review on general purpose computing on GPUs and its applications in computation-al intelligence[J]. CAAI transactions on intelligent sys-tems, 2015, 10(1): 1-11. (0)
[25] 张毅, 沙建松. 基于图优化的移动机器人视觉SLAM[J]. 智能系统学报, 2018, 13(2): 290-295.
ZHANG Yi, SHA Jiansong. Visual-SLAM for mobile robot based on graph optimization[J]. CAAI transactions on intelligent systems, 2018, 13(2): 290-295. (0)
[26] 李占旗, 高继东, 彭凯, 等. 基于PnP算法的前方车辆测距方法[J]. 国外电子测量技术, 2020, 39(12): 104-108.
LI Zhanqi, GAO Jidong, PENG Kai, et al. Method of measurement vehicle distance based on PnP[J]. Foreign electronic measurement technology, 2020, 39(12): 104-108. (0)