基于卷积神经网络的客流检测方法、系统、装置和介质
技术领域
本发明涉及目标检测
技术领域
,尤其是一种基于卷积神经网络的客流检测方法、系统、装置和介质。背景技术
客流是人们为了实现各类出行活动,借助各种交通工具形成的有目的的流动。随着交通网络的不断发展,客流也随之增加,比如火车站的售票厅,现场办理买票、取票、改签、咨询等业务,会导致客流大幅度增加。随着客流的增加,当发生突发事件时,则非常容易造成人员伤亡和财产损失。因此,对于这些客流较大的场所,人流管控是非常重要的。人流管控的一个重要手段是指定场所内的人数监测。目前对于指定场所的人数检测,一方面通过监控人员对监控视频放大后人为确定人数,这种方式使得监控人员的工作量非常大;另一种方式是采用特定模型进行监测,例如Faster-RCNN,SSD,YOLOv1~v3,这种通过模型进行检测的方式,虽然能够在一定程度上降低监控人员的工作量,但是,由于检测过程的模型在数据处理过程时的处理时间较长,从而无法快速地为监控人员提供有效的监控区域的客流量。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种基于卷积神经网络的客流检测方法、系统、装置和介质,能够快速地为监控人员提供有效的监控区域的客流量。
第一方面,本发明实施例提供了一种基于卷积神经网络的客流检测方法,包括以下步骤:
获取实时采集的视频数据;
根据所述视频数据,采用YOLOv4-tiny网络模型进行客流检测,得到客流检测结果;
其中,所述YOLOv4-tiny网络模型包括输入层、骨干框架、网络层和输出层,所述输入层、所述骨干框架、所述网络层和所述输出层依次连接;所述骨干框架包括卷积计算模块和ResBlock-D模块;所述卷积计算模块用于对所述视频数据进行初步特征处理;所述ResBlock-D模块用于对初步特征处理后的视频数据进行特征提取和计算。
本发明实施例提供的一种基于卷积神经网络的客流检测方法,具有如下有益效果:
本实施例通过由输入层、包含卷积计算模块和ResBlock-D模块的骨干框架、网络层和输出层组成的YOLOv4-tiny网络模型结合实时采集的视频数据来进行客流检测,以无需监控人员人为地确定监控视频内容的人数,减少监控人员工作量,同时通过在骨干框架内设置ResBlock-D模块,以降低视频数据处理过程的复杂度,加快数据处理速度,从而快速地为监控人员提供实时有效的监控区域的客流量。
可选地,所述骨干框架还包括残差模块,所述残差模块用于辅助所述ResBlock-D模块对初步特征处理后的视频数据进行特征提取和计算。
可选地,所述输入层用于对所述视频数据对应的图像进行角度旋转、色彩调节、大小调整和mosaic数据增强。
可选地,所述网络层包括上采样模块和下采样模块;所述上采样模块用于对所述骨干框架处理后的图像进行采样并自顶向下传输强语义特征;所述下采样模块用于对所述上采样模块处理后的图像进行采样并自底向上传输定位特征。
可选地,在所述采用YOLOv4-tiny网络模型进行客流检测这一步骤之前,还包括对所述YOLOv4-tiny网络模型的训练步骤,所述训练步骤包括:
获取待处理的图像数据;
对所述图像数据进行人头部位标注,得到标签数据;
采用所述图像数据和所述标签数据对所述YOLOv4-tiny网络模型进行训练;
获取测试数据;
采用所述测试数据对训练后的YOLOv4-tiny网络模型进行测试;
当测试结果的准确率小于等于预设值,继续执行YOLOv4-tiny网络模的训练过程并调整所述YOLOv4-tiny网络模的参数;
当测试结果的准确率大于预设值,停止所述YOLOv4-tiny网络模的训练过程。
第二方面,本发明实施例提供了一种基于卷积神经网络的客流检测系统,包括:
数据采集单元,所述数据采集单元用于实时采集预设采集区域内的视频数据;
数据处理单元,所述数据处理单元用于执行第一方面实施例提供的基于卷积神经网络的客流检测方法;
数据显示单元,所述数据显示单元用于统计所述数据处理单元输出的客流检测结果,并显示统计结果。
可选地,所述数据采集单元包括若干个摄像头,所述若干个摄像头的拍摄区域覆盖所述预设采集区域。
可选地,所述数据处理单元包括ARM嵌入平台,所述ARM嵌入平台分别与所述若干个摄像头和所述数据显示单元无线通信。
第三方面,本发明实施例提供了一种基于卷积神经网络的客流检测装置,包括:
至少一个存储器,用于存储程序;
至少一个处理器,用于加载所述程序以执行第一方面实施例提供的基于卷积神经网络的客流检测方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行第一方面实施例提供的基于卷积神经网络的客流检测方法。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
下面结合附图和实施例对本发明做进一步的说明,其中:
图1为本发明实施例的一种基于卷积神经网络的客流检测方法的流程图
图2为本发明实施例的一种YOLOv4-tiny网络模型的框架示意图;
图3为本发明实施例的一种骨干框架Backbone的结构示意图;
图4为本发明实施例的一种网络层Neck的结构示意图;
图5为本发明实施例的一种基于卷积神经网络的客流检测系统的单元框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
本发明的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
参照图1,本发明实施例提供了一种基于卷积神经网络的客流检测方法,本实施例可应用于服务器或者监控处理平台对应的控制器内,该服务器或者控制器与各个终端设备进行交互,终端设备包括录像设备和显示设备。
在应用过程中,本实施例包括步骤S11和S12:
S11、获取实时采集的视频数据。
在本申请实施例中,视频数据为预设采集区域内的实时视频数据,其通过预设设置的若干个摄像头实时采集。其中,预设采集区域可以为火车站的售票厅、汽车站的售票厅、购物商场、游乐园等区域。
S12、根据视频数据,采用YOLOv4-tiny网络模型进行客流检测,得到客流检测结果。
在本申请实施例中,将实时获取的视频数据输入到YOLOv4-tiny网络模型内,通过YOLOv4-tiny网络模型对视频数据进行人数识别后,输出客流检测结果。该客流检测结果可在终端设备上显示,显示内容包括时间、人数、位置等信息。
具体地,如图2所示,本实施例的YOLOv4-tiny网络模型包括输入层、骨干框架、网络层和输出层,其中,输入层的输入端用于输入实时获取的视频数据,输入层的输出端与骨干框架的输入端连接,骨干框架的输出端与网络层的输入端连接,网络层的输出端与输出层的输入端连接。骨干框架包括卷积计算模块和ResBlock-D模块,其中,卷积计算模块用于对视频数据进行初步特征处理;ResBlock-D模块用于对初步特征处理后的视频数据进行特征提取和计算。
在本实施例中,输入层用于对视频数据对应的图像进行角度旋转、色彩调节、大小调整和mosaic数据增强。具体是通过mosaic数据来对目标物体进行遮挡,例如,人头部。针对这种场景特性,在模型进行应用之前,选取大量的人流密集的图像,该图像内每个人头尽可能有遮挡或者不完整,以此类图像作为训练数据来对模型进行训练,以使训练后的模型鲁棒性更好,对被遮挡的物体有更高的准确率。
在本实施例中,骨干框架Backbone是在目前的YOLOv4模型的Backbone上进行改进,其中,YOLOv4模型上的Backbone是采用CSPDarknet53代替之前的Darknet53来作为特征提取网络,CSPnet减少了计算量的同时可以保证准确率,使用Mish激活函数Leaky Relu函数,更好的使信息深入神经网络,从而得到更好的准确性和泛化。本实施例的YOLOv4-tiny模型内的Backbone是采用ResBlock-D模块代替YOLOv4模型上的部分CSPBlock模块,以降低了计算的复杂度,本实施例的Backbone如图3所示。根据图3可知,本实施例的Backbone还设有Auxiliary残差模块,残差模块用于辅助ResBlock-D模块对初步特征处理后的视频数据进行特征提取和计算,以便提取更多的人头部特征信息,降低检测的误差。例如,以输入特征图像的大小为104*104为例,通道数为64:
CSPBlock的每秒所执行的浮点运算次数FLOPs为:
FLOPs=1042×32×642×1042×32×64×32+1042×32×322+1042×12×642
=7.421×108
ResBlock-D的每秒所执行的浮点运算次数FLOPs为:
FLOPs=1042×12×64×32+522×32×322+522×12×32×64+64×522×22+522×12×642
=6.438×107
通过以上计算可以得到CSPBlock和ResBlock-D的计算复杂度比率约为10:1。因此ResBlock-D的计算复杂度远抵于CSPBlock。因此本实施例通过使用的ResBlock-D模块,以提高计算速度,从而能够快速地为监控人员提供实时有效的监控区域的客流量。
在本实施例中,网络层Neck采用多尺度融合特征,以使特征图信息更加丰富。具体地,如图4所示,网络层Neck包括上采样模块PFN和下采样模块PAN,其中,PFN用于对骨干框架处理后的图像进行采样并自顶向下传输强语义特征;PAN用于对上采样模块处理后的图像进行采样并自底向上传输定位特征。
在本实施例中,输出层采用CLOU_LOSS、DIOU_nms操作,其中,CLOU_LOSS考虑了预测框和目标框的形状差异的特性,以提高模型的收敛速度和回归精度。通过使用DIOU进行评判nms效果,使评判效果更加符合实际情况,以得到更好的输出结果。
在一些实施例中,YOLOv4-tiny网络模型的训练步骤包括:
获取待处理的图像数据,并对图像数据进行人头部位标注后得到标签数据。其中,待处理的图像数据可以是从历史监控视频数据中提取得到的图像数据,该图像数据可以为1万张图片组成。在得到图像数据后,通过标注软件对图像数据进行标注,以的都标签数据。接着采用图像数据和标签数据对YOLOv4-tiny网络模型进行训练,即将图像数据和标签数据输入YOLOv4-tiny网络模型中,同时获取测试数据,并采用该测试数据对训练后的YOLOv4-tiny网络模型进行测试;当测试结果的准确率小于等于预设值时,继续执行YOLOv4-tiny网络模的训练过程并调整YOLOv4-tiny网络模的参数;当测试结果的准确率大于预设值时,停止YOLOv4-tiny网络模的训练过程,以确保训练后的YOLOv4-tiny网络模在应用过程中,输出的检测结果更加准确。
参照图5,本发明实施例提供了一种基于卷积神经网络的客流检测系统,包括数据采集单元、数据处理单元和数据显示单元,其中,数据采集单元和数据显示单元均与数据处理单元交互。具体地,数据采集单元包括若干个摄像头,若干个摄像头均用于实时采集预设采集区域内的视频数据,且若干个摄像头的拍摄区域覆盖预设采集区域,以通过多角度的视频录取,减少遮挡情况对人数检测结果的影响。数据处理单元包括ARM嵌入平台,其用于根据数据采集单元采集的数据,执行图1所示的基于卷积神经网络的客流检测方法。数据显示单元用于统计数据处理单元输出的客流检测结果,并显示统计结果。
将上述实施例应用于火车站售票厅的人员检测过程时,监控人员人为的计算出指定时间段内的客流量为85人,而通过本实施例提供的检测方法检测出来的人数为78人,可知,本实施例检测的人数与人为计算出来的人数几乎相等,但是,本实施例所使用的时间远小于监控人员人为计数的时间。
本发明实施例提供了一种基于卷积神经网络的客流检测装置,包括:
至少一个存储器,用于存储程序;
至少一个处理器,用于加载程序以执行图1所示的基于卷积神经网络的客流检测方法。
本发明方法实施例的内容均适用于本装置实施例,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
本发明实施例提供了一种计算机可读存储介质,其中存储有处理器可执行的程序,处理器可执行的程序在由处理器执行时用于执行图1所示的基于卷积神经网络的客流检测方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图1所示的方法。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。此外,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。