图像处理方法、装置、设备及存储介质与流程

文档序号:26052135发布日期:2021-07-27 15:28阅读:68来源:国知局
图像处理方法、装置、设备及存储介质与流程

本公开涉及人工智能技术领域,尤其涉及图像处理方法、装置、设备及存储介质。



背景技术:

在安防、监控等领域,通常需要对视频或图像中的目标对象进行定位、计数或其他处理。在对视频或图像中的目标对象进行定位、计数等处理时,通常可以采用预先训练的神经网络输出图像的定位概率图或者密度图,定位概率图可以用于指示图像中各像素点为目标对象的概率,基于定位概率图可以确定目标对象在图像中的位置,密度图用于指示目标对象在图像中的分布情况,基于密度图可以对图像中的目标对象进行计数。目前,在训练神经网络时,用于获得定位概率图和/或密度图的神经网络是单独训练的,训练的神经网络精度较低。因此,有必要提高训练的神经网络的精度。



技术实现要素:

本公开提供一种图像处理方法、装置、设备及存储介质。

根据本公开实施例的第一方面,提供一种图像处理方法,所述方法包括:

获取待处理的目标图像;

根据预先训练的神经网络确定所述目标图像对应的预测定位概率图和/或预测密度图,其中,所述预测定位概率图用于指示所述目标图像中的像素点为所述目标对象的关键点的概率,所述预测密度图用于指示所述关键点在所述目标图像中的分布情况,所述关键点用于定位所述目标对象;

其中,所述神经网络基于样本图像对应的样本定位概率图、样本密度图、样本定位密度图以及所述样本图像的标注信息确定的目标损失训练得到,所述样本定位密度图基于所述样本定位概率图得到,所述样本定位概率图用于指示所述样本图像中的像素点为所述关键点的概率,所述样本密度图和所述样本定位密度图均用于指示所述关键点在所述样本图像中的分布情况,所述标注信息用于指示所述样本图像中的像素点是否为所述关键点。

在一些实施例中,所述方法还包括:

根据所述预测定位概率图确定所述目标对象在所述目标图像中位置,和/或根据所述预测密度图确定所述目标图像中所述目标对象的数量。

在一些实施例中,所述神经网络基于样本图像对应的样本定位概率图、样本密度图、样本定位密度图、所述样本图像的标注信息确定的目标损失训练得到,包括:

根据所述标注信息确定所述样本图像对应的真实定位概率图以及真实密度图;

根据所述样本图像对应的样本定位概率图和所述真实定位概率图确定第一损失;

根据所述样本图像对应的样本密度图和所述真实密度图确定第二损失;

根据所述样本定位密度图和所述真实密度图确定第三损失;

基于所述第一损失、所述第二损失以及所述第三损失确定所述目标损失,以所述目标损失作为优化目标训练得到所述神经网络。

在一些实施例中,基于所述样本定位概率图确定所述样本定位密度图,包括:

根据所述样本定位概率图确定所述关键点在所述样本图像中的位置;

基于所确定的所述关键点在所述样本图像中的位置确定样本预测定位图,所述样本预测定位图中目标像素位置的像素值均为第一数值,除所述目标像素位置以外的其他像素位置的像素值均为第二数值,所述目标像素位置为所述关键点所在的像素位置;

对所述样本预测定位图进行滤波处理,以得到所述样本定位密度图。

在一些实施例中,根据所述样本定位密度图和所述真实密度图确定第三损失,包括:

根据所述样本定位密度图和所述真实密度图的均方误差确定所述第三损失。

在一些实施例中,根据所述样本密度图和所述真实密度图确定第二损失,包括:

根据所述样本密度图和所述真实密度图的均方误差确定所述第二损失。

在一些实施例中,根据所述样本图像对应的样本定位概率图和所述真实定位概率图确定第一损失,包括:

基于所述真实定位概率图以及所述样本定位概率图确定所述样本图像中的各像素点对应的第一交叉熵损失;

对所述样本图像中的各像素点对应的所述第一交叉熵损失取平均,得到所述第一损失。

在一些实施例中,根据所述预测定位概率图确定所述目标对象在所述目标图像中的位置,包括:

对所述预测定位概率图进行均值池化处理,得到第一概率图;

对所述第一概率图进行最大池化处理,得到第二概率图;

将所述第一概率图和所述第二概率图中概率相同且大于预设阈值的像素点确定为所述关键点,以基于所述关键点确定所述目标对象在所述目标图像中的位置。

在一些实施例中,所述预测密度图用于指示所述目标图像中各像素位置分布的所述关键点的数量,根据所述预测密度图确定所述目标图像中所述目标对象的数量,包括:

对所述预测密度图中的各像素位置分布的所述关键点的数量进行求和处理,得到所述目标对象的数量。

根据本公开实施例的第二方面,提供一种图像处理装置,所述装置包括:

获取模块,用于获取待处理的目标图像;

处理模块,用于根据预先训练的神经网络确定所述目标图像对应的预测定位概率图和/或预测密度图,其中,所述预测定位概率图用于指示所述目标图像中的像素点为所述目标对象的关键点的概率,所述预测密度图用于指示所述关键点在所述目标图像中的分布情况,所述关键点用于定位所述目标对象;

其中,所述神经网络基于样本图像对应的样本定位概率图、样本密度图、样本定位密度图以及所述样本图像的标注信息确定的目标损失训练得到,所述样本定位密度图基于所述样本定位概率图得到,所述样本定位概率图用于指示所述样本图像中的像素点为所述关键点的概率,所述样本密度图和所述样本定位密度图均用于指示所述关键点在所述样本图像中的分布情况,所述标注信息用于指示所述样本图像中的像素点是否为所述关键点。

本公开实施例的第三方面,提供一种电子设备,所述电子设备包括处理器、存储器、存储于所述存储器可供所述处理器执行的计算机指令,所述处理器执行所述计算机指令时,实现上述第一方面提及的方法。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被执行时可实现上述第一方面提及的方法。

本公开实施例中,在训练用于预测图像对应的定位概率图和/或密度图的神经网络时,可以基于神经网络预测的样本图像的样本定位概率图确定样本图像对应的样本定位密度图,在构建目标损失时,可以结合基于样本定位概率图确定的样本定位密度图与基于标注信息确定的真实密度之间的差异确定目标损失,从而可以将神经网络预测的定位结果和计数结果耦合,增加用于训练神经网络的监督信息,使得神经网络的预测结果更加准确。在训练得到神经网络后,即可以使用训练得到神经网络输出待处理的目标图像的预测定位概率图和/或预测密度图,使得神经网络输出的预测定位概率图和/或预测密度图更加准确。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。

图1是本公开实施例的一种通过神经网络预测人头中心点位置的示意图。

图2是本公开实施例的一种图像处理方法的流程图。

图3是本公开实施例的一种神经网络的结构示意图。

图4是本公开实施例的一种神经网络训练方法的流程图。

图5是本公开实施例的一种对神经网络进行训练的示意图。

图6是本公开实施例的一种图像处理装置的逻辑结构示意图。

图7是本公开实施例的一种电子设备逻辑结构的示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

为了使本技术领域的人员更好的理解本公开实施例中的技术方案,并使本公开实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本公开实施例中的技术方案作进一步详细的说明。

在安防、监控等领域,通常需要对视频或图像中的目标对象进行定位、计数或其他处理。在对视频或图像中的目标对象进行定位、计数等处理时,通常采用预先训练的神经网络预测图像对应的定位概率图和/或密度图。比如,在对图像中的目标对象进行计数时,可以预先训练一个卷积神经网络,卷积神经网络可以输出图像对应的密度图,该密度图可以表示图像中的目标对象的分布情况,比如,密度图可以表示图像中各像素位置分布目标对象的数量,对密度图进行求和,即可以得到图像中目标对象的数量。在对图像中的目标对象进行定位时,可以通过对目标对象的关键点进行定位,以实现对目标对象的定位,比如,可以预先训练神经网络,神经网络可以输出图像对应的定位概率图,定位概率图像可以指示图像中各像素点为关键点的概率,比如,图像中是关键点的像素点的概率为1,不是关键点的像素点的概率为0,基于定位概率图可以确定关键点在图像中的位置。以人头中心点位置的预测为例,如图1所示,将原始图像输入至神经网络后,可以直接输出人头中心点定位图,图像中是人头中心点的像素点记为1,不是人头中心点的像素点记为0。

目前,在采用神经网络对目标对象进行定位或者计数等处理时,两者是独立进行的,并没有将两者关联。比如,有的方式分别训练一个用于定位的神经网络以及一个用于计数的神经网络,各自用于对图像中的目标对象进行定位和计数。也有的方式在一个神经网络中设立两个网络分支,两个网络分支分别用于对图像中的目标对象进行定位或计数,但是两个网络分支在训练过程中优化各自网络分支的参数,互不影响。但是定位和计数其实具有高耦合性,比如,得到定位结果后即可以确定计数结果,而计数网络分支输出的密度图中概率峰值点往往也是关键点,然而上述两种方式在神经网络训练过程中均未考虑两者的耦合性,导致训练得到的神经网络不能兼顾定位和计数的精度。同时,在训练神经网络时,两者独立优化参数,监督信息也比较单一,比如,定位神经网络的预测定位结果只受真实定位结果的监督,计数神经网络的预测计数结果只受真实计数结果的监督,监督信息不够充分,导致最终训练的神经网络的精度也有待提高。

基于此,本公开实施例提供了一种图像处理方法,在训练用于预测图像对应的定位概率图和/或密度图的神经网络时,可以基于神经网络输出的样本图像对应的样本定位概率图确定样本定位密度图,并结合该样本定位密度图与真实密度图的差异构建目标损失,以训练得到神经网络。通过将定位和计数耦合,在训练神经网络的时候,可以增加监督信息,提升训练得到的神经网络的精度,使得神经网络输出的定位概率图和/或密度图更加准确。

本公开实施例的图像处理方法可以由各种电子设备执行,比如可以是笔记本电脑、服务器、手机、平板等电子设备。

本公开实施例的目标对象可以是各种需要从图像中识别定位、或者需要计数、或者需要同时定位和计数的对象,比如,目标对象可以是人物、车辆、动物等。通过本公开实施例的方法,可以对图像中的目标对象进行定位、计数、或者同时进行定位和计数,以用于后续的跟踪、行为分析等等。目标对象的关键点可以是目标对象中能够标识或者代表该目标对象的一个点,比如,以目标对象为人物为例,关键点可以是人头中心点、人体中心点等,本公开实施例不作限制。通过对目标对象的关键点进行定位,从而可以确定目标对象在图像中的位置。

为了便于区分,本公开实施例中将神经网络应用阶段,通过神经网络输出的指示待处理的目标图像中像素点为关键点的概率的图像统称为预测定位概率图,通过神经网络输出的指示该关键点在目标图像中的分布情况的图像统称为预测密度图。本公开实施例中将神经网络训练阶段,通过神经网络输出的指示样本图像中像素点为关键点的概率的图像统称为样本定位概率图,通过神经网络输出的指示该关键点在样本图像中的分布情况的图像统称为样本密度图。

具体的,如图2所示,本公开实施例提供的图像处理方法包括以下步骤:

s202、获取待处理的目标图像;

s204、根据预先训练的神经网络确定所述目标图像对应的预测定位概率图和/或预测密度图,所述预测定位概率图用于指示所述目标图像中的像素点为所述目标对象的关键点的概率,所述预测密度图用于指示所述关键点在所述目标图像中的分布情况,所述关键点用于定位所述目标对象;所述神经网络基于样本图像对应的样本定位概率图、所述样本图像对应的样本密度图、所述样本图像的标注信息以及样本定位密度图构建的目标损失训练得到,所述样本定位密度图基于所述样本定位概率图得到,所述样本定位概率图用于指示所述样本图像中的像素点为所述关键点的概率,所述样本密度图和所述样本定位密度图均用于指示所述关键点在所述样本图像中的分布情况,所述标注信息用于指示所述样本图像中的像素点是否为所述关键点。

在步骤s202中,可以获取待处理的目标图像,其中,目标图像可以是需要对图像中的目标对象进行计数和/或定位等处理的各种图像。目标图像中可以不包括目标对象,也可以包括一个或者多个目标对象。

在步骤s204中,在获取到待处理的目标图像后,可以将目标图像输入至预先训练的神经网络中,通过神经网络输出目标对象对应的预测定位概率图和/或预测密度图。其中,预测定位概率图用于指示目标图像中的部分或者全部像素点为目标对象的关键点的概率,比如,在一些实施例中,预测定位概率图可以和目标图像的尺寸一致,预测定位概率图中各像素点的像素值即为目标图像对应像素位置的像素点为关键点的预测概率。当然,在一些实施例中,预测定位概率图和目标图像的像素尺寸也可以不一致,预测定位概率图可以仅指示目标图像中部分像素点为关键点的概率。预测密度图则用于指示关键点在目标图像中的分布情况,预测密度图中的像素值越大的位置,表示分布的关键点越多。预测密度图的像素尺寸可以和目标图像的像素尺寸一致,或者可以不一致。

由于密度图中,每个像素的像素值可以表示该像素位置关键点的数量,在图像中目标对象的数量一定的情况下,如果密度图的像素尺寸过大,即包含的像素较多,那么每个像素位置的关键点数量就会很小,反之,则会很大,密度图中每个像素的像素值过大或者过小,都不利于神经网络的学习,为了控制密度图中每个像素的像素值在合适的范围,提高神经网络的学习精度,在一些实施例中,预测密度图的像素尺寸可以小于目标图像的尺寸,使得每个像素位置的关键点数量不至于过小,即每个像素的像素值不至于过小,比如,可以是目标图像的1/4,1/8等,具体可以根据实际需求设置。

本公开实施例中的神经网络的类型、网络结构以及神经网络中的网络参数的初始值可以根据实际需求设置。比如,在一些实施例中,神经网络可以是卷积神经网络,比如,可以是vgg-16卷积神经网络,当然,也可以采用其他类型的神经网络,本公开实施例不做限制。

在一些实施例中,神经网络可以包括两个网络分支,一个用于对定位,一个用于计数。如图3所示,为本公开一个实施例中的神经网络的结构示意图,其中,神经网络可以包括特征提取子网络、定位子网络以及计数子网络,其中,特征提取子网络用于对目标图像进行特征提取,得到特征图。然后将特征图分别输入至定位子网络和计数子网络,定位子网络可以基于特征图确定预测定位概率图,计数子网络可以基于特征图确定预测密度图。

为了使得神经网络预测的预测定位概率图和/或预测密度图的精度更高,预测结果更加准确,预测得到的定位结果和计数结果一致性更高。在对神经网络进行训练时,可以利用神经网络输出样本图像对应的样本定位概率图确定表示样本图像中关键点分布情况的样本定位密度图,在构建神经网络的目标损失时,可以将样本定位密度图和真实密度图的差异考虑进去,从而将神经网络预测的定位结果和计数结果耦合起来,增加了对神经网络进行训练时的监督信息。

在一些实施例中,神经网络的训练方法如图4所示,包括以下步骤:

s402、获取携带有标注信息的样本图像,所述标注信息用于指示所述样本图像中的像素点是否为目标对象的关键点,所述关键点用于定位所述目标对象;

s404、根据神经网络确定所述样本图像对应的样本定位概率图和所述样本图像对应的样本密度图,所述样本定位概率图用于指示所述样本图像中各像素点为所述关键点的概率,所述样本密度图用于指示所述关键点在所述样本图像中的分布情况;

s406、根据所述样本定位概率图确定用于表征所述关键点在所述样本图像中的分布情况的样本定位密度图;

s408、根据所述样本定位概率图、所述样本密度图、所述样本定位密度图和所述标注信息构建目标损失;

s4010、基于所述目标损失不断调整所述神经网络的参数,以对所述神经网络进行训练。

在对神经网络进行训练之前,可以选取大量包括目标对象的图像作为训练神经网络的样本图像,然后对样本图像中目标对象的关键点进行标注。其中,针对每个目标对象,可以在样本图像中标注一个或多个像素点作为该目标对象的关键点。比如,以人群定位为例,针对样本图像中的每个人物,可以仅选取一个像素点作为人头中心点,当然,也可以选取多个像素点作为人头中心点。关键点的标注可以采用手动标注的方式,也可以采用手标注与自动标注结合的方式,比如,用户标注出一个像素点作为关键点后,自动将其邻近的一个或多个像素点也标注为关键点。

在步骤402中,在训练神经网络时,可以获取携带有标注信息的样本图像,标注信息可以是用于指示样本图像中目标对象的关键点所在位置的各种信息。比如,可以将样本图像中是关键点的像素点记为1、不是关键点的像素点记为0,或者也可以采取其他的标注方式,只要可以标识出图像中为关键点的像素点即可。然后可以将获取到的携带有标注信息的样本图像输入至神经网络中,通过神经网络确定用于指示样本图像中的像素点为关键点的样本定位概率图以及用于指示关键点在样本图像中的分布情况的样本密度图。其中,样本图像中的像素点可以是图像中的部分像素点,也可以是样本图像中的所有像素点,具体可以根据实际需求设置。

由于用户在对样本图像进行标注时,通常针对每个目标对象只标注一个关键点,比如,针对样本图像中的每个人物,只标注一个像素点作为该人物的人头中心点。而一张图像中包含的像素点数量较多,如果每个人物只标注一个像素点,则会导致样本图像中的关键点数量较少,远远少于非关键点,因而在对神经网络进行训练时,由于正样本过少,对神经网络的训练结果会造成一定的影响,使得训练的神经网络预测结果不够准确。为了提高训练的神经网络的准确度,在一些实施例中,在获得标注后的样本图像后,可以先确定样本图像中经标注的第一像素点,然后确定第一像素点的多个邻近像素点,比如,可以是第一像素点上下左右方向与第一像素点相邻的4个像素点,或者邻近的8个像素点,邻近像素点所在的位置和数量可以根据实际需求设置,本公开实施例不做限制。

在步骤s404中,在获取到样本图像后,可以将样本图像输入至待训练的神经网络中,通过神经网络预测样本图像对应的样本定位概率图以及样本密度图,其中,样本定位概率图用于指示样本图像中的部分或者全部像素点为关键点的概率,样本定位概率图的像素尺寸可以与样本图像一致或者不一致。样本密度图用于指示关键点在样本图像中的分布情况。样本密度图的像素尺寸可以和样本图像的像素尺寸一致,或者可以不一致,样本密度图中每个像素的像素值可以表示该像素位置关键点的数量,在样本图像中目标对象的数量一定的情况下,如果样本密度图的像素尺寸过大,即包含的像素较多,那么每个像素位置的关键点数量就会很小,反之,则会很大,样本密度图中每个像素的像素值过大或者过小,都不利于神经网络的学习,为了控制样本密度图中每个像素的像素值在合适的范围,提高神经网络的学习精度,样本密度图的尺寸可以和样本图像不一致,比如,样本密度图的尺寸可以是样本图像的1/4,1/8等,具体可以根据实际需求设置。

为了可以将神经网络的定位结果和计数结果耦合,在步骤s406中,在通过神经网络输出样本图像对应的样本定位概率图,可以根据样本定位概率图确定用于表征关键点在样本图像的分布情况的样本定位密度图。根据样本定位概率图即可以确定样本图像中哪些像素点为关键点,进而可以确定样本定位密度图。

在步骤s408中,确定样本定位密度图后,即可以根据神经网络输出的样本定位概率图、样本密度图、根据样本定位概率图确定的样本定位密度图以及样本图像的标注信息构建目标损失。

在步骤4010中,在确定目标损失后,可以以目标损失作为优化目标,不断调整神经网络的网络参数,以对神经网络进行训练。比如,在一些实施例中,可以采用梯度下降法对神经网络的网络参数进行优化,直至用于表征目标损失的函数收敛,从而得到训练后的神经网络。

在步骤s406中,在根据样本定位概率图确定样本定位密度图时,在一些实施例中,可以先根据样本定位概率图确定关键点在样本图像中的位置,然后基于关键点在样本图像中的位置确定样本预测定位图,其中,样本预测定位图中的目标像素位置的像素值均为第一数值,除目标像素位置以外的其他像素位置的像素值均为第二数值,比如,样本预测定位图中关键点可以用1表示,非关键点用0表示,其中,目标像素位置为所述关键点所在的像素位置。举个例子,假设根据样本定位概率图确定样本图像中,第m行第n列的像素点为关键点,则样本预测定位图中第m行第n列的像素点的像素值为1,其余像素点的像素值为0。

在确定样本预测定位图后,可以对样本预测定位图进行滤波处理,比如,可以对样本预测定位图进行高斯滤波处理,当然,也可以采用其他的滤波处理,样本预测定位图得到样本定位密度图,其中,对样本定位密度图进行求和的结果即为样本图像中关键点的数量。比如,在一些实施例中,可以直接对样本定位概率图进行bernoulli采样,得到样本预测定位图,然后再对样本预测定位图进行高斯滤波处理,得到样本定位密度图。在另一些实施例中,在对样本预测定位图进行滤波处理后,还可以进一步对滤波处理后的图像进行其他的处理,比如,可以采用修正系数对滤波处理后的样本预测定位图进行修正,得到样本定位密度图,以保证对样本密度图进行求和后得到的数值与样本图像中目标对象的数量一致。在有些场景,样本定位密度图的尺寸与样本图像的尺寸也可以不一致,比如,样本定位密度图的尺寸可以小于样本图像的尺寸,因而,还可以进一步对滤波处理后的样本预测定位图进行下采样处理,以得到样本定位密度图。

为了可以充分利用定位和计数之间的耦合关系,增加神经网络训练过程中的监督信息,在步骤408中,在根据样本定位概率图、样本密度图、样本定位密度图以及标注信息构建目标损失时,可以综合神经网络预测的定位结果与真实定位结果之间的差异、神经网络预测的计数结果与真实的计数结果之间的差异、以及基于神经网络预测的定位结果确定的计数结果与真实的计数结果之间的差异确定目标损失。

比如,在一些实施例中,可以根据标注信息确定样本图像对应的真实定位概率图以及真实密度图,然后可以根据样本图像对应的样本定位概率图和真实定位概率图确定第一损失,根据样本图像对应的样本密度图和真实密度图确定第二损失,根据样本定位密度图和真实密度图确定第三损失,然后可以基于第一损失、第二损失以及第三损失确定目标损失,并以该目标损失作为优化目标训练得到神经网络。

其中,真实定位概率图为根据标注信息确定的表示样本图像中各像素点为目标对象关键点的概率的定位概率图,真实定位概率图中是关键点的像素点的概率均为1,不是关键点的像素点的概率均为0。由于根据标注信息可以确定样本图像中的哪些像素点是关键点,从而可以得到真实定位概率图。

真实密度图为根据标注信息确定的表示目标对象的关键点在样本图像中的真实分布情况的密度图。根据标注信息可以确定样本图像中的哪些像素点是关键点,即可以知道关键点在样本图像中的分布情况。在一些实施例中,在根据标注信息确定样本图像对应的真实密度图时,可以先根据标注信息确定样本图像对应的真实定位概率图,真实定位概率图中是关键点的像素点的概率均为1,不是关键点的像素点的概率均为0。然后可以对真实定位概率图进行滤波处理,得到样本图像对应的真实密度图。比如,可以对真实定位概率图进行高斯滤波处理,得到真实密度图。在一些实施例中,在对真实定位概率图进行滤波处理后,也可以进一步对滤波处理后的真实定位概率图进行修正处理,使得对得到的真实密度图进行求和处理后得到数值与样本图像中目标对象的数量一致。或者,也可以对真实定位概率图进行下采样处理,使得得到的真实密度图的尺寸符合预先设定的尺寸。

在确定真实定位概率图后,可以根据真实定位概率和样本定位概率图之间的差异确定第一损失。在一些实施例中,可以根据真实定位概率和样本定位概率图确定样本图像中的各像素点对应的第一交叉熵损失,然后对样本图像中的各像素点对应的第一交叉熵损失取平均,得到第一损失。当然,也可以用其他损失来表征预测的样本定位概率图与真实的定位概率图之间的差异,本公开实施例不作限制。

在确定真实密度图后,可以根据神经网络输出的样本密度图和真实密度图的差异确定第二损失。在一些实施例中,可以根据样本密度图和真实密度图之间的均方误差确定第二损失。当然,也可以采用其他的方式确定第二损失,本公开实施例不作限制。

在确定真实密度图后,还可以进一步可以根据基于样本定位密度图和真实密度图之间的差异确定第三损失。通过第三损失,可以将定位和计数耦合,以保证训练的神经网络输出的定位结果和计数结果的一致性。在一些实施例中,可以根据样本定位密度图和真实密度图之间的均方误差确定第三损失。当然,也可以采用其他的方式确定第三损失,本公开实施例不作限制。

在确定第一损失、第二损失和第三损失后,可以根据确定的第一损失、第二损失以及第三损失确定目标损失,然后以目标损失作为优化目标训练得到神经网络。其中,在根据第一损失、第二损失以及第三损失确定目标损失时,可以根据实际需求设定每部分损失的权重,然后对三种损失加权求和,得到最终的目标损失。

在一些实施例中,第一定位概率图的尺寸与目标图像的尺寸一致,预测密度图的尺寸为目标图像的尺寸的1/8。比如,预测定位概率图中各像素点与目标图像的像素点一一对应,预测定位概率图中的概率即表示目标图像中对应像素位置的像素点为关键点的概率。预测密度图的像素尺寸可以是目标图像的尺寸的1/8,从而可以使得预测密度图中每个像素的像素值不至于过大或过小,控制在一个合理的范围。

在一些实施例中,在根据预先训练得到的神经网络确定目标图像对应的预测定位概率图和/或预测密度图后,可以根据预测定位概率图确定目标图像中关键点的位置,进而确定目标对象在目标图像中的位置。和/或,可以根据预测密度图确定目标图像中关键点的数量,从而对图像中的目标对象进行计数。当然,在一些实施例中,在根据预先训练得到的神经网络确定目标图像对应的预测定位概率图和/或预测密度图后,也可以直接将预测定位概率图和/或预测密度图输出,以显示给用户,以便用户了解目标对象在图像中的分布情况。

当然,由于神经网络预测的预测定位概率图可能存在一定的噪声,导致目标图像中的个别像素点的预测概率较大,从而会被误判为关键点,所以,在一些实施中,为了抑制预测定位概率图中的噪声,可以对预测定位概率图进行池化处理,以减小噪声的干扰。例如,可以先对预测定位概率图进行平均池化处理,得到第一概率图,然后可以对预测定位概率图依次进行平均池化处理和最大池化处理,得到第二概率图(当然也可以直接对第一概率图进行最大池化处理,得到第二概率图),然后确定第一概率图和第二概率图中概率相同的像素点确定为目标像素点,并判断目标像素点的预测概率是否大于预设阈值,如果是,则将目标像素点确定为关键点。

举个例子,针对神经网络输出的目标图像对应的预测定位概率图,可以先采用一定尺寸和步长的卷积核(比如尺寸为3×3,步长为1的卷积核)对预测定位概率图进行平均池化处理,得到平均池化后的第一概率图,然后采用一定尺寸和步长的卷积核(比如尺寸为3×3,步长为1的卷积核)对平均池化处理后的第一概率图进一步进行最大池化处理,得到最大池化后的第二概率图,然后比较第一概率图和第二概率图,将两个图中概率一致的点确定为目标像素点,即峰值像素点,然后判定目标像素点是否大于预设阈值,如大于则认为是关键点。通过这种方式,可以消除噪声的影响,比较准确地确定出峰值像素点,从而使得最终确定的关键点更加准确。

在根据关键点的位置确定目标对象在目标图像中位置后,可以将定位结果以关键点定位图的形式输出,比如,可以将目标图像中是关键点的像素点表示为1,非关键点的像素点表示为0,得到关键点定位图,根据关键点定位图可以进一步对目标图像中的目标对象进行计数、跟踪等后续处理。

在一些实施例中,预测密度图可以表示目标图像中各像素位置分布的关键点的数量,因而,可以对预测密度图进行求和处理,得到目标图像中关键点的数量。

为了进一步解释本公开实施例提供图像处理方法,以下结合一个具体的实施例加以解释。

在视频监控领域,通常需要对监控视频或图像中的人群进行定位或者计数。由于人群定位和人群计数具有高耦合性,因而在进行神经网络训练时,可以结合计数任务和定位任务的内在联系优化神经网络,使神经网络在定位-计数精度上达到均衡最优。基于此,本实施例提供了一种人群定位-计数方法,该方法包括神经网络训练阶段和预测阶段,神经网络训练阶段的示意图如图5所示,具体包括以下步骤:

1、获取经用户标注过的样本图像,然后基于用户标注的人头中心点得到用于训练神经网络的真实定位图。真实定位图中的1表示人头中心点,0表示非人头中心点。

由于针对样本图像中的每个人物,用户只标注了一个像素点作为人头中心点,图像中的人头中心点数量较少,不利于卷积神经网络的训练。为了获得更好的神经网络训练结果,针对用户标注的人头中心点,可以将其邻近的一个或多个像素点也标注成人头中心点,得到用于训练神经网络的真实定位图。举个例子,对于每一张样本图像i(其中,图像i的高和宽分别为h,w),图像中用户标注的人头中心点为(ai为人头中心点坐标,假设图中人头数为n)。可以根据公式(1)、公式(2)和公式(3)确定用于训练卷积神经网络的真实定位图y(其中,真实定位图的高和宽分别为h,w),

其中:

x为图像中的坐标,*表示卷积操作,k为卷积核,例如,k=[0,1,0;1,1,1;0,1,0],n为人头数,ai为人头中心点,δ(·)为多元冲激函数,即:

2、根据真实定位图确定样本图像对应的真实密度图。

可以对真实定位图进行高斯滤波处理,然后再对滤波处理后的图像进行下采样处理,得到真实密度图。具体的,可以根据公式(4)对真实定位图进行高斯滤波处理:

其中为与人头点ai最近的四个人头点到ai的平均距离,zi为归一化因子。通过双线性插值将下采样为原始尺寸的八分之一,并通过乘以缩放因子保证密度图求和为人数n。最终得到尺寸为原图大小八分之一的密度图且φ求和值为n。

3、在确定真实定位图和真实密度图后,可以将样本图像输入至卷积神经网络,其中,卷积神经网络的结构如图5所示,可以是在imagenet上预训练的vgg-16网络,可以利用该神经网络的前13层提取样本图像的特征,得到512个通道、尺寸为原图1/8大小的特征图,然后将提取的特征图输入两个分支网络,定位子网络和计数子网络,定位子网络用于预测样本定位概率图,计数子网络用于预测样本密度图。其中,定位子网络通过使用三层卷积神经网络(卷积核大小为3,空洞率为2,通道数均为512)对特征图进行进一步特征提取,然后使用三个转置卷积(卷积核尺寸为4,步长为2,通道数分别为256、128、64)将特征图变换为原图大小,每个转置卷积后接入普通卷积层(卷积核大小为3,空洞率为2,通道数分别为256、128、64),最后使用1×1卷积将特征图的通道数转化为1,得到样本定位概率图

计数子网络首先使用三层卷积神经网络(卷积核大小为3,空洞率为2,通道数均为512)对特征图进行进一步特征提取,然后使用三个卷积层(卷积核尺寸为3,步长为2,通道数分别为256、128、64)将特征图进行非线性变换,最后使用1×1卷积将特征的通道数转化为1,得到样本密度图

4、可以根据神经网络预测的样本定位概率图和真实定位概率图y确定定位交叉熵损失(即第一损失),具体如公式(5):

其中λ为正样本权重,负责平衡正负样本,设置为100。

5、可以根据样本定位概率图确定样本定位密度图

可以根据进行像素级别的bernoulli采样得到采样结果图即:

然后对使用高斯滤波和八分之一的下采样得到基于定位子网络确定的样本定位密度图

6、确定根据定位子网络得出的样本定位密度图与真实密度图φ之间的均方误差(即第三损失),如公式(6):

7、确定根据计数子网络得出的样本密度图之间的均方误差(即第二损失),如公式(7):

8、确定最终的目标损失

最终网络的损失函数的加权求和,如公式(8)

其中α、β为平衡各个损失函数权重的因子。

9、得到损失函数后使用随机梯度下降对网络参数进行优化,假设第i步时网络参数为θi,则通过以下公式计算得到第i+1步时的网络参数θi+1,如公式(9):

其中γ为学习率,设置为0.0001。不断重复以上步骤至网络参数不再改变。

在训练得到神经网络后,可以利用训练的神经网络对待检测图像中的人群进行定位和计数,具体的,预测阶段包括以下步骤:

将原待检测图像输入训练好的卷积神经网络,网络输出预测的预测定位概率图和预测密度图。然后对预测定位概率图进行以下非极大值抑制步骤,得到最终的人头点定位图。具体的,可以对预测定位概率图首先进行核尺寸为3、步长为1的平均池化以抑制噪声,然后对池化后的概率图进行核尺寸为3、步长为1的最大池化操作,然后比较均值池化图和最大池化图,得到两帧图中概率相同的目标像素点,最后将目标像素点与预设阈值进行比较,大于阈值的位置设为1,否则为0,得到最终的定位图。

然后可以预测密度图直接求和,既可以得到待检测图像中人群计数的结果。

在训练神经网络的过程中,通过将定位结果和计数结果耦合,可以提升训练的神经网络的精度,保证神经网络输出的定位结果和计数结果的准确性。本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一实施例所述的方法。

此外,本公开实施例还提供一种图像处理装置,如图6所示,所述装置60包括:

获取模块61,用于获取待处理的目标图像;

处理模块62,用于根据预先训练的神经网络确定所述目标图像对应的预测定位概率图和/或预测密度图,其中,所述预测定位概率图用于指示所述目标图像中的像素点为所述目标对象的关键点的概率,所述预测密度图用于指示所述关键点在所述目标图像中的分布情况,所述关键点用于定位所述目标对象;

其中,所述神经网络基于样本图像对应的样本定位概率图、样本密度图、样本定位密度图以及所述样本图像的标注信息确定的目标损失训练得到,所述样本定位密度图基于所述样本定位概率图得到,所述样本定位概率图用于指示所述样本图像中的像素点为所述关键点的概率,所述样本密度图和所述样本定位密度图均用于指示所述关键点在所述样本图像中的分布情况,所述标注信息用于指示所述样本图像中的像素点是否为所述关键点。

在一些实施例中,所述图像处理装置还用于:

根据所述预测定位概率图确定所述目标对象在所述目标图像中位置,和/或根据所述预测密度图确定所述目标图像中所述目标对象的数量。

在一些实施例中,所述神经网络基于样本图像对应的样本定位概率图、样本密度图、样本定位密度图、所述样本图像的标注信息确定的目标损失训练得到,包括:

根据所述标注信息确定所述样本图像对应的真实定位概率图以及真实密度图;

根据所述样本图像对应的样本定位概率图和所述真实定位概率图确定第一损失;

根据所述样本图像对应的样本密度图和所述真实密度图确定第二损失;

根据所述样本定位密度图和所述真实密度图确定第三损失;

基于所述第一损失、所述第二损失以及所述第三损失确定所述目标损失,以所述目标损失作为优化目标训练得到所述神经网络。

在一些实施例中,基于所述样本定位概率图确定所述样本定位密度图,包括:

根据所述样本定位概率图确定所述关键点在所述样本图像中的位置;

基于所确定的所述关键点在所述样本图像中的位置确定样本预测定位图,所述样本预测定位图中目标像素位置的像素值均为第一数值,除所述目标像素位置以外的其他像素位置的像素值均为第二数值,所述目标像素位置为所述关键点所在的像素位置;

对所述样本预测定位图进行滤波处理,得到所述样本定位密度图。

在一些实施例中,根据所述样本定位密度图和所述真实密度图确定第三损失,包括:

根据所述样本定位密度图和所述真实密度图的均方误差确定所述第三损失。

在一些实施例中,根据所述样本密度图和所述真实密度图确定第二损失,包括:

根据所述样本密度图和所述真实密度图的均方误差确定所述第二损失。

在一些实施例中,根据所述样本图像对应的样本定位概率图和所述真实定位概率图确定第一损失,包括:

基于所述真实定位概率图以及所述样本定位概率图确定所述样本图像中的各像素点对应的第一交叉熵损失;

对所述样本图像中的各像素点对应的所述第一交叉熵损失取平均,得到所述第一损失。

在一些实施例中,所述图像处理装置用于根据所述预测定位概率图确定所述目标对象在所述目标图像中的位置时,具体用于:

对所述预测定位概率图进行均值池化处理,得到第一概率图;

对所述第一概率图进行最大池化处理,得到第二概率图;

将所述第一概率图和所述第二概率图中概率相同且大于预设阈值的像素点确定为所述关键点,以基于所述关键点确定所述目标对象在所述目标图像中的位置。

在一些实施例中,所述预测密度图用于指示所述目标图像中各像素位置分布的所述关键点的数量,所述图像处理装置用于根据所述预测密度图确定所述目标图像中所述目标对象的数量时,具体用于:

对所述预测密度图中的各像素位置分布的所述关键点的数量进行求和处理,得到所述目标对象的数量。

此外,本公开实施例还提供一种电子设备,如图7所示,所述电子设备70包括处理器71、存储器72、存储于所述存储器72可供所述处理器71执行的计算机指令,所述处理器71执行所述计算机指令时可实现上述实施例中任一项所述方法。

此外,本公开实施例还提供一种计算机可读存储介质,所述存储介质上存储有计算机指令,所述计算机指令被执行时实现上述任一项所述的方法。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

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