2. 河南科技职业大学,河南 周口 466001
2. School of Information Engineering Henan vocational University of Science and Technology, Zhoukou 466001, China
在复杂的航海条件下,船舶配置的目标定位系统易受到多种干扰因素的影响产生定位误差,降低无源目标定位精度。为有效解决这一问题,有必要优化设计船舶无源目标定位方案,引入物联网技术和改进后的Camshift算法,满足无源目标实时精确定位的要求,消除复杂海况对目标定位的不利影响[1-3]。
1 船舶无源目标定位方案 1.1 船舶无源目标预处理船舶无源目标定位将检测识别摄像机安装到自适应稳定平台上,减少船舶晃动对摄影成像的影响。由于海上经常出现大雾、大风等恶劣天气,增加船舶无源目标的定位难度,易造成定位干扰,所以需对无源目标进行预处理,去除定位噪声。在定位算法中,先预测无源目标的位置信息,再预测无源目标与传播的距离。目标预处理采用视频图像处理方法,去除背景、噪声干扰因素,提取出有效的目标信息。目标预处理的图像都是占用较大存储空间的彩色图像,本文提出采用灰度化处理方法缩减图片数据量,并结合滤波技术对图像去噪,确保无缘目标边缘轮廓清晰显示[4-7]。
1.2 无源目标图像灰度化处理本文采用灰度化处理方法转换彩色图像。RGB是彩色图像的颜色空间分量,即红、绿、蓝分量,在每个分量上划分256个等级,明确3个颜色空间分量的取值范围。HSV表示彩色图像的色调、饱和度和明度,其颜色空间模型图如图1所示。根据模型图可以看出,此为六角锥体模型,色调H分量的范围为0-36°,色调对应的点到平面中心直线距离用S饱和度表示。
![]() |
图 1 彩色图像的HSV颜色空间模型图 Fig. 1 HSV color space model of color image |
在灰度化图像处理中,要转换RGB与HSV的颜色空间,提取出能够反映无源目标方位的信息。为保证图像处理结果的准确性,确定3种基色的权重,根据权重分配灰度,模型转换关系式为:
$ Gray = 0.3R + 0.6G + 0.1B 。$ |
无源目标定位要对定位图像去噪,采用傅里叶积分变换频率去噪技术,将原始图像从空间域转换成频率域,达到图像去噪目的。在图像去噪中采用高斯滤波,对图像中数据信息加权平均处理,计算得出当前像素与领域像素的平均亮度,根据不同的高斯函数选出相应权值,得到预期的滤波效果。高斯滤波采用3×3的矩阵,构建起3×3的权重分布模型,过滤得出灰度系数,减少边界效应。
1.4 无源目标边缘特征提取在对船舶无源目标的边缘特征进行提取时,可以通过识别图像中亮度变化比较明显的边缘点来快速完成边缘检测。这种方法能够检测前景目标轮廓,并将有价值的前景和无用的背景分割开。为提高检测结果的准确性,本文采用Canny算子,对船舶无源目标开展边缘检测。之所以选取该算子,一方面是因为它能够提高船舶图像边缘的检测精确,另一方面是该算子对噪声不敏感,被公认为性能最佳的边缘检测算子。应用该算子的检测步骤如下:
步骤1 运用高斯滤波对采集到的图像进行干扰滤除,随后计算出每个点的局部梯度幅值与方向;
步骤2 通过计算获得的边缘点并不能直接使用,因为它会使梯度图像中出现脊,对此可以利用非最大值抑制加以处理,具体做法是将除了脊顶部以外的像素值全都设为0,从而使输出的结果成一条直线;
步骤3 对图像边缘进行连接,并设定2个阈值,一个为T1,另一个为T2,使2T1≈T2。
2 船舶无源目标定位算法 2.1 船舶无源目标定位预测无源目标定位预测采用帧间差分法,该算法能够对相邻连续几帧图像进行差分运算,根据不同的图像灰色度值对目标的变化进行分析。在无源目标定位预测中,需根据第k帧图像、阈值求出运动目标的像素点,得出最终的检测结果。当计算结果为1时,则表示像素点为前景点。当计算结果为0时,则表示像素点为背景点。对5组user进行模拟定位,可以得到基于帧间差分法的船舶无源目标定位预测原理图如图2所示。
![]() |
图 2 基于帧间差分法的船舶无源目标定位预测原理图 Fig. 2 Schematic diagram of ship passive target location prediction based on inter frame difference method |
结合物联网节点定位技术,可以对船舶无源目标进行准确定位预测。5组user节点定位技术中的未知节点与信标节点分布图如图3所示。其中user#1,user#2,user#3代表未知节点,user#4,user#5代表信标节点。其中,已知节点能够确定目标位置信息,未知节点需要通过物联网通信建立起数据联系后才能获取位置信息。
![]() |
图 3 节点定位技术中的未知节点与信标节点分布图 Fig. 3 Distribution of unknown nodes and beacon nodes in node positioning technology |
Camshift算法归属于均值漂移算法的范畴,是从MeanShift算法发展演进过来的。实际应用中发现,MeanShift算法存在一些不足,当运动目标发生变化后,由于存在一定的概率无法自适应变化,如果目标形变,则可能导致搜索失败。因此可以通过Camshift算法进行缺陷弥补,它能够随着目标的变化,不断对视窗内的目标进行刷新扫描,能够对目标的中心进行准确的定位,并一直进行跟踪刷新,直至完成目标定位为止。
颜色空间的转换主要是将RGB和HSV进行相互转换,Camshift算法在跟踪目标时,以颜色特征作为基本依据,由于跟踪过程具有动态性的特点,所以要对图像的颜色空间进行转换;完成颜色空间的转换之后。可对HSV中的H加以利用,通过计算构建相应的直方图,并借助反向投影,从而获得船体的RGB分布图;由于得到的概率分布图具有离散性的特征,因此要对船体图像的一阶矩进行搜索,通过比值求出目标的质心位置;在更新搜索窗口时,先设定阈值,比较目标质心的位置与直方图模型中的质心位置,如果二者的距离超过阈值,则可判定质心位置是假的,需要重新比较判断,并按照下式求解新的搜索窗口:
$ {S_i} = 2*\sqrt {M_0^i/256} ,$ |
当跟踪的目标质心位置,与直方图模型中的质心位置之间的距离小于设定的阈值时,便可停止迭代,获得准确的船舶目标质心坐标。为便于后续跟踪,可将该坐标作为船舶目标定位坐标。
2.3 基于改进Camshift算法的无源目标定位通过Camshift算法能够跟踪到船舶目标,其特点体现在跟踪过程中,能够按照船舶目标的大小,对搜索窗口的尺寸自动调整,跟踪的准确性得到进一步提升。然而,Camshift算法的跟踪依据为运动目标的色彩特征,如果船舶目标与背景之间的颜色过于相近,或是受到其他物体遮挡时,则会导致算法的准确性下降,甚至可能造成跟踪失败。为解决Camshift算法的这个问题,尝试将其他算法与Camshift算法相融合,经过对比,最终决定选用ORB算法,该算法具有以下特点:能够利用特征点匹配,跟踪运动目标、可以保持尺度不变、匹配性好、鲁棒性强等。将该算法与Camshift算法融合后,能够弥补Camshift算法的缺陷。具体如下:
先建立一座金字塔结构的模型,并假定有n层,本次研究中,n=8。金字塔的每层中都包含一幅图像,将源图设在第0层,比例因子的初始值为1.2,由此能够求出任一层的图像大小;对某点是否为特征点进行判断时,要先设定阈值,以便完成检测,当测试点的灰度值超过阈值,可以判定该点为特征点;得到特征点后,要对其方向加以定义,这个方向实质上就是计算特征的主方向,采用的方法为灰度质心法;按以上方法,经计算后,可以得到特征点的方向
$ {\boldsymbol{Q}} = {\left[ \begin{gathered} {x_i} \hfill \\ {y_i} \hfill \\ \end{gathered} \right]_{i = 1,2,..n}} ,$ |
当求解的主要函数
$ {\boldsymbol{f}}(k) = {{\boldsymbol{f}}_r}(k) + j{{\boldsymbol{f}}_i}(k) ,$ |
$ \left\{ {\begin{array}{*{20}{c}} {{f_r} = \displaystyle\sum\limits_{j = 1}^J {\sum\limits_{m = 0}^{{k_j}} {{d_r}_{j,m} \cdot {\varphi _{j,m}}} } (k) + \sum\limits_{m = 0}^{{k_J}} {{v_r}_{J,m} \cdot {\phi _{J,m}}(k)} },\\ {{f_i} =\displaystyle \sum\limits_{j = 1}^J {\sum\limits_{m = 0}^{{k_j}} {{d_i}_{j,m} \cdot {\varphi _{j,m}}} } (k) + \sum\limits_{m = 0}^{{k_J}} {{v_i}_{J,m} \cdot {\phi _{J,m}}(k)} } ,\end{array}} \right. $ |
其中,
经过小波变换后,可得到目标定位算法的输入信号
$ {\boldsymbol{R}}(k) = {{\boldsymbol{R}}_r}(k) + j{{\boldsymbol{R}}_i}(k) = {\boldsymbol{Q}}{y_r}(k) + j({\boldsymbol{Q}}{y_i}(k)) ,$ |
其中,
$ {{\boldsymbol{R}}_r}(k) = [{u_r}_{1,0}(k), {u_r}_{1,1}(k), \cdots ,{u_r}_{J,{k_J}}(k),{s_r}_{J,0}(k), \cdots {s_r}_{J,{k_J}}(k){]^{\rm{T}}}。$ |
在本次研究中,对船舶无源目标跟踪定位采用的是融合算法,即ORB和Camshift两个算法的融合,可将融合后的新算法称为CSO算法。对船舶运动目标跟踪时,窗口并不需要与目标的轮廓完全匹配,窗口为矩形便可满足要求。
3 仿真实验采用仿真软件验证船舶无源目标定位算法的有效性,在仿真实验条件下,设定船舶总长为93.4 m,船宽22 m,型深9.5 m,吃水6.5 m,排水量14245 t,设计水线长86.2 m。船舶初位置为(6 m, 5 m,10°),选取阻尼系数0.1,波浪谱主频0.898 rad/s,滤波器的参数为1.0。基于上述设定条件进行仿真实验,当船舶发生纵荡、横荡、首摇时,在定位无源目标过程中需要输入信号,信号中的环境噪声干扰较大,仿真无源目标定位时要估算出高频运动成分,评估无源目标状态。船舶纵荡变化下定位无源目标的输入信号与输出信号图如图4(a)所示,船舶横荡变化下定位无源目标的输入信号与输出信号图如图4(b)所示。根据仿真结果表明,基于本文算法的船舶无源目标定位能够有效滤除干扰噪声。
![]() |
图 4 输入信号与输出信号图 Fig. 4 Input signal and output signal diagram of positioning |
在相同实验条件下,对比分析传统算法与本文算法在处理数据中的耗时和误差,检验本文算法对无源目标的定位精度。传统定位算法与本文定位算法的耗时对比图如图5所示。结果表明,随着定位数据量增大,2种算法的耗时都会增加,但是传统算法的耗时增加幅度更大,本文提出算法定位耗时较少。当数据量达到40 GB时,本文算法耗时为28 ms,而传统算法耗时61 ms。此外,在船舶无源目标定位误差的仿真实验中,传统定位算法的误差范围在0.79-1.02 m之间,平均值为0.88 m。本文提出的定位算法误差在0.12-0.24 m之间,平均值为0.19。通过对比可知,传统定位算法的误差较大,本文提出的定位算法误差较小,即定位精度更高。
![]() |
图 5 传统定位算法与本文定位算法的耗时对比图 Fig. 5 Time-consuming comparison between traditional positioning algorithm and this positioning algorithm |
在船舶无源目标定位中,需建立船舶在海上运动的模型,包括横荡、纵荡、横摇、纵摇等不同角度运动的模型。设船舶中心为坐标原点,求出船首角向量,在考虑到螺旋桨推力、海流角速度、风力、螺旋桨推力矩、海流力矩、阻力系数、力矩系数等影响因素的基础上,建立起船舶运动模型,随机布置传感器节点,并采用改进后的Camshift算法准确定位无源目标信息。
[1] |
刘大辉, 赵亮, 徐胜文, 等. 极限海况下动力定位船舶推力分配推进器饱和协议[J]. 船舶力学, 2022, 26(4): 520-528. DOI:10.3969/j.issn.1007-7294.2022.04.007 |
[2] |
陈松涛, 王之民. 船舶交流电网绝缘监测及故障定位系统开发[J]. 江苏船舶, 2021, 38(6): 36-38+45. |
[3] |
陈海力, 任鸿翔, 李源惠, 等. 基于反推滑模的船舶动力定位有限时间控制[J]. 计算机仿真, 2021, 38(12): 182-187+479. DOI:10.3969/j.issn.1006-9348.2021.12.038 |
[4] |
张啸尘, 赵建森, 程成. 基于YOLOv3算法的船舶双目视觉检测与定位方法[J]. 上海海事大学学报, 2021(1): 26-32. |
[5] |
肖军. 基于BP网络的船舶磁性目标定位方法研究[J]. 舰船科学技术, 2017(24): 100-102. |
[6] |
梁月翔, 冯辉, 徐海祥. 面向智能船舶的水面小目标检测算法[J]. 大连理工大学学报, 2021(3): 255-264. DOI:10.7511/dllgxb202103005 |
[7] |
孙宝全, 颜冰, 张伽伟. 基于约束渐进扩展卡尔曼滤波的船舶电场跟踪定位方法[J]. 海军工程大学学报, 2018(6): 30-35. DOI:10.7495/j.issn.1009-3486.2018.06.006 |