基于结合全局密度特征的MCNN人群计数方法与流程

文档序号:18032406发布日期:2019-06-28 22:49阅读:447来源:国知局
基于结合全局密度特征的MCNN人群计数方法与流程

本发明涉及人群图像处理领域,尤其涉及基于结合全局密度特征的mcnn人群计数方法。



背景技术:

随着社会经济的发展,城市人口规模越来越大,聚集在车站、广场、公园等公共场所的人群数量也越来越多。大规模的人群聚集可能会导致践踏等安全事故发生,为了更好地保证人身安全,对人群计数算法的研究至关重要。

现有的人群计数方法可分为三类:基于目标检测的直接计数法、基于特征回归的间接计数法和基于深度学习的人群计数方法。其中,基于目标检测的直接计数法利用从图像中检测到的行人数量进行计数,这类方法适用于人群数量较少的场景,当人群拥挤时检测效果会受到影响。基于特征回归的间接计数法通过建立图像特征和人群数量之间的回归关系来进行计数,这类方法能够在大规模人群的场景下进行有效计数,但是由于回归对象是人群数量,忽略了行人在图像中的空间信息,导致计数准确率不高。基于深度学习的人群计数方法一般通过训练卷积神经网络,使其能够生成与输入图像对应的人群密度图,通过对人群密度图进行积分得到人群数量,这类方法能够有效反映行人的位置信息,得到较高的计数准确率。但是现有的基于深度学习的人群计数方法没有充分考虑到人群图像中全局密度变化,并且卷积神经网络中一般带有池化层,在池化层的下采样过程中会损失细节特征。



技术实现要素:

本发明为克服上述的不足之处,目的在于提供基于结合全局密度特征的mcnn人群计数方法,本发明可适应于不同密度场景,是一种能够生成含有更全面信息的人群密度图的人群计数方法,本发明通过对人群密度图积分得到估计人数,能够避免人群图像中的人群遮挡和人群不均匀分布对计数产生的影响;并且利用结合全局密度特征的卷积神经网络进行人群密度图的估计,能够适用于不均匀人群分布场景,生成含有更全面信息的密度图,人数估计结果具有较高的准确率和鲁棒性。

本发明是通过以下技术方案达到上述目的:基于结合全局密度特征的mcnn人群计数方法,包括如下步骤:

(1)准备训练样本集:根据带有人头位置标注的图像数据集,利用二维高斯卷积核,生成数据集中每张图像对应的人群密度图标签和密度等级标签,组成得到训练样本集;

(2)输入图像,利用结合全局密度特征的mcnn网络中两个子任务分别提取输入图像的全局密度特征和人群计数特征,并通过特征拼接的方式融合两个子任务中提取得到的特征,得到结合全局密度特征的特征图;

(3)利用最大-均值池化和反卷积层,对结合全局密度特征的特征图进行处理,得到最终估计的特征图;

(4)将最终估计的特征图映射为密度图,通过对密度图进行积分,实现人群数量的估计。

作为优选,所述步骤(1)的具体步骤为:

(1.1)利用二维高斯卷积核将输入数据集中的人头位置标注转换为人群密度图标签,对于一张带有n个人头的图像,其人群密度图标签可用如下公式(1)表示:

其中,gσ(x)是一个二维高斯卷积核,σ是它的宽度参数,δ(x-xi)是delta函数,xi表示一个人头标注点所在的位置;

(1.2)根据输入的数据集生成密度等级标签,由数据集中的最大人数nmax与最小人数nmin相减来确定人数变化范围,每张输入图像的密度等级可由下式(2)确定:

其中,表示每个密度等级的人数范围,round()表示采用四舍五入取整,m表示密度等级类别数,m取决于数据集中的人群密度变化,变化越大,则等级类别数设置越高。

作为优选,所述步骤(2)具体包括如下步骤:

(2.1)输入图像通过初始卷积层提取浅层特征,初始卷积层由2个卷积层组成,第一个卷积层有16个大小为9×9的卷积核,第二个卷积层有32个大小为7×7的卷积核,提取出的浅层特征通过密度等级分类子任务和人群计数子任务进一步处理;

(2.2)密度分类子任务由四个卷积层组成,参数设置可以表示为16×9×9,32×7×7,16×7×7,8×7×7,这4个卷积层用于全局特征密度特征提取,提取到的全局密度特征图输入到自适应池化层、全连接层,自适应池化层是为了当输入不同尺寸的图像时,能够提取到固定大小的特征,全连接层输出节点数应该和密度等级数保持一致,最后使用softmax分类器完成密度等级分类;

(2.3)人群计数子任务,使用两列卷积神经网络的结构提取图像中的人群计数特征,通过每列不同的卷积核大小来对应不同的尺度特征,第一列子网络的参数设置可以表示为20×7×7,40×5×5,20×5×5,10×5×5,第二列子网络的参数设置可以表示为24×5×5,48×3×3,24×3×3,12×3×3,两列子网络的输出特征与密度分类子任务提取的全局密度特征在列维度上进行拼接,得到结合全局密度特征的特征图。

作为优选,所述步骤(3)的具体步骤为:

(3.1)使用最大-均值池化代替最大值池化,保留更多图像特征信息,最大-均值池化可用如下公式(3)表示:

其中,vm表示提取自图像的滑动窗口中t个像素点的第m个像素点,m表示该元素在滑动窗口中的空间方位,池化步骤利用以上定义的空间池化算子f将vm映射为相应的统计值;

(3.2)通过两个卷积层对结合全局密度特征的特征图进行增强生成特征图的特征映射,并使用两个反卷积层还原特征图分辨率以及下采样过程中损失的部分细节特征,得到最终估计的特征图。

作为优选,所述步骤(4)中,使用1×1的卷积将最终估计的特征图映射为对应的密度图。

作为优选,所述的结合全局密度特征的mcnn网络,在计算该mcnn网络的损失函数时,使用多任务级联的方式进行训练,两个子任务的损失函数分别可用公式(4)和(5)表示,实际训练时使用结合两者后的损失函数以及步骤(1)中准备的训练样本集进行同时训练,结合后的损失函数如公式(6)所示:

l=l1σ+l2(6)

其中,n为训练样本的数量,m是密度等级类别数,pi是真实的分类等级,xi表示第i张训练图片,di表示密度等级分类阶段获得的特征图,θ为从深度卷积网络中学习到的参数,f1(xi;θ)等同于logpi,j,表示第i张训练图片估计为第j个分类等级的概率,f2(xi;di;θ)表示人群计数阶段估计得到的密度图,fi是真实的标注密度图,l1为估计的密度等级和实际的密度等级之间的误差,l2为估计得到的密度图和真实标注的密度图之间的损失值,σ为权重。

本发明的有益效果在于:(1)本发明通过对人群密度图积分得到估计人数,能够避免人群图像中的人群遮挡和人群不均匀分布对计数产生的影响;(2)本发明利用结合全局密度特征的卷积神经网络进行人群密度图的估计,能够适用于不均匀人群分布场景,生成含有更全面信息的密度图,人数估计结果具有较高的准确率和鲁棒性。

附图说明

图1是本发明的方法框架示意图;

图2是本发明的结合全局密度特征的卷积神经网络结构示意图;

图3是本发明的卷积下采样和反卷积上采样的过程示意图;

图4是本发明实施例对人群图像的估计密度图。

具体实施方式

下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于此:

实施例:如图1所示,基于结合全局密度特征的mcnn人群计数方法,包括如下步骤:

步骤一,利用二维高斯卷积核,根据数据集中人工标记的人头坐标,将人群图像转换为人群密度图标签,一张带有n个人头的图像标签可以用如下公式(1)表示:

其中,gσ(x)是一个二维高斯卷积核,σ是它的宽度参数,δ(x-xi)是delta函数,xi表示一个人头标注点所在的位置。

并且,根据数据集中图像的真实人数生成每张图像的密度等级标签,在读入数据集后,通过数据集中的最大人数nmax与最小人数nmin相减来确定人数变化范围,并指定所需划分的密度等级数m。最后确定每张输入图像的密度等级,若输入图像人数为gt,其密度等级可通过公式(2)确定:

其中,表示每个密度等级的人数范围,round()表示采用四舍五入取整,密度等级数m取决于数据集中的人群密度变化,变化越大,则等级数设置越高;

步骤二,如图2所示,输入一张图像,利用结合全局密度特征的mcnn网络中两个子任务提取结合全局密度特征的特征图,具体步骤如下:

1)输入图像通过初始卷积层提取浅层特征,初始卷积层由2个卷积层组成,第一个卷积层有16个大小为9×9的卷积核,第二个卷积层有32个大小为7×7的卷积核,提取出的浅层特征通过密度等级分类子任务和人群计数子任务进一步处理;

2)对于密度分类子任务,由四个卷积层组成,参数设置可以表示为16×9×9,32×7×7,16×7×7,8×7×7,这4个卷积层用于全局特征密度特征提取,提取到的全局密度特征图输入到自适应池化层、全连接层,自适应池化层是为了当输入不同尺寸的图像时,能够提取到固定大小的特征,全连接层输出节点数应该和密度等级数保持一致,最后使用softmax分类器完成密度等级分类;

3)对于人群计数子任务,使用两列卷积神经网络的结构提取图像中的人群计数特征,通过每列不同的卷积核大小来对应不同的尺度特征,第一列子网络的参数设置可以表示为20×7×7,40×5×5,20×5×5,10×5×5,第二列子网络的参数设置可以表示为24×5×5,48×3×3,24×3×3,12×3×3,两列子网络的输出特征与密度分类子任务提取的全局密度特征在列维度上进行拼接,得到结合全局密度特征的特征图。

步骤三,利用最大-均值池化和反卷积层对结合全局密度特征的特征进行处理,得到最终估计的特征图,具体步骤如下:

1)使用最大-均值池化代替最大值池化作为网络的池化层,保留更多图像特征信息,最大-均值池化可用如下公式(3)表示:

其中,vm表示提取自图像的滑动窗口中t个像素点的第m个像素点,m表示该元素在滑动窗口中的空间方位,池化步骤利用以上定义的空间池化算子f将vm映射为相应的统计值;

2)在获取到结合全局密度特征的特征图之后,通过两个3×3卷积层来增强生成特征图的特征映射,再使用两个反卷积层还原特征图分辨率以及下采样过程中损失的部分细节特征,得到最终估计的特征图,卷积下采样和反卷积上采样过程如图3所示。

步骤四,通过1×1的卷积操作将最终估计的特征图映射为密度图,输出的密度图如图4所示,通过对密度图进行积分,实现人群数量的估计。

其中,在上述步骤二中,计算mcnn网络的损失函数时,两个子任务的损失函数分别可用公式(4)和(5)表示,实际训练时使用结合两者后的损失函数与步骤一、二中准备的训练样本集进行同时训练,结合后的损失函数如公式(6)所示:

l=l1σ+l2(6)

其中,n为训练样本的数量,m是密度等级类别数,pi是真实的分类等级,xi表示第i张训练图片,di表示密度等级分类阶段获得的特征图,θ为从深度卷积网络中学习到的参数,f1(xi;θ)等同于logpi,j,表示第i张训练图片估计为第j个分类等级的概率,f2(xi;di;θ)表示人群计数阶段估计得到的密度图,fi是真实的标注密度图,l1为估计的密度等级和实际的密度等级之间的误差,l2为估计得到的密度图和真实标注的密度图之间的损失值,σ为权重;根据结合后的损失函数l,在每一次训练的迭代过程中更新整个网络的参数,直到l的值收敛。

以上的所述乃是本发明的具体实施例及所运用的技术原理,若依本发明的构想所作的改变,其所产生的功能作用仍未超出说明书及附图所涵盖的精神时,仍应属本发明的保护范围。

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