CN114494194A - 复杂场景下的人群计数方法、装置、设备及可读存储介质 - Google Patents
复杂场景下的人群计数方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN114494194A CN114494194A CN202210093740.9A CN202210093740A CN114494194A CN 114494194 A CN114494194 A CN 114494194A CN 202210093740 A CN202210093740 A CN 202210093740A CN 114494194 A CN114494194 A CN 114494194A
- Authority
- CN
- China
- Prior art keywords
- crowd
- feature vector
- sample
- module
- scale
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000012549 training Methods 0.000 claims abstract description 68
- 239000013598 vector Substances 0.000 claims description 416
- 230000006870 function Effects 0.000 claims description 180
- 230000005540 biological transmission Effects 0.000 claims description 52
- 230000004927 fusion Effects 0.000 claims description 44
- 238000004364 calculation method Methods 0.000 claims description 33
- 230000007246 mechanism Effects 0.000 claims description 25
- 238000012546 transfer Methods 0.000 claims description 15
- 238000000605 extraction Methods 0.000 claims description 11
- 238000011176 pooling Methods 0.000 claims description 9
- 238000001514 detection method Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30242—Counting objects in image
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种复杂场景下的人群计数方法、装置、设备及可读存储介质,复杂场景下的人群计数方法包括:通过改进后的人群密度图生成模型得到人群图片对应的人群密度图,再基于人群密度图完成人群计数,其中,人群密度图生成模型中采用新型的多列结构即金字塔多尺度模块。相较于传统多列结构各列相互独立,金字塔多尺度模块的各列相互协作,使得金字塔多尺度模块对应尺度数量远大于列的数目,从而实现更高效抽取多尺度高级特征。同时基于多列方差损失来指导金字塔多尺度模块的训练,促使每列学习不一样的高级行人特征,从而提高检测准确率,解决传统多列结构存在的特征相似性和尺度有限性问题,进一步提升人群计数的精确度和人群密度图的生成质量。
Description
技术领域
本发明涉及人工智能和安防领域,尤其涉及一种复杂场景下的人群计数方法、装置、设备及可读存储介质。
背景技术
随着我国大规模城镇化推进,城市规模急剧扩大,人口密度大幅度提高, 城市在公共管理方面面临更大的挑战。人群密度过大很容易导致秩序失控,全球范围内,死亡人数过百的大规模踩踏事件每年都有发生。
如果能够实时对人群密度进行估计、分析,及时进行合理的疏导后,将会大大减少甚至完全避免类似事件的发生。另一方面,人群密度本身也是非常重要、有意义的信息,在安防预警、城市规划、智能商业、交通调度等智能城市建设领域有着重要应用,比如对城市公交系统而言,通过及时获得乘客在空间上、时间上的分布情况来灵活调整车辆时间表。
随着深度学习技术的发展,基于卷积神经网络(CNN)的人群计数算法取得了优异的性能,显著地降低了计数误差。然而,在实际的应用场景中,现有的算法仍面临着诸多挑战,如人群尺度变化、遮挡、背景干扰、非均匀的人群分布等。
当前主流人群计数算法主要采用多列模型应对上述诸多挑战。多列模型包含多列CNN,通常不同的列对应着大小不同的感受野,依此有效解决多尺度问题,然后多列CNN的输出特征被融合在一起,以生成最终的人群计数估计。
但多列模型存在特征相似性和尺度有限性两个问题,限制其性能的进一步提升。一是,特征相似性:人们普遍认为:多列模型可能会导致每列之间出现严重的信息冗余,即不同的列往往表现相似而没有明显差异。这完全不符合多列模型背后的设计动机;二是,尺度有限性:受结构所限,多列模型各列彼此独立,从全局来看,导致多列模型对应的尺度数量等于列的数目,从局部来看,导致每列只能在相应尺度上正常工作,在其他尺度上的性能急剧下降。
发明内容
本发明的主要目的在于提供一种复杂场景下的人群计数方法、装置、设备及可读存储介质,旨在解决现有技术中,人群计数算法受限于所采用的多列模型的特征相似性和尺度有限性问题,导致人群计数的精确度和密度图的生成质量不能进一步提升的技术问题。
第一方面,本发明提供一种复杂场景下的人群计数方法,所述复杂场景下的人群计数方法包括以下步骤:
将待检测的人群图片输入到训练完成的人群密度图生成模型中的主干网络,得到第一特征向量;
将所述第一特征向量输入到训练完成的人群密度图生成模型中的金字塔多尺度网络,得到第二特征向量,其中,所述金字塔多尺度网络包括预设个数的金字塔多尺度模块,所述金字塔多尺度模块之间为串联连接,每个所述金字塔多尺度模块包括一个消息传递模块和一个注意力模块,所述消息传递模块包括多列采用消息传递机制的全卷积结构,所述注意力模块包括采用注意力机制的全局池化层和卷积层;
将所述第二特征向量输入到训练完成的人群密度图生成模型中的生成网络,得到所述待检测的人群图片对应的人群密度图;
对所述人群密度图的感兴趣区域的目标像素值进行积分求和,得到所述感兴趣区域的总人数。
可选的,所述将所述第一特征向量输入到训练完成的人群密度图生成模型中的金字塔多尺度网络,得到第二特征向量的步骤包括:
将所述第一特征向量输入到训练完成的人群密度图生成模型中的金字塔多尺度网络的第一金字塔多尺度模块,基于所述第一金字塔多尺度模块中的注意力模块,得到注意力向量;
基于所述第一金字塔多尺度模块中的消息传递模块每一列的全卷积结构,得到初始特征向量组,所述初始特征向量组包含预设列数的初始特征向量;
重复执行将所述初始特征向量组中当前列的全卷积结构生成的初始特征向量与上一列的全卷积结构生成的初始特征向量进行拼接,并输入到一个卷积层中进行融合,得到当前列的输出特征向量的步骤,直到得到所有列的输出特征向量;
将所述所有列的输出特征向量输入到一个卷积层中,融合得到第一融合特征向量;
将所述第一融合特征向量与所述注意力向量进行融合,得到第二融合特征向量,所述第二融合特征向量为所述第一金字塔多尺度模块输出的特征向量;
将所述第一金字塔多尺度模块输出的特征向量输入到第二金字塔多尺度模块,得到第二金字塔多尺度模块输出的特征向量,以此类推,直到得到最后一个金字塔多尺度模块输出的特征向量,所述最后一个金字塔多尺度模块输出的特征向量为第二特征向量。
可选的,所述将人群图片输入到训练完成的人群密度图生成模型中的主干网络,得到第一特征向量的步骤之前包括:
构建成对的训练数据集,所述训练数据集包括若干人群样本图片与所述人群样本图片对应的人群样本密度图;
将所述训练数据集中的人群样本图片输入到待训练的人群密度图生成模型中的主干网络,得到第一样本特征向量;
将所述第一样本特征向量输入到待训练的人群密度图生成模型中的金字塔多尺度网络的第一金字塔多尺度模块,基于所述第一金字塔多尺度模块中的注意力模块,得到样本注意力向量;
基于所述第一金字塔多尺度模块中的消息传递模块每一列的全卷积结构,得到初始样本特征向量组,所述初始样本特征向量组包含预设列数的初始样本特征向量;
重复执行将所述初始样本特征向量组中当前列的全卷积结构生成的初始特征样本向量与上一列的全卷积结构生成的初始样本特征向量进行拼接,并输入到一个卷积层中进行融合,得到当前列的样本输出特征向量的步骤,直到得到所有列的样本输出特征向量;
基于所述所有列的样本输出特征向量,得到各消息传递模块每列对应的第一注意力向量;
基于所述每列对应的第一注意力向量,计算得到多列方差损失函数值;
将所述所有列的样本输出特征向量输入到一个卷积层中,融合得到第一样本融合特征向量;
将所述第一样本融合特征向量与所述样本注意力向量进行融合,得到第二样本融合特征向量,所述第二样本融合特征向量为所述第一金字塔多尺度模块输出的样本特征向量;
将所述第一金字塔多尺度模块输出的样本特征向量输入到第二金字塔多尺度模块,得到第二金字塔多尺度模块输出的样本特征向量,以此类推,直到得到最后一个金字塔多尺度模块输出的样本特征向量,所述最后一个金字塔多尺度模块输出的样本特征向量为第二样本特征向量;
将所述第二样本特征向量输入到待训练的人群密度图生成模型中的生成网络,得到所述人群样本图片对应的人群密度图;
基于待训练的人群密度图生成模型所得的人群密度图与所述训练数据集中所述人群样本图片对应的人群样本密度图,计算得到欧几里得损失函数值;
基于所述多列方差损失函数值与所述欧几里得损失函数值,得到联合损失函数值;
将所述联合损失函数值反向传播给待训练的人群密度图生成模型,基于所述联合损失函数值调整人群密度图生成模型的参数;
检测人群密度图生成模型的联合损失函数值是否收敛;
若所述人群密度图生成模型的联合损失函数值未收敛,则以训练数据集中新的人群样本图片作为人群样本图片,并返回执行将所述训练数据集中的人群样本图片输入到待训练的人群密度图生成模型中的主干网络,得到第一样本特征向量的步骤;
若所述人群密度图生成模型的联合损失函数值收敛,则以最新的人群密度图生成模型作为训练完成的人群密度图生成模型。
可选的,所述基于所述第一注意力向量,计算得到多列方差损失函数值的步骤包括:
将所述每列对应的第一特征向量代入到多列方差损失函数的计算公式中,得到多列方差损失函数值,其中,所述多列方差损失函数的计算公式为:
其中:
其中,LM为多列方差损失函数值,表示金子塔尺度网络中第i个消息传递模块所对应第j列的第一注意力向量,表示第i个消息传递模块中除第j列外其余列的第一注意力向量之平均,S表示消息传递模块对应的列数,K表示金字塔多尺度网络中消息传递模块的数量,||·||表示向量的模长,∈用以避免被零除,N表示输入人群样本图片的数量。
可选的,所述基于待训练的人群密度图生成模型所得的人群密度图与所述训练数据集中所述人群样本图片对应的人群样本密度图,计算得到欧几里得损失函数值的步骤包括:
将所述待训练的人群密度图生成模型所得的人群密度图与所述训练数据集中所述人群样本图片对应的人群样本密度图代入到欧几里得损失函数的计算公式,得到欧几里得损失函数值,所述欧几里得损失函数的计算公式为:
其中,LE为欧几里得损失函数值,θ表示待训练的人群密度图生成模型的参数,Xn表示第n张输入的人群样本图片,G(Xn;θ)表示待训练的人群密度图生成模型所得的人群密度图,表示所述训练数据集中所述人群样本图片对应的人群样本密度图。
可选的,所述基于所述多列方差损失函数值与欧几里得损失函数值,得到联合损失函数值的步骤包括:
将所述多列方差损失函数值与欧几里得损失函数值代入到联合损失函数的计算公式中,得到联合损失函数值,其中所述联合损失函数的计算公式为:
L=LE+λLM
其中,L为联合损失函数值,LM为多列方差损失函数值,LE为欧几里得损失函数值,λ是平衡LE和LM的权重,是超参数。
第二方面,本发明还提供一种复杂场景下的人群计数装置,所述复杂场景下的人群计数装置包括:
第一特征提取模块,用于将待检测的人群图片输入到训练完成的人群密度图生成模型中的主干网络,得到第一特征向量;
第二特征提取模块,用于将所述第一特征向量输入到训练完成的人群密度图生成模型中的金字塔多尺度网络,得到第二特征向量,其中,所述金字塔多尺度网络包括预设个数的金字塔多尺度模块,所述金字塔多尺度模块之间为串联连接,每个所述金字塔多尺度模块包括一个消息传递模块和一个注意力模块,所述消息传递模块包括多列采用消息传递机制的全卷积结构,所述注意力模块包括采用注意力机制的全局池化层和卷积层;
生成模块,用于将所述第二特征向量输入到训练完成的人群密度图生成模型中的生成网络,得到所述待检测的人群图片对应的人群密度图;
计数模块,用于对所述人群密度图的感兴趣区域的目标像素值进行积分求和,得到所述感兴趣区域的总人数。
可选的,所述第二特征提取模块,用于:
将所述第一特征向量输入到训练完成的人群密度图生成模型中的金字塔多尺度网络的第一金字塔多尺度模块,基于所述第一金字塔多尺度模块中的注意力模块,得到注意力向量;
基于所述第一金字塔多尺度模块中的消息传递模块每一列的全卷积结构,得到初始特征向量组,所述初始特征向量组包含预设列数的初始特征向量;
重复执行将所述初始特征向量组中当前列的的全卷积结构生成的初始特征向量与上一列的全卷积结构生成的初始特征向量进行拼接,并输入到一个卷积层中进行融合,得到当前列的输出特征向量的步骤,直到得到所有列的输出特征向量;
将所述所有列的输出特征向量输入到一个卷积层中,融合得到第一融合特征向量;
将所述第一融合特征向量与所述注意力向量进行融合,得到第二融合特征向量,所述第二融合特征向量为所述第一金字塔多尺度模块输出的特征向量;
将所述第一金字塔多尺度模块输出的特征向量输入到第二金字塔多尺度模块,得到第二金字塔多尺度模块输出的特征向量,以此类推,直到得到最后一个金字塔多尺度模块输出的特征向量,所述最后一个金字塔多尺度模块输出的特征向量为第二特征向量。
可选的,所述复杂场景下的人群计数装置,还包括训练模块,用于:
构建成对的训练数据集,所述训练数据集包括若干人群样本图片与所述人群样本图片对应的人群样本密度图;
将所述训练数据集中的人群样本图片输入到待训练的人群密度图生成模型中的主干网络,得到第一样本特征向量;
将所述第一样本特征向量输入到待训练的人群密度图生成模型中的金字塔多尺度网络的第一金字塔多尺度模块,基于所述第一金字塔多尺度模块中的注意力模块,得到样本注意力向量;
基于所述第一金字塔多尺度模块中的消息传递模块每一列的全卷积结构,得到初始样本特征向量组,所述初始样本特征向量组包含预设列数的初始样本特征向量;
重复执行将所述初始样本特征向量组中当前列的的全卷积结构生成的初始特征样本向量与上一列的全卷积结构生成的初始样本特征向量进行拼接,并输入到一个卷积层中进行融合,得到当前列的样本输出特征向量的步骤,直到得到所有列的样本输出特征向量;
基于所述所有列的样本输出特征向量,得到各消息传递模块每列对应的第一注意力向量;
基于所述每列对应的第一注意力向量,计算得到多列方差损失函数值;
将所述所有列的样本输出特征向量输入到一个卷积层中,融合得到第一样本融合特征向量;
将所述第一样本融合特征向量与所述样本注意力向量进行融合,得到第二样本融合特征向量,所述第二样本融合特征向量为所述第一金字塔多尺度模块输出的样本特征向量;
将所述第一金字塔多尺度模块输出的样本特征向量输入到第二金字塔多尺度模块,得到第二金字塔多尺度模块输出的样本特征向量,以此类推,直到得到最后一个金字塔多尺度模块输出的样本特征向量,所述最后一个金字塔多尺度模块输出的样本特征向量为第二样本特征向量;
将所述第二样本特征向量输入到待训练的人群密度图生成模型中的生成网络,得到所述人群样本图片对应的人群密度图;
基于待训练的人群密度图生成模型所得的人群密度图与所述训练数据集中所述人群样本图片对应的人群样本密度图,计算得到欧几里得损失函数值;
基于所述多列方差损失函数值与所述欧几里得损失函数值,得到联合损失函数值;
将所述联合损失函数值反向传播给待训练的人群密度图生成模型,基于所述联合损失函数值调整人群密度图生成模型的参数;
检测人群密度图生成模型的联合损失函数值是否收敛;
若所述人群密度图生成模型的联合损失函数值未收敛,则以训练数据集中新的人群样本图片作为人群样本图片,并返回执行将所述训练数据集中的人群样本图片输入到待训练的人群密度图生成模型中的主干网络,得到第一样本特征向量的步骤;
若所述人群密度图生成模型的联合损失函数值收敛,则以最新的人群密度图生成模型作为训练完成的人群密度图生成模型。
可选的,所述训练模块,用于:
将所述每列对应的第一特征向量代入到多列方差损失函数的计算公式中,得到多列方差损失函数值,其中,所述多列方差损失函数的计算公式为:
其中:
其中,LM为多列方差损失函数值,表示金子塔尺度网络中第i个消息传递模块所对应第j列的第一注意力向量,表示第i个消息传递模块中除第j列外其余列的第一注意力向量之平均,S表示消息传递模块对应的列数,K表示金字塔多尺度网络中消息传递模块的数量,||·||表示向量的模长,∈用以避免被零除,N表示输入人群样本图片的数量。
可选的,所述训练模块,用于:
将所述待训练的人群密度图生成模型所得的人群密度图与所述训练数据集中所述人群样本图片对应的人群样本密度图代入到欧几里得损失函数的计算公式,得到欧几里得损失函数值,所述欧几里得损失函数的计算公式为:
其中,LE为欧几里得损失函数值,θ表示待训练的人群密度图生成模型的参数,Xn表示第n张输入的人群样本图片,G(Xn;θ)表示待训练的人群密度图生成模型所得的人群密度图,表示所述训练数据集中所述人群样本图片对应的人群样本密度图。
可选的,所述训练模块,用于:
将所述多列方差损失函数值与欧几里得损失函数值代入到联合损失函数的计算公式中,得到联合损失函数值,其中所述联合损失函数的计算公式为:
L=LE+λLM
其中,L为联合损失函数值,LM为多列方差损失函数值,LE为欧几里得损失函数值,λ是平衡LE和LM的权重,是超参数。
第三方面,本发明还提供一种复杂场景下的人群计数设备,所述复杂场景下的人群计数设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的复杂场景下的人群计数程序,其中所述复杂场景下的人群计数程序被所述处理器执行时,实现如上述所述的复杂场景下的人群计数方法的步骤。
第四方面,本发明还提供一种可读存储介质,所述可读存储介质上存储有复杂场景下的人群计数程序,其中所述复杂场景下的人群计数程序被处理器执行时,实现如上述所述的复杂场景下的人群计数方法的步骤。
本发明,通过改进后的人群密度图生成模型得到人群图片对应的人群密度图,再基于人群密度图完成人群计数,其中,人群密度图生成模型中采用新型的多列结构即金字塔多尺度模块。相较于传统多列结构各列相互独立,金字塔多尺度模块的各列相互协作,使得金字塔多尺度模块对应尺度数量远大于列的数目,从而实现更高效抽取多尺度高级特征。同时基于多列方差损失来指导金字塔多尺度模块的训练,促使每列学习不一样的特征,从而提高检测准确率,解决了传统多列结构存在的特征相似性和尺度有限性问题,进一步地提升了人群计数的精确度和人群密度图的生成质量。
附图说明
图1为本发明实施例方案中涉及的复杂场景下的人群计数设备的硬件结构示意图;
图2为本发明复杂场景下的人群计数方法一实施例的流程示意图;
图3为本发明复杂场景下的人群计数装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
第一方面,本发明实施例提供一种复杂场景下的人群计数设备。
参照图1,图1为本发明实施例方案中涉及的复杂场景下的人群计数设备的硬件结构示意图。本发明实施例中,复杂场景下的人群计数设备可以包括处理器1001(例如中央处理器Central ProcessingUnit,CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless-FIdelity,WI-FI接口);存储器1005可以是高速随机存取存储器(random access memory,RAM),也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。本领域技术人员可以理解,图1中示出的硬件结构并不构成对本发明的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
继续参照图1,图1中作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及复杂场景下的人群计数程序。其中,处理器1001可以调用存储器1005中存储的复杂场景下的人群计数程序,并执行本发明实施例提供的复杂场景下的人群计数方法。
第二方面,本发明实施例提供了一种复杂场景下的人群计数方法。
参照图2,图2为本发明复杂场景下的人群计数方法一实施例的流程示意图。
在本发明复杂场景下的人群计数方法一实施例中,复杂场景下的人群计数方法包括:
步骤S10,将待检测的人群图片输入到训练完成的人群密度图生成模型中的主干网络,得到第一特征向量;
本实施例中,将待检测的人群图片输入到训练完成的人群密度图生成模型中的主干网络,抽取待检测的人群图片中对应行人位置的纹理、边缘等低级特征,得到该主干网络输出的第一特征向量。考虑到运算成本和准确性的平衡,该主干网络可以由VGG-16网络的前13层(Conv1-Conv4)组成,包括 10个卷积层和3个最大池化层。
步骤S20,将所述第一特征向量输入到训练完成的人群密度图生成模型中的金字塔多尺度网络,得到第二特征向量,其中,所述金字塔多尺度网络包括预设个数的金字塔多尺度模块,所述金字塔多尺度模块之间为串联连接,每个所述金字塔多尺度模块包括一个消息传递模块和一个注意力模块,所述消息传递模块包括多列采用消息传递机制的全卷积结构,所述注意力模块包括采用注意力机制的全局池化层和卷积层;
本实施例中,将所述第一特征向量输入到训练完成的人群密度图生成模型中的金字塔多尺度网络,在主干网络所抽取得到的待检测的人群图片中对应行人位置的纹理、边缘等低级特征的基础上,进一步抽取多尺度的高级特征,得到第二特征向量。由于现有技术中提取高级特征的多列结构中不同列的表现相似而没有明显差异,因此在所述金字塔多尺度网络中采用消息传递机制与注意力机制对金字塔多尺度网络中的多列结构进行改进,改进后的金字塔多尺度网络可以更高效的抽取多尺度高级特征以及扩大尺度抽取的范围,基于所得的第二特征向量也可以提高人群计数性能。
具体地,改进后的且训练完成的人群密度图生成模型中的金字塔多尺度网络包括预设个数的金字塔多尺度模块,其中,每个金字塔多尺度模块之间为串联连接,上一金字塔多尺度模块的输出作为当前金字塔多尺度模块的输入。每个金字塔多尺度模块包括一个消息传递模块和一个注意力模块。消息传递模块包括多列采用消息传递机制的全卷积结构,其中,每列的全卷积结构包括不同感受野大小的卷积层,注意力模块包括采用注意力机制的全局池化层和卷积层。
相较于现有人群计数方法中的多列结构是相互独立工作的,导致每列之间出现严重的信息冗余,采用消息传递机制的全卷积结构,各列之间是通过消息传递机制相互协作工作的,且该多列全卷积结构中对应的尺度数量要远大于列的数量。同时,采用注意力机制的注意力模块该注意力向量可以用于为消息传递模块所输出的多尺度高级特征向量,提供全局上下文注意力指导。因此,改进后的训练完成的采用消息传递机制与注意力机制的金字塔多尺度网络可以解决现有技术中,人群计数算法受限于所采用的多列模型的特征相似性和尺度有限性问题,导致人群计数的精确度和密度图的生成质量不能进一步提升的技术问题,从而实现更高效地抽取多尺度的高级特征的技术效果。
进一步地,一实施例中,所述步骤S20包括:
将所述第一特征向量输入到训练完成的人群密度图生成模型中的金字塔多尺度网络的第一金字塔多尺度模块,基于所述第一金字塔多尺度模块中的注意力模块,得到注意力向量;
基于所述第一金字塔多尺度模块中的消息传递模块每一列的全卷积结构,得到初始特征向量组,所述初始特征向量组包含预设列数的初始特征向量;
重复执行将所述初始特征向量组中当前列的全卷积结构生成的初始特征向量与上一列的全卷积结构生成的初始特征向量进行拼接,并输入到一个卷积层中进行融合,得到当前列的输出特征向量的步骤,直到得到所有列的输出特征向量;
将所述所有列的输出特征向量输入到一个卷积层中,融合得到第一融合特征向量;
将所述第一融合特征向量与所述注意力向量进行融合,得到第二融合特征向量,所述第二融合特征向量为所述第一金字塔多尺度模块输出的特征向量;
将所述第一金字塔多尺度模块输出的特征向量输入到第二金字塔多尺度模块,得到第二金字塔多尺度模块输出的特征向量,以此类推,直到得到最后一个金字塔多尺度模块输出的特征向量,所述最后一个金字塔多尺度模块输出的特征向量为第二特征向量。
本实施例中,基于训练完成的人群密度图生成模型中的金字塔多尺度网络,得到第二特征向量的步骤具体包括:将基于训练完成的人群密度图生成模型中的主干网络所得到的第一特征向量输入到训练完成的人群密度图生成模型中的金字塔多尺度网络的第一金字塔多尺度模块,基于所述第一金字塔多尺度模块中的注意力模块,得到注意力向量,该注意力向量用于为消息传递模块所输出的多尺度高级特征向量提供全局上下文注意力指导。
其中,每一金字塔多尺度模块中的消息传递模块包括多列采用消息传递机制的全卷积结构,则基于消息传递模块得到的多尺度高级特征向量的步骤具体包括:基于所述第一金字塔多尺度模块中的消息传递模块每一列的全卷积结构,得到初始特征向量组,所述初始特征向量组包含预设列数的初始特征向量。重复执行将所述初始特征向量组中当前列的全卷积结构生成的初始特征向量与上一列的全卷积结构生成的初始特征向量进行拼接,并输入到一个卷积层中进行融合,得到当前列的输出特征向量的步骤,直到得到所有列的输出特征向量。其中,所得的所有列的输出特征向量为基于消息传递模块得到的多尺度高级特征向量。训练完成的人群密度图生成模型的金字塔多尺度模块中的消息传递模块,其多列的全卷积结构对应的尺度数量要远大于列的数量,且基于该消息传递模块所生成的所有列的特征向量之间的特征区别度,相较于现有的多列结构所得的各列向量之间的特征区别度要高。
将所述所有列的输出特征向量输入到一个卷积层中,可以融合得到第一融合特征向量。将所述第一融合特征向量与基于所述第一金字塔多尺度模块中的注意力模块所得的注意力向量进行融合,得到第二融合特征向量,所述第二融合特征向量为所述第一金字塔多尺度模块输出的特征向量。其中,金字塔多尺度模块中包括预设个数的金字塔多尺度网络,而每个金字塔多尺度模块之间为串联连接,上一金字塔多尺度模块的输出作为当前金字塔多尺度模块的输入。因此,当得到第一金字塔多尺度模块输出的特征向量后,将所述第一金字塔多尺度模块输出的特征向量输入到第二金字塔多尺度模块,得到第二金字塔多尺度模块输出的特征向量,以此类推,直到得到最后一个金字塔多尺度模块输出的特征向量,所述最后一个金字塔多尺度模块输出的特征向量为第二特征向量。其中,训练完成的金字塔多尺度网络解决了现有技术中多列结构提取的特征向量所存在的特征相似性与尺度有限性的问题,对复杂场景下的人群图片中不同行人的特征检测提取的性能更佳。
步骤S30,将所述第二特征向量输入到训练完成的人群密度图生成模型中的生成网络,得到所述待检测的人群图片对应的人群密度图;
本实施例中,将基于训练完成的人群密度图生成模型中的金字塔多尺度网络所得的第二特征向量输入到训练完成的人群密度图生成模型中的生成网络,生成网络先完成人群密度图粗粒度的构造,再完成其细粒度的构造,最后输出待检测的人群图片对应的人群密度图。其中,训练完成的人群密度图生成模型中的生成网络由若干卷积层组成,最后一个卷积层的卷积核大小为 1×1,其它卷积层卷积核大小为3×3,最后一层的通道数为1。
步骤S40,对所述人群密度图的感兴趣区域的目标像素值进行积分求和,得到所述感兴趣区域的总人数。
本实施例中,对基于人群密度图生成模型生成的人群密度图的感兴趣区域的目标像素值进行积分求和,可以得到所述感兴趣区域的总人数。
进一步地,一实施例中,所述步骤S10之前包括:
构建成对的训练数据集,所述训练数据集包括若干人群样本图片与所述人群样本图片对应的人群样本密度图;
将所述训练数据集中的人群样本图片输入到待训练的人群密度图生成模型中的主干网络,得到第一样本特征向量;
将所述第一样本特征向量输入到待训练的人群密度图生成模型中的金字塔多尺度网络的第一金字塔多尺度模块,基于所述第一金字塔多尺度模块中的注意力模块,得到样本注意力向量;
基于所述第一金字塔多尺度模块中的消息传递模块每一列的全卷积结构,得到初始样本特征向量组,所述初始样本特征向量组包含预设列数的初始样本特征向量;
重复执行将所述初始样本特征向量组中当前列的全卷积结构生成的初始特征样本向量与上一列的全卷积结构生成的初始样本特征向量进行拼接,并输入到一个卷积层中进行融合,得到当前列的样本输出特征向量的步骤,直到得到所有列的样本输出特征向量;
基于所述所有列的样本输出特征向量,得到各消息传递模块每列对应的第一注意力向量;
基于所述每列对应的第一注意力向量,计算得到多列方差损失函数值;
将所述所有列的样本输出特征向量输入到一个卷积层中,融合得到第一样本融合特征向量;
将所述第一样本融合特征向量与所述样本注意力向量进行融合,得到第二样本融合特征向量,所述第二样本融合特征向量为所述第一金字塔多尺度模块输出的样本特征向量;
将所述第一金字塔多尺度模块输出的样本特征向量输入到第二金字塔多尺度模块,得到第二金字塔多尺度模块输出的样本特征向量,以此类推,直到得到最后一个金字塔多尺度模块输出的样本特征向量,所述最后一个金字塔多尺度模块输出的样本特征向量为第二样本特征向量;
将所述第二样本特征向量输入到待训练的人群密度图生成模型中的生成网络,得到所述人群样本图片对应的人群密度图;
基于待训练的人群密度图生成模型所得的人群密度图与所述训练数据集中所述人群样本图片对应的人群样本密度图,计算得到欧几里得损失函数值;
基于所述多列方差损失函数值与所述欧几里得损失函数值,得到联合损失函数值;
将所述联合损失函数值反向传播给待训练的人群密度图生成模型,基于所述联合损失函数值调整人群密度图生成模型的参数;
检测人群密度图生成模型的联合损失函数值是否收敛;
若所述人群密度图生成模型的联合损失函数值未收敛,则以训练数据集中新的人群样本图片作为人群样本图片,并返回执行将所述训练数据集中的人群样本图片输入到待训练的人群密度图生成模型中的主干网络,得到第一样本特征向量的步骤;
若所述人群密度图生成模型的联合损失函数值收敛,则以最新的人群密度图生成模型作为训练完成的人群密度图生成模型。
本实施例中,构建成对的训练数据集,所述训练数据集包括若干人群样本图片与所述人群样本图片对应的人群样本密度图。其中,构建成对的训练数据集的步骤包括:采集若干个高清真实人群样本图片,采用点标注,对所采集的若干高清真实人群样本图片的行人头部中心打点。基于所标记的中心坐标利用二维高斯核卷积,构造人群样本图片所对应的真实人群样本密度图,其中,针对人群样本图片中不同的人群密度,可以将人群样本图片分成高密度组与低密度组两类,高密度组采用几何自适应大小的高斯核生成对应的高质量密度图,低密度组采用固定大小的高斯核生成对应的高质量密度图。具体地,基于所标记的中心坐标利用二维高斯核卷积,构造人群样本图片所对应的真实人群样本密度图的步骤包括:将行人头部像素xi处表示为增量函数δ(x-xi),因此带有N个头部标记的图片所对应的人群密度图F(x)可以表示为:其中,Gσ(x)是一个二维高斯核卷积,σ是其宽度参数。
构建完成成对的训练数据集后,将该训练数据集中的人群样本图片输入到待训练的人群密度图生成模型中的主干网络,得到第一样本特征向量。将该第一样本特征向量输入到待训练的人群密度图生成模型中的金字塔多尺度网络的第一金字塔多尺度模块,基于所述第一金字塔多尺度模块中的注意力模块,得到样本注意力向量。基于所述第一金字塔多尺度模块中的消息传递模块每一列的全卷积结构,得到初始样本特征向量组,所述初始样本特征向量组包含预列数的初始样本特征向量。重复执行将所述初始样本特征向量组中当前列的的全卷积结构生成的初始特征样本向量与上一列的全卷积结构生成的初始样本特征向量进行拼接,并输入到一个卷积层中进行融合,得到当前列的样本输出特征向量的步骤,直到得到所有列的样本输出特征向量。
基于所述所有列的样本输出特征向量,得到各消息传递模块每列对应的第一注意力向量。具体地,设定金字塔尺度网络中第i个消息传递模块所对应第j列的第一注意力向量对于金字塔尺度网络中第i个消息传递模块所对应第j列的样本输出特征向量首先沿通道轴应用平均池化操作获得对应的注意力图然后展平注意力图可以获得最终的第一注意力向量当得到各消息传递模块每列所对应的第一注意力向量,可以使用多列方差损失来度量这些第一注意力向量间的相似性,促使每列努力去学习不一样的特征。即基于所述每列对应的第一注意力向量,计算得到多列方差损失函数值。
将所得的所有列的样本输出特征向量输入到一个卷积层中,融合得到第一样本融合特征向量。将所得的第一样本融合特征向量与所得的样本注意力向量进行融合,得到第二样本融合特征向量,该第二样本融合特征向量为所述第一金字塔多尺度模块输出的样本特征向量。将所得的第一金字塔多尺度模块输出的样本特征向量输入到第二金字塔多尺度模块,得到第二金字塔多尺度模块输出的样本特征向量,以此类推,直到得到最后一个金字塔多尺度模块输出的样本特征向量,所述最后一个金字塔多尺度模块输出的样本特征向量为第二样本特征向量。
将所述第二样本特征向量输入到待训练的人群密度图生成模型中的生成网络,得到所述人群样本图片对应的人群密度图。基于待训练的人群密度图生成模型所得的人群密度图与所述训练数据集中所述人群样本图片对应的人群样本密度图,计算得到欧几里得损失函数值。
基于所述多列方差损失函数值与所述欧几里得损失函数值,得到联合损失函数值。将所得的联合损失函数值反向传播给待训练的人群密度图生成模型,基于所述联合损失函数值调整人群密度图生成模型的参数。并在每次新的联合损失函数值时,检测人群密度图生成模型的联合损失函数值是否收敛。
若该待训练的人群密度图生成模型的联合损失函数值未收敛,则以训练数据集中新的人群样本图片作为人群样本图片,并返回执行将所述训练数据集中的人群样本图片输入到待训练的人群密度图生成模型中的主干网络,得到第一样本特征向量的步骤,重新训练。若该待训练的人群密度图生成模型的联合损失函数值收敛,则训练结束,以最新的人群密度图生成模型作为训练完成的人群密度图生成模型。
其中,训练完成后,在测试集上基于可以采用MAE和MSE两个指标评价该人群计数方法的模型性能。MAE评价指标为: MSE评价指标为:其中,MAE表示人群估计的准确性,而MSE表示人群估计的鲁棒性;N表示测试图片的数量,Ci表示预测人群计数,表示真实人群计数。其中,基于MAE和MSE两个指标评价,可以判断该人群计数方法进行人群估计的准确性和鲁棒性都有所提升。
进一步地,一实施例中,所述基于所述第一注意力向量,计算得到多列方差损失函数值的步骤包括:
将所述每列对应的第一注意力向量代入到多列方差损失函数的计算公式中,得到多列方差损失函数值,其中,所述多列方差损失函数的计算公式为:
其中:
其中,LM为多列方差损失函数值,表示金子塔尺度网络中第i个消息传递模块所对应第j列的第一注意力向量,表示第i个消息传递模块中除第j列外其余列的第一注意力向量之平均,S表示消息传递模块对应的列数,K表示金字塔多尺度网络中消息传递模块的数量,||·||表示向量的模长,∈用以避免被零除,N表示输入人群样本图片的数量。
本实施例中,多列方差损失基于余弦相似度实现。余弦相似度是一种量化两个或多个向量之间相似度的度量,它由两个向量之间夹角的余弦来测量,并确定两个向量的指向方向有多接近。定义多列方差损失函数的计算公式为:其中,LM为多列方差损失函数值,表示金子塔尺度网络中第i个消息传递模块所对应第j列的第一注意力向量。表示第i个消息传递模块中除第j列外其余列的第一注意力向量之平均其中,S表示消息传递模块对应的列数,K表示金字塔多尺度网络中消息传递模块的数量,||·||表示向量的模长,∈用以避免被零除,N表示输入人群样本图片的数量。其中,多列方差损失的取值范围是[0,1],多列方差损失越大,每列之间的特征相似性越高。
因此基于所述第一注意力向量,计算得到多列方差损失函数值的步骤具体包括:将所述每列对应的第一注意力向量代入到多列方差损失函数的计算公式中,得到多列方差损失函数值。
进一步地,一实施例中,所述基于待训练的人群密度图生成模型所得的人群密度图与所述训练数据集中所述人群样本图片对应的人群样本密度图,计算得到欧几里得损失函数值的步骤包括:
将所述待训练的人群密度图生成模型所得的人群密度图与所述训练数据集中所述人群样本图片对应的人群样本密度图代入到欧几里得损失函数的计算公式,得到欧几里得损失函数值,所述欧几里得损失函数的计算公式为:
其中,LE为欧几里得损失函数值,θ表示待训练的人群密度图生成模型的参数,Xn表示第n张输入的人群样本图片,G(Xn;θ)表示待训练的人群密度图生成模型所得的人群密度图,表示所述训练数据集中所述人群样本图片对应的人群样本密度图。
本实施例中,使用欧几里得损失来测量预测密度图和真实密度图之间像素级的差异,指导模型生成和真实密度图无差异的预测密度图。定义欧几里得损失函数的计算公式为:其中,LE为欧几里得损失函数值,θ表示待训练的人群密度图生成模型的参数,Xn表示第n 张输入的人群样本图片,G(Xn;θ)表示待训练的人群密度图生成模型所得的人群密度图,表示所述训练数据集中所述人群样本图片对应的人群样本密度图。
将所述待训练的人群密度图生成模型所得的人群密度图与所述训练数据集中所述人群样本图片对应的人群样本密度图代入到欧几里得损失函数的计算公式,得到欧几里得损失函数值。
进一步地,一实施例中,所述基于所述多列方差损失函数值与欧几里得损失函数值,得到联合损失函数值的步骤包括:
将所述多列方差损失函数值与欧几里得损失函数值代入到联合损失函数的计算公式中,得到联合损失函数值,其中所述联合损失函数的计算公式为:
L=LE+λLM
其中,L为联合损失函数值,LM为多列方差损失函数值,LE为欧几里得损失函数值,λ是超参数,用于平衡LE和LM的权重。
本实施例中,以降低待训练的人群密度图生成模型中的联合损失函数为目标,使用反向传播算法将训练数据集中的成对真实人群样本图片和高质量人群样本密度图输入模型进行训练。定义联合损失函数的计算公式为:L= LE+λLM。其中,,L为联合损失函数值,LM为多列方差损失函数值,LE为欧几里得损失函数值,λ是超参数,而非待训练的人群密度图生成模型所需训练的,是用于平衡LE和LM的权重。则基于所述多列方差损失函数值与欧几里得损失函数值,得到联合损失函数值的步骤包括:将所述多列方差损失函数值与欧几里得损失函数值代入到联合损失函数的计算公式中,得到联合损失函数值。
本实施例中,通过改进后的人群密度图生成模型得到人群图片对应的人群密度图,再基于人群密度图完成人群计数,其中,人群密度图生成模型中采用新型的多列结构即金字塔多尺度模块。相较于传统多列结构各列相互独立,金字塔多尺度模块的各列相互协作,使得金字塔多尺度模块对应尺度数量远大于列的数目,从而实现更高效抽取多尺度高级的行人特征。同时基于多列方差损失来指导金字塔多尺度模块的训练,促使每列学习不一样的行人特征,从而提高检测准确率,解决了传统多列结构存在的特征相似性和尺度有限性问题,进一步地提升了人群计数的精确度和人群密度图的生成质量。其中,本发明所提出的金字塔多尺度模块与多列方差损失可以很容易作为插件直接应用于现有的其他多列结构,显著提高其他多列结构的性能。且本发明不仅可以对多种复杂场景下的人群进行更加准确的人群数量估计,还可以迁移到其他目标计数领域,如细胞镜检、车辆计数等。
第三方面,本发明实施例还提供一种复杂场景下的人群计数装置。
参照图3,复杂场景下的人群计数装置一实施例的功能模块示意图。
第一特征提取模块,用于将待检测的人群图片输入到训练完成的人群密度图生成模型中的主干网络,得到第一特征向量;
第二特征提取模块,用于将所述第一特征向量输入到训练完成的人群密度图生成模型中的金字塔多尺度网络,得到第二特征向量,其中,所述金字塔多尺度网络包括预设个数的金字塔多尺度模块,所述金字塔多尺度模块之间为串联连接,每个所述金字塔多尺度模块包括一个消息传递模块和一个注意力模块,所述消息传递模块包括多列采用消息传递机制的全卷积结构,所述注意力模块包括采用注意力机制的全局池化层和卷积层;
生成模块,用于将所述第二特征向量输入到训练完成的人群密度图生成模型中的生成网络,得到所述待检测的人群图片对应的人群密度图;
计数模块,用于对所述人群密度图的感兴趣区域的目标像素值进行积分求和,得到所述感兴趣区域的总人数。
进一步,一实施例中,所述第二特征提取模块,用于:
将所述第一特征向量输入到训练完成的人群密度图生成模型中的金字塔多尺度网络的第一金字塔多尺度模块,基于所述第一金字塔多尺度模块中的注意力模块,得到注意力向量;
基于所述第一金字塔多尺度模块中的消息传递模块每一列的全卷积结构,得到初始特征向量组,所述初始特征向量组包含预设列数的初始特征向量;
重复执行将所述初始特征向量组中当前列的全卷积结构生成的初始特征向量与上一列的全卷积结构生成的初始特征向量进行拼接,并输入到一个卷积层中进行融合,得到当前列的输出特征向量的步骤,直到得到所有列的输出特征向量;
将所述所有列的输出特征向量输入到一个卷积层中,融合得到第一融合特征向量;
将所述第一融合特征向量与所述注意力向量进行融合,得到第二融合特征向量,所述第二融合特征向量为所述第一金字塔多尺度模块输出的特征向量;
将所述第一金字塔多尺度模块输出的特征向量输入到第二金字塔多尺度模块,得到第二金字塔多尺度模块输出的特征向量,以此类推,直到得到最后一个金字塔多尺度模块输出的特征向量,所述最后一个金字塔多尺度模块输出的特征向量为第二特征向量。
进一步,一实施例中,所述复杂场景下的人群计数装置,还包括训练模块,用于:
构建成对的训练数据集,所述训练数据集包括若干人群样本图片与所述人群样本图片对应的人群样本密度图;
将所述训练数据集中的人群样本图片输入到待训练的人群密度图生成模型中的主干网络,得到第一样本特征向量;
将所述第一样本特征向量输入到待训练的人群密度图生成模型中的金字塔多尺度网络的第一金字塔多尺度模块,基于所述第一金字塔多尺度模块中的注意力模块,得到样本注意力向量;
基于所述第一金字塔多尺度模块中的消息传递模块每一列的全卷积结构,得到初始样本特征向量组,所述初始样本特征向量组包含预设列数的初始样本特征向量;
重复执行将所述初始样本特征向量组中当前列的全卷积结构生成的初始特征样本向量与上一列的全卷积结构生成的初始样本特征向量进行拼接,并输入到一个卷积层中进行融合,得到当前列的样本输出特征向量的步骤,直到得到所有列的样本输出特征向量;
基于所述所有列的样本输出特征向量,得到各消息传递模块每列对应的第一注意力向量;
基于所述每列对应的第一注意力向量,计算得到多列方差损失函数值;
将所述所有列的样本输出特征向量输入到一个卷积层中,融合得到第一样本融合特征向量;
将所述第一样本融合特征向量与所述样本注意力向量进行融合,得到第二样本融合特征向量,所述第二样本融合特征向量为所述第一金字塔多尺度模块输出的样本特征向量;
将所述第一金字塔多尺度模块输出的样本特征向量输入到第二金字塔多尺度模块,得到第二金字塔多尺度模块输出的样本特征向量,以此类推,直到得到最后一个金字塔多尺度模块输出的样本特征向量,所述最后一个金字塔多尺度模块输出的样本特征向量为第二样本特征向量;
将所述第二样本特征向量输入到待训练的人群密度图生成模型中的生成网络,得到所述人群样本图片对应的人群密度图;
基于待训练的人群密度图生成模型所得的人群密度图与所述训练数据集中所述人群样本图片对应的人群样本密度图,计算得到欧几里得损失函数值;
基于所述多列方差损失函数值与所述欧几里得损失函数值,得到联合损失函数值;
将所述联合损失函数值反向传播给待训练的人群密度图生成模型,基于所述联合损失函数值调整人群密度图生成模型的参数;
检测人群密度图生成模型的联合损失函数值是否收敛;
若所述人群密度图生成模型的联合损失函数值未收敛,则以训练数据集中新的人群样本图片作为人群样本图片,并返回执行将所述训练数据集中的人群样本图片输入到待训练的人群密度图生成模型中的主干网络,得到第一样本特征向量的步骤;
若所述人群密度图生成模型的联合损失函数值收敛,则以最新的人群密度图生成模型作为训练完成的人群密度图生成模型。
进一步,一实施例中,所述训练模块,用于:
将所述每列对应的第一特征向量代入到多列方差损失函数的计算公式中,得到多列方差损失函数值,其中,所述多列方差损失函数的计算公式为:
其中:
其中,LM为多列方差损失函数值,表示金子塔尺度网络中第i个消息传递模块所对应第j列的第一注意力向量,表示第i个消息传递模块中除第j列外其余列的第一注意力向量之平均,S表示消息传递模块对应的列数,K表示金字塔多尺度网络中消息传递模块的数量,||·||表示向量的模长,∈用以避免被零除,N表示输入人群样本图片的数量。
进一步,一实施例中,所述训练模块,用于:
将所述待训练的人群密度图生成模型所得的人群密度图与所述训练数据集中所述人群样本图片对应的人群样本密度图代入到欧几里得损失函数的计算公式,得到欧几里得损失函数值,所述欧几里得损失函数的计算公式为:
其中,LE为欧几里得损失函数值,θ表示待训练的人群密度图生成模型的参数,Xn表示第n张输入的人群样本图片,G(Xn;θ)表示待训练的人群密度图生成模型所得的人群密度图,表示所述训练数据集中所述人群样本图片对应的人群样本密度图。
进一步,一实施例中,所述训练模块,用于:
将所述多列方差损失函数与欧几里得损失函数代入到联合损失函数的计算公式中,得到联合损失函数值,其中所述联合损失函数的计算公式为:
L=LE+λLM
其中,L为联合损失函数值,LM为多列方差损失函数值,LE为欧几里得损失函数值,λ是平衡LE和LM的权重,是超参数。
其中,上述复杂场景下的人群计数装置中各个模块的功能实现与上述复杂场景下的人群计数方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。
第四方面,本发明实施例还提供一种可读存储介质。
本发明可读存储介质上存储有复杂场景下的人群计数程序,其中所述复杂场景下的人群计数程序被处理器执行时,实现如上述的复杂场景下的人群计数方法的步骤。
其中,复杂场景下的人群计数程序被执行时所实现的方法可参照本发明复杂场景下的人群计数方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.复杂场景下的人群计数方法,其特征在于,所述复杂场景下的人群计数方法包括:
将待检测的人群图片输入到训练完成的人群密度图生成模型中的主干网络,得到第一特征向量;
将所述第一特征向量输入到训练完成的人群密度图生成模型中的金字塔多尺度网络,得到第二特征向量,其中,所述金字塔多尺度网络包括预设个数的金字塔多尺度模块,所述金字塔多尺度模块之间为串联连接,每个所述金字塔多尺度模块包括一个消息传递模块和一个注意力模块,所述消息传递模块包括多列采用消息传递机制的全卷积结构,所述注意力模块包括采用注意力机制的全局池化层和卷积层;
将所述第二特征向量输入到训练完成的人群密度图生成模型中的生成网络,得到所述待检测的人群图片对应的人群密度图;
对所述人群密度图的感兴趣区域的目标像素值进行积分求和,得到所述感兴趣区域的总人数。
2.如权利要求1所述的复杂场景下的人群计数方法,其特征在于,所述将所述第一特征向量输入到训练完成的人群密度图生成模型中的金字塔多尺度网络,得到第二特征向量的步骤包括:
将所述第一特征向量输入到训练完成的人群密度图生成模型中的金字塔多尺度网络的第一金字塔多尺度模块,基于所述第一金字塔多尺度模块中的注意力模块,得到注意力向量;
基于所述第一金字塔多尺度模块中的消息传递模块每一列的全卷积结构,得到初始特征向量组,所述初始特征向量组包含预设列数的初始特征向量;
重复执行将所述初始特征向量组中当前列的的全卷积结构生成的初始特征向量与上一列的全卷积结构生成的初始特征向量进行拼接,并输入到一个卷积层中进行融合,得到当前列的输出特征向量的步骤,直到得到所有列的输出特征向量;
将所述所有列的输出特征向量输入到一个卷积层中,融合得到第一融合特征向量;
将所述第一融合特征向量与所述注意力向量进行融合,得到第二融合特征向量,所述第二融合特征向量为所述第一金字塔多尺度模块输出的特征向量;
将所述第一金字塔多尺度模块输出的特征向量输入到第二金字塔多尺度模块,得到第二金字塔多尺度模块输出的特征向量,以此类推,直到得到最后一个金字塔多尺度模块输出的特征向量,所述最后一个金字塔多尺度模块输出的特征向量为第二特征向量。
3.如权利要求1所述的复杂场景下的人群计数方法,其特征在于,所述将人群图片输入到训练完成的人群密度图生成模型中的主干网络,得到第一特征向量的步骤之前包括:
构建成对的训练数据集,所述训练数据集包括若干人群样本图片与所述人群样本图片对应的人群样本密度图;
将所述训练数据集中的人群样本图片输入到待训练的人群密度图生成模型中的主干网络,得到第一样本特征向量;
将所述第一样本特征向量输入到待训练的人群密度图生成模型中的金字塔多尺度网络的第一金字塔多尺度模块,基于所述第一金字塔多尺度模块中的注意力模块,得到样本注意力向量;
基于所述第一金字塔多尺度模块中的消息传递模块每一列的全卷积结构,得到初始样本特征向量组,所述初始样本特征向量组包含预设列数的初始样本特征向量;
重复执行将所述初始样本特征向量组中当前列的的全卷积结构生成的初始特征样本向量与上一列的全卷积结构生成的初始样本特征向量进行拼接,并输入到一个卷积层中进行融合,得到当前列的样本输出特征向量的步骤,直到得到所有列的样本输出特征向量;
基于所述所有列的样本输出特征向量,得到各消息传递模块每列对应的第一注意力向量;
基于所述每列对应的第一注意力向量,计算得到多列方差损失函数值;
将所述所有列的样本输出特征向量输入到一个卷积层中,融合得到第一样本融合特征向量;
将所述第一样本融合特征向量与所述样本注意力向量进行融合,得到第二样本融合特征向量,所述第二样本融合特征向量为所述第一金字塔多尺度模块输出的样本特征向量;
将所述第一金字塔多尺度模块输出的样本特征向量输入到第二金字塔多尺度模块,得到第二金字塔多尺度模块输出的样本特征向量,以此类推,直到得到最后一个金字塔多尺度模块输出的样本特征向量,所述最后一个金字塔多尺度模块输出的样本特征向量为第二样本特征向量;
将所述第二样本特征向量输入到待训练的人群密度图生成模型中的生成网络,得到所述人群样本图片对应的人群密度图;
基于待训练的人群密度图生成模型所得的人群密度图与所述训练数据集中所述人群样本图片对应的人群样本密度图,计算得到欧几里得损失函数值;
基于所述多列方差损失函数值与所述欧几里得损失函数值,得到联合损失函数值;
将所述联合损失函数值反向传播给待训练的人群密度图生成模型,基于所述联合损失函数值调整人群密度图生成模型的参数;
检测人群密度图生成模型的联合损失函数值是否收敛;
若所述人群密度图生成模型的联合损失函数值未收敛,则以训练数据集中新的人群样本图片作为人群样本图片,并返回执行将所述训练数据集中的人群样本图片输入到待训练的人群密度图生成模型中的主干网络,得到第一样本特征向量的步骤;
若所述人群密度图生成模型的联合损失函数值收敛,则以最新的人群密度图生成模型作为训练完成的人群密度图生成模型。
5.如权利要求3所述的复杂场景下的人群计数方法,其特征在于,所述基于待训练的人群密度图生成模型所得的人群密度图与所述训练数据集中所述人群样本图片对应的人群样本密度图,计算得到欧几里得损失函数值的步骤包括:
将所述待训练的人群密度图生成模型所得的人群密度图与所述训练数据集中所述人群样本图片对应的人群样本密度图代入到欧几里得损失函数的计算公式,得到欧几里得损失函数值,所述欧几里得损失函数的计算公式为:
6.如权利要求3所述的复杂场景下的人群计数方法,其特征在于,所述基于所述多列方差损失函数值与欧几里得损失函数值,得到联合损失函数值的步骤包括:
将所述多列方差损失函数值与欧几里得损失函数值代入到联合损失函数的计算公式中,得到联合损失函数值,其中所述联合损失函数的计算公式为:
L=LE+λLM
其中,L为联合损失函数值,LM为多列方差损失函数值,LE为欧几里得损失函数值,λ是平衡LE和LM的权重,是超参数。
7.一种复杂场景下的人群计数装置,其特征在于,所述复杂场景下的人群计数装置包括:
第一特征提取模块,用于将待检测的人群图片输入到训练完成的人群密度图生成模型中的主干网络,得到第一特征向量;
第二特征提取模块,用于将所述第一特征向量输入到训练完成的人群密度图生成模型中的金字塔多尺度网络,得到第二特征向量,其中,所述金字塔多尺度网络包括预设个数的金字塔多尺度模块,所述金字塔多尺度模块之间为串联连接,每个所述金字塔多尺度模块包括一个消息传递模块和一个注意力模块,所述消息传递模块包括多列采用消息传递机制的全卷积结构,所述注意力模块包括采用注意力机制的全局池化层和卷积层;
生成模块,用于将所述第二特征向量输入到训练完成的人群密度图生成模型中的生成网络,得到所述待检测的人群图片对应的人群密度图;
计数模块,用于对所述人群密度图的感兴趣区域的目标像素值进行积分求和,得到所述感兴趣区域的总人数。
8.如权利要求7所述的复杂场景下的人群计数装置,其特征在于,所述第二特征提取模块,用于:
将所述第一特征向量输入到训练完成的人群密度图生成模型中的金字塔多尺度网络的第一金字塔多尺度模块,基于所述第一金字塔多尺度模块中的注意力模块,得到注意力向量;
基于所述第一金字塔多尺度模块中的消息传递模块每一列的全卷积结构,得到初始特征向量组,所述初始特征向量组包含预设列数的初始特征向量;
重复执行将所述初始特征向量组中当前列的全卷积结构生成的初始特征向量与上一列的全卷积结构生成的初始特征向量进行拼接,并输入到一个卷积层中进行融合,得到当前列的输出特征向量的步骤,直到得到所有列的输出特征向量;
将所述所有列的输出特征向量输入到一个卷积层中,融合得到第一融合特征向量;
将所述第一融合特征向量与所述注意力向量进行融合,得到第二融合特征向量,所述第二融合特征向量为所述第一金字塔多尺度模块输出的特征向量;
将所述第一金字塔多尺度模块输出的特征向量输入到第二金字塔多尺度模块,得到第二金字塔多尺度模块输出的特征向量,以此类推,直到得到最后一个金字塔多尺度模块输出的特征向量,所述最后一个金字塔多尺度模块输出的特征向量为第二特征向量。
9.一种复杂场景下的人群计数设备,其特征在于,所述复杂场景下的人群计数设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的复杂场景下的人群计数程序,其中所述复杂场景下的人群计数程序被所述处理器执行时,实现如权利要求1至6中任一项所述的复杂场景下的人群计数方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有复杂场景下的人群计数程序,其中所述复杂场景下的人群计数程序被处理器执行时,实现如权利要求1至6中任一项所述的复杂场景下的人群计数方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210093740.9A CN114494194B (zh) | 2022-01-26 | 2022-01-26 | 复杂场景下的人群计数方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210093740.9A CN114494194B (zh) | 2022-01-26 | 2022-01-26 | 复杂场景下的人群计数方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114494194A true CN114494194A (zh) | 2022-05-13 |
CN114494194B CN114494194B (zh) | 2024-09-24 |
Family
ID=81474137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210093740.9A Active CN114494194B (zh) | 2022-01-26 | 2022-01-26 | 复杂场景下的人群计数方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114494194B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114758306A (zh) * | 2022-06-16 | 2022-07-15 | 松立控股集团股份有限公司 | 一种基于金字塔特征融合的人群密度估计方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101930A (zh) * | 2018-08-18 | 2018-12-28 | 华中科技大学 | 一种人群计数方法及系统 |
WO2020169043A1 (zh) * | 2019-02-21 | 2020-08-27 | 苏州大学 | 一种密集人群计数的方法、装置、设备以及存储介质 |
US10943692B1 (en) * | 2008-05-07 | 2021-03-09 | Lawrence A. Lynn | System and method for generating quaternary images of biologic force propagation and recovery |
CN113011329A (zh) * | 2021-03-19 | 2021-06-22 | 陕西科技大学 | 一种基于多尺度特征金字塔网络及密集人群计数方法 |
-
2022
- 2022-01-26 CN CN202210093740.9A patent/CN114494194B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10943692B1 (en) * | 2008-05-07 | 2021-03-09 | Lawrence A. Lynn | System and method for generating quaternary images of biologic force propagation and recovery |
CN109101930A (zh) * | 2018-08-18 | 2018-12-28 | 华中科技大学 | 一种人群计数方法及系统 |
WO2020169043A1 (zh) * | 2019-02-21 | 2020-08-27 | 苏州大学 | 一种密集人群计数的方法、装置、设备以及存储介质 |
CN113011329A (zh) * | 2021-03-19 | 2021-06-22 | 陕西科技大学 | 一种基于多尺度特征金字塔网络及密集人群计数方法 |
Non-Patent Citations (1)
Title |
---|
马骞;: "基于通道域注意力机制的人群密度估计算法研究", 电子设计工程, no. 15, 3 August 2020 (2020-08-03) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114758306A (zh) * | 2022-06-16 | 2022-07-15 | 松立控股集团股份有限公司 | 一种基于金字塔特征融合的人群密度估计方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114494194B (zh) | 2024-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111242199B (zh) | 图像分类模型的训练方法及分类方法 | |
CN108399406A (zh) | 基于深度学习的弱监督显著性物体检测的方法及系统 | |
CN111898432B (zh) | 一种基于改进YOLOv3算法的行人检测系统及方法 | |
Wang et al. | SSRNet: In-field counting wheat ears using multi-stage convolutional neural network | |
CN110879982B (zh) | 一种人群计数系统及方法 | |
CN103942749B (zh) | 一种基于修正聚类假设和半监督极速学习机的高光谱地物分类方法 | |
CN111091023B (zh) | 一种车辆检测方法、装置及电子设备 | |
CN113610069B (zh) | 基于知识蒸馏的目标检测模型训练方法 | |
CN108549835A (zh) | 人群计数及其模型构建的方法、终端设备及存储介质 | |
Golovko et al. | Development of solar panels detector | |
CN110096979B (zh) | 模型的构建方法、人群密度估计方法、装置、设备和介质 | |
CN111339818A (zh) | 一种人脸多属性识别系统 | |
CN113129311B (zh) | 一种标签优化点云实例分割方法 | |
CN110298392A (zh) | 一种标签约束自权重多超图学习的半监督分类方法 | |
CN114283285A (zh) | 交叉一致性自训练遥感图像语义分割网络训练方法及装置 | |
CN112801138A (zh) | 基于人体拓扑结构对齐的多人姿态估计方法 | |
CN114494194A (zh) | 复杂场景下的人群计数方法、装置、设备及可读存储介质 | |
Wang et al. | Deep learning of partial graph matching via differentiable top-k | |
CN114648560A (zh) | 分布式图像配准方法、系统、介质、计算机设备及终端 | |
CN110059658B (zh) | 一种基于三维卷积神经网络的遥感卫星影像多时相变化检测方法 | |
Pang et al. | PTRSegNet: A Patch-to-Region Bottom-Up Pyramid Framework for the Semantic Segmentation of Large-Format Remote Sensing Images | |
CN115965905A (zh) | 一种基于多尺度融合卷积网络的人群计数方法及系统 | |
CN116206212A (zh) | 一种基于点特征的sar图像目标检测方法及系统 | |
Hu et al. | Crowd R-CNN: An object detection model utilizing crowdsourced labels | |
Zhang et al. | Uncertainty-aware forward correction for weakly supervised solar panel mapping from high-resolution aerial images |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |