韩泽凯 ,朱兴华 ,韩晓军 ,孙 凯 ,刘肖宇
(1.中国科学院沈阳自动化研究所 机器人学国家重点实验室,辽宁 沈阳,110016;2.中国科学院 机器人与智能制造创新研究院,辽宁 沈阳,110169;3.中国科学院大学,北京,100049)
水下无人系统包括各类能够执行水下任务的无人水下航行器(unmanned undersea vehicle,UUV),其中自主水下航行器(autonomous undersea vehicle,AUV)因具有在隐蔽条件下自主执行战术任务的能力[1],已经成为各国海军装备的重要研究方向。随着新材料、新能源、人工智能等技术的不断进步,大深度、远航程、大载荷、自主回收成为 AUV 的发展趋势。水下自主对接回收技术作为水下无人系统的关键技术,能够给予AUV 水下自主能源与信息传输能力,实现深远海长期连续作业。
近年来,利用声学信标进行远距离初步导引,光学信标进行近距离精确导引的声光联合导引方法逐渐成为AUV 回收导引的主流方案[2]。Park 等[3]利用黑白相机捕捉五灯光阵列光源,采用传统的分割与形状处理方法成功进行了水池中15 m 距离位置姿态识别,但受限于光源的散射,没有很好地提取出灯光中心,误差较大。Palomeras 等[4]结合主被动信标,使用增强现实(augmented reality,AR)标记补充近距离视觉盲区,在湖水中完成了对接实验。Liu 等[5]提出检测、分割和位姿估计的识别框架,将YOLO(you only look once)网络应用于水下基站识别,成功在湖水环境完成10 m 距离内的光学导引,但该算法会在神经网络检测丢失的情况下失效。Lin 等[6]利用单光源实现2 自由度定位,结合视线导引(line-of-sight,LOS)方案完成了湖上20~30 m 距离的光学导引。张伟等[7]提出视频跟踪算法来解决信标丢失问题,充分利用了视频序列的一致性,但其信标布置与回收方式限制了算法的适用场景与工作距离。
声光联合导引方法在水池环境下已得到充分验证,但实际环境下受扰流、地形等因素干扰,进入光学导引前,声学导引给出的初始位置具有一定偏差,如果不能进入光学有效范围且观测到足够多的信标,就需要耗费更多能量重新进行初步导引。因此如何提升光学导引对初始位置的鲁棒性成为了对接成功的关键,如果光学导引的有效作业空间能够包容声学导引的末端误差空间,将大大提升回收成功率。针对此,文中通过算法与光源阵列设计优化来提升光学导引作用范围。主要创新点在于: 充分利用传统方法与神经网络方法优势,建立了改进的基于神经网络的检测-跟踪算法框架;提出长度裕量、角度裕量、工作空间度量指标与分析方法;利用水池与湖上的对接实验验证了检测、跟踪和位姿估计全流程算法的有效性。
AUV 对接基站主要由回收笼和电子舱构成,基站整体为长2 m,宽1.2 m,高1.2 m 的长方体,如图1 所示。回收笼内置于基站,笼口末端安装电磁铁用于固定对接后的AUV。基站导引设备包括超短基线(ultra-short baseline,USBL)以及光学信标阵列。
图1 对接基站Fig.1 Docking station
实验中使用的便携型AUV(见图2),长2 m,直径240 mm,最大航速5 kn,质量80 kg。AUV 装备惯性测量单元、USBL、NVIDIA Jetson TX2 计算板卡及Nano Sea Cam 单目彩色水下相机。水下相机采集基站的灯光导引信标图片通过Jetson TX2 进行识别与位姿估计。
图2 便携型AUVFig.2 Portable AUV
回收过程中水下视觉导引采用环形作为信标灯阵分布结构,考虑到水体对光的吸收,采用传输损耗较小的450 nm 波长蓝色发光二极管(light emitting diode,LED)光源,经过水池测试,导引信标束散角为44°。信标灯阵均匀安装于回收笼四周,呈正六边形分布,边长为60 cm。
为了解决信标缺失、传统方法识别率低等问题,提出基于神经网络的改进的检测-跟踪算法框架,结合神经网络检测准确率高与传统分割算法效率高的优势,利用重投影机制引入信标分布结构信息,实现实时检测跟踪与神经网络检测并行。
视觉导引算法主要由神经网络目标检测、基于神经网络检测结果的目标区域分割、匈牙利匹配、PnP-P3P 位姿估计、卡尔曼滤波以及重投影模块构成,算法框架如图3 所示。通过相机采集RGB(red-green-blue)图像进行基于神经网络的目标检测,随后对灯阵进行光源提取与跟踪,最后利用PnP-P3P 算法获取AUV 相机相对于基站的位置姿态信息。
图3 检测-跟踪算法框架Fig.3 Framework of detecting-tracking algorithm
图中:D=(u,v,w,h)∈Scamera;L=(u,v)∈Scamera;Q=(x,y,z,yaw,pitch,roll);上标n代表第n帧图像的数据。
算法具体步骤如下:
1)彩色相机的RGB 图像作为输入,利用卷积神经网络对单张图片进行检测识别,得到图像是否存在基站的置信度以及基站在图像中的位置与大小D(n);
7)输出具有时空信息的位姿Q(n)。
目标检测是指从图像中识别目标是否存在并获取相应位置与大小的方法。水下复杂环境引起的图像退化是导致水下目标检测准确率低的主要原因,表现为颜色失真、图像模糊和雾化[8-9]。为了提高检测的成功率,文中引入YOLOv5[10]神经网络目标检测算法和高性能计算平台来完成目标检测任务。与人工特征提取方法相比,神经网络方法通过学习水下真实图像的特征分布,可以有效从退化的图像中识别水下目标。
YOLOv5 将检测目标直接看成一个回归问题来处理,在处理速度上占据优势的同时保持了良好的检测精度。首先将图片分成G×G个方格,随后在每个方格中预测B个不同尺寸大小的目标,获得G×G×B个相应的置信度、位置和大小,最后通过非极大值抑制去除置信度较小的目标至预设的理想目标数量,从而获得最优目标。
目标检测的输出参与下一步光源提取与跟踪的输入,同时可以矫正跟踪循环中重投影的结果。
光源提取是指从原始图像中提取出光源的图像坐标。光源跟踪是指通过匹配上一帧的预测坐标与当前帧的光源坐标来跟踪光源的序号等信息。与传统全局提取与跟踪算法不同,由于引入了神经网络结构,文中提出了基于目标区域的分割策略,充分利用了神经网络的检测结果。在跟踪模块上,通过重投影机制引入了结构信息。
所提出的光源提取跟踪算法在轨迹初始化后能够独立于神经网络检测模块运行,运行速度不受神经网络限制,算法框架不受神经网络检测失效的影响,增强了系统鲁棒性。
1)基于目标区域的分割
现有的光源分割方法在全局进行二值化分割,需要考虑到背景光、水面反射和后向散射等干扰因素[11]。而针对特定场景优化的算法对图像分布有一定要求,不能够解决多种环境干扰。
文中利用检测阶段或者预测给出的目标区域进行分割,直观上去除了大部分非目标背景干扰,简单有效,相比于直方图和频域滤波等方法,更有利于保留目标特征。在更新目标区域时,将神经网络目标检测结果与重投影结果融合。
对于目标区域D,第n帧目标区域D的值为:有目标检测信息,取n帧检测D(n);无目标检测信息,取n-1 帧预测(n+1)。
光源提取的结果是不带有序号匹配信息的各光源中心在图像中的2D 坐标,然而位姿估计算法需要将2D 坐标与3D 坐标匹配,因此需要进一步进行排序与跟踪。
2)改进的检测-跟踪算法
SORT(simple online and realtime tracking)作为主流多目标跟踪算法[12],主要采用检测-跟踪策略。但SORT 算法存在以下问题: 将第1 阶段检测结果进行匹配跟踪,较为依赖直接检测结果,在检测失效时将在当前帧失去跟踪目标;将每个信标视为独立目标,由于多目标跟踪直接应用于信标会丢失整体结构信息,因此在信标数量发生变化时将导致匹配失效。
通过重投影机制将位姿估计的空间信息加入算法框架,利用上一帧目标的卡尔曼滤波预测位置信息来进行匹配,由于信标排列被视为一个整体基站,因此局部的丢失不受影响,能够适应信标的缺失和数量变化。在系统初始化后,跟踪模块可以与检测模块并行实现实时跟踪,获得用于位姿估计的2D-3D 点对。
主流的PnP 算法包括EPnP[13]、RPnP[14]等,算法在n≥4 时具有唯一解。n=3 时,退化为P3P 问题,具有4 个解。在对接过程中,随着AUV 接近基站,部分光源进入相机盲区,n逐渐减少。提出的PnP-P3P 算法将传统单帧图像的姿态估计转化为跟踪解序列问题。考虑到对接过程中视频序列的一致性,因此当可观测信标数量降低到3 个时,可以直观地从前一帧的解中获取信息。
PnP 问题是通过匹配n对真实世界3D 坐标在视觉平面的2D 投影,还原出相机坐标与真实世界坐标的位置和姿态的算法。对于L=(u,v)∈Scamera,R=(r1,r2,r3),T=(t1,t2,t3),Lworld=(xr,yr,zr)∈Sworld,则有
式中:λ为焦距;K为相机内参矩阵;Xc为相机平面3D 坐标;Xr为世界坐标。相机内参矩阵被事先标定,通过L与Lworld求解Q中的6 个未知数。
当点对的数量逐渐降低至3 时,采用最小距离原则从P3P 的4 个解中找出最接近当前位置的解序列,实现连续的位姿估计。
1)检测数据集
水下基站训练数据集包括20 515 张在水池与湖水环境中采集的真实水下退化图像,包括模糊、偏移和环境光等因素的影响。每张水下基站图片标注8 个信标灯的位置。
水下基站测试集包括在水池与湖上采集的5 组连续对接视频,其中有1 组视频仅包含背景,共有2 382 帧图像、542 帧背景图像。
2)实验环境
系统环境为Ubuntu20.04,深度学习框架为Pytorch1.11.0、CUDA11.3 和cuDNN8.2.1,GPU 为NVIDIA RTX A6000,显存48 GB,CPU 为2x Intel Xeon Gold 6234,线程数32。
3)网络训练
通过水下基站训练数据集对网络进行训练,相关参数如表1 和表2 所示,训练损失函数如图4 所示。在验证集上,YOLOv5 的平均精度均值(mean average precision,mAP)达99.42%。
表1 水下基站数据集参数Table 1 Dataset parameters of underwater station
表2 训练参数Table 2 Parameters of training
图4 YOLOv5 训练过程轨迹Fig.4 Training process trajectory of YOLOv5
图5 YOLOv5 检测结果Fig.5 Detection results of YOLOv5
当全局图像存在背景光、前景噪声、信标丢失等干扰,传统方法无法有效提取与跟踪光源。针对以上干扰,对水下基站测试集添加了高斯斑点、遮挡等噪声,以测试提出的算法效果。
如图6 所示,传统分割算法在背景光与前景干扰下无法有效提取光源,提出的基于目标区域的分割充分利用了神经网络的检测结果,能够有效去除水面伪影、背景光干扰以及前景高斯点状光源噪声。
图6 基于目标区域的图像分割结果Fig.6 Image segmentation results based on region
传统SORT 跟踪算法在目标受到遮挡时会丢失信标匹配信息,对于再次进入视场的光源检测效果较差,容易误匹配或丢失目标ID。然而,在对接过程中,大偏移量导致的光源超出视界等情况十分常见。对于跟踪任务,将水下基站测试集进行遮挡处理,采用多目标跟踪(multi-objective tracking,MOT)指标对传统SORT 与文中方法进行比较,在原测试集与遮挡测试集中的指标如表3 所示。
表3 多目标跟踪性能指标Table 3 Multi-objective tracking performance indexes
如图7 所示,在遮挡过程后,SORT 算法失去原序列信息,导致后续的匹配全部错误。而重投影跟踪能够在剩下3 个灯的情况下利用结构信息估计出其他信标的位置。
图7 不同算法在遮挡数据集上的跟踪过程Fig.7 Tracking process of different algorithms on obscured datasets
在一次真实情况下的大偏移量航行中,光源识别跟踪结果如图8 所示。AUV 从笼口左侧经过,过程中基站有效观测信标灯从6 个逐渐递减为1 个。一次对接过程XY-Z轨迹如图9 所示,在仅观测到3 个信标灯时,仍然能够有效完成六自由度位姿估计。在切换PnP-P3P 时曲线出现一定偏移,随后通过目标误差函数最小原则获得最优解。
图8 PnP-P3P 算法跟踪结果Fig.8 Tracking results of PnP-P3P algorithm
图9 对接过程XY-Z曲线Fig.9 XY-Zcurves in docking process
针对光学导引算法指标,文中首次提出利用水下有效导引空间仿真进行度量。通过PnP-P3P 算法,结合信标灯分布进行仿真。采取左右对称均匀灯阵分布,表4 列出了当信标灯数量为n时,相对于基站直径允许的最大长度观测裕量。可以看出,6 个灯的分布在具有一定观测裕量优势的同时,保持了较少的光源数量,因此能够在同样的灯光条件与直径下,允许更大的单光源光功率,扩大了灯光导引距离。
表4 不同信标数量下的长度观测裕量Table 4 Length observation margins of different beacon numbers
在AUV 对接过程中,考虑到相机有效视场角为40°,定义角度观测裕量为
式中,β为AUV 对m个目标信标的最小观测夹角,若夹角大于40°,则AUV 进入视觉盲区。
图10 为α在X-Z平面的分布,随着AUV 接近基站,角度裕值减少。所设计灯光在水下散射角度为44°,假设灯光在水下符合Lambert 分布[15],则每个位置的光强为
图10 角度裕量在X-Z平面分布云图Fig.10 Contours of angle margin in X-Zplane
式中: µ为衰减系数;I0为光源光强;θ为辐射角;z为距离。
定义工作空间强度值为
工作空间强度在X-Z平面的分布如图11 所示。
图11 有效工作空间在X-Z平面分布云图Fig.11 Contours of effective workspace in X-Zplane
同光场分布下,分别定义最小n点观测指标及最小m阈值工作空间指标
提出的算法工作空间指标参见表5。
表5 工作空间指标Table 5 Workspace indexes
仿真结果证明,PnP-P3P 算法能够提升视觉导引有效工作空间,补充了近距离的对接视场,提高了整体对接鲁棒性。
1)水池光学对接
实验水池宽10 m,长25 m,深7 m。基站的中心吊放至水下距离水面2 m 的位置,AUV 在距离基站径向20 m 时从水面进行下潜对接任务,前向速度为0.5 m/s。整个对接过程仅使用视觉方法完成。一次成功的对接如图12 所示。
图12 水池对接过程图像Fig.12 Image of docking process on pool
2)湖上声光联合导引对接
在实际应用场景中,受到环境光和扰流等的影响,对导引算法提出了更高的要求。湖上实验的目的是在水池实验的基础上验证算法的鲁棒性以及声光导引的系统稳定性。选取较为平缓的地形,将基站提前放置于湖底并保证其稳定性,基站中心距离水面15 m。AUV 在距离基站1 000 m 距离从水面下潜,首先进行声学的粗导引,在航行器接近基站15 m 时进入末端光学导引状态。在执行末端对接时,前向速度为0.5 m/s。图13 与图14 为一次成功对接的图像与声学导引轨迹。
图13 湖上对接过程图像Fig.13 Image of docking process on Lake
图14 湖上对接声学导引轨迹Fig.14 Acoustic guidance trajectory of docking on lake
文中针对笼式水下基站回收设计信标方案,通过仿真验证了信标工作空间有效性。提出改进的基于神经网络的检测-跟踪算法与PnP-P3P 算法,将观测数量降低到3 个信标,实现对基站的鲁棒跟踪。文中研究的优点在于将神经网络目标识别的高泛化性优势与传统算法分割的高效率优势结合,通过水池与湖上声光联合导引验证了该方法在实际应用中的可行性,但目前提出的光导引工作空间分布仅分析了二维平面,下一步工作将考虑从多光源空间分布设计出发建立信标灯光三维空间分布及其优化理论。