CN112270381A - 基于深度学习的人流量检测方法 - Google Patents
基于深度学习的人流量检测方法 Download PDFInfo
- Publication number
- CN112270381A CN112270381A CN202011279131.XA CN202011279131A CN112270381A CN 112270381 A CN112270381 A CN 112270381A CN 202011279131 A CN202011279131 A CN 202011279131A CN 112270381 A CN112270381 A CN 112270381A
- Authority
- CN
- China
- Prior art keywords
- detection
- data
- layers
- convolution
- tracking
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 110
- 238000013135 deep learning Methods 0.000 title claims abstract description 42
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000004364 calculation method Methods 0.000 claims abstract description 13
- 238000012549 training Methods 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 15
- 238000007781 pre-processing Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 9
- 238000011161 development Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 238000011423 initialization method Methods 0.000 claims description 3
- 241000512668 Eunectes Species 0.000 claims description 2
- 230000004913 activation Effects 0.000 claims description 2
- 230000002596 correlated effect Effects 0.000 claims description 2
- 238000000354 decomposition reaction Methods 0.000 claims description 2
- 238000010606 normalization Methods 0.000 claims description 2
- 238000011897 real-time detection Methods 0.000 claims description 2
- 230000000007 visual effect Effects 0.000 claims 2
- 230000009193 crawling Effects 0.000 claims 1
- 239000000284 extract Substances 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 abstract description 9
- 238000013527 convolutional neural network Methods 0.000 abstract description 6
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 230000007547 defect Effects 0.000 abstract description 3
- 208000035473 Communicable disease Diseases 0.000 abstract 1
- 208000015181 infectious disease Diseases 0.000 abstract 1
- 238000003062 neural network model Methods 0.000 abstract 1
- 238000013403 standard screening design Methods 0.000 description 25
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic 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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Databases & Information Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于深度学习的人流量检测方法,涉及人工智能技术领域。本发明使用的轻量级神经网络模型,与主流的卷积神经网络相比,通过深度可分离卷积将标准卷积核进行分解,减少了计算量,加速了计算,具有优良的性能,在保持传统模型性能的前提下,能降低模型大小同时提升速度;克服了模型过于庞大面临的内存不足的缺点,适用于移动端或嵌入式芯片的部署。本发明实现的视频监控下的人流量检测方法,基于该轻量级网络模型框架,自制实用型数据集,适用于特殊场景,如婴儿车数量多、行人移动速度慢的公园、文化广场;在如传染病疫情期间的特殊时期,能够及时计算人流量并疏散过密人群,加强对人们,特别是对婴幼儿的防护。
Description
技术领域
本发明涉及人工智能技术领域,具体涉及一种基于深度学习的人流量检测方法。
背景技术
随着科学技术的飞速发展和经济水平的不断提高,人们对生活的要求越来越高,从而推动了人工智能的快速发展,并逐步应用到各个领域。在公园、文化广场等场所,存在许多大人推婴儿车散步的现象。在诸如传染病疫情的特殊时期,为了加强对人们、特别是抵抗力较弱的婴幼儿的防护,可通过视频监控检测行人和婴儿车。将婴儿车计入人流量的检测范围,不仅能够为该场所提供有效人流量数据,也能及时疏散密集人群,预防踩踏事件及过度聚集等事件造成的公共安全事故。
本发明基于深度学习的理论,常用的卷积神经网络模型有:AlexNet,VGG,GoogleNet,Inception-v3。该类大型模型只能在高性能平台上使用,不能移植到计算能力较差的移动终端或嵌入式芯片中。从网络架构角度压缩的模型有:SqueezeNet,MobileNet。模型压缩减少了计算量,使得在移动端部署卷积神经网络成为可能。
目标检测技术因其广泛的应用而成为计算机视觉领域的一个重要分支,为视频监控、车辆辅助驾驶、智能机器人等领域提供了重要的技术支持。要实现人流量检测方法,首先要对视频中的行人进行检测。
目前目标检测方法有两类:
(1)基于统计学习的目标检测方法:如Haar级联,HOG+线性SVM。
(2)基于深度学习的目标检测方法:如Faster R-CNN,YOLO和SSD。如果需要检测小物体并且不追求快速,则倾向于使用Faster R-CNN;如果不追求精度但需要较快的速度,则使用YOLO;如果需要中间立场,则倾向于使用SSD。MobileNet作为卷积神经网络的基础网络部分的卷积层,使用深度可分离卷积的卷积方式,代替传统卷积方式,然后结合SSD检测器算法的原理,抽取基础网络中的输出特征图,获取不同尺度的特征映射,同时在不同的特征映射上面进行预测,不同的特征对检测有不同的作用。即MobileNet的作用是用特征提取网络为SSD提供不同尺度的特征图。
发明内容
基于上述问题,本发明提出了一种为资源受限设备设计的、基于深度学习的、快速有效的人流量检测系统。本发明在基于深度学习的基础上,使用轻量级深度学习网络,设计用于大型活动现场,如公园、文化广场的视频监控下的人流量检测方法,能够检测婴儿车,加强对大人及婴幼儿的防护。
基于深度学习的人流量检测方法,所采用技术方案包括:
S1:获取图像文件列表,并建立数据与标签之间的一一映射,由此构成数据集。
S2:构建深度学习检测模型MobileNet-SSD。通过步骤S1构成的数据集训练深度学习检测模型。具体地,训练过程中,取整个数据集的90%作为trainval文件,即训练集与验证集,再取trainval的90%作为训练集,训练集与验证集数据之间没有重复,训练集用于训练模型以及模型权重,验证集用于确定网络结构以及调整模型的超参数。训练完成后,保存训练后的深度学习检测模型及相关文件,其中相关文件为:参数文件solver_train.prototxt,包括的参数例如基本学习率base_lr:0.0005、每次迭代1000步之后产生一个当前的caffemodel和状态文件即snapshot:1000、训练方式solver_mode:GPU;网络文件,即定义网络的文件,包括网络输入层的输入数据类型、resize图片分辨率、定义网络学习率、卷积核个数、卷积核大小、卷积核步数、卷积核权值初始化方法。
S3:使用python构建数据输入模块初始化视频检测数据文件,所述视频检测数据文件即输入视频流。
S4:使用python构建行人检测模块。调用步骤S2训练好的深度学习检测模型,将步骤S3中数据输入模块初始化后的视频流,输入该行人检测模块,对行人进行检测。
S5:使用python构建追踪模块。通过追踪模块,对步骤S4中检测到的行人进行追踪。
S6:使用python构建结果输出模块,通过结果输出模块处理步骤S5追踪的数据,保存并输出,以显示人流量检测结果。
进一步地,步骤S1中数据集采用网络爬虫的方式,爬取大量婴儿车数据集,并结合VOC数据集的类别为“person”的数据,合并制作自己的数据集,并建立数据与标签之间的一一映射。
进一步地,步骤S2中MobileNet-SSD网络总共有35层,深度学习检测模型MobileNet-SSD包含连续的标准卷积层、连续的深度可分离卷积层、检测模块、非极大值抑制算法。
进一步地,步骤S3中直接用命令行调用视频检测数据文件,视频检测数据文件包括预存检测数据:.MP4、.AVI格式的视频,和实时检测数据:摄像头获取的视频;将该检测数据输入到步骤S3中的数据输入模块。
进一步地,步骤S3数据输入模块初始化视频检测数据文件后进行数据预处理,所述视频检测数据文件即输入视频流,判断数据预处理后的输入视频流是否达到视频结尾,若是,则处理数据并保存;若否,则在等待预设时间后进一步判断是否达到跳过帧,若达到跳过帧,则通过步骤S4中的行人检测模块启动检测器,对预处理后的输入视频流进行目标检测,识别出其中的行人;若没有达到跳过帧,则通过步骤S5中的追踪模块启动追踪器,对行人进行追踪,对行人进行追踪采用质心跟踪算法和dlib跟踪器实现;直到对数据预处理后的输入视频流完成检测跟踪。
具体地,所述MobileNet-SSD主要使用了深度可分离卷积将标准卷积核进行分解计算,减少了计算量,引入了两个超参数:宽度乘数和分辨率乘数来减少参数量和计算量,这两个超参数分别减少输入输出的channels和feature map的大小。
具体地,所述MobileNet-SSD模型的第一层Input为卷积核大小为3*3的标准卷积层,输入特征图的分辨率为300*100*3,接着是13个深度可分离卷积层,Conv0大小为150*150*32,Conv1大小为150*150*64,Conv2/3大小为75*75*128,Conv4/5大小为38*38*256,Conv6/7/8/9/10/11大小为19*19*512,Conv12/13大小为10*10*1024,接着是8个标准卷积层,conv14_1大小为10*10*256,Conv14_2大小为5*5*512,Conv15_1大小为5*5*128,Co nv15_2大小为3*3*256,Conv16_1大小为3*3*128,Conv16_2大小为2*2*256,Conv17_1大小为2*2*64,Conv17_2大小为1*1*128。其中,每一个深度可分离卷积层包含1层深度卷积层和1层点卷积层。模型总共抽取6层用作SSD检测网络框架,它们的大小和层数分别为19*19*512(Conv11)、10*10*1024(Conv13)、5*5*512(Conv14_2)、3*3*256(Conv15_2)、2*2*256(Conv16_2)、1*1*128(Conv17_2),原始图像经过卷积后得到数据,即特征映射图(Featur eMap),特征映射图包含了原始图像的信息,用多个卷积层后的特征映射图来定位和检测原始图像的物体。
本发明基于深度学习神经网络,结合轻量级MobileNet-SSD框架,克服了模型过于庞大,面临着内存不足的缺点,具体地,基于深度学习对象检测方法的人流量检测系统具有以下优点:1)检测精度高:通过深度学习神经网络,对自己的数据集训练,可以检测特定类别,提高人流量检测准确度;2)实用性高:采用轻量级深度网络模型,在保持模型性能的前提下,能降低模型大小同时提升速度,克服了主流卷积神经网络模型计算资源消耗大的缺点,适用于如移动或者嵌入式设备,要求低延迟、响应速度快;3)适用于特殊场景,如婴儿车数量多、行人移动速度慢的公园、文化广场等场所。
附图说明
图1为本发明的深度可分离卷积的基本结构。
图2为本发明的MobileNet-SSD网络模型结构图。
图3为本发明的深度学习网络模型检测测试图。
图4为本发明的人流量检测方法总体状态流程图。
图5为本发明的目标检测流程图。
图6为本发明的目标追踪流程图。
图7为本发明的系统测试图。
具体实施方式
下面结合附图对本发明的具体实施方式以及工作原理作进一步详细说明。
如图1所示,为深度可分离卷积的基本结构。本发明使用的MobileNet-SSD网络模型,是为了适用于移动端而提出的一种轻量级深度网络模型。主要使用了深度可分离卷积将标准卷积核进行分解计算,减少了计算量。深度分离可卷积层是MobileNet-v1的基本组件,在真正应用中会加入batchnorm归一化操作,并使用ReLU激活函数。在MobileNet-v1中,深度可分离卷积成本通过引入的两个超参数:宽度乘数width multiplierα和分辨率乘数reso lution multiplierρ分别对输入输出通道数(channel)、图像分辨率(resolution)进行压缩,减少计算量,加速网络的计算。深度可分离卷积首先按照通道数进行按位相乘的计算,此时通道数不改变;然后将结果使用1*1的卷积核进行传统的卷积运算,此时通道数可以进行改变,其计算量为DK*DK*M*DF*DF+1*1*M*N*DF*DF(DK卷积核大小,M输入维度,DF输入大小,N输出维度)。宽度乘数α主要用于减少channels,即输入层的channels个数M,变成αM,输出层的channels个数N变成了αN,所以引入宽度乘数后的总的计算量是:Dk*Dk*αM*DF·DF+αM*αN*DF*DF(DK卷积核大小,M输入维度,DF输入大小,N输出维度,α宽度乘数);分辨率乘数ρ主要用于降低图片的分辨率,即作用在feature map上,所以引入分辨率乘数后的总的计算量为:Dk*Dk*αM*ρDF*ρDF+αM*αN·ρDF*ρDF(DK卷积核大小,M输入维度,DF输入大小,N输出维度,α宽度乘数,ρ分辨率乘数)。由于深度卷积中卷积核只操作单个通道,因此95%的计算量都集中在点卷积中的1x1卷积中。当DK=3时,深度可分离卷积比传统卷积少8到9倍的计算量。
如图2所示,为本发明使用的MobileNet-SSD模型的整体结构,首先关于基础网络部分,MobileNet-SSD从Conv0到Conv13的配置与MobileNet v1(即上一段介绍的基本结构)模型是完全一致的,相当于只是去掉MobileNet v1最后的全局平均池化、全连接层和Softmax层;
再看SSD部分,conv13是骨干网络的最后一层,MobileNet-SSD在MobileNet的conv13后面添加了8个卷积层。
因此,MobileNet-SSD模型的整体结构,第一层(Conv0)为卷积核大小为3×3的标准卷积层。接着是连续的深度可分离卷积层(Conv1-Conv13),包含13层深度卷积层和13层点卷积层。深度可分离卷积层后面为卷积核大小为1×1标准卷积层(Conv14-Conv17)。SSD将b ounding box的输出空间离散成一系列具有不同纵横比的default box,并可以调整box以更好地匹配对象的形状。其次,将不同分辨率的feature map上的预测结果结合起来,解决了不同大小对象的问题。最后从六个不同尺度的特征图上提取特征来做检测,它们的大小分别为19*19*512、10*10*1024、5*5*512、3*3*256、2*2*256、1*1*128。MobileNet-SSD模型最后使用NMS(Non-Maximum-Suppression)非极大抑制算法,获取局部最大值。
深度学习检测模型MobileNet-SSD训练的开发环境为ubuntu16.04+cuda8.0+CUDNN6.0+OpenCV3.1+Caffe,训练迭代35000次后,达到较好的效果,如图3,经测试,模型能够很好地检测图片中的人与婴儿车。
如图4所示,为本发明实现的人流量检测方法的总体状态流程,其开发环境为pycharm+anaconda,涉及数据输入模块、行人检测模块、追踪模块和结果输出模块:
S1:获取图像文件列表,并建立数据与标签之间的一一映射,由此构成数据集。
S2:构建深度学习检测模型MobileNet-SSD。通过步骤S1构成的数据集训练深度学习检测模型。具体地,训练过程中,取整个数据集的90%作为trainval文件,即训练集与验证集,再取trainval的90%作为训练集,训练集与验证集数据之间没有重复,训练集用于训练模型以及模型权重,验证集用于确定网络结构以及调整模型的超参数。训练完成后,保存训练后的深度学习检测模型及相关文件,其中相关文件为:参数文件solver_train.prototxt,包括的参数例如基本学习率base_lr:0.0005、每次迭代1000步之后产生一个当前的caffemodel和状态文件即snapshot:1000、训练方式solver_mode:GPU;网络文件,即定义网络的文件,包括网络输入层的输入数据类型、resize图片分辨率、定义网络学习率、卷积核个数、卷积核大小、卷积核步数、卷积核权值初始化方法。
S3:使用python构建数据输入模块初始化视频检测数据文件,所述视频检测数据文件即输入视频流。
S4:使用python构建行人检测模块(行人检测模块调用深度学习检测模型进行检测)。调用步骤S2训练好的深度学习检测模型,将步骤S3中数据输入模块初始化后的输入视频流,输入该行人检测模块,对行人进行检测,即通过行人检测模块启动检测器,对初始化后的输入视频流进行目标检测。
S5:使用python构建追踪模块。通过追踪模块,对步骤S4中检测到的行人进行追踪,即通过追踪模块启动追踪器,对行人进行追踪。
S6:使用python构建结果输出模块,通过结果输出模块处理检测追踪的数据,保存并输出,以显示人流量检测结果。
步骤S3的初始化包括以下过程:初始化视频流、初始化视频编写器、初始化框架尺寸、初始化存储列表。如果不使用已有视频文件,将使用摄像头,并处理摄像头视频流。状态初始化为“waiting”,在这种状态下,等待对行人的检测和跟踪。其余可能的状态包括“detec ting”和“tracking”,该过程分别的功能为调用检测模型检测行人,对行人进行跟踪。
数据输入模块初始化视频检测数据文件后,所述视频检测数据文件即输入视频流,进行数据预处理,判断数据预处理后的输入视频流是否达到视频结尾,若是,则处理数据并保存;若否,则在等待预设时间后进一步判断是否达到跳过帧,若达到跳过帧,则通过步骤S4中的行人检测模块启动检测器,对预处理后的视频流进行目标检测,识别出其中的行人;若没有达到跳过帧,则通过步骤S5中的追踪模块启动追踪器,对行人进行追踪,对行人进行追踪采用质心跟踪算法和dlib跟踪器实现;直到对数据预处理后的输入视频流完成检测跟踪。
数据预处理包括加载预训练模型、调整通道的大小、将帧从BGR到RGB转换。检测模型使用MobileNet-SSD模型。调整视频框架大小,为了使数据越少、处理速度越快,设置其最大宽度为500像素。
判断是否达到跳过帧的目的是为了加快跟踪流程,避免在每帧上运行目标检测器进行检测,将根据实际情况跳过N帧(默认30),只有每N帧才使用SSD进行目标检测,除此之外将只是在每帧之间追踪移动的对象。
如图5所示,为步骤S4对行人进行检测,即目标检测,包括以下过程:提取置信度(目标检测输出的是类别的置信度,目标检测分类器给出预测类别的概率,而分类器本身的结果是否可靠是根据置信度来评判)、过滤弱检测、提取标签、将对象传递输出给跟踪器。通过要求置信度最低限度来过滤掉弱检测。
如图6所示,为步骤S5对行人进行追踪,即目标追踪,包括以下过程:获取坐标、获取质心、计算新旧质心欧式距离、判断追踪对象、处理追踪对象。
a.通过行人检测模块输入的对象,获取边界框坐标。
b.使用步骤a得到的边界框坐标来计算质心(即边界框的中心)。
c.通过步骤b计算出的质心计算新质心和现有质心之间的欧几里得距离。
d.如果新质心有与之关联的现有质心,则基于步骤c计算的欧几里得距离,追踪器选择关联各自欧几里得距离最小的质心,关联对象ID后,将跟踪的对象质心更新到其新质心位置;如果新质心没有与之关联的现有质心,则注册新的对象ID,并存储质心。
e.将步骤d跟踪对象添加到计数列表。当对象离开视野,可以注销该物体(进出视频区域的对象计数,通过判断对象相对于基准线的移动方向来确定)。
步骤S5同时使用dlib跟踪器,将对象边界框在前一帧中位置的先验信息,与从当前帧中获得的数据进行组合,以推断出对象的新位置在哪里。结合质心跟踪算法和dlib跟踪器可以在检测到的目标周围提供边界框并识别哪些边界框属于同一目标。
步骤S6输出模块处理追踪数据包括以下过程:显示人流量信息、保存视频文件、释放指针、关闭窗口。该步骤绘制一条水平线,将其用于可视化行人的“穿越”,即,一旦行人越过该线,将增加各自(进或出)的计数器,通过质心跟踪算法会将对象ID与对象位置相关联,计算出进出该画面的人流量。
使用OpenCV进行基于深度学习网络模型MobileNet-SSD的目标检测,实现本发明的人流量检测方法,在计算机CPU型号i5-7200、内存大小8GB的环境下,本发明实现的人流量检测方法的测试结果如图7(a)、图7(b)、图7(c)、图7(d)所示,分别表明视频监控中检测到行人正在进入监控区域、监控区域中未出现行人、行人正在离开该区域、监控中检测到婴儿车。监控状态由Status表示,分别为detecting检测、tracking追踪、waiting等待,并且整个过程在对行人进行计数,通过Down(表示摄像头俯视角度时,目标对象向画面上方移动)和Up(表示摄像头俯视角度时,目标对象向画面下方移动)的数值分别表示进入和离开该视频监控区域的人数。
以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合;本领域的技术人员根据本发明技术方案的技术特征所做出的任何非本质的添加、替换,均属于本发明的保护范围。
Claims (4)
1.一种基于深度学习的人流量检测方法,其特征在于,该方法包括以下步骤:
S1:获取图像文件列表,并建立数据与标签之间的一一映射,由此构成数据集;
S2:构建深度学习检测模型MobileNet-SSD,通过步骤S1构成的数据集训练所述深度学习检测模型;具体地,训练过程中,取整个数据集的90%作为trainval文件,即训练集与验证集,再取trainval的90%作为训练集,训练集与验证集数据之间没有重复,训练集用于训练模型以及模型权重,验证集用于确定网络结构以及调整模型的超参数;训练完成后,保存训练后的深度学习检测模型及相关文件,其中相关文件为:参数文件solver_train.prototxt,包括的参数例如基本学习率base_lr:0.0005、每次迭代1000步之后产生一个当前的caffemodel和状态文件即snapshot:1000、训练方式solver_mode:GPU;网络文件,即定义网络的文件,包括网络输入层的输入数据类型、resize图片分辨率、定义网络学习率、卷积核个数、卷积核大小、卷积核步数、卷积核权值初始化方法;
S3:使用python构建数据输入模块初始化视频检测数据文件,所述视频检测数据文件即输入视频流;
S4:使用python构建行人检测模块,调用步骤S2训练好的深度学习检测模型,将步骤S3中数据输入模块初始化后的输入视频流,输入该行人检测模块,对行人进行检测;
S5:使用python构建追踪模块,通过追踪模块,对步骤S4中检测到的行人进行追踪;
S6:使用python构建结果输出模块,通过结果输出模块处理步骤S5的追踪数据,保存并输出,以显示人流量检测结果;
其中,步骤S1中数据集采用网络爬虫的方式,爬取大量婴儿车数据集,并结合VOC数据集的类别为“person”的数据,合并制作自己的数据集;
步骤S2中深度学习检测模型MobileNet-SSD总共有35层,第一层Input为卷积核大小为3*3的标准卷积层,输入特征图的分辨率为300*100*3,接着是13个深度可分离卷积层,Conv0大小为150*150*32,Conv1大小为150*150*64,Conv2/3大小为75*75*128,Conv4/5大小为38*38*256,Conv6/7/8/9/10/11大小为19*19*512,Conv12/13大小为10*10*1024,接着是8个标准卷积层,conv14_1大小为10*10*256,Conv14_2大小为5*5*512,Conv15_1大小为5*5*128,Conv15_2大小为3*3*256,Conv16_1大小为3*3*128,Conv16_2大小为2*2*256,Conv17_1大小为2*2*64,Conv17_2大小为1*1*128;其中,每一个深度可分离卷积层包含1层深度卷积层和1层点卷积层;深度学习检测模型MobileNet-SSD总共抽取6层用作SSD检测网络框架,它们的层数和大小分别为Conv11层,大小19*19*512、Conv13层,大小10*10*1024、Conv14_2层,大小5*5*512、Conv15_2层,大小3*3*256、Conv16_2层,大小2*2*256、Conv17_2层,大小1*1*128,原始图像经过卷积后得到特征映射图FeatureMap,特征映射图包含了原始图像的信息,用多个卷积层后的特征映射图来定位和检测原始图像中的物体;深度学习检测模型MobileNet-SSD训练的开发环境为ubuntu16.04+cuda8.0+CUDNN6.0+OpenCV3.1+Caffe,训练迭代35000次;
步骤S3中直接用命令行调用视频检测数据文件,视频检测数据文件包括预存检测数据:.MP4、.AVI格式的视频,和实时检测数据:摄像头获取的视频;进一步地,步骤S3数据输入模块初始化视频检测数据文件后进行数据预处理,判断数据预处理后的输入视频流是否达到视频结尾,若是,则处理数据并保存;若否,则在等待预设时间后进一步判断是否达到跳过帧,若达到跳过帧,则通过步骤S4中的行人检测模块启动检测器,对预处理后的输入视频流进行目标检测,识别出其中的行人;若没有达到跳过帧,则通过步骤S5中的追踪模块启动追踪器,对行人进行追踪,对行人进行追踪采用质心跟踪算法和dlib跟踪器实现;直到对数据预处理后的输入视频流完成检测跟踪;判断是否达到跳过帧的目的是为了加快跟踪流程,避免在每帧上运行目标检测器进行检测,将根据实际情况跳过N帧,其中,N=30,只有每N帧才使用SSD进行目标检测,除此之外将只是在每帧之间追踪移动的对象;数据预处理包括加载预训练模型、调整通道的大小、将帧从BGR到RGB转换;同时调整视频框架大小,为了使数据越少、处理速度越快,设置其最大宽度为500像素;
步骤S4对行人进行检测,即目标检测,包括以下过程:提取置信度、过滤弱检测、提取标签、将对象传递输出给追踪器,通过要求置信度最低限度来过滤掉弱检测;
步骤S5对行人进行追踪,即目标追踪,包括以下过程:获取坐标、获取质心、计算新旧质心欧式距离、判断追踪对象、处理追踪对象;
a.通过行人检测模块输入的对象,获取边界框坐标;
b.使用步骤a得到的边界框坐标来计算质心,即边界框的中心;
c.通过步骤b计算出的质心计算新质心和现有质心之间的欧几里得距离;
d.如果新质心有与之关联的现有质心,则基于步骤c计算的欧几里得距离,追踪器选择关联各自欧几里得距离最小的质心,关联对象ID后,将跟踪的对象质心更新到其新质心位置;如果新质心没有与之关联的现有质心,则注册新的对象ID,并存储质心。
e.将步骤d跟踪的对象添加到计数列表,当跟踪的对象离开视野,可以注销该物体,其中,进出视野的跟踪的对象计数,通过判断跟踪的对象相对于基准线的移动方向来确定;
步骤S5同时使用dlib跟踪器,将对象边界框在前一帧中位置的先验信息,与从当前帧中获得的数据进行组合,以推断出对象的新位置在哪里,结合质心跟踪算法和dlib跟踪器能够在检测到的目标周围提供边界框并识别哪些边界框属于同一目标;
步骤S6结果输出模块处理追踪数据包括以下过程:显示人流量信息、保存视频文件、释放指针、关闭窗口;步骤S6绘制一条水平线,将其用于可视化行人的“穿越”,即,一旦行人越过该线,将增加进或出的计数器,通过质心跟踪算法会将对象ID与对象位置相关联,计算出进出该画面的人流量。
2.根据权利要求1所述的基于深度学习的人流量检测方法,其特征在于,所述步骤S2使用的深度学习检测模型MobileNet-SSD,是为了适用于移动端而提出的一种轻量级深度网络模型,主要使用了深度可分离卷积将标准卷积核进行分解计算,减少了计算量;深度分离可卷积层是MobileNet-v1的基本组件,在真正应用中会加入batchnorm归一化操作,并使用ReLU激活函数,在MobileNet-v1中,深度可分离卷积成本通过引入的两个超参数:宽度乘数width multiplierα和分辨率乘数resolution multiplierρ分别对输入输出通道数channel、图像分辨率resolution进行压缩,减少计算量,加速模型的计算;深度可分离卷积首先按照通道数进行按位相乘的计算,此时通道数不改变;然后将结果使用1*1的卷积核进行传统的卷积运算,此时通道数可以进行改变,其计算量为DK*DK*M*DF*DF+1*1*M*N*DF*DF,其中DK为卷积核大小,M为输入维度,DF为输入大小,N为输出维度;宽度乘数α主要用于减少channels,即输入层的channels个数M,变成αM,输出层的channels个数N变成了αN,所以引入宽度乘数后的总的计算量是:Dk*Dk*αM*DF·DF+αM*αN*DF*DF;分辨率乘数ρ主要用于降低图片的分辨率,即作用在feature map上,所以引入分辨率乘数ρ后的总的计算量为:Dk*Dk*αM*ρDF*ρDF+αM*αN·ρDF*ρDF;由于深度卷积中卷积核只操作单个通道,因此95%的计算量都集中在点卷积中的1x1卷积中,当DK=3时,深度可分离卷积比传统卷积少8到9倍的计算量。
3.根据权利要求2所述的基于深度学习的人流量检测方法,其特征在于,所述步骤S3中的初始化包括以下过程:初始化视频流、初始化视频编写器、初始化框架尺寸、初始化存储列表;如果不使用已有视频文件,将使用摄像头,并处理摄像头视频流;状态初始化为“waiting”,在这种状态下,系统等待对行人的检测和跟踪,其余可能的状态包括“detecting”和“tracking”,分别的功能为调用深度学习检测模型MobileNet-SSD对行人进行检测和对行人进行跟踪。
4.根据权利要求3所述的基于深度学习的人流量检测方法,其特征在于,所述基于深度学习的人流量检测方法的开发环境为pycharm+anaconda;使用OpenCV进行基于深度学习网络模型MobileNet-SSD的目标检测,实现所述基于深度学习的人流量检测方法,在计算机CPU型号i5-7200、内存大小8GB的环境下完成所述基于深度学习的人流量检测方法的测试。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011279131.XA CN112270381B (zh) | 2020-11-16 | 2020-11-16 | 基于深度学习的人流量检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011279131.XA CN112270381B (zh) | 2020-11-16 | 2020-11-16 | 基于深度学习的人流量检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112270381A true CN112270381A (zh) | 2021-01-26 |
CN112270381B CN112270381B (zh) | 2022-06-03 |
Family
ID=74340745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011279131.XA Expired - Fee Related CN112270381B (zh) | 2020-11-16 | 2020-11-16 | 基于深度学习的人流量检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112270381B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112633249A (zh) * | 2021-01-05 | 2021-04-09 | 北华航天工业学院 | 一种基于轻型深度学习框架的嵌入式人流量检测方法 |
CN113192238A (zh) * | 2021-02-03 | 2021-07-30 | 上海云话科技有限公司 | 一种智能高效的实时人流统计系统 |
CN113257008A (zh) * | 2021-05-12 | 2021-08-13 | 兰州交通大学 | 基于深度学习的行人流量动态控制系统及方法 |
CN113591901A (zh) * | 2021-06-10 | 2021-11-02 | 中国航天时代电子有限公司 | 一种基于锚框的目标检测方法 |
CN116867149A (zh) * | 2023-08-29 | 2023-10-10 | 山东省金海龙建工科技有限公司 | 一种基于物联网的节能型智慧路灯管理方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108764203A (zh) * | 2018-06-06 | 2018-11-06 | 四川大学 | 一种面向城市规划的行人量化分析及展示系统 |
CN109325960A (zh) * | 2018-11-20 | 2019-02-12 | 南京信息工程大学 | 一种红外云图气旋分析方法及分析系统 |
CN109657575A (zh) * | 2018-12-05 | 2019-04-19 | 国网安徽省电力有限公司检修分公司 | 室外施工人员智能视频跟踪算法 |
CN110348447A (zh) * | 2019-06-27 | 2019-10-18 | 电子科技大学 | 一种具有丰富空间信息的多模型集成目标检测方法 |
CN111199220A (zh) * | 2020-01-21 | 2020-05-26 | 北方民族大学 | 电梯内人员检测与人数统计的轻量化深度神经网络方法 |
CN111209848A (zh) * | 2020-01-03 | 2020-05-29 | 北京工业大学 | 一种基于深度学习的实时跌倒检测方法 |
CN111339858A (zh) * | 2020-02-17 | 2020-06-26 | 电子科技大学 | 一种基于神经网络的油气管道标志物识别方法 |
US20200349720A1 (en) * | 2017-10-24 | 2020-11-05 | Beijing Jingdong Shangke Information Technology Co., Ltd. | Pedestrian flow funnel generation method and apparatus, storage medium and electronic device |
-
2020
- 2020-11-16 CN CN202011279131.XA patent/CN112270381B/zh not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200349720A1 (en) * | 2017-10-24 | 2020-11-05 | Beijing Jingdong Shangke Information Technology Co., Ltd. | Pedestrian flow funnel generation method and apparatus, storage medium and electronic device |
CN108764203A (zh) * | 2018-06-06 | 2018-11-06 | 四川大学 | 一种面向城市规划的行人量化分析及展示系统 |
CN109325960A (zh) * | 2018-11-20 | 2019-02-12 | 南京信息工程大学 | 一种红外云图气旋分析方法及分析系统 |
CN109657575A (zh) * | 2018-12-05 | 2019-04-19 | 国网安徽省电力有限公司检修分公司 | 室外施工人员智能视频跟踪算法 |
CN110348447A (zh) * | 2019-06-27 | 2019-10-18 | 电子科技大学 | 一种具有丰富空间信息的多模型集成目标检测方法 |
CN111209848A (zh) * | 2020-01-03 | 2020-05-29 | 北京工业大学 | 一种基于深度学习的实时跌倒检测方法 |
CN111199220A (zh) * | 2020-01-21 | 2020-05-26 | 北方民族大学 | 电梯内人员检测与人数统计的轻量化深度神经网络方法 |
CN111339858A (zh) * | 2020-02-17 | 2020-06-26 | 电子科技大学 | 一种基于神经网络的油气管道标志物识别方法 |
Non-Patent Citations (2)
Title |
---|
MOHD NADHIR AB WAHAB 等: "iPassenger: Smart Passenger Analytics System", 《IVIC 2019: ADVANCES IN VISUAL INFORMATICS》 * |
ZHEN SUN 等: "A real-time video surveillance and state detection approach for elevator cabs", 《2019 INTERNATIONAL CONFERENCE ON CONTROL, AUTOMATION AND INFORMATION SCIENCES》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112633249A (zh) * | 2021-01-05 | 2021-04-09 | 北华航天工业学院 | 一种基于轻型深度学习框架的嵌入式人流量检测方法 |
CN113192238A (zh) * | 2021-02-03 | 2021-07-30 | 上海云话科技有限公司 | 一种智能高效的实时人流统计系统 |
CN113257008A (zh) * | 2021-05-12 | 2021-08-13 | 兰州交通大学 | 基于深度学习的行人流量动态控制系统及方法 |
CN113591901A (zh) * | 2021-06-10 | 2021-11-02 | 中国航天时代电子有限公司 | 一种基于锚框的目标检测方法 |
CN116867149A (zh) * | 2023-08-29 | 2023-10-10 | 山东省金海龙建工科技有限公司 | 一种基于物联网的节能型智慧路灯管理方法及系统 |
CN116867149B (zh) * | 2023-08-29 | 2023-11-14 | 山东省金海龙建工科技有限公司 | 一种基于物联网的节能型智慧路灯管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112270381B (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112270381B (zh) | 基于深度学习的人流量检测方法 | |
US11468660B2 (en) | Pixel-level based micro-feature extraction | |
KR102129893B1 (ko) | 딥러닝 네트워크 및 평균 이동을 기반으로 하는 선박 자동추적 방법 및 시스템 | |
CN108062349B (zh) | 基于视频结构化数据及深度学习的视频监控方法和系统 | |
WO2020173226A1 (zh) | 一种时空行为检测方法 | |
CN106874894B (zh) | 一种基于区域全卷积神经网络的人体目标检测方法 | |
US10735694B2 (en) | System and method for activity monitoring using video data | |
US9652863B2 (en) | Multi-mode video event indexing | |
CN104303193B (zh) | 基于聚类的目标分类 | |
CN103824070B (zh) | 一种基于计算机视觉的快速行人检测方法 | |
CN104106260B (zh) | 基于地理图的控制 | |
CN112115775B (zh) | 一种基于计算机视觉的监控场景下的吸烟行为检测方法 | |
CN108764142A (zh) | 基于3dcnn的无人机影像森林烟雾检测和分类方法 | |
CN111199220B (zh) | 电梯内人员检测与人数统计的轻量化深度神经网络方法 | |
CN110781964A (zh) | 一种基于视频图像的人体目标检测方法及系统 | |
CN110874592A (zh) | 一种基于总有界变分的森林火灾烟雾图像检测方法 | |
CN114038193B (zh) | 基于无人机和多目标追踪的智能交通流量数据统计方法及系统 | |
CN110991444A (zh) | 面向复杂场景的车牌识别方法及装置 | |
CN111027370A (zh) | 一种多目标跟踪及行为分析检测方法 | |
CN115841649A (zh) | 一种用于城市复杂场景的多尺度人数统计方法 | |
CN113362374A (zh) | 一种基于目标跟踪网络的高空抛物检测方法及系统 | |
CN104463869A (zh) | 一种视频火焰图像复合识别方法 | |
CN111723773A (zh) | 遗留物检测方法、装置、电子设备及可读存储介质 | |
CN114049572A (zh) | 识别小目标的检测方法 | |
CN108710879B (zh) | 一种基于网格聚类算法的行人候选区域生成方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220603 |