一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于深度学习的近岸水面区域舰船检测方法及装置

2022-04-24 19:51:30 来源:中国专利 TAG:


1.本发明属于舰船目标检测技术领域,尤其涉及一种基于深度学习的近岸水面区域舰船检测方法及装置。


背景技术:

2.作为重要的军事打击目标和主要的海上运输载体,舰船目标检测有着重大的研究价值和意义。在军事领域,及时准确地检测敌方舰船可以为我方决策提供支持,极大关系到战斗成败;在民用领域,对海域内的舰船进行实时监测可以更好地管理海域,在海洋交通运输、渔业生产、海上救援等方面有广泛应用。
3.近年以来,利用sar图像进行舰船目标检测已成为目前目标检测领域的一大重点与热点问题,能否快速准确地对舰船进行检测具有重要军事意义和经济价值。合成孔径雷达(synthetic aperture radar,sar)是一种高分辨率成像雷达,可以不受光照、气候等条件限制实现全天时全天候对地观测,并且具有较强的穿透能力。
4.但是,sar图像场景通常都比较大,而近岸区域不仅包含海域而且包含大片陆地场景,用目前的检测方法进行舰船目标检测时,会产生大量的冗余信息(如陆地场景中的信息),导致检测效率比较低;而且,近岸区域场景中存在港口、岛礁等大量与舰船目标相似的成像特征,在很多情况下舰船与舰船、舰船与港口密集排列在一起,容易造成漏检、误检,导致检测精度比较低。


技术实现要素:

5.本发明的目的是提供一种基于深度学习的近岸水面区域舰船检测方法及装置,以提高检测效率和检测精度。
6.本发明采用以下技术方案:一种基于深度学习的近岸水面区域舰船检测方法,包括以下步骤:
7.将待检测sar图像分割成若干个子图像;
8.使用区域分类网络对每个子图像进行分类;
9.筛选出分类结果为第一类别的子图像,作为目标检测图像;其中,第一类别为非陆地区域类;
10.采用检测网络对目标检测图像进行目标检测,得到舰船目标检测结果;
11.结合每个目标检测图像的舰船目标检测结果,得到待检测sar图像的目标检测结果。
12.进一步地,采用检测网络对目标检测图像进行目标检测包括:
13.从目标检测图像中提取特征图;
14.根据特征图确定目标检测图像的预测结果;
15.对预测结果进行解码,得到目标检测图像的目标检测结果。
16.进一步地,从目标检测图像中提取特征图包括:
17.使用删除了最后一层全连接层的darknet-53网络提取目标检测图像的特征图,得到位于中间层特征层、中下层特征层和底层特征层。
18.进一步地,根据特征图确定目标检测图像的预测结果包括:
19.将底层特征层进行5次dbl处理,并得到第一预测结果;
20.将处理后的底层特征层与进行了上采样后的中下层特征层进行拼接,得到第一融合特征层;
21.对第一融合特征层进行5次dbl处理,得到第二预测结果;
22.将处理后的第一融合特征层与进行了上采样后的中间层特征层进行拼接,得到第二融合特征层;
23.对第二融合特征层进行5次dbl处理,得到第三预测结果;
24.组合第一预测结果、第二预测结果和第三预测结果,得到预测结果。
25.进一步地,检测网络的损失函数为:
26.loss=λ1l
loc
(x,y,w,h) λ2l
conf
(c) λ3l
cla
(p) λ4l
ang
(θ),
27.其中,loss为检测网络的损失函数,l
loc
(x,y,w,h)为位置损失函数,l
conf
(c)为置信度损失函数,l
cla
(p)为交叉损失函数,l
ang
(θ)为角度损失函数,λ1、λ2、λ3和λ4均为超参数,均为超参数,为二值系数,wi和hi均为归一化到(0,1]之间的系数,k为特征图的大小,i为特征图中网格的序数,j为特征图中网格的先验框的序数,θi为角度调整参数的真实值,为角度调整参数的预测值。
28.进一步地,检测网络中的检测框为旋转检测框,旋转检测框的参数包含其相对于待检测的目标检测图像的旋转参数。
29.进一步地,区域分类网络包括输入部分、中间卷积部分和输出部分;
30.输入部分包括一个7*7的卷积层和一个最大池化层;卷积层步长为2,最大池化层步长为2;
31.中间卷积部分将输入部分输入的数据分为两部分,一部分经过两个卷积层、另一部分直接短接,两部分的结果相加并经过relu函数输出至输出部分;输出部分包括平均池化层和全连接层;输出部分的输出节点个数为2。
32.进一步地,非陆地区域类包含水域类和结合类;结合类为水域和陆地结合的类别。
33.本发明的另一种技术方案:一种基于深度学习的近岸水面区域舰船检测装置,包括:
34.分割模块,用于将待检测sar图像分割成若干个子图像;
35.分类模块,用于使用区域分类网络对每个子图像进行分类;
36.筛选模块,用于筛选出分类结果为第一类别的子图像,作为目标检测图像;其中,第一类别为非陆地区域类;
37.目标检测模块,用于采用检测网络对目标检测图像进行目标检测,得到舰船目标检测结果;
38.结合模块,用于结合每个目标检测图像的舰船目标检测结果,得到待检测sar图像的舰船目标检测结果。
39.本发明的另一种技术方案:一种基于深度学习的近岸水面区域舰船检测装置,其
特征在于,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现如权利要求1-8任一项的一种基于深度学习的近岸水面区域舰船检测方法。
40.本发明的有益效果是:针对近岸场景下存在的大范围陆地区域对舰船目标检测造成干扰的问题,本发明提出了一种新的舰船检测方法,首先将大场景近岸区域图像分割为若干子图像,然后再通过区域分类网络对子图像进行分类,消除陆地区域的影响,最后通过检测网络进行检测,提高了检测效率;针对近岸场景下目标检测容易漏检、误检、检测精度低的问题,对传统目标检测框架yolov3进行了改进,用可以旋转的检测框替代了原先的锚框,可以有效分离舰船目标与背景,提高了检测精度。
附图说明
41.图1为本发明实施例一种基于深度学习的近岸水面区域舰船检测方法的流程图;
42.图2为本发明实施例中深度残差网络的残差结构图;
43.图3为本发明实施例中区域分类网络的基本机构图;
44.图4为本发明实施例检测网络中旋转检测框和现有技术中的矩形检测框的对比示意图;
45.图5为本发明实施例中检测网络的基本结构图;
46.图6为本发明实施例中检测网络中对调整参数进行的调整关系示意图;
47.图7为本发明实施例中不同旋转角度检测框的示意图;
48.图8为本发明实施例中不同大小检测框的示意图;
49.图9为本发明实施例实验中区域分类网络的损失函数变化示意图;
50.图10为本发明实施例实验中改进前后的检测方法pr曲线对比图;
51.图11为本发明实施例实验中改进前后的检测网络的检测结果对比图;
52.图12为本发明实施例一种基于深度学习的近岸水面区域舰船检测装置的结构示意图。
具体实施方式
53.下面结合附图和具体实施方式对本发明进行详细说明。
54.传统sar图像舰船目标检测方法大多以恒虚警率(constant false alarm rate,cfar)算法或者该算法的改进算法为主,但是该类算法的前提是目标与背景相比有很强的对比度,该模型容易受到海况、气候等条件的影响,性能较依赖于杂波模型,在大场景sar图像中进行密集滑窗非常耗时,而且检测虚警率较高。
55.sar图像往往包含大片陆地区域,在对舰船目标进行检测时将这样的陆地区域也进行处理是不必要的,因此检测时往往存在信息冗余问题,检测效率比较低。随着深度学习理论及相关技术的快速发展,使用深度学习进行目标检测已经成为目标检测领域的主流方向。深度学习的方法对于复杂场景的处理能力较强,比传统的目标检测方法检测精度更高,因此,本技术的检测方法基于深度学习的方法进行设计。
56.针对背景技术中存在的问题,本发明提出了一种新型的检测方法,用于对近岸区域sar图像中的舰船目标进行检测。基于深度学习的方法,一方面,采用前置的区域分类网
络用于对场景进行分类,减少了陆地区域对检测的干扰;提高了检测效率,另一方面,在基本检测网络的框架上加入角度信息,采用旋转检测框代替矩形检测框,实现了目标与背景的有效分离,提高了检测精度。
57.更为具体的,本发明近岸区域的舰船目标检测提供了一种新的检测思路,首先对图像进行分割,分割之后再用区域分类网络进行分类(分类网络采用的是卷积神经网络),最后再通过检测网络对近岸水域的部分进行目标检测。本发明改进的检测网络通过引入角度信息,用更加精确的旋转检测框代替矩形检测框,以提高检测精度。该方法是对现有检测框架yolov3改进后的方法,改进主要体现在两处,一方面需要对先验框进行修改,加入角度信息,另一方面需要对损失函数进行修改,增加角度损失。
58.本发明的一种基于深度学习的近岸水面区域舰船检测方法,如图1所示,包括以下步骤:步骤s110、将待检测sar图像分割成若干个子图像;步骤s120、使用区域分类网络对每个子图像进行分类;步骤s130、筛选出分类结果为第一类别的子图像,作为目标检测图像;其中,第一类别为非陆地区域类;步骤s140、采用检测网络对目标检测图像进行目标检测,得到舰船目标检测结果;步骤s150、结合每个目标检测图像的舰船目标检测结果,得到待检测sar图像的目标检测结果。
59.针对近岸场景下存在的大范围陆地区域对舰船目标检测造成干扰的问题,本发明提出了一种新的舰船检测方法,首先将大场景近岸区域图像分割为若干子图像,然后再通过区域分类网络对子图像进行分类,消除陆地区域的影响,最后通过检测网络进行检测,提高了检测效率;针对近岸场景下目标检测容易漏检、误检、检测精度低的问题,对传统目标检测框架yolov3进行了改进,用可以旋转的检测框替代了原先的锚框,可以有效分离舰船目标与背景,提高了检测精度。
60.本发明首先对方法的整体流程进行了介绍,之后分别叙述了方法的两个主要部分:基于resnet18的区域分类网络和基于旋转检测框的改进目标检测网络。
61.本发明的方法主要包含两部分:区域分类网络和改进后的检测网络。方法的整体流程如图1所示,首先将一张包含陆地区域的大场景sar图像分割为许多子图像,再将子图像经过区域分类网络进行分类,分类为陆地区域的子图像会被直接舍弃掉,分类为非陆地区域的子图像再经过检测网络进行检测,目的在于通过分类去除陆地区域减少陆地区域对检测结果的影响,降低信息冗余。检测网络通过旋转检测框进行改进,用更加精确的旋转检测框代替矩形检测框来提高检测精度,最后输出检测结果。
62.本发明可以采用滑窗法对大场景sar图像进行分割,即使用一定大小的窗口以一定的步长在图像上进行滑动,窗口的尺寸、步长的大小可以根据具体情况的不同任意设定,如在陆地区域的分布较为分散的情况下可以使用较小的滑动窗口与步长,在陆地区域分布较为集中的情况下可以使用较大的滑动窗口与步长。
63.当采用区域分类网络对子图像进行分类后,分类后的结果会送到检测网络中进行进一步检测,分类结果的好坏会直接影响到最终的检测效果,因此区域分类网络的准确率越高越好。同时,区域分类网络要足够轻量,处理图片的速度要足够快,以避免分类部分占用时间过多从而影响算法的整体速度,因此区域分类网络设计不应该太过复杂,处理速度越快越好。
64.本发明尝试了多种经典的卷积神经网络(如lenet、alexnet、vggnet、resnet)之
后,最终选择了resnet18作为区域分类网络的基本结构。
65.resnet最大的特点在于它引入了残差结构克服了网络的退化(degradation)现象。借助于残差结构,resnet允许网络尽可能地加深,使网络的性能可以不再随着深度增加而降低。
66.resnet是由一系列残差块组成的,残差结构是resnet的基本结构,残差块的基本结构如图2所示,残差结构可以被分为两部分,直接映射部分(identity mapping)和残差部分(residual mapping),直接映射部分对应着图2中右侧曲线,残差部分对应着上图2中左侧包含卷积的部分,这种连接方式被称为shortcut connection,一个残差结构可以表示为:
67.y=f(x,w) x
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
68.其中,y是残差块的输出,f(x,w)对应残差部分,w为网络的权重,相当于图2里的weight layer,x对应直接映射部分。
69.在本发明中,综合分类精度与速度,区域分类网络采用了结构较为简单的resnet18的基本结构,其具体结构如下图3所示,该网络可以分为三个主要部分:输入部分、中间卷积部分、输出部分。resnet18总共包含18个卷积层,它和其他res系列网络的差异主要在于中间卷积部分,其他的部分都是相似的。区域分类网络中数据的流向大致如下:
70.(1)进入网络后首先经过输入部分,输入部分包含一个7*7大小的卷积层(7*7conv),一个最大池化层(max pool);(2)之后进入中间卷积部分进行特征提取,中间卷积部分包括中间的各种残差结构;
71.(3)最后数据经过输出部分输出得到结果,输出部分包括平均池化层(avgpool)和全连接层(fc)。
72.具体的,在本实施例中,是将sar图像分为若干个416*416大小的子图像,由于resnet18网络的输入大小是固定的,不能直接输入416*416大小的图片,所以将该子图像再转换为224*224的图像。送入区域分类网络的输入部分。网络输入部分包含一个大小为7*7,步长为2的大卷积核,以及一个大小为3*3,步长为2的最大池化层。通过这一步,一个224*224的输入图像会转换为56*56大小的特征图,可以极大地减少所需存储大小。
73.中间卷积部分通过残差结构的堆叠来提取信息,残差结构具体如图2所示,输入数据分为两部分,一部分经过两个卷积,另一部分直接短接,二者相加经过relu函数之后直接输出,如果维度不一致,需要通过1*1卷积将维度进行转换,如图3虚线所示。
74.网络输出部分很简单,通过全局平均池化,对特征图的大小进行转换,具体来说,就是将512*7*7的输入数据转换为512*1*1,最后接全连接层输出,输出节点个数设置为2。
75.如此,即完成了对子图像的场景进行分类的过程,将各个子图像分为陆地区域类和非陆地区域类两种,其中非陆地区域类中并不仅仅包含水域的子图像,也可以包含陆地和水域结合的子图像。接下来,就要对每个非陆地类子图像进行舰船目标的识别。
76.本发明中,对非陆地类子图像进行检测采用的是检测网络,且该检测网络是基于旋转检测框所设计的。本发明的方法对旋转目标进行了有效检测,并在一定程度上改善了密集排列情况下目标的漏检、误检问题。如图4所示,现有技术中水平候选框(即图4a中的矩形检测框)的尺寸与宽高比不能反映目标的真实形状,目标和背景像素没有达到有效分离的效果,对于密集对象(如近岸区域中大量的舰船)更加难以分离。旋转候选框(即图4b中的
旋转检测框)就很好地改善了这些问题。一方面,sar图像中目标长宽比较大,旋转矩形框更加准确地表达了目标信息,另一方面,相邻目标之间没有重叠区域,提取的目标特征更加准确,可以更好地分割舰船目标与码头、舰船目标与礁石等。
77.yolov3是one-stage目标检测算法的一种,在保证了检测精度的同时,检测速度也非常快,实时检测效果好,在工业界应用非常广泛。本发明中提出的检测网络是基于yolov3的改进,在其基础上引入了角度信息,用旋转检测框代替原有的矩形检测框,可以提升了检测效果,下面从以下几个方面对检测网络进行介绍。
78.检测网络的基本结构如图5所示,在该检测网络中包括:
79.(1)特征提取部分,即从目标检测图像中提取特征图。
80.对于一张输入图片,首先需要转换为416*416*3大小,之后送入网络进行特征提取。本发明中在进行子图像分割时,每个子图像已经被分割为该大小,符合要求。检测网络的特征提取部分采用的是darknet-53网络的基本结构,如图5中虚线框所示,本实施例中去掉了darknet-53的最后一层全连接层,使用前52层来进行特征提取,得到位于中间层特征层、中下层特征层和底层特征层。
81.如图5左下角所示,dbl模块是darknet-53也是检测网络的基本单元,该单元首先对输入数据进行一次卷积,之后进行batch normalization标准化操作与leaky relu操作。res unit模块借鉴了残差模块的基本结构,输入数据经过残差部分进行特征提取后直接与原数据按通道进行相加,但残差部分并不是直接使用卷积层,而是用dbl模块进行代替。resn模块是组成darknet53网络的基本模块,该模块首先对输入数据进行0填充,之后再依次经过dbl模块与n个res unit模块。
82.由此,416*416*3大小的输入图片依次经过dbl模块、res1模块、res2模块、res8模块获取到第一个特征层,之后经过res8模块获取到第二个特征层,最后经过res4模块获取到第三个特征层,这样经过特征提取,总共获取到了三个不同大小的特征层。
83.(2)从特征图获取预测结果,根据特征图确定目标检测图像的预测结果。
84.从特征图获取预测结果的过程可以分为两个部分,分别是特征组合和利用yolo head获得预测结果。
85.a)特征组合部分:
86.在特征提取部分,检测网络总共提取了三个不同大小的特征层。这三个特征层位于特征提取网络darknet53的不同位置,分别位于中间层,中下层,底层,三个特征层的大小分别为(52,52,256)、(26,26,512)和(13,13,1024)。在获得三个特征层后,要利用这三个特征层进行特征层的进一步组合,采用了类似fpn(feature pyramid networks)的上采样和融合做法,以在不同尺度上做检测,具体构建方式如下:
87.13*13*1024的底层特征层先进行5次dbl处理,处理完后一方面利用yolo head获得第一预测结果,另一方面进行dbl处理与上采样后与26*26*512特征层进行拼接,融合特征层的大小为(26,26,768);融合特征层再次进行5次dbl处理,处理完后一方面利用yolo head获得第二预测结果,另一方面进行dbl处理与上采样后与52*52*256特征层进行拼接,融合特征层的大小为(52,52,384);融合特征层再次进行5次dbl处理,处理完后直接利用yolo head获得第三预测结果。
88.b)利用yolo head获得预测结果:
89.经过特征组合后可以获得三个加强特征层,这三个加强特征层的大小分别为(13,13,512)、(26,26,256)和(52,52,128),然后将这三个不同大小的特征层传入yolo head获得预测结果。
90.yolo head实质上是一次3*3卷积和一次1*1卷积,3*3卷积的作用是特征整合,1*1卷积的作用是转换通道数。经过yolo head之后,最后获得的三个输出大小分别为(13,13,21)、(26,26,21)和(52,52,21)的输出特征图。
91.将n张416*416*3的图片(即子图像)输入检测网络,在经过多层的运算后,最终会输出三个大小分别为(n,13,13,21),(n,26,26,21)和(n,52,52,21)的数据。即为组合第一预测结果、第二预测结果和第三预测结果,得到预测结果。
92.如一张子图片得到的一组数据大小为(1,13,13,21),(1,26,26,21)和(1,52,52,21),输入的时候是n张子图像一起输入网络,因此得到的数据大小就是(n,13,13,21),(n,26,26,21)和(n,52,52,21),接下来要对这些数据进行解码。
93.(3)预测结果的解码,即对预测结果进行解码。
94.实际上,检测网络最后输出的特征层物理含义是将整个图片分成与其长宽对应的网格,例如(n,26,26,21)的特征层含义是将整个图像分成26*26个网格,然后由每个网格建立的先验框去进行预测,网格的预测结果会输出这些先验框内是否包含物体,以及这个物体的种类等信息。
95.检测网络对每个网格都预先设置三个先验框,预测结果应该包含检测框的中心(x,y)坐标调整参数(即横、纵坐标)、宽高调整参数、角度调整参数、置信度、分类结果总共7个参数。这些参数都是检测框的参数,其中,前5个参数是相对参数,是先验框相对于检测框的参数。
96.比如,第一个就是先验框的中心坐标加上中心坐标调整参数(x,y)得到检测框的坐标参数,后面其他的与该方法类似,具体公式即为下述的公式(3)、(4)、(5)、(6)、(7)。先验框的参数都是已知的,网络预测出调整参数之后,再做相应的运算就得到检测框的参数。最后,置信度是预测的这个框是目标的概率有多大,分类结果就是判断目标属于哪一类,本实施例中只有1类,即舰船类。因为有三个先验框,所以最后通道数为3*7=21个。
97.输出的特征图大小是(n,13,13,21),(n,26,26,21)和(n,52,52,21),最后一维通道数是21。以第一个为例,n是图片数量,13、13分别是特征图的宽和高,就相当于把图片划分成了13*13的网格,每一个网格就是特征图上的1个点,21是通道数,就相当于这1个点有21个参数,1个先验框有7个参数,这21个数就是3个先验框的参数排在了一起。现有的yolov3是没有角度调整参数的,即6个参数,总共3*6是18个参数,改进后是3*7共21个参数,所以,通道数设计成了21。
98.由步骤(2)可以获得三个特征层的预测结果,大小分别为:(n,13,13,21)、(n,26,26,21)和(n,52,52,21),将其形状对应转换为(n,13,13,3,7)、(n,26,26,3,7)和(n,52,52,3,7)。因为得到的是调整参数,要得到最终结果还需要进行如图6所示的操作,该操作可以具体通过下列关系表示(上面得到的都是相对参数,这里转化成绝对参数,即检测框的中心坐标在子图像上的位置,检测框的宽、高及角度等):
99.b
x
=σ(t
x
) c
x
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
100.by=σ(ty) cyꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0101][0102][0103]bθ
=t
θ
p
θ
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)
[0104]
其中,b
x
为预测框的中心x坐标(即子图像的横坐标),by为预测框的中心y坐标,、bw为预测框的宽度,bh为预测框的高度,b
θ
为预测框的旋转角度,c
x
为先验框(本实施例中的预测框即为检测框,每个网格都有3个先验框,先验框负责该网格里目标的检测,网络直接输出的也是先验框相对于检测框的调整参数,转换之后才能得到检测框的参数)所在的网格与坐标原点的x方向的距离,cy为先验框所在的网格与坐标原点的y方向的距离,pw为先验框的宽度,ph为先验框的高度,p
θ
为先验框的旋转角度,t
x
、ty、tw、th和t
θ
分别为检测网络输出的调整参数,最后通过非极大值抑制和置信度筛选等得到最终的检测结果。
[0105]
在本实施例中,yolov3对最终得到的三种不同大小的特征层设计了三组不同大小的先验框,检测网络结合数据集的特点对先验框的大小做了一些调整。
[0106]
三个特征层,每个特征层对应的感受野不同,13*13大小的特征图(32倍降采样)感受野最大,适合检测较大的目标,先验框的大小设计为(58,45)、(78,89)和(186,163)。26*26大小的特征图(16倍下采样)适合检测一般大小的目标,先验框大小为(20,41)、(42,25)和(30,56)。52*52大小的特征图(8倍下采样)感受野最小,适合检测小目标,先验框的大小设计为(10,13)、(16,30)和(33,23)。所以当输入大小为416*416时,实际总共有(52*52 26*26 13*13)*3=10647个预测框。
[0107]
如图7所示,将检测框长边与y轴夹角定义为检测框的旋转角度θ,θ的范围为[0,π)(角度为弧度制)。
[0108]
如图8所示,检测网络对先验框增加了角度信息,增加了角度信息的先验框表示为(短边,长边,角度),9个先验框具体如下:(45,58,π/2)、(78,89,0)、(163,186,π/2);(20,41,0)、(25,42,π/2)、(30,56,0);(10,13,0)、(16,30,0)、(23,33,π/2)。
[0109]
本发明的检测网络中,损失函数仿照yolov3的损失函数进行设计,yolov3的损失函数可以分为三部分:位置损失、置信度损失和分类损失。本发明中检测网络的损失函数在此基础上增加了角度损失。表示如下:
[0110]
loss=λ1l
loc
(x,y,w,h) λ2l
conf
(c) λ3l
cla
(p) λ4l
ang
(θ)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0111]
其中,loss为检测网络的损失函数,l
loc
(x,y,w,h)为位置损失函数,l
conf
(c)为置信度损失函数,l
cla
(p)为交叉损失函数,l
ang
(θ)为角度损失函数,λ1、λ2、λ3和λ4均为超参数,均为预先设置的,其和为1,用来给各部分损失加权重的。x、y、w、h和θ是网络直接输出的那些调整参数,c和p分别是置信度和分类结果,c表示是目标的概率,取值为0~1之间,是目标概率越大,值越大,p是分类结果,这里只有1类,恒取1。
[0112]
关于位置损失,是指由预测框与真实框的中心坐标、宽高之间的差异引起的损失。包含三部分,前两项表示中心坐标的差异损失,第三项表示宽高的差异损失。公式如下:
[0113]
[0114]
其中,(2-wi*hi)是为了提升小目标检测效果而引入的因子,wi和hi均为归一化到(0,1]之间的系数,目标越大,wi和hi越接近1,该系数的值越小,目标越小,所占的权重越大。是一个二值系数,根据先验框与目标之间的iou(即交并比,两个检测框的交集面积和并集面积的比值,值越大,两个就越重合,如果两个检测框完全重合在一起,即为1)大小可以将该先验框分为正样本(包含目标)和负样本(不包含目标),如果该先验框是正样本,则取1,否则取0,因此,位置损失只针对正样本。针对中心坐标的差异使用的是交叉熵损失函数,针对宽高的差异使用的是平方损失函数,上述公式中x、y、w

、h

是真实值(标签),则分别为网络预测结果。
[0115]
关于置信度损失,是由预测框的置信度与真实值之间的差异引起的损失,如果该预测框是正样本,则置信度取1,否则取0。因此,包含两部分损失,第一项为含有目标的预测框的置信度损失,第二项为不含目标的预测框的置信度损失,均使用交叉熵损失函数,具体公式如下:
[0116][0117]
其中,等式右边第一部分是有目标的框的损失,第二部分是无目标的框的损失,因为网络可能会把有目标的框预测为无目标,也可能会把无目标的框预测为有目标,因此损失有两部分。c值为1,代表有目标,第一项的系数为1,第二项系数为0;c值为0,代表无目标,第一项的系数为0,第二项系数为1。
[0118]
关于分类损失,是由预测框与目标之间的类别差异带来的损失,本实施例中目标类别只有舰船一类,计算较为简单,分类损失只针对正样本,使用交叉熵损失函数,具体公式如下:
[0119][0120]
其中,c为类别,因为只有1类所以p(c)表示该目标为舰船的概率。
[0121]
在本实施例中,检测网络中的检测框为旋转检测框,旋转检测框的参数包含其相对于待检测的目标检测图像的旋转参数。关于角度损失,是由预测框与目标之间的角度差异带来的损失,角度损失只针对正样本,使用平方损失函数,形式跟宽高损失类似,针对小目标同样引入了系数,具体公式如下:
[0122][0123]
其中,为二值系数(即表示第i个网格的第j个先验框),wi和hi均为归一化到(0,1]之间的系数,k为特征图的大小,i为特征图中网格的序数,j为特征图中网格的先验框的序数。比如对于13*13的特征图则k值为13,26*26的特征图则k值为26;m值为2,j的取值分别对应3个先验框。θi为角度调整参数的真实值,为角度调整参数的预测值。如此,通过上述的检测网络即可得到每个子图像的目标检测结果。
[0124]
在本发明中,还进行了实验,并对实验结果进行实验分析。在以下内容中,首先介
绍了区域分类网络与检测网络所用的数据集,之后分别叙述了区域分类网络与检测网络的实验结果与实验分析。最后结合区域分类网络与改进后的检测网络对方法整体进行了分析,通过对比来说明检测方法的效果,用来与本发明方法做对比的方法是将图片直接输入到改进前的检测网络(yolov3)中来进行对比。
[0125]
区域分类网络训练和测试使用的数据集均为air-sar-ship1.0,该数据集图像均来自于高分三号卫星,总共有31景大场景图片,图像分辨率为1m和3m,30景图像尺寸为3000*3000像素,1景图像尺寸为4140*4140像素,采用的极化方式为单极化,成像模式包括条带式和聚束式,图像类型为tiff。数据集信息如下表所示:
[0126]
表1数据集信息
[0127][0128]
air-sarship-1.0数据集标注格式为pascal voc数据集标注格式,标签文件保存为为xml格式。
[0129]
该数据集不仅包含众多的舰船信息,还包含近岸海域、港口、陆地等相关信息。
[0130]
检测网络训练和测试中使用的数据集为自行标注的air-sar-ship1.0数据集中的部分图片和ssdd 数据集,air-sar-ship1.0数据集上述内容已经说明。
[0131]
ssdd 数据集在ssdd数据集的基础上增加了旋转检测框的标注,其他条件与ssdd数据集完全相同。
[0132]
ssdd数据集是第一个国内外公开的专门用于sar图像舰船目标检测的数据集。ssdd数据集采用跟pascal voc数据集相同的格式进行构造,按照7:2:1的比例对数据集进行划分,分为训练集、测试集和验证集,ssdd数据集尽量包含了多种成像条件,例如不同尺寸、分辨率、传感器类型和海况等,这样可以保证训练出来的检测模型具有更好的鲁棒性。
[0133]
ssdd数据集一共包含1160张图片,总计2456艘舰船,平均每幅图片中有2.12艘船。后续根据任务需要可以增加样本个数,对数据集进行扩充。
[0134]
将air-sar-ship1.0数据集中的图片按照大约2:1的比例划分为训练集和测试集,将21景图片用做训练集,其余10景图片用作测试集。air-sar-ship1.0数据集中的图片均为大场景图片,既包含陆地区域又包含海洋区域,图片数量也较少,只有31景。为此,首先需要将3000*3000像素的图片分割为多个416*416像素的子图像,手动对子图像进行标注,并选出一部分子图像用来进行训练和测试,切分为416*416像素可以方便后续的分类和检测。在该标注过程中,仅包含海洋区域的图像为非陆地区域图像,仅包含陆地区域的图像、和同时包含陆地和海洋区域的图像均为陆地区域图像。标注后的子图像分为两类,一类是陆地区域,另一类是非陆地区域,非陆地区域包含海陆交界区域和海洋区域两部分。
[0135]
由于数据集的样本数量太少,因此还需要进行数据增强。本实验中使用的增强方式主要有翻转和旋转,具体有顺时针旋转90
°
、顺时针旋转180
°
、顺时针旋转270
°
、水平翻转、垂直翻转,总共使用了五种增强方式。
[0136]
经过数据增强之后的数据集,图片数量扩充为原来的6倍,训练集包含1050张图片,其中,陆地区域图片384张,非陆地区域图片666张,测试集包含564张图片,其中,陆地区域图片234张,非陆地区域图片330张。
[0137]
使用制备好的训练集对区域分类网络进行训练,使用的损失函数为交叉熵损失函数,使用的优化算法为adam优化算法。模型总共训练了100轮,每一轮都使用全部的训练集图片进行训练,训练过程中损失函数在验证集上的变化情况如图9所示。在测试集上的结果如下表2所示:
[0138]
表2测试集结果
[0139]
准确率陆地区域误判数非陆地区域误判数运行时间96.45%10/23410/3309.24s
[0140]
模型在测试集上的准确率较高,最终可以达到96.45%,使用gtx 1050ti显卡运行,从加载模型到对测试集图片完成处理总共需要9.24s,在保证精度的情况下处理速度不算太慢,模型的整体效果较好。
[0141]
接下来进行检测网络实验结果与分析。环境为windows 10系统和pytorch深度学习框架,计算机配置为i5-8300h,2.30ghz,8gb内存,nvidia geforce gtx1050ti,4gb显存,对算法的训练和测试均使用gpu加速完成。
[0142]
实验使用的数据集为ssdd 数据集和air-sar-ship1.0数据集中的部分自标注图片,数据集具体情况如下:
[0143]
表3数据集情况
[0144]
类别图片数量舰船数量训练集10001678测试集200808
[0145]
改进前后的检测算法置信度均取大于0.1,与目标之间的iou大于0.4算作检测正确,在此条件下绘制的pr曲线如图10所示。实线所示为改进之前的检测算法的pr曲线,虚线为改进之后的检测算法的pr曲线,采用voc2010数据集的计算方法进行计算,改进之前的检测算法map为52.79%,改进之后的算法map为56.16%,精度提升大约为4%。根据上述内容可知,改进后的检测方法确实在精度上有一定提升,说明加入角度信息可以在一定程度上提高准确率。
[0146]
如图11所示,为改进前后检测算法检测效果的示例图,可以看到改进前的算法没有检测到图片左下角距离码头较近的舰船,但是改进后的算法较为准确地检测到了这艘船,说明改进后的检测算法有一定的效果。
[0147]
如下表4所示为置信度取大于0.5,与目标之间的iou大于0.4算作检测正确的情况下改进前后的检测算法的检测情况。
[0148]
表4改进前后检测算法检测情况
[0149]
类别检测正确的舰船数目检测到的舰船总数测试集中舰船总数改进前算法467718808改进后算法501840808
[0150]
由上表可见,改进后的算法检测正确的舰船数量比改进前算法要多。
[0151]
另外,该实验采用对图片进行分割后直接通过改进前的检测网络进行检测作为对比实验。本发明的方法首先让图片通过区域分类网络进行分类,分类过后再通过改进的检测网络得到结果。同样的实验环境,软件环境为windows 10系统和pytorch深度学习框架,计算机配置为i5-8300h,2.30ghz,8gb内存,nvidia geforce gtx1050ti,4gb显存,对两种方法的测试均使用gpu加速完成。
[0152]
从air-sar-ship1.0测试集的10景图片中选取了5景舰船数量较多的图片进行测试,分割成子图像后根据对应的矩形检测框标注文件进行了旋转检测框的手动标注,一共得到了245张子图像,其中陆地区域图片42张,非陆地区域图片203张,含有舰船的图片61张,总共包含93艘舰船。具体情况如下表所示:
[0153]
表5数据集情况
[0154]
图片数量陆地区域图片数量非陆地区域图片数量舰船数量2454220393
[0155]
使用该数据集进行实验,两种方法条件均为置信度取大于0.5,与目标之间的iou大于0.4算作检测正确,实验结果如下:
[0156]
表6实验结果
[0157][0158]
根据上表可以发现,本发明提出的方法正确率比对比方法高的同时误检率比对比方法还要低。使用f1-score进行评估,由上表计算本发明提出的方法precision为0.284,recall为0.316,f1-score为0.355,对比算法precision为0.290,recall为0.181,f1-score为0.223,本发明提出的方法要优于对比方法。
[0159]
但是在运行时间上与预期的结果不同,本发明提出的算法要慢,推测是陆地区域图片过少,分类部分占用时间过多,后续又增加了5景陆地区域较多的图片进行实验,最终得到的结果如下:
[0160]
表7实验结果
[0161][0162]
如上表所示,增加了5景图片之后的实验结果表明,本发明方法不仅有更高的f1-score,而且运算速度上也要更快。
[0163]
综上,本发明引入了前置区域分类网络用来对近岸区域舰船目标进行检测。针对检测时存在的信息冗余问题,本发明的改进目标检测方法加快了检测速度。与一般的检测方法相比,本发明提出的方法包含一个前置的区域分类网络用于对图片进行分类,该网络采用resnet18网络的基本结构,使用手动分割标注增强的air-sar-ship1.0数据集进行训练。对于一幅大场景sar图片,首先经过分割分为许多子图像,子图像经过区域分类网络之后被分为两类:陆地区域和非陆地区域(包括海陆交界区域和海洋区域),只有被判为非陆地区域的子图像才会经过检测网络进行进一步的检测。实验表明该方法能有效加快检测速度,且陆地场景越大提升越明显。
[0164]
另外,本发明将旋转检测框引入了yolov3网络,提高了检测精度。针对舰船目标与港口、岛礁等成像特征相似,密集排列不易区分的问题,本发明对现有检测框架yolov3进行了改进,用旋转检测框代替原来的检测框,克服了矩形框背景与目标无法有效分离的问题,提高了检测精度。改进后的方法加入了舰船的角度信息,对yolov3的先验框部分与损失函数部分进行了相应的改进。在自标注数据集与ssdd 数据集上进行了测试,实验结果表明该方法能有效提升检测精度。
[0165]
本发明还公开了一种基于深度学习的近岸水面区域舰船检测装置,如图12所示包括:分割模块210,用于将待检测sar图像分割成若干个子图像;分类模块220,用于使用区域分类网络对每个子图像进行分类;筛选模块230,用于筛选出分类结果为第一类别的子图像,作为目标检测图像;其中,第一类别为非陆地区域类;目标检测模块240,用于采用检测网络对目标检测图像进行目标检测,得到舰船目标检测结果;结合模块250,用于结合每个目标检测图像的舰船目标检测结果,得到待检测sar图像的舰船目标检测结果。
[0166]
需要说明的是,上述装置的模块之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0167]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将所述装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件
的形式实现,也可以采用软件功能单元的形式实现。另外,各功能模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0168]
本发明还公开了一种基于深度学习的近岸水面区域舰船检测装置,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的一种基于深度学习的近岸水面区域舰船检测方法。
[0169]
所述装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该装置可包括但不仅限于,处理器、存储器。本领域技术人员可以理解,该装置可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。
[0170]
所称处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0171]
所述存储器在一些实施例中可以是所述装置的内部存储单元,例如装置的硬盘或内存。所述存储器在另一些实施例中也可以是所述装置的外部存储设备,例如所述装置上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器还可以既包括所述装置的内部存储单元也包括外部存储设备。所述存储器用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器还可以用于暂时地存储已经输出或者将要输出的数据。
[0172]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。本领域普通技术人员可以意识到,结合本发明中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献