一种基于卷积神经网络的翻越行为识别方法与流程

文档序号:24238347发布日期:2021-03-12 13:12阅读:315来源:国知局
一种基于卷积神经网络的翻越行为识别方法与流程

本发明属于目标检测领域,特别涉及一种行为识别技术。



背景技术:

针对多类目标场景,目标检测方法旨在精准判别图像中目标的类别与位置,则two-stage方法能够解决这类问题。研究人员主要通过regionproposal方法先生成候选框,再根据候选框进行坐标回归预测。rossgirshick等人采用cnn网络提取图像特征,从经验驱动的人造特征范式hog、sift到数据驱动的表示学习范式,提高特征对样本的表示能力,并采用大样本下有监督预训练和小样本微调的方式解决小样本难以训练甚至过拟合等问题,一定程度上提高了目标检测的准确率。rossgirshick等人提出了一个快速的基于区域推荐的卷积网络方法(fastr-cnn)用于目标检测。fastr-cnn在前人工作的基础上使用深度卷积网络,可以更有效地分类物体。相比之前的工作,fastr-cnn进行了多项创新,在提高了检测精度的同时,也提高了训练和测试速度。

通常two-stage方法的网络复杂度高,处理速度慢,从而导致实时性不高,无法对监控视频中的人物进行实时预测,而one-stage方法能够完美解决实时性不高的问题。在one-stage方法中,研究人员主要通过直接进行回归生成坐标回归预测。josephredmon等人提出了一种新型目标检测方法(yolo)。该方法的核心思想就是利用整张图作为网络的输入,直接在输出层回归边界框的位置及其所属的类别。yolo方法的速度比two-stage方法快很多,基本yolo模型以每秒45帧的速度实时处理图像。weiliu等人提出了一种利用单一深度神经网络检测图像中目标的方法(ssd)。该方法将yolo的回归思想和fasterr-cnn的anchorbox机制结合,对比前人提出的方法,ssd的改进点分为两点,一是提取了不同尺度的特征图来做检测,大尺度特征图(较靠前的特征图)可以用来检测小物体,而小尺度特征图(较靠后的特征图)用来检测大物体;二是ssd采用了不同尺度和长宽比的先验框。并且,ssd实现了端到端训练,并且精度较高。对于不同one-stage卷积神经网络方法,不同研究人员由提升速率出发,对网络模型的进行改进,同时在保证实时性的情况下,提升目标检测的精确度。

视觉目标跟踪是指对图像序列中的运动目标进行检测、提取、识别和跟踪,获得运动目标的运动参数,如位置、速度、加速度和运动轨迹等,从而进行下一步的处理与分析,实现对运动目标的行为理解,以完成更高一级的检测任务。

目标跟踪领域的研究者们将跟踪算法分为生成式和判别式方法。生成式方法采用特征模型描述目标的外观特征,再最小化跟踪目标与候选目标之间的重构误差来确认目标;生成式方法着重于目标本身的特征提取,忽略目标的背景信息,在目标外观发生剧烈变化或者遮挡时候容易出现目标漂移或者目标丢失。判别式方法将目标跟踪看作一个二元分类问题,通过训练关于目标和背景的分类器来从候选目标中确定目标,该方法可以显著的区分背景和目标,性能鲁棒,渐渐成为目标跟踪领域主流方法。且目前大多数基于深度学习的目标跟踪算法也属于判别式方法。

在这样的背景下,运用目标检测方法来绘制人物边界框,再通过目标跟踪方法来逐帧定位人物,对人物运动轨迹进行初步的判定的过程已成为主流趋势。通常翻越行为通常发生在马路上,行人横穿马路翻越栏杆,或是在小区或学校围墙周围,行人翻越围墙进出,通过深度学习中的目标检测与目标跟踪方法能够更快的预测行人是否有翻越栏杆的行为,同时及时发起警告,保障了行人的安全,规范了交通制度并完善了社区制度。



技术实现要素:

为解决上述技术问题,本发明公开一种基于卷积神经网络的翻越行为识别方法,根据栏杆线和轨迹点集合的相对位置关系判定是否为翻越行为,若是翻越行为则输出翻越标签并发起警告。

本发明采用的技术方案为:一种基于卷积神经网络的翻越行为识别方法,包括:

s1、对视频数据进行处理:筛选和剪切,筛选出有翻越栏杆的行为及在栏杆附近其他行为的视频,并将视频剪切为视频帧的图片;

s2、通过yolo目标检测网络对步骤s1得到的视频帧进行检测;具体的:yolo目标检测网络至少包括三个部分:backbone部分、neck部分、head部分;通过backbone部分聚合并形成图像特征,通过neck部分组合并传递图像特征到预测层,通过head部分对图像特征进行预测,生成边界框并预测类别;

s3、将边界框、预测类别为人、当前视频帧传递到goturn网络中进行目标跟踪,从当前帧向goturn网络输入边界框坐标,从前一帧向goturn网络输入目标,goturn网络学习比较这些目标,以找到当前图像中的目标对象,并逐帧绘制轨迹点,连成轨迹线;

s4、通过轨迹点集合与栏杆位置的相对位置关系,使用先验知识判定是否为翻越栏杆的行为。

进一步地,所述步骤s1包括以下子步骤:

s11、查找并下载若干包含各种人物动作的视频数据集;

s12、从视频数据集中筛选出包含有翻越栏杆的行为的人物视频,以及其他与人物形态类似的物体视频;

s13、剪切筛选出的视频,把每一个视频按照25fps连续剪切为视频帧,得到一系列连续的视频帧并保存。

进一步地,所述通过backbone部分聚合并形成图像特征,具体为:将输入视频帧通过cspresnext50神经网络聚合并形成图像特征,以实现图像特征提取。

进一步地,所述通过neck部分组合并传递图像特征到预测层,具体为:将图像特征通过spp-block和panet组合并传递图像特征到预测层。

进一步地,所述预测类别至少包括预测类别为人。

进一步地,所述步骤s3包括以下分步骤:

s31、将步骤s24生成的边界框、预测类别为person、当前视频帧传递到goturn网络中;

s32、将当前视频帧和边界框进行裁剪得到带目标的中心区域,将前一帧视频进行裁剪得到带目标的搜索区域;

s33、将s32得到的上一帧目标和当前帧的搜索区域同时经过cnn的卷积层,然后将卷积层的输出通过全连接层,用于回归当前帧目标的边界框位置,并绘制当前帧坐标框中心点作为轨迹点,以备后续进行轨迹分析;

s34、重复步骤s31-s32,直到视频帧全部进入goturn网络中。

进一步地,所述步骤s4包括以下分步骤:

s41、记录步骤s33生成的轨迹点,并生成轨迹点集合;

s42、手动标记栏杆线的位置坐标,以备后续进行轨迹分析;

s43、通过轨迹点集合与栏杆位置的相对位置关系,使用先验知识判定是否为翻越行为,若是则输出标签为crossing,若不是则不输出。

本发明的有益效果:本发明的one-stage目标检测方法能够实时检测到人物并准确绘制与人物大小相同的边界框,克服了传统目标检测方法中实时性不高以及边界框为不可变大小的缺点。同时本发明中的判别式目标跟踪方法网络结构简单,对人物的跟踪速度快且准确,能够有效的绘制后续视频帧的轨迹点,最后通过先验知识的方法快速运用栏杆与轨迹点集合的相对位置关系判定是否为翻越行为。

附图说明

图1为本发明的基于卷积神经网络的翻越行为识别技术的流程图;

图2为本发明的基于卷积神经网络的翻越行为识别技术的总体设计图;

图3为本发明的one-stage网络架构图;

图4为本发明的goturn网络架构图。

具体实施方式

为便于本领域技术人员理解本发明的技术内容,下面结合附图对本发明内容进一步阐释。

如图1所示,本发明的一种基于卷积神经网络的翻越行为识别方法,包括以下步骤:

s1、对视频数据进行处理:筛选和剪切,筛选出有翻越行为及部分其他行为的视频,并剪切视频为视频帧的图片;如图2所示,具体包括以下子步骤:

s11、查找并下载若干包含各种人物动作的视频数据集,以备后续工作。由于视频数据集需要大量的内存,下载的视频数据集也是有限的。

s12、从视频数据集中筛选出包含有翻越行为的人物视频,以及其他与人物形态类似的物体视频。按照视频数据集中的动作分类,能够筛选出有人物的视频、人物有翻越行为的视频、人物有其他行为的视频等,由于翻越行为未有特定分类,数据集较少,也可能采用自行模仿监控视频场景拍摄有人物进行翻越行为的视频作为数据集。

s13、剪切筛选出的视频,把每一个视频按照25fps连续剪切为视频帧,得到一系列连续的视频帧并保存。

一般来说,视频剪切(或分割)方法主要分为基于时域的视频对象分割方法、基于运动的视频对象分割方法、交互式视频对象分割方法。时域分割主要是利用视频图像相邻之间的连续性和相关性进行分割,一种具体做法是通过当前帧和背景帧相减来获得差分图像,另外一种是利用两帧之间或者多帧之间的差来获得差分图像;基于运动的视频对象分割主要是基于光流场等方法进行运动参数估计,求出符合运动模型的像素区域,进而合并区域构成运动对象进行视频分割;而在交互式分割中,用户通过图形用户界面对视频图像进行初始分割,然后对后继帧利用基于运动和空间的信息进行分割。

s2、将视频帧通过yolo目标检测网络三个部分:通过backbone聚合并形成图像特征,通过neck组合并传递图像特征到预测层,通过head对图像特征进行预测,生成边界框并预测类别;如图3所示,本步骤具体包括以下子步骤:

s21、输入处理后的视频帧;

s22、backbone部分。将输入视频帧通过cspresnext50神经网络聚合并形成图像特征,以实现图像特征提取;

s23、neck部分。将图像特征通过spp-block和panet组合并传递图像特征到预测层;

s24、head部分。通过head将预测层的图像特征进行预测,生成边界框并预测类别,若预测类别为person则进入步骤s3,若预测类别不为person则回到步骤s21。

yolo检测网络包括24个卷积层和2个全连接层,yolo网络借鉴了googlenet分类网络结构。不同的是,yolo未使用inceptionmodule,而是使用1×1卷积层(此处1x1卷积层的存在是为了跨通道信息整合)+3×3卷积层简单替代。yolo全连接输出层将输入图像分成s×s个格子,每个格子负责检测‘落入’该格子的物体,s表示单元格数量,如s=7时,s×s表示把图像划分成7×7个单元格,横向7格,纵向7格。若某个物体的中心位置的坐标落入到某个格子,那么这个格子就负责检测出这个物体。每个格子输出b个边界框信息,以及c个物体属于某种类别的概率信息。边界框信息包含5个数据值,分别是x,y,w,h,和confidence。其中x,y是指当前格子预测得到的物体的边界框的中心位置的坐标。w,h是边界框的宽度和高度。注意:实际训练过程中,w和h的值使用图像的宽度和高度进行归一化到[0,1]区间内;x,y是边界框中心位置相对于当前格子位置的偏移值,并且被归一化到[0,1]。confidence反映当前边界框是否包含物体以及物体位置的准确性,计算方式如下:

confidence=p(object)*iou

其中,若边界框包含物体,则p(object)=1;否则p(object)=0.iou(intersectionoverunion,交并比)为预测边界框。

yolo使用均方和误差作为loss函数来优化模型参数,即yolo检测网络输出的s*s*(b*5+c)维向量与真实图像的对应s*s*(b*5+c)维向量的均方和误差:

coorderror、iouerror、classerror分别代表预测数据与标定数据之间的坐标误差、iou误差和分类误差。

s3、将边界框、预测类别为人、当前视频帧传递到goturn网络中进行目标跟踪,从当前帧向网络输入边界框坐标,从前一帧向网络输入目标,网络学习比较这些目标,以找到当前图像中的目标对象,并逐帧绘制轨迹点,连成轨迹线;如图4所示,具体包括以下子步骤:

s31、将步骤s24生成的边界框、预测类别为person、当前视频帧传递到goturn网络中;

s32、将当前视频帧和边界框进行裁剪得到带目标的中心区域,将前一帧视频进行裁剪得到带目标的搜索区域;

s33、将s32得到的上一帧目标和当前帧的搜索区域同时经过cnn的卷积层,然后将卷积层的输出通过全连接层,用于回归当前帧目标的边界框位置,并绘制当前帧坐标框中心点作为轨迹点,以备后续进行轨迹分析;

goturn网络的卷积层是采用的5层结构,该结构参照了caffenet里面的结构,其中卷积层的激励函数都采用了relu激励函数,部分卷积层后面添加了池化层,而全连接层是由3层组成,每层4096个节点,各层之间采用dropout和relu激励函数,以防过拟合和梯度消失。将上一帧的目标和当前帧的搜索区域同时经过cnn的卷积层,然后将卷积层的输出通过全连接层,用于回归当前帧目标的位置。

损失函数采用的是l1-loss,如下公式表示:

其中,n表示预测物体的总数,yi表示实际输出,di表示真实标签。

s34、重复步骤s3,直到视频帧全部进入goturn网络中。

s4、通过轨迹点集合与栏杆位置的相对位置关系,使用先验知识判定是否为翻越行为。如图2所示,具体包括以下子步骤:

s41、记录步骤s33生成的轨迹点,并生成轨迹点集合;

s42、手动标记栏杆线的位置坐标,以备后续进行轨迹分析;

s43、通过轨迹点集合与栏杆位置的相对位置关系,使用先验知识判定是否为翻越行为,若是则输出标签为crossing,若不是则不输出。

图4中的英文表示:currentframe为当前帧,previousframe为前一帧,searchregion为搜索框集合,whattotrack为跟踪什么,convlayers为转换层,fully-connectedlayers为全连接层,predictedlocationoftargetwithinsearchregion为目标在搜索区域内的预测位置。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

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