图像处理方法、神经网络的训练方法、装置以及设备与流程

文档序号:15273126发布日期:2018-08-28 22:40阅读:188来源:国知局

本申请涉及计算机视觉技术,尤其是涉及一种图像处理方法、神经网络的训练方法、图像处理装置、神经网络的训练装置、电子设备、计算机可读存储介质以及计算机程序。



背景技术:

图像处理通常包括:检测出图像中的人脸、车辆或者行人等目标对象。

目前,利用深度卷积神经网络以及区域候选网络等神经网络,能够实现目标对象的检测。然而,在图像中的目标对象存在一定角度的倾斜(如人脸等目标对象与水平方向存在一定的夹角)的情况下,针对图像进行目标对象检测的准确率会受到影响。如何提高目标对象检测的准确率是一个值得关注的技术问题。



技术实现要素:

本申请实施方式提供一种图像处理和神经网络训练的技术方案。

根据本申请实施方式的其中一方面,提供了一种图像处理方法,该方法包括:将待处理图像作为输入图像,提供给神经网络进行目标对象检测;其中,所述待处理图像包括:原始图像和/或所述原始至少一个图像的旋转图像;根据所述神经网络针对各输入图像分别输出的目标对象检测信息,确定所述原始图像的目标对象检测结果;其中,所述神经网络是利用多角度的旋转图像样本训练获得的,所述旋转图像样本由图像样本通过旋转预设角度或随机角度得到。

在本申请一实施方式中,所述旋转图像与原始图像大小相同,且包含有原始图像中完整的图像内容;所述旋转图像的产生方式包括:对所述原始图像进行缩小处理以及旋转处理;其中,所述旋转处理包括:基于随机角度的旋转处理,和/或,基于预设旋转角度的旋转处理。

在本申请又一实施方式中,所述目标对象检测结果信息包括:目标对象位置和目标对象位置的置信度。

在本申请再一实施方式中,所述神经网络包括:用于提取各输入图像的图像特征的主网络单元、用于检测各输入图像的目标对象位置的第一分支网络单元以及用于检测各输入图像的目标对象位置的置信度的第二分支网络单元;其中,所述主网络单元输出的各输入图像的图像特征分别提供给第一分支网络单元和第二分支网络单元。

在本申请再一实施方式中,所述将待处理图像作为输入图像,提供给神经网络进行目标对象检测包括:将原始图像作为输入图像,提供给神经网络进行目标对象检测;所述根据所述神经网络针对各输入图像分别输出的目标对象检测信息,确定所述原始图像的目标对象检测结果包括:根据所述神经网络针对原始图像输出的目标对象外接框位置以及目标对象外接框位置的置信度,将置信度满足预定置信度要求的目标对象外接框位置,作为所述原始图像中的目标对象的位置。

在本申请再一实施方式中,所述将待处理图像作为输入图像,提供给神经网络进行目标对象检测包括:将原始图像的一旋转图像作为输入图像,提供给神经网络进行目标对象检测;所述根据所述神经网络针对各输入图像分别输出的目标对象检测信息,确定所述原始图像的目标对象检测结果包括:根据所述神经网络针对旋转图像输出的目标对象外接框位置以及目标对象外接框位置的置信度,确定置信度满足预定置信度要求的目标对象外接框位置;将所述神经网络针对旋转图像输出的各目标对象外接框位置以及各目标对象外接框位置的置信度中的,置信度满足预定置信度要求的目标对象外接框位置,映射到所述原始图像中,将映射后的目标对象外接框位置,作为所述目的原始图像中的目标对象的位置。

在本申请再一实施方式中,所述将待处理图像作为输入图像,提供给神经网络进行目标对象检测包括:将原始图像的至少两个旋转图像分别作为输入图像,提供给神经网络进行目标对象检测;或者,将原始图像和所述原始图像的至少一个旋转图像分别作为输入图像,提供给神经网络进行目标对象检测;所述根据所述神经网络针对各输入图像分别输出的目标对象检测信息,确定所述原始图像的目标对象检测结果包括:根据所述神经网络针对各输入图像分别输出的目标对象外接框位置以及目标对象外接框位置的置信度,确定置信度满足预定置信度要求的目标对象外接框位置;将置信度满足预定置信度要求,且对应旋转图像的目标对象外接框位置,分别映射到所述原始图像中;针对存在交叠,且对应不同输入图像的目标对象外接框,进行目标对象外接框合并处理;根据合并处理结果,形成所述原始图像的目标对象检测结果。

在本申请再一实施方式中,所述目标对象外接框合并处理包括:在目标对象外接框之间的交并比满足预定要求的情况下,将置信度高的目标对象外接框作为合并后的目标对象外接框。

在本申请再一实施方式中,所述神经网络的训练过程包括:从训练数据集中获取图像样本;将所述图像样本的旋转图像样本提供给待训练的神经网络,进行目标对象检测;以所述图像样本的目标对象位置标注信息为指导信息,或者以基于所述图像样本的目标对象位置标注信息形成的所述旋转图像样本的目标对象位置标注信息为指导信息,对所述待训练的神经网络进行监督学习。

在本申请再一实施方式中,所述旋转图像样本与图像样本大小相同,且包含有图像样本中完整的图像内容;所述旋转图像样本的产生方式包括:对所述图像样本进行缩小处理以及旋转处理。

在本申请再一实施方式中,所述旋转处理包括:基于随机角度的旋转处理,和/或,基于预设旋转角度的旋转处理。

根据本申请实施方式的另一方面,提供了一种神经网络的训练方法,该方法包括:从训练数据集中获取图像样本;将所述图像样本的旋转图像样本提供给待训练的神经网络,进行目标对象检测;以所述图像样本的目标对象位置标注信息为指导信息,或者以基于所述图像样本的目标对象位置标注信息形成的所述旋转图像样本的目标对象位置标注信息为指导信息,对所述待训练的神经网络进行监督学习。

在本申请一实施方式中,所述旋转图像样本与图像样本大小相同,且包含有图像样本中完整的图像内容;所述旋转图像样本的产生方式包括:对所述图像样本进行缩小处理以及旋转处理。

在本申请又一实施方式中,所述旋转处理包括:基于随机角度的旋转处理,和/或,基于预设旋转角度的旋转处理。

根据本申请实施方式的再一方面,提供了一种图像处理装置,该装置包括:目标对象检测模块,用于将待处理图像作为输入图像,提供给神经网络进行目标对象检测;其中,所述待处理图像包括:原始图像和/或所述原始图像的至少一个旋转图像;获得检测结果模块,用于根据所述神经网络针对各输入图像分别输出的目标对象检测信息,确定所述原始图像的目标对象检测结果;其中,所述神经网络是利用多角度的旋转图像样本训练获得的,所述旋转图像样本由图像样本通过旋转预设角度或随机角度得到。

在本申请一实施方式中,所述旋转图像与原始图像大小相同,且包含有原始图像中完整的图像内容;所述装置还包括:产生旋转图像模块,用于对所述原始图像进行缩小处理以及旋转处理;其中,所述旋转处理包括:基于随机角度的旋转处理,和/或,基于预设旋转角度的旋转处理。

在本申请又一实施方式中,所述目标对象检测结果信息包括:目标对象位置和目标对象位置的置信度。

在本申请再一实施方式中,所述神经网络包括:用于提取各输入图像的图像特征的主网络单元、用于检测各输入图像的目标对象位置的第一分支网络单元以及用于检测各输入图像的目标对象位置的置信度的第二分支网络单元;其中,所述主网络单元输出的各输入图像的图像特征分别提供给第一分支网络单元和第二分支网络单元。

在本申请再一实施方式中,所述目标对象检测模块具体用于:将原始图像作为输入图像,提供给神经网络进行目标对象检测;所述获得检测结果模块具体用于:根据所述神经网络针对原始图像输出的目标对象外接框位置以及目标对象外接框位置的置信度,将置信度满足预定置信度要求的目标对象外接框位置,作为所述原始图像中的目标对象的位置。

在本申请再一实施方式中,所述目标对象检测模块具体用于:将原始图像的一旋转图像作为输入图像,提供给神经网络进行目标对象检测;所述获得检测结果模块具体用于:根据所述神经网络针对旋转图像输出的目标对象外接框位置以及目标对象外接框位置的置信度,确定置信度满足预定置信度要求的目标对象外接框位置;将所述神经网络针对旋转图像输出的各目标对象外接框位置以及各目标对象外接框位置的置信度中的,置信度满足预定置信度要求的目标对象外接框位置,映射到所述原始图像中,将映射后的目标对象外接框位置,作为所述目的原始图像中的目标对象的位置。

在本申请再一实施方式中,所述目标对象检测模块具体用于:将原始图像的至少两个旋转图像分别作为输入图像,提供给神经网络进行目标对象检测;或者,将原始图像和所述原始图像的至少一个旋转图像分别作为输入图像,提供给神经网络进行目标对象检测;所述获得检测结果模块具体用于:根据所述神经网络针对各输入图像分别输出的目标对象外接框位置以及目标对象外接框位置的置信度,确定置信度满足预定置信度要求的目标对象外接框位置;将置信度满足预定置信度要求,且对应旋转图像的目标对象外接框位置,分别映射到所述原始图像中;针对存在交叠,且对应不同输入图像的目标对象外接框,进行目标对象外接框合并处理;根据合并处理结果,形成所述原始图像的目标对象检测结果。

在本申请再一实施方式中,所述目标对象外接框合并处理包括:在目标对象外接框之间的交并比满足预定要求的情况下,将置信度高的目标对象外接框作为合并后的目标对象外接框。

在本申请再一实施方式中,所述装置还包括:获取图像样本模块,用于从训练数据集中获取图像样本;检测模块,用于将所述图像样本的旋转图像样本提供给待训练的神经网络,进行目标对象检测;监督学习模块,用于以所述图像样本的目标对象位置标注信息为指导信息,或者以基于所述图像样本的目标对象位置标注信息形成的所述旋转图像样本的目标对象位置标注信息为指导信息,对所述待训练的神经网络进行监督学习。

在本申请再一实施方式中,所述旋转图像样本与图像样本大小相同,且包含有图像样本中完整的图像内容;所述装置还包括:产生旋转图像样本模块,用于对所述图像样本进行缩小处理以及旋转处理,并根据所述缩小处理以及旋转处理形成所述旋转图像样本的目标对象位置标注信息。

在本申请再一实施方式中,所述旋转处理包括:基于随机角度的旋转处理,和/或,基于预设旋转角度的旋转处理。

根据本申请实施方式的再一方面,提供了一种神经网络的训练装置,该装置包括:获取图像样本模块,用于从训练数据集中获取图像样本;检测模块,用于将所述图像样本的旋转图像样本提供给待训练的神经网络,进行目标对象检测;监督学习模块,用于以所述图像样本的目标对象位置标注信息为指导信息,或者以基于所述图像样本的目标对象位置标注信息形成的所述旋转图像样本的目标对象位置标注信息为指导信息,对所述待训练的神经网络进行监督学习。

在本申请一实施方式中,所述旋转图像样本与图像样本大小相同,且包含有图像样本中完整的图像内容;所述装置还包括:产生旋转图像样本模块,用于对所述图像样本进行缩小处理以及旋转处理,并根据所述缩小处理以及旋转处理形成所述旋转图像样本的目标对象位置标注信息。

在本申请又一实施方式中,所述旋转处理包括:基于随机角度的旋转处理,和/或,基于预设旋转角度的旋转处理。

根据本申请实施方式的再一方面,提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本申请任一图像处理方法实施方式中的步骤,或者实现本申请任一神经网络的训练方法实施方式中的步骤。

根据本申请实施方式的再一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现本申请任一图像处理方法实施方式中的步骤,或者,实现本申请任一神经网络的训练方法实施方式中的步骤。

根据本申请实施方式的再一个方面,提供一种计算机程序,包括计算机指令,当所述计算机指令在设备的处理器中运行时,实现本申请任一图像处理方法实施方式中的步骤,或者,实现本申请任一神经网络的训练方法实施方式中的步骤。

基于本申请提供的一种图像处理方法、神经网络的训练方法、装置、设备、存储介质以及计算机程序,由于深度卷积神经网络对于空间相对位置严格相关的特性,如果图像中的目标对象的旋转角度过大,其特征间的空间关系变化较大,现有的网络无法有效的对图像中的目标对象进行检测;本申请通过利多角度的旋转图像样本训练获得的神经网络,对图像进行目标对象检测,该神经网络能有效的识别经旋转后的图像中特征间的空间关系,从而有利于提高目标对象检测的准确率,进而有利于提高目标对象检测的鲁棒性。

下面通过附图和实施方式,对本申请的技术方案做进一步的详细描述。

附图说明

构成说明书的一部分的附图描述了本申请的实施方式,并且连同描述一起用于解释本申请的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本申请,其中:

图1为本申请图像处理方法一个实施方式的流程图;

图2为本申请的神经网络的一个实施方式的示意图;

图3a-图3g为本申请的待处理图像及其旋转图像的示意图;

图4为本申请的神经网络的训练方法一个实施方式的流程图;

图5为本申请图像处理装置一个实施方式的结构示意图;

图6为本申请的神经网络的训练装置一个实施方式的结构示意图;

图7为实现本申请实施方式的一示例性设备的框图。

具体实施方式

现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应当注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本申请实施例可以应用于终端设备、计算机系统以及服务器等电子设备,其可与众多其它通用或者专用的计算系统环境或者配置一起操作。适于与终端设备、计算机系统以及服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

终端设备、计算机系统以及服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑以及数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

示例性实施例

图1为本申请方法一个实施例的流程图。如图1所示,该实施例方法主要包括:步骤s100以及步骤s110。下面对图1中的各步骤进行详细说明。

s100、将待处理图像作为输入图像,提供给神经网络进行目标对象检测。

在一个可选示例中,本申请中的待处理图像可以包括:原始图像和原始图像的至少一个旋转图像。本申请中的待处理图像可以为基于rgb(红绿蓝)的图像(如图3a所示),也可以为灰度图像等其他形式的图像。本申请中的原始图像可以为呈现静态的图片或者照片等图像,也可以为呈现动态的视频中的视频帧等。该原始图像可以为:包含有人脸、汽车或者行人等需要检测的目标对象的图像;例如,图3a所示的原始图像为:包含有目标对象为人脸的图像。本申请不限制待处理图像、原始图像以及目标对象的具体表现形态。

在一个可选示例中,本申请中的原始图像的旋转图像的大小通常与原始图像的大小相同,且旋转图像通常包含有原始图像中的完整的图像内容。也就是说,本申请在利用原始图像形成旋转图像的过程中,通常不会对原始图像进行截取。

在一个可选示例中,本申请可以通过多种方式形成原始图像的旋转图像。例如,本申请可以先对原始图像进行缩小处理,然后,再对缩小处理后的原始图像进行旋转处理,从而形成旋转图像。再例如,本申请可以先对原始图像进行旋转处理,然后,再对旋转处理后的原始图像进行缩小处理,从而形成旋转图像。本申请可以通过矩阵相乘等方式,实现对原始图像的缩小处理以及旋转处理。本申请不限制形成原始图像的旋转图像的具体实现方式。

在一个可选示例中,本申请的缩小处理所涉及到的缩小比例可以根据实际需求预先确定,例如,确定缩小比例可以遵循:在执行了旋转以及缩小处理后的原始图像的四个顶点通常分别位于旋转图像的四个边上,这一原则。本申请中的旋转处理可以具体为基于随机旋转角度的旋转处理,也可以具体为基于预设旋转角度的旋转处理。

在一个可选示例中,图3a所示的原始图像所对应的基于逆时针旋转40度、80度、120度、160度以及200度,所产生的旋转图像,如图3c至图3g所示。需要说明的是,基于原始图像而形成的旋转图像,并不带有图3c至图3g中的人脸外接框。

在一个可选示例中,本申请中的神经网络是用于对输入图像进行目标对象检测的神经网络。本申请的神经网络的一个具体例子如图2所示,图2中的神经网络包括:用于提取各输入图像的图像特征的主网络单元200、用于检测各输入图像的目标对象位置的第一分支网络单元210以及用于检测各输入图像的目标对象位置的置信度的第二分支网络单元220;其中的主网络单元200针对各输入图像所提取出的图像特征,会被分别提供给第一分支网络单元210以及第二分支网络单元220。

在一个可选示例中,本申请的包含有主网络单元200、第一分支网络单元210以及第二分支网络单元220在内的神经网络,可以具体为卷积神经网络。本申请不限制该卷积神经网络的具体网络结构;例如,本申请中的该卷积神经网络可以包括但不限于卷积层、非线性relu层、池化层以及全连接层等,该卷积神经网络所包含的层数越多,则网络越深;再例如,本申请的该卷积神经网络的网络结构可以采用但不限于alexnet、深度残差网络(deepresidualnetwork,resnet)或vggnet(visualgeometrygroupnetwork,视觉几何组网络)等神经网络所采用的网络结构。

在一个可选示例中,本申请中的神经网络是利用训练数据集中的多个图像样本的旋转图像样本训练获得的。本申请中的训练数据集包含有多条训练数据。一条训练数据通常包含有一图像样本以及目标对象位置标注信息。可选的,目标对象位置标注信息可以具体为:目标对象外接框的对角线上的两顶点的坐标。另外,一条训练数据还可以包括目标对象类别标注信息(如目标对象外接框类别标注信息)等。对神经网络进行训练的过程可以参见下述针对图4的描述。在此不再详细说明。

在一个可选示例中,本申请可以仅将原始图像作为输入图像,提供给神经网络进行目标对象检测。本申请也可以仅将原始图像的一旋转图像作为输入图像,提供给神经网络进行目标对象检测。本申请还可以将原始图像的至少两个旋转图像均作为输入图像,同时提供给神经网络进行目标对象检测。另外,本申请也可以将原始图像及其至少一个旋转图像均作为输入图像,同时提供给神经网络进行目标对象检测。本申请不限制一次提供给神经网络的输入图像的数量。

s110、根据神经网络针对各输入图像分别输出的目标对象检测信息,确定原始图像的目标对象检测结果。

在一个可选示例中,本申请中的神经网络针对每一个输入图像均会输出目标对象检测信息。该目标对象检测信息可以具体包括:目标对象位置以及目标对象位置的置信度。目标对象位置通常可以表示出输入图像中的目标对象的大小以及目标对象在输入图像中出现的区域。目标对象位置可以具体包括:目标对象外接框的位于其对角线上的两个顶点在输入图像中的坐标。目标对象位置的置信度通常可以表示出目标对象(如目标对象外接框)出现在输入图像中的一位置上的概率。通常情况下,目标对象位置的置信度可以表示出目标对象的类别,即一个置信度通常对应有人脸或者行人或者车辆等目标对象的类别。

在一个可选示例中,在本申请将原始图像(如图3a所示的原始图像)作为输入图像,提供给神经网络进行目标对象检测的情况下,本申请的神经网络会针对该原始图像输出目标对象外接框位置以及目标对象外接框位置的置信度。本申请可以从所有目标对象外接框位置的置信度中选取出满足预定置信度要求的置信度,并将满足要求的置信度所对应的目标对象外接框位置,作为该原始图像中的目标对象的位置,如图3b中的人脸外接框即为本申请针对神经网络输出的原始图像的目标对象检测信息,而最终确定出的原始图像的目标对象检测结果。当然,本申请在同时将原始图像的旋转图像也作为输入图像提供给神经网络的情况下,本申请仍然可以采用该方式来确定原始图像的目标对象检测结果,即本申请可以忽略神经网络针对旋转图像输出的目标对象检测信息,而只依赖于神经网络针对原始图像输出的目标对象检测信息,来确定原始图像的目标对象检测结果。

本申请通过利多角度的旋转图像样本训练获得的神经网络,对图像进行目标对象检测,该神经网络能有效的识别经旋转后的图像中特征间的空间关系,从而无论原始图像中的目标对象是否存在一定角度的倾斜(如图3a所示的倾斜情况),本申请提供的技术方案均有利于检测出原始图像中的目标对象,从而本申请提供的技术方案有利于提高目标对象检测的准确率和鲁棒性。

在一个可选示例中,在本申请将原始图像的一旋转图像(如图3c至图3g所示的旋转图像中的任一个)作为输入图像(注:作为输入图像的旋转图像并不带有图3c至图3g中的人脸外接框),提供给神经网络进行目标对象检测的情况下,本申请的神经网络会针对该旋转图像输出目标对象外接框位置以及目标对象外接框位置的置信度。本申请可以从神经网络输出的所有目标对象外接框位置的置信度中选取满足预定置信度要求的置信度,选取出的满足预定置信度要求的置信度所对应的目标对象外接框位置可以如图3b至图3g中的人脸外接框所示。本申请可以将选取出的满足预定置信度要求的置信度所对应的目标对象外接框位置,映射到原始图像中,并将映射所形成的目标对象外接框位置,作为原始图像中的目标对象的位置。本申请是根据该旋转图像与原始图像之间的旋转角度以及缩小比例,来执行目标对象外接框位置的映射操作的。例如,图3b至图3g所对应的人脸外接框位置,在执行映射操作后,所形成的人脸外接框位置,可以通过图3b中的人脸外接框来体现。本申请不限制将目标对象外接框位置映射到原始图像中的具体实现方式。当然,本申请在同时将原始图像也作为输入图像提供给神经网络的情况下,本申请仍然可以采用该方式,来确定原始图像的目标对象检测结果,即本申请可以忽略神经网络针对原始图像输出的目标对象检测信息,而只依赖于神经网络针对旋转图像输出的目标对象检测信息,来确定原始图像的目标对象检测结果。

本申请通过利多角度的旋转图像样本训练获得的神经网络,对图像进行目标对象检测,该神经网络能有效的识别经旋转后的图像中特征间的空间关系,从而本申请通过将原始图像的一旋转图像提供给神经网络,并通过映射等手段,可以基于旋转图像获得原始图像中的目标对象。由此可知,无论原始图像的旋转图像中的目标对象是否存在一定角度的倾斜(如图3c-图3g所示的倾斜情况),本申请提供的技术方案均利于检测出原始图像中的目标对象,从而本申请提供的技术方案有利于提高目标对象检测的准确率和鲁棒性。

在一个可选示例中,在本申请将原始图像的至少两个旋转图像(如图3c至图3g所示的旋转图像中的任意两个或者三个或者所有)作为输入图像(注:作为输入图像的旋转图像并不带有图3c至图3g中的人脸外接框),提供给神经网络进行目标对象检测的情况下,本申请的神经网络会针对每一个旋转图像均输出目标对象外接框位置以及目标对象外接框位置的置信度。本申请可以从神经网络针对每一个旋转图像输出的所有目标对象外接框位置的置信度中,选取满足预定置信度要求的置信度,选取出的满足预定置信度要求的置信度所对应的目标对象外接框位置可以如图3c至图3g中的人脸外接框所示。本申请可以先将选取出的满足预定置信度要求的置信度所对应的目标对象外接框位置,分别映射到原始图像中,然后,针对映射后的对应不同旋转图像,且存在交叠的目标对象外接框,进行合并处理。在一个示例中,合并处理可以具体为:计算映射后的对应不同旋转图像,且存在交叠的两个目标对象外接框之间的交并比,如果计算出的交并比满足预定交并比要求,则表示这两个目标对象外接框对应同一个目标对象,可以从两个目标对象外接框中选取一个置信度高的目标对象外接框,并将该选取出的目标对象外接框划分在原始图像的目标对象检测结果中,例如,将图3c至图3g中置信度高的人脸外接框映射后的位置作为原始图像的人脸检测结果;如果计算出的交并比不满足预定交并比要求,则表示这两个目标对象外接框对应不同的目标对象,可以将这两个目标对象外接框均划分在原始图像的目标对象检测结果中。另外,本申请应将映射后的对应不同旋转图像,且不存在交叠的目标对象外接框也划分在原始图像的目标对象检测结果中。同样的,本申请是根据该旋转图像与原始图像之间的旋转角度以及缩小比例,来执行目标对象外接框位置的映射操作的。当然,在同时将原始图像也作为输入图像提供给神经网络的情况下,本申请也可以采用该方式来确定原始图像的目标对象检测结果,即忽略神经网络针对原始图像输出的目标对象检测信息,而只依赖于神经网络针对各旋转图像输出的目标对象检测信息,来确定原始图像的目标对象检测结果。

本申请通过利多角度的旋转图像样本训练获得的神经网络,对图像进行目标对象检测,该神经网络能有效的识别经旋转后的图像中特征间的空间关系,从而本申请通过将原始图像的多个旋转图像提供给神经网络,并通过映射以及目标对象外接框合并等手段,可以基于多个旋转图像最终获得原始图像中的目标对象。由此可知,无论原始图像的各旋转图像中的目标对象是否存在一定角度的倾斜(如图3c-图3g所示的倾斜情况),本申请提供的技术方案均利于检测出原始图像中的目标对象,从而本申请提供的技术方案有利于提高目标对象检测的准确率和鲁棒性。

在一个可选示例中,在本申请将原始图像以及至少一个旋转图像(如图3c至图3g所示的旋转图像中的任意一个或者两个或者三个或者所有)作为输入图像(注:作为输入图像的旋转图像并不带有图3c至图3g中的人脸外接框),提供给神经网络进行目标对象检测的情况下,本申请的神经网络会针对原始图像以及每一个旋转图像均输出目标对象外接框位置以及目标对象外接框位置的置信度。本申请可以从神经网络针对原始图像和每一个旋转图像输出的所有目标对象外接框位置的置信度中,选取满足预定置信度要求的置信度,选取出的满足预定置信度要求的置信度所对应的目标对象外接框位置可以如图3b至图3g中的人脸外接框所示。本申请可以先将选取出的满足预定置信度要求的置信度所对应的目标对象外接框位置,分别映射到原始图像中,然后,针对映射后的对应不同输入图像,且存在交叠的目标对象外接框,进行合并处理。在一个示例中,合并处理可以具体为:计算映射后的对应不同输入图像,且存在交叠的两个目标对象外接框之间的交并比,如果计算出的交并比满足预定交并比要求,则表示这两个目标对象外接框对应同一个目标对象,可以从两个目标对象外接框中选取一个置信度高的目标对象外接框,并将该选取出的目标对象外接框划分在原始图像的目标对象检测结果中,例如,在图3b中的人脸外接框对应的置信度最高的情况下,将图3b中的人脸外接框位置作为原始图像的人脸检测结果;再例如,在图3c中的人脸外接框对应的置信度最高的情况下,将图3c中的人脸外接框映射后的位置作为原始图像的人脸检测结果。如果计算出的交并比不满足预定交并比要求,则表示这两个目标对象外接框对应不同的目标对象,可以将两个目标对象外接框均划分在原始图像的目标对象检测结果中。另外,本申请应将映射后的对应不同输入图像,且不存在交叠的目标对象外接框也划分在原始图像的目标对象检测结果中。同样的,本申请是根据该旋转图像与原始图像之间的旋转角度以及缩小比例,来执行目标对象外接框位置的映射操作的。

本申请通过利多角度的旋转图像样本训练获得的神经网络,对图像进行目标对象检测,该神经网络能有效的识别经旋转后的图像中特征间的空间关系,从而本申请通过将原始图像及其至少一个旋转图像提供给神经网络,并通过映射以及目标对象外接框合并等手段,可以基于原始图像及其旋转图像最终获得原始图像中的目标对象。由此可知,无论原始图像及其各旋转图像中的目标对象是否存在一定角度的倾斜(如图3a-图3g所示的倾斜情况),本申请提供的技术方案均利于检测出原始图像中的目标对象(如图3b-图3g所示的人脸外接框),从而本申请提供的技术方案有利于提高目标对象检测的准确率和鲁棒性。

图4为本申请对神经网络进行训练的一个实施例的流程图。如图4所示,该实施例方法包括:步骤s400、步骤s410以及步骤s420。下面对图4中的各步骤进行详细说明。

s400、从训练数据集中获取图像样本。

在一个可选示例中,本申请中的训练数据集中包括多条用于训练神经网络的训练数据,任一条训练数据可以包括:图像样本以及图像样本的目标对象位置标注信息等。可选的,任一条训练数据还可以包括:目标对象类别标注信息等。本申请可以按照随机读取方式或者按照训练数据排列次序顺序读取方式,一次从训练数据集中读取一条或者多条训练数据。本申请中的训练数据集可以为widerface验证数据集等,本申请不限制训练数据集的具体表现形式。

s410、将图像样本的旋转图像样本提供给待训练的神经网络进行目标对象检测。

在一个可选示例中,本申请中的图像样本的旋转图像样本的大小通常与图像样本的大小相同,且旋转图像样本通常包含有完整的图像样本。也就是说,本申请在利用图像样本形成旋转图像样本的过程中,通常不会对图像样本进行截取。

在一个可选示例中,本申请可以通过多种方式形成图像样本的旋转图像样本。例如,本申请可以先对图像样本进行缩小处理,然后,再对缩小处理后的图像样本进行旋转处理,从而形成旋转图像样本。再例如,本申请可以先对图像样本进行旋转处理,然后,再对旋转处理后的图像样本进行缩小处理,从而形成旋转图像样本。本申请可以通过矩阵相乘等方式,实现对图像样本的缩小处理以及旋转处理。本申请不限制形成图像样本的旋转图像样本的具体实现方式。

在一个可选示例中,本申请在基于图像样本形成旋转图像样本时,可以基于图像样本的目标对象位置标注信息,形成旋转图像样本的目标对象位置标注信息,例如,本申请可以通过将图像样本的目标对象位置标注信息映射到旋转图像样本中,从而形成旋转图像样本的目标对象位置标注信息。本申请不限制形成旋转图像样本的目标对象位置标注信息的具体实现方式。

在一个可选示例中,本申请的缩小处理所涉及到的缩小比例可以根据实际需求预先确定,例如,确定缩小比例可以遵循:在执行了旋转以及缩小处理后的图像样本的四个顶点通常分别位于旋转图像样本的四个边上,这一原则。本申请中的旋转处理可以具体为基于随机旋转角度的旋转处理,也可以具体为基于预设旋转角度的旋转处理。

在一个可选示例中,本申请中的待训练的神经网络的一个具体例子如图2所示,图2中的第一分支网络单元210对应有一损失函数,如l1损失函数等,第二分支网络单元220对应有另一损失函数,如softmax损失函数等。

在一个可选示例中,本申请可以将图像样本的至少一个旋转图像样本作为输入图像,提供给待训练的神经网络进行目标对象检测。本申请也可以将图像样本及其至少一个旋转图像样本作为输入图像,提供给待训练的神经网络进行目标对象检测。

在一个可选示例中,本申请中的待训练的神经网络针对每一个输入图像均会输出目标对象检测信息。该目标对象检测信息可以具体包括:目标对象位置以及目标对象位置的置信度。目标对象位置通常可以表示出输入图像中的目标对象的大小以及目标对象在输入图像中出现的区域。目标对象位置可以具体包括:目标对象外接框的位于其对角线上的两个顶点在输入图像中的坐标。目标对象位置的置信度通常可以表示出目标对象(如目标对象外接框)出现在输入图像中的一位置上的概率。可选的,在实现多种目标对象检测的情况下,本申请中的待训练的神经网络还可以针对每一个输入图像输出目标对象的类别,如目标对象外接框的类别。

s420、以图像样本的目标对象位置标注信息为指导信息,或者以基于图像样本的目标对象位置标注信息形成的旋转图像样本的目标对象位置标注信息为指导信息,对待训练的神经网络进行监督学习。

在一个可选示例中,本申请以图像样本的目标对象位置标注信息为指导信息,对待训练的神经网络进行监督学习,可以减小待训练的神经网络输出的旋转图像样本的目标对象检测结果在被转换为图像样本的目标对象检测结果时,与图像样本的目标对象位置标注信息之间的误差。可选的,本申请还可以在监督学习的过程中,促使待训练的神经网络输出的相应的目标对象位置的置信度尽量趋近于1或者0。

在一个可选示例中,本申请以基于图像样本的目标对象位置标注信息形成的旋转图像样本的目标对象位置标注信息为指导信息,对待训练的神经网络进行监督学习,可以减小待训练的神经网络输出的旋转图像样本的目标对象检测结果,与旋转图像样本的目标对象位置标注信息之间的误差。可选的,本申请还可以在监督学习的过程中,促使待训练的神经网络输出的相应的目标对象位置的置信度尽量趋近于1或者0。

在一个可选示例中,在本申请将图像样本的至少一个旋转图像样本分别作为输入图像,提供给待训练的神经网络进行目标对象检测的情况下,本申请的待训练的神经网络会针对每一个旋转图像样本输出目标对象外接框位置以及目标对象外接框位置的置信度。本申请可以直接以每一个旋转图像样本的目标对象位置标注信息为指导信息,利用两个损失函数分别对待训练的神经网络为相应的旋转图像样本输出的目标对象外接框位置和置信度进行计算,从而形成一反向传播过程,在该反向传播过程中,调整待训练的神经网络中的网络参数。在进行多目标对象检测的情况下,还可以以旋转图像样本的目标对象分类标注信息为指导信息,利用相应的损失函数对待训练的神经网络为相应的旋转图像样本输出的目标对象类别进行计算,该计算结果也会用于调整待训练的神经网络中的网络参数。旋转图像样本中的目标对象分类标注信息可以为旋转图像样本中的目标对象外接框的分类标注信息,旋转图像样本中的目标对象外接框的分类标注信息通常与图像样本中的相应目标对象外接框的分类标注信息相同。

在一个可选示例中,在本申请将图像样本及其至少一个旋转图像样本分别作为输入图像,提供给待训练的神经网络进行目标对象检测的情况下,本申请的待训练的神经网络会针对图像样本以及每一个旋转图像样本分别输出目标对象外接框位置以及目标对象外接框位置的置信度。本申请可以直接以图像样本的目标对象位置标注信息以及每一个旋转图像样本的目标对象位置标注信息为指导信息,利用两个损失函数分别对待训练的神经网络为图像样本及相应的旋转图像样本输出的目标对象外接框位置和置信度进行计算,从而形成一反向传播过程,在该反向传播过程中,调整待训练的神经网络中的网络参数。在进行多目标对象检测的情况下,还可以以图像样本的目标对象分类标注信息和旋转图像样本的目标对象分类标注信息为指导信息,利用相应的损失函数对待训练的神经网络为图像样本及相应的旋转图像样本输出的目标对象类别进行计算,该计算结果也会用于调整待训练的神经网络中的网络参数。

在一个可选示例中,在针对待训练的神经网络的训练达到预定迭代条件时,本次训练过程结束。本申请中的预定迭代条件可以包括:根据待训练的神经网络输出的目标对象检测信息与相应的目标对象位置标注信息之间的差异满足预定差异要求。在差异满足该预定差异要求的情况下,本次对待训练的神经网络成功训练完成。本申请中的预定迭代条件也可以包括:对该待训练的神经网络进行训练,所使用的图像样本的数量达到预定数量要求等。在使用的图像样本的数量达到预定数量要求,然而,差异并未满足预定差异要求的情况下,本次对待训练的神经网络并未训练成功。成功训练完成的神经网络可以用于对原始图像进行目标对象检测处理。

图5为本申请图像处理装置一个实施例的结构示意图。如图5所示,该实施例的装置主要包括:目标对象检测模块500以及获得检测结果模块510。可选的,该实施例的装置还可以包括:产生旋转图像模块520、获取图像样本模块530、检测模块540、监督学习模块550以及产生旋转图像样本模块560。

目标对象检测模块500主要用于将待处理图像作为输入图像,提供给神经网络进行目标对象检测。其中,待处理图像包括:原始图像和/或原始图像的至少一个旋转图像。目标对象检测模块500所执行的具体操作可以参见上述针对图1中的步骤s100的描述,在此不再重复说明。

在一个可选示例中,目标对象检测模块500提供给神经网络的旋转图像由产生旋转图像模块520产生。产生旋转图像模块520主要用于对原始图像进行缩小处理以及旋转处理。产生旋转图像模块520所执行的旋转处理可以具体为基于随机角度的旋转处理。产生旋转图像模块520所执行的旋转处理也可以具体为基于预设旋转角度的旋转处理。产生旋转图像模块520产生旋转图像的具体过程可以参见上述针对图1中的步骤s100的描述,在此不再重复说明。

获得检测结果模块510主要用于根据神经网络针对各输入图像分别输出的目标对象检测信息,确定原始图像的目标对象检测结果。其中,该神经网络是利用多角度的旋转图像样本训练获得的,所述旋转图像样本由图像样本通过旋转预设角度或随机角度得到。本申请中的旋转图像与原始图像大小相同,且包含有原始图像中完整的图像内容。在一个可选例子中,神经网络所输出的目标对象检测结果信息包括:目标对象位置以及目标对象位置的置信度。本申请中的神经网络可以包括:用于提取各输入图像的图像特征的主网络单元、用于检测各输入图像的目标对象位置的第一分支网络单元以及用于检测各输入图像的目标对象位置的置信度的第二分支网络单元(如图2所示)。本申请中的主网络单元输出的各输入图像的图像特征分别提供给第一分支网络单元和第二分支网络单元。

在一个可选示例中,在目标对象检测模块500将原始图像作为输入图像,提供给神经网络进行目标对象检测的情况下,获得检测结果模块510可以根据神经网络针对原始图像输出的目标对象外接框位置以及目标对象外接框位置的置信度,将置信度满足预定置信度要求的目标对象外接框位置,作为原始图像中的目标对象的位置。

在一个可选示例中,在目标对象检测模块500将原始图像的一旋转图像作为输入图像,提供给神经网络进行目标对象检测的情况下,获得检测结果模块510可以根据神经网络针对旋转图像输出的目标对象外接框位置以及目标对象外接框位置的置信度,确定置信度满足预定置信度要求的目标对象外接框位置,获得检测结果模块510将神经网络针对旋转图像输出的各目标对象外接框位置以及各目标对象外接框位置的置信度中的,置信度满足预定置信度要求的目标对象外接框位置,映射到原始图像中,将映射后的目标对象外接框位置,作为目的原始图像中的目标对象的位置。

在一个可选示例中,在目标对象检测模块500将原始图像的至少两个旋转图像分别作为输入图像,提供给神经网络进行目标对象检测的情况下,获得检测结果模块510根据神经网络针对各输入图像分别输出的目标对象外接框位置以及目标对象外接框位置的置信度,确定置信度满足预定置信度要求的目标对象外接框位置,获得检测结果模块510将置信度满足预定置信度要求,且对应旋转图像的目标对象外接框位置,分别映射到原始图像中,之后,获得检测结果模块510针对存在交叠,且对应不同输入图像的目标对象外接框,进行目标对象外接框合并处理;获得检测结果模块510根据合并处理结果,形成原始图像的目标对象检测结果。

在一个可选示例中,在目标对象检测模块500将原始图像和原始图像的至少一个旋转图像分别作为输入图像,提供给神经网络进行目标对象检测的情况下,获得检测结果模块510可以根据神经网络针对各输入图像分别输出的目标对象外接框位置以及目标对象外接框位置的置信度,确定置信度满足预定置信度要求的目标对象外接框位置,获得检测结果模块510将置信度满足预定置信度要求,且对应旋转图像的目标对象外接框位置,分别映射到原始图像中;之后,获得检测结果模块510针对存在交叠,且对应不同输入图像的目标对象外接框,进行目标对象外接框合并处理;获得检测结果模块510根据合并处理结果,形成原始图像的目标对象检测结果。

在一个可选示例中,本申请中的合并处理可以包括:在目标对象外接框之间的交并比满足预定要求的情况下,获得检测结果模块510将置信度高的目标对象外接框作为合并后的目标对象外接框。

获得检测结果模块510所执行的具体操作可以参见上述针对图1中的步骤s110的描述,在此不再重复说明。

获取图像样本模块530主要用于从训练数据集中获取图像样本。训练数据集所包含的具体内容以及获取图像样本模块530所执行的具体操作,可以参见上述针对图4中的步骤s400的描述,在此不再重复说明。

检测模块540主要用于将图像样本的旋转图像样本提供给待训练的神经网络,进行目标对象检测。上述旋转图像样本与图像样本大小相同,且包含有图像样本中完整的图像内容。本申请中的旋转图像样本由产生旋转图像样本模块560形成。产生旋转图像样本模块560主要用于对图像样本进行缩小处理以及旋转处理。同时,产生旋转图像样本模块560还应根据其所执行的缩小处理以及旋转处理,对图像样本的目标对象位置标注信息执行相应的变换处理,从而形成旋转图像样本的目标对象位置标注信息。产生旋转图像样本模块560所执行的旋转处理可以具体为基于随机角度的旋转处理,也可以具体为基于预设旋转角度的旋转处理。产生旋转图像样本模块560和检测模块540所执行的具体操作,可以参见上述针对图4中的步骤s410的描述,在此不再重复说明。

监督学习模块550主要用于以图像样本的目标对象位置标注信息为指导信息,或者以基于图像样本的目标对象位置标注信息形成的旋转图像样本的目标对象位置标注信息为指导信息,对待训练的神经网络进行监督学习。监督学习模块550所执行的具体操作,可以参见上述针对图4中的步骤s420的描述,在此不再重复说明.

图6为本申请的神经网络的训练装置的一个实施例的结构示意图。如图6所示,该实施例的装置主要包括:获取图像样本模块530、检测模块540以及监督学习模块550。可选的,该装置还可以包括:产生旋转图像样本模块560。该装置中的各模块所执行的操作可以参见上述图像处理装置以及方法实施方式中的描述,在此不再重复说明。

示例性设备

图7示出了适于实现本申请的示例性设备700,设备700可以是汽车中配置的控制系统/电子系统、移动终端(例如,智能移动电话等)、个人计算机(pc,例如,台式计算机或者笔记型计算机等)、平板电脑以及服务器等。图7中,设备700包括一个或者多个处理器、通信部等,所述一个或者多个处理器可以为:一个或者多个中央处理单元(cpu)701,和/或,一个或者多个图像处理器(gpu)713等,处理器可以根据存储在只读存储器(rom)702中的可执行指令或者从存储部分708加载到随机访问存储器(ram)703中的可执行指令而执行各种适当的动作和处理。通信部712可以包括但不限于网卡,所述网卡可以包括但不限于ib(infiniband)网卡。处理器可与只读存储器702和/或随机访问存储器730中通信以执行可执行指令,通过总线704与通信部712相连、并经通信部712与其他目标设备通信,从而完成本申请方法实施方式中的相应步骤。

此外,在ram703中,还可以存储有装置操作所需的各种程序以及数据。cpu701、rom702以及ram703通过总线704彼此相连。在有ram703的情况下,rom702为可选模块。ram703存储可执行指令,或在运行时向rom702中写入可执行指令,可执行指令使中央处理单元701执行上述物体分割方法所包括的步骤。输入/输出(i/o)接口705也连接至总线704。通信部712可以集成设置,也可以设置为具有多个子模块(例如,多个ib网卡),并分别与总线连接。

以下部件连接至i/o接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至i/o接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装在存储部分708中。

需要特别说明的是,如图7所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图7的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如,gpu和cpu可分离设置,再例如,可将gpu集成在cpu上,通信部可分离设置,也可集成设置在cpu或gpu上等。这些可替换的实施方式均落入本申请的保护范围。

特别地,根据本申请的实施方式,下文参考流程图描述的过程可以被实现为计算机软件程序,例如,本申请实施方式包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的步骤的程序代码,程序代码可包括对应执行本申请提供的步骤对应的指令。

在这样的实施方式中,该计算机程序可以通过通信部分709从网络上被下载及安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(cpu)701执行时,执行本申请中记载的上述指令。

可能以许多方式来实现本申请的方法和装置、电子设备以及计算机可读存储介质。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本申请的方法和装置、电子设备以及计算机可读存储介质。用于方法的步骤的上述顺序仅是为了进行说明,本申请的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施方式中,还可将本申请实施为记录在记录介质中的程序,这些程序包括用于实现根据本申请的方法的机器可读指令。因而,本申请还覆盖存储用于执行根据本申请的方法的程序的记录介质。

本申请的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本申请限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施方式是为了更好说明本申请的原理和实际应用,并且使本领域的普通技术人员能够理解本申请从而设计适于特定用途的带有各种修改的各种实施方式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1