发明内容
基于上述现有技术的缺陷和不足,本申请提出一种舰船检测方法,能够准确地检测答复遥感影像中的舰船位置。
一种舰船检测方法,包括:
获取包含海域的遥感影像以及确定重叠参数;其中,所述重叠参数表示相邻影像之间重叠的像元数量;
根据所述重叠参数,将所述包含海域的遥感影像分割为多个设定大小的子影像;
将所述多个设定大小的子影像分别输入经过训练的区域卷积神经网络,使所述区域卷积神经网络从所述多个设定大小的子影像中检测舰船位置,得到舰船检测结果。
优选地,所述舰船检测结果包括:
检测得到的各个舰船位置组成的舰船位置集合,以及检测得到的各个舰船位置的置信度组成的置信度集合。
优选地,所述方法还包括:
根据所述置信度集合,从所述舰船位置集合中筛选出置信度大于预置的置信度阈值的舰船位置。
优选地,对所述区域卷积神经网络的训练过程,包括:
分别获取包含设定大小的遥感影像的训练样本集和测试样本集;其中,所述设定大小的遥感影像为包含陆地和/或海域的遥感影像;
循环执行以下操作,直到所述区域卷积神经网络的检测精度大于预置的检测精度阈值,或对所述区域卷积神经网络的训练次数达到预置的次数:
利用所述训练样本集对所述区域卷积神经网络进行训练;
利用训练后的区域卷积神经网络对所述测试样本集包含的遥感影像进行舰船检测,得到舰船检测结果;
根据所述舰船检测结果和所述测试样本集中包含的遥感影像中的舰船位置,计算得到训练后的区域卷积神经网络的检测精度;
判断训练后的区域卷积神经网络的检测精度是否大于预置的检测精度阈值;
如果训练后的区域卷积神经网络的检测精度不大于预置的检测精度阈值,则判断对所述区域卷积神经网络的训练次数是否达到预置的次数;
如果对所述区域卷积神经网络的训练次数没有达到预置的次数,则利用所述训练样本集对所述区域卷积神经网络进行训练。
优选地,利用训练后的区域卷积神经网络对所述测试样本集包含的遥感影像进行舰船检测得到的舰船检测结果包括检测得到的各个舰船位置组成的舰船位置集合;
所述根据所述舰船检测结果和所述测试样本集包含的遥感影像中的舰船位置,计算得到训练后的区域卷积神经网络的检测精度,包括:
分别统计所述测试样本集包含的遥感影像中的舰船位置在所述舰船位置集合中出现的数量、所述测试样本集中包含的遥感影像中的舰船位置没有在所述舰船位置集合中出现的数量、所述舰船位置集合中的不是所述测试样本集包含的遥感影像中的舰船位置的舰船位置数量;
根据所述测试样本集包含的遥感影像中的舰船位置在所述舰船位置集合中出现的数量、所述测试样本集中包含的遥感影像中的舰船位置没有在所述舰船位置集合中出现的数量、所述舰船位置集合中的不是所述测试样本集包含的遥感影像中的舰船位置的舰船位置数量,分别计算得到所述训练后的区域卷积神经网络的召回率、精确率和漏检率;
根据所述训练后的区域卷积神经网络的召回率、精确率和漏检率,计算得到所述训练后的区域卷积神经网络的检测精度。
一种舰船检测装置,包括:
数据获取单元,用于获取包含海域的遥感影像以及确定重叠参数;其中,所述重叠参数表示相邻影像之间重叠的像元数量;
影像分割单元,用于根据所述重叠参数,将所述包含海域的遥感影像分割为多个设定大小的子影像;
检测处理单元,用于将所述多个设定大小的子影像分别输入经过训练的区域卷积神经网络,使所述区域卷积神经网络从所述多个设定大小的子影像中检测舰船位置,得到舰船检测结果。
优选地,所述舰船检测结果包括:
检测得到的各个舰船位置组成的舰船位置集合,以及检测得到的各个舰船位置的置信度组成的置信度集合。
优选地,所述装置还包括:
筛选处理单元,用于根据所述置信度集合,从所述舰船位置集合中筛选出置信度大于预置的置信度阈值的舰船位置。
优选地,所述装置还包括:
网络训练单元,用于对所述区域卷积神经网络进行训练;
其中,所述网络训练单元对所述区域卷积神经网络进行训练时,具体用于:
分别获取包含设定大小的遥感影像的训练样本集和测试样本集;其中,所述设定大小的遥感影像为包含陆地和/或海域的遥感影像;
循环执行以下操作,直到所述区域卷积神经网络的检测精度大于预置的检测精度阈值,或对所述区域卷积神经网络的训练次数达到预置的次数:
利用所述训练样本集对所述区域卷积神经网络进行训练;
利用训练后的区域卷积神经网络对所述测试样本集包含的遥感影像进行舰船检测,得到舰船检测结果;
根据所述舰船检测结果和所述测试样本集中包含的遥感影像中的舰船位置,计算得到训练后的区域卷积神经网络的检测精度;
判断训练后的区域卷积神经网络的检测精度是否大于预置的检测精度阈值;
如果训练后的区域卷积神经网络的检测精度不大于预置的检测精度阈值,则判断对所述区域卷积神经网络的训练次数是否达到预置的次数;
如果对所述区域卷积神经网络的训练次数没有达到预置的次数,则利用所述训练样本集对所述区域卷积神经网络进行训练。
优选地,利用训练后的区域卷积神经网络对所述测试样本集包含的遥感影像进行舰船检测得到的舰船检测结果包括检测得到的各个舰船位置组成的舰船位置集合;
所述网络训练单元根据所述舰船检测结果和所述测试样本集包含的遥感影像中的舰船位置,计算得到训练后的区域卷积神经网络的检测精度时,具体用于:
分别统计所述测试样本集包含的遥感影像中的舰船位置在所述舰船位置集合中出现的数量、所述测试样本集中包含的遥感影像中的舰船位置没有在所述舰船位置集合中出现的数量、所述舰船位置集合中的不是所述测试样本集包含的遥感影像中的舰船位置的舰船位置数量;
根据所述测试样本集包含的遥感影像中的舰船位置在所述舰船位置集合中出现的数量、所述测试样本集中包含的遥感影像中的舰船位置没有在所述舰船位置集合中出现的数量、所述舰船位置集合中的不是所述测试样本集包含的遥感影像中的舰船位置的舰船位置数量,分别计算得到所述训练后的区域卷积神经网络的召回率、精确率和漏检率;
根据所述训练后的区域卷积神经网络的召回率、精确率和漏检率,计算得到所述训练后的区域卷积神经网络的检测精度。
本申请将大幅的包含海域的遥感影像按照设定的重叠参数分割为多个设定大小的子影像,然后分别将各个子影像输入经过训练的区域卷积神经网络进行舰船检测得到舰船检测结果。上述处理过程通过对大幅包含海域的遥感影像进行子影像分割,将大幅包含海域的遥感影像的舰船检测问题转化为对小幅遥感影像的舰船检测问题,同时本发明利用陆地区域的负样本对区域卷积神经网络进行训练,增强网络对陆地区域的识别能力,在不采用海陆分割预处理的情况下避免了由于陆地区域引起的虚警,可以提高对大幅遥感影像的舰船检测精度。
具体实施方式
本申请实施例技术方案适用于从包含海域的遥感影像中检测舰船的应用场景,采用本申请实施例技术方案,可以实现对大幅包含海域的遥感影像的高精度的舰船检测。
基于深度学习的高分辨率光学影像舰船检测在近几年得到研究者的广泛关注和推进。在基于计算机视觉的目标检测领域,先后出现了很多目标检测算法,其中,作为深度学习的重要分支,区域卷积神经网络(Regions with Convolutional Neural Networkfeatures,RCNN)在通用目标检测中已经获得比较好的检测效果。基于RCNN较好的目标检测能力,研究学者将RCNN应用于高分辨率光学影像的舰船检测,可以实现对高分辨率光学影像中的舰船位置的检测。
传统的RCNN的区域生成策略非常耗时,限制了RCNN在工程中的应用。因此,相关研究者对RCNN进行了改进得到Fast RCNN,Fast RCNN在检测精度和检测速度上都有提升。后续研究者还对Fast RCNN进行了更进一步的改进,得到Faster RCNN,使RCNN在检测精度和检测速度上有进一步提升。
但是,无论是RCNN还是Fast RCNN或者是Faster RCNN,都是更加适用于小目标检测的深度学习算法。在将RCNN、Fast RCNN、Faster RCNN应用到高分辨率光学影像舰船检测时,发现其针对港口或海面的小幅影像的舰船检测效果较好。当高分辨率光学影像尺寸增大时,随着影像的幅宽逐渐变大,影像包含的陆地区域会逐渐增大,大区域的陆地会造成检测舰船时的大量虚警,影响舰船检测精度。
为了解决大幅包含海域的遥感影像舰船检测时,大区域的陆地带来的虚警影响,相关研究者提出采用海陆分割的方法,先对大幅包含海域的遥感影像进行海陆分割,再进行舰船检测。
但是,对大幅包含海域的遥感影像进行海陆分割一方面增加了工作量,即对于大幅的包含海域的遥感影像需要大量工作才能实现海陆分割;另一方面带来了由于海陆分割不准确而造成舰船检测不准确的隐患。
基于上述问题,本申请提出一种舰船检测方法,特别适用于对大幅包含海域的遥感影像进行舰船检测,本申请技术方案不需要进行海陆分割即可实现对大幅海域影像中的舰船的有效检测。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开了一种舰船检测方法,参见图1所示,该方法包括:
S101、获取包含海域的遥感影像以及确定重叠参数;
具体的,上述包含海域的遥感影像是指待检测其中是否包含舰船的,针对某一海域利用卫星遥感探测设备探测获取的高分辨率遥感影像。根据成像区域不同,上述包含海域的遥感影像中还可以包括陆地,例如海滩、港口、码头等。
另外需要说明的是,本申请实施例技术方案主要用于解决大幅遥感影像的舰船检测问题,因此上述的包含海域的遥感影像,具体是大幅的包含海域的遥感影像。本申请实施例主要介绍对大幅包含海域的遥感影像的舰船检测处理过程,在实际应用本申请实施例技术方案时,也可以应用于对特定尺寸的遥感影像进行舰船检测,其实施过程可以参照本申请实施例执行,本申请实施例不再一一详述。
上述重叠参数,是指相邻影像之间重叠的像元数量。本申请实施例技术思想是将大幅的遥感影像进行分割后再对分割的子影像进行舰船检测,最后再将检测结果进行汇总。为了避免对分割边界处的舰船的检测带来影响,本申请实施例设定在对大幅遥感影像进行分割时,采用有重叠的分割方法,即设定分割的相邻的子影像之间存在部分重叠区域。为了使分割方法统一,本申请实施例设定在对大幅的包含海域的遥感影像进行分割处理之前,先设定重叠参数,然后按照该重叠参数对遥感影像进行有重叠的影像分割。
S102、根据所述重叠参数,将所述包含海域的遥感影像分割为多个设定大小的子影像;
具体的,在本申请实施例中,以影像在行方向和列方向包含的像元数量表示影像的大小,在行方向上,每一行像元表示影像的一行,在列方向上,每一列像元表示影像的一列。因此,上述设定大小的子影像,是指设定行数、以及设定列数的影像,例如L行、L列大小的影像。
按照上述设定的子影像大小,本申请实施例对获取的包含海域的遥感影像进行有重叠的分割,并且,分割后的相邻子影像之间的重叠像元数量为上述重叠参数设定的像元数量。例如,假设重叠参数设定相邻影像之间重叠的像元数量为L'个,则按照该重叠参数将获取的包含海域的遥感影像分割为L行、L列大小的影像时,最终得到多个L行、L列大小的子影像,并且相邻子影像之间重叠L'个像元。
需要说明的是,在将获取的包含海域的遥感影像分割为多个子影像后,本申请实施例还进一步对分割得到的子影像进行编号,以及记录分割后的子影像在原包含海域的遥感影像中的位置坐标,以便后期从子影像中检测出舰船位置后,能够准确地计算出舰船在原包含海域的遥感影像中的位置坐标。
进一步的,在上述包含海域的遥感影像分割过程中,可能出现分割后的子影像的大小不足设定的子影像大小的情况,例如当分割包含海域的遥感影像进行到包含海域的遥感影像的边缘时,基于已经分割的影像区域,剩余的边缘部分的影像区域可能已不足设定的子影像大小,此时,本申请实施例设定对剩余的边缘部分的影像区域补充像元行和像元列,将剩余的边缘部分的影像区域补充为设定的子影像大小,其中,补充的像元行和像元列的像元像素值为0。
例如,假设对包含海域的遥感影像进行分割时,发现剩余的遥感影像区域的大小已经不足L行、L列,则此时本申请实施例对该剩余的遥感影像区域进行像元补充,将其补充为L行、L列大小的影像区域,其中,补充的像元的像素值统一为0。在此基础上,就可以将补充像元后的上述剩余的遥感影像区域分割为一个L行、L列大小的子影像。
按照上述影响分割方法,本申请将获取的大幅的包含海域的遥感影像分割为多个设定大小的子影像,多个子影像可以组成影像集。
S103、将所述多个设定大小的子影像分别输入经过训练的区域卷积神经网络,使所述区域卷积神经网络从所述多个设定大小的子影像中检测舰船位置,得到舰船检测结果。
具体的,上述经过训练的区域卷积神经网络,是指经过训练的,具有从设定大小的包含海域的遥感影像中检测舰船的能力的区域卷积神经网络,并且,上述设定大小,与本申请步骤S102中分割的子影像的设定大小是相同的。也就是说,本申请所应用的上述经过训练的区域卷积神经网络,是指能够对本申请实施例步骤S102分割得到的设定大小的影响进行舰船检测的区域卷积神经网络。
可以理解,对区域卷积神经网络进行训练的过程,即是训练区域卷积神经网络能够完成预定的处理任务。在本申请实施例中,由于区域卷积神经网络是用于对遥感影像进行舰船检测,因此对区域卷积神经网络的训练,即是训练区域卷积神经网络能够从遥感影像中检测出舰船位置,特别是能够从上述设定大小的遥感影像中检测出舰船位置,并且可以经过大量的训练,使其检测精度能够达到预定精度。也就是说,上述经过训练的区域卷积神经网络,是经过训练后,能够以符合要求的精度从上述设定大小的遥感影像中检测舰船的区域卷积神经网络。
进一步的,由于区域卷积神经网络有多种,包括传统的RCNN、Fast RCNN、FasterRCNN,其中Faster RCNN的检测精度和检测速度最佳,因此本申请实施例首选Faster RCNN,对Faster RCNN进行训练使其对设定大小的遥感影像进行舰船检测。
将大幅的包含海域的遥感影像分割得到的多个子影像分别输入上述经过训练的Faster RCNN,使该网络分别对输入的各个子影像进行舰船检测,将对每个子影像进行舰船检测的检测结果进行汇总,就相当于得到了对上述大幅的包含海域的遥感影像进行舰船检测的检测结果,该检测结果可以以舰船位置集合的形式表示:
其中,(x1,x2,y1,y2)中的x1,x2,y1,y2分别表示上述包含海域的遥感影像中的第t艘舰船的外接正矩形框的上边,下边,左边,右边在整幅包含海域的遥感影像中相对影像左上角的位置坐标;N′表示检测到的上述包含海域的遥感影像中包含的舰船的总数。
需要说明的是,上述检测结果中的舰船的位置坐标,具体是当经过训练的FasterRCNN从输入的子影像中检测得到舰船在输入的子影像中的位置坐标后,根据子影像在原来的大幅包含海域的遥感影像中的位置坐标,将舰船在输入的子影像中的位置坐标转换为舰船在大幅包含海域的遥感影像中的位置坐标,从而实现对大幅包含海域的遥感影像的舰船检测,并且确定检测得到的舰船在大幅包含海域的遥感影像中的位置坐标。
经过上述介绍可见,本申请实施例将大幅的包含海域的遥感影像按照设定的重叠参数分割为多个设定大小的子影像,然后分别将各个子影像输入经过训练的区域卷积神经网络进行舰船检测得到舰船检测结果。上述处理过程通过对大幅包含海域的遥感影像进行子影像分割,将大幅包含海域的遥感影像的舰船检测问题转化为对小幅遥感影像的舰船检测问题,同时本发明利用陆地区域的负样本对区域卷积神经网络进行训练,增强网络对陆地区域的识别精度,利用较成熟的小幅影像舰船检测方案实现对大幅遥感影像的舰船检测,可以提高对大幅包含海域的遥感影像的舰船检测精度。
可选的,在本申请的另一个实施例中,还公开了上述舰船检测结果具体包括:检测得到的各个舰船位置组成的舰船位置集合,以及检测得到的各个舰船位置的置信度组成的置信度集合。
具体的,本申请实施例设定,将大幅的包含海域的遥感影像分割成多个小幅的子影像并且分别输入经过训练的区域卷积神经网络(Faster RCNN)进行舰船检测后,将从各个子影像检测出的舰船位置的检测结果进行汇总,得到舰船位置集合,例如可以将检测得到的舰船位置集合表示为:
其中,(x1,x2,y1,y2)中的x1,x2,y1,y2分别表示上述包含海域的遥感影像中的第t艘舰船的外接正矩形框的上边,下边,左边,右边在整幅包含海域的遥感影像中相对影像左上角的位置坐标;N′表示检测到的上述包含海域的遥感影像中包含的舰船的总数。
同时,本申请实施例设定,经过训练的Faster RCNN在检测遥感影像中的舰船位置的同时,还计算检测得到的舰船位置的置信度,即检测得到的舰船位置是真正的舰船位置的概率大小。并且,Faster RCNN在完成对输入的遥感影像的舰船检测后,输出检测得到的各个舰船位置构成舰船位置集合,同时输出检测得到的每个舰船位置的置信度,构成置信度集合。也就是说,在本申请实施例中,将大幅的包含海域的遥感影像分割为多个子影像并分别输入经过训练的Faster RCNN后,得到的检测结果包括两部分,一部分是上述的舰船位置集合,另一部分是与舰船位置集合对应的置信度集合。
作为一种示例,与上述舰船位置集合S'对应的置信度集合可以表示为:
其中,δt表示位于(x1t,x2t,y1t,y2t)的位置处的目标是舰船的置信度,N′表示检测到的上述包含海域的遥感影像中包含的舰船的总数。
基于上述实施例对舰船检测结果的设定,在本申请另一实施例中还公开了,参见图2所示,上述舰船检测方法还包括:
S204、根据所述置信度集合,从所述舰船位置集合中筛选出置信度大于预置的置信度阈值的舰船位置。
具体的,经过训练的Faster RCNN在对输入的各个遥感影像进行舰船检测后,输出的结果包括舰船位置和舰船位置置信度,以此为基础在对大幅遥感影像分割出的各个子影像分别进行舰船检测后,可以得到舰船位置集合和相对应的置信度集合。
可以理解,上述舰船位置集合中的每个舰船位置,在上述置信度集合中都记录了该舰船位置的置信度。在此基础上,本申请实施例对上述舰船位置集合中的舰船位置进行筛选,从中筛选出置信度大于预置的置信度阈值的舰船位置,构成新的舰船位置集合,该新的舰船位置集合中的舰船位置即作为最终确定的检测得到的舰船位置。
由于舰船位置的置信度表征了舰船位置是真正的舰船的概率大小,因此从检测出的舰船位置集合中筛选出置信度大于预置的置信度阈值的舰船位置作为最终确定的舰船位置检测结果,可以使检测准确度更高。
本实施例中的步骤S201~S203分别对应图1所示的方法实施例中的步骤S101~S103,其具体处理内容请参见图1所示的方法实施例的内容,此处不再赘述。
可选的,在本申请的另一个实施例中,公开了对上述区域卷积神经网络的训练过程,参照本申请实施例公开的训练过程对区域卷积神经网络进行训练,可以使区域卷积神经网络能够从设定大小的遥感影像中检测出舰船位置,并且其检测精度可以达到预设的精度要求。
参见图3所示,本申请实施例公开的对上述区域卷积神经网络的训练过程,包括:
S301、分别获取包含设定大小的遥感影像的训练样本集和测试样本集;其中,所述设定大小的遥感影像为包含陆地和/或海域的遥感影像;
具体的,本申请实施例设定,在对区域卷积神经网络(Faster RCNN)进行训练之前,首选获取用于对网络进行训练的样本集{R,P,Q},其中包含正样本集
负样本集
以及位置集合
正样本集内的元素为N个包含舰船目标的遥感影像R
i,R
i中包含N
i个舰船。负样本集内的元素为M个不包含舰船目标的陆地区域的遥感影像Q
j。R和Q中的M+N个遥感图像的大小相同,均为L行、L列。
表示在遥感影像R
i中的N
i个舰船的位置集合。(x
1t,x
2t,y
1t,y
2t)表示R
i中第t个舰船的位置坐标。舰船位置坐标(x
1,x
2,y
1,y
2)中x
1,x
2,y
1,y
2分别表示第t艘舰船外接正矩形框的上边,下边,左边,右边在整幅影像中相对影像左上角的位置坐标。
在获取上述样本集的同时,本申请实施例还同时获取训练相关参数设定,具体包括:训练样本比例ρ,网络训练最大迭代次数T
max,单次训练最大迭代次数
精度权重向量α=(α
1,α
2,α
3)、检测精度阈值η。
在此基础上,本申请实施例对获取的样本集进行分类,分为训练样本集和测试样本集,具体的分类方法为根据上述的训练样本比例ρ,对获取的样本集中的样本数据进行训练样本划分,剩余的未被划分为训练样本的样本数据即作为测试数据。
具体的,将样本集{R,P,Q}中的R,Q分别按照训练样本比例ρ随机划分为{R(1),R(2)}和{Q(1),Q(2)},得到训练样本集合{R(1),P(1),Q(1)}和测试样本集合{R(2),P(2),Q(2)},其中,P(1)={Pk∈P|Rk∈R(1)}和P(2)={Pk∈P|Rk∈R(2)}。R(1),R(2),Q(1),Q(2)的元素数量分别为N(1),N(2),M(1),M(2),N(1)为不超过ρN的最大整数,M(1)为不超过ρM的最大整数。
按照上述处理方法,可以分别获取训练样本集和测试样本集,并且训练样本集和测试样本集中的样本数据都是来自于同一个样本集的,大小相同的包含海域的遥感影像。
S302、利用所述训练样本集对所述区域卷积神经网络进行训练;
具体的,首先将待训练的区域卷积神经网络Faster RCNN初始化,同时初始化训练计数器T=1,表示第一次训练,每当对上述区域卷积神经网络Faster RCNN进行一次训练,就使训练计数器T加1。
在实际训练时,利用训练样本集{R
(1),P
(1),Q
(1)}对Faster RCNN进行训练,单次训练的最大迭代次数为步骤S301中获取的
S303、利用训练后的区域卷积神经网络对所述测试样本集包含的遥感影像进行舰船检测,得到舰船检测结果;
具体的,将测试样本集中包含的遥感影像{R
(2),Q
(2)}输入训练后的Faster RCNN,使训练后的Faster RCNN对输入的遥感影像进行舰船检测,得到舰船位置集合
其中
表示{R
(2),Q
(2)}中第i幅影像中的舰船位置的集合,J
i表示数据集{R
(2),Q
(2)}中第i幅影像中的舰船位置数量。
S304、根据所述舰船检测结果和所述测试样本集中包含的遥感影像中的舰船位置,计算得到训练后的区域卷积神经网络的检测精度;
具体的,在测试样本集{R(2),P(2),Q(2)}中,包含遥感影像以及遥感影像中的舰船位置P(2)。当利用经过训练的Faster RCNN对测试样本集中的遥感影像{R(2),Q(2)}进行舰船检测后,本申请实施例通过将Faster RCNN检测结果S与测试样本集中的舰船位置P(2)进行对比,计算训练后的Faster RCNN的检测精度。
与测试样本集中的舰船位置P(2)中的舰船位置以集合的形式表示相类似的,本申请实施例利用训练后的Faster RCNN对测试样本集中的遥感影像进行舰船位置检测得到的检测结果S也是由检测得到的各个舰船位置组成的舰船位置集合。
在将Faster RCNN检测结果S与测试样本集中的舰船位置P(2)进行对比,计算训练后的Faster RCNN的检测精度时,本申请实施例具体按照如下步骤处理:
首先,分别统计所述测试样本集包含的遥感影像中的舰船位置在所述舰船位置集合中出现的数量、所述测试样本集中包含的遥感影像中的舰船位置没有在所述舰船位置集合中出现的数量、所述舰船位置集合中的不是所述测试样本集包含的遥感影像中的舰船位置的舰船位置数量;
具体的,将测试样本集中的舰船位置P(2)中包含的舰船位置集合与训练后的Faster RCNN从测试样本集中包含的遥感影像{R(2),Q(2)}中检测出的舰船位置集合S进行对比,统计测试样本集包含的遥感影像中的舰船位置在所述舰船位置集合S中出现的数量,即同时在P(2)和S中出现的舰船位置的数量,记为TP;统计测试样本集中包含的遥感影像中的舰船位置没有在所述舰船位置集合S中出现的数量,即在P(2)中出现但是没有在S中出现的舰船位置的数量,记为FN;统计在上述舰船位置集合S中的,不是所述测试样本集包含的遥感影像中的舰船位置的舰船位置数量,即在S中出现但是没有在P(2)中出现的舰船位置的数量,记为FP。
可以理解,上述TP为训练后的Faster RCNN将测试样本集中包含的遥感影像{R(2),Q(2)}中的舰船位置判断为舰船位置的数量;上述FN为训练后的Faster RCNN将测试样本集中包含的遥感影像{R(2),Q(2)}中的舰船位置判断为背景位置的数量;上述FP为训练后的Faster RCNN将测试样本集中包含的遥感影像{R(2),Q(2)}中的背景位置判断为舰船位置的数量。
然后,根据所述测试样本集包含的遥感影像中的舰船位置在所述舰船位置集合中出现的数量、所述测试样本集中包含的遥感影像中的舰船位置没有在所述舰船位置集合中出现的数量、所述舰船位置集合中的不是所述测试样本集包含的遥感影像中的舰船位置的舰船位置数量,分别计算得到所述训练后的区域卷积神经网络的召回率、精确率和漏检率;
具体的,基于上述统计出的TP、FN、FP,按照如下计算公式计算训练后的FasterRCNN的召回率β1、精确率β2、漏检率β3:
最后,根据所述训练后的区域卷积神经网络的召回率、精确率和漏检率,计算得到所述训练后的区域卷积神经网络的检测精度。
具体的,利用训练后的Faster RCNN的召回率β1、精确率β2、漏检率β3,组成训练后的Faster RCNN的精度向量β=(β1,β2,β3)。然后根据步骤S301中获取的精度权重向量α=(α1,α2,α3),计算得到训练后的Faster RCNN的检测精度η0=α·β。
S305、判断训练后的区域卷积神经网络的检测精度是否大于预置的检测精度阈值;
具体的,将步骤S304计算得到的训练后的Faster RCNN的检测精度η0与步骤S301中获取的检测精度阈值η进行对比,判断η0是否大于η。
如果训练后的区域卷积神经网络的检测精度大于预置的检测精度阈值,则可以认为训练后的区域卷积神经网络的检测精度已经达到要求,此时执行步骤S307、停止对区域卷积神经网络的训练,得到训练完成的区域卷积神经网络。
如果训练后的区域卷积神经网络的检测精度不大于预置的检测精度阈值,则执行步骤S306、判断对所述区域卷积神经网络的训练次数是否达到预置的次数;
具体的,在步骤S301中获取了网络训练最大迭代次数Tmax,以及在步骤S302中开始对Faster RCNN进行训练时对训练次数进行了计数,因此判断T是否大于等于Tmax,即判断T≥Tmax是否成立,即可判断对所述区域卷积神经网络的训练次数是否达到预置的次数。
如果T≥Tmax成立,则对所述区域卷积神经网络的训练次数达到预置的次数。此时执行步骤S307、停止对区域卷积神经网络的训练,得到训练完成的区域卷积神经网络。
如果对所述区域卷积神经网络的训练次数没有达到预置的次数,即T≥Tmax不成立,则返回重新步骤S302利用所述训练样本集对所述区域卷积神经网络进行训练,以及执行步骤S302之后的各个处理步骤,直到判断上述被训练的区域卷积神经网络的检测精度大于预置的检测精度阈值,或对所述区域卷积神经网络的训练次数达到预置的次数时,停止对上述区域卷积神经网络的训练,得到训练完成的区域卷积神经网络。
可以理解,上述训练之后的区域卷积神经网络,可以实现以符合要求的检测精度,从设定大小的包含海域的遥感影像中检测出舰船位置。在具体应用本申请所提出的舰船检测方法时,也可以根据对大幅的包含海域的遥感影像进行分割得到的子影像的特征,例如影像大小、影像分辨率等,按照上述的网络训练方法训练区域卷积神经网络,使被训练的区域卷积神经网络能够以符合要求的精度从具备上述特征的遥感影像中检测出舰船位置,然后将训练后的网络应用于本申请实施例公开的对大幅包含海域的遥感影像进行舰船检测的处理方法中。
在本申请的另一个实施例中,还公开了一种舰船检测装置,参见图4所示,该装置包括:
数据获取单元100,用于获取包含海域的遥感影像以及确定重叠参数;其中,所述重叠参数表示相邻影像之间重叠的像元数量;
影像分割单元110,用于根据所述重叠参数,将所述包含海域的遥感影像分割为多个设定大小的子影像;
检测处理单元120,用于将所述多个设定大小的子影像分别输入经过训练的区域卷积神经网络,使所述区域卷积神经网络从所述多个设定大小的子影像中检测舰船位置,得到舰船检测结果。
其中,所述舰船检测结果包括:
检测得到的各个舰船位置组成的舰船位置集合,以及检测得到的各个舰船位置的置信度组成的置信度集合。
可选的,在本申请的另一个实施例中,参见图5所示,所述装置还包括:
筛选处理单元130,用于根据所述置信度集合,从所述舰船位置集合中筛选出置信度大于预置的置信度阈值的舰船位置。
可选的,在本申请的另一个实施例中,参见图6所示,所述装置还包括:
网络训练单元140,用于对所述区域卷积神经网络进行训练;
其中,所述网络训练单元对所述区域卷积神经网络进行训练时,具体用于:
分别获取包含设定大小的遥感影像的训练样本集和测试样本集;其中,所述设定大小的遥感影像为包含陆地和/或海域的遥感影像;
循环执行以下操作,直到所述区域卷积神经网络的检测精度大于预置的检测精度阈值,或对所述区域卷积神经网络的训练次数达到预置的次数:
利用所述训练样本集对所述区域卷积神经网络进行训练;
利用训练后的区域卷积神经网络对所述测试样本集包含的遥感影像进行舰船检测,得到舰船检测结果;
根据所述舰船检测结果和所述测试样本集中包含的遥感影像中的舰船位置,计算得到训练后的区域卷积神经网络的检测精度;
判断训练后的区域卷积神经网络的检测精度是否大于预置的检测精度阈值;
如果训练后的区域卷积神经网络的检测精度不大于预置的检测精度阈值,则判断对所述区域卷积神经网络的训练次数是否达到预置的次数;
如果对所述区域卷积神经网络的训练次数没有达到预置的次数,则利用所述训练样本集对所述区域卷积神经网络进行训练。
其中,利用训练后的区域卷积神经网络对所述测试样本集包含的遥感影像进行舰船检测得到的舰船检测结果包括检测得到的各个舰船位置组成的舰船位置集合;
所述网络训练单元140根据所述舰船检测结果和所述测试样本集包含的遥感影像中的舰船位置,计算得到训练后的区域卷积神经网络的检测精度时,具体用于:
分别统计所述测试样本集包含的遥感影像中的舰船位置在所述舰船位置集合中出现的数量、所述测试样本集中包含的遥感影像中的舰船位置没有在所述舰船位置集合中出现的数量、所述舰船位置集合中的不是所述测试样本集包含的遥感影像中的舰船位置的舰船位置数量;
根据所述测试样本集包含的遥感影像中的舰船位置在所述舰船位置集合中出现的数量、所述测试样本集中包含的遥感影像中的舰船位置没有在所述舰船位置集合中出现的数量、所述舰船位置集合中的不是所述测试样本集包含的遥感影像中的舰船位置的舰船位置数量,分别计算得到所述训练后的区域卷积神经网络的召回率、精确率和漏检率;
根据所述训练后的区域卷积神经网络的召回率、精确率和漏检率,计算得到所述训练后的区域卷积神经网络的检测精度。
具体的,上述各个舰船检测装置的实施例中的各个单元的具体工作内容,请参见上述方法实施例的内容,此处不再赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。