CN110751226A - 人群计数模型的训练方法、装置和存储介质 - Google Patents
人群计数模型的训练方法、装置和存储介质 Download PDFInfo
- Publication number
- CN110751226A CN110751226A CN201911029693.6A CN201911029693A CN110751226A CN 110751226 A CN110751226 A CN 110751226A CN 201911029693 A CN201911029693 A CN 201911029693A CN 110751226 A CN110751226 A CN 110751226A
- Authority
- CN
- China
- Prior art keywords
- counting
- loss value
- crowd
- model
- population
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000010586 diagram Methods 0.000 claims description 31
- 238000004364 calculation method Methods 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 13
- 238000002372 labelling Methods 0.000 claims description 6
- 238000011176 pooling Methods 0.000 description 14
- 238000003062 neural network model Methods 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
- G06V20/53—Recognition of crowd images, e.g. recognition of crowd congestion
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种人群计数模型的训练方法、装置和存储介质,获取训练样本后,用当前的人群计数模型计算各训练样本的估计人群计数密度图和估计密集度,判断目标损失值是否满足收敛条件;目标损失值包括计数损失值和分类损失值,计数损失值根据训练样本的真实人群计数密度图和估计人群计数密度图确定,分类损失值根据训练样本的估计密集度和真实密集度标签确定,若不满足收敛条件,更新模型参数,执行下一次迭代;若满足收敛条件,输出当前的人群计数模型。本方案通过引入与人群密集程度相关的分类损失值,使输出的人群计数模型能够适应多种不同人群密集程度的图像,因此本方案输出的人群计数模型相对于现有技术具有更好的鲁棒性和精确度。
Description
技术领域
本发明涉及图像处理技术领域,特别涉及一种人群计数模型的训练方法、装置和存储介质。
背景技术
人群计数,是指,利用摄像设备拍摄人群,然后基于图像识别等技术从显示有人群的图像(可以是照片或者视频中的图像帧)中识别出图像中的总人数的。人群计数这一技术广泛应用于诸如公众集会和体育赛事等参与人数较多的场景中,以实时监控人群密度,避免出现拥挤、踩踏等事件。
现有的人群计数方法,一般利用一个训练好的人群计数模型处理原始图像,得到人群计数密度图,然后将人群计数密度图中各个像素点的像素值求和,得到的结果就是原始图像中的人数。
然而,现有的训练人群计数模型的方法中并未考虑不同的人群密集程度对人群计数模型的识别精度的影响,训练得到的人群计数模型一般只在特定的人群密集程度范围内具有较高的识别精度,若人群密集程度小于或大于该范围,基于现有的训练方法训练得到的人群计数模型的识别精度将显著降低。
发明内容
基于上述现有技术的缺点,本发明提供一种人群计数模型的训练方法、装置和存储介质,以解决现有的训练方法训练得到的人群计数模型适用范围较小的问题。
本发明第一方面提供一种人群计数模型的训练方法,包括:
获取多个训练样本;其中,每个所述训练样本,均包括原始图像,所述原始图像对应的真实人群计数密度图,以及根据所述原始图像中人群的密集程度确定的真实密集度标签;
利用当前的人群计数模型计算每一个训练样本的原始图像,得到每一个训练样本的估计人群计数密度图,以及得到每一个训练样本的估计密集度;
判断根据当前的人群计数模型的计数损失值和分类损失值计算得到的所述当前的人群计数模型的目标损失值是否满足收敛条件;其中,所述计数损失值根据每一个训练样本的真实人群计数密度图和估计人群计数密度图计算得到,所述分类损失值根据每一个训练样本的估计密集度和真实密集度标签计算得到;
若所述目标损失值不满足所述收敛条件,基于所述目标损失值更新所述人群计数模型的参数,返回执行所述利用当前的人群计数模型计算每一个所述训练样本的原始图像;
若所述目标损失值满足所述收敛条件,输出所述当前的人群计数模型。
可选的,所述获取多个训练样本,包括:
获取多个初始样本;其中,每一个所述初始样本均包括原始图像,以及预先对所述原始图像中的人物位置进行标注得到的人群位置分布图像;
利用高斯滤波器计算每一个初始样本的原始图像和人群位置分布图像,得到所述初始样本的真实人群计数密度图;
针对每一个初始样本,根据所述初始样本的人群位置分布图中每两个人物位置之间的距离,计算得到所述初始样本的真实密集度;
利用聚类算法对每一个所述初始样本的真实密集度进行分类,从而确定每一个所述初始样本的真实密集度标签;
其中,每一个初始样本的原始图像,真实人群计数密度图以及真实密集度标签,组合为所述初始样本对应的训练样本。
可选的,所述根据所述初始样本的人群位置分布图中每两个人物位置之间的距离,计算得到所述初始样本的真实密集度,包括:
针对所述人群位置分布图中标注的每一个人物位置,根据所述人物位置与其他人物位置的距离,从近到远地选取与所述人物位置相邻的N个人物位置作为所述人物位置的近邻;
针对所述人群位置分布图中标注的每一个人物位置,根据所述人物位置和所述人物位置的N个近邻之间的距离,计算得到所述人物位置的密集度指标;
根据所述人群位置分布图中每一个人物位置的密集度指标,计算得到所述初始样本的真实密集度。
可选的,所述根据每一个训练样本的真实人群计数密度图和估计人群计数密度图计算得到当前的人群计数模型的计数损失值的过程,包括:
针对每一个训练样本,计算所述训练样本的估计人群计数密度图每个元素,与真实人群计数密度图中同一位置的元素的差值,得到所述训练样本的人群计数误差矩阵;
计算每一个训练样本的人群计数误差矩阵,得到所述训练样本的计数误差;
计算所有训练样本的计数误差的平均值,得到所述当前的人群计数模型的计数损失值。
可选的,所述判断根据当前的人群计数模型的计数损失值和分类损失值计算得到的所述当前的人群计数模型的目标损失值是否满足收敛条件,包括:
根据当前的人群计数模型的计数损失值和分类损失值计算得到所述当前的人群计数模型的目标损失值;
计算当前的人群计数模型的目标损失值与前一次迭代的人群计数模型的目标损失值的差值;
判断所述差值的绝对值是否小于预设的阈值;
若所述差值的绝对值小于预设的阈值,则判断出所述当前的人群计数模型的目标损失值满足收敛条件;
若所述差值的绝对值大于或等于所述阈值,则判断出所述当前的人群计数模型的目标损失值不满足所述收敛条件。
本发明第二方面提供一种人群计数模型的训练装置,包括:
获取单元,用于获取多个训练样本;其中,每个所述训练样本,均包括原始图像,所述原始图像对应的真实人群计数密度,以及根据所述原始图像中人群的密集程度确定的真实密集度标签;
计算单元,用于利用当前的人群计数模型计算每一个训练样本的原始图像,得到每一个训练样本的估计人群计数密度图,以及得到每一个训练样本的估计密集度;
判断单元,用于判断根据当前的人群计数模型的计数损失值和分类损失值计算得到的所述当前的人群计数模型的目标损失值是否满足收敛条件;其中,所述计数损失值根据每一个训练样本的真实人群计数密度图和估计人群计数密度图计算得到,所述分类损失值根据每一个训练样本的估计密集度和真实密集度标签计算得到;
更新单元,用于若所述目标损失值不满足所述收敛条件,基于所述目标损失值更新所述人群计数模型的参数,触发所述计算单元执行所述利用当前的人群计数模型计算每一个所述训练样本的原始图像;
输出单元,用于若所述目标损失值满足所述收敛条件,输出所述当前的人群计数模型。
可选的,所述获取单元,包括:
获取子单元,用于获取多个初始样本;其中,每一个所述初始样本均包括原始图像,以及预先对所述原始图像中的人物位置进行标注得到的人群位置分布图像;
密度图计算单元,用于利用高斯滤波器计算每一个初始样本的原始图像和人群位置分布图像,得到所述初始样本的真实人群计数密度图;
密集度计算单元,用于针对每一个初始样本,根据所述初始样本的人群位置分布图中每两个人物位置之间的距离,计算得到所述初始样本的真实密集度;
分类单元,用于利用聚类算法对每一个所述初始样本的真实密集度进行分类,从而确定每一个所述初始样本的密集度标签;
其中,每一个初始样本的原始图像,真实人群计数密度图以及真实密集度标签,组合为所述初始样本对应的训练样本。
可选的,所述密集度计算单元根据所述初始样本的人群位置分布图中每两个人物位置之间的距离,计算得到所述初始样本的真实密集度时,具体用于:
针对所述人群位置分布图中标注的每一个人物位置,根据所述人物位置与其他人物位置的距离,从近到远地选取与所述人物位置相邻的N个人物位置作为所述人物位置的近邻;
针对所述人群位置分布图中标注的每一个人物位置,根据所述人物位置和所述人物位置的N个近邻之间的距离,计算得到所述人物位置的密集度指标;
根据所述人群位置分布图中每一个人物位置的密集度指标,计算得到所述初始样本的真实密集度。
可选的,所述判断单元,包括:
损失值计算单元,根据当前的人群计数模型的计数损失值和分类损失值计算得到所述当前的人群计数模型的目标损失值;
差值计算单元,计算当前的人群计数模型的目标损失值与前一次迭代的人群计数模型的目标损失值的差值;
子判断单元,用于判断所述差值的绝对值是否小于预设的阈值;
若所述差值的绝对值小于预设的阈值,则判断出所述当前的人群计数模型的目标损失值满足收敛条件;
若所述差值的绝对值大于或等于所述阈值,则判断出所述当前的人群计数模型的目标损失值不满足所述收敛条件。
本发明第三方面提供一种存储介质,用于存储程序,所述程序被执行时,用于实现如本发明第一方面任意一项提供的人群计数模型的训练方法。
本申请提供一种人群计数模型的训练方法、装置和存储介质,获取训练样本后,用当前的人群计数模型计算各训练样本的估计人群计数密度图和估计密集度,判断目标损失值是否满足收敛条件;目标损失值包括计数损失值和分类损失值,计数损失值根据训练样本的真实人群计数密度图和估计人群计数密度图确定,分类损失值根据训练样本的估计密集度和真实密集度标签确定,若不满足收敛条件,更新模型参数,执行下一次迭代;若满足收敛条件,输出当前的人群计数模型。本方案通过引入与人群密集程度相关的分类损失值,使输出的人群计数模型能够适应多种不同人群密集程度的图像,因此本方案输出的人群计数模型相对于现有技术具有更好的鲁棒性和精确度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种人群计数模型的训练方法的流程图;
图2为本发明实施例提供的一种获取人群计数模型的训练样本的方法的流程图;
图3为本发明实施例提供的一种人群计数模型的架构示意图;
图4为本发明实施例提供的一种人群计数模型的训练装置的结构示意图;
图5为本发明实施例提供的一种基于人群计数模型的人群计数装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供一种人群计数模型的训练方法,请参考图1,该方法包括以下步骤:
S101、获取多个训练样本。
每个训练样本,均包括原始图像,原始图像对应的真实人群计数密度图,以及根据原始图像中人群的密集程度确定的真实密集度标签。
在一个训练样本中,原始图像是一个显示有密集人群的图像,例如,通过拍摄公众集会,体育赛事或火车站候车室等场景得到的照片,就可以作为训练样本中的原始图像。
具体的,获取多个训练样本(或者说,获取训练样本集)的方法可以包括如图2所示的步骤:
S201、获取初始样本集。
初始样本集包括多个初始样本。
其中,初始样本包括原始图像和人群位置分布图像。
人群位置分布图像是通过对原始图像显示的密集人群中个体的位置进行人为标注得到的图像。本申请中的个体指代人,一个个体就是一个人。
具体的,技术人员可以通过在计算机上对原始图像中所有个体的头部进行点击,每点击一次,计算机就将点击的位置确定为被点击的个体的位置,完成对所有个体的点击后,就可以得到这个原始图像对应的人群位置分布图。
S202、利用高斯滤波器计算每一个初始样本的原始图像和人群位置分布图像,得到每一个初始样本的真实人群计数密度图。
真实人群计数密度图,可以认为是一个矩阵,矩阵的尺寸与原始图像的尺寸一致,对这个矩阵中的所有元素求和,得到的结果就是原始图像中的人数。
S203、对于每一个初始样本,根据该初始样本的人群位置分布图中每两个人物位置之间的距离,计算得到该初始样本的真实密集度。
初始样本的真实密集度,可以根据下述公式(1)计算得到:
公式(1)中,I就是需要计算的初始样本的密集度,P是初始样本的原始图像中的总人数,K是根据初始样本集预先设定的近邻数量,dpj表示原始图像中的任意个体p,与该个体的第j个近邻之间的距离。
确定个体p的近邻的方法是,对于人群位置分布图中标注出来的任意一个个体p,查找该个体周围K个与其距离最近的个体,将这些个体确定为个体p的近邻。
公式(1)的意思可以理解为:
针对人群位置分布图中标注的每一个体p,计算p与其K个近邻的距离的和,得到的结果可以记为个体p的密集度指标,然后计算人群位置分布图中所有个体的密集度指标的算数平均值,得到的结果就是这个初始样本的真实密集度。
步骤S203中所述的两个个体之间的距离,可以是欧氏距离,即:
对于任意两个个体A和B,假设个体A在人群位置分布图中标注出来的坐标是(xA,yA),个体B在人群位置分布图中标注出来的坐标是(xB,yB),则这两个个体之间的距离dAB根据如下公式计算:
S204、利用聚类算法对初始样本集中的各初始样本的真实密集度进行分类,从而确定每一个初始样本的真实密集度标签。
可选的,步骤S204中的聚类算法可以是K均值聚类算法(即,K-means算法)。
一般的,真实密集度标签可以用正整数表示。使用聚类算法时,首先需要指定一个预设的类别数量C,然后利用聚类算法处理初始样本集中所有初始样本的真实密集度,就可以将初始样本集中的所有初始样本分为C个类别,各个类别的标签分别用数字表示,也就是说,这些类别可以依次记为:1,2,3……C。完成分类后,任意一个初始样本i的真实密集度标签,就是这个初始样本所述的类别的标签。例如,若一个初始样本i属于类别4,那么这个初始样本i的真实密集度标签(不妨记为yi)就是4。
其中,对于每一个初始样本,这个初始样本的原始图像,真实人群计数密度图以及真实密集度标签,组合为这个初始样本对应的训练样本。
S102、利用当前的人群计数模型计算每一个训练样本的原始图像,得到每一个训练样本的估计人群计数密度图,以及得到每一个训练样本的估计密集度。
具体的,若在一次训练过程中,步骤S102是第一次执行,那么上述人群计数模型就是预先给定的初始神经网络模型,若步骤S102不是第一次执行,那么上述当前的人群计数模型,通过步骤S104更新了参数之后的人群计数模型。
本申请的一个可选的实施例中,步骤S102所述的人群计数模型,可以是具有如图3所示的架构的神经网络模型,请参考图3:
本申请提供的可选的人群计数模型,包括一个现有的多尺度自适应神经网络(scale-adaptive convolutionalneural network,SaCNN),以及在SaCNN的基础上,为了实现基于人群的密集程度对模型进行训练而设置的,密集度分类器。
如图3所示,本申请提供的人群计数模型中,SaCNN模型包括9个卷积层,依次记为Conv1,Conv2,Conv3,……Conv8,Conv9,以及一个反卷积层DeConv,反卷积层设置于Conv6和Conv7之间,其中,第一卷积层Conv1到第四卷积层Conv4以VGG16网络框架为主干。SaCNN模型中,Conv1和Conv2之间,Conv2和Conv3之间,Conv3和Conv4之间,Conv4和Conv5之间,Conv5和Conv6之间,均设置有池化层。
图3中,卷积层和反卷积层上方的数字表示这个卷积层或反卷积层的卷积核的尺寸和数量,例如,对于Conv1,对应的数字为3×3@64,表示,第一个卷积层Conv1包括64个卷积核,每个卷积核的尺寸为3×3。其他的卷积层和反卷积层以此类推。
其中,Conv5和Conv6之间的池化层,是一个池化窗口的尺寸为3×3,步长为1的池化层,除了Conv5和Conv6之间的池化层之外,如图所示,SaCNN模型中的其他的池化层均设置为,池化窗口的尺寸为2×2,步长为2的池化层。图3中,MP2×2表示,对应的池化层是一个,池化窗口尺寸为2×2,并且采用最大池化(maxpooling)的池化层,S2表示这个池化层的步长为2。
SaCNN模型采用线性整流函数(Rectified Linear Unit,ReLU)作为激活函数。
SaCNN模型处理输入图像的过程是:原始图像被输入SaCNN模型后,逐个经过上述卷积层,每经过一个卷积层,该卷积层利用自身的参数对输入特征图进行卷积运算,得到输出特征图,如图3所示的多个卷积层串联的SaCNN模型中,前一个卷积层的输出特征图经过两个卷积层之间的池化层池化后,将作为后一个卷积层的输入特征图。
进一步的,Conv5的输出特征图和Conv6的输出特征图会在通道数上串联起来,串联后特征图会经过反卷积层DeConv,DeConv会对输入的特征图进行上采样处理,DeConv输出的上采样后的特征图,又会和第四卷积层Conv4输出的特征图在通道数上串联起来,最后,Conv4输出的特征图与DeConv输出的上采样后的特征图串联得到的新的特征图,会作为Conv7的输入特征图。SaCNN模型中的Conv9会将自身的输入特征图映射为输入图像对应的估计人群计数密度图。
综上所述,要计算一个训练样本对应的估计人群计数密度图,只需要将这个训练样本的原始图像输入至本申请实施例提供的人群计数模型,人群计数模型就会利用SaCNN模型,基于上述处理过程对这个原始图像进行计算,得到这个训练样本对应的估计人群计数密度图。
结合图3,本申请实施例提供的人群计数模型在SaCNN模型的基础上增设了密集度分类器,密集度分类器包括依次串联的空间金字塔池化(Spatial Pyramid Pooling,SPP)模块,第一全连接层FC1,第二全连接层FC2和第三全连接层FC3。密集度分类器用于根据Conv4的输出特征图计算得到训练样本的估计密集度。
具体的,任意一个训练样本i的原始图像输入SaCNN模型依次经过Conv1至Conv4的处理后,Conv4的输出特征图会传递至密集度分类器,然后密集度分类就可以利用自身的SPP模块和三个全连接层计算Conv4的输出特征图,得到训练样本i的估计密集度。
需要说明的是,密集度分类器输出的一个训练样本的估计密集度,是一个包括C个分量的向量,C就是前文中对初始样本进行分类时确定的类别数量。
例如,前文中将初始样本划分为5个类别,那么步骤S102中密集度分类器输出的就是一个包括5个分量的向量,每个分量的数值,表示这个训练样本属于对应的类别的概率。
需要说明的是,如图3所示的人群计数模型的架构,仅仅是本申请提供的训练方法中的一种可选的模型架构,本申请提供的训练方法可以适用的人群计数模型,可以采用包括但不限于图3所示的模型架构在内的多种模型架构。
具体的,除了图3所示的SaCNN模型之外,本申请提供的人群计数模型还可以用其他的现有的神经网络模型,与本申请提供的密集度分类器组合得到,具体的组合方式可以根据选用的神经网络模型决定。
S103、计算当前的人群计数模型的目标损失值。
当前的人群计数模型的目标损失值L可以根据如下公式计算得到:
L=k×Lc+Ld
其中,k是一个预设的折衷因子,一般可以取k等于0.0001。
Lc表示根据训练样本集中的所有训练样本的真实密集度标签和估计密集度计算得到的分类损失值,Ld表示根据训练样本集中的所有训练样本的真实人群计数密度图和估计人群计数密度图计算得到的计数损失值。
具体的,分类损失值可以根据下述公式计算得到:
其中,N是训练样本集中训练样本的数量。Xi,j表示训练样本i的真实密集度标签yi是否等于类别j,若训练样本i的真实密集度标签yi等于类别j,那么Xi,j等于1,若训练样本i的真实密集度标签yi不等于类别j,那么Xi,j等于0。
Fi,j根据密集度分类器输出的训练样本i的估计密集度确定,具体的,Fi,j表示密集度分类计算得到的训练样本i的估计密集度中,训练样本i属于类别j的概率。
计数损失值可以根据下述公式计算得到:
其中,Fd,i表示训练样本i的原始图像经过当前的人群计数模型处理后得到的估计人群计数密度图,Di表示前述步骤S101中计算得到的原始图像对应的真实人群计数密度图。
需要说明的是,人群计数模型的输出的,训练样本的估计人群计数密度图也是一个矩阵,将这个矩阵中的所有元素求和得到的就是利用人群计数模型估计的原始图像中的人数。
人群计数模型的训练过程,就是通过反复的迭代,不断更新人群计数模型的参数,使得每次迭代得到的人群计数模型对训练样本估计得到的人数尽可能的接近原始图像中的真实人数。
而对于一个训练样本,由于其真实人群计数密度图中所有元素的和就等于这个训练样本的真实人数,所以,人群计数模型输出的估计人群计数密度图与训练样本的真实人群计数密度图越相似,最后估计得到的人数就越接近原始图像中的真实人数。
上述计算计数损失值的公式,就相当于,计算当前的人群计数模型输出的每个训练样本的估计人群计数密度图和真实人群计数密度图之间的相似度,然后计算训练样本集中的所有训练样本的相似度的算数平均值,就可以得到当前的计数损失值。
训练样本i的估计人群计数密度图和真实人群计数密度图的相似度,就是前述公式中被求和的部分,即:
||Fd,i-Di||2
上述计算相似度的公式的意思是:针对训练样本i,将利用当前的人群计数模型处理得到的训练样本i的估计人群计数密度图中的每个元素,减去训练样本i的真实人群计数密度图中的同一位置的元素,得到训练样本i的人群计数误差矩阵,然后计算这个人群计数误差矩阵中所有元素的平方和,再对所有元素的平方和开平方,就得到训练样本i的估计人群计数密度图和真实人群计数密度图的相似度。
S104、判断目标损失值是否满足收敛条件。
若不满足收敛条件,执行步骤S105,若满足收敛条件,执行步骤S106。
可选的,步骤S104中所述的收敛条件,可以是目标损失值达到最小值。也就是说,若步骤S104中判断出目标损失值达到最小值,则判断出满足收敛条件,执行步骤S106,若目标损失值未达到收敛条件则判断出不满足收敛条件,执行步骤S105。
具体的判断目标损失值是否达到最小值的方法是:
计算出当前的人群计数模型的目标损失值后,获取前一次迭代中的人群计数模型的目标损失值,然后计算前一次迭代的人群计数模型的目标损失值与当前的人群计数模型的目标损失值的差值,若这个差值小于预设的阈值,则认为当前的人群计数模型的目标损失值达到最小值,若这个差值大于或等于预设的阈值,则认为当前的人群计数模型的目标损失值未达到最小值。
S105、基于目标损失值更新所述人群计数模型的参数,返回执行步骤S102。
S106、输出当前的人群计数模型。
本申请提供一种人群计数模型的训练方法,获取训练样本后,用当前的人群计数模型计算各训练样本的估计人群计数密度图和估计密集度,判断目标损失值是否满足收敛条件;目标损失值包括计数损失值和分类损失值,计数损失值根据训练样本的真实人群计数密度图和估计人群计数密度图确定,分类损失值根据训练样本的估计密集度和真实密集度标签确定,若不满足收敛条件,更新模型参数,执行下一次迭代;若满足收敛条件,输出当前的人群计数模型。本方案通过引入与人群密集程度相关的分类损失值,使输出的人群计数模型能够适应多种不同人群密集程度的图像,因此本方案输出的人群计数模型相对于现有技术具有更好的鲁棒性和精确度。
本申请任意实施例提供的训练方法训练得到的人群计数模型,可以用于处理任意一个显示有人群的原始图像。例如,对有多名游客的旅游景点拍摄得到一张照片后,可以将这张照片作为原始图像输入利用本申请提供的训练方法训练得到的人群计数模型中,经过处理得到这张照片对应的估计人群计数密度图,然后对这张照片的估计人群计数密度图中所有的元素求和,得到的结果就是这张照片中的人数。
结合本申请任一实施例提供的人群计数模型的训练方法,本申请另一实施例提供一种人群计数模型的训练装置,请参考图4,该装置包括以下结构:
获取单元401,用于获取多个训练样本。
其中,每个所述训练样本,均包括原始图像,所述原始图像对应的真实人群计数密度,以及根据所述原始图像中人群的密集程度确定的真实密集度标签。
计算单元402,用于利用当前的人群计数模型计算每一个训练样本的原始图像,得到每一个训练样本的估计人群计数密度图,以及得到每一个训练样本的估计密集度。
判断单元403,用于判断根据当前的人群计数模型的计数损失值和分类损失值计算得到的所述当前的人群计数模型的目标损失值是否满足收敛条件。
其中,所述计数损失值根据每一个训练样本的真实人群计数密度图和估计人群计数密度图计算得到,所述分类损失值根据每一个训练样本的估计密集度和真实密集度标签计算得到。
更新单元404,用于若所述目标损失值不满足所述收敛条件,基于所述目标损失值更新所述人群计数模型的参数,触发所述计算单元执行所述利用当前的人群计数模型计算每一个所述训练样本的原始图像。
输出单元405,用于若所述目标损失值满足所述收敛条件,输出所述当前的人群计数模型。
可选的,所述获取单元401,包括:
获取子单元,用于获取多个初始样本;其中,每一个所述初始样本均包括原始图像,以及预先对所述原始图像中的人物位置进行标注得到的人群位置分布图像;
密度图计算单元,用于利用高斯滤波器计算每一个初始样本的原始图像和人群位置分布图像,得到所述初始样本的真实人群计数密度图;
密集度计算单元,用于针对每一个初始样本,根据所述初始样本的人群位置分布图中每两个人物位置之间的距离,计算得到所述初始样本的真实密集度;
分类单元,用于利用聚类算法对每一个所述初始样本的真实密集度进行分类,从而确定每一个所述初始样本的密集度标签;
其中,每一个初始样本的原始图像,真实人群计数密度图以及真实密集度标签,组合为所述初始样本对应的训练样本。
可选的,所述密集度计算单元根据所述初始样本的人群位置分布图中每两个人物位置之间的距离,计算得到所述初始样本的真实密集度时,具体用于:
针对所述人群位置分布图中标注的每一个人物位置,根据所述人物位置与其他人物位置的距离,从近到远地选取与所述人物位置相邻的N个人物位置作为所述人物位置的近邻;
针对所述人群位置分布图中标注的每一个人物位置,根据所述人物位置和所述人物位置的N个近邻之间的距离,计算得到所述人物位置的密集度指标;
根据所述人群位置分布图中每一个人物位置的密集度指标,计算得到所述初始样本的真实密集度。
可选的,所述判断单元403,包括:
损失值计算单元,根据当前的人群计数模型的计数损失值和分类损失值计算得到所述当前的人群计数模型的目标损失值;
差值计算单元,计算当前的人群计数模型的目标损失值与前一次迭代的人群计数模型的目标损失值的差值;
子判断单元,用于判断所述差值的绝对值是否小于预设的阈值;
若所述差值的绝对值小于预设的阈值,则判断出所述当前的人群计数模型的目标损失值满足收敛条件;
若所述差值的绝对值大于或等于所述阈值,则判断出所述当前的人群计数模型的目标损失值不满足所述收敛条件。
损失值计算单元计算当前的人群计数模型的目标损失值时,具体用于:
针对每一个训练样本,计算所述训练样本的估计人群计数密度图每个元素,与真实人群计数密度图中同一位置的元素的差值,得到所述训练样本的人群计数误差矩阵;
计算每一个训练样本的人群计数误差矩阵,得到所述训练样本的计数误差;
计算所有训练样本的计数误差的平均值,得到所述当前的人群计数模型的计数损失值。
本申请提供一种人群计数模型的训练装置,获取单元401获取训练样本后,计算单元402用当前的人群计数模型计算各训练样本的估计人群计数密度图和估计密集度,判断单元403判断目标损失值是否满足收敛条件;目标损失值包括计数损失值和分类损失值,计数损失值根据训练样本的真实人群计数密度图和估计人群计数密度图确定,分类损失值根据训练样本的估计密集度和真实密集度标签确定,若不满足收敛条件,更新单元404更新模型参数,并触发计算单元402执行下一次迭代;若满足收敛条件,输出单元405输出当前的人群计数模型。本方案通过引入与人群密集程度相关的分类损失值,使输出的人群计数模型能够适应多种不同人群密集程度的图像,因此本方案输出的人群计数模型相对于现有技术具有更好的鲁棒性和精确度.
结合本申请任一实施例提供的人群计数模型的训练方法,本申请又一实施例提供了一种人群计数装置,请参考图5,该装置包括:
预处理单元501,用于执行如图1所示的实施例的步骤S101所述的对初始样本集进行处理得到训练样本集的方法;
模型训练单元502,用于利用预处理单元501输出的训练样本,执行如图1所示的实施例中步骤S102至步骤S106所述的训练人群计数模型的方法,训练得到一个人群计数模型;
人群计数单元503,用于获取任意一个待计数的原始图像,利用模型训练单元502训练好的人群计数模型处理原始图像,得到对应的估计人群计数密度图,并根据估计人群计数密度图计算出原始图像中的人数。
本申请另一实施例还提供一种存储介质,用于存储程序,所述程序被执行时,用于实现如本申请任意实施例提供的人群计数模型的训练方法。
专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种人群计数模型的训练方法,其特征在于,包括:
获取多个训练样本;其中,每个所述训练样本,均包括原始图像,所述原始图像对应的真实人群计数密度图,以及根据所述原始图像中人群的密集程度确定的真实密集度标签;
利用当前的人群计数模型计算每一个训练样本的原始图像,得到每一个训练样本的估计人群计数密度图,以及得到每一个训练样本的估计密集度;
判断根据当前的人群计数模型的计数损失值和分类损失值计算得到的所述当前的人群计数模型的目标损失值是否满足收敛条件;其中,所述计数损失值根据每一个训练样本的真实人群计数密度图和估计人群计数密度图计算得到,所述分类损失值根据每一个训练样本的估计密集度和真实密集度标签计算得到;
若所述目标损失值不满足所述收敛条件,基于所述目标损失值更新所述人群计数模型的参数,返回执行所述利用当前的人群计数模型计算每一个所述训练样本的原始图像;
若所述目标损失值满足所述收敛条件,输出所述当前的人群计数模型。
2.根据权利要求1所述的训练方法,其特征在于,所述获取多个训练样本,包括:
获取多个初始样本;其中,每一个所述初始样本均包括原始图像,以及预先对所述原始图像中的人物位置进行标注得到的人群位置分布图像;
利用高斯滤波器计算每一个初始样本的原始图像和人群位置分布图像,得到所述初始样本的真实人群计数密度图;
针对每一个初始样本,根据所述初始样本的人群位置分布图中每两个人物位置之间的距离,计算得到所述初始样本的真实密集度;
利用聚类算法对每一个所述初始样本的真实密集度进行分类,从而确定每一个所述初始样本的真实密集度标签;
其中,每一个初始样本的原始图像,真实人群计数密度图以及真实密集度标签,组合为所述初始样本对应的训练样本。
3.根据权利要求2所述的训练方法,其特征在于,所述根据所述初始样本的人群位置分布图中每两个人物位置之间的距离,计算得到所述初始样本的真实密集度,包括:
针对所述人群位置分布图中标注的每一个人物位置,根据所述人物位置与其他人物位置的距离,从近到远地选取与所述人物位置相邻的N个人物位置作为所述人物位置的近邻;
针对所述人群位置分布图中标注的每一个人物位置,根据所述人物位置和所述人物位置的N个近邻之间的距离,计算得到所述人物位置的密集度指标;
根据所述人群位置分布图中每一个人物位置的密集度指标,计算得到所述初始样本的真实密集度。
4.根据权利要求1所述的训练方法,其特征在于,所述根据每一个训练样本的真实人群计数密度图和估计人群计数密度图计算得到当前的人群计数模型的计数损失值的过程,包括:
针对每一个训练样本,计算所述训练样本的估计人群计数密度图每个元素,与真实人群计数密度图中同一位置的元素的差值,得到所述训练样本的人群计数误差矩阵;
计算每一个训练样本的人群计数误差矩阵,得到所述训练样本的计数误差;
计算所有训练样本的计数误差的平均值,得到所述当前的人群计数模型的计数损失值。
5.根据权利要求1所述的训练方法,其特征在于,所述判断根据当前的人群计数模型的计数损失值和分类损失值计算得到的所述当前的人群计数模型的目标损失值是否满足收敛条件,包括:
根据当前的人群计数模型的计数损失值和分类损失值计算得到所述当前的人群计数模型的目标损失值;
计算当前的人群计数模型的目标损失值与前一次迭代的人群计数模型的目标损失值的差值;
判断所述差值的绝对值是否小于预设的阈值;
若所述差值的绝对值小于预设的阈值,则判断出所述当前的人群计数模型的目标损失值满足收敛条件;
若所述差值的绝对值大于或等于所述阈值,则判断出所述当前的人群计数模型的目标损失值不满足所述收敛条件。
6.一种人群计数模型的训练装置,其特征在于,包括:
获取单元,用于获取多个训练样本;其中,每个所述训练样本,均包括原始图像,所述原始图像对应的真实人群计数密度,以及根据所述原始图像中人群的密集程度确定的真实密集度标签;
计算单元,用于利用当前的人群计数模型计算每一个训练样本的原始图像,得到每一个训练样本的估计人群计数密度图,以及得到每一个训练样本的估计密集度;
判断单元,用于判断根据当前的人群计数模型的计数损失值和分类损失值计算得到的所述当前的人群计数模型的目标损失值是否满足收敛条件;其中,所述计数损失值根据每一个训练样本的真实人群计数密度图和估计人群计数密度图计算得到,所述分类损失值根据每一个训练样本的估计密集度和真实密集度标签计算得到;
更新单元,用于若所述目标损失值不满足所述收敛条件,基于所述目标损失值更新所述人群计数模型的参数,触发所述计算单元执行所述利用当前的人群计数模型计算每一个所述训练样本的原始图像;
输出单元,用于若所述目标损失值满足所述收敛条件,输出所述当前的人群计数模型。
7.根据权利要求6所述的训练装置,其特征在于,所述获取单元,包括:
获取子单元,用于获取多个初始样本;其中,每一个所述初始样本均包括原始图像,以及预先对所述原始图像中的人物位置进行标注得到的人群位置分布图像;
密度图计算单元,用于利用高斯滤波器计算每一个初始样本的原始图像和人群位置分布图像,得到所述初始样本的真实人群计数密度图;
密集度计算单元,用于针对每一个初始样本,根据所述初始样本的人群位置分布图中每两个人物位置之间的距离,计算得到所述初始样本的真实密集度;
分类单元,用于利用聚类算法对每一个所述初始样本的真实密集度进行分类,从而确定每一个所述初始样本的密集度标签;
其中,每一个初始样本的原始图像,真实人群计数密度图以及真实密集度标签,组合为所述初始样本对应的训练样本。
8.根据权利要求7所述的训练装置,其特征在于,所述密集度计算单元根据所述初始样本的人群位置分布图中每两个人物位置之间的距离,计算得到所述初始样本的真实密集度时,具体用于:
针对所述人群位置分布图中标注的每一个人物位置,根据所述人物位置与其他人物位置的距离,从近到远地选取与所述人物位置相邻的N个人物位置作为所述人物位置的近邻;
针对所述人群位置分布图中标注的每一个人物位置,根据所述人物位置和所述人物位置的N个近邻之间的距离,计算得到所述人物位置的密集度指标;
根据所述人群位置分布图中每一个人物位置的密集度指标,计算得到所述初始样本的真实密集度。
9.根据权利要求6所述的训练装置,其特征在于,所述判断单元,包括:
损失值计算单元,根据当前的人群计数模型的计数损失值和分类损失值计算得到所述当前的人群计数模型的目标损失值;
差值计算单元,计算当前的人群计数模型的目标损失值与前一次迭代的人群计数模型的目标损失值的差值;
子判断单元,用于判断所述差值的绝对值是否小于预设的阈值;
若所述差值的绝对值小于预设的阈值,则判断出所述当前的人群计数模型的目标损失值满足收敛条件;
若所述差值的绝对值大于或等于所述阈值,则判断出所述当前的人群计数模型的目标损失值不满足所述收敛条件。
10.一种存储介质,其特征在于,用于存储程序,所述程序被执行时,用于实现如权利要求1至5任意一项所述的人群计数模型的训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911029693.6A CN110751226A (zh) | 2019-10-28 | 2019-10-28 | 人群计数模型的训练方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911029693.6A CN110751226A (zh) | 2019-10-28 | 2019-10-28 | 人群计数模型的训练方法、装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110751226A true CN110751226A (zh) | 2020-02-04 |
Family
ID=69280363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911029693.6A Pending CN110751226A (zh) | 2019-10-28 | 2019-10-28 | 人群计数模型的训练方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110751226A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112733729A (zh) * | 2021-01-12 | 2021-04-30 | 北京爱笔科技有限公司 | 模型训练、回归分析的方法、装置、存储介质和设备 |
CN113361603A (zh) * | 2021-06-04 | 2021-09-07 | 北京百度网讯科技有限公司 | 训练方法、类别识别方法、装置、电子设备以及存储介质 |
CN113378608A (zh) * | 2020-03-10 | 2021-09-10 | 顺丰科技有限公司 | 人群计数方法、装置、设备及存储介质 |
CN115022796A (zh) * | 2022-05-11 | 2022-09-06 | 上海应用技术大学 | 基于蓝牙无线通信的人群密集度判断方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107301387A (zh) * | 2017-06-16 | 2017-10-27 | 华南理工大学 | 一种基于深度学习的图像高密度人群计数方法 |
CN107967451A (zh) * | 2017-11-23 | 2018-04-27 | 常州大学 | 一种利用多尺度多任务卷积神经网络对静止图像进行人群计数的方法 |
CN109271960A (zh) * | 2018-10-08 | 2019-01-25 | 燕山大学 | 一种基于卷积神经网络的人数统计方法 |
CN109543695A (zh) * | 2018-10-26 | 2019-03-29 | 复旦大学 | 基于多尺度深度学习的泛密度人群计数方法 |
-
2019
- 2019-10-28 CN CN201911029693.6A patent/CN110751226A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107301387A (zh) * | 2017-06-16 | 2017-10-27 | 华南理工大学 | 一种基于深度学习的图像高密度人群计数方法 |
CN107967451A (zh) * | 2017-11-23 | 2018-04-27 | 常州大学 | 一种利用多尺度多任务卷积神经网络对静止图像进行人群计数的方法 |
CN109271960A (zh) * | 2018-10-08 | 2019-01-25 | 燕山大学 | 一种基于卷积神经网络的人数统计方法 |
CN109543695A (zh) * | 2018-10-26 | 2019-03-29 | 复旦大学 | 基于多尺度深度学习的泛密度人群计数方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113378608A (zh) * | 2020-03-10 | 2021-09-10 | 顺丰科技有限公司 | 人群计数方法、装置、设备及存储介质 |
CN113378608B (zh) * | 2020-03-10 | 2024-04-19 | 顺丰科技有限公司 | 人群计数方法、装置、设备及存储介质 |
CN112733729A (zh) * | 2021-01-12 | 2021-04-30 | 北京爱笔科技有限公司 | 模型训练、回归分析的方法、装置、存储介质和设备 |
CN112733729B (zh) * | 2021-01-12 | 2024-01-09 | 北京爱笔科技有限公司 | 模型训练、回归分析的方法、装置、存储介质和设备 |
CN113361603A (zh) * | 2021-06-04 | 2021-09-07 | 北京百度网讯科技有限公司 | 训练方法、类别识别方法、装置、电子设备以及存储介质 |
CN113361603B (zh) * | 2021-06-04 | 2024-05-10 | 北京百度网讯科技有限公司 | 训练方法、类别识别方法、装置、电子设备以及存储介质 |
CN115022796A (zh) * | 2022-05-11 | 2022-09-06 | 上海应用技术大学 | 基于蓝牙无线通信的人群密集度判断方法及系统 |
CN115022796B (zh) * | 2022-05-11 | 2024-05-17 | 上海应用技术大学 | 基于蓝牙无线通信的人群密集度判断方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113065558B (zh) | 一种结合注意力机制的轻量级小目标检测方法 | |
CN112308092B (zh) | 一种基于多尺度注意力机制的轻量型车牌检测与识别方法 | |
CN111898547B (zh) | 人脸识别模型的训练方法、装置、设备及存储介质 | |
CN110443143B (zh) | 多分支卷积神经网络融合的遥感图像场景分类方法 | |
CN109934115B (zh) | 人脸识别模型的构建方法、人脸识别方法及电子设备 | |
CN110751226A (zh) | 人群计数模型的训练方法、装置和存储介质 | |
CN108960211B (zh) | 一种多目标人体姿态检测方法以及系统 | |
CN106469299B (zh) | 一种车辆搜索方法及装置 | |
CN109684922B (zh) | 一种基于卷积神经网络的多模型对成品菜的识别方法 | |
CN111178120B (zh) | 一种基于作物识别级联技术的害虫图像检测方法 | |
CN110532970B (zh) | 人脸2d图像的年龄性别属性分析方法、系统、设备和介质 | |
TW201601072A (zh) | 動態物件分類 | |
CN112541434B (zh) | 一种基于中心点跟踪模型的人脸识别方法 | |
CN111476314B (zh) | 一种融合光流算法与深度学习的模糊视频检测方法 | |
CN115690542A (zh) | 一种基于改进yolov5的航拍绝缘子定向识别方法 | |
CN111612024A (zh) | 特征提取方法、装置、电子设备及计算机可读存储介质 | |
CN111539351A (zh) | 一种多任务级联的人脸选帧比对方法 | |
CN115115552B (zh) | 图像矫正模型训练及图像矫正方法、装置和计算机设备 | |
CN112084952B (zh) | 一种基于自监督训练的视频点位跟踪方法 | |
CN109815823A (zh) | 数据处理方法及相关产品 | |
WO2022127814A1 (zh) | 一种图像的显著性物体检测方法、装置、设备及存储介质 | |
CN107944437B (zh) | 一种基于神经网络和积分图像的人脸定位方法 | |
CN111444816A (zh) | 一种基于Faster RCNN的多尺度密集行人检测方法 | |
CN110633645A (zh) | 一种基于增强型三流式架构的视频行为检测方法 | |
JP2000099722A (ja) | 人物顔認識装置及び人物顔認識方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200204 |
|
RJ01 | Rejection of invention patent application after publication |