本申请涉及计算机视觉技术领域,具体涉及一种大尺寸图像目标检测方法、装置及计算机可读存储介质。
背景技术:
目标检测是计算机视觉的主要应用之一。利用目标检测技术能够对图像中感兴趣的目标进行精确标识。基于深度神经网络的目标检测技术具有快速、精准、高效等特点,在智能安防、卫星遥感和军事侦察等领域均有着广泛的应用。
在目标检测的实际应用场景中,有一种情况是要在大尺寸图像中寻找感兴趣的目标。大尺寸图像指的是所包含的像素数在100万像素以上的图像,像素尺寸的计算方式是长乘宽,即一张1000*1000大小的图像刚好是包含一百万像素。针对大尺寸图片的目标检测任务通常具有以下特点:
(1)图像尺寸较大,通常在数千至数万像素;(2)目标尺寸较小,通常在数十像素;(3)图像数量较多,需要对数百甚至数千张图像进行目标检测任务。
根据在大尺寸图像上实际的应用效果,通常选择fasterr-cnn作为检测网络。fasterr-cnn检测网络由骨干网和候选区域生成网络组成,其中骨干网用于提取图像特征,候选区域生成网用于生成目标候选区域、筛选目标候选框并生成最终检测结果。检测的基本实现步骤如下:(1)提取图像特征;(2)筛选候选区域;(3)候选区域回归修正;(4)目标分类。
目前基于深度神经网络的目标检测任务通常基于gpu平台实现。对于大尺寸图像而言,如果一次性将图像送入检测网络,会遇到内存耗尽和检测效果差的问题。一方面是因为图像尺寸较大,对其进行前向推理计算需要耗费较多的内存,在gpu的内存有限的情况下,难以完成整个计算过程。另一方面,如果将整张图片送入检测网络,在对图像特征进行提取之后,由于要进行池化等操作,特征图的尺寸逐步减小,实际目标在特征图上所占的像素数也逐步减少,从而使在生成候选区域的时候准确度大幅降低。因此,对于大尺寸图像的目标检测无法使用常规的检测方法。此外,对于大尺寸图像的目标检测存在速度较慢的情况,在一些对实时响应需求较高的应用场景下,随着图像尺寸的增加和数量规模的增长,现有的检测方法难以满足实际的需求。
技术实现要素:
本申请的目的是提供一种大尺寸图像目标检测方法、装置及计算机可读存储介质。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
根据本申请实施例的一个方面,提供一种大尺寸图像目标检测方法,包括:
对原图像进行预处理,得到若干组小图像;
将所述若干组小图像输入目标检测网络进行批量目标检测,得到每个所述小图像的检测结果;
对所述小图像的检测结果进行筛选;
将筛选后的检测结果映射回所述原图像,得到所述原图像的目标检测结果。
进一步地,所述对原图像进行预处理,得到若干组小图像,包括:
将原图像分割为多个小图像;
对所述多个小图像进行分组,得到若干组小图像。
进一步地,所述将原图像分割为多个小图像,包括:
将所述原图像按照预设分割尺寸和预设重叠区域尺寸分割成多个大小相同的小图像。
进一步地,所述目标检测网络包括更快区域卷积神经网络;所述更快区域卷积神经网络包括依次连接的骨干网、区域生成网络、proposal层、感兴趣区域池化层和回归修正分类层,所述感兴趣区域池化层与所述骨干网相连接。
进一步地,所述将所述若干组小图像输入目标检测网络进行批量目标检测,得到每个所述小图像的检测结果,包括:
将每组所述小图像输入所述骨干网中,得到每一所述小图像的特征图;
将所述特征图分别输入所述区域生成网络和所述感兴趣区域池化层中;
通过所述区域生成网络得到每一所述小图像的候选框;
通过所述proposal层对所述候选框进行筛选;
将经过筛选的候选框输入所述感兴趣区域池化层与所述小图像的特征图同时进行池化;
将经过池化的特征图和候选框一同送入回归修正分类层,得到每一所述小图像的检测结果。
进一步地,所述通过所述proposal层对所述候选框进行筛选,包括:
去除置信度分值低于预设阈值的候选框;所述置信度分值是通过所述区域生成网络得到的;
根据置信度分值对剩余的候选框进行排序,选出置信度分值排名前预设值个候选框;
对所述前预设值个候选框进行边界处理,消去超出图像边界的部分;
通过非线性极大值抑制算法对经过边界处理后的候选框进行筛选;
存储经过筛选后得到的候选框。
进一步地,所述对所述小图像的检测结果进行筛选,包括:
从所述小图像的检测结果中删除置信度分值低于预设阈值的候选框;所述置信度分值是通过所述区域生成网络得到的;
对所述小图像的检测结果中的剩余的候选框,根据置信度分值进行排序,选出分值排名前预设数值个候选框;
对所述前预设数值个候选框进行边界处理,消去超出图像边界的部分;
使用非线性极大值抑制算法,根据所述置信度分值和交并比值对经过边界处理后的候选框进行筛选,筛选出满足预设得分阈值条件和预设交并比阈值条件的候选框。
进一步地,所述将筛选后的检测结果映射回所述原图像,得到所述原图像的目标检测结果,包括:
根据分割前在所述原图像中的位置,将所述满足预设得分阈值条件和预设交并比阈值条件的候选框映射回所述原图像中去,得到所述候选框在所述原图像中的坐标;所述原图像的目标检测结果包括所有候选框在所述原图像中的坐标。
进一步地,在所述将经过筛选的候选框输入所述感兴趣区域池化层与所述小图像的特征图同时进行池化之前,所述方法还包括:对所述小图像的检测结果进行连续存储,为每一所述小图像的检测结果设置一索引标签。
根据本申请实施例的另一个方面,提供一种大尺寸图像目标检测装置,包括:
预处理模块,用于对原图像进行预处理,得到若干组小图像;
检测模块,用于将所述若干组小图像输入目标检测网络进行批量目标检测,得到每个所述小图像的检测结果;
筛选模块,用于对所述小图像的检测结果进行筛选;
映射模块,用于将筛选后的检测结果映射回所述原图像,得到所述原图像的目标检测结果。
根据本申请实施例的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现上述的大尺寸图像目标检测方法。
本申请实施例的其中一个方面提供的技术方案可以包括以下有益效果:
本申请实施例提供的大尺寸图像目标检测方法,将图像分割为若干组小图像,通过目标检测网络分组检测小图像,将小图像的检测结果映射回原图像,得到原图像的目标检测结果,对图像的目标检测速度较快,检测结果准确性高,尤其适用于大尺寸图像的目标检测。
本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者,部分特征和优点可以从说明书中推知或毫无疑义地确定,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请的一个实施例的大尺寸图像目标检测方法的流程图;
图2示出了本申请的一个实施例的大尺寸图像目标检测装置的结构框图;
图3示出了本申请另一实施例的大尺寸图像目标检测方法的流程图;
图4示出了本申请另一实施例中的roi池化层与回归修正分类层处理候选框与特征图的步骤示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,下面结合附图和具体实施例对本申请做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
利用fasterr-cnn网络进行目标检测时,通常的做法是将图片按次序一张张地送入网络进行检测,但是在一些应用场景下,需要对数量较多的图片同时快速处理。在fasterr-cnn的设计中,数据基本是按照nchw的形式存储和组织的,其中h和w分别代表图像的高度和宽度,c代表图像的通道数,n代表送入网络中的图片数。这种存储结构被如caffe、tensorflow、pytorch等利用gpu进行推理的框架广泛采用。但是fasterr-cnn网络中的roipooling层之后的网络中的n又代表了不同的含义,在这里我们将其定义为no。由于roipooling层输出的是不同候选区域经过roi池化后的特征图,这时nochw中的no=n×r,其中的n代表输入检测图片的数量,r代表了候选区域的数量,h和w是经过池化后的候选区域的特征图。
目前实现批量检测的方法是将多张图片送入检测网络,经过骨干网进行提取特征,特征图经过rpn网络后得到每个anchor对应的框的得分,在proposal层根据得分和iou情况对每张图片的候选框进行筛选,然后将筛选的结果送入roipooling层进行后续处理。在proposal层分别对一个批次中不同图像进行筛选的过程中,由于每张图片中的图像内容不同,得到的候选框的位置和数量必然有所区别。一般的做法是为每个图片设置一个候选框的最大值,保证所有图片得到的候选框数量在最大值的范围之内。由于候选框的坐标值一般存在连续的存储空间中,这样做的好处是在roipooling层中可以方便地根据这个最大值找到每个图片候选框坐标的地址,以便进行roipooling计算。根据之前所述,roi池化后的特征图维度nochw中的no=n×roimax。这种批量检测的方式可以保证所有的图像中的候选框都能无阻碍地送入后续网络。然而,在大尺寸图像的批量检测中,这种方式也是十分耗费内存和时间的,因为并不是所有的图片得到的候选框数量都能够达到roimax,多余的无效候选框会被送入后续网络,造成了存储空间和计算资源的浪费。虽然能够通过减小roimax的值来节省存储和计算,但是在得到结果前无法得知图像中有多少候选框,不合理的roimax值容易造成漏检,从而使检测精确度降低。因此,需要对这种批量检测的方法进行改进,来满足大尺寸图像批量检测的需求。
如图1所示,本申请的一个实施例提供了一种大尺寸图像目标检测方法01,包括:
s10、对原图像进行预处理,得到若干组小图像。
在某些实施方式中,步骤s10包括:
s101、将原图像分割为多个小图像;
s102、对所述多个小图像进行分组,得到若干组小图像。
所述将原图像分割为多个小图像,包括:
将所述原图像按照预设分割尺寸和预设重叠区域尺寸分割成多个大小相同的小图像。
在某些实施方式中,对原图像进行预处理主要包括对大尺寸图像进行分割和分组;该原图像即为大尺寸图像,大尺寸图像指的是所包含的像素数在100万像素以上的图像;大尺寸图像分割是将一个张大尺寸的图像按照固定的大小分割成多个大小相同的小图像,在分割的时候需要选择合适的分割大小和重叠区域。在进行图像分割的时候设置重叠区域,是为了防止在分割的过程中对实际的目标在分割边界处发生截断从而造成漏检,在水平方向和竖直方向上分割时后一个分割区域与前一分割区域有一定程度的重叠。分组是对分割后的多个图像进行分组。每个组包含的小图像数根据gpu能够支持同时检测的图像数来确定。一个组的小图像作为一个批次,同时送入目标检测网络进行检测。
s20、将所述若干组小图像以组为单位输入深度神经网络进行批量目标检测,得到每个所述小图像的检测结果。
所述深度神经网络是基于fasterr-cnn(更快区域卷积神经网络)的目标检测网络,包括了使用不同骨干网的一类目标检测网络。
本实施例的fasterr-cnn(更快区域卷积神经网络)包括依次连接的骨干网、rpn(区域生成网络)、proposal层、roi池化层(感兴趣区域池化层)和回归修正分类层,roi池化层与骨干网相连接。骨干网可以为vgg16网络。回归修正分类层包括若干卷积层。
批量检测能够对多张图像进行同时处理,并且同时得到检测结果。在检测开始阶段,将一组的小图像送入检测网络,这些小图像的图像数据同时被送入gpu内存中,一起参与卷积、池化等神经网络运算,包括proposal层和roipooling层(感兴趣区域池化层)的运算。在gpu上,这些计算过程发生在前向推理过程的同一个执行周期内。
在某些实施方式中,步骤s20包括:
s201、将每组小图像输入骨干网中,得到每一小图像的特征图;
s202、将所述特征图分别输入rpn和roipooling层中;
s203、通过rpn得到每一小图像的候选框以及每一所述候选框的置信度分值;
s204、通过proposal层对每个锚点对应的候选框进行初次筛选;
s205、将经过初次筛选后剩余的候选框输入所述更快区域卷积神经网络的roipooling层,针对所述小图像的候选框以及所述小图像的特征图同时进行roi池化操作;
s206、经过roi池化操作后的所述候选区域的特征图一同送入回归修正分类层,最后得到每个所述小图像的检测结果。
每个所述小图像的检测结果包括对应于每一所述小图像的特征图、候选框和候选框的置信度分值。
在fasterr-cnn网络的proposal层的运算中,根据通过rpn层得到的候选框置信度分值分别筛选每张小图像的候选框。通过proposal层对每个锚点对应的候选框进行初次筛选,主要包括以下几步:
第一步,去除置信度分值低于预设阈值的候选框。该预设阈值可以在检测开始之前提前预设。
第二步,对剩余的候选框,根据置信度分值进行排序,选出置信度分值排名前smax个候选框,其中的smax值可在检测开始之前预设。
第三步,对前smax个候选框进行边界处理,消去候选框中超出图像边界的部分。
第四步,使用nms(non-maximumsuppression,非线性极大值抑制)算法对经过上述步骤处理后的每个小图片的所有候选框的置信度分值和iou值(iou,intersection-over-union,交并比)进行筛选。用于筛选的得分阈值和iou阈值均可在检测之前预设。
第五步,将通过第四步得到的候选框存入连续的存储空间内以便后续计算过程的使用。
在某些实施方式中,所述通过所述proposal层对所述候选框进行筛选,包括:
s2041、去除置信度分值低于预设阈值的候选框;
s2042、根据置信度分值对剩余的候选框进行排序,选出置信度分值排名前预设值个候选框;
s2043、对所述前预设值个候选框进行边界处理,消去超出图像边界的部分;
s2044、通过非线性极大值抑制算法对经过边界处理后的候选框进行筛选;
s2045、存储经过筛选后得到的候选框。
在fasterr-cnn网络中roipooling层(感兴趣区域池化层)的运算中,每张小图像的所有特征图一起参与roi(感兴趣区域)池化操作。经过roipooling层池化后的每张小图片的特征图一同送入后续回归修正网络和分类网络,最后同时得到检测结果。
s30、对所述小图像的检测结果进行筛选。
步骤s30中的筛选为再次筛选,是根据提前预设的阈值根据得分再一次对检测结果中的候选框进行筛选,除去低于得分阈值的候选框,并再一次使用nms算法对候选框做进一步的筛选。本实施例的方法中,总共进行了两次筛选,初次筛选是通过所述proposal层对所述候选框进行的筛选,再次筛选为对所述小图像的检测结果进行的筛选。
所述对所述小图像的检测结果进行筛选,包括:
s301、从所述小图像的检测结果中删除置信度分值低于预设阈值的候选框;所述置信度分值是通过所述区域生成网络得到的;
s302、对所述小图像的检测结果中的剩余的候选框,根据置信度分值进行排序,选出分值排名前预设数值个候选框;
s303、对所述前预设数值个候选框进行边界处理,消去超出图像边界的部分;
s304、使用非线性极大值抑制算法,根据所述置信度分值和交并比值对经过边界处理后的候选框进行筛选,筛选出满足预设得分阈值条件和预设交并比阈值条件的候选框。
s40、将筛选后的检测结果映射回所述原图像,得到所述原图像的目标检测结果。
所述映射是坐标映射,指的是将每个图片得到的候选区域的坐标根据图片分割前所在位置映射回分割前的原图像中去,得到该候选框在原图中的坐标,得到原图像的目标检测结果。
本实施例提供的大尺寸图像目标检测方法,将图像分割为若干组小图像,通过目标检测网络分组检测小图像,将小图像的检测结果映射回原图像,得到原图像的目标检测结果,对图像的目标检测速度较快,检测结果准确性高,尤其适用于大尺寸图像的目标检测。
在某些实施方式中,在所述将经过筛选的候选框输入所述感兴趣区域池化层与所述小图像的特征图同时进行池化之前,所述大尺寸图像目标检测方法还包括:对所述小图像的检测结果进行连续存储,为每一所述小图像的检测结果设置一索引标签。
如图2所示,本实施例还提供了一种大尺寸图像目标检测装置,包括:
预处理模块100,用于对原图像进行预处理,得到若干组小图像;
检测模块200,用于将所述若干组小图像输入目标检测网络进行批量目标检测,得到每个所述小图像的检测结果;
筛选模块300,用于对所述小图像的检测结果进行筛选;
映射模块400,用于将筛选后的检测结果映射回所述原图像,得到所述原图像的目标检测结果。
本实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以实现上述的大尺寸图像目标检测方法。
如图3所示,本申请的另一个实施例提供了一种大尺寸图像目标检测方法02,包括:
首先对大尺寸图像进行预处理,将大图像分割成小图像,将每个小图像输入深度神经网络,再利用批量检测的方法,同时得到多个小图像的检测结果,最后进行后处理步骤,将这些结果坐标映射回原图,得到最终的大图像的检测结果。
小图片输入骨干网处理后输出特征图,特征图输入rpn(regionproposalnetwork,区域生成网络)得到候选框以及各候选框的置信度分值。
proposal层的作用是根据rpn层得到的候选框置信度分值,对每个锚点对应的候选框进行筛选,通过这些得分筛选出最有可能包含目标的候选框。这其中包括了几个步骤:
1)根据置信度分值阈值进行一次筛选
2)根据剩下的候选框的置信度分值进行一次排序,再根据候选框数量最大值选前n项。
3)通过nms算法筛选重叠的候选框。
4)将不同小图片的候选框送入下一层进行计算。
如图4所示,roipooling层用于:针对已知候选框和图片特征图,通过候选框找到对应图片特征图位置,进行池化操作,不同候选框大小不同,roipooling能够将每个候选框对应的所有特征图变成尺寸相同的特征图,便于后续计算。
在某些实施方式中,对批量检测过程中不同小图片的检测结果进行连续存储,并为每一所述小图像的检测结果设置一索引标签加以区分。这个步骤是在proposal层得到小图片的筛选结果之后完成的。
通常来说,对于批量检测图片的候选框的存储方式是设置一个候选框最大值,由于每个小图片得到的候选框数量不同,如果按候选框数量最多的小图片来设置候选框最大值,会造成空间浪费,而且在计算的过程中,对于候选框数量没有达到最大值的小图片来说,这样的冗余也会占用计算资源。如果这个候选框最大值设置的过小,则很容易将候选框数量超过这个值的小图片中的目标漏掉,造成漏检。
如果实现本实施例中的连续存储的改进方法,按照每张图片实际的候选框数量进行存储,并为每个候选框设置一个索引以标识其所属的小图片,就能够很好地避免这种情况。这种方法能够减少计算量和存储空间,加快批量检测的速度,在相同的计算资源下实现更高的检测吞吐率。同时,避免了候选框最大值的设置对检测精度造成的不良影响。
最后在映射回原图的时候,还需要根据这个候选框的索引标签来对应到原图的位置。
在proposal层中,每个输入图片都会生成候选框,设每个图片生成候选框的数目为rn,其中n=1,2,…,n。roipooling层的输入是roi(感兴趣区)和特征图,维度分别为r×4和n×c×h×w,输出是r×c×pool_h×pool_w。roipooling的作用是根据每个候选框的位置分别生成相应区域池化后的特征图。这些特征图的尺寸为pool_h×pool_w。r代表候选区域的数量。
在批量检测的情况下,proposal层的后续计算涉及到多个图生成的候选框,每个图的候选框的数目是不同的,如果一次把所有候选框送入roipooling层,在进行roipooling操作的时候,无法确定要对应哪个图片的特征图进行pooling。最简单的实现方法是为每个图片生成的候选框设置一个最大值roimax,那么在进行roipooling的时候可以根据roimax来确定对应的特征图。设proposal层的输出为一个roi矩阵,矩阵的大小为n×roimax×4,而roipooling在确定特征图n对应的roi的位置,可以使用
addr=n×roimax×4;
此时roipooling的输出是n×roimax×c×poolh×poolw。这种方式虽然方便roipooling进行地址计算,并且保证了每个图片的roi输出数量一致,但是造成了存储和计算资源的浪费。因为如果每张图片的roi数量远远小于roimax,那么多余的输出都会送入后续的网络进行计算。
对于vgg16作为骨干网的fasterr-cnn来说,这种统一设置输出大小的方式影响较小,vgg16在roipooling之后只有两个全连接层。但是对于类似resnet-101作为骨干网的fasterr-cnn来说,多余的输出会明显增大计算量从而严重影响计算速度。因为resnet-101作为骨干网的fasterr-cnn在roipooling层之后还有相当一部分的卷积计算。如果这些卷积都按照roimax作为其输入的第一个维度,那么带来的计算量是十分可观的。虽然可以通过减小roimax的值来避免不必要的计算。
针对这种情况,在批量目标检测的算法中对proposal层的实现做了修改。由于每张图片生成候选框的数量不同,如果将这些候选框分别送入后续网络计算明显效率很低。所以对nms和分数排序筛选出来的候选框进行了标记,记录了每张图片候选框对应的图片索引。然后将这些候选框放在一个候选框矩阵中,这个矩阵的维度是r×5,一行中的前4个数代表候选框的坐标,最后一个数代表其所在的图片的索引,其中
r=r1 r2 … rn
在得到这个矩阵后,将其送入roipooling的数据进行下一步的计算。在proposal层除了生成候选框矩阵之外,还有标记每张图片候选框数量的索引向量。在结果后处理的过程中,可以根据这个索引向量对结果进行最后的nms筛选,并经过计算位置映射回原始图片。
在roipooling层的实现中,由于所有的候选框都有一个来源图片的索引,所以在pooling操作的时候,可以根据这个索引来确定对应的特征图。经过这样的优化之后,roipooling层的输出就变成了r×c×poolh×poolw,在一般情况下,
r<n×roimax
因此,这种优化方法可以大幅增加批量检测的计算速度。
需要说明的是:
术语“模块”并非意图受限于特定物理形式。取决于具体应用,模块可以实现为硬件、固件、软件和/或其组合。此外,不同的模块可以共享公共组件或甚至由相同组件实现。不同模块之间可以存在或不存在清楚的界限。
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本申请实施例的虚拟机的创建装置中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述实施例仅表达了本申请的实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
1.一种大尺寸图像目标检测方法,其特征在于,包括:
对原图像进行预处理,得到若干组小图像;
将所述若干组小图像输入目标检测网络进行批量目标检测,得到每个所述小图像的检测结果;
对所述小图像的检测结果进行筛选;
将筛选后的检测结果映射回所述原图像,得到所述原图像的目标检测结果。
2.根据权利要求1所述的方法,其特征在于,所述对原图像进行预处理,得到若干组小图像,包括:
将原图像分割为多个小图像;
对所述多个小图像进行分组,得到若干组小图像。
3.根据权利要求2所述的方法,其特征在于,所述将原图像分割为多个小图像,包括:
将所述原图像按照预设分割尺寸和预设重叠区域尺寸分割成多个大小相同的小图像。
4.根据权利要求1所述的方法,其特征在于,所述目标检测网络包括更快区域卷积神经网络;所述更快区域卷积神经网络包括依次连接的骨干网、区域生成网络、proposal层、感兴趣区域池化层和回归修正分类层,所述感兴趣区域池化层与所述骨干网相连接。
5.根据权利要求4所述的方法,其特征在于,所述将所述若干组小图像输入目标检测网络进行批量目标检测,得到每个所述小图像的检测结果,包括:
将每组所述小图像输入所述骨干网中,得到每一所述小图像的特征图;
将所述特征图分别输入所述区域生成网络和所述感兴趣区域池化层中;
通过所述区域生成网络得到每一所述小图像的候选框;
通过所述proposal层对所述候选框进行筛选;
将经过筛选的候选框输入所述感兴趣区域池化层与所述小图像的特征图同时进行池化;
将经过池化的特征图和候选框一同送入回归修正分类层,得到每一所述小图像的检测结果。
6.根据权利要求5所述的方法,其特征在于,所述通过所述proposal层对所述候选框进行筛选,包括:
去除置信度分值低于预设阈值的候选框;所述置信度分值是通过所述区域生成网络得到的;
根据置信度分值对剩余的候选框进行排序,选出置信度分值排名前预设值个候选框;
对所述前预设值个候选框进行边界处理,消去超出图像边界的部分;
通过非线性极大值抑制算法对经过边界处理后的候选框进行筛选;
存储经过筛选后得到的候选框。
7.根据权利要求5所述的方法,其特征在于,所述对所述小图像的检测结果进行筛选,包括:
从所述小图像的检测结果中删除置信度分值低于预设阈值的候选框;所述置信度分值是通过所述区域生成网络得到的;
对所述小图像的检测结果中的剩余的候选框,根据置信度分值进行排序,选出分值排名前预设数值个候选框;
对所述前预设数值个候选框进行边界处理,消去超出图像边界的部分;
使用非线性极大值抑制算法,根据所述置信度分值和交并比值对经过边界处理后的候选框进行筛选,筛选出满足预设得分阈值条件和预设交并比阈值条件的候选框。
8.根据权利要求7所述的方法,其特征在于,所述将筛选后的检测结果映射回所述原图像,得到所述原图像的目标检测结果,包括:
根据分割前在所述原图像中的位置,将所述满足预设得分阈值条件和预设交并比阈值条件的候选框映射回所述原图像中去,得到所述候选框在所述原图像中的坐标;所述原图像的目标检测结果包括所有候选框在所述原图像中的坐标。
9.根据权利要求1所述的方法,其特征在于,在所述将经过筛选的候选框输入所述感兴趣区域池化层与所述小图像的特征图同时进行池化之前,所述方法还包括:对所述小图像的检测结果进行连续存储,为每一所述小图像的检测结果设置一索引标签。
10.一种大尺寸图像目标检测装置,其特征在于,包括:
预处理模块,用于对原图像进行预处理,得到若干组小图像;
检测模块,用于将所述若干组小图像输入目标检测网络进行批量目标检测,得到每个所述小图像的检测结果;
筛选模块,用于对所述小图像的检测结果进行筛选;
映射模块,用于将筛选后的检测结果映射回所述原图像,得到所述原图像的目标检测结果。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以实现如权利要求1-9中任一所述的大尺寸图像目标检测方法。
技术总结