面向ARV的视觉辅助水下对接方法研究
2021-02-02魏志祥
魏志祥,吴 超
(上海交通大学 船舶建筑与海洋工程学院,上海 200240)
在水下机器人研究领域,水下对接技术是一个研究热点,具有重要的科学意义和实用价值。在水下机器人的开发应用中,远距离的水下通信、长时间水下作业的能源供给及信息交换等问题是困扰水下机器人发展的几个核心问题[1]。如果能有一个合理、有效的深水对接和释放水下机器人的方法,将使潜水器的水下作业范围、水下隐蔽性能得到大大提高,也可节省大量回收释放时间。面向自治缆控水下机器人(ARV),针对ARV完成水下作业后与中继器一起回收的需求,利用ARV实现与中继器的水下对接并通过铠装脐带缆起升完成整体回收。在这个过程中,水下对接技术是一项关键技术。
自治缆控水下机器人是一种面向极端环境或特殊使命任务、集AUV和ROV技术特点于一体的多功能水下机器人。ARV自带能源并通过光纤微缆实现与水面控制台的实时通信和数据交互,其多操控模式灵活切换机制及人机共融的技术特点可以保障其在复杂海洋环境下实现高难度的使命任务[2]。当ARV在深海作业时,布放和回收需要花费很长时间,如果作业海域海况较差,回收过程还会增加一定风险。为了提高ARV的水下作业时间、工作效率和降低风险,研究有效的水下对接技术显得尤为重要[3]。
国内外研究人员针对水下对接技术的研究中,在近距离引导方面一般采用视觉引导的方式。利用视觉技术辅助水下对接的方法主要分为两类。一是在对接口周围布置水下灯,利用视觉伺服算法对水下机器人进行定位[4-5]。该方法优点是作用距离较远,但是由于光的散射作用,在图像处理时对水下灯的光心估计存在较大误差,因此布置水下灯引导定位的方式大多应用于对接精度较低的场景。另一种方法是在对接口附近布置特定图形的识别面板,利用SLAM算法识别面板上的特征点从而对水下机器人进行位姿估计[6-7]。这种方法的优点是定位精度高,但是计算量较大,而且由于水下光照不足导致特征点误匹配率较高。其他定位方法的研究中,Figueiredo等[8]以3个圆球为观测目标,利用四元数解算相对位姿关系。Park和Kim[9]采用基于模型的位姿估计方法,并加入了kalman滤波器平滑估计值,实现了ROV 在水下对特定模型的高精度定位。在大多数水下对接的方法中都存在精度不足或者计算量大的缺点,并不能很好满足计算资源有限的ARV水下高精度对接的技术特点。
针对ARV水下对接系统中高精度对接的需求,对近距离视觉引导水下对接技术展开研究。基于反射光散射较弱的特点,设计了在框体对接装置的入口处布置反光带的方案,以反光带为目标设计了图像处理和特征点提取的算法,建立单目视觉系统辅助对接,并针对水下对接的准确度和实时性的要求对算法进行优化,通过对反光带顶点的识别定位对接装置,同时解算出目标的空间坐标,从而快速获得ARV相对于对接装置的位置和姿态。最后通过与引导灯方案的对比试验,验证本文算法的有效性,为潜水器实现水下自主对接提供参考依据。
1 图像处理
参考传统水下对接方法中的引导灯方案,考虑到直接光源的散射以及易被周围环境干扰的特点,采用反射光源引导ARV水下对接。利用反射光散射小,辨识度高的特性,设计了基于反光带的视觉辅助水下对接系统,如图1所示,适用于水面工作人员在视觉引导下完成高精度的水下对接任务,以及实时为操作者反馈数据。本系统在中继器导向口框架上布置反光带,为了视觉引导的方便,反光带尽量使用规则的方形。导向口框架的顶点处安装水下灯,用作反光带的光源,并且不直射于导向口正对方向。ARV本体部分,首部端平面内布置摄像机,摄像机安装位置为ARV首部端平面正中心,在正常对接时,摄像机与中继器导向口中心连线需要同ARV航行方向平行,用以保证目标识别后解算出的摄像机位姿即为ARV本体位姿。
ARV水下对接采用视觉系统辅助对接,目标为中继器对接口反光带顶点,目的是精确、快速地捕捉目标,从而实时获取目标在图像坐标系的坐标,并解算出ARV相对于中继器的位置和姿态。视觉辅助对接系统的第一步是对获取的图像进行特征提取。具体步骤如图2所示。为验证视觉算法的可行性,拍摄中继器图片进行处理,其中导向口正对摄像头,如图3所示。
图2 图像处理流程
图3 中继器图像
1.1 颜色检测
由于反光带并不是直接光源,如果使用直接阈值处理二值化后的图像效果甚微。因此采用颜色检测的方式,突出反光带特征。颜色检测一般采取将RGB色彩空间转换到HSV色彩空间的方式。在HSV颜色模型中,H代表色调,S代表饱和度,V代表亮度。转换公式如式(1)所示。
(1)
利用HSV色彩空间的色调值、饱和度、亮度作为图像分割阈值,并使用形态学操作对中继器图像进行处理,突出反光带特征。效果图如图4所示。
1.2 边缘提取
经过颜色检测突出反光带特征后,需要绘制出图像的外形特征。采用canny算子[10]实现边缘提取,便于后期的特征点提取。为消除冗余信息,首先使用高斯平滑滤波器卷积降噪,这里使用size=5的高斯内核,然后运用一对卷积阵列(分别作用于x和y方向),计算梯度幅值和方向,如式(2)所示。利用非极大值抑制技术排除非边缘像素, 仅保留一些细线条(候选边缘),然后通过设置两个滞后阈值(高阈值和低阈值)获取边缘图像,如图5所示。
(2)
1.3 直线检测
为了精确定位特征点坐标,采用检测边缘图像中的直线特征的方式,辅助完成图片特征点的快速提取。霍夫变换[11]是常用的提取直线特征的方法,采用累计概率霍夫变换[12],目的在于更加快速地寻找直线特征,减少计算的时间成本。
在霍夫变换中,采用极坐标系表示直线,即用式(3)表示直线。对于点(x0,y0),可以利用式(4)统一定义通过该点的一族直线。对(x0,y0)在极坐标对极径极角平面绘出所有通过它的直线,将得到一条正弦曲线。对所有点进行上述操作,如果两个不同的点经过上述操作后得到的曲线在平面θ-r相交,说明它们经过同一条直线。霍夫线变换要做的就是追踪图像中每个点对应曲线的交点,如果交于一点的曲线数量超过了阈值,就可以认为该点代表的参数对(θ0,r0)在原图像中为一条直线。
(3)
r0=x0cosθ+y0sinθ
(4)
使用的累计概率霍夫变换,比标准霍夫变换更精确、更快速。首先随机获取边缘图像上的前景点,映射到极坐标系画曲线;当极坐标系里面有交点达到最小投票数,将该点对应xy坐标系的直线L找出来;最后搜索边缘图像上前景点,在直线L上的点(且点与点之间距离小于设定阈值的)连成线段,然后这些点全部删除,并且记录该线段的参数(起始点和终止点)。效果图如图6所示。
2 视觉定位
基于水下对接的任务需求,ARV需要精准对接尺寸与其相当的对接口,因此设计的视觉辅助对接系统采用识别反光带四个顶点的高精度定位方法。而图片特征点的提取就成为事关对接成败的关键。提取特征点之后,需要解算摄像机位姿,实现ARV定位,从而辅助完成ARV水下对接任务。
2.1 特征点提取
图7 特征点提取流程图
在上一步的图像处理过程中,得到了图片的边缘图像,如果直接采用角点检测再筛选特征点的方式,计算量相对较大,不符合设计的视觉辅助系统实现快速定位的实时性要求。因此优化算法,利用霍夫变换获取边缘图像的直线特征,再通过图像的直线信息提取特征点,极大地减少了计算量,并提高了识别的准确性。具体流程如图7所示。
经过霍夫线变换得到边缘图像的直线特征,并获取了直线的起始点(x1,y1)和终止点(x2,y2),直线的数学模型如式(5)所示,任意两直线交点的表达式如式(6)所示,遍历图像中的所有直线,可求出所有直线两两之间的交点。
(5)
(6)
由于交点的坐标位置基本都在反光带的范围内,设计的提取反光带顶点的思想是,随机抽取任意四个交点的坐标位置,比较任意四点围成的封闭图形(可能是四边形,也可能是三角形甚至是直线)的面积,围成面积最大的四边形的四个交点即为反光带顶点。为了方便求解四点围成的封闭图形面积,需要建立统一的面积公式:
(7)
(8)
这种算法虽然可以确定反光带顶点,但是遍历了四次直线特征的交点,时间复杂度是O(n4),浪费了大量时间资源,也不满足实时性的要求,所以需要改进算法。
(9)
通过设计的算法快速精确地筛选关键信息,提取特征点,效果图如图8所示。图中四个三角点为检测出的反光带顶点,小圆点为其余直线特征形成的交点。
图8 效果图
图9 坐标系描述
2.2 位姿估计
提取特征点之后,需要解算摄像机位姿。也就是将特征点在像素坐标系中的坐标变换到世界坐标系的坐标。单目视觉位姿估计理论的基础在于摄像机的针孔成像模型,如图9所示,成像过程涉及到四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系[13]。
在本文的世界坐标系{T}中,原点建立在中继器导向口反光带四个顶点确定的平面上,考虑到中继器导向口边缘近似为矩形,所以将中继器导向口中心点设置为{T}的原点。Zt轴垂直于反光带平面向外,Xt轴指向中继器右舷,Yt轴竖直向下。
相机坐标系{C}中,以相机的光心为坐标原点,X轴和Y轴分别平行于图像坐标系的X轴和Y轴,相机的光轴为Z轴,用(Xc,Yc,Zc)表示其坐标值。
像素坐标系与图像坐标系的转换关系如式(10)所示,其中(u0,v0)是图像坐标系原点在像素坐标系中的坐标,dx和dy分别是每个像素在图像平面x和y方向上的物理尺寸。
(10)
图像坐标系与相机坐标系的转换关系如式(11)所示,其中f为焦距(像平面与相机坐标系原点的距离)。
(11)
相机坐标系与世界坐标系的转换关系如式(12)所示,其中R为3×3正交旋转矩阵,t为三维平移向量。
(12)
所以像素坐标系到世界坐标系的转换关系如式(13)所示。
(13)
(14)
(15)
方程(15)中有9个未知数,每个特征点可以提供两个独立的方程,再结合r和r2正交的条件,所以至少需要4个特征点才能使用最优解法解得姿态矩阵[R,t]。
图10 视觉辅助系统
转换为PnP问题求解位姿后,建立视觉辅助系统,如图10所示,图中白色十字准心代表相机正中心,粗黑色十字准心代表中继器入口正中心点在图像中的位置,当两个十字准心重合时,表示ARV本体正对于中继器,即可以成功对接。ARV本体实时位姿根据PnP算法解算并将欧拉角信息显示在实时图像上。中继器入口正中心点在图像位置的求解过程下式所示,其中s为相机在Z轴的坐标值,M为相机内参,pi为识别的特征点在像素坐标系的坐标,Pi为特征点在世界坐标系的坐标,P′为中继器入口中心点在世界坐标系的坐标。
3 试验与分析
为了验证本方法的有效性,以及与引导灯方案的精度相比较,在水下环境进行模型试验。试验平台包括矩形板、4个白光LED水下灯、反光带、计算机、CMOS摄像头和标定板等。矩形板大小32 cm×22 cm,模拟中继器对接口,正中心标记十字准心,便于后期分析试验误差。在矩形板四个角上布置LED灯进行引导灯方案试验,在四周布置反光带进行反光带方案试验。摄像机使用Logitech的C525,分辨率为720 p,最大帧数为30 FPS,配自动对焦镜头。图像识别算法基于OpenCV3.4视觉库,在Visual Studio 2015开发环境中设计。
试验对比近距离下引导灯方案和反光带方案的精度和耗时,结果如图11所示。可以看出,引导灯在水中散射严重,而且容易在周围形成反光区域,可能对前处理中的光源区域预测造成影响。相比之下,反光带在水中的边缘更为清晰,更容易提取所需特征。
图11 近距离试验对比
试验结果分别计算两种算法识别得到的中心与矩形板中心之间的误差,分析两种方案的准确率。调整摄像机与目标的相对位姿,分别通过两种方案拍摄100帧画面,并计算每一帧耗时,结果如表1所示。
表1 试验结果对比
为了证明算法在不同作用距离下的有效性,模拟ARV本体与中继器由远及近的对接过程,调整相机与目标的相对距离,设计了不同距离下的两种方案对比试验,并均匀采样,记录下矩形板中心点的理论值和两种方案的解算值,分析两种方案的准确度和效率。图12记录了相机分别距离矩形板0.5 m,1 m,1.5 m,2 m,2.5 m时两种方案的效果图,可以看出距离越远,引导灯的干扰信息越多。误差估计和计算耗时的对比如图13~14所示。
图12 不同距离下试验对比
图13 误差估计
图14 效率对比
结果显示,在水下环境下,反光带方案明显优于引导灯方案。在近距离的试验中,设计的基于反射光源特征识别的方案,经过将算法优化至O(n)的时间复杂度后,不仅在位置估计上更为精确(其中纵向位移优化50%),还在计算速度上有超过40%的提升。在由远及近的试验中,对两种方案而言,摄像机与目标的距离越远,位置估计误差越大,计算耗时越长,但是在相同距离下,反光带方案在准确率和计算效率上均优于引导灯方案。所以相比引导灯方案,反光带方案更适合于ARV的水下对接。
4 结 语
为了满足ARV系统高精度水下对接的需求,针对传统视觉引导中水下灯散射较大导致精度误差的问题,提出了一种基于单目视觉识别反射光源的方法。以反光带图像为目标,设计了图像处理和特征点提取的算法。经过颜色检测、边缘提取、霍夫变换等预处理,通过分析图像的几何特征优化提取速度。再以反光带特征点为基础计算ARV本体位姿,利用位姿信息辅助水下对接。最后为了验证本方法的有效性,在水下环境设计了与引导灯方案的对比试验。试验结果表明:
1) 随着作用距离增大,反光带方案和引导灯方案的准确率和计算效率均有所下降。
2) 在距离相同的条件下,基于反射光源识别的方法有效提升了位置估计的准确率。在计算速度上,本方法较引导灯方案也有显著提升。
试验结果证明,本方法可以精准、快速地提取水下对接的视觉引导信息,辅助水面工作人员实现ARV与中继器对接,提升水下对接效率与成功率。在未来的研究中,将在水下试验中运用该方法,为实现潜水器的水下自主对接提供参考依据。