目标对象定位方法、装置、电子设备及可读存储介质

文档序号:551887 发布日期:2021-05-14 浏览:1次 >En<

阅读说明:本技术 目标对象定位方法、装置、电子设备及可读存储介质 (Target object positioning method and device, electronic equipment and readable storage medium ) 是由 杨昆霖 李昊鹏 侯军 伊帅 于 2021-02-07 设计创作,主要内容包括:本说明书实施例提供一种目标对象的定位方法、装置、电子设备及可读存储介质。在训练神经网络时,可以根据神经网络输出的指示样本图像中的像素点为目标对象的关键点的第二预测概率的第二预测概率图以及指示该第二预测概率的置信度的不确定性图训练得到神经网络,然后采用训练得到的神经网络预测目标图像对应的第一预测概率图,并基于第一预测概率图确定目标对象在目标图像中的位置。由于在训练神经网络的过程中,结合神经网络确定的样本图像中像素点为目标对象的关键点的第二预测概率的置信度调整神经网络的网络参数,减小了样本图像中用户标注的关键点存在误差对神经网络的影响,从而可以提升训练的神经网络的预测结果的准确度。(The embodiment of the specification provides a target object positioning method and device, electronic equipment and a readable storage medium. When the neural network is trained, the neural network can be trained according to a second prediction probability graph which is output by the neural network and indicates a second prediction probability that pixel points in a sample image are key points of a target object and an uncertainty graph which indicates a confidence degree of the second prediction probability, then the trained neural network is adopted to predict a first prediction probability graph corresponding to the target image, and the position of the target object in the target image is determined based on the first prediction probability graph. In the process of training the neural network, network parameters of the neural network are adjusted by combining the confidence coefficient of the second prediction probability that pixel points in the sample image determined by the neural network are the key points of the target object, so that the influence of errors of the key points labeled by the user in the sample image on the neural network is reduced, and the accuracy of the prediction result of the trained neural network can be improved.)

目标对象定位方法、装置、电子设备及可读存储介质

技术领域

本公开涉及计算机视觉技术领域,尤其涉及一种目标对象定位方法、装置、电子设备及可读存储介质。

背景技术

在安防、监控等领域,通常需要对视频图像中的目标对象的关键点进行定位,从而对目标对象进行定位,以便进一步对目标对象进行跟踪或者动作分析。以人群定位为例,在对视频图像中的人群进行定位时,通常会定位视频图像中的人头中心点,然后根据定位的人头中心点对人群进行计数、人群行为分析、人群跟踪等。目前,相关技术在对目标对象的关键点进行定位时,要么处理过程较复杂,不适用于对实时性要求较高的场景,要么定位结果不准确,存在明显的漏检或误检的情况。

发明内容

本公开提供一种目标对象定位方法、装置、电子设备及可读存储介质。

根据本公开实施例的第一方面,提供一种目标对象的定位方法,所述方法包括:

获取待检测的目标图像;

根据预先训练的神经网络确定所述目标图像对应的第一预测概率图,所述第一预测概率图用于指示所述目标图像的像素点为目标对象的关键点的第一预测概率;所述神经网络基于样本图像对应的第二预测概率图、所述样本图像对应的不确定性图、以及所述样本图像的标注信息构建的目标损失训练得到,其中,所述第二预测概率图用于指示所述样本图像的像素点为所述关键点的第二预测概率,所述不确定性图用于指示所述第二预测概率的置信度,所述标注信息用于指示所述样本图像中的像素点是否为所述关键点,所述关键点用于定位所述目标对象;

基于所述第一预测概率图确定所述目标对象在所述目标图像中的位置。在一些实施例中,所述第二预测概率图以及所述不确定图基于以下方式确定:

对所述样本图像进行特征提取,得到特征图;

根据所述特征图确定所述第二预测概率图以及所述不确定性图。

在一些实施例中,对所述样本图像进行特征提取,得到特征图,包括:

通过所述神经网络的第一子网络对所述样本图像进行特征提取,得到所述特征图;

根据所述特征图确定所述第二预测概率图以及所述不确定性图,包括:

通过所述神经网络的第二子网络以及所述特征图确定所述第二预测概率图;

通过所述神经网络的第三子网络以及所述特征图确定所述不确定图。

在一些实施例中,根据所述第二预测概率图、所述不确定图以及所述样本图像的标注信息构建目标损失,包括:

基于所述标注信息以及所述第二预测概率图中指示的所述第二预测概率确定所述样本图像中的各像素点对应的第一交叉熵损失;

基于所述不确定性图和所述第一交叉熵损失确定所述目标损失。

在一些实施例中,基于所述不确定性图和所述第一交叉熵损失确定所述目标损失,包括:

基于所述不确定性图中指示的所述置信度确定所述样本图像中的各像素点对应的正则化项,其中,所述正则化项基于所述置信度的倒数确定;

基于所述不确定性图中指示的所述置信度对所述第一交叉熵损失进行加权处理,得到所述样本图像中的各像素点对应的第二交叉熵损失;

将所述样本图像中的各像素点对应的所述正则化项与所述第二交叉熵损失求和后对所述样本图像中的像素点取平均,得到所述目标损失。

在一些实施例中,所述标注信息基于以下方式确定:

确定所述样本图像中经标注的第一像素点;

将所述第一像素点和所述第一像素点的至少一个邻近像素点标注为所述关键点,以得到所述标注信息。

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

基于所述第一预测概率图在所述目标图像中确定目标像素点,所述目标像素点的所述第一预测概率大于所述目标像素点的邻近像素点的所述第一预测概率;

当所述目标像素点对应的所述第一预测概率大于预设阈值,则将所述目标像素点确定为所述关键点;

基于所述关键点的位置确定所述目标对象在所述目标图像中的位置。

在一些实施例中,基于所述第一预测概率图在所述目标图像中确定目标像素点,包括:

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

对所述第一预测概率图依次进行均值池化处理和最大池化处理,得到第四预测概率图;

将所述第三预测概率图和所述第四预测概率图中概率相同的像素点确定为所述目标像素点。

在一些实施例中,根据所述第二预测概率图、所述不确定图以及所述样本图像的标注信息构建目标损失,包括:

根据所述不确定性图从所述样本图像中确定出所述置信度大于预设阈值的像素点;

根据所述第二预测概率图确定所述置信度大于预设阈值的像素点的所述第二预测概率;

基于所述置信度大于预设阈值的像素点的所述第二预测概率和所述置信度大于预设阈值的像素点的所述标注信息确定所述目标损失。

根据本公开实施例的第二方面,提供一种目标对象定位装置,所述装置包括:

获取模块,用于获取待检测的目标图像;

预测模块,用于根据预先训练的神经网络确定所述目标图像对应的第一预测概率图,所述第一预测概率图用于指示所述目标图像的像素点为目标对象的关键点的第一预测概率;所述神经网络基于样本图像对应的第二预测概率图、所述样本图像对应的不确定性图、以及所述样本图像的标注信息构建的目标损失训练得到,其中,所述第二预测概率图用于指示所述样本图像的像素点为所述关键点的第二预测概率,所述不确定性图用于指示所述第二预测概率的置信度,所述标注信息用于指示所述样本图像中的像素点是否为所述关键点,所述关键点用于定位所述目标对象;

定位模块,用于基于所述第一预测概率图确定所述目标对象在所述目标图像中的位置。

在一些实施例中,所述第二预测概率图以及所述不确定图基于以下方式确定:

对所述样本图像进行特征提取,得到特征图;

根据所述特征图确定所述第二预测概率图以及所述不确定性图。

在一些实施例中,对所述样本图像进行特征提取,得到特征图,具体包括:

通过所述神经网络的第一子网络对所述样本图像进行特征提取,得到所述特征图;

根据所述特征图确定所述第二预测概率图以及所述不确定性图,包括:

通过所述神经网络的第二子网络以及所述特征图确定所述第二预测概率图;

通过所述神经网络的第三子网络以及所述特征图确定所述不确定图。

在一些实施例中,根据所述第二预测概率图、所述不确定图以及所述样本图像的标注信息构建目标损失,具体包括:

基于所述标注信息以及所述第二预测概率图中指示的所述第二预测概率确定所述样本图像中的各像素点对应的第一交叉熵损失;

基于所述不确定性图和所述第一交叉熵损失确定所述目标损失。

在一些实施例中,基于所述不确定性图和所述第一交叉熵损失确定所述目标损失,具体包括:

基于所述不确定性图中指示的所述置信度确定所述样本图像中的各像素点对应的正则化项,其中,所述正则化项基于所述置信度的倒数确定;

基于所述不确定性图中指示的所述置信度对所述第一交叉熵损失进行加权处理,得到所述样本图像中的各像素点对应的第二交叉熵损失;

将所述样本图像中的各像素点对应的所述正则化项与所述第二交叉熵损失求和后对所述样本图像中的像素点取平均,得到所述目标损失。

在一些实施例中,所述标注信息基于以下方式确定:

确定所述样本图像中经标注的第一像素点;

将所述第一像素点和所述第一像素点的至少一个邻近像素点标注为所述关键点,以得到所述标注信息。

在一些实施例中,所述定位模块用于基于所述第一预测概率图确定所述目标对象在所述目标图像中的位置时,具体用于:

基于所述第一预测概率图在所述目标图像中确定目标像素点,所述目标像素点的所述第一预测概率大于所述目标像素点的邻近像素点的所述第一预测概率;

当所述目标像素点对应的所述第一预测概率大于预设阈值,则将所述目标像素点确定为所述关键点;

基于所述关键点的位置确定所述目标对象在所述目标图像中的位置。

在一些实施例中,所述定位模块用于基于所述第一预测概率图在所述目标图像中确定目标像素点时,具体用于:

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

对所述第一预测概率图依次进行均值池化处理和最大池化处理,得到第四预测概率图;

将所述第三预测概率图和所述第四预测概率图中概率相同的像素点确定为所述目标像素点。根据本公开实施例的第三方面,提供一种电子设备,所述电子设备包括处理器、存储器、存储于所述存储器可供所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面提及的目标对象定位方法。

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

本公开实施例中,考虑到用户在标注样本图像中的关键点的位置时存在误差,即标注的关键点位置存在不确定性,因此,在训练神经网络时,可以通过神经网络去学习这种不确定性,并基于学习到的这种不确定性输出用于指示神经网络预测的样本图像中的像素点为目标对象的关键点的第二预测概率的置信度的不确定性图,然后根据神经网络预测的指示样本图像中的像素点为关键点的第二预测概率的第二预测概率图、该不确定性图以及样本图像的标注信息构建目标损失,以训练神经网络。然后利用训练的神经网络输出待检测的目标对象对应的第一预测概率图,根据第一预测概率图确定关键点在目标图像的位置,从而确定目标对象在目标图像中的位置。通过神经网络输出不确定性图,并结合不确定性图调整神经网络的网络参数,可以减小用户标注误差对神经网络的影响,提升训练的神经网络的预测结果的准确度,减少通过神经网络检测目标图像的关键点时出现误检或者漏检的问题。同时,相比目标检测的方式定位目标对象,也具有较快的定位效率,适用于实时定位的场景。

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

附图说明

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

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

图2是本公开实施例的一种目标对象的定位方法的流程图。

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

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

图5是本公开实施例的一种卷积神经网络的训练过程示意图。

图6是本公开实施例的一种目标对象的定位装置的示意图。

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

具体实施方式

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

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

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

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

对视频图像中的目标对象的关键点进行定位在很多领域都有着广泛的应用,通过对目标对象的关键点进行定位实现对目标对象的定位,从而可以进一步对目标对象进行计数、动作行为分析、跟踪等。在对目标对象的关键点进行定位时,可以采用目标检测算法,通过预先训练的目标检测模型在图像中确定目标对象对应的检测框(比如,人头框),这种方式在训练目标检测模型时,需用户在样本图像中标注包括目标对象的标注框,对于目标对象很密集或者目标对象在图像中所占的画面较小的场景,标注框会不太准确,并且目标检测算法的处理过程较为复杂,处理速度较慢,对于实时性要求较高的场景不太适用。

也有一些方式不需要在样本图像标注包括目标对象的标注框,而是直接在样本图像标注目标对象的关键点,比如人头中心点,然后采用标注有关键点的样本图像训练神经网络模型,用于预测关键点的位置,这种方式训练的神经网络模型处理速度较快,可以直接输出与原始图像对应的关键点定位图,比如,图像中是关键点的像素点记为1,不是关键点的像素点记为0。以人头中心点位置的预测为例,如图1所示,将原始图像输入至神经网络后,可以直接输出人头中心定位图,图像中是人头中心点的像素点记为1,不是人头中心点的像素点记为0。

但是,由于用户标注的关键点准确度较低,以标注人头中心点为例,用户标注的人头中心点未必就是真实人头中心点,存在不确定性,所以,此种标注方式存在固有的误差,导致训练出来的神经网络预测结果不够准确,可能存在目标对象误检或者漏检的现象。

在对图像中的目标对象的位置进行定位时,为了可以兼顾效率以及预测结果的准确度,避免误检或者漏检,本公开实施例提供了一种目标对象的定位方法,可以使用预先训练的神经网络确定待检测的目标图像对应的第一预测概率图,第一预测概率图可以指示目标图像中像素点为目标对象的关键点的概率,然后根据第一预测概率图确定目标对象在目标图像中的位置。为了训练得到预测结果更加准确的神经网络,在对神经网络进行训练时,可以通过神经网络自动学习样本图像中用户标注的关键点存在的不确定性,并基于学习到的这种不确定性输出不确定性图,其中,不确定性图用于指示神经网络预测的样本图像的像素点为关键点的第二预测概率的置信度,然后结合不确定性图对神经网络进行训练,可以减少因样本图像中标注的关键点具有一定的误差对神经网络的影响,从而得到准确度更高的神经网络,减少误检或者漏检的现象。

本公开实施例的目标对象的定位方法可以由各种电子设备执行,比如可以是笔记本电脑、服务器、手机、平板等电子设备。

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

为了便于区分,本公开实施例中将神经网络训练阶段,通过神经网络预测的样本图像中像素点为目标对象的关键点的概率统称为第二预测概率,指示样本图像中像素点为关键点的概率的图像统称为第二预测概率图。将神经网络应用阶段,通过神经网络预测的待检测的目标图像中像素点为目标对象的关键点的概率统称为第一预测概率,指示目标图像中像素点为关键点的概率的图像统称为第一预测概率图。

具体地,如图2所示,本公开实施例提供的目标对象的定位方法包括以下步骤:

S202、获取待检测的目标图像;

S204、根据预先训练的神经网络确定所述目标图像对应的第一预测概率图,所述第一预测概率图用于指示所述目标图像的像素点为目标对象的关键点的第一预测概率;所述神经网络基于样本图像对应的第二预测概率图、所述样本图像对应的不确定性图、以及所述样本图像的标注信息构建的目标损失训练得到,其中,所述第二预测概率图用于指示所述样本图像的像素点为所述关键点的第二预测概率,所述不确定性图用于指示所述第二预测概率的置信度,所述标注信息用于指示所述样本图像中的像素点是否为所述关键点,所述关键点用于定位所述目标对象;

S206、基于所述第一预测概率图确定所述目标对象在所述目标图像中的位置。

在步骤S202中,可以获取待检测的目标图像,其中,目标图像可以是需要定位图像中的目标对象的各种图像。目标图像中可以不包括目标对象,也可以包括一个或者多个目标对象。在目标图像中包含目标对象的情况下,可以定位出其中的目标对象,以对目标对象进行计数、跟踪、行为分析等后续处理。

在步骤S204中,在获取到待检测的目标图像后,可以将目标图像输入至预先训练的神经网络中,以通过神经网络预测得到目标图像对应的第一预测概率图。第一预测概率图可以用于指示目标图像中的部分或者全部像素点为目标对象的关键点的第一预测概率,比如,在一些实施例中,第一预测概率图可以和目标图像的尺寸一致,第一预测概率图中各像素点的像素值即为目标图像对应像素位置的像素点为关键点的第一预测概率。关键点可以是目标对象中能够标识或者代表该目标对象的一个点或多个点,从而可以根据关键点在目标图像的位置确定目标对象在目标图像中的位置。比如,要在目标图像中定位出人物,那么关键点可以是人头点。

由于在使用样本图像训练神经网络时,样本图像中用户标注的关键点存在一定的误差,导致训练的神经网络预测结果不准确,存在误检或者漏检的问题。为了尽量减小样本图像标注误差对神经网络预测结果的影响,神经网络可以根据样本图像对应的第二预测概率图、样本图像对应的不确定性图、以及该样本图像的标注信息构建的目标损失训练得到,其中,第二预测概率图用于指示样本图像的像素点为该关键点的第二预测概率,不确定性图用于指示该第二预测概率的置信度。

具体地,神经网络的训练过程可以参考图3,可以包括以下步骤:

S302、获取携带有标注信息的样本图像,所述标注信息用于指示所述样本图像中的目标对象的关键点;

S304、通过神经网络确定用于指示所述样本图像中的像素点为所述关键点的第二预测概率的第二预测概率图,以及用于指示所述第二预测概率的置信度的不确定性图;

S306、根据所述标注信息、所述第二预测概率图以及所述不确定性图构建目标损失,基于所述目标损失调整所述神经网络的网络参数。

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

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

在步骤302中,在训练神经网络时,可以获取携带有标注信息的样本图像,标注信息可以是用于指示样本图像中目标对象的关键点所在位置的各种信息。比如,可以将样本图像中是关键点的像素点记为1、不是关键点的像素点记为0,或者也可以采取其他的标注方式,只要可以标识出图像中为关键点的像素点即可。然后可以将获取到的携带有标注信息的样本图像输入至神经网络中,通过神经网络确定用于指示样本图像中的像素点为关键点的第二预测概率的第二预测概率图,以及用于指示该第二预测概率的置信度的不确定性图。其中,样本图像中的像素点可以是图像中的部分像素点,也可以是样本图像中的所有像素点,具体可以根据实际需求设置。在神经网络输出样本图像中的第二预测概率图以及不确定性图后,可以根据样本图像的标注信息、第二预测概率图以及不确定性图构建目标损失,并基于目标损失对神经网络的参数进行调整,以对神经网络进行训练。

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

在步骤304中,在根据神经网络确定第二预测概率图和不确定性图时,在一些实施例中,可以先对样本图像进行特征提取,得到特征图,然后根据特征图分别确定样本图像对应的第二预测概率图和不确定性图。其中,第二预测概率图可以指示样本图像的部分或者全部像素点为关键点的第二预测概率,比如,第二预测概率图中各像素点的像素值可以用于表示样本图像在对应像素位置的像素点对应的第二预测概率,或者与第二预测概率有关的数值,只要基于第二预测概率图可以确定样本图像中的像素点为关键点的第二预测概率即可,本公开实施例不作限制。

不确定性图可以指示样本图像的部分或者全部像素点为关键点的第二预测概率的置信度。比如,不确定性图中各像素点的像素值用于表示样本图像在对应像素位置的像素点对应的第二预测概率的置信度,或者与所述置信度有关的数值,比如置信度的倒数,只要基于不确定性图可以确定样本图像中的像素点的第二预测概率的置信度即可,本公开实施例不作限制。第二预测概率图和不确定性图的尺寸可以和样本图像一致,也可以不一致。

在一些实施例中,如图4所示,神经网络可以包括第一子网络、第二子网络和第三子网络,其中,第一子网络用于对样本图像进行特征提取,得到样本图像对应的特征图,第二子网络用于根据提取的特征图确定样本图像对应的第二预测概率图,第三子网络用于根据提取的特征图确定样本图像中对应的不确定性图。在一些实施例中,第二子网络和第三子网络可以采用相同的网络结构,和/或不同网络参数,第二子网络和第三子网络可以共用第一子网络提取的特征图,然后根据特征图分别确定第二预测概率图以及不确定性图。

举个例子,在一些实施例中,神经网络可以采用VGG-16卷积神经网络,卷积神经网络的前13层可以作为第一子网络,用于对样本图像进行特征提取,得到特征图。在第一子网络之后可以包括两个网络分支,即第二子网络和第三子网络,第二子网络和第三子网络可以采用同样的网络结构,例如,第二子网络和第三子网络可以采用3层卷积神经网(比如,可以采用空洞卷积,卷积核大小为3×3,空洞率为2)络对第一子网络输出的特征图进一步进行特征提取。由于第二子网络输出的第二预测概率图可以表示样本图像中每个像素点为关键点的第二预测概率,第三子网络输出的不确定性图可以表示样本图像中每个像素点的第二预测概率的置信度,因而,两者输出的图像尺寸需和原图一致。因此,还可以采用三个转置卷积将特征图变换为原图大小,然后使用1×1卷积将特征的通道数转化为1,从而输出的第二预测概率图可以表示各像素点对应的概率,以及输出不确定性图可以表示各像素点对应的置信度。当然,在一些实施例中,第二子网络和第三子网络也可以采用不同的网络结构,具体可以根据实际需求设置。

在步骤306中,在确定样本图像的第二预测概率图和不确定性图后,可以基于样本图像的标注信息、该第二预测概率图和该不确定性图构建目标损失,以根据目标损失调整神经网络的参数。在一些实施例中,在获取到神经网络输出的第二预测概率图以及不确定性图后,可以先根据不确定性图中指示的置信度从样本图像中选取出一部分像素点,比如,选取出置信度大于一定阈值的像素点,然后基于第二预测概率图确定选取出来的像素点的第二预测概率,基于选取出来的像素点的第二预测概率和标注信息构建目标损失。通过选出置信度较高的像素点,再根据这些置信度较高的像素点的预测结果与标注结果的偏差对神经网络进行训练,可以提升训练的神经网络的准确性。

在一些实施例中,在根据样本图像的标注信息、第二预测概率图和不确定性图构建目标损时,可以先通过不确定性图指示的置信度对第二预测概率图中的第二预测概率进行修正,然后采用修正后的第二预测概率和标注信息确定目标损失,或者可以通过第二预测概率图和标注信息确定初始的损失,然后再采用不确定性图指示的置信度对初始的损失进行修正,得到目标损失。

在一些实施例中,可以先根据样本图像中的像素点的标注信息以及神经网络输出的样本图像的第二预测概率图确定样本图像中的各像素点对应的第一交叉熵损失,然后再根据不确定性图中指示的置信度对第一交叉熵损失进行修正,以得到目标损失。当然,在一些实施例中,也可以采用除交叉熵损失以外的其他类型的损失表征神经网络的训练过程中的损失,本公开实施例不作限制。

在一些实施例中,在根据不确定性图和第一交叉损失确定目标损失时,可以基于不确定性图指示的置信度对样本图像中的各像素点对应的第一交叉熵损失进行加权平均处理,得到各像素点对应的第二交叉熵损失,比如,可以根据每个像素点对应的置信度确定各像素点的加权系数,然后利用该加权系数对第一交叉损失进行加权处理,得到第二交叉熵损失。然后可以根据不确定性图中指示的各像素点对应的置信度确定各像素点的正则化项,其中,正则化项可以通过对各像素点对应的置信度的倒数取对数得到,当然,也可以通过其他方式计算得到,本公开实施例不作限制。在确定样本图像中各像素点的第二交叉熵损失和正则化项后,可以将样本图像中的各像素点的第二交叉熵损失和正则化项求和,再对样本图像中的像素点取平均,得到目标损失。

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

在神经网络的训练过程中,确定的目标损失不仅考虑了神经网络输出的结果与标注的真实结果的差异,还考虑了神经网络输出的结果的置信度,基于置信度对神经网络输出结果和真实结果的差异进行修正,确定目标损失,以对神经网络的参数进行优化,可以减小用户标注结果的误差对神经网络的影响,提升训练的神经网络的准确性。在步骤206中,在通过神经网络预测到目标图像对应的第一预测概率图后,可以根据预测得到的第一预测概率图确定关键点在目标图像中的位置,从而确定目标对象在目标图像中位置。比如,在一些实施例中,可以直接将第一预测概率高于预设阈值的像素点作为关键点。

但是,在某些应用场景中,针对一个目标对象仅需确定一个关键点,因而,针对目标图像中每个目标对象对应的像素点,其存在一个第一预测概率最大的峰值像素点,这个峰值像素点比较可能就是关键点。因此,可以先确定样本图像中第一预测概率大于邻近像素点的目标像素点,即峰值像素点,然后比较目标像素点的第一预测概率是否大于预设阈值,如果是,则将目标像素点确定为关键点。比如,以人头中心点定位的场景为例,一般针对一个人头只会确定出一个人头中心点,可以先从目标图像中确定各个邻域内的第一预测概率为峰值的峰值像素点,然后再判定峰值像素点的第一预测概率是否大于预设阈值,如果大于,则确定为人头中心点。当然,邻域的大小可以根据实际情况去设置,比如,可以针对邻近的8个像素点,或者10个像素点。

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

举个例子,针对神经网络输出的目标图像对应的第一预测概率图,可以先采用一定尺寸和步长的卷积核(比如尺寸为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、在确定样本图像对应的真实定位图后,可以将样本图像输入至预先设置的卷积神经网络,其中,卷积神经网络可以采用在ImageNet上预训练的VGG-16网络,可以采用VGG-16网络的前13层提取样本图像的特征,得到512个通道、尺寸为原图1/8大小的特征图,然后将提取的特征图输入VGG-16网络的两个分支网络,其中一个分支网络用于确定样本图像中各像素点为人头中心的概率,并输出指示样本图像中各像素点为人头中心点的概率的第二预测概率图,其中,第二预测概率图中各像素点的像素值表示样本图像中对应像素位置上的像素点为人头中心的概率。另一个分支网络用于确定样本图像中各像素点为人头中心点的概率的置信度,并输出指示样本图像中各像素点为人头中心点的概率的置信度的不确定性图,其中,不确定性图中各像素点的像素值表示样本图像中对应像素位置上的像素点为人头中心的概率的置信度的倒数。其中,两个分支网络的网络结构相同,但不共享网络参数。两个网络分支的结构如下:首先使用三层卷积神经网络(卷积核大小为3,空洞率为2)对特征图进行进一步的特征提取,然后使用三个转置卷积(卷积核尺寸为4,步长为2)将特征图变换为原图大小,最后使用1×1卷积将特征图的通道数转化为1,得到第二预测概率图和不确定性图σ,(其中,第二预测概率图和不确定性图σ的高和宽分别为H,W)。

3、在通过卷积神经网络输出第二预测概率图为以及不确定性图σ∈RH×W后,可以根据第二预测概率图为和不确定性图为Y(x)确定每个像素点的交叉熵损失函数LB∈RH×W,具体可以通过公式(4)计算:

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

然后可以基于不确定性图σ∈RH×W对交叉熵损失进行像素级别加权,并加入不确定性对数正则,然后对整幅图像取均值,得到样本图像I的定位损失L(I),具体可以采用公式(5)计算

4、在确定损失函数后,可以使用梯度下降法对卷积神经网络的网络参数进行优化,假设第i次迭代训练时网络参数为θi,则通过公式(6)计算得到第i+1次迭代训练时的网络参数θi+1

其中α为学习率,可以设置为0.0001。

不断重复以上步骤直至网络参数收敛,即可以训练得到卷积神经网络。

在训练得到卷积神经网络后,可以采用训练的卷积神经网络预测待检测图像中的人头中心点的位置。具体的步骤如下:

可以将待检测图像输入至训练好的卷积神经网络,卷积神经网络输出第一预测概率图,第一概率图可以指示待检测图像中各像素点为关键点的第一预测概率,然后可以基于第一预测概率图确定人头中心点的位置。

比如可以对预测得到的第一预测概率图进行核尺寸为3、步长为1的平均池化以抑制噪声,然后对平均池化后的概率图进行核尺寸为3、步长为1的最大池化操作,得到最大池化图;然后可以比较平均池化图和最大池化图,取两张图中概率一致的像素点作为峰值像素点,然后将峰值像素点的概率与预设阈值比较,如果大于预设阈值则将该峰值像素点确定为人头中心点,即记为1,否则记为0,从而得到最终的人头中心点定位图。

通过采用标注有人头中心的位置的样本图像训练神经网络,以预测图像中的人头中心位置,比以往基于目标检测的算法计算速度更快,标注成本更低。并且在训练神经网络时,考虑人头中心标注的不确定性,通过对人头中心的标注误差进行建模,在神经网络训练过程中会自动捕获样本图像中标注的人头中心点存在的不确定性,并基于这种不确定性输出神经网络预测结果的置信度,基于置信度确定损失,以训练神经网络,最终可以得到得预测结果概率高而且置信度也高的网络参数,从而提升训练的神经网络的准确性得到鲁棒的定位结果,降低误检率和漏检率。

相应地,本公开实施例还提供了一种目标对象的定位装置,如图6所示,所述装置包括:

获取模块61,用于获取待检测的目标图像;

预测模块62,用于根据预先训练的神经网络确定所述目标图像对应的第一预测概率图,所述第一预测概率图用于指示所述目标图像的像素点为目标对象的关键点的第一预测概率;所述神经网络基于样本图像对应的第二预测概率图、所述样本图像对应的不确定性图、以及所述样本图像的标注信息构建的目标损失训练得到,其中,所述第二预测概率图用于指示所述样本图像的像素点为所述关键点的第二预测概率,所述不确定性图用于指示所述第二预测概率的置信度,所述标注信息用于指示所述样本图像中的像素点是否为所述关键点,所述关键点用于定位所述目标对象;

定位模块63,用于基于所述第一预测概率图确定所述目标对象在所述目标图像中的位置。

在一些实施例中,所述第二预测概率图以及所述不确定图基于以下方式确定:

对所述样本图像进行特征提取,得到特征图;

根据所述特征图确定所述第二预测概率图以及所述不确定性图。

在一些实施例中,对所述样本图像进行特征提取,得到特征图,具体包括:

通过所述神经网络的第一子网络对所述样本图像进行特征提取,得到所述特征图;

根据所述特征图确定所述第二预测概率图以及所述不确定性图,包括:

通过所述神经网络的第二子网络以及所述特征图确定所述第二预测概率图;

通过所述神经网络的第三子网络以及所述特征图确定所述不确定图。

在一些实施例中,根据所述第二预测概率图、所述不确定图以及所述样本图像的标注信息构建目标损失,具体包括:

基于所述标注信息以及所述第二预测概率图中指示的所述第二预测概率确定所述样本图像中的各像素点对应的第一交叉熵损失;

基于所述不确定性图和所述第一交叉熵损失确定所述目标损失。

在一些实施例中,基于所述不确定性图和所述第一交叉熵损失确定所述目标损失,具体包括:

基于所述不确定性图中指示的所述置信度确定所述样本图像中的各像素点对应的正则化项,其中,所述正则化项基于所述置信度的倒数确定;

基于所述不确定性图中指示的所述置信度对所述第一交叉熵损失进行加权处理,得到所述样本图像中的各像素点对应的第二交叉熵损失;

将所述样本图像中的各像素点对应的所述正则化项与所述第二交叉熵损失求和后对所述样本图像中的像素点取平均,得到所述目标损失。

在一些实施例中,所述标注信息基于以下方式确定:

确定所述样本图像中经标注的第一像素点;

将所述第一像素点和所述第一像素点的至少一个邻近像素点标注为所述关键点,以得到所述标注信息。

在一些实施例中,所述定位模块用于基于所述第一预测概率图确定所述目标对象在所述目标图像中的位置时,具体用于:

基于所述第一预测概率图在所述目标图像中确定目标像素点,所述目标像素点的所述第一预测概率大于所述目标像素点的邻近像素点的所述第一预测概率;

当所述目标像素点对应的所述第一预测概率大于预设阈值,则将所述目标像素点确定为所述关键点;

基于所述关键点的位置确定所述目标对象在所述目标图像中的位置。

在一些实施例中,所述定位模块用于基于所述第一预测概率图在所述目标图像中确定目标像素点时,具体用于:

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

对所述第一预测概率图依次进行均值池化处理和最大池化处理,得到第四预测概率图;

将所述第三预测概率图和所述第四预测概率图中概率相同的像素点确定为所述目标像素点。

进一步地,本申请公开实施例还提供一种电子设备,如图7所示,所述电子设备包括处理器71、存储器72、存储于所述存储器72可供所述处理器71执行的计算机程序,所述处理器71执行所述计算机程序时实现上述任一项实施例中的目标对象的定位方法。本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任一实施例所述上述任一项实施例中的目标对象的定位方法。

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

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

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

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

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

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种汽车鸟瞰全景图生成方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!