一种有缆视觉自主型机器鱼系统设计

2019-01-07 05:10马培立施子凡
中国测试 2018年12期
关键词:鱼眼畸变校正

杨 雪,马培立,施子凡,石 硬

(南京工程学院创新学院,江苏 南京 211167)

0 引 言

随着陆地资源的逐渐枯竭,人们将大规模的探索和开发海洋资源,鱼类在水中具有非凡的运动能力,其运动的高速性和高效性是早期仿生机器鱼研究重点关注的问题[1]。但水下环境较陆面复杂,诸如水深压强、线路绝缘与防漏、低能见度环境识别等问题均需考虑,功能各有侧重的仿生机器人层出不穷。仿生机器鱼作为水下机器人,具有低噪声、对环境扰动小等特点[2];ROV则适于工作在复杂的海洋环境中,具有运动速度慢,运动惯性较大,非线性和耦合性较强的特点[3]。为了提高机器鱼的水下推进效率和灵活性,美国麻省理工学院(MIT)设计里机器金枪鱼Robo Yun[4]。日本研制的SMA驱动的仿生机器鱼,利用PIC进行控制,自带摄像头,实现了用机器鱼进行水下探测[5]。北京航空航天大学研制的“SPC-II”仿生机器鱼把航行稳定性作为优化设计的首要考虑因素,并结合电驱动伺服系统进行结构和机构设计,将仿生机器鱼的水下连续工作时间提高至2~3 h[6]。但是电池供电方式仍然使得机器鱼续航能力有限,许多研究工作都以提升仿生机器鱼推进效率和水下作业时间为研究目标[7]。采用有缆方式的遥控水下机器人(ROV)在深水作业方面逐渐显现出其深水、长时间作业优势。但是ROV造价昂贵、水下噪声大、水中姿态灵活性较差[8]。本文结合仿生机器鱼和ROV的优势,设计并制作了一台有缆自主型机器鱼。它通过电缆将仿生鱼与地面站相连,不仅解决了仿生鱼续航能力差的问题,而且避免了水对短波信号的影响,同时采用有缆的信息传输方式也保证了数据传输的稳定性和实时性。对传统仿生鱼进行改进,解决了机器鱼水下续航时间短的问题,优化了鱼眼镜头的畸变校正方法,并增加了具有较强鲁棒性的水下目标自动追踪能力。

1 有缆自主型机器鱼系统设计

考虑到整机系统的实用性,本文设计的有缆自主型机器鱼系统包括地面站、核心控制器、多关节机器鱼、有缆光纤和电源5个主要部分,其结构如图1所示。水下电缆采用上海达柔特种电缆有限公司生产的ROV机器人专用电缆线。多关节机器鱼上安装有两个鱼眼镜头、舵机及舵机驱动电路,下位机核心控制器也被布置在多关节机器鱼舱体内。另外机器鱼上部还设置有电缆线接口,其结构如图2所示。鱼眼镜头用于采集水下环境图像,驱动电路用于驱动鱼尾摆动,下位机核心控制器负责收集鱼眼镜头采集到的图像,并且控制舵机转动角度以调整机器鱼运动姿态和速度。同时下位机核心控制器与地面站间的通信由从鱼体上方接入的光纤完成。本机采用有缆方式既有效避免了水对短波信号的影响,实现核心控制器与地面站信号的双向传输,便于实现利用地面站对机器鱼舵机实时操控,保证了机器鱼的信息的实时性与稳定性;又解决了机器鱼水下续航能力问题,把电源线直接接入在水中工作的机器鱼,提供其正常工作所需电能,另配有故障应急备用电源。本文设计的有缆视觉自主型机器鱼由电缆供电,因此航行时间不受电池容量控制,可因水下作业的难易程度调整航行时间。

图1 有缆自主型机器鱼系统组成

图2 单关节机器鱼内部结构示意图

鱼眼镜头图像获取与畸变校正过程如图3所示,通过7个步骤实现图像获取与校正,包括图像的采集、预处理、畸变校正、区域分割、模块化校正、图像匹配及其融合。为了抑制图像噪声,保留其真实性,首先要进行降噪、滤波等预处理操作,接着进行图像畸变校正和模块化校正,然后对校正好的图像做区域分割,分区域进行图像匹配。最后把各区域匹配好的图像再融合成一张完整的全景图像。

图3 鱼眼摄像头畸变校正流程图

机器鱼在显示全景图像的同时,还具备水下目标自动跟踪功能。与核心控制器相比,地面站拥有更快的运算速度和更强大的处理能力,图像自动跟踪功能由地面站计算机控制实现。在显示全景图像的同时,可以利用HSI分析与EKF预测得到目标准确方位,并对其自动跟踪。通过上位机程序控制,可以根据下位机回传上来的图像选定目标追踪物,然后对选定的目标做出误选判断。如果发现是误选,则不做记录,重新选定目标物;如果确认为选中目标物,则利用利用HSI分析与EKF预测对目标物进行持续捕获,实现自动追踪功能。自主型机器鱼系统实物如图4所示。

图4 自主型机器鱼系统实物图

2 算法设计

2.1 自动跟踪算法

目前常用的两种目标跟踪算法为Mean Shift和卡尔曼滤波[9-10]。由于环境以及其他运动目标对目标跟踪过程中的干扰,目标的多样性以及目标模型难以自动初始化都给目标的实时跟踪带来了巨大的挑战,所以市场上存在的OPENROV等操作水下机器人,几乎只能保证短时间的追踪观察,难以完成长时间、持续观察任务。针对这一难题,本文构建了一种自动初始化目标模型,设计了一套能处理目标遮掩的实时跟踪算法。与核心板相比,地面站拥有更为强大的处理能力,在显示全景图像的同时,将完成了HSI分析与EKF预测相结合的水下目标定位识别,使机器鱼具备水下指定目标自动跟踪的功能。机器鱼水下目标自动跟踪功能是以HSI颜色空间方法为基础的。首先将目标的RGB(红绿黑)三原色值转化为HSI(色调、色饱和度和亮度)3个要素。其转化方法为

其中,R为目标红色色值;G为目标绿色色值;B为目标黑色色值。

对HSI处理的图像进行两次图像差分运算,使其能更好地捕捉运动目标。捕捉到目标并进行人为选取后,机器设备便可自动进行跟踪。而由于水下环境较为复杂,周围干扰因素多,目标极易由于遮挡而丢失,因此提出了基于卡尔曼滤波算法为基础的解决方式。即假设目标消失时间为t0至t1,通过对t0时刻的前一帧图像进行EKF预测,并将其值作为t0+1帧时刻的状态参数值,无限循环直至与某一候选目标参数相同,则跟踪目标重新上线,此时进行EKF状态更新以防目标再次丢失。

2.2 图像畸变校正

由于镜头焦距短、视场大的特点及光学原理约束,导致鱼眼镜头图像畸变严重,视觉效果差。目前,鱼眼图像畸变校正主要采用两种方式,即基于投影变换模型的校正方法和基于标定的鱼眼镜头畸变校正方法[11-12]。前者计算复杂实时性差,后者对实验设备要求较高。受文献[13]的启发,本文提出分区域模块化畸变校正方法,该方法是一种水平/竖直双精度畸变校正算法。采用一种球面模型半径大于鱼眼图像半径的方法以减弱南北极拉伸,根据鱼眼镜头畸变几何原理和校正后图像视觉效果,通过优化球面模型半径,以进一步减弱极点畸变。由于鱼眼镜头采集图像时,要求水平与垂直视角要超过180°,为增加其视角范围降低畸变程度,在多次畸变校正的基础上,设计了鱼眼镜头图像分区域模块化畸变校正方法。两只鱼眼镜头采集到的图像,首先要进行图像预处理,利用canny算子做边缘检测,完成图像降噪工作;随后通过标定摄像头、分区域模块化畸变校正及模块化校正图像重新拼接3个步骤校正畸变图像。

由于鱼眼镜头存在严重的桶形畸变,需要对图像进行标定,以得到具有线性特征的图像。假设空间一点在绝对坐标系中的坐标为(、、),将其投影到图像平面为

其中,(u,v)为投影到图像平面的坐标。A为鱼眼镜头相机内参数矩阵,c为基准点,f为焦距。相机内部参数矩阵与环境无关,进行一次系统初始化后,即可多次重复使用。[R|t]为鱼眼镜头外参数矩阵,用于描述相机在固定环境中的运动情况。

利用非线性最小二乘法求J的最大似然估计:

根据式(6)得到鱼眼镜头相机内参数矩阵A的约束条件:

根据式(4)可以求出鱼眼镜头相机内参数矩阵A及其畸变系数。利用OpenCV实现鱼眼相机的标定,通过计算得到的鱼眼镜头相机内外参数,对空间的三维点进行重新投影计算,得到空间三维点在图像上新的投影点的坐标,计算投影坐标和亚像素角点坐标之间的偏差,偏差越小,标定结果越好[14]。

鱼眼镜头获取的图像会发生严重的桶形畸变,如图5(a)所示。图5(b)为校正后的目标图像。对比校正前后的两幅目标图像,图5(a)中的棋盘方格发生了明显的畸变,而经过校正后的图5(b),棋盘方格被修正达到了预期的效果。分区域模块化畸变校正方法采用模块化畸变校正标定,利用分区的方式选取了在不同区域的特征像素点,在校正前后分别对特征像素点的位置进行提取;同时还要检测不同区域的相对变化率,利用支持向量机观察、分析其校正规律;并获取每个区间的像素点在校正前后的图像距离中心点的平均距离。根据多次校正得到的统计学规律,遵循等距投影定理构建出入射角与径向距离关系处理公式,并得到校正结果。相对于传统校正,模块化校正方法速度更快,更加适合于在复杂水下环境中作业的机器鱼。

图5 畸变校正前后输出图像对比

2.3 图像匹配与拼接

在实现模块化校正后,需要进行图像匹配。采用SIFT算法将多幅具有公共信息的重叠区域图像,在空间位置上进行匹配叠加,最终拼接成一幅完整无重叠图像。图6为两幅有重叠区域图像的匹配、拼接过程。其处理匹配顺序为1NN,1NN/2NN<0.8,1NN+RANSAC,1NN/2NN<0.8+RANSAC。

图6 测试图像SIFT算法匹配过程

1NN匹配获取图像img1(图6左)中的SIFT特征点point1,img2(图6右)中的SIFT特征点查找与自己最近的img1上的SIFT特征点point1,重复该过程直至获得匹配点,得到初步的SIFT匹配算子,但其结果有较大误差。接着进行1NN/2NN<0.8校正,利用图像 img1中的 SIFT特征点 point1,在img2图像上的SIFT关键点查找获取img1上最近SIFT关键点point21和次近关键点point22,并分别设置其像素距离为dis1与dis2,如果dis1/dis2<0.8,则将其视为正确匹配的点对,否则为错配点,将其剔除。1NN+RANSAC与1NN/2NN<0.8+RANSAC匹配则是利用RANSAC算法做直线拟合,并筛选相应的点,剔除错误结果,做个大概的结果预测。图像匹配、拼接后的效果如图7所示。两幅有重叠区域的图像被拼接成1幅完整图像,既没有重叠区域,也没有被误删除的缺失区域。

图7 测试图像匹配、拼接结果

3 实验数据分析

3.1 摄像头输出数据处理

畸变处理将(X,Y,Z)三维坐标点,投影在平面图像上的二维坐标为(u,v)。取Kx与Ky为径向畸变系设定时图像中心点为(u0,v0),并不断选取其他坐标点,计算标定点的成像点到图像中心的像素差,并进行计算。如表1所示,选取二维坐标平面上的7个点,其中第1个点为图像中心点,经过测量镜面到成像点的距离为17.8 cm。径向畸变系数平均值为:Kx=3.884 597 2,Ky=3.908 111 19。

经过径向畸变系数标定处理后,即可用鱼眼摄像头拍摄图像。由于鱼眼图像在边缘处畸变最为严重,所以选择从中心处提取图像坐标并进行计算,计算出镜头畸变系数、旋转矩阵和平移矩阵,最终对整个图像进行分析,得出图像的平均误差。随机选取一只鱼眼镜头在固定环境下拍摄的8幅图像,计算得本只鱼眼镜头相机内参数矩阵为

表1 Kx、Ky标定测试结果

其畸变系数为[-0.040 910 8,0.030 590 5,-0.029 693,0.008 837 04]。对8幅鱼眼镜头畸变图像进行畸变校正,获取的校正参数如表2所示。

表2 鱼眼镜头图像畸变校正参数

图8所示图像分区选取示意图。表3为对7个随机区间图像进行分区域模块化畸变校正的修正结果。根据每个区间的像素点在校正前后的图像距离中心点的平均距离,得到校正前后图像的位置变化率,在对多个训练图像区间进行畸变校正的过程中,可以从训练集中分析出入射角与径向距离的关系,从而得到校正结果。由于7个区域的选取是从中心向边缘提取,因此在图像中心点1区间,没有发生畸变,不需要校正,但是随着区间点逐渐偏离中心点,校正前后的变化率逐渐增大,说明越靠近边缘,畸变越严重,需要进行较大修正。

图8 图像分区选取

表3 各区间校正前后变化率

3.2 目标自动跟踪效果评测

通过多次实验测试证明,HSI分析与EKF预测相结合的水下目标自动跟踪方法具有较好的跟踪效果。如图9所示,圆形的橙色物体和矩形棕色物体,在水中都能够被机器鱼自动识别。如图9(a)和图9(c)所示,两个被选定的目标都一直处于椭圆框选中状态。如图9(b)和图9(d)所示,尽管两个物体在水中都有一部分被遮挡,但机器鱼仍然能够发现并继续跟踪目标物,将目标物锁定在椭圆框中。

图9 水中目标自动跟踪实验效果

通过在测试区域中放置数量不同、颜色近似,大小相近的物体,以相同频率在机器鱼附近摆动500次,传统RGB法目标自动踪成功率和本文识别法目标跟踪效果对比如表4所示。从表中可知,HSI分析与EKF预测相结合的识别法目标跟踪成功率明显高于RGB法。当目标数量仅有3个时,HSI分析与EKF预测相结合的识别法目标跟踪平均成功率比RGB法高出10.5%。随着目标数量的增加,HSI分析与EKF预测相结合的识别法的优势更为明显,当目标数为5个时,HSI分析与EKF预测相结合的识别法目标跟踪平均成功率比RGB法高14.2%。当目标数为7个时,更是高出16.5%。由此可见,HSI分析与EKF预测相结合的识别法具有较为明显的优势。

表4 目标跟踪效果对比

4 结束语

本文设计了一款有缆视觉自主型机器鱼,该机器鱼采用有缆供电方式,增加了机器鱼水下作业时间。采用仿生鱼结构增强了水下运动的灵活性和静音效果,采用上位机和下位机分工协作的控制方式,实现了复杂作业环境中的图像实时传输与目标选定跟踪。设计了分区域模块化鱼眼镜头图像畸变校正方法,实现多幅连拍全景图像的拼接与复原,更适合于曲屏显示,保证观测者一直处于第一观察视角。提出了HSI分析与EKF预测相结合的水下目标自动识别方法,实现了在水中复杂环境及遮挡环境中选定目标的正确识别。本文提出的HSI分析与EKF预测相结合的识别法目标跟踪成功率明显高于RGB法。但是本次设计的机器鱼仅能在较浅的实验水域中作业,当水深较大时,鱼体结构会出现渗漏现象,严重危及电路板安全。另外当作业水域浑浊不清时,目标选取与自动识别效果急剧下降。在下一阶段的工作中,将进一步优化鱼体结构防水性,增加其下潜深度,同时还要进一步开发水下目标识别算法,使其具有更广的适用范围。

猜你喜欢
鱼眼畸变校正
面向鱼眼图像的人群密度估计
劉光第《南旋記》校正
几何特性对薄壁箱梁畸变效应的影响
基于MR衰减校正出现的PET/MR常见伪影类型
微信扫一扫马上看视频鱼眼视频 小程序每天带你看最有意思的摄影视频
在Lightroom中校正镜头与透视畸变
机内校正
鱼眼明目鱼头补脑是真的吗?
波纹钢腹板连续刚构桥扭转与畸变的试验研究
三级风扇进气压力畸变特性分析