高级检索

ISSN1001-3806CN51-1125/TN 网站地图

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于多模型深度卷积网络融合的人群计数算法

雷翰林 张宝华

引用本文:
Citation:

基于多模型深度卷积网络融合的人群计数算法

    作者简介: 雷翰林(1994-), 男, 硕士研究生, 主要从事数字图像处理与目标识别方面的研究.
    通讯作者: 张宝华, zbh_wj2004@imust.cn
  • 基金项目:

    国家海洋局海洋遥测工程技术研究中心创新青年基金资助项目 2014003

    内蒙古自治区高等学校"青年科技英才支持计划"青年科技骨干资助项目 NJYT-14-B11

    内蒙古自治区自然科学基金资助项目 2014MS0610

    内蒙古杰出青年培育资助项目 2018JQ02

    国家自然科学基金资助项目 61261028

    内蒙古科技大学大学生课外科技创新基金资助项目 2017057

    国家自然科学基金资助项目 61663036

  • 中图分类号: TP391.4

Crowd counting algorithm based on multi-model deep convolution network integration

    Corresponding author: ZHANG Baohua, zbh_wj2004@imust.cn
  • CLC number: TP391.4

  • 摘要: 为了避免景深和遮挡的干扰, 提高人群计数的准确性, 采用了LeNet-5, AlexNet和VGG-16 3种模型, 提取图像中不同景深目标的特性, 调整上述模型的卷积核尺寸和网络结构, 并进行了模型融合。构造出一种基于多模型融合的深度卷积神经网络结构, 网络最后两层采用卷积核大小为1×1的卷积层取代传统的全连接层, 对提取的特征图进行信息整合并输出密度图, 极大地降低了网络参量且取得了一定提升的数据, 兼顾了算法效率和精度, 进行了理论分析和实验验证。结果表明, 在公开人群计数数据集shanghaitech两个子集和UCF_CC_50子集上, 本文中计数方法的平均绝对误差和均方误差分别是97.99和158.02, 23.36和41.86, 354.27和491.68, 取得比现有传统人群计数方法更好的性能; 通过迁移实验证明所提出的人群计数模型具有良好的泛化能力。该研究对人群计数精度的提高是有帮助的。
  • Figure 1.  a—the input image b—the truth density map c—the estimated density map generated by the model

    Figure 2.  The crowd under the camera

    Figure 3.  The structure of deep convolution neural network based on multi-model integration

    Figure 4.  Flow diagram of experiment

    Table 1.  Image composition of shanghaitech dataset

    shanghaitech dataset number of images
    part A train 300
    test 182
    part B train 400
    test 316
    total 1198
    下载: 导出CSV

    Table 2.  Comparison of our method and the other four methods in shanghaitech dataset

    method part A part B
    MAE MSE MAE MSE
    LBP+RR[9](local binary
    pattern+ridge regression)
    303.2 371.0 59.1 81.7
    MCNN-CCR(MCNN based crowd
    count regression)
    245.0 336.1 70.9 95.9
    ZHANG[16] 181.8 277.7 32.0 49.8
    MCNN[1](multi-column con
    volutional neural network)
    110.2 173.2 26.4 41.3
    our method 97.99 158.02 23.36 41.86
    下载: 导出CSV

    Table 3.  Comparison of our method and the other five methods in UCF_CC_50 dataset

    method MAE MSE
    RODRIGUEZ[20] 655.7 697.8
    LEMPITSKY[21] 493.4 487.1
    IDREES[7] 419.5 541.6
    ZHANG[16] 467.0 498.5
    MCNN[1](multi-column
    convolutional neural network)
    377.6 509.1
    our method 354.27 491.68
    下载: 导出CSV

    Table 4.  Comparison experiment of different Gaussian kernel sizes in UCF_CC_50 dataset

    Gaussian kernel size MAE MSE
    30 406.17 558.63
    35 392.21 552.86
    39 354.27 501.68
    40 387.65 510.26
    45 420.43 562.17
    50 398.25 541.11
    下载: 导出CSV

    Table 5.  Comparison experiment of different network structures in shanghaitech dataset

    network structure part A part B
    MAE MSE MAE MSE
    fully connected layer 102.78 172.60 25.48 46.07
    convolution layer with
    filter size is 1×1
    97.99 158.02 23.36 41.86>
    下载: 导出CSV

    Table 6.  Comparison experiment of different network structures in UCF_CC_50 dataset

    network structure MAE MSE
    fully connected layer 378.83 535.60
    convolution layer with filter size is 1×1 354.27 501.68
    下载: 导出CSV

    Table 7.  Two groups of experimental errors in transfer learning

    grouping MAE MSE
    group 1 319.89 409.59
    group 2 165.49 249.03
    下载: 导出CSV
  • [1]

    ZHANG Y Y, ZHOU D S, CHEN S Q, et al. Single-image crowd counting via multi-column convolutional neural network[C]//Computer Vision and Pattern Recognition. New York, USA: IEEE, 2016: 589-597.
    [2]

    LI M, ZHANG Z, HUANG K, et al. Estimating the number of people in crowded scenes by mid based foreground segmentation and head-shoulder detection[C]//International Conference on Pattern Recognition. New York, USA: IEEE, 2008: 1-4.
    [3]

    GE W, COLLINS R T. Marked point processes for crowd counting[C]//Computer Vision and Pattern Recognition. New York, USA: IEEE, 2009: 2913-2920.
    [4]

    ZHAO T, NEVATIA R, WU B. Segmentation and tracking of multiple humans in crowded environments[J]. Pattern Analysis and Machine Intelligence, 2008, 30(7): 1198-1211. doi: 10.1109/TPAMI.2007.70770
    [5]

    CHAN A B, VASCONCELOS N. Counting people with low-level features and bayesian regression[J]. IEEE Transactions on Image Processing, 2012, 21(4): 2160-2177. doi: 10.1109/TIP.2011.2172800
    [6]

    JI L N, CHEN Q K, CHEN Y J, et al. Real-time crowd counting method from video stream based on GPU[J]. Journal of Computer Applications, 2017, 37(1): 145-152(in Chinese).
    [7]

    IDREES H, SALEEMI I, SEIBERT C, et al. Multi-source multi-scale counting in extremely dense crowd images[C]//Computer Vision and Pattern Recognition. New York, USA: IEEE, 2013: 2547-2554.
    [8]

    BANSAL A, VENKATESH K. People counting in high density crowds from still images[J]. International Journal of Computer and Electrical Engineering, 2015, 7(5): 316-324. doi: 10.17706/IJCEE.2015.7.5.316-324
    [9]

    CHEN K, LOY C C, GONG S, et al. Feature mining for localised crowd counting[C]//British Machine Vision Conference. Durham, England: British Machine Vision Association, 2012: 1-3.
    [10]

    HUANG S, LI X, ZHANG Z, et al. Body structure aware deep crowd counting[J]. IEEE Transactions on Image Processing, 2017, 27(3): 49-59.
    [11]

    ZENG L, XU X, CAI B, et al. Multi-scale convolutional neural networks for crowd counting[C]//International Conference on Image Processing. New York, USA: IEEE, 2017: 465-469.
    [12]

    XIONG F, SHI X, YEUNG D Y. Spatiotemporal modeling for crowd counting in videos[C]//International Conference on Computer Vision. New York, USA: IEEE, 2017: 5151-5159.
    [13]

    SINDAGI V A, PATEL V M. Generating high-quality crowd density maps using contextual pyramid cnns[C]//International Conference on Computer Vision. New York, USA: IEEE, 2017: 1861-1870.
    [14]

    SAM D B, SURYA S, BABU R V. Switching convolutional neural network for crowd counting[C]//Computer Vision and Pattern Recognition. New York, USA: IEEE, 2017: 5744-5752.
    [15]

    SINDAGI V A, PATEL V M. Cnn-based cascaded multi-task learning of high-level prior and density estimation for crowd counting[C]//International Conference on Advanced Video and Signal Based Surveillance. New York, USA: IEEE, 2017: 1-6.
    [16]

    ZHANG C, LI H, WANG X, et al. Cross-scene crowd counting via deep convolutional neural networks[C]//Computer Vision and Pattern Recognition. New York, USA: IEEE, 2015: 833-841.
    [17]

    SHELHAMER E, LONG J, DARRELL T. Fully convolutional networks for semantic segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(4): 640-651. doi: 10.1109/TPAMI.2016.2572683
    [18]

    SHI Z L, YE Y D, WU Y P, et al. Crowd counting using rank-based spatial pyramid pooling network[J]. Acta Automatica Sinica, 2016, 42(6): 866-874(in Chinese).
    [19]

    SINDAGI V A, PATEL V M. A survey of recent advances in cnn-based single image crowd counting and density estimation[J]. Pattern Recognition Letters, 2018, 107(1): 3-16.
    [20]

    RODRIGUEZ M, LAPTEV I, SIVIC J, et al. Density-aware person detection and tracking in crowds[C]//International Conference on Computer Vision. New York, USA: IEEE, 2011: 2423-2430.
    [21]

    LEMPITSKY V, ZISSERMAN A. Learning to count objects in images[C]//Annual Conference on Neural Information Processing Systems. Cambridge, Massachusetts, USA: MIT Press, 2010: 1324-1332.
  • [1] 陈树越刘金星丁艺 . 基于小波变换的红外与X光图像融合方法研究. 激光技术, 2015, 39(5): 685-688. doi: 10.7510/jgjs.issn.1001-3806.2015.05.021
    [2] 朱文艳李莹袁飞冯少彤聂守平 . 基于JPEG压缩编码的小波域多图像融合算法研究. 激光技术, 2014, 38(3): 425-430. doi: 10.7510/jgjs.issn.1001-3806.2014.03.031
    [3] 陆宝红宋雪桦 . 基于历史信息的区域卷积神经网络行人检测. 激光技术, 2019, 43(5): 660-665. doi: 10.7510/jgjs.issn.1001-3806.2019.05.014
    [4] 孙越娇雷武虎胡以华赵楠翔任晓东 . 基于视觉显著模型的遥感图像舰船快速检测. 激光技术, 2018, 42(3): 379-384. doi: 10.7510/jgjs.issn.1001-3806.2018.03.017
    [5] 熊羽左小清黄亮陈震霆 . 基于多特征组合的彩色遥感图像分类研究. 激光技术, 2014, 38(2): 165-171. doi: 10.7510/jgjs.issn.1001-3806.2014.02.005
    [6] 陈锋张闻文虞文俊陈钱顾国华 . 基于小波变换的EMCCD微光图像融合算法. 激光技术, 2014, 38(2): 155-160. doi: 10.7510/jgjs.issn.1001-3806.2014.02.003
    [7] 张宝华刘鹤张传亭 . 基于经验模态分解提取纹理的图像融合算法. 激光技术, 2014, 38(4): 463-468. doi: 10.7510/jgjs.issn.1001-3806.2014.04.007
    [8] 葛雯姬鹏冲赵天臣 . NSST域模糊逻辑的红外与可见光图像融合. 激光技术, 2016, 40(6): 892-896. doi: 10.7510/jgjs.issn.1001-3806.2016.06.024
    [9] 李旭寒董安国封建湖 . 基于多级引导滤波器的图像区域融合算法. 激光技术, 2016, 40(5): 756-761. doi: 10.7510/jgjs.issn.1001-3806.2016.05.029
    [10] 张雷罗长更张颖颖李根全杨兴强王肖霞 . 基于支持度变换的红外与可见光图像融合算法. 激光技术, 2015, 39(3): 428-431. doi: 10.7510/jgjs.issn.1001-3806.2015.03.032
    [11] 郑伟孙雪青李哲 . shearlet变换和区域特性相结合的图像融合. 激光技术, 2015, 39(1): 50-56. doi: 10.7510/jgjs.issn.1001-3806.2015.01.010
    [12] 虞文俊顾国华杨蔚 . 基于小波变换的红外偏振图像融合算法. 激光技术, 2013, 37(3): 289-292. doi: 10.7510/jgjs.issn.1001-3806.2013.03.004
    [13] 高颖王阿敏王凤华郭淑霞 . 改进的小波变换算法在图像融合中的应用. 激光技术, 2013, 37(5): 690-695. doi: 10.7510/jgjs.issn.1001-3806.2013.05.028
    [14] 纪文孙水发王帅董方敏 . 对数域的光学相干层析图像噪声模型分析. 激光技术, 2014, 38(6): 848-853. doi: 10.7510/jgjs.issn.1001-3806.2014.06.027
    [15] 谢军昱许杨剑王效贵 . 基于贝叶斯模型和数字图像相关的视觉测量. 激光技术, 2016, 40(6): 866-870. doi: 10.7510/jgjs.issn.1001-3806.2016.06.019
    [16] 李文龙戈海龙任远成巍 . 图像处理技术在激光熔池温度检测的应用. 激光技术, 2018, 42(5): 599-604. doi: 10.7510/jgjs.issn.1001-3806.2018.05.004
    [17] 张海庄姚梅雷萍李鹏曾庆平 . 远场激光光斑图像处理方法研究. 激光技术, 2013, 37(4): 460-463. doi: 10.7510/jgjs.issn.1001-3806.2013.04.010
    [18] 张羽鹏王开福 . LabVIEW和MATLAB在电子散斑干涉图像处理中的应用. 激光技术, 2009, 33(6): 582-585,589. doi: 10.3969/j.issn.1001-3806.2009.06.007
    [19] 汤敏王惠南 . 激光扫描共聚焦显微镜图像的计算机处理. 激光技术, 2007, 31(5): 558-560.
    [20] 顾国庆王开福燕新九 . 基于同态滤波的电子散斑干涉图像处理. 激光技术, 2010, 34(6): 750-752,797. doi: 10.3969/j.issn.1001-3806.2010.06.009
  • 加载中
图(4) / 表(7)
计量
  • 文章访问数:  793
  • HTML全文浏览量:  838
  • PDF下载量:  16
  • 被引次数: 0
出版历程
  • 收稿日期:  2018-09-18
  • 录用日期:  2018-10-24
  • 刊出日期:  2019-07-25

基于多模型深度卷积网络融合的人群计数算法

    通讯作者: 张宝华, zbh_wj2004@imust.cn
    作者简介: 雷翰林(1994-), 男, 硕士研究生, 主要从事数字图像处理与目标识别方面的研究
  • 内蒙古科技大学 信息工程学院, 包头 014010
基金项目:  国家海洋局海洋遥测工程技术研究中心创新青年基金资助项目 2014003内蒙古自治区高等学校"青年科技英才支持计划"青年科技骨干资助项目 NJYT-14-B11内蒙古自治区自然科学基金资助项目 2014MS0610内蒙古杰出青年培育资助项目 2018JQ02国家自然科学基金资助项目 61261028内蒙古科技大学大学生课外科技创新基金资助项目 2017057国家自然科学基金资助项目 61663036

摘要: 为了避免景深和遮挡的干扰, 提高人群计数的准确性, 采用了LeNet-5, AlexNet和VGG-16 3种模型, 提取图像中不同景深目标的特性, 调整上述模型的卷积核尺寸和网络结构, 并进行了模型融合。构造出一种基于多模型融合的深度卷积神经网络结构, 网络最后两层采用卷积核大小为1×1的卷积层取代传统的全连接层, 对提取的特征图进行信息整合并输出密度图, 极大地降低了网络参量且取得了一定提升的数据, 兼顾了算法效率和精度, 进行了理论分析和实验验证。结果表明, 在公开人群计数数据集shanghaitech两个子集和UCF_CC_50子集上, 本文中计数方法的平均绝对误差和均方误差分别是97.99和158.02, 23.36和41.86, 354.27和491.68, 取得比现有传统人群计数方法更好的性能; 通过迁移实验证明所提出的人群计数模型具有良好的泛化能力。该研究对人群计数精度的提高是有帮助的。

English Abstract

    • 随着人口总数和流动人口数量的逐渐上升,越来越多的人们在同一时间聚集在某一特定场合,如大型音乐节现场、世界杯期间容纳十多万人的足球赛场以及春运时节的候车厅等。人口相对密集的公共场所较容易出现意外事件,如口角摩擦、斗殴以及踩踏事件等,所以人群计数或人群密度估计在人数众多的公共场所就显得十分必要。人群计数的结果既可以监测和警报意外事件的发生,又能优化人们出行路线并提高办事效率。因此,在人工智能和图像处理领域中,人群计数已经成为众多相关学者研究的重要方向之一[1]

      人群计数或密集人群计数方法已经广泛应用于候车厅、地铁站等人口稠密场所。相关研究学者也已经于文献中提出很多人群计数方法。基于检测的人群计数方法通过视频序列的两个连续帧扫描检测器估计图像中人群的数量。这类方法通常假设图像中的人群是由单独的实体组成,通过特定的检测器可以检测到这些个体[2-4]。由于有时人群非常稠密或人群密度相当高,这类基于检测的方法就会出现局限性,环境中建筑物的遮挡或人群之间的相互遮挡会严重地影响检测性能,降低人群估计的精度并增大了估计值与实际值之间的误差。

      CHAN等人[5]使用摄像机标记的方法求解摄像机中透视关系,然后通过此关系归一化提取的特征并取得了一定的效果,但标记摄像机繁琐的过程限制了该方法的应用。JI等人[6]将全部前景区域看成一个整体,检测其特征点并根据特征点数和人群数量之间的关系进行人数估计,有一定实用价值但如果场景中存在一直静止的人群将影响估计精度。IDREES等人[7]通过利用多信息源的特征估计单幅图像中极密集人群的数量,同时引入新的人群计数数据集并给予标注。BANSAL等人[8]将兴趣点、傅里叶分析、小波分解、灰度共生矩阵特征和低可信度头部检测这5个源的信息融合以实现对公共场合的人群计数。CHEN等人[9]提出一种人群计数方法,该方法首先采用局部二值模式从原始输入图像中提取特征,然后通过脊回归预测每幅图像中的人群数量。大多数现有的人群计数方法都选择估计密度图,进一步通过积分预测图像中人数[1, 10-16]。利用卷积神经网络估计图像中人群数量的方法有很多[1, 11, 13-19],其中效果较好的是ZHANG等人[16]提出的人群计数方法,当对新场景图像进行测试时,根据密度图的透视信息和相似度来微调预训练的网络。

      上述多类方法在人群密度变化剧烈或遮挡影响严重的图像中人群估计准确率较低,因此,本文中提出一种基于多模型融合在稀疏人群密度区域和密集人群区域中准确估计人群数量的方法。根据模型融合的思想,分别调整LeNet-5, AlexNet和VGG-16 3种模型的卷积核尺寸和网络结构,用于提取图像中不同景深处人头部的特征:改进后的LeNet-5模型提取图像中近景处较大人头部的特征图;处于图像中间部分的中等尺寸人头部的特征图被改进后的AlexNet模型提取;VGG-16模型提取图像中远景处较小的人头部或一部分被遮挡人头部的特征图。同时网络最后两层采用卷积核大小为1×1的卷积层取代传统的全连接层,对提取的特征图进行信息整合并输出估计密度图。极大地降低了网络参量,减小运算开销并有一定计数精度上的提升。

    • 本文中的方法基于深度卷积神经网络对人群图像进行人数估计,首先对原始图像中人头部位置进行标注;然后人头部位置进行高斯核处理;接着构造出基于多模型融合的卷积神经网络,融合LeNet-5, AlexNet和VGG-16 3种经典网络的内部网络结构经验,第1层卷积层分别采用11×11, 7×7和3×3的卷积核,3种不同尺寸的卷积核刚好可以滤波学习到大、中、小人头部的特征,并且网络最后两层采用卷积核大小为1×1的卷积层取代传统卷积神经网络的全连接层;最后,将预处理后图像及标记数据输入训练网络模型,通过验证集挑选出最优的网络权值模型,导入权值模型及测试集图像进行测试,通过逻辑回归统计计算输出层密度图的像素总和,输出模型估计的人数。

    • 为了验证模型估计人群数量的准确性,应使估计值与真实值之间的误差尽可能降低。因此,模型在输入测试图像的同时,也需要输入人工标记标准的真实密度图以计算误差。接下来描述将一幅有正确人头部标记的图像转换为对应密度图的步骤。

      (1) 将一幅有人头部标记的图像当做一个笛卡尔直角坐标系,如果在像素点xij(i, j=0, 1, 2, …, n)处有一个被标记人头部,将它表示为冲激函数形式δ(x-xij),然后对每个像素点的冲激函数求和,一幅有n个头部标注的图像可以表示为一个函数:

      $ F(x) = \sum\limits_{i = 1}^n {\sum\limits_{i = 1}^n \delta } \left( {x - {x_{ij}}} \right) $

      (1)

      (2) 为了使离散函数转化为连续密度函数,将这个函数F(x)和高斯核Gσ(x)进行卷积操作,故得到密度函数为:

      $ D(x) = F(x)*{G_\sigma }(x) $

      (2)

      (3) 在实验过程中,经验地发现高斯核大小为39时,可以得最优的测试性能(如对比实验所示),即密度D为:

      $ D(x) = \sum\limits_{i = 1}^n {\sum\limits_{j = 1}^n \delta } \left( {x - {x_{ij}}} \right)*{G_\sigma }(x) $

      (3)

      数据集中原始输入图像、人工标记的标准密度图以及由模型生成的估计密度图的对比如图 1所示。提取数据并经过预处理后成为灰度图像,同样可以清晰地表达图像人物内容。由于图像中人群密度变化剧烈且人与人之间的遮挡较为严重,为降低人工标记误差采用MATLAB语言对人头部进行标记,每幅标记完成的图像对应一个mat文件,mat文件中保留对应图像的人头部坐标以及总人数。人工标记完成的原始图像通过高斯核滤波后转化为密度图,一个白点对应一个人头部,真实密度图所包含的信息是图像中实际人数值的标准参考。图 1c为由模型生成的对输入图像人数估计的密度图,通过积分计算得到输入图像的估计人群数量。

      Figure 1.  a—the input image b—the truth density map c—the estimated density map generated by the model

    • 数据集中原始输入图像如图 2所示。由于景深和遮挡的影响,图像中通常有尺寸差别较大的人头,近景处人头部尺寸较大且远景处人头部尺寸很小,因此,传统的卷积神经网络单一的网络结构和单一的滤波器尺寸不大可能提取不同大小的人头部特征。为使人群计数的精度提高,既能在人群密度稀疏的区域准确估计人数,又可以在密集人群估计中保持良好性能,根据模型融合的思想,相对简单的卷积神经网络结构和具有相对较大感受域的滤波器可以提取更大的人头部特征并建立模型;较小的人头部或一部分被遮挡的人头部的特征通过相对复杂的深度卷积神经网络结构和感受域尺寸相对较小的滤波器被提取。

      Figure 2.  The crowd under the camera

      基于多模型融合的深度卷积神经网络结构的图形表示如图 3所示。根据模型融合的思想,构造出改进的深度卷积网络结构模型,该模型包含3层不同的卷积神经网络,每层网络有不同网络结构和不同尺寸感受域的滤波器,用于提取不同尺寸的人头部特征。最上层的卷积神经网络是标准的LeNet-5模型,其结构为卷积-池化-卷积-池化,卷积核大小为11×11,这层网络用于提取图像中近景处较大人头部的特征图;中间层的卷积神经网络类似于标准的AlexNet模型,将AlexNet最后一层最大池化层改为卷积层,其中卷积层卷积核大小均为7×7,处于图像中间部分的中等尺寸人头部的特征图被中间层网络提取;最下层的深度卷积网络类似于VGG-16模型,后面的层次采用了更多的卷积层并且使用了尺寸为3×3的滤波器,这层网络提取图像中远景处较小的人头部或一部分被遮挡人头部的特征图。整个网络结构中的池化操作均为最大池化,并采用著名的非饱和激活函数之一的整流线性单元(rectified linear unit,ReLU)作为激活函数,以提高人群计数模型的性能。ReLU激活函数的定义如下:

      Figure 3.  The structure of deep convolution neural network based on multi-model integration

      $ {\alpha _{i, j, k}} = \max \left( {{z_{i, j, k}}, 0} \right) $

      (4)

      式中, zi, j, k是第k个通道中位置(i, j)处激活函数的输入。ReLU是一个分段线性函数:负部分全部设置为零,并仅保留线性的正部分。ReLU的简单max(·)操作使其拥有比sigmoid和双曲正切激活函数更快的计算速度,而且还引入了隐藏单元中的稀疏性,使网络结构能更容易地获得稀疏表示。甚至没有预训练的情况下,采用ReLU可以高效地训练深度网络。

      首先每层卷积神经网络的结构和滤波器感受域大小不同,可以提取图像中不同景深处人头部的特征,然后由第1层滤波器大小为1×1的卷积层对3层网络分别提取的特征图做信息整合,经过第2层滤波器大小为1×1的卷积层得到输入图像对应的人群密度图,最后通过积分得到整幅图像的全部人群计数。

      值得注意的是,传统卷积神经网络结构中的全连接层被两层滤波器大小为1×1的卷积层所替代。这一设计想法是源于传统卷积神经网络的全连接层中有大量连接和大数量级的参量,且冗多的参量容易较快导致网络过拟合。为了降低运算时间开销、运行内存并提高效率,全连接层被滤波器大小为1×1的卷积层所取代,因此模型输入可以是任意分辨率大小的图像。最后通过采用欧式距离来让模型生成估计密度图回归到真实密度图。损失函数定义如下:

      $ L(\theta ) = \frac{1}{{2n}}\sum\limits_{i = 1}^n {\left\| {\hat D\left( {{X_i};\theta } \right) - {D_i}} \right\|_2^2} $

      (5)

      式中,L(θ)表示模型估计出的密度图与真实密度图之间的损失函数,θ是模型中一系列可学习可优化的权值参量,n是训练图像的总数量,Xi表示输入的图像,$\hat D$ (Xi; θ)表示模型生成的第i幅图像的估计密度图,Di表示第i幅图像对应的真实的密度图。

    • 数据预处理过程包括人头部标记以及高斯滤波均采用MATLAB语言,卷积神经网络训练及测试过程采用PYTHON语言。实验详细步骤如图 4所示。第1步从人群计数数据集中提取原始图像数据,对每幅图像中人头部正中的位置进行标记,每个红点代表相应位置上出现一个人头部,并存储人头部标记位置和图像中人头部个数;第2步是图像预处理,将标记完成的图像与高斯核卷积生成密度图文件,密度图文件为矩阵形式,同时将原始图像以及对应的密度图文件中每个文件随机分割成9小份以扩增数据集;第3步将原始图像输入构造的基于多模型融合的深度卷积神经网络模型中,训练网络并优化权值;第4步通过验证集挑选出性能最优的网络模型;最后将测试图像输入性能最优的权值模型中进行测试,输出模型生成的人群密度图以及对应的预测人数,并与标准的密度图对比计算出损失函数。

      Figure 4.  Flow diagram of experiment

      实验运行硬件环境如下:Intel(R) Core(TM) i7-3770 CPU处理器、NVIDIA GeForce GTX 1060 6GB显卡、8.00GB RAM。实验运行软件环境如:ubuntu16.04操作系统, Python2.7, Matlab2014a, CUDA8.0, CUDNN6.0, OPENCV2.0, Pytorch深度学习框架。

    • 现有的传统人群计数方法均采用平均绝对误差(mean absolute error,MAE)和均方误差(eean squared error,MSE)两种误差来评估模型的性能,本文中也采用这两种误差作为评价指标,其定义如下:

      $ \left\{ {\begin{array}{*{20}{l}} {{M_{{\rm{MAE}}}} = \frac{1}{N}\sum\limits_{i = 1}^N {\left| {{c_i} - {{\hat c}_i}} \right|} }\\ {{M_{{\rm{MSE}}}} = \sqrt {\frac{1}{N}\sum\limits_{i = 1}^N {{{\left( {{c_i} - {{\hat c}_i}} \right)}^2}} } } \end{array}} \right. $

      (6)

      式中,N为输入测试图像的总数量,ci是第i幅图像的实际人群数量,$\hat c$ i是第i幅图像模型估计出的人群数量。MAE和MSE是常用的衡量算法性能的评价指标,前者的数值越小,表明方法估计得越精确;后者越小,表明方法估计的鲁棒性越高,对抗不稳定因素干扰的能力越强。

    • shanghaitech数据集是由上海科技大学采集的人群计数图像集,这个数据集包含1198幅原始图像和总计330165个人头部标记,分为part A和part B两个子集。part A是从互联网上挑选出的图像,这一子集图像的人群密度通常是非常高的;part B中的图像来自于上海繁华的闹市区,而这部分图像人群相对地稀疏。表 1为数据集内容组成成分。正因为该数据集是现有人群计数数据集中带有标记最大的一个,而且两个子集之间人群密度存在较大的差异,所以在这个数据集上验证提出模型的鲁棒性是具有挑战性的。

      Table 1.  Image composition of shanghaitech dataset

      shanghaitech dataset number of images
      part A train 300
      test 182
      part B train 400
      test 316
      total 1198

      在shanghaitech数据集上比较了本文中方法与现有不同方法之间的性能差异。从表 2中可以看出,本文中的人群计数方法取得了最好的MAE和与现有方法很接近的MSE。

      Table 2.  Comparison of our method and the other four methods in shanghaitech dataset

      method part A part B
      MAE MSE MAE MSE
      LBP+RR[9](local binary
      pattern+ridge regression)
      303.2 371.0 59.1 81.7
      MCNN-CCR(MCNN based crowd
      count regression)
      245.0 336.1 70.9 95.9
      ZHANG[16] 181.8 277.7 32.0 49.8
      MCNN[1](multi-column con
      volutional neural network)
      110.2 173.2 26.4 41.3
      our method 97.99 158.02 23.36 41.86
    • UCF_CC_50数据集同样是著名的人群计数数据集,由IDREES等人首先提出。该数据集中仅有50幅来自互联网的图像,且每幅图像中人数波动较大,平均每幅图像中有1280个人,因此UCF_CC_50是一个进行人群估计较为困难的数据集。IDREES等人为这个数据集添加了63974个人头部标注。本文中采用5种交叉验证方法在这个数据集上验证提出人群计数模型的性能。

      在UCF_CC_50人群计数数据集上,同样比较了本文中的方法与现有5种方法之间的性能差异。从表 3中可以看出, 提出的人群计数方法取得了最好的MAE和与现有方法接近的MSE。

      Table 3.  Comparison of our method and the other five methods in UCF_CC_50 dataset

      method MAE MSE
      RODRIGUEZ[20] 655.7 697.8
      LEMPITSKY[21] 493.4 487.1
      IDREES[7] 419.5 541.6
      ZHANG[16] 467.0 498.5
      MCNN[1](multi-column
      convolutional neural network)
      377.6 509.1
      our method 354.27 491.68
    • 在图像预处理阶段,对图像中出现人头部的位置添加高斯核时,由于不同大小的高斯核将直接地影响卷积神经网络的收敛速度及测试性能,因此采用不同大小的高斯核进行图像预处理,通过对比实验确定网络性能最优时高斯核的大小。本文中在UCF_CC_50数据集上采用不同大小的高斯核对输入图像进行预处理,对比实验如表 4所示。结果表明, 当高斯核大小为39时,网络模型可以获得最优的性能。

      Table 4.  Comparison experiment of different Gaussian kernel sizes in UCF_CC_50 dataset

      Gaussian kernel size MAE MSE
      30 406.17 558.63
      35 392.21 552.86
      39 354.27 501.68
      40 387.65 510.26
      45 420.43 562.17
      50 398.25 541.11

      在构造的基于多模型融合的深度卷积神经网络当中,将卷积核大小为1×1的卷积层代替传统卷积神经网络的全连接层,极大地降低了网络参量,同时人群计数精度还有一定的提升。在shanghaitech和UCF_CC_50两个数据集上进行了1×1卷积核层与全连接层不同网络结构之间的对比实验,如表 5表 6所示。对比结果表明, 采用卷积层代替全连接层的结构误差相对于传统结构较低。

      Table 5.  Comparison experiment of different network structures in shanghaitech dataset

      network structure part A part B
      MAE MSE MAE MSE
      fully connected layer 102.78 172.60 25.48 46.07
      convolution layer with
      filter size is 1×1
      97.99 158.02 23.36 41.86>

      Table 6.  Comparison experiment of different network structures in UCF_CC_50 dataset

      network structure MAE MSE
      fully connected layer 378.83 535.60
      convolution layer with filter size is 1×1 354.27 501.68
    • 如果一种人群计数模型在一个包含不同大小人头部的大型数据集上被训练,然后可以很容易地迁移或适应于另一个相似的人群计数数据集上,则证明了该种模型良好的泛化能力。为了证明作者提出的人群计数模型的泛化能力,进行迁移学习测试实验。本文中进行两组迁移学习测试:第1组,在shanghaitech数据集上训练出性能较优的权值模型,然后在UCF_CC_50数据集上测试人群计数结果和误差; 第2组, 在UCF_ CC_50数据集上训练模型优化网络,在shanghaitech数据集上测试人群计数结果和误差,两组迁移学习实验如表 7所示。

      Table 7.  Two groups of experimental errors in transfer learning

      grouping MAE MSE
      group 1 319.89 409.59
      group 2 165.49 249.03

      表 7中可以看出, 本文中的方法在第1组实验中平均绝对误差约为319.89,在第2组实验中平均绝对误差约为165.49。由于UCF_CC_50数据集中图像之间人群密度变化极为剧烈,所以第1组估计误差较高。实验结果表明:本文中提出的人群计数模型在一个数据集上训练得到性能较优的权值模型,可以较容易地迁移到另一不同的人群计数数据集上。

    • 为了实现在复杂环境和不同景深中准确估计人数的目的,本文中提出了一种基于深度学习的人群计数方法。首先将原始输入图像通过高斯卷积方法转化为相对应的密度图以实现图像预处理,然后利用构造的多模型融合深度卷积神经网络实现复杂环境的准确人群计数,最后网络后面两层采用卷积核大小为1×1的卷积层取代传统卷积神经网络的全连接层,对提取特征图进行信息整合并输出估计密度图。本文中的人群计数模型在公开人群计数数据集shanghaitech和UCF_CC_50上均实现较好的性能。同时该模型可以容易地迁移到针对另一新数据集的应用当中,证明其具有良好的泛化能力。良好的人群计数方法可以扩展到其它领域,如大草原牧场的牛羊数量统计、环境保护区中植被数量的估计等。

参考文献 (21)

目录

    /

    返回文章
    返回