APP下载

多尺度特征融合的对抗神经网络人群计数算法

2021-04-06刘占锋贾云飞牛勇钢

中国民航大学学报 2021年1期
关键词:特征提取卷积密度

韩 萍,刘占锋,贾云飞,牛勇钢

(中国民航大学电子信息与自动化学院,天津 300300)

中国民用航空局公布数据显示,2009—2019年近10年内中国民航运输机场旅客吞吐量增长到2.78倍,达到了13.5 亿人次[1]。机场旅客吞吐量逐年增加,航站楼旅客大密度聚集现象频现,若遭遇一些特殊情况,如航班大面积延误,容易发生拥挤踩踏等突发事件。如果能对高密度人群提前预警,采取预防措施并安放必要的警示标志,可减少类似事件的发生。但在复杂的人群环境下,存在人群图像分辨率低、遮挡严重和多尺度等问题,给人群计数带来了巨大挑战。

传统的人群计数法主要包括检测和回归两类。检测法主要是检测人的特殊部位,如头、肩等[2-4],此类方法可检测出人体的位置信息,稀疏场景下,该类方法准确率较高,但不适合高密度人群。回归法则是建立人群特征和人群人数的映射关系,基本思想是提取图像的一些特征信息,如纹理信息、关键点特征[5]、人群像素点区域[6]、人群密度直方图[7]等,然后通过回归模型,建立人群特征和人群人数的映射关系,该类方法对特定环境有效,如拍摄角度固定、背景环境相同或人群稀疏,但对于复杂的人群环境并不适用。最近许多学者将人工神经网络应用到人群计数中[8-10],将人群图像映射成人群密度图的形式进行人群计数。常用的人工神经网络算法较以往算法在人数估计准确率上有所提高,但仍存在特征提取困难和特征融合不完全等问题。

针对以上方法的不足,提出多级特征融合的对抗神经网络人群计数方法,其特点是利用对抗损失函数进行网络训练,且给出了多级特征融合的网络结构进行多尺度人群特征提取和融合。最后,通过实际数据进行验证,证明了该方法的有效性。

1 基本理论

1.1 人群密度图

人群密度图[11]是表示人所在位置和大小的图像,也是训练神经网络的人群图像标签。在人群数据集中标注的是人头的坐标位置,前期处理时需要把坐标位置转换成人群密度图。通常使用一个高斯分布的人头大小矩阵代替人头位置,表示原始图像的人头,该区域数值和为1。

若(mi,ni)表示第i 个人头的坐标位置,则用脉冲函数δ(m-mi,n-ni)表示人头的位置信息,δ(m-mi,n-ni)与高斯核函数Gσi(m,n)相乘表示一个人的位置和大小信息。拥有M 个人的人群密度图可表示为

式中:σi表示高斯核的大小,采用自适应方法确定。首先,计算第i 个人与周围最近r 个人的距离{d1,d2,…,dr},然后求取平均距离,最后与超参数k 相乘来表示σi的大小,即

通过大量实验表明,当r=8,k=0.3 时人群密度图最接近真实的人群分布。图1(a)为人群密度图对应的人群图像,图1(b)为采用该方法生成的人群密度图。

图1 人群图像及其密度图Fig.1 Crowd image and and its density map

1.2 对抗神经网络

对抗神经网络自2014年被Goodfellow 等[12]提出后,在计算机视觉、人机交互、自然语言处理等领域都有广泛应用。对抗神经网络属于一种生成网络模型,其思想来源于博弈论中的零和博弈问题,网络包含生成器网络G 和判别器网络D 两部分,如图2所示。

图2 对抗神经网络结构Fig.2 Adversarial neural network structure

生成器网络G 根据输入的数据生成固定分布的文字、语音、图像、视频等数据,且根据判别器网络对生成器网络的输出评价更新参数。判别器网络相当于一个二分类器,把真实数据标签和生成器网络生成的数据分别输入到判别器网络,判别器网络根据输入的信息输出一个[0,1]之间的实数,表示数据来自真实数据的概率。生成器网络尽力提高生成数据经过判别器网络的概率,判别器网络则相反。

生成器网络和判别器网络的共同损失函数为

式中:x 为对抗神经网络需要生成的真实数据标签,服从Pg分布;z 为服从Pr分布的随机数据;D(x)表示数据标签x 通过判别器网络输出的概率;D(G(z))表示利用z 通过生成器网络后生成的数据通过判别器网络后输出的概率;E[]表示分布函数的数学期望。

根据V1(D,G)优化时,通常是将生成器网络和判别器网络交替进行迭代,即在一段时间内固定生成器网络的参数去优化判别器网络的参数,另一段时间固定判别器网络的参数去优化生成器网络的参数。但由于传统的对抗神经网络训练时不稳定,文献[13]提出了条件对抗损失函数,引入生成数据的样本y 作为生成器网络G 和判别器网络D 的约束条件,y 服从Pd分布,条件对抗损失函数为V2(D,G),即

式中:D(x,y)表示利用数据x 和样本y 一同输入判别器网络后输出的概率;D(G(y),y)表示样本y 通过生成器网络生成的数据和样本y 一同输入到判别器网络后输出的概率。文中所使用的x 为人群密度图,而y 为人群密度图相对应的人群图像。

2 特征提取融合结构

2.1 人群特征提取结构

由于图像成像过程中存在透视变化,人群在图像中呈现近大远小的特点。对于该问题通常用多列卷积神经网络结构解决[14-15],如三列神经网络结构。人群图像输入到网络后会分别送到三列网络中进行运算,每列网络都具有不同大小的卷积核,大的卷积核感受野大,可提取大目标人群,而小的卷积核可提取小目标人群,最后将不同网络提取的人群特征进行融合,融合后的结果相比单列神经网络效果有所提升,但每列网络仅对特定尺度人群敏感,而融合后的结果相对于人群敏感的那列人群估计效果会有所降低[16]。多列神经网络虽然相比单列网络有所提升,但并不是最佳选择。

为了解决人群的多尺度问题,参考了多列卷积神经网络不同大小卷积核提取不同尺度目标的思想,但与多列卷积神经网络不同的是在一层卷积神经网络上完成。借鉴GoogLeNet 的Inception 结构思想,对于网络前一层输出的数据,通过一个并行排列大小不同的卷积核同时进行卷积,然后将卷积结果输入到下一层中,同时还添加了一个最大池化层对前层数据进行筛选,如图3所示。

图3 人群特征提取结构Fig.3 Crowd feature extraction structure

基于这种结构的神经网络可在卷积过程中对人群特征进行多尺度提取和融合,增加了网络表达能力。

2.2 层级间人群特征融合结构

在卷积神经网络中每层网络都是对上一层特征的提取或处理。随着神经网络的加深,提取的特征越加抽象,也会随着网络的加深丢失一些浅层信息。在人群计数中,浅层网络主要包括图像的浅层特征,其中包括直线、边缘、位置等信息,而深层网络提取的特征更多是一些潜在的语义特征,通过使用残差连接结构将不同层次人群特征融合,如图4所示。

图4 残差连接结构Fig.4 Residual connection structure

残差连接是一种层级间连接的结构,使下一层的输入包含前一层信息和浅层信息,通过叠加不同层之间的输出,达到各层之间信息的融合。残差连接结构可利用g(e)+ e 来表示,其中:e 表示浅层网络的信息,g(e)表示浅层信息e 经过一个或多个卷积层后的输出结果。残差连接将不同深浅的人群特征融合后输入到下一层,提高网络对于人群特征的提取能力。

3 多尺度特征融合对抗神经网络

图5为所提出的多尺度特征融合的对抗神经网络结构,其中包含生成器和判别器两个子网络。生成器网络为多尺度特征融合网络结构,可将输入的人群图像映射成一张人群的密度图,判别器网络判别生成的密度图为真实密度图的概率。测试时,利用生成器网络生成的密度图求和,与真实人数对比来计算人群计数的准确率和鲁棒性。

图5 网络整体结构Fig.5 Overall network structure

3.1 生成器网络

生成器网络结构图如图6所示,该网络具有7个特征提取层和7 个反卷积层,输入为人群图像,输出为生成的人群密度图。特征提取层采用人群特征提取结构对输入的图像进行卷积,每次卷积后生成输入特征图1/4 大小的64 维的特征图。除去反卷积层1 和2外,其余特征提取层的输出与对应卷积层的输出通过残差连接输出到对应的反卷积层网络,反卷积层将输入特征图大小扩大4 倍,反卷积层1 输出维度为1 维。所有特征提取层和反卷积层后面都有批量归一化(BN,batch normalization)层和ReLU 函数,最后通过Sigmoid 函数映射成人群密度,生成人群密度图。

图6 生成器网络结构Fig.6 Generator network structure

生成器网络首先通过人群特征提取结构对人群图像进行多尺度人群特征的提取和融合,随着网络深度增加人群特征越加抽象,然后利用反卷积层将高度压缩的人群特征进行放大,且通过层级间人群特征融合结构和对应特征提取层的浅层人群特征融合,最终实现不同尺度、不同层次的人群特征融合,使人群密度图包含更多的人群特征信息。此外,生成器网络每个特征提取层和反卷积层后面都有BN 层。由于人群数据复杂多变,且人群分布不规律,神经网络需要不断调整参数去适应规律,导致收敛过慢。使用BN 层对数据进行归一化处理,每次传入的数据分布规律一致,从而可设置更高的学习率,提高模型的收敛速度。

3.2 判别器网络

判别器网络的输入是真实的人群密度图和相对应的人群图像,输出是人群密度图为真实密度图的概率,主要是对生成器网络输出的人群密度图是否为真实密度图进行判断。判别器的网络结构如图7所示,判别器网络共有5 个卷积层和1 个全连接层,与生成网络相同,在每个卷积层后都有BN 层和ReLU 函数,卷积层采用下采样方式,最终生成一个原图1/16×1/16大小的特征图,然后通过全连接层和Sigmoid 函数,输出一个[0,1]之间的实数,表示人群密度图是真实密度图的概率。

图7 判别器网络结构Fig.7 Discriminator network structure

判别器网络和生成器网络根据输出概率作为网络更新参数的依据。利用条件对抗损失函数(式4)可使不同尺度的人群特征更加有效融合,但在训练过程中容易出现生成器网络和判别器网络训练速率不一致的情况,造成网络训练结果较差。文献[17]使用对抗损失函数和传统欧氏距离损失函数相结合的方式更易达到网络训练的目标,使生成器网络生成的密度图不仅要欺骗判别器网络,且要在欧氏距离上接近真实的人群密度图。欧氏距离损失函数表示为

式中:xi,j表示真实密度图的像素值;G(y)i,j表示生成器网络生成的密度图的像素值。最终损失函数表示为

式中,λ 为超参数[18],设置为150。

4 实验结果分析

4.1 数据集

在两个典型的数据集上进行验证,下面是数据集的具体介绍。

1)ShanghaiTech 数据集分为Part A 和Part B 两部分,由1 198 个带标注的图像组成。其中:Part A 是互联网上下载的高密度人群图像,分为测试集182 张和训练集300 张;Part B 是来自上海街道上较稀疏的图像,分为测试集400 张和训练集316 张。本数据集包含不同场景类型和不同人群密度的人群样本。

2)UCF_CC_50 数据集由互联网上搜集的50 张人群图像组成,人数在94 ~4 543 不等,人数数量和场景变化很大,平均人数达到了1 279 人。

表1为所选用的公共人群数据集上的具体参数,其中:ShanghaiTech 数据集标记人数最多;UCF_CC_50数据集的人数变化范围最大,平均人数最多。

表1 人群数据集具体参数Tab.1 Specific parameters of crowd dataset

4.2 实验步骤

1)根据数据集标注的人头坐标信息,通过1.1 节的方法生成人群密度图;

2)在训练集中顺序抽取样本,网络读取时对样本进行随机处理,以增加样本数量,其中包括人群图像旋转、镜像,最后把处理后的样本输入到网络中进行训练;

3)固定判别器网络的所有参数训练生成器网络,固定生成器网络的所有参数训练判别器网络,交替训练两个网络,直到两个网络达到纳什均衡;

4)由于人群图像背景复杂,存在个别人群图像人数估计误差较大,在下次训练过程中增加1 倍训练频次,以增加网络对于复杂环境人群的适应能力。

4.3 评价指标

使用平均绝对误差(MAE,mean absolute error)和均方误差(MSE,mean squared error)对生成的人群密度图进行评价,即

式中:N 为测试集数量;X′(i)为模型对第i 张人群图像人数的预测结果;X(i)为第i 张人群图像的真实人数;eMAE和eMSE分别表示人群人数计数的准确性和鲁棒性。

4.4 对比实验

为了验证多尺度特征融合的对抗神经网络在人群计数上的有效性,与仅使用欧氏距离作为损失函数和利用三列卷积神经网络作为生成器网络进行对比实验。

实验1生成器网络仅使用欧氏距离作为损失函数;

实验2利用三列卷积神经网络作为生成网络,其中,卷积核大小分别为3×3、5×5、7×7;

实验3使用多尺度特征融合的对抗神经网络。

将3 个网络分别在ShanghaiTech 数据集的Part A和Part B 上进行测试,结果如表2所示。

表2 试验结果Tab.2 Test result

相比三列卷积神经网络,多尺度特征融合网络不仅可利用人群特征提取结构提取多尺度人群特征,且通过层级间人群特征融合结构将不同层次的特征进行融合。因此,实验3 与实验2 相比,在Part A 和Part B 上准确性和鲁棒性都有大幅度提升。通过实验1 和实验3 对比可发现,使用最终的对抗损失函数可使生成网络模型调整到更优。

为进一步的验证本网络的有效性,引入了图像结构相似性(SSIM,structural similarity index)来衡量生成密度图质量的好坏。SSIM 是从亮度、对比度和结构3 个不同因素组合来定义密度图像结构相似度,结构相似性的范围在[0,1]之间,两张图越相似,值越接近1。两张图像的亮度、对比度和结构3 个要素分别表示如下

式中:U(t1)、U(t2)分别表示图像t1和t2的均值;S(t1)、S(t2)分别表示图像t1和t2的标准差;W(t1,t2)则表示图像t1和图像t2的协方差;c1、c2、c3为防止分母为0 的固定值[19],通常分别取6.5、58.5和29.3。图像结构相似性可表示为

在ShanghaiTech 数据集上每幅图像生成的密度图与对应的标准密度图计算的rSSIM均值,结果如表3所示。

表3 rSSIM 均值对比表Tab.3 Comparison of rSSIM mean value

从表3看出,实验3 在结构相似性上优于其他两个实验,在生成的密度图上更加接近于真实密度图,更加能反映出人群的分布情况。说明了该方法相比实验1 和实验2 更能学习到人群的真实分布信息,3 个实验在ShanghaiTech 数据集上训练得出的人群密度图,如图8所示。

图8 实验结果Fig.8 Experimental result

为了验证方法的有效性,选取相关文献所用的方法进行对比,包括:层级间特融合法FPN[8],WACV[9];人群图像分块或放缩后输入到网络训练,与完整图像训练结果进行特征融合的方法ACSCP[10],MMT[15];多列神经网络改进方法MMCNN[14],SCNN[16]。从表4可看出:改进方法在ShanghaiTech 数据集和UCF_CC_50数据集上比以上算法的eMAE低;在eMSE上,除了比ACSCP 方法在ShanghaiTech 数据集Part A 部分高2.8外,比其他算法都低。结果表明,利用多尺度特征提取结构和层级间特征融合结构能够高效地提取人群特征,且通过对抗方式进行训练可使人群密度图不仅在欧氏距离上与真实密度图接近,且在对抗损失上与真实密度图接近,使生成器生成的人群密度图更加准确地反映人群人数。在UCF_CC_50 数据集的优异表现,可看出改进方法对于高密度人群估计仍然有效。

表4 不同方法在数据集上的结果对比Tab.4 Result comparison on data sets with different methods

5 结语

基于多尺度特征融合的对抗网络人群计数算法,首先,通过人群特征提取结构提取不同尺度的浅层次人群特征;其次,低层次人群特征和高层次人群特征通过层级间人群融合结构进行融合;最后,利用对抗损失和欧式距离的组合作为损失函数训练模型。通过实验验证,该方法在人数估计方面准确率和鲁棒性均有较大提高。该方法虽相比前面的方法有所改善或提升,但也存在着模型训练过程复杂、需要不断实验等问题。此外,网络层数的设计上,较难估计是否达到最优。对此,后续研究中需不断优化网络,去除冗余部分,提高模型的训练效率,以通过最少的训练次数得到最优的结果。

猜你喜欢

特征提取卷积密度
同步定位与建图特征提取和匹配算法研究
基于全卷积神经网络的猪背膘厚快速准确测定
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
空间目标的ISAR成像及轮廓特征提取
基于MED—MOMEDA的风电齿轮箱复合故障特征提取研究
基于曲率局部二值模式的深度图像手势特征提取
“密度”练习
密度的应用趣谈