一种基于机器视觉和Kalman滤波的水下电缆定位方法
2022-10-28郭雨薇刘俊严允
郭雨薇,刘俊,严允
(1.上海电机学院 机械学院,上海 201306;2.上海中车艾森迪海洋装备有限公司,上海 201306)
水下电缆检测方法主要分为磁法、多波束、侧扫声呐及水下摄像等方法,而视觉技术更具直观可靠性。相关的研究有提出基于单目视觉的水下管道检测系统,利用序列管道图像之间的特征变化来检测不同水深条件下的直管和弯管;对基于单目相机的两栖球形机器人采用Kalman滤波器实现对水下电缆的自主探测;在前者的基础上加入支持向量机的模式识别方法,对采集的管道图像进行分类,进一步提升对转弯和预转弯道的识别准确率。但上述方法均未考虑水下的工作环境,应用时存在一定的局限性。同时,上述的实验对象均为直行或走向变化明显的水下管线,并未考虑到弯曲程度较小的水下电缆无法被及时准确的识别出从而导致巡检设备偏航的问题。为此,设计一种基于机器视觉和Kalman滤波的水下电缆定位方法,思路见图1。
图1 设计思路
1 图像处理技术
1.1 图像增强
不同滤波窗口下的暗通道见图2,对比发现,图2c)中的主体特征信息更为清晰准确。对50帧水下电缆图像进行分析,借助标尺工具获取前景面积。
图2 不同滤波窗口下的暗通道
对测得的50组二维数据点(width,length)进行kmeans聚类:设置=3,随机生成类簇中心1;类簇中心2为距离类簇中心1的最远点;类簇中心3为距离类簇中心1和2的最近距离最大点。层次聚类后,如图3所示,圆点代表样本数据,三角形为最终的类簇中心点。
图3 k=3聚类结果
将类簇中心对应的面积值分别命名为、和。利用式(1)重新定义暗通道邻域窗口滤波半径的大小。
(1)
式中:和为图片尺寸,分别为640和480,计算可得=3。
(2)
在暗通道图中选取最亮的0.1%像素,回归()中寻找对应的具有最高亮度的像素点的值,将其作为值。去雾图像恢复的计算如下。
(3)
(4)
如图4b)所示,Retinex增强后,图像对比度得到了极大提升,但整体效果偏暗,四周暗角加剧导致边缘特征丢失。如图4c)所示,应用DCP后暗角改善效果不佳,局部曝光度偏高。图4d)所示,应用改进自适应暗通道去雾算法后的处理效果得到明显提升。
图4 原图及增强图像
1.2 前景分割
将灰度特征和连通域特征作为分割前提,可大面积有效地去除干扰信息,处理步骤:①局部自适应阈值分割;②连通域检测;③邻域面积阈值分割。
由于电缆区域和灰度近似的噪声区域尺寸相差较大,设置一个面积阈值来筛选备选区域。考虑到电缆表面部分区域被泥沙覆盖,引入自适应因子,这里取0.1。
=×min(,,)
(5)
计算出约为1 200个像素点。
1.3 电缆提取
1.3.1 形态学处理
应用膨胀运算可对分割后的二值图像进行填充,膨胀引入的宽度变形由腐蚀算法进行补偿,最后通过闭运算填充残留的孔洞。
1.3.2 中心线提取
流程及效果见图5。
图5 中心线提取流程和效果
对图像进行前景分割后的效果见图5a)。利用欧氏距离法进行距离分类,见图5b)。利用二维欧式空间的Laplace微分算子得到像素值快速变化的区域,即边界和主干线,见图5c)。创建半径为2个像素点的圆形掩膜,将其与二值化后的图5c)做膨胀运算,实现断线填充效果,见图5d)。图5d)和图5e)相减后,骨架上的分支已基本被剥离,设置面积阈值为30,可得到清晰连贯的中心线,见5f)。
1.3.3 采样点映射
建立空列表-和-,遍历值为255的像素点,对其进行方向上的标记,将标记结果存储至-中,定位区间为[:]。同理,对值为255的像素点进行方向上的标记,并将结果存储至-中,定位区间为[:]。在定位区间构成的最小外接矩形下方建立轴,设置等距刻度,并沿着方向将刻度点映射到骨架线上获取采样点。若沿着方向截取到两个以上的采样点,表明还残存分支,此时系统自动生成对应数量的子列表,分别用于存放支路上的采样点,计算分支点和子列表最后一个元素之间的距离,距离最长的路径应属于主骨架线,保留其上采样点,清空其余分支上伪采样点,最后将采样点返回至原图中。
采样点映射法的思路是通过设定指定数量的采样点来拟合出水下电缆走向,相比较于SVM结合Hough检测的策略,无需对样本进行分类训练,实现起来更为简单。
2 电缆位置测算
2.1 相机标定
基于Matlab标定工具箱,使用10×7的棋盘格标定板,其小方格边长为30 mm×30 mm。通过改变标定板的位姿,并保持水下相机固定来获取水下棋盘格图像。重投影误差条形见图6,图6中虚线对应的纵坐标值表示平均重投影误差,它小于1个像素点,在允许的误差范围内。标定后获得相机内参数矩阵如下。
图6 重投影误差条形图
(6)
2.2 坐标变换
如图7所示,为摄像头的光轴与水平面之间的夹角,利用高度计可获得水下机器人(ROV)相对电缆的高度。≡0.5 m,≡60°,表示相机坐标系,表示ROV坐标系。
图7 水下视觉检测系统坐标模型
两坐标系间的转换关系如下。
(7)
和分别为相对旋转和平移矩阵。将电缆像素坐标(,)转换到ROV坐标系下。
(8)
结合标定参数后,可以得到电缆相对于ROV的三维空间坐标(,,)。
(9)
3 定位跟踪算法
3.1 航迹推算
基于ROV的运动模型建立航迹推算模型,根据当前运动速度、电缆位置等信息预测下一时刻ROV的跟踪轨迹。
ROV携带的定位系统反馈回的位置信息为(,),航向角为,相邻采样帧的时间间隔为,帧间运动速度取平均值,加减速度为,横移角速度为,则相邻时刻间的ROV的位置关系可表示为
(10)
3.2 定位融合
采用Kalman滤波器,其主要公式如下。
1)ROV运动状态方程。
()=·(-1)+()
(11)
2)系统状态观测方程。
()=·()+()
(12)
3)预测误差协方差矩阵。
(|-1)=·(-1)+
(13)
4)Kalman增益。
(14)
5)最优后验估计值。
(15)
6)协方差矩阵更新。
()=(1-())(|-1)
(16)
式中:标注^表示预估值,为系统的状态转移矩阵;为过程噪声方差;为系统噪声方差。系统在时刻的噪声。利用Kalman滤波算法,将航迹推算预测值与传感器定位数据线性融合后的结果作为ROV的跟踪路径。
4 实验
4.1 实验设备
向10 m×10 m×5 m的试验水池中倾倒泥沙,模拟浑浊的水下环境,见图8。图8a)为帧率50 帧/s,有效像素768(H)×582(V),焦距6 mm的高清水下摄像头。图8b)为南京歆祁科技的上位机实时监控界面,它能够直观的显示采集到的水下信息。系统通信利用TCP/IP协议用来接收下位机采集的数据和摄像头视频的采集,通过RS-485串口通信发送控制信息给下位机。
图8 图像获取工具
4.2 电缆提取结果与分析
使用采样点映射算法后得到的效果见图9,用白色的线连接两个相邻的采样点。
图9 采样点映射
由图9可见,采样点拟合出的连线与水下电缆铺设轨迹保持一致,适用于检测弯曲度较小的水下电缆。水下电缆的位置信息在excel表格中生成,见表1、2。
表1 采样点像素坐标
表2 相对坐标
4.3 定位融合结果与分析
实验设置为=diag[eeee]。选取50张不同位置的水下棋盘格图片,测量棋盘格上第一个角点的坐标并求出方差后代入到测量噪声协方差矩阵中,可得=diag[0.03 5 0.001 2] m。通过手动操纵控制台上的摇杆来调节运动速度和方向并自动拍摄图像,ROV初始速度==0.01 m/s,=2 s。
仿真设定偏差、文献[4]检测偏差与本文算法的检测偏差对比见图10a),霍夫检测后的滤波偏差幅值减小较为明显,但波动也较为剧烈。经本文算法处理过后,平均偏差可控制在0.01 m以下,相较于前者减小了0.015 m。35 s至50 s内,检测误差开始减小;50 s至65 s内,波动逐渐减小;70 s后曲线趋于平稳。
图10 定位融合仿真结果
基于采样点映射的定位融合仿真见图10b),轴和轴分别对应ROV的横向和纵向位移数据。将其作为滤波修正后的ROV跟踪轨迹。结果表明,加入定位融合算法后的检测曲线更为平滑,接近于水下电缆的状态,能够在一定程度上提升ROV跟踪的准确性。
5 结论
1)对采集的水下降质图像进行处理,实验结果表明,自适应暗通道去雾算法在处理暗角和局部曝光过度方面优于本文列举的其他两种图像增强算法。
2)采样点映射算法代替SVM结合Hough检测的方法适合于提取弯曲度较小的水下电缆。仿真结果表明,Kalman滤波后,采样点映射法相比直线检测法的平均检测偏差减少1.5 cm,位置偏差随着检测时间增长而减小,70 s后偏差值趋于稳定。
3)本文所设计的方法具有合理性。