一种基于深度多尺度生成对抗网络的人群计数方法

文档序号:32406621发布日期:2022-12-02 20:37阅读:73来源:国知局
一种基于深度多尺度生成对抗网络的人群计数方法

1.本发明涉及计算机视觉技术领域,具体涉及一种基于深度多尺度生成对抗网络的人群计数方法。


背景技术:

2.随着城市人口的迅速增长和城市化进程的加快,导致了体育赛事、政治集会、交通和通讯等群众性活动增加。人群计数和人群密度估计对于城市规划、人群控制、人群安全检测和视频监控的应用价值日益凸显。
3.从图像或视频中准确地估计人群数目已成为计算机视觉技术在人群控制和公共安全中的重要应用。在公共集会、体育赛事等场景中,参与人数或人数密度是未来活动规划和空间设计的重要信息。良好的人群计数方法也可以扩展到其他领域,例如,从微观图像中计数细胞或细菌,估计野生动物保护区的动物群体,或估计交通枢纽或交通堵塞的车辆数量,等等。
4.人群控制和公共安全等有着密切的联系,如何从监控中准确的估计出人群总数至关重要,研究者们广泛地关注着这个问题。目前的人群计数方法从输出目标图像中的人数发展到用密度图显示人群分布特征,因为人群分布的密度图能获得更全面的信息,这对于在高风险环境中做出正确的决策至关重要。
5.近年来拥塞场景分析的发展依赖于基于dnn的方法,因为它们取得了较高的精度。在dnn中,卷积神经网络(cnn)方法,已经获得了非常好的结果,但是仍然有一些潜在的问题待解决。通常是利用cnn结构的性能来学习从人群图像到相应密度图的非线性映射,优化cnn模型参数,使其最终能够映射出高质量的密度图。然而cnn方法只考虑预测的密度图与真实密度图的差异来监督模型的学习过程,进而提高人群图映射到密度图的质量;该方法并没有充分地将深度提取与多尺度提取相结合,也未考虑映射得到的密度图的质量。


技术实现要素:

6.有鉴于此,本发明提供一种基于深度多尺度生成对抗网络的人群计数方法,用以解决现有人群计数方法没有将深度特征提取和多尺度的特征提取方法相结合的问题,此外为了进一步提高映射密度图的质量,本发明引入了对抗网络的思想。
7.为解决上述技术问题,本发明提供一种基于深度多尺度生成对抗网络的人群计数方法,包括如下步骤:
8.步骤1、选取训练数据集记为train,其中包含人群图片集x和对应的真实密度图集y两部分;
9.步骤2、设计对抗网络模型m,将m分为g和a两个模型,其中模型g是深度多尺度的全卷积模型,模型a是全连接神经网络模型;
10.步骤3、利用训练数据train对模型m进行训练,拟合已构建的模型在训练数据l上的误差,保存最佳的g模型;
11.步骤4、将需要预测的人群图片输入到步骤3中保存的g模型,映射出密度图并估计出人群总数。
12.进一步的,步骤2中,设人群图片集中的第k张图片为xk∈x,k=1,2,...,n;第i层卷积的第j个卷积核为w
ij
,则g模型的计算结果为:
13.output=xk*w
ij

14.g模型中包括前端卷积模型、3个卷积支路和后端卷积模型三部分。
15.进一步的,步骤2中,a模型中,包含一个自适应最大池化层,将输入的密度图调整到相同的尺寸,还包含4个全连接层,其中最后一个全连接层包含1个神经元,使用sigmoid函数进行激活,使映射结果仅包含两种情况,即真和假,其中真记作1,假记作0。
16.进一步的,步骤3中,设xk对应的真实密度图为yk∈y,k=1,2,...,n,使用训练样本集train学习深度多尺度生成对抗模型m的过程为:
17.(1)初始化g模型和a模型的参数;
18.(2)固定模型a的参数,将xk输入到模块g中映射出密度图g(xk),再把g(xk)输入到a模型中得到判别结果a(g(xk));将真实密度图yk输入到a模型中得到判别结果a(yk),因为此时模型a不进行学习,所以对抗损失为:
19.l
adv
=log(1-a(g(xk)))+log a(yk)
20.(3)固定模型g的参数,g的输出直接作为a的输入,即将g和a链接为一个神经网络,记做ga模型,将xk输入到模型ga直接得到判别结果a(g(xk)),此时的映射损失为:
21.l
gen
=log a(g(xk))
22.(4)该过程中的总损失l:
23.l=0.01l
adv
+0.99l
gen
24.(5)迭代(2)和(3)直至参数收敛;
25.执行完上述步骤之后,一次迭代完成,保存g模型,用于对需要预测的图片映射出密度图并估计人数。
26.进一步的,步骤3的学习过程,即卷积核w
(l)
的更新过程为梯度下降法:
27.w
(l)
=w-λ
▽wj(w)
28.其中,λ为学习率,j(w)为损失函数,
▽wj(w)表示j(w)关于w的偏导数。
29.进一步的,步骤4具体包括利用训练好的g模型对待估计人群图片进行计数的过程是:首先将人群图xk输入到g模型中映射出密度图g(xk),然后对g(xk)进行积分计算出总人数n:
30.n=∫∫sg(xk)dxdy
31.其中s表示估计密度图的空间区域,g(xk)表示估计的密度图。
32.本发明的上述技术方案的有益效果如下:
33.本发明首先通过数据集中的人群图与其对应的真实密度图对模型进行训练,得到训练好的模型m后保存需要的g模型,最后将要检测的数据输入到保存的g模型进行预测。
34.映射模型结合了深度和多尺度的特点,提取特征的能力更强,提取的尺度更广泛;其次通过判别映射密度图和真实密度图的过程,进一步增强了映射模型g映射密度图的质量,进而提高人群计数结果的准确性。
附图说明
35.图1为本发明基于深度多尺度生成对抗网络的人群计数方法的流程示意图;
36.图2为本发明对抗网络模型生成器的模型示意图;
37.图3为本发明对抗网络模型判别器的模型示意图。
具体实施方式
38.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图1-3,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
39.如图1-3所示:
40.本实施例提供一种基于深度多尺度生成对抗网络的人群计数方法,包括如下步骤:
41.步骤1、选取训练数据集记为train,其中包含人群图片集x和对应的真实密度图集y两部分;
42.步骤2、设计一个深度多尺度的对抗网络模型m,该模型不仅能够将人群图映射为密度图,还能通过判别映射的密度图和真实的密度图来进一步提高映射密度图的质量这两种功能。为了对应两种功能,将m分为g和a两个模型,其中模型g是深度多尺度的全卷积模型,模型a是传统的全连接神经网络模型;
43.步骤3、利用训练数据train对模型m进行训练,拟合已构建的模型在训练数据l上的误差,保存最佳的g模型;
44.步骤4、将需要预测的人群图片输入到步骤3中保存的g模型,映射出密度图并估计出人群总数。
45.进一步的,步骤2中,设人群图片集中的第k张图片为xk∈x,k=1,2,...,n;第i层卷积的第j个卷积核为w
ij
,则g模型的计算结果为:
46.output=xk*w
ij

47.g模型中包括前端卷积模型(vgg16前13层)、3个卷积支路和后端卷积模型三部分。
48.进一步的,步骤2中,a模型中,包含一个自适应最大池化层,将输入的密度图调整到相同的尺寸,还包含4个全连接层,其中最后一个全连接层包含1个神经元,使用sigmoid函数进行激活,使映射结果仅包含两种情况,即真和假,其中真记作1,假记作0。
49.进一步的,步骤3中,设xk对应的真实密度图为yk∈y,k=1,2,...,n,使用训练样本集train学习深度多尺度生成对抗模型m的过程为:
50.(1)初始化g模型和a模型的参数;
51.(2)固定模型a的参数,将xk输入到模块g中映射出密度图g(xk),再把g(xk)输入到a模型中得到判别结果a(g(xk));将真实密度图yk输入到a模型中得到判别结果a(yk),因为此时模型a不进行学习,所以对抗损失(binary cross-entropy)为:
52.l
adv
=log(1-a(g(xk)))+log a(yk)
53.(3)固定模型g的参数,g的输出直接作为a的输入(一对一),即将g和a链接为一个神经网络,记做ga模型,将xk输入到模型ga直接得到判别结果a(g(xk)),此时的映射损失为:
54.l
gen
=log a(g(xk))
55.(4)该过程中的总损失l:
56.l=0.01l
adv
+0.99l
gen
57.(5)迭代(2)和(3)直至参数收敛;
58.执行完上述步骤之后,一次迭代完成,保存g模型,用于对需要预测的图片映射出密度图并估计人数。
59.进一步的,步骤3的学习过程,即卷积核w
(l)
的更新过程为梯度下降法:
60.w
(l)
=w-λ
▽wj(w)
61.其中,λ为学习率,j(w)为损失函数,
▽wj(w)表示j(w)关于w的偏导数。
62.进一步的,步骤4具体包括利用训练好的g模型对待估计人群图片进行计数的过程是:首先将人群图xk输入到g模型中映射出密度图g(xk),然后对g(xk)进行积分计算出总人数n:
63.n=∫∫sg(xk)dxdy
64.其中s表示估计密度图的空间区域,g(xk)表示估计的密度图。
65.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1