CN111199220B - 电梯内人员检测与人数统计的轻量化深度神经网络方法 - Google Patents
电梯内人员检测与人数统计的轻量化深度神经网络方法 Download PDFInfo
- Publication number
- CN111199220B CN111199220B CN202010068935.9A CN202010068935A CN111199220B CN 111199220 B CN111199220 B CN 111199220B CN 202010068935 A CN202010068935 A CN 202010068935A CN 111199220 B CN111199220 B CN 111199220B
- Authority
- CN
- China
- Prior art keywords
- convolution
- model
- layers
- layer
- neural network
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
- G06V20/53—Recognition of crowd images, e.g. recognition of crowd congestion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Image Analysis (AREA)
Abstract
本发明属于计算机视觉与目标检测技术领域,涉及用于电梯轿厢内人员检测与人数统计的轻量化深度神经网络方法。本发明方法将卷积神经网络模型轻量化,以树莓派4B为开发系统,充分利用嵌入式资源在本地实现电梯轿厢的人员检测与人数统计。本发明卷积神经网络模型CNN结构中包括11个block,共有23层卷积层,其中对高级语义特征图作区域推荐,推荐的区域通过全连接层对人头部位和背景二分类。本发明在多尺度多样性目标检测算法SSD基础上,在网络结构的每个block的卷积层加入深度可分离卷积,检测速度明显加快,在树莓派4B系统中视频检测达到了2.1的FPS,符合信息反馈小于3S的要求。
Description
技术领域
本发明属于计算机视觉与目标检测技术领域,涉及一种利用深度学习、嵌入式技术对电梯轿厢内人员进行检测的方法,特别是用于电梯轿厢内人员检测与人数统计的轻量化深度神经网络方法。
背景技术
随着当前社会科技的发展,出现了许多高层建筑和智能建筑,相应的,也涌现出大量的垂直交通工具——电梯。电梯是保障高层建筑有效运行必不可少的重要设备,同时,电梯的安全性对于在高层建筑中生活和工作的每个人而言是至关重要的,做好应急救援服务处置是电梯物联网公司的迫切需要。目前基于电梯轿厢内人员检测与人数统计的技术有较高的应用价值。此类技术可以在电梯发生故障时反馈人员被困的情景,有利于快速实施救援;同时也可用于分析电梯的客流量,帮助建立有效的电梯调度机制。
目前用于电梯内乘客检测与人数统计的方法主要有以下几种:a.红外传感器感知检测与人数统计;b.基于传统图像处理(如Histogram of Oriented Gradient,HOG特征)结合线性支持向量机的检测方法与人数统计;c.基于卷积神经网络的行人检测方法与人数统计系统。
红外传感器感知技术:主要分为主动红外(AIR)和被动红外(PIR)两种。主动红外传感器需要红外线发射源和相应的接收设备,依靠红外线的对射或反射的方式进行。当红外光束被遮挡时,红外线接收器的输出电信号强度就会发生变化,经放大和处理后可进行采样,主动红外传感器对是否有人通过非常敏感,然而使用AIR技术检测存在以下两个问题:一是硬件传感器在电轿厢的应用成本较高,难以大规模使用;二是对两个或多人贴得很近的情况,特别是前后拥挤、接踵而至的乘客人数识别效果较差。
基于传统图像处理的电梯轿厢内人数统计技术:迄今为止,基于传统图像处理的人数统计算法多采用垂直摄像头从上向下俯拍,主要可以分为三类:基于前景连通区域像素统计的方法、基于运动分析的方法和基于头部特征的识别方法。基于前景连通区域像素统计及运动分析的方法主要对运动物体建模,这种方法在运动物体静止时建模效果差,乘客在电梯轿厢静止不动时漏检率大,检测静止的目标召回率很小;基于头部特征的识别方法是一种人工提取特征,如尺度不变特征变换(Scale-Invariant Feature Transform,SIFT)、方向梯度直方图(Histogram of Oriented Gradient, HOG),再用机器学习中分类器包括支持向量机、贝叶斯、随机森林分类,然而,这些特征描述方法主要是由人工设计的,复杂场景下召回率较低,鲁棒性差,不能达到商业化产品的要求。
卷积神经网络(Convolutional Neural Network, CNN)方法:深度学习是一种包含多个隐含层的感知器,它使用底层特征形成高层特征,并使用更加抽象的高层特征表示类别,从而最终提升分类或预测的准确性。但是,目前基于深度学习对人员进行检测或进行人数统计还存在一些问题,如检测准确度仍较低、检测时间长、效率低、运行平台建设投入成本高等问题。例如:陈久红、张海玉等采用基于卷积神经网络的 R-FCN 目标检测算法对在教室里的人头部位进行检测,使准确率达到了89.4%;中国专利文献CN109858389A公开了一种基于深度学习的电梯人数统计方法及系统,开始调用YOLOv3算法进行分析得到最后的检测框,然后通过检测框得到具体的电梯人数,并将数量写入数据库中,同时上报到云梯平台,该法虽然能达到实时的效果,但对于小目标的检测效果较差。中国专利文献CN107330390A公开了一种基于图像分析和深度学习的人数统计方法,对输入图像进行金字塔模型计算,生成多个分辨率和尺寸的图像,在金字塔的每一层上进行窗口滑动,计算窗口区域的HOG特征值,并通过线性SVM分类器进行分类,判断该窗口是否为头肩区域,但是该方法在图像金字塔上窗口滑动,检测时间花费比较长。中国专利文献CN110287849A公开了一种适用于树莓派的轻量化深度网络图像目标检测方法,该方法的发明人用深度可分离卷积来对深度网络模型轻量化,所采用方法的步骤是:在卷积网络中输入图像经过一个7*7的标准卷积得到特征图,然后在特征图上逐层通过深度可分离卷积块来压缩模型;然而逐层使用可分离卷积算法,每层的卷积操作相比之前都多了一层,反而增加了深度网络模型的前向计算时间,导致该方法不能用于对处理时间要求较高的视觉目标实时检测任务。中国专利文献CN208479837U公开了一种基于树莓派的实时目标检测装置,同时搭建了一个轻量级卷积神经网络,该装置是一种嵌入式端目标检测装置,该轻量级网络的设计思想以浅层卷积网络或者减小卷积核个数为准则,因而极大地削弱了其图像特征提取能力,进而影响目标检测算法的准确率和召回率,所以该方法虽然提高了检测帧率,但容易造成目标的误检与漏检。
综上所述,现有电梯轿厢人员检测与人数统计技术存在的主要问题有:1. 红外传感器感知技术:乘客多的情况下检测准确度低;2. 基于传统图像处理的电梯轿厢内人数统计技术:背景建模对电梯轿厢的限制条件比较苛刻,传统的图像特征提取在复杂环境下检测率较低;3. 现有基于深度神经网络的检测技术,由于计算量巨大,网络的参数训练、推理平台以PC端、服务器为主,建设运行平台投入成本太高,尤其是对于电梯轿厢人员检测和人数统计来说,成本过高使其应用受限;4. 现有树莓派的轻量化深度网络图像目标检测方法,对于识别远距目标,如角落较小头肩目标效果较差。
发明内容
本发明的目的是针对现有技术中对电梯轿厢人员检测与人数统计存在的问题,克服现有技术的不足,提供一种在嵌入式开发环境下的卷积神经网络的检测方法,该方法以嵌入式技术为依托,将卷积神经网络模型轻量化,以树莓派4B为开发系统,充分利用嵌入式资源在本地实现电梯轿厢的人员检测与人数统计,该方法和系统成本低、精度高、适用性强。
为实现上述目的,本发明采用的技术方案是:用于电梯轿厢内人员检测与人数统计的轻量化深度神经网络方法,该方法基于卷积神经网络的目标检测算法(Single ShotMultiBox Detector,SSD),模型压缩与神经网络加速计算采用深度可分离卷积层,包括以下步骤。
S01. 数据采集与预处理:采集电梯轿厢内乘客头部数据,按比例随机分为训练集和测试集,并按比例随机分为训练集train_data和测试集test_data;对图像数据进行增强预处理。
S02. 目标检测网络模型的搭建:设计一种端到端的卷积神经网络模型(Convolutional Neural Network,CNN),所述卷积神经网络模型CNN至少包括输入层、卷积层、批量归一化层、池化层和输出层,其中对高级语义特征图作区域推荐,推荐的区域通过全连接层对人头部位和背景二分类。
S03. 根据Loss定义,训练卷积神经网络模型CNN:训练步骤S02搭建的卷积神经网络模型CNN,使得Loss达到收敛状态,用测试集对当前模型进行评估,若模型对测试集召回率低于90%,则对当前模型继续精细化微调(Fine-tune)。
S04. 深度网络模型轻量化:对步骤S03训练后的卷积神经网络模型CNN做压缩和加速计算,对模型中的卷积层作深度可分离卷积,把普通卷积转换为Mobilenet卷积,降低模型的参数量和乘法运算次数,得到轻量化的SSD_Mobilenet算法模型。
S05. 将轻量化模型移植于树莓派4B系统:在树莓派4B交叉编译tensorflow、opencv、numpy等框架,然后将步骤S04所得轻量化算法模型移植于树莓派4B系统。
S06. opencv读取视频流,送入目标检测模型,对电梯轿厢的乘客进行检测与人数统计。
进一步,步骤S01具体为,在电梯轿厢固定位置安装摄像头以视频方式收集乘客头部图像,摄像头要扫描到所有角落位置,计算机视觉开源库opencv以rtsp协议读取图像数据,在视频中选取1000张情景不一样的乘客头部图片,按4:1比例划分为训练集train_data和测试集test_data,对训练集和测试集用LabelImage打标签,标签文件以xml格式存储,输入模型时转换为record格式,record文件中包含图片的目标标签信息以及位置坐标信息。
进一步,步骤S02中,所述卷积神经网络模型CNN结构中包括11个block,各层结构如下:
输入层:以record数据格式输入训练集的图片数据和每张图片的真实标签’header’;
第一个block:包含二个卷积层、二个批量归一化层、二个非线性激活函数层、一个池化层;
第二个block:包含二个卷积层、二个批量归一化层、二个非线性激活函数层、一个池化层;
第三个block:包含三个卷积层、三个批量归一化层、三个非线性激活函数层、一个池化层;
第四个block:包含三个卷积层、三个批量归一化层、三个非线性激活函数层、一个池化层;
第五个block:包含三个卷积层、三个批量归一化层、三个非线性激活函数层、一个池化层;
第六个block:包含一个卷积层、一个非线性激活函数层;
第七个block:包含一个卷积层、一个非线性激活函数层;
第八个block:包含二个卷积层、二个非线性激活函数层;
第九个block:包含二个卷积层、二个非线性激活函数层;
第十个block:包含二个卷积层、二个非线性激活函数层;
第十一个block:包含二个卷积层、二个非线性激活函数层;
输出层:Default bounding boxes的类别分数、偏移量。
进一步,步骤 S03 中,所述训练方法如下:利用步骤S01 所述训练集中的图像及其真实标签,训练卷积神经网络CNN,具体为:
S03.1. 神经网络前向运算;
S03.2. 神经网络后向运算;
S03.3. 损失函数Loss的确定;
S03.4. 用测试集对当前模型进行评估,若召回率低于90%,则恢复保存的模型权值参数,继续对当前模型进行精细化微调(Fine-tune),直到模型在测试集的召回率达到90%以上,进行后续的电梯轿厢的人数统计任务。
进一步,步骤S04中,在卷积层(如conv4_1、conv4_2、conv4_3、conv5_1、conv5_2、conv5_3)通过深度可分离卷积,使得深度模型轻量化。
进一步,步骤S04中所述深度可分离卷积的具体方法如下:
Depthwise过程:
Depthwise将 n×h×w×c的特征图张量输入分为 C 组,然后每一组做3×3 卷积。这样相当于收集了每个Channel的空间特征,即Depthwise特征。
Pointwise过程:
Pointwise 将 n×h×w×c的特征图张量做k个1×1 卷积,这样就收集了每个点的特征,即Pointwise特征。
在第一个block中卷积层是3×3×64的张量,参数量为:3×3×3×64=1728,
深度可分离卷积操作,分两步完成,参数量为:3×3×3+3×1×1×64=219;
在第二个block中卷积层是3×3×128的张量,参数量为:3×3×64×128=73728,
深度可分离卷积操作,分两步完成,参数量为:3×3×64+64×1×1×128=8768;
在第三个block中卷积层是3×3×256的张量,参数量为:3×3×128×256=294912,
深度可分离卷积操作,分两步完成,参数量为:3×3×128+128×1×1×256=33920;
在第四个block中卷积层是3×3×512的张量,参数量为:3×3×256×512=1179648,
深度可分离卷积操作,分两步完成,参数量为:3×3×256+256×1×1×512=133376;
在第五个block中卷积层是3×3×512的张量,参数量为:3×3×512×512=2359296,
深度可分离卷积操作,分两步完成,参数量为:3×3×512+512×1×1×512=266752;
在特征提取的前五个block卷积层的参数量(conv_repeat==1)α=3909312;深度可分离卷积后前五个block卷积层的参数量(conv_repeat==1)α1=443035,模型参数减少率(α-α1)/α即11.3%,经过深度可分离卷积操作将模型压缩后,在tensorflow中保存其模型文件,恢复出权值参数微调,使得压缩后的模型保持原来的精准率。
进一步,步骤S05中,将PC端的tensorflow、opencv、numpy用arm-linux交叉编译,然后将步骤S04中压缩后的模型文件移植入树莓派4B。搭建树莓派4B深度学习环境,树莓派4B的cpu架构为ARM-cortex,在PC端的tensorflow、opencv、numpy都须用arm-linux交叉编译。
作为本发明的对比试验,发明人从测试集中随机挑选1张图片,从检测电梯轿厢乘客头部所用时间角度,比对了经过压缩的模型在PC端CPU和在嵌入式树莓派4B系统的检测时间,还比对了经过压缩的卷积神经网络(基于深度可分离的卷积神经网络)与PC端未经压缩的卷积神经网络的检测时间,检测结果见表1:
表1 经过压缩的模型在PC和树莓派的检测时间及未经压缩的模型在PC端的检测时间对比结果
从表1的结果可以看出,对相同测试图片进行目标检测时,经过压缩的基于深度可分离的卷积神经网络的目标检测算法SSD_mobilenet在PC端对一张图片进行检测所需时间为2.8s,在嵌入式树莓派4B系统对一张图片进行检测所需时间7.7s;在相同环境下,基于未经压缩和加速的神经网络的目标检测算法SSD和faster-rcnn在PC端对一张图片进行检测所需时间较长,分别为10s和13s。因此,基于深度可分离的卷积神经网络的目标检测算法SSD_mobilenet在隔2帧进行电梯轿厢乘客检测时,对于检测乘客有无以及人数统计,可以达到小于3s的信息反馈要求。
发明人从测试集中随机选取200张图片,采用本发明的模型和SSD_mobilenet算法,通过对电梯轿厢乘客头部进行检测,对本发明模型进行评估测试,评估测试结果见表2:
表2 SSD_mobilenet算法评估测试结果
由表2的结果可以看出,本发明的经过压缩后的模型SSD_mobilenet算法,仅有84.2M,并且压缩后的模型经过fine-tune后召回率较高,可达92.9%。
本发明是一种基于乘客头肩部位的目标检测系统开发,摄像头的安装角度要覆盖到人体头部,摄像头获取图像数据采用rtsp协议,opencv数据读取,图像数据经过图像增强预处理后送入检测器,最后输出结果。
本发明与现有技术相比具有如下突出的实质性特点和显著进步。
1、与红外传感器感知技术相比:本发明提出了一种基于深度学习的低成本、高召回率的电梯轿厢乘客检测与人数统计方法,利用计算机视觉技术对电梯轿厢内乘客进行检测与人数统计,同时基于嵌入式技术将算法移植到树莓派系统;本发明硬件平台只需一个树莓派4B系统和一个微型摄像头,大大降低了企业在硬件平台开发的成本。
2、本发明利用深层卷积神经网络提取特征,比传统的HOG特征语义表达更丰富,在相同分类器情况下,更具有鲁棒性和稳定性。
3、通常来说,基于卷积神经网路的目标检测模型体积较大,典型的faster-rcnn检测算法有950M,有些用resnet提取特征的网络模型体积达到几个G甚至十几个G;而本发明用深度可分离卷积做模型压缩,压缩后的模型SSD_mobilenet仅有84.2M,使得算法模型体积显著减小,这为深度学习模型移植嵌入式系统提供了有效的方法,并且压缩后的模型经过fine-tune后依然具有较高的准确率和召回率。
4、本发明在多尺度多样性目标检测算法SSD基础上,在网络结构的每个block的卷积层加入深度可分离卷积,检测速度明显加快,在树莓派4B系统中视频检测每秒帧数达到2.1FPS,符合信息反馈小于3S的要求。
5、本发明中卷积神经网络有23层卷积层,其中6层特征图构造目标检测的图像金字塔,得到采样的区域推荐由网络前向推理,根据loss定义对网络模型后向传播训练参数。对训练的模型轻量化,模型前13层为特征提取层采用深度可分离卷积,得到轻量级的深度模型,实验结果表明SSD_mobilenet在单张检测时比SSD时间缩短了3s。
附图说明
图1:用于电梯轿厢内人员检测与人数统计的轻量化深度神经网络方法流程图。
图2:深度可分离卷积Depthwise过程示意图。
图3:深度可分离卷积Pointwise过程示意图。
图4:feature map检测多尺度设定示意图。
图5:嵌入式开发环境下电梯轿厢人员检测与人数统计结果输出图。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明,但本发明的内容并不局限于此。
实施例1:
本实施例用于电梯轿厢内人员检测与人数统计的轻量化深度神经网络方法,如图1用于电梯轿厢内人员检测与人数统计的轻量化深度神经网络方法流程图所示,具体操作按如下步骤进行。
SS01. 数据采集与预处理:在电梯轿厢安装摄像头以视频方式收集乘客头部图像,摄像头要扫描到所有角落位置,计算机视觉开源库opencv以rtsp协议读取图像数据,在视频中选取1000张情景不一样的乘客头部图片,按4:1比例划分为train_data和test_data,800张图片作为训练集,200张图片作为测试集用来测试模型性能;对训练集和测试集用LabelImage打标签,标签文件以xml格式存储,输入模型时转换为record格式,record文件中包含图片的目标标签信息以及坐标信息。
SS02. 目标检测网络模型的搭建:设计一个端到端的卷积神经网络模型(CNN),网络拓扑结构具体如下:
第一层:输入层:以voc数据格式输入,训练集与测试集按4︰1比例分开,batchsize设置为24,输入层数据为[24,300,300,3]的tensor;
第一个block:包含二个卷积层、二个批量归一化层、二个非线性激活函数层、一个池化层,卷积核大小3*3,卷积核个数为64,两个卷积层的卷积核形状均为[3,3,3,64],卷积步长,stride=1,padding=SAME,得到特征图形状[24,300,300,64],经过非线性激活函数层,批量归一化层,由池化层(stride=2)下采样特征图的形状变为[24,150,150,64];
第二个block:包含二个卷积层、二个批量归一化层、二个非线性激活函数层、一个池化层,卷积核大小3*3,卷积核个数为128,两个卷积层的卷积核形状均为[3,3,64,128],卷积步长,stride=1,padding=SAME,得到特征图形状[24,150,150,128],经过非线性激活函数层,批量归一化层,由池化层(stride=2)下采样特征图的形状变为[24,75,75,128];
第三个block:包含三个卷积层、三个批量归一化层、三个非线性激活函数层、一个池化层,卷积核大小3*3,卷积核个数为256,三个卷积层的卷积核形状均为[3,3,128,256],卷积步长,stride=1,padding=SAME,得到特征图形状[24,75,75,256],经过非线性激活函数层,批量归一化层,由池化层(stride=2)下采样特征图的形状变为[24,38,38,256];
第四个block:包含三个卷积层、三个批量归一化层、三个非线性激活函数层、一个池化层,卷积核大小3*3,卷积核个数为512,三个卷积层的卷积核形状均为[3,3,256,512],卷积步长,stride=1,padding=SAME,得到特征图形状[24,38,38,512],经过非线性激活函数层,批量归一化层,由池化层(stride=2)下采样特征图的形状变为[24,19,19,256];
第五个block:包含三个卷积层、三个批量归一化层、三个非线性激活函数层,卷积核大小3*3,卷积核个数为512,三个卷积层的卷积核形状均为[3,3,256,512],卷积步长,stride=1,padding=SAME,得到特征图形状[24,19,19,512],经过非线性激活函数层,批量归一化层,由池化层(stride=1)下采样特征图的形状变为[24,19,19,256];
第六个block:包含一个卷积层、一个批量归一化层、一个非线性激活函数层,卷积核大小3*3,卷积核个数为1024,卷积层的卷积核形状均为[3,3,512,1024],卷积步长,stride=1,padding=SAME,得到特征图形状[24,19,19,1024],经过非线性激活函数层,批量归一化层;
第七个block:包含一个卷积层、一个批量归一化层、一个非线性激活函数层,卷积核大小1*1,卷积核个数为1024,卷积层的卷积核形状均为[1,1,1024,1024],卷积步长,stride=1,padding=SAME,得到特征图形状[24,19,19,1024],经过非线性激活函数层,批量归一化层;
第八个block:包含二个卷积层、二个批量归一化层、二个非线性激活函数层,第一个卷积核大小1*1,卷积核个数为256,卷积层的卷积核形状均为[1,1,1024,256],卷积步长stride=1,padding=SAME,得到特征图形状[24,19,19,256],经过非线性激活函数层,批量归一化层,第二个卷积核大小3*3,卷积核个数为512,卷积层的卷积核形状均为[1,1,256,512],卷积步长stride=2,padding=VALID,得到特征图形状[24,10,10,512],经过非线性激活函数层,批量归一化层;
第九个block:包含二个卷积层、二个批量归一化层、二个非线性激活函数层,第一个卷积核大小1*1,卷积核个数为128,卷积层的卷积核形状均为[1,1,512,128],卷积步长stride=1,padding=SAME,得到特征图形状[24,10,10,128],经过非线性激活函数层,批量归一化层,第二个卷积核大小3*3,卷积核个数为256,卷积层的卷积核形状均为[3,3,128,256],卷积步长stride=2,padding=VALID,得到特征图形状[24,5,5,256],经过非线性激活函数层,批量归一化层;
第十个block:包含二个卷积层、二个批量归一化层、二个非线性激活函数层,第一个卷积核大小1*1,卷积核个数为128,卷积层的卷积核形状均为[1,1,256,128],卷积步长stride=1,padding=SAME,得到特征图形状[24,5,5,128],经过非线性激活函数层,批量归一化层,第二个卷积核大小3*3,卷积核个数为256,卷积层的卷积核形状均为[3,3,128,256],卷积步长stride=2,padding=VALID,得到特征图形状[24,3,3,256],经过非线性激活函数层,批量归一化层;
第十一个block:包含二个卷积层、二个批量归一化层、二个非线性激活函数层,第一个卷积核大小1*1,卷积核个数为128,卷积层的卷积核形状均为[1,1,256,128],卷积步长stride=1,padding=SAME,得到特征图形状[24,3,3,128],经过非线性激活函数层,批量归一化层,第二个卷积核大小3*3,卷积核个数为256,卷积层的卷积核形状均为[3,3,128,256],卷积步长stride=2,padding=VALID,得到特征图形状[24,1,1,256],经过非线性激活函数层,批量归一化层。
采用多尺度多样性特征图用于检测
CNN网络一般前面的特征图比较大,后面会逐渐采用stride=2的卷积或者pool降低特征图大小,一个比较大的特征图和一个比较小的特征图,它们都用来做检测。这样做的好处是比较大的特征图来用来检测相对较小的目标,而小的特征图负责检测大目标,如附图2所示。
算法借鉴了Faster R-CNN中anchor的理念,每个单元设置尺度或者长宽比不同的先验框,预测的边界框(bounding boxes)是以这些先验框为基准的,在一定程度上减少训练难度。一般情况下,每个单元会设置多个先验框,其尺度和长宽比存在差异,这些先验框在特征图金字塔上提取到对应的特征,特征图金字塔我们设置为上述模型的Conv4_3,Conv7,Conv8_2,Conv9_2,Conv10_2,Conv11_2,共有6层检测所用的特征图,其大小分别是(38, 38),(19, 19),(10, 10),(5, 5),(3, 3),(1, 1) 。对于先验框的尺度,其遵守一个线性递增规则:随着特征图大小降低,先验框尺度线性增加,如下式所示:
Sk=Smin+(Smax-Smin)(k-1)/(m-1) (1)
其中公式中的m是进行预测时使用feature map的数量,所以m=6,设定Smax=0.9,Smin=0.2;
得到各个特征图的先验框尺度。对于各个特征图的先验框长宽比,一般选取{1,2,3,1/2,1/3,1},这样在特征图金字塔上采样得到多尺度的特征。
SS03. 根据Loss定义,训练卷积神经网络模型CNN。
SS03.1网络的前向计算
将训练元组输入到卷积神经网络,初始化模型权重,输入数据经过卷积层、归一化层、非线性激活层(激活函数选择relu或tanh)、池化层前向计算出输出值,全连接层计算目标物体在各个类别的置信度。
SS03.2 神经网络后向计算
目标检测模型的后向计算是先验框匹配过程,在训练过程中,首先要确定训练图片中的ground truth(真实目标)与哪个先验框来进行匹配,与之匹配的先验框所对应的边界框将负责预测它。本算法中的先验框与ground truth的匹配原则主要有两点。首先,对于图片中每个ground truth,找到与其交并比(intersection-over-union,IOU)最大的先验框,让该先验框与其匹配,这样,可以保证每个ground truth一定与某个先验框匹配。反之,若一个先验框没有与任何ground truth进行匹配,那么该先验框只能与背景匹配,就是负样本。
SS03.3 损失函数
训练样本确定了,然后就是损失函数了。损失函数定义为位置误差(locatizationloss)与置信度误差(confidence loss)的加权和,如下式所示:
L(x,c,1,g)=(Lconf(x,c)+αLloc(x,1,g))/N (2)
式中:N表示与真实物体框相匹配的默认框数量,若N为0,则总体损失等于0;c是预测框的置信度;为预测框的位置信息;g是真实框的位置信息;α是一个权重参数,经过交叉验证将它设为1;Lloc(x,1,g)位置损失是预测框与真实框的Smooth L1损失函数;Lconf(x,c)是置信损失,这里采用交叉熵损失函数。
在训练过程中,通过随机梯度下降(Stochastic gradient descent,SGD)以及反向传播机制不断减小损失函数值,从而使预测框的位置逼近真实框位置,同时提高类别置信度,通过多次优化,不断增强网络模型检测目标的效果,最终得到一个最优的目标检测模型。
SS04. 深度网络模型轻量化:
我们在卷积层(如conv4_1、conv4_2、conv4_3、conv5_1、conv5_2、conv5_3)通过深度可分离卷积,使得深度模型轻量化,深度可分离卷积具体方法如下:
Depthwise过程:
Depthwise将 n×h×w×c的特征图张量输入分为 C 组,然后每一组做3×3 卷积。这样相当于收集了每个Channel的空间特征,即Depthwise特征。Depthwise过程见附图3。
Pointwise过程:
Pointwise 将 n×h×w×c的特征图张量做k个1×1 卷积,这样就收集了每个点的特征,即Pointwise特征。Pointwise 过程见附图4。
在第一个block中卷积层是3×3×64的张量,参数量为:3×3×3×64=1728,
深度可分离卷积操作,分两步完成,参数量为:3×3×3+3×1×1×64=219;
在第二个block中卷积层是3×3×128的张量,参数量为:3×3×64×128=73728,
深度可分离卷积操作,分两步完成,参数量为:3×3×64+64×1×1×128=8768;
在第三个block中卷积层是3×3×256的张量,参数量为:3×3×128×256=294912,
深度可分离卷积操作,分两步完成,参数量为:3×3×128+128×1×1×256=33920;
在第四个block中卷积层是3×3×512的张量,参数量为:3×3×256×512=1179648,
深度可分离卷积操作,分两步完成,参数量为:3×3×256+256×1×1×512=133376;
在第五个block中卷积层是3×3×512的张量,参数量为:3×3×512×512=2359296,
深度可分离卷积操作,分两步完成,参数量为:3×3×512+512×1×1×512=266752;
在特征提取的前五个block卷积层的参数量(conv_repeat==1)α=3909312; 深度可分离卷积后前五个block卷积层的参数量(conv_repeat==1)α1=443035,模型参数减少率(α-α1)/α即11.3%,经过深度可分离卷积操作后的模型压缩处理,在tensorflow中保存其模型文件,恢复出权值参数微调,使得模型压缩后保持原来的精准率。
SS05. 将轻量化模型移植于树莓派4B系统:在树莓派4B交叉编译tensorflow、opencv、numpy等框架,然后将步骤S04所得轻量化算法模型移植于树莓派4B系统。
SS06. opencv读取视频流,送入目标检测模型,对电轿厢的乘客进行检测与人数统计。统计结果输出图片,见附图5。
如果电梯发生故障,就可以给应急救援处置平台发送人员被困情景图像。
以上所述,仅是本发明的较佳实施例,并非用以限制本发明的权利范围。任何以本申请专利范围所涵盖的权利范围实施的技术方案,或者任何熟悉本领域的技术人员,利用上述揭示的方法内容做出许多可能的变动和修饰的方案,均属于本发明的保护范围。
Claims (7)
1.电梯内人员检测与人数统计的轻量化深度神经网络方法,该方法基于卷积神经网络的目标检测算法SSD,模型压缩与神经网络加速计算采用深度可分离卷积层,包括以下步骤:
S01. 数据采集与预处理:采集电梯轿厢内乘客头部数据,按比例随机分为训练集和测试集,并按比例随机分为训练集train_data和测试集test_data;对图像数据进行增强预处理;
S02. 目标检测网络模型的搭建:设计一种端到端的卷积神经网络模型,所述卷积神经网络模型至少包括输入层、卷积层、批量归一化层、池化层和输出层,其中对高级语义特征图作区域推荐,推荐的区域通过全连接层对人头部位和背景二分类;
S03. 根据Loss定义,训练卷积神经网络模型:训练步骤S02搭建的卷积神经网络模型,使得Loss达到收敛状态,用测试集对当前模型进行评估,若模型对测试集召回率低于90%,则对当前模型精细化微调;
S04. 深度网络模型轻量化:对步骤S03训练后的卷积神经网络模型做压缩和加速计算,对模型中的卷积层作深度可分离卷积,把普通卷积转换为Mobilenet卷积,降低模型的参数量和乘法运算次数,得到轻量化的SSD_Mobilenet算法模型;
S05. 将轻量化模型移植于树莓派4B系统:在树莓派4B交叉编译tensorflow、opencv或numpy框架,然后将步骤S04所得轻量化算法模型移植于树莓派4B系统;
S06. opencv读取视频流,送入目标检测模型,对电梯轿厢的乘客进行检测与人数统计。
2.如权利要求1所述电梯内人员检测与人数统计的轻量化深度神经网络方法,其特征在于,所述步骤S01具体为,在电梯轿厢固定位置安装摄像头以视频方式收集乘客头部图像,摄像头要扫描到所有角落位置,计算机视觉开源库opencv以rtsp协议读取图像数据,在视频中选取1000张情景不一样的乘客头部图片,按4:1比例划分为训练集train_data和测试集test_data,对训练集和测试集用LabelImage打标签,标签文件以xml格式存储,输入模型时转换为record格式,record文件中包含图片的目标标签信息以及位置坐标信息。
3.如权利要求1所述电梯内人员检测与人数统计的轻量化深度神经网络方法,其特征在于,所述步骤S02中,所述卷积神经网络模型结构中包括11个block,各层结构如下:
输入层:以record数据格式输入训练集的图片数据和每张图片的真实标签’header’;
第一个block:包含二个卷积层、二个批量归一化层、二个非线性激活函数层、一个池化层;
第二个block:包含二个卷积层、二个批量归一化层、二个非线性激活函数层、一个池化层;
第三个block:包含三个卷积层、三个批量归一化层、三个非线性激活函数层、一个池化层;
第四个block:包含三个卷积层、三个批量归一化层、三个非线性激活函数层、一个池化层;
第五个block:包含三个卷积层、三个批量归一化层、三个非线性激活函数层、一个池化层;
第六个block:包含一个卷积层、一个非线性激活函数层;
第七个block:包含一个卷积层、一个非线性激活函数层;
第八个block:包含二个卷积层、二个非线性激活函数层;
第九个block:包含二个卷积层、二个非线性激活函数层;
第十个block:包含二个卷积层、二个非线性激活函数层;
第十一个block:包含二个卷积层、二个非线性激活函数层;
输出层:Default bounding boxes的类别分数、偏移量。
4. 如权利要求1所述电梯内人员检测与人数统计的轻量化深度神经网络方法,其特征在于,步骤S03 中,所述训练方法如下:利用步骤S01 所述训练集中的图像及其真实标签,训练卷积神经网络,具体为:
S03.1. 神经网络前向运算;
S03.2. 神经网络后向运算;
S03.3. 损失函数Loss的确定;
S03.4. 用测试集对当前模型进行评估,若召回率低于90%,则恢复保存的模型权值参数,继续对当前模型进行精细化微调,直到模型在测试集的召回率达到90%以上,进行后续的电梯轿厢的人数统计任务。
5.如权利要求3所述电梯内人员检测与人数统计的轻量化深度神经网络方法,其特征在于,所述步骤S04中,在卷积层conv4_1、conv4_2、conv4_3、conv5_1、conv5_2、conv5_3通过深度可分离卷积,使得深度模型轻量化。
6.如权利要求1所述电梯内人员检测与人数统计的轻量化深度神经网络方法,其特征在于,步骤S04中,所述深度可分离卷积的具体方法如下:
Depthwise过程:
Depthwise将 n×h×w×c的特征图张量输入分为 C 组,然后每一组做3×3 卷积,这样相当于收集了每个Channel的空间特征,即Depthwise特征;
Pointwise过程:
Pointwise 将 n×h×w×c的特征图张量做k个1×1 卷积,这样就收集了每个点的特征,即Pointwise特征;
在第一个block中卷积层是3×3×64的张量,参数量为:3×3×3×64=1728,
深度可分离卷积操作,分两步完成,参数量为:3×3×3+3×1×1×64=219;
在第二个block中卷积层是3×3×128的张量,参数量为:3×3×64×128=73728,
深度可分离卷积操作,分两步完成,参数量为:3×3×64+64×1×1×128=8768;
在第三个block中卷积层是3×3×256的张量,参数量为:3×3×128×256=294912,
深度可分离卷积操作,分两步完成,参数量为:3×3×128+128×1×1×256=33920;
在第四个block中卷积层是3×3×512的张量,参数量为:3×3×256×512=1179648,
深度可分离卷积操作,分两步完成,参数量为:3×3×256+256×1×1×512= 133376;
在第五个block中卷积层是3×3×512的张量,参数量为:3×3×512×512=2359296,
深度可分离卷积操作,分两步完成,参数量为:3×3×512+512×1×1×512=266752;
在特征提取的前五个block卷积层的参数量α=3909312;深度可分离卷积后前五个block卷积层的参数量α1=443035,模型参数减少率(α-α1)/α即11.3%,经过深度可分离卷积操作将模型压缩后,在tensorflow中保存其模型文件,恢复出权值参数微调,使得压缩后的模型保持原来的精准率。
7.如权利要求1所述电梯内人员检测与人数统计的轻量化深度神经网络方法,其特征在于,步骤S05具体为,将PC端的tensorflow、opencv、numpy用arm-linux交叉编译,然后将步骤S04中压缩后的模型文件移植入树莓派4B;搭建树莓派4B深度学习环境,树莓派4B的cpu架构为ARM-cortex,在PC端的tensorflow、opencv、numpy都须用arm-linux交叉编译。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010068935.9A CN111199220B (zh) | 2020-01-21 | 2020-01-21 | 电梯内人员检测与人数统计的轻量化深度神经网络方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010068935.9A CN111199220B (zh) | 2020-01-21 | 2020-01-21 | 电梯内人员检测与人数统计的轻量化深度神经网络方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111199220A CN111199220A (zh) | 2020-05-26 |
CN111199220B true CN111199220B (zh) | 2023-04-28 |
Family
ID=70747116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010068935.9A Active CN111199220B (zh) | 2020-01-21 | 2020-01-21 | 电梯内人员检测与人数统计的轻量化深度神经网络方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111199220B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111723739A (zh) * | 2020-06-19 | 2020-09-29 | 艾索信息股份有限公司 | 基于卷积神经网络的公交车内拥挤状态监测方法 |
CN111832630A (zh) * | 2020-06-23 | 2020-10-27 | 成都恒创新星科技有限公司 | 一种基于一阶梯度神经网络的目标检测方法 |
CN111914773A (zh) * | 2020-08-07 | 2020-11-10 | 杭州微胜智能科技有限公司 | 一种抓拍违法上下客的设备、方法 |
CN112270381B (zh) * | 2020-11-16 | 2022-06-03 | 电子科技大学 | 基于深度学习的人流量检测方法 |
CN112633249A (zh) * | 2021-01-05 | 2021-04-09 | 北华航天工业学院 | 一种基于轻型深度学习框架的嵌入式人流量检测方法 |
CN113044694B (zh) * | 2021-03-05 | 2023-10-24 | 苏州威视通智能科技有限公司 | 基于深度神经网络的工地电梯人数统计系统及方法 |
CN113256601B (zh) * | 2021-06-10 | 2022-09-13 | 北方民族大学 | 路面病害检测方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019144575A1 (zh) * | 2018-01-24 | 2019-08-01 | 中山大学 | 一种快速行人检测方法及装置 |
CN110287849A (zh) * | 2019-06-20 | 2019-09-27 | 北京工业大学 | 一种适用于树莓派的轻量化深度网络图像目标检测方法 |
-
2020
- 2020-01-21 CN CN202010068935.9A patent/CN111199220B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019144575A1 (zh) * | 2018-01-24 | 2019-08-01 | 中山大学 | 一种快速行人检测方法及装置 |
CN110287849A (zh) * | 2019-06-20 | 2019-09-27 | 北京工业大学 | 一种适用于树莓派的轻量化深度网络图像目标检测方法 |
Non-Patent Citations (1)
Title |
---|
曹诗雨 ; 刘跃虎 ; 李辛昭.基于Fast R-CNN的车辆目标检测.中国图象图形学报.2017,第22卷(第5期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111199220A (zh) | 2020-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111199220B (zh) | 电梯内人员检测与人数统计的轻量化深度神经网络方法 | |
CN111709310B (zh) | 一种基于深度学习的手势跟踪与识别方法 | |
Frizzi et al. | Convolutional neural network for video fire and smoke detection | |
EP3092619B1 (en) | Information processing apparatus and information processing method | |
CN111914664A (zh) | 基于重识别的车辆多目标检测和轨迹跟踪方法 | |
CN107273832B (zh) | 基于积分通道特征与卷积神经网络的车牌识别方法及系统 | |
Ahmad et al. | Overhead view person detection using YOLO | |
CN107977646B (zh) | 一种隔栏递物检测方法 | |
CN110781964A (zh) | 一种基于视频图像的人体目标检测方法及系统 | |
CN114283469B (zh) | 一种基于改进YOLOv4-tiny的轻量型目标检测方法及系统 | |
CN112270381B (zh) | 基于深度学习的人流量检测方法 | |
CN112528961B (zh) | 一种基于Jetson Nano的视频分析方法 | |
CN116363738A (zh) | 一种基于多移动目标的人脸识别方法、系统及存储介质 | |
CN110909672A (zh) | 一种基于双流卷积神经网络和svm的抽烟动作识别方法 | |
CN111027370A (zh) | 一种多目标跟踪及行为分析检测方法 | |
CN114360067A (zh) | 一种基于深度学习的动态手势识别方法 | |
CN111476089A (zh) | 一种图像中多模态信息融合的行人检测方法、系统及终端 | |
CN114550268A (zh) | 一种利用时空特征的深度伪造视频检测方法 | |
Shangzheng | A traffic sign image recognition and classification approach based on convolutional neural network | |
CN115527271A (zh) | 电梯轿厢乘客异常行为检测系统及方法 | |
CN111898418A (zh) | 一种基于t-tiny-yolo网络的人体异常行为检测方法 | |
CN114943873B (zh) | 一种工地人员异常行为分类方法及装置 | |
CN111027482A (zh) | 基于运动向量分段分析的行为分析方法及装置 | |
CN114882429A (zh) | 一种基于多种信息特征融合的队列计数方法及系统 | |
CN115439926A (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 |