基于神经网络的多模型协同暴力检测方法及系统与流程

文档序号:21982417发布日期:2020-08-25 19:18阅读:189来源:国知局
基于神经网络的多模型协同暴力检测方法及系统与流程

本发明涉及计算机软件应用技术领域,尤其涉及一种基于神经网络的多模型协同暴力检测方法及系统。



背景技术:

在公共场所,暴力行为可能为人民生命和财产安全带来极大威胁,是破坏社会稳定和谐的一个重要影响因素。由于近年来监控摄像头的广泛部署,通过使用计算机视觉技术捕获、识别和分析监控摄像头中的视频流以实现暴力检测成为可能。然而目前的相关方法存在准确率较低、误报率较高、泛化能力较弱等问题。此外,在基于计算机视觉的暴力检测领域,公开数据集(特别是含有真实暴力信息的数据集)较少,也成为了掣肘一些暴力检测方法(如基于深度学习的方法)有效研究和应用的一个关键原因。



技术实现要素:

本发明实施例所要解决的技术问题在于,提供一种基于神经网络的多模型协同暴力检测方法及系统,以克服数据集规模的限制,并提高暴力检测的准确率,降低暴力检测的误报率,以及提高暴力检测方法的泛化能力。

为了解决上述技术问题,本发明实施例提出了一种基于神经网络的多模型协同暴力检测方法,包括:

步骤1:训练神经网络模型a、神经网络模型b及构造运动检测模型,其中,神经网络模型a检测单帧图像中的个体,其输出为单帧图像中的人数;神经网络模型b检测一组连续图像中的暴力行为,其输出为一组连续图像中暴力行为存在的概率;运动检测模型检测多帧图像中物体的运动幅度,其输出为物体运动幅度值;

步骤2:接入监控摄像头;

步骤3:实时读取监控摄像头中的下一帧图像;

步骤4:对所读取的图像进行预处理,使该图像成为神经网络模型a输入的标准格式;

步骤5:将该帧图像输入神经网络模型a,神经网络模型a输出该帧图像中的人数,若输出结果大于预设的阈值a,则执行步骤6;否则令暴力检测概率为0,执行步骤9;

步骤6:将该帧图像输入到运动检测模型,若输出结果大于预设的阈值b,则将该帧图像保留至神经网络模型b的输入集合中,并执行步骤7;否则清空神经网络模型b的输入集合,令暴力检测概率为0,执行步骤9;

步骤7:检查神经网络模型b的输入集合,当神经网络模型b的输入集合中视频帧的数量大于预设的阈值c时,则将该集合中的视频帧进行预处理,使其成为神经网络模型b输入的标准格式,然后执行步骤8;否则执行步骤3;

步骤8:将步骤7处理后的数据输入神经网络模型b,神经网络模型b输出该组图像中存在暴力行为的概率;

步骤9:展示实时暴力检测概率。

进一步地,所述步骤1还包括:

子步骤1:构造神经网络模型a的数据集a,使用构造的数据集a训练神经网络模型a;

子步骤2:构造神经网络模型b的数据集b,使用构造的数据集b训练神经网络模型b;

子步骤3:载入神经网络模型a,并设定阈值a,阈值a为触发运动检测模型的临界值;

子步骤4:载入运动检测模型,并设定阈值b,阈值b为存储视频帧到神经网络模型b输入集合的临界值;

子步骤5:载入神经网络模型b,并设定阈值c,阈值c为触发神经网络模型b的临界值;

子步骤6:选取视频数据测试神经网络模型a、运动检测模型和神经网络模型b,以检测其是否正常载入。

进一步地,所述步骤9中,将暴力检测概率按照曲线的形式实时绘制并展示。

进一步地,所述神经网络模型a采用基于卷积神经网络的体系结构,其输入为一帧图像,其输出为数字,该数字表示所输入视频帧内的人数;神经网络模型b采用基于卷积神经网络和长短期记忆网络融合的体系结构,其输入为一组图像,其输出为该组图像中是否包含暴力行为的概率。

进一步地,所述运动检测模型为帧差模型、光流模型、梯度模型中的一种。

进一步地,采用相隔固定帧或固定时间的方法从监控摄像头中读取图像。

进一步地,所述预处理包括对图像进行降采样、尺度变换、灰度化处理。

相应地,本发明实施例还提供了一种基于神经网络的多模型协同暴力检测系统,包括神经网络模型a训练子系统、神经网络模型b训练子系统、摄像头管理子系统、暴力行为预测子系统,其中,

神经网络模型a训练子系统包括数据集构造模块a、数据预处理模块a、模型训练模块a、模型管理模块a,数据集构造模块a将不同来源的原始数据集进行标准化;数据预处理模块a将数据集构造模块a所输出的数据集数据进行预处理操作,并将其转换为训练神经网络模型a要求的数据输入格式;模型训练模块a将数据预处理模块a的输出数据输入到神经网络中进行训练,生成相应的训练结果;模型管理模块a负责载入与保存神经网络模型a,以及对模型训练模块a输出的训练结果进行保存和展示;

神经网络模型b训练子系统包括数据集构造模块b、数据预处理模块b、模型训练模块b、模型管理模块b,数据集构造模块b将不同来源的原始数据集进行标准化;数据预处理模块b将数据集构造模块b所输出的数据集数据进行预处理操作,并将其转换为训练神经网络模型b要求的数据输入格式;模型训练模块b将数据预处理模块b的输出数据输入到神经网络中进行训练,生成相应的训练结果;模型管理模块b负责载入与保存神经网络模型b,以及对模型训练模块b输出的训练结果进行保存和展示;

摄像头管理子系统包括摄像头接入模块、摄像头视频帧读取模块、摄像头视频帧预处理模块、摄像头视频帧发送模块,摄像头接入模块用于连接监控摄像头,支持多种型号摄像头同时接入,并支持多种数据传输协议;摄像头视频帧读取模块从连接的摄像头中按帧顺序读取图像;摄像头视频帧预处理模块读取摄像头视频帧模块输出的图像数据,并按照暴力行为预测子系统要求,对图像进行初步处理(如尺度变换);摄像头视频帧发送模块将视频帧预处理模块输出数据发送到暴力行为预测子系统进行分析;

暴力行为预测子系统包括模型管理模块c、图像处理模块、图像预测模块和暴力行为预测可视化模块,模型管理模块c负责载入用于暴力行为预测子系统的神经网络模型a、运动检测模型、神经网络模型b;图像处理模块接收摄像头管理子系统输出的视频帧,并依据不同模型的不同输入要求,对视频帧进行进一步处理;图像预测模块根据规则调用模型以分析图像处理模块输出数据,并输出暴力检测概率;暴力行为预测可视化模块负责将暴力检测概率按照曲线的形式实时绘制并展示。

进一步地,数据预处理模块a和数据预处理模块b的预处理操作均包括降采样、尺度变换、灰度化处理。

本发明的有益效果为:本发明采用多种模型从不同维度协同解决暴力检测问题,在一定程度上克服了数据集规模的限制,并提高暴力检测的准确率,降低暴力检测的误报率,以及提高暴力检测方法的泛化能力。

附图说明

图1是本发明实施例的基于神经网络的多模型协同暴力检测方法的流程图。

图2是本发明实施例的基于神经网络的多模型协同暴力检测系统的结构示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本发明作进一步详细说明。

本发明实施例中若有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。

另外,在本发明中若涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。

请参照图1,本发明实施例的基于神经网络的多模型协同暴力检测方法包括步骤1~步骤9。

步骤1:训练神经网络模型a、神经网络模型b及构造运动检测模型,其中,神经网络模型a检测单帧图像中的个体,其输出为单帧图像中的人数;神经网络模型b检测一组连续图像中的暴力行为,其输出为一组连续图像中暴力行为存在的概率;运动检测模型检测多帧图像中物体的运动幅度,其输出为物体运动幅度值。针对模型a,需要一帧图像;针对运动检测模型,需要至少两帧图像(历史帧和当前读取帧);针对模型b,需要一组图像。本实施例中,神经网络模型b要求20帧图像为一组输入。

步骤2:接入监控摄像头。所接入监控摄像头为本地监控摄像头或网络监控摄像头。本实施例中,监控摄像头输出分辨率为1280*720p,码率类型为定码率,视频帧率为25,视频编码为h.264。

步骤3:实时读取监控摄像头中的下一帧图像。暴力检测是一个实时检测的过程,监控摄像头中的每一帧图像都需要进行处理与分析,因此应逐帧读取监控摄像头中的图像。特别地,为提高暴力检测效率,减小暴力检测所需的资源开销,也可以提出以下假设:暴力行为是一个连续的过程,该过程中人体存在一系列运动,且一般持续一段特定的时间。因此可以采用相隔固定帧或固定时间的方法从监控摄像头中读取图像。本实施例中,采用逐帧读取监控摄像头中图像的方法。

步骤4:对所读取的图像进行预处理,使该图像成为神经网络模型a输入的标准格式。该预处理包括对图像进行降采样、尺度变换、灰度化处理。本实施例中,图像分辨率统一调整为320*240。

步骤5:将该帧图像输入神经网络模型a,神经网络模型a输出该帧图像中的人数,若输出结果大于预设的阈值a,则执行步骤6;否则令暴力检测概率为0,执行步骤9。对于暴力行为而言,特别是对于打架的暴力行为而言,图像内应该至少有2人存在,否则可以直接判定为非暴力行为。使用神经网络模型a可识别图像中的人体,结合阈值a,可过滤人数不符合设定的情形。

步骤6:将该帧图像输入到运动检测模型。暴力行为存在以下假设:暴力行为是一个连续的过程,该过程中人体存在一系列运动,且一般持续一段特定的时间。因此,在特定时间内(如1秒内),若至少存在两帧(历史帧与当前帧)图像中物体相对静止(即小于特定阈值b),则可认为在该段时间内,不存在暴力行为。若输出结果大于预设的阈值b,则将该帧图像保留至神经网络模型b的输入集合中,并执行步骤7;否则清空神经网络模型b的输入集合,令暴力检测概率为0,执行步骤9。本实施例中,采用输入为两帧图像的运动检测模型,且历史帧与当前帧在监控摄像头的视频流中相差5帧。具体实施时,预处理后的图像优选为并行输入各个模型中。

步骤7:检查神经网络模型b输入集合中的数据。由于神经网络模型b通过分析连续时序数据以做出预测,因此其输入为一组图像。当神经网络模型b输入集合中的视频帧数量大于预设的阈值c时,则将该集合中的视频帧进行预处理,使其成为神经网络模型b输入的标准格式,然后执行步骤8;否则执行步骤3;

步骤8:将步骤7处理后的数据输入神经网络模型b,神经网络模型b输出该组图像中存在暴力行为的概率;

步骤9:展示实时暴力检测概率。将暴力检测概率按照曲线的形式实时绘制,可直观了解暴力行为发生概率的变化过程。本实施例中使用的可视化形式优选为折线图。

作为一种实施方式,步骤1还包括子步骤1~子步骤6。

子步骤1:构造神经网络模型a的数据集a,使用构造的数据集a训练神经网络模型a。优选地,数据集a采用coco、imagenet等公开数据集。通过多次迭代训练后,神经网络模型a能分辨单帧图像中的个体,并输出单帧图像中的人数。此模型可以达到较高的准确率和较低的误报率,且具有轻量、计算速度快的特点。本实施例中的神经网络模型a具有以下特征:采用基于卷积神经网络的体系结构。

子步骤2:构造神经网络模型b的数据集b,使用构造的数据集b训练神经网络模型b。优选地,因公开数据集数量有限且标准不统一,数据集b除了采用包括hockeyfight、movies、ucf101等公开数据集,还可采用自行构造的数据集。通过多次迭代训练,神经网络模型b可以提取图像中的暴力行为特征,并输出暴力行为存在概率。本实施例中的神经网络模型b具有以下特征:采用融合卷积神经网络和长短期记忆网络的体系结构。

子步骤3:载入神经网络模型a,并设定阈值a,阈值a为触发运动检测模型的临界值。

子步骤4:载入运动检测模型,并设定阈值b,阈值b为存储视频帧到神经网络模型b输入集合的临界值。运动检测模型可为帧差模型、光流模型、梯度模型等。与神经网络模型a类似,此类模型性能较好,适合于在暴力检测中作为前置判断条件。本实施例中的运动检测模型具有以下特征:采用光流模型。该模型利用图像序列中像素在时域上的变化计算物体运动。

子步骤5:载入神经网络模型b,并设定阈值c,阈值c为触发神经网络模型b的临界值。

子步骤6:选取视频数据测试神经网络模型a、运动检测模型和神经网络模型b,以检测其是否正常载入。

作为一种实施方式,步骤9中,将暴力检测概率按照曲线的形式实时绘制并展示。

作为一种实施方式,神经网络模型a采用基于卷积神经网络的体系结构,其输入为一帧图像,其输出为数字,该数字表示输入图像内的人数;神经网络模型b采用基于卷积神经网络和长短期记忆网络的体系结构,其输入为20帧图像,其输出为输入图像中是否包含暴力行为的概率。

作为一种实施方式,运动检测模型为帧差模型、光流模型、梯度模型中的一种。

作为一种实施方式,阈值a为1,阈值b为0.5,阈值c为19。

作为一种实施方式,所述预处理包括对图像进行降采样、尺度变换、灰度化处理。

请参照图2,本发明实施例的基于神经网络的多模型协同暴力检测系统包括神经网络模型a训练子系统、神经网络模型b训练子系统、摄像头管理子系统、暴力行为预测子系统。

神经网络模型a训练子系统包括数据集构造模块a、数据预处理模块a、模型训练模块a、模型管理模块a。数据集构造模块a将不同来源的原始数据集进行标准化;数据预处理模块a将数据集构造模块a所输出的数据集数据进行预处理操作,并将其转换为训练神经网络模型a要求的数据输入格式;模型训练模块a将数据预处理模块a的输出数据输入到神经网络中进行训练,生成相应的训练结果;模型管理模块a负责载入与保存神经网络模型a,以及对模型训练模块a输出的训练结果进行保存和展示;

神经网络模型b训练子系统包括数据集构造模块b、数据预处理模块b、模型训练模块b、模型管理模块b。数据集构造模块b将不同来源的原始数据集进行标准化;数据预处理模块b将数据集构造模块b所输出的数据集数据进行预处理操作,并将其转换为训练神经网络模型b要求的数据输入格式;模型训练模块b将数据预处理模块b的输出数据输入到神经网络中进行训练,生成相应的训练结果;模型管理模块b负责载入与保存神经网络模型b,以及对模型训练模块b输出的训练结果进行保存和展示;

摄像头管理子系统包括摄像头接入模块、摄像头视频帧读取模块、摄像头视频帧预处理模块、摄像头视频帧发送模块。摄像头接入模块用于连接监控摄像头,支持多种型号摄像头同时接入,并支持多种数据传输协议;摄像头视频帧读取模块从连接的摄像头中按帧顺序读取图像;摄像头视频帧预处理模块读取摄像头视频帧模块输出的图像数据,并按照暴力行为预测子系统要求,对图像进行初步处理(如尺度变换);摄像头视频帧发送模块将视频帧预处理模块输出数据发送到暴力行为预测子系统进行分析;

暴力行为预测子系统包括模型管理模块c、图像处理模块、图像预测模块和暴力行为预测可视化模块,模型管理模块c负责载入用于暴力行为预测子系统的神经网络模型a、运动检测模型、神经网络模型b;图像处理模块接收摄像头管理子系统输出的视频帧,并依据不同模型的不同输入要求,对视频帧进行进一步处理(包括降采样、尺度变换、灰度化);图像预测模块根据规则调用模型以分析图像处理模块输出数据,并输出暴力检测概率;暴力行为预测可视化模块负责将暴力检测概率按照曲线的形式实时绘制并展示。

作为一种实施方式,数据预处理模块a和数据预处理模块b的预处理操作均包括降采样、尺度变换、灰度化处理。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同范围限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1