掌桥专利:专业的专利平台
掌桥专利
首页

目标检测方法、装置、电子设备以及存储介质

文献发布时间:2023-06-19 09:46:20


目标检测方法、装置、电子设备以及存储介质

技术领域

本公开实施例涉及人工智能领域,具体涉及计算机视觉,具体涉及目标检测方法、装置、电子设备以及存储介质。

背景技术

人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术:人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。

目标检测是计算机视觉领域中的一个常见应用,广泛应用于机器人导航、智能视频监控、工业检测、航空航天等诸多领域。在一些情况下,需要检测的图像中可能包括尺度较小的目标。这样尺度较小的目标在采集图像时具有较低的信噪比,并且在图像中占据较少的像素数量。

发明内容

根据本公开示例性实施例的一个方面,提供了一种目标检测方法,包括:基于待检测图像确定分别用于至少两个目标检测器的至少两个输入图像,其中至少两个目标检测器具有互不相同的骨架网络,对于至少两个目标检测器中的每个目标检测器,利用该目标检测器的骨架网络对该目标检测器的输入图像进行处理,以得到用于该输入图像的不同尺寸的至少两个图像特征;基于不同尺寸的至少两个图像特征确定该目标检测器的候选检测结果;对至少两个目标检测器的候选检测结果进行融合,以得到待检测图像的目标检测结果。

根据本公开实施例的另一个方面,还提供了一种目标检测器的训练方法,包括:利用包含预定类别的目标对象的图像数据集对所述目标检测器进行预训练,以得到所述目标检测器的初始参数;利用包含针对所述预定类别的小目标检测的图像数据集对所述目标检测器进行训练,以对所述初始参数进行调整来得到训练好的参数。

根据本公开示例性实施例的另一个方面,提供了一种目标检测装置,包括:输入图像确定单元,配置成基于待检测图像确定分别用于至少两个目标检测器的至少两个输入图像,其中至少两个目标检测器具有互不相同的骨架网络,候选检测单元,配置成对于所述至少两个目标检测器中的每个目标检测器,利用该目标检测器的骨架网络对该目标检测器的输入图像进行处理,以得到用于该输入图像的不同尺寸的至少两个图像特征;基于不同尺寸的至少两个图像特征确定所述该目标检测器的候选检测结果;融合单元,配置成对至少两个目标检测器的候选检测结果进行融合,以得到待检测图像的目标检测结果。

根据本公开示例性实施例的另一个方面,提供了一种电子设备,包括:处理器;以及存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据本公开一些示例性实施例的方法。

根据本公开示例性实施例的另一个方面,提供了一种存储程序的计算机可读存储介质。程序包括指令,指令在由服务器的处理器执行时,致使处理器执行根据本公开一些示例性实施例的方法。

借助于本公开示例性实施例的目标检测方法、装置、服务器以及存储介质,可以利用不同检测器中的不同骨架网络获取输入图像的语义信息,利用根据不同骨架网络获取的语义信息得到的目标检测结果的融合结果确定最终的目标检测结果,从而提高了目标检测的精度。

附图说明

附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的元素:

图1示出了根据本公开的用于目标检测的图像处理系统的示例性的场景图;

图2示出了根据本公开实施例的目标检测方法的示例性的流程图;

图3示出了根据本公开的实施例的目标检测方法的另一种示例性的流程图;

图4A示出了根据本公开的实施例的对图像特征进行融合以确定输入图像的检测特征的过程的示意图;

图4B示出了根据本公开的实施例的对图像特征进行融合以确定输入图像的检测特征的另一种过程的示意图;

图5示出了根据本公开的实施例的目标检测器的训练方法的示例性的流程图;

图6示出了根据本公开的实施例的目标检测方法的示例性的过程;

图7示出了根据本公开的实施例的目标检测装置的示意性框图;以及

图8示出了用于实现执行根据本公开实施例的目标检测方法的电子设备的框图。

具体实施方式

在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。

在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

小目标检测是计算机视觉领域的一个重要课题,在人工智能项目上具有重要的应用。例如,无人机采集的图像中由于图像采集的视野范围较大,其中待检测的目标相对于广阔的背景具有较小的相对尺度。在无人驾驶、森林火警监测、海上紧急救援等场景中,对无人机采集的小目标的对象的检测具有较重要的应用价值。这样的图像中存在的小目标具有低信噪比的特性,因此在使用传统的检测器进行目标检测时特征表达能力较低,可能会导致较多的误检测。

对此,本公开提供了一种目标检测方法和装置,通过采用具有不同的骨架网络的目标检测器对待检测图像进行目标检测,可以获取各个目标检测器的输出结果作为候选检测结果。然后,通过融合各个目标检测器输出的候选检测结果,可以得到待检测图像的最终检测结果。

利用本公开提供的目标检测方法,可以综合利用不同结构的目标检测器的特征表达能力,从而提高对图像进行目标检测的检测精度,减少误检测。可以理解的是,本公开提供的方法可以用于任何尺度的目标检测应用以提高目标检测的效果,而不仅限于针对小目标的检测。

图1示出了根据本公开的用于目标检测的图像处理系统的示例性的场景图。如图1所示,该图像处理系统100可以包括用户终端110、网络120、服务器130以及数据库140。

用户终端110可以是例如图1中示出的电脑110-1、手机110-2。可以理解的是,事实上,用户终端可以是能够执行数据处理的任何其他类型的电子设备,其可以包括但不限于台式电脑、笔记本电脑、平板电脑、智能手机、智能家居设备、可穿戴设备等。

根据本公开提供的用户终端可以用于接收待处理的图像。例如,用户终端可以通过用户终端上设置的图像采集设备(例如照相机、摄像机等)采集待处理的图像。又例如,用户终端也可以从独立设置的图像采集设备(例如照相机、摄像机、扫描仪等)获取待处理的图像。再例如,用户终端也可以经由网络从服务器或任何其他电子设备接收待处理的图像。这里所说的待处理的图像可以是单独的一张图像,也可以是视频中的一个图像帧。

在一些实施例中,可以利用用户终端的处理单元执行本公开提供的目标检测方法。在一些实现方式中,用户终端可以利用用户终端内置的应用程序执行目标检测。在另一些实现方式中,用户终端可以通过调用用户终端外部存储的应用程序执行本公开提供的目标检测方法。

在另一些实施例中,用户终端将接收的待处理的图像经由网络120发送至服务器130,并由服务器130执行目标检测方法。在一些实现方式中,服务器130可以利用服务器内置的应用程序执行目标检测方法。在另一些实现方式中,服务器130可以通过调用服务器外部存储的应用程序执行目标检测方法。

网络120可以是单个网络,或至少两个不同网络的组合。例如,网络120可以包括但不限于局域网、广域网、公用网络、专用网络等中的一种或几种的组合。

服务器130可以是一个单独的服务器,或一个服务器群组,群组内的各个服务器通过有线的或无线的网络进行连接。一个服务器群组可以是集中式的,例如数据中心,也可以是分布式的。服务器130可以是本地的或远程的。在一些实施例中,服务器130可以直接从数据库140中获取待处理的图像,并执行本公开提供的目标检测方法。

数据库140可以泛指具有存储功能的设备。数据库140主要用于存储从用户终端110和服务器130工作中所利用、产生和输出的各种数据。数据库140可以是本地的,或远程的。数据库140可以包括各种存储器、例如随机存取存储器(Random Access Memory(RAM))、只读存储器(Read Only Memory(ROM))等。以上提及的存储设备只是列举了一些例子,该系统可以使用的存储设备并不局限于此。

数据库140可以经由网络120与服务器130或其一部分相互连接或通信,或直接与服务器130相互连接或通信,或是上述两种方式的结合。

在一些实施例中,数据库140可以是独立的设备。在另一些实施例中,数据库140也可以集成在用户终端110和服务器130中的至少一个中。例如,数据库140可以设置在用户终端110上,也可以设置在服务器130上。又例如,数据库140也可以是分布式的,其一部分设置在用户终端110上,另一部分设置在服务器130上。

根据本公开提供的图像处理系统可以用于向用户提供图像目标检测结果。在一些实施例中,本公开提供的图像处理系统可以通过执行本公开的目标检测方法输出图像中存在的目标的类型和边界框。

下文中将详细阐述本公开提供的目标检测方法的流程。

图2示出了根据本公开实施例的目标检测方法200的示例性的流程图。

如图2所示,在步骤S202中,可以基于待检测图像确定分别用于至少两个目标检测器的至少两个输入图像。其中,上述至少两个目标检测器具有互不相同的骨架(backbone)网络。

在一些实施例中,上述至少两个目标检测器可以包括第一目标检测器和第二目标检测器。其中,第一目标检测器可以具有第一骨架网络,第二目标检测器可以具有第二骨架网络。第一骨架网络和第二骨架网络可以是不同的。图2中示出的步骤S202可以基于待检测图像用于为第一目标检测器确定第一输入图像,并且基于同一待检测图像为第二目标检测器确定第二输入图像。

目标检测器中的骨架网络可以用于对目标检测器的输入图像进行处理,以获取能够表达输入图像的语义信息的图像特征。不同的骨架网络可以通过不同的方式提取输入图像中的语义信息,并因此可能得到不同的结果。在图像中存在的目标信噪比较低或尺度较小的情况下,通过不同的方式提取图像中的语义信息可以弥补特定的语义信息提取过程中存在的缺陷,并因此可以降低误检测的可能性。

在步骤S204中,对于上述至少两个目标检测器中的每个目标检测器,可以利用该目标检测器的骨架网络对该目标检测器的输入图像进行处理,以得到用于该输入图像的不同尺寸的至少两个图像特征,基于不同尺寸的至少两个图像特征可以确定该目标检测器的候选检测结果。

在上述至少两个目标检测器包括第一目标检测器和第二目标检测器的情况下,可以利用第一目标检测器的第一骨架网络对第一输入图像进行处理,以得到用于第一输入图像的至少两个不同尺寸的图像特征。基于第一输入图像的至少两个不同尺寸的图像特征可以确定第一目标检测器输出的第一候选检测结果。

还可以利用第二目标检测器的第二骨架网络对第二输入图像进行处理,以得到用于第二输入图像的至少两个不同尺寸的图像特征。基于第二输入图像的至少两个不同尺寸的图像特征可以确定第二目标检测器输出的第二候选检测结果。

在步骤S206中,可以对上述至少两个目标检测器的候选检测结果进行融合,以得到待检测图像的目标检测结果。

在上述至少两个目标检测器包括第一目标检测器和第二目标检测器的情况下,可以对第一目标检测器输出的第一候选检测结果和第二目标检测器输出的第二候选检测结果进行融合,以得到用于待检测图像的最终的目标检测结果。

利用本公开提供的目标检测方法,可以利用不同检测器中的不同骨架网络获取输入图像的语义信息,利用根据不同骨架网络获取的语义信息得到的目标检测结果的融合结果确定最终的目标检测结果,从而提高了目标检测的精度。

图3示出了根据本公开的实施例的目标检测方法的另一种示例性的流程图。

在步骤S302中,针对上述至少两个目标检测器中的每个目标检测器,可以基于随机确定的变换比例对所述待检测图像进行尺度变换,以得到用于该目标检测器的输入图像。步骤S302可以是实现图1中示出的步骤S202的一种示例性的方法。在一些实施例中,上述变换比例可以是0.5倍、1.0倍或1.5倍。在一些实现方式中,可以通过对待检测图像进行上采样或下采样来实现尺度变换。

在上述至少两个目标检测器包括第一目标检测器和第二目标检测器的情况下,第一目标检测器的第一输入图像的尺寸可以是待检测图像的0.5倍、1.0倍或1.5倍,第二目标检测器的第二输入图像的尺寸可以是待检测图像的0.5倍、1.0倍或1.5倍。第一输入图像和第二输入图像的尺寸可以是相同的,也可以是不同的。

可以理解的是,受到图像分辨率以及图像的拍摄距离等各种因素的影响,在输入图像中存在的同一类型的目标可以具有不同的尺度。通过随机地将输入图像的尺寸变化成不同的大小,可以增强目标检测器对于不同尺度的目标的感知能力。

可以理解的是,上述变换比例的具体数值仅是一种示例性的说明。本领域技术人员可以根据实际情况设置变换比例的实际数值,而不限于本公开中的具体示例。

在步骤S304中,针对每个目标检测器,可以利用该目标检测器的骨架网络对该目标检测器的输入图像进行处理,以得到用于该输入图像的不同尺寸的至少两个图像特征,基于不同尺寸的至少两个图像特征可以确定该目标检测器的候选检测结果。

在一些实施例中,目标检测器的骨架网络可以包括多级(stage)的卷积网络,其中,各级的卷积网络可以输出不同尺寸的特征图。在一些示例中,每一级卷积网络可以由多个卷积层和/或池化层构成。可以将各级卷积网络中任何一个的输出或中间处理结果确定为输入图像的图像特征。

也就是说,目标检测器可以利用多个卷积层对输入的图像进行卷积处理,以获取输入的图像中的语义信息。一般来说,骨架网络中较浅层的卷积网络输出的特征图的尺寸较大,其包括较少的语义信息,而较深层的卷积网络输出的特征图的尺寸较小,其包括较多的语义信息。

在一些实现方式中,可以将骨架网络中至少两级卷积网络输出的特征图确定为用于该目标检测器的输入图像的不同尺寸的至少两个图像特征。

在一些示例中,上述不同尺寸的至少两个图像特征可以包括第一尺寸的第一图像特征、第二尺寸的第二图像特征以及第三尺寸的第三图像特征。其中,第一尺寸小于所述第二尺寸,第二尺寸小于所述第三尺寸。

在一些实施例中,骨架网络可以是ResNet网络、Res2Net网络、ResNeXt网络或SENet网络,例如,骨架网络可以是ResNet200网络、ResNeXt101网络、SENet154网络等等。以上骨架网络的结构仅仅是一种示例性的说明。本领域技术人员可以根据实际情况选择任何可以作为骨架网络的神经网络的结构及其变型作为本公开的实施例中使用的骨架网络。

下表中示出了深度残差网络ResNet的几种示例性的结构。深度残差网络包括基本的五层结构,包括下表中示出的conv1、conv2_x、conv3_x、conv4_x、conv5_x。这五层结构中的每一层可以包括相同或不同的权重层,从而形成不同深度的深度残差网络。

表1

利用上述深度残差网络,可以分别将conv2_x、conv3_x、conv4_x、conv5_x中的最后一层输出的特征图分别记作C2、C3、C4和C5。其中,C2、C3、C4和C5的尺寸是互不相通的,并可以将C2、C3、C4和C5确定为用于输入图像的四个图像特征。

在一些实施例中,可以通过以下方式基于不同尺寸的至少两个图像特征确定所述该目标检测器的候选检测结果:对上述不同尺寸的至少两个图像特征进行融合,以得到用于该目标检测器的输入图像的检测特征,然后,可以利用区域建议网络对检测特征进行处理,以得到该目标检测器的候选检测结果。其中,候选检测结果可以包括该目标检测器的输入图像中存在的至少一个目标的边界框、可信度以及目标类别。在一些情况下,如果没有检测到输入图像中的任何目标,候选检测结果也可以是空集。在一些示例中,也可以利用任何其他方式对检测特征进行处理以得到候选检测结果。

在一些实现方式中,可以利用特征图金字塔网络(feature pyramid networks,FPN)对上述不同尺寸的至少两个图像特征进行融合。下文中将结合图4A和图4B具体描述图像特征的融合过程。

在一些实现方式中,可以通过以下方式对不同尺寸的至少两个图像特征(如第一尺寸的第一图像特征、第二尺寸的第二图像特征以及第三尺寸的第三图像特征)进行融合:对第一图像特征进行上采样操作,以得到第二尺寸的上采样后的第一图像特征;对第二图像特征和上采样后的第一图像特征进行加和,以得到第一融合特征;对第一融合特征进行上采样操作,以得到第三尺寸的上采样后的第一融合特征;对第三图像特征和所述上采样后的第一融合特征进行加和,以得到第二融合特征,可以基于第一融合特征和第二融合特征确定该输入图像的检测特征。

在一些示例中,可以将第一融合特征和第二融合特征确定为输入图像的检测特征。

在另一些示例中,可以进一步对第一融合特征和第二融合特征进行融合,以得到输入图像的检测特征。例如,可以通过以下方式对第一融合特征和第二融合特征进行融合以得到输入图像的检测特征:对第二融合特征进行下采样操作,以得到第二尺寸的下采样的第二融合特征,对第一融合特征和下采样的第二融合特征进行加和,以得到第三融合特征,将第三融合特征确定为该输入图像的检测特征。

在步骤S306中,可以对至少两个目标检测器的候选检测结果进行融合,以得到待检测图像的目标检测结果。

在上述至少两个目标检测器包括第一目标检测器和第二目标检测器的情况下,第一目标检测器可以输出针对第一目标的第一候选检测结果,第二目标检测器可以输出针对第一目标的第二候选检测结果。其中,第一候选检测结果可以包括利用第一目标检测器确定的至少一个目标的边界框、可信度以及目标类别。第二候选检测结果可以包括利用第二目标检测器确定的至少一个目标的边界框、可信度以及目标类别。

在一些实施例中,第一候选检测结果可以包括用于第一目标的第一边界框、第一可信度以及目标类别。第二候选检测结果可以包括用于第一目标的第二边界框、第二可信度以及目标类别。如前所述,第一目标检测器和第二目标检测器采用了不同的骨架网络来实现目标检测。由于不同的骨架网络所得到的图像信息的语义表达是不同的,因此第一目标检测器和第二目标检测器针对同一目标输出的检测结果也可以是不同的。

在一些实现方式中,当第一候选检测结果和第二候选检测结果中的第一边界框和第二边界框的重合度大于预定的阈值并且第一边界框对应的目标的目标类别与第二边界框对应的目标的目标类别相同时,可以认为第一候选检测结果和第二候选检测结果中的结果是针对同一目标。

在确定第一候选检测结果和第二候选检测结果输出的结果都针对同一第一目标的情况下,可以基于预定义的加权系数对第一候选检测结果和第二候选检测结果进行加权融合。

在一些实现方式中,可以预先定义第一目标检测器的第一加权系数和第二目标检测器的第二加权系数。第一加权系数和第二加权系数可以是相同的,也可以是不同的。例如,当图像处理系统仅使用第一目标检测器和第二目标检测器的情况下,可以将第一加权系数确和第二加权系数都确定为0.5,也可以将第一加权系数和第二加权系数分别确定为0.3、0.7或任何可能的数值。当图像处理系统中使用包括第一目标检测器和第二目标检测器的更多数量的目标检测器的情况下,以目标检测器的数量是4为例,可以将第一加权系数和第二加权系数都确定为0.25。可以理解的是,只要符合应用场景的需要,本领域技术人员可以将第一加权系数和第二加权系数确定为任何可能的数值,而不受本公开给出的上述示例的限制。

在一些示例中,可以确定第一候选检测结果中用于第一目标的第一可信度以及第二候选检测结果中用于第一目标的第二可信度,并基于用于第一目标检测器的第一加权系数和用于第二目标检测器的第二加权系数对第一可信度和第二可信度进行加权求和,以得到用于第一目标的最终可信度。基于第一目标的最终可信度可以确定待检测图像的目标检测结果。例如,当第一目标的最终可信度大于预定的可信度阈值时,可以认为待检测图像中检测到第一目标,第一目标的边界框和目标类别可以基于第一目标检测器输出的第一边界框和目标类别以及第二目标检测器输出的第二边界框和目标类别来确定。第一目标的目标类别可以是第一目标检测器输出的目标类别(如前所述,这与第二目标检测器输出的目标类别是相同的)。第一目标的边界框可以确定为第一边界框、第二边界框或第一边界框和第二边界框的融合。例如,如果第一可信度大于第二可信度,第一目标的边界框可以确定为第一边界框。如果第二可信度大于第一可信度,第一目标的边界框可以确定为第二边界框。又例如,可以基于第一加权系数和第二加权系数对第一边界框和第二边界框进行加权融合,以得到第一目标的边界框。

在一些实施例中,第一候选检测结果中可以包括用于第二目标的检测结果,而第二候选检测结果中不包括对应的第二目标的检测结果。在这种情况下,可以认为第二候选检测结果中第二目标的可信度为0。然后,可以基于第一加权系数和第二加权系数类似地对第一候选检测结果和第二候选检测结果进行融合。

通过对目标检测器输出的所有候选检测结果中的每个目标进行上述加权融合,可以得到融合了所有目标检测器的检测结果的包含至少一个目标的融合的候选检测结果。可以利用非极大值抑制(NMS)对融合的候选检测结果进行处理,以得到待检测图像的目标检测结果。

图4A示出了根据本公开的实施例的对图像特征进行融合以确定输入图像的检测特征的过程的示意图。

如图4A所示,可以利用骨架网络401对输入图像进行处理,以分别得到图像特征C2、C3、C4以及C5。图像特征C2的尺寸可以表示为16×16,图像特征C3的尺寸可以表示为8×8,图像特征C4的尺寸可以表示为4×4,以及图像特征C5的尺寸可以表示为2×2。上述示出的各图像特征的尺寸可以不是其实际尺寸,而仅用于代表各图像特征之间的尺寸的比例关系。例如,在输入图像的图像尺寸为1024×1024的情况下,C2的尺寸可以是1024×1024,C3的尺寸可以是512×512,C4的尺寸可以是256×256,C5的尺寸可以是128×128。这里所说的图像尺寸可以是以像素为单位的尺寸,图像或图像特征的尺寸越大意味着其分辨率越高。

如图4A所示,可以对C5进行上采样操作,以得到上采样后的C5,其中上采样后的C5的尺寸和C4的尺寸相同。然后,可以对上采样后的C5和C4进行加和,得到融合特征P4。类似地,可以对融合特征P4进行上采样操作,以得到与C3尺寸相同的上采样后的P4。然后,可以对上采样后的P4和C3进行加和,得到融合特征P3。类似的还可以对上采样后的P3和C2进行加和以得到融合特征P2。由于C5是最小尺寸的图像特征,因此P5可以直接根据C5来确定,而不需要融合其他图像特征的信息。

图4A中示出的示例仅仅是图像特征的融合过程的一种示例性的说明。在上述过程中,可以对上述处理过程进行变形,例如,可以在对图像特征进行加和之前对被处理的图像特征进行必要的卷积。

利用图4A中示出的融合过程,可以将特征P2、P3、P4、P5确定为输入图像的检测特征。可以利用区域建议网络402对P2、P3、P4、P5分别进行处理,以得到输入图像的候选检测结果。

图4B示出了根据本公开的实施例的对图像特征进行融合以确定输入图像的检测特征的另一种过程的示意图。

在图4A示出的示例中,基于FPN的原理可以对图像特征C2、C3、C4、C5进行自上至下的融合。进一步地,在图4B示出的示例中,可以基于PANet对利用FPN对C2、C3、C4、C5进行融合后得到的结果P2、P3、P4、P5进一步构建一条自下而上的融合路径。

如图4B所示,对于特征P2、P3、P4、P5,由于P2是尺寸最大的融合特征,因此可以直接基于P2确定P2’。

然后,可以对P2’进行下采样,以得到与P3尺寸相同的下采样后的P2’,然后,可以对下采样后的P2’与P3进行加和,以得到进一步融合后的特征P3’。利用类似地方式,可以对P3’进行下采样,以得到与P4尺寸相同的下采样后的P3’,然后,可以对下采样后的P3’和P4进行加和,以得到进一步融合后的特征P4’。类似地,可以对P4’和P5进行融合以得到进一步融合后的特征P5’。

然后,可以将进一步融合得到的特征P2’、P3’、P4’、P5’作为输入图像的检测特征,并利用区域建议网络对P2’、P3’、P4’、P5’分别进行处理,以得到输入图像的候选检测结果。通过对利用FPN网络融合得到的融合特征进一步进行自下而上的融合,可以缩短了较低层和最顶层功能之间的信息路径,从而可以增强融合后的特征对于不同尺度的目标的感知能力,提高了网络的语义识别能力。

在一些实施例中,图4A、图4B中示出的上采样操作可以是利用Carafe网络实现的下采样操作可以是利用可变形卷积网络实现的。利用这样的上采样操作和下采样操作可以更好地保留网络中提取的语义信息,从而能够提高目标检测结果的精度。

图5示出了根据本公开的实施例的目标检测器的训练方法的示例性的流程图。

通过利用特定的图像数据集作为训练数据对本公开提供的方法中使用的目标检测器进行训练,可以使得本公开提供的方法能够用于特定类别的目标检测。在图5中以检测的目标对象是小尺度的目标为例描述本公开的原理。可以理解的是,通过根据实际情况选择合适的数据集,本公开提供的原理也可以应用于任何其它类型的目标。

在步骤S502中,可以利用包含预定类别的目标对象的图像数据集对目标检测器进行预训练,以得到目标检测器的初始参数。

一般情况下,如果要训练的目标检测器是用于小尺度的目标,会采用专用于小尺度目标的数据集对目标检测器进行训练。例如,针对无人机采集的目标,可以利用语义无人机数据集(Semantic Drone Dataset)、斯坦福无人机数据集(Stanford Drone Dataset)等数据集对目标检测器直接进行训练。然而,由于这样的数据集专用性较强,其中的数据量较小,可能在训练检测器的过程中难以达到快速收敛和较好的检测结果。因此,可以利用额外的同类数据来进行预训练,以提高检测器对于同类数据的先验知识的理解能力。例如,以目标检测器要检测的目标对象是无人机采集的人群为例,在利用上述语义无人机数据集(Semantic Drone Dataset)、斯坦福无人机数据集(Stanford Drone Dataset)对目标检测器进行训练之前,可以利用包含人群的目标对象的其他数据集(如Daimler行人数据库、INRIA人物数据集等等)对目标检测器进行预训练。预训练的得到的目标检测器的参数可以用作被训练的目标检测器的初始参数。

在步骤S504中,可以利用包含针对预定类别的小目标检测的图像数据集对目标检测器进行训练,以对初始参数进行调整来得到训练好的参数。

以步骤S502中得到的初始训练参数作为起点,可以进一步利用专用的数据集对目标检测器进行进一步训练来得到训练好的参数。例如,针对无人机采集的目标,可以利用语义无人机数据集(Semantic Drone Dataset)、斯坦福无人机数据集(Stanford DroneDataset)等数据集对初始参数为步骤S602中得到的预训练结果的目标检测器进行训练。尽管在步骤S602中使用的训练数据并不是目标检测器最终要使用的场景的专用数据,但是由于在预训练过程中采用的是与最终要检测的场景中存在的目标同类型的数据,预训练后的目标检测器对于该类型的目标已经具有一定的理解和感知能力,在这种情况下,尽管专用数据集中的数据量较小,在正式训练过程中也可以实现较快的收敛以及较好的检测效果。

在一些实施例中,在训练过程中,可以随机地对针对所述预定类别的小目标检测的图像数据集中的图像进行尺度变换。例如,可以随机的将作为训练数据的图像的尺寸调整为原始大小的0.5倍、1.0倍和1.5倍。利用这种方式,在训练过程中,目标检测器可以学习到对不同尺度的图像和目标对象的理解,从而可以提高目标检测器对不同尺度的目标的感知能力。可以理解的是,上述尺度变换的比例仅是一种示例性的说明,本领域技术人员可以根据实际情况对上述尺度变换的比例进行调整,从而满足不同应用场景的需要。

图6示出了根据本公开的实施例的目标检测方法的示例性的过程。在图6示出的示例中,利用4个具有不同骨架网络的检测器602、603、604以及605对待检测图片进行目标检测。

如图6所示,在框601中,基于待检测图片确定不同尺度的输入图像作为各个检测器的输入。例如,可以利用前述随机确定变换比例的方式对待检测图像进行尺度变换。这样,可以将不同尺度的图像随机作为输入提供给各个检测器。

在框606、607、608以及609中,可以得到各个检测器602、603、604以及605输出的检测结果作为候选检测结果。

在框610中,可以对各个检测器输出的候选检测结果进行加权融合。

在框611中,基于加权融合的候选检测结果,可以得到待检测图像的目标检测结果。在检测器602、603、604以及605是利用小目标的图像数据集训练的情况下,可以得到较高精度的小目标的检测结果。

图7示出了根据本公开的实施例的目标检测装置的示意性框图。如图7所示,目标检测装置700可以包括输入图像确定单元710、候选检测单元720以及融合单元730。

输入图像确定单元710可以配置成基于待检测图像确定分别用于至少两个目标检测器的至少两个输入图像,其中至少两个目标检测器具有互不相同的骨架网络。候选检测单元720可以配置成对于至少两个目标检测器中的每个目标检测器,利用该目标检测器的骨架网络对该目标检测器的输入图像进行处理,以得到用于该输入图像的不同尺寸的至少两个图像特征,并基于不同尺寸的至少两个图像特征确定所述该目标检测器的候选检测结果。融合单元730可以配置成对至少两个目标检测器的候选检测结果进行融合,以得到待检测图像的目标检测结果。

这里所说的目标检测装置700的上述各单元710~730的操作分别与前面描述的步骤S202~S206的操作类似,在此不再加以赘述。

利用本公开提供的目标检测装置,可以利用不同检测器中的不同骨架网络获取输入图像的语义信息,利用根据不同骨架网络获取的语义信息得到的目标检测结果的融合结果确定最终的目标检测结果,从而提高了目标检测的精度。

虽然上面参考特定模块讨论了特定功能,但是应当注意,本文讨论的各个模块的功能可以分为多个模块,和/或多个模块的至少一些功能可以组合成单个模块。本文讨论的特定模块执行动作包括该特定模块本身执行该动作,或者替换地该特定模块调用或以其他方式访问执行该动作的另一个组件或模块(或结合该特定模块一起执行该动作)。因此,执行动作的特定模块可以包括执行动作的该特定模块本身和/或该特定模块调用或以其他方式访问的、执行动作的另一模块。

更一般地,本文可以在软件硬件元件或程序模块的一般上下文中描述各种技术。上面关于图7中描述的各个单元可以在硬件中或在结合软件和/或固件的硬件中实现。例如,这些模块可以被实现为计算机程序代码/指令,该计算机程序代码/指令被配置为在一个或多个处理器中执行并存储在计算机可读存储介质中。可替换地,这些模块可以被实现为硬件逻辑/电路。例如,在一些实施例中,输入图像确定单元710、候选检测单元720以及融合单元730中的一个或多个可以一起被实现在片上系统(SoC)中。SoC可以包括集成电路芯片(其包括处理器(例如,中央处理单元(CPU)、微控制器、微处理器、数字信号处理器(DSP)等)、存储器、一个或多个通信接口、和/或其他电路中的一个或多个部件),并且可以可选地执行所接收的程序代码和/或包括嵌入式固件以执行功能。

本公开示例性实施例提供了一种电子设备,该电子设备可包括处理器;以及存储程序的存储器,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行前述任何方法。

本公开示例性实施例还提供了一种存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由电子设备的处理器执行时,致使所述处理器执行前述任何方法。

下面参考图8来描述这样的电子设备和计算机可读存储介质的示例。

如图8所示,是用于实现执行根据本公开实施例的目标检测方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图8所示,该电子设备包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器801为例。

存储器802即为本公开所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本公开所提供的目标检测方法。本公开的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本公开所提供的目标检测方法。

存储器802作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本公开实施例中的目标检测方法对应的程序指令/模块(例如,附图7所示的输入图像确定单元710、候选检测单元720以及融合单元730)。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的用于目标检测的方法。

存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据用于目标检测的电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至用于目标检测的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

用目标检测方法的电子设备还可以包括:输入装置803和输出装置804。处理器801、存储器802、输入装置803和输出装置804可以通过总线或者其他方式连接,图8中以通过总线连接为例。

输入装置803可接收输入的数字或字符信息,以及产生与用于目标检测的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。

虽然在附图和和前面的描述中已经详细地说明和描述了本公开,但是这样的说明和描述应当被认为是说明性的和示意性的,而非限制性的;本公开不限于所公开的实施例。通过研究附图、公开内容和所附的权利要求书,本领域技术人员在实践所要求保护的主题时,能够理解和实现对于所公开的实施例的变型。在权利要求书中,词语“包括”不排除未列出的其他元件或步骤,不定冠词“一”或“一个”不排除多个,并且术语“多个”是指两个或两个以上。在相互不同的从属权利要求中记载了某些措施的仅有事实并不表明这些措施的组合不能用来获益。

相关技术
  • 目标检测方法、存储介质、电子设备及目标检测装置
  • 图像目标检测方法、装置、电子设备及存储介质
技术分类

06120112296806