水下船底可疑目标检测方法、装置、电子设备及可读介质

文档序号:32053822发布日期:2022-11-04 20:09阅读:80来源:国知局
水下船底可疑目标检测方法、装置、电子设备及可读介质

1.本发明涉及图像处理技术领域,尤其涉及一种水下船底可疑目标检测方法、装置、电子设备及可读介质。


背景技术:

2.船舶是我国重要的大型涉水设备;然而目前船舶水面以下部分的安检手段极度匮乏,是重要的安全隐患;例如,海洋附着生物会给船体及水下抽排水管道及一切海洋设施造成很大的破坏作用;另外,一些边缘尖锐的可疑漂浮物会划破船底的保护油漆,从而使船舶表面金属加速腐蚀、更易聚集海洋附着生物等等。
3.目前,针对船底附着物的危害,一般有通过人工手工的方法清除,或是涂上一种特殊的对海洋生物有毒性的特殊防污漆,或是人工操作塑钢制作的爬式工具(水下机器人)清扫附着物;以上方法中,人工清除耗时耗力;涂敷特殊油漆,其损耗很高,需要频繁地定期维护,并且油漆可能会被尖锐的海上漂浮物破坏;水下机器人是一种较为便捷、智能的方案;然而需要清除船底所有的附着物及聚集物,水下机器人的人工操作的方式在面对这种视野受限、无法得知可疑目标位置的情况下显得较为笨拙。
4.手工设计的特征费时费力,而船底可疑目标的在水下的背景颇为复杂,且数量不定,从单个可以分辨到密密麻麻地堆积的情况都有,现有的检测方法运行时往往耗时长,且无法自适应目标的稀疏程度而检测。


技术实现要素:

5.本发明实施例的目的是提供一种水下船底可疑目标检测方法、装置、电子设备及可读介质,以解决或部分解决现在存在的对分布不均匀的目标识别困难的问题。
6.为了达到上述目的,本发明实施例所采用的技术方案如下:
7.第一方面,本发明实施例提供一种水下船底可疑目标检测方法,包括:
8.获取待检测水下图像;
9.利用暗通道去雾算法和msr图像增强算法对所述待检测水下图像进行预处理得到输入图像;
10.将所述输入图像输入训练好的yolov3网络中,输出目标检测结果,其中所述yolov3网络对训练集数据的锚框获取使用k-means++算法,在非极大值抑制的筛选时使用基于mscnn动态阈值算法。
11.进一步地,在将所述输入图像输入训练好的yolov3网络之前,还包括:
12.通过数据扩充方法获取训练数据集;
13.利用所述训练数据集对所述yolov3网络进行训练,得到训练好的yolov3网络。
14.进一步地,所述通过数据扩充获取训练数据集,具体包括:
15.通过水平翻转、上下翻转、旋转预设角度、随机缩放、随机裁剪以及添加噪声中的一种
16.或多种方法获取训练数据集。
17.进一步地,对训练集数据锚框的获取使用k-means++算法,具体包括:
18.在训练集数据中选择1个随机数据作为初始中心,以交并比作为距离的度量单位来计算所有样本与质心的距离,其中所述交并比为两个预测框的重叠部分的宽和长,即用两个预测框的交集面积除以并集面积;
19.用轮盘法筛选下一个满足条件的聚类中心,重复以上步骤,直至找到k个聚类中心;
20.针对数据集中每个样本,计算它到k个聚类中心的距离并将其分到距离最小的聚类中心所对应的簇中;
21.针对每个簇,重新根据平均距离计算该簇的聚类中心,直至到达预设迭代次数或者聚类中心不再变化为止;
22.计算每一个簇的平均交并比,将得到的k个长和宽转换为相对比例,作为预训练的锚框。
23.进一步地,在非极大值抑制的筛选时使用基于mscnn动态阈值算法,具体包括:
24.将所述输入图像输入到mscnn网络中,获取热力图,将其正则化,获得一个区间在(0,1)的稀疏矩阵;
25.利用金字塔最大池化法将所述稀疏矩阵转化为动态阈值矩阵;
26.在yolov3网络中应用动态阈值矩阵获得基于目标稀疏程度的阈值,并根据所述阈值在非极大值抑制的步骤中进行筛选目标候选区域。
27.第二方面,本发明实施例还提供一种水下图像目标检测装置,包括:
28.获取模块,用于获取待检测水下图像;
29.预处理模块,用于利用暗通道去雾算法和msr图像增强算法对所述待检测水下图像进行预处理得到输入图像;
30.目标检测模块,用于将所述输入图像输入训练好的yolov3网络中,输出目标检测结果,其中所述yolov3网络对训练集数据的锚框获取使用k-means++算法,在非极大值抑制的筛选时使用基于mscnn动态阈值算法。
31.第三方面,本发明实施例还提供一种电子设备,包括处理器、通信接口、存储器和总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信,处理器可以调用存储器中的逻辑指令,以执行如第一方面所述的水下图像目标检测方法。
32.第四方面,本发明实施例还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如第一方面所述的水下图像目标检测方法。
33.根据以上技术方案,本发明的有益效果是:
34.本发明采用k-means++的聚类函数代替了原来的k-means算法,使预训练获取的anchor box检测到目标物的可能性更高;k-mean++在k-means基础上选择随机样本而非随机数据作为初始质心,用轮盘法选出下一个聚类中心;另外在进行非极大值抑制之前,将所有候选框的信息输入到mscnn网络中,生成密度云图,将密度云图获得的概率矩阵正则化,获得一个区间在(0,1)的稀疏矩阵;然后利用金字塔最大池化法将其转化为与yolo网格等大小的动态阈值矩阵;然后在yolo中根据矩阵获得目标稀疏程度的阈值,应用该阈值进行
动态地筛选候选框。
35.本发明使用的k-means++,在目标的预训练时获取更精准的anchor box(在原数据集的对比试验中取得了更高的精度),本发明使用的mscnn动态阈值矩阵根据目标的稀疏程度而进行候选框的筛选,对水下目标的数目不确定的情况有很好的检测效果。
36.本发明提出的基于yolo神经网络的水下船底可疑目标检测召回率为94.6%,平均精确率为93.3%,全类平均正确率为91.7%,检测速度为0.2s/张,本发明所述的检测方法具有较高的检测精度和良好的实时性。
附图说明
37.此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
38.图1为本发明实施例提供的一种水下船底可疑目标检测方法的流程图;
39.图2为本发明实施例提供的一种水下船底可疑目标检测方法的流程图(增加步骤s104);
40.图3是本发明实施例中检测网络的信号流示意图;
41.图4是本发明实施例中检测可疑目标效果示意图;
42.图5为本发明实施例提供的一种水下船底可疑目标检测装置的框图。
具体实施方式
43.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
44.实施例1:
45.图1为本发明实施例提供的一种水下船底可疑目标检测方法的流程图;本实施例提供的一种水下船底可疑目标检测方法,包括以下步骤:
46.步骤s101,获取待检测水下图像;
47.具体地,通过雄迈网络摄像头,安置在防水罩中,在实验室环境下,模拟海中船舶底部环境采集包含水下船底可疑目标的图像数据,得到数据集,该数据集包括2730张图片;采集数据有高度、竖直倾角、水平倾角、水平距离四个参数。
48.高度为摄像机镜头到可疑目标的距离,影响目标在图片中的大小、面积占比,可按距离分为10cm,30cm,50cm三种情况。
49.竖直倾角为摄像机镜头面的垂线与可疑目标上表面的锐角夹角,水平倾角为与摄像机镜头面互相垂直的平面与目标近水池边缘平面的夹角,两者影响目标在图片中表现出的朝向、特征多寡,竖直倾角可按角度分为30
°
,60
°
,90
°
三种情况,水平倾角可按角度分为0
°
,45
°
,90
°
,135
°
,180
°
,225
°
,270
°
,315
°
八种情况。
50.水平距离为摄像机镜头中心与可疑目标上表面中心的水平面距离,影响目标在图片中的位置,可按目标在图中的位置分为九种情况,即在图上九宫格的位置,每格一种。
51.对数据集按照3:1:1的比例随机划分为训练集、验证集和测试集;最终训练集1638
张,验证集和测试集各546张。
52.对所有图像进行标注,鉴于采集到的水下船底可疑目标类别较少,故仅标注了一个类别,即suspect(可疑目标)。
53.利用labelimg标注后,会生成图像相对应的xml文件,其中记录了关于图像路径,图像尺寸,是否用于语义分割,包含的对象,物体的bounding box等信息。
54.可以对每张图片读取其相对应的xml文件,获取其bounding box的位置;在其每一个bounding box的范围内,划分为独特的roi进行分割,然后处理;对每一块roi进行图像的滤波处理,使图像平滑,去除噪点,同时对图像进行灰度化;然后利用opencv的findcontours寻找该区域内的所有轮廓,以bounding box的轮廓作为根节点建立一颗等级树结构;外层轮廓包含内层轮廓,内层轮廓还可以继续包含内嵌轮廓。
55.可以认定bounding box的子节点(即为除bounding box外的最大轮廓)即为在人工标定时目视到的可疑目标;获取可疑目标轮廓的最小矩形,将最小矩形的信息暂存,同时计算出可疑目标占该最小矩形的面积比,即iou,约定当iou不低于0.75时,即为合格标注,此时将最小矩形的信息更新到xml文件中,覆盖原来的数据。
56.步骤s103,利用暗通道去雾算法和msr图像增强算法对所述待检测水下图像进行预处理得到输入图像;
57.具体地,通过暗通道去雾和msr图像增强,可以同时保持图像高保真度与对图像的动态范围进行压缩的同时,也可实现色彩增强,颜色恒常性,举不动太烦压缩,全局动态范围压缩;有利于接下来的图像处理。
58.如图2所示,还包括:步骤s104,通过数据扩充方法获取训练数据集,利用所述训练数据集对所述yolov3网络进行训练,yolov3网络结构如图3所示;得到训练好的yolov3网络。
59.具体地,所述通过数据扩充获取训练数据集,具体包括:
60.通过水平翻转、上下翻转、旋转预设角度、随机缩放、随机裁剪以及添加噪声中的一种
61.或多种方法获取训练数据集。
62.具体地,对训练集进行数据集扩增,即对训练集中的1638张图像进行水平翻转、垂直翻转、水平垂直翻转、亮度增强与减弱,饱和度增强与减弱7种处理操作;图像数据集增强后,训练集由1638张扩充至3276张。
63.步骤s105,将所述输入图像输入训练好的yolov3网络中,输出目标检测结果,其中所述yolov3网络对训练集数据的锚框获取使用k-means++算法,在非极大值抑制的筛选时使用基于mscnn动态阈值算法;使用以上方法得到的检测效果如图4所示。
64.具体地,其中对训练集数据锚框的获取使用k-means++算法,具体包括:
65.在训练集数据中选择1个随机数据作为初始中心,以交并比作为距离的度量单位来计算所有样本与质心的距离,其中所述交并比为两个预测框的重叠部分的宽和长,即用两个预测框的交集面积除以并集面积;具体地,读取xml文件中所有的标注框的位置,返回包含所有目标框(数目记为n)的长和宽的二维数组,设定k(此处为9);在所有目标框中选取任意一个作为聚类中心c1;计算每个样本与c1的最短距离,将距离放在n x n的距离矩阵中;距离为每一个目标框与c1的交并比;直到计算完所有目标框与c1的距离。在数据集中随
机初始聚类中心能让聚类中心更快的收敛,在风险上比完全随机初始聚类中心要低,是的k-mean能更快的收敛,并显著改善分类结果的最终误差。
66.用轮盘法筛选下一个满足条件的聚类中心,重复以上步骤,直至找到k个聚类中心;具体地,每一个目标欧与当前聚类中心的距离用d(x)表示,则每一个目标框获得一个概率,为距离的平放除以所有目标框的距离的平方和;这是该目标框被选为下一个聚类中心的概率,越大则越有可能被选为下一个聚类中心;由上可得所有非聚类中心的目标框的概率和为1,按照数组中的顺序,每一个目标框获得一个边界值,边界值为其之前所有概率的累加和。产生一个0-1之间的随机数,随机数坐落的区域属于哪个目标框(在那两个边界值之间),则该目标框被选为下一个聚类中心;重复所述步骤直至聚类中心总数目到达9个。轮盘法能够让里聚类中心相对远的目标框更可能成为新的聚类中心,使用概率来选择,对聚类结果保留了更大的容错率。
67.针对数据集中每个样本,计算它到k个聚类中心的距离并将其分到距离最小的聚类中心所对应的簇中;具体地,计算所有非聚类中心的目标框到每个聚类中心的距离,建立一个(n-9)x 9的距离矩阵,根据矩阵将(n-9)个非聚类中心的目标框分配到其距离最近的聚类中心,称每一个以聚类中心为主的目标框的集合为簇。此时根据9个簇分为9个独立的数组。
68.针对每个簇,重新根据平均距离计算该簇的聚类中心,直至到达预设迭代次数或者聚类中心不再变化为止;具体地,对每个簇进行计算,对其内所有目标框,计算其平均的长和宽作为新的聚类中心的长和宽。以9个新的聚类中心为基础,将n个目标框重新按照距离最近原则分配到9个簇中;重复聚类中心和簇的更新直到不再变化或者聚类中心的长和宽变换在0.5以内。
69.计算每一个簇的平均交并比,将得到的k个长和宽转换为相对比例,作为预训练的锚框。具体地,将最后停止循环时的9个聚类中心的场合宽转化为相对图像尺寸的相对比例,保留此作为与训练的锚框。
70.其中,在非极大值抑制的筛选时使用基于mscnn动态阈值算法,具体包括:
71.将所述输入图像输入到mscnn网络中,获取热力图,将其正则化,获得一个区间在(0,1)的稀疏矩阵;具体地,首先对包含目标的图片用进行标注,生成密度图图,然后用mscnn网络进行训练,生成针对目标较准确的mscnn网络模型;将待检测的图像输入到训练好的mscnn网络中,得到关于目标的密度图;此时密度图经过高斯模糊,每一个像素分布了0-1的与目标稀疏程度正相关的数值。
72.利用金字塔最大池化法将所述稀疏矩阵转化为动态阈值矩阵;具体地,mscnn所生成的密度图不一定与使用非极大值抑制时的图形大小相等,因此需要对0-1的稀疏矩阵转化为等大的阈值矩阵。通过设定一个适当的滑动窗口,窗口尺寸为稀疏矩阵的维数除以使用非极大值抑制时的图形大小,即此时的yolo将输入图片分隔的网格数;同理计算出步长;采用最大池化法将稀疏矩阵转化为yolo可用的阈值矩阵;之所以采用最大池化法,是因为最大池化法会保留一个区域内最大的密集程度,想必平均池化法更适合非极大值抑制的需要。
73.在yolov3网络中应用动态阈值矩阵获得基于目标稀疏程度的阈值,并根据所述阈值在非极大值抑制的步骤中进行筛选目标候选区域。具体地,阈值矩阵中每个位置的值表
示了以该点为中心的目标的的密集程度;在进行非极大值抑制算法时,用该点的值来代替算法中的固定阈值,以此筛选与得分最高的检测框相重叠的其他检测框;通过区域地提取目标的分布稀疏程度,对一张图进行动态的阈值调整,以此降低了多目标重叠时的漏检概率。
74.实施例2:
75.图5为本发明实施例提供的一种水下图像目标检测装置的结构示意图,该装置可以执行任意本发明任意实施例所提供的一种水下图像目标检测方法,具备执行该方法相应的功能模块和有益效果。如图5所示,该装置包括:
76.获取模块901,用于获取待检测水下图像;
77.预处理模块903,用于利用暗通道去雾算法和msr图像增强算法对所述待检测水下图像进行预处理得到输入图像;
78.目标检测模块905,用于将所述输入图像输入训练好的yolov3网络中,输出目标检测结果,其中所述yolov3网络对训练集数据的锚框获取使用k-means++算法,在非极大值抑制的筛选时使用基于mscnn动态阈值算法。
79.实施例3:
80.本发明实施例还提供一种电子设备,包括处理器、通信接口、存储器和总线,其中,处理器,通信接口,存储器通过总线完成相互间的通信,处理器可以调用存储器中的逻辑指令,以执行如第一方面所述的水下图像目标检测方法。
81.实施例4:
82.本发明实施例还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如第一方面所述的水下图像目标检测方法。
83.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
84.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
85.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的设备实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
86.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
87.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
88.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上
或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
89.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1