基于监控视频的多区域实时动作检测方法与流程

文档序号:15852783发布日期:2018-11-07 10:23阅读:348来源:国知局
基于监控视频的多区域实时动作检测方法与流程

本发明属于计算机视觉领域,具体涉及监控视频场景下的人体动作检测系统。

背景技术

随着监控设施的应用越来越普及,越多的基于监控的技术得到应用,动作识别作为其中很有价值的技术之一,主要应用于室内、工厂环境下人机设备的交互,以及公共环境安全领域用于特定危险动作的检测与识别。

大部分基于监控视频中的动作识别方法主要集中于整个场景的动作识别与分类任务上,这类视频一般是人工处理好的视频片段,视频片段中一般只包含一类动作,但是这种视频和自然的视频片段相差很大,还用一部分学者把研究任务放在检测动作在整个时间轴上发生的开始于接受的位置,但是在现实应用中获取视频中的动作的开始和结束以及动作在空间发生的范围都是很有用的,另外虽然现有的动作检测方法在现有的数据库以及竞赛中取得了很好的检测效果,但是这些方法一般都是通过把整个视频划分为很多的小块或者对整个视频进行处理,然后再输出这段视频中动作的时空位置,而要达到实时动作检测就要实现视频帧级别的处理,所以这类方法没有办法部署到监控系统中。

随着监控设备的普及,监控视频中人体动作的检测逐渐成为一个流行的研究领域,wangl.,qiaoy.,tangx.的”actionrecognitionwithtrajectory-pooleddeepconvolutionaldescriptors.”(在2015ieeeconferenceoncomputervisionandpatternrecognition(cvpr)(2015)。)方法中通过整合深度神经网络提取视频特征和利用密集跟踪算法的到的特征。来实现对整个视频的动作识别,d.tran,l.bourdev,r.fergus,l.torresani,andm.paluri.的”learningspatiotemporalfeatureswith3dconvolutionalnetworks.”(在2015ieeeinternationalconferenceoncomputervision(iccv)(2015))方法提出用3d卷积和3dpooling来形成c3d框架来提取视频中的人体动作特征,simonyank,zissermana.的”two-streamconvolutionalnetworksforactionrecognitioninvideos”(在computationallinguistics,2014)中通过把rgb图像序列提取光流序列,分别用卷积神经网络训练并把两个网络得到的特征进行融合来实现对动作的识别效果。虽然上面的这些模型取得了很好的效果,但是这种方法只能实现对整个视频进行识别,不能定位动作的时空位置。

g.gkioxariandj.malik.的“findingactiontubes”(在ieeeint.conf.oncomputervisionandpatternrecognition,2015.)中主要是检测每一帧的动作proposals然后再连接每一帧的动作proposal形成动作序列,j.lu,r.xu,andj.j.corso的”humanactionsegmentationwithhierarchicalsupervoxelconsistency”(在ieeeint.conf.oncomputervisionandpatternrecognition,june2015)中提出了一种层次化的mrf模型,以将具有高层次人体运动和表观的低级视频片段连接起来以实现在视频中对动作的分割,这些方法主要实现了对视频中的动作进行空间的分割,并且这些算法需要大量的帧级别的regionproposals需要大量的计算。

yuanj,nib,yangx的“temporalactionlocalizationwithpyramidofscoredistributionfeatures”(在ieee:computervisionandpatternrecognition.2016)中基于idt特征对视频提取了一种分数分布金字塔特征(pyramidofscoredistributionfeature,psdf),之后再使用了lstm网络对psdf特征序列进行处理,并根据输出的frame-level的行为类别置信度分数处理得到行为片段的预测。shouz,wangd,changsf.的”temporalactionlocalizationinuntrimmedvideosviamulti-stagecnns”(在ieeeconferenceoncomputervisionandpatternrecognition(cvpr)(2016))中首先使用滑窗的方法生成多种尺寸的视频片段(segment),再使用多阶段的网络(segment-cnn)来处理,最后采用了非极大化抑制来去除重叠的片段,完成预测。shouz,chanj,zareiana,的”cdc:convolutional-de-convolutionalnetworksforprecisetemporalactionlocalizationinuntrimmedvideos”(在2017ieeeconferenceoncomputervisionandpatternrecognition(cvpr)(2017))中基于c3d(3dcnn网络)设计了一个卷积逆卷积网络(cdc),输入一小段视频,输出帧级别的动作类别概率。该网络主要是用来对temporalactiondetection中的动作边界进行微调,使得动作边界更加准确,上面的框架虽然能达到实时的效果但是,上面的算法主要是实现动作在时间维度精确地检测,而不能实现动作的时空检测。

j.c.vangemert,m.jain,e.gati,andc.g.snoek.的”apt:actionlocalizationproposalsfromdensetrajectories”(在bmvc,volume2,page4,2015)中使用无监督聚类来生成一组边界框式的时空动作提议。由于该方法基于密集轨迹特征,因此该方法无法检测以小运动为特征的动作。p.weinzaepfel,z.harchaoui,andc.schmid.的”learningtotrackforspatio-temporalactionlocalization”(ieeecomputervisionandpatternrecognition,2015.)通过将帧级edgeboxes区域提议与跟踪检测框架相结合来执行动作的时空检测。然而,动作的时间维度的检测仍然通过每个轨道上的多尺度滑动窗口来实现,使得对于较长的视频序列该方法效率低下。



技术实现要素:

本发明针对现有的动作检测存在的一些问题,提出一种基于监控视频的多区域实时动作检测方法。本发明采用的技术手段如下:

一种基于监控视频的多区域实时动作检测方法,其特征在于具有如下步骤:

模型训练阶段:

a1、获取训练数据:标注好的特定动作的数据库;

a2、计算训练数据中的视频序列的稠密光流,获取训练数据中的视频序列的光流序列,并对光流序列中的光流图像进行标注;

a3、利用训练数据中的视频序列和光流序列分别训练目标检测模型yolov3,分别得到rgbyolov3模型和光流yolov3模型;

测试阶段:

b1、通过金字塔lucas-kanande光流法提取视频的稀疏光流图像序列,然后把视频的rgb图像序列和稀疏光流图像序列分别送入rgbyolov3模型和光流yolov3模型中,rgbyolov3模型输出的一系列检测框使用非极大值抑制方法提取所有动作类别的前n个检测框i=1…n,每个检测框有一个动作类别的标签和属于该动作的一个概率分数光流yolov3模型输出的一系列检测框使用非极大值抑制方法提取所有动作类别的前n个检测框k=1…n,每个检测框有一个动作类别的标签和属于该动作的一个概率分数s光分别遍历rgbyolov3模型和光流yolov3模型输出的检测框,每个rgbyolov3模型输出的检测框与光流yolov3模型输出的相同动作类别的检测框做交并比,并把最大的交并比对应的光流yolov3模型输出的同动作类别的检测框设为若最大的交并比大于阈值k,则把对应的两个rgbyolov3模型和光流yolov3模型输出的检测框的概率分数融合为作为该rgbyolov3模型输出的检测框的置信度,满足以下公式:

其中,表示的交并比,为与交并比最大的同动作类别的概率分数;

b2、根据融合得到的每个rgbyolov3模型输出的检测框的每个动作类别的置信度分数,连接视频的rgb图像序列之间的检测框形成tube:

对tube进行初始化,使用视频的rgb图像序列中的第一帧图像的检测框进行初始化tube,例如视频的rgb图像序列中的第一帧图像产生了n个检测框,则初始n个tube,视频的rgb图像序列中的第一帧图像的某一动作类别的tube个数为:

n类别(1)=n;

分别对所有的动作类别进行以下操作:

s1、匹配每个tube和t帧产生的检测框,首先遍历属于同动作类别的tube,若该动作类别有n个tube,对每个tube求该tube每帧的置信度的平均值,作为该tube的值,并对该动作类别的n个tube的值进行降序排列形成列表list类别,确定每个tube的动作类别时,定义了一个列表i={lt-k+1…lt}用来确定tube的动作类别,列表i={lt-k+1…lt}用来存储tube的后k帧的动作类别;

s2、遍历列表list类别和t帧中的i=1…n,从中选择满足以下条件的添加到tube中:

遍历列表list类别中的tube,并选择t帧中和tube同动作类别的进行匹配,如果该与tube的最后一帧图像中的检测框的交并比大于阈值d,则把该加入到队列h_list类别中;

如果则挑选h_list类别中置信度最高的加入到tube中,并在再次遍历t帧的i=1…n时,剔除置信度最高的

如果则该tube不加入任何的并保持不变,如果连续k帧tube都没加入新的则终止该tube;

如果t帧有未被匹配的记为则遍历所有的tube分别求和所有的tube最后一帧的交并比,并选取交并比大于阈值k,并且交并比最大的tube,记为t*,把加入到该tube中,t*满足以下公式:

如果如果ti为第i个tube,ti(t-1)为第i个tube的第t-1帧;

如果第t帧中仍有未被匹配的检测框,则以该检测框为起点,生成新的tube,并用该检测框作为该tube的第一帧图像来初始化tube;

s3、所有的tube匹配完后,更新每个tube的后k帧的动作类别列表i={lt-k+1…lt},其中lt为tube的第t帧的动作类别,更新每个tube的动作类别l,统计每个tube的后k帧的动作类别i={lt-k+1…lt},其中最多的动作类别作为该tube的动作类别l,满足以下公式:

如果li=c,则g(li,c)=1;如果li≠c,则g(li,c)=0,c为某一动作类别,即统计i={lt-k+1…lt}中的动作类别,个数最多的动作类别即为该tube的动作类别。

所述步骤a1中,标注好的特定动作的数据库为ucf101的actiondetection数据集。

所述步骤a2中,使用opencv库中的calcopticalflowfarneback函数计算训练数据中的视频序列的稠密光流。

与现有技术相比,本发明不仅能实现对监控视频中特定动作的时空位置检测,并且能实现对监控的实时处理。

基于上述理由本发明可在计算机视觉等领域广泛推广。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的具体实施方式中交并比计算示意图。

图2是本发明的具体实施方式中基于监控视频的多区域实时动作检测方法的整体示意图。

图3是本发明的具体实施方式中基于监控视频的多区域实时动作检测方法程序流程图。

图4是本发明的具体实施方式中某一帧图像的处理过程示意图。

图5是本发明的具体实施方式中连续图像序列的处理过程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1-图5所示,一种基于监控视频的多区域实时动作检测方法,具有如下步骤:

模型训练阶段:

a1、获取训练数据:标注好的特定动作的数据库;

a2、计算训练数据中的视频序列的稠密光流,获取训练数据中的视频序列的光流序列,并对光流序列中的光流图像进行标注;

a3、利用训练数据中的视频序列和光流序列分别训练目标检测模型yolov3,分别得到rgbyolov3模型和光流yolov3模型;

测试阶段:

b1、通过金字塔lucas-kanande光流法提取视频的稀疏光流图像序列,然后把视频的rgb图像序列和稀疏光流图像序列分别送入rgbyolov3模型和光流yolov3模型中,rgbyolov3模型输出的一系列检测框使用非极大值抑制方法提取所有动作类别的前n个检测框i=1…n,每个检测框有一个动作类别的标签和属于该动作的一个概率分数光流yolov3模型输出的一系列检测框使用非极大值抑制方法提取所有动作类别的前n个检测框k=1…n,每个检测框有一个动作类别的标签和属于该动作的一个概率分数s光分别遍历rgbyolov3模型和光流yolov3模型输出的检测框,每个rgbyolov3模型输出的检测框与光流yolov3模型输出的相同动作类别的检测框做交并比,并把最大的交并比对应的光流yolov3模型输出的同动作类别的检测框设为若最大的交并比大于阈值k,则把对应的两个rgbyolov3模型和光流yolov3模型输出的检测框的概率分数融合为作为该rgbyolov3模型输出的检测框的置信度,满足以下公式:

其中,表示的交并比,为与交并比最大的同动作类别的概率分数,表示概率分数,类如,图像a和b的交并比iou(a,b)可如图1所示,

其中area(a)表示为图像a的面积,area(a)∩area(b)为图像相交的面积。

b2、根据融合得到的每个rgbyolov3模型输出的检测框的每个动作类别的置信度分数,连接视频的rgb图像序列之间的检测框形成tube:

对tube进行初始化,使用视频的rgb图像序列中的第一帧图像的检测框进行初始化tube,例如视频的rgb图像序列中的第一帧图像产生了n个检测框,则初始n个tube,视频的rgb图像序列中的第一帧图像的某一动作类别的tube个数为:

n类别(1)=n;

分别对所有的动作类别进行以下操作:

s1、匹配每个tube和t帧产生的检测框,首先遍历属于同动作类别的tube,若该动作类别有n个tube,对每个tube求该tube每帧的置信度的平均值,作为该tube的值,并对该动作类别的n个tube的值进行降序排列形成列表list类别,确定每个tube的动作类别时,定义了一个列表i={lt-k+1…lt}用来确定tube的动作类别,列表i={lt-k+1…lt}用来存储tube的后k帧的动作类别;

s2、遍历列表list类别和t帧中的i=1…n,从中选择满足以下条件的添加到tube中:

遍历列表list类别中的tube,并选择t帧中和tube同动作类别的进行匹配,如果该与tube的最后一帧图像中的检测框的交并比大于阈值d,则把该加入到队列h_list类别中;

如果则挑选h_list类别中置信度最高的加入到tube中,并在再次遍历t帧的i=1…n时,剔除置信度最高的

如果则该tube不加入任何的并保持不变,如果连续k帧tube都没加入新的则终止该tube;

如果t帧有未被匹配的记为则遍历所有的tube分别求和所有的tube最后一帧的交并比,并选取交并比大于阈值k,并且交并比最大的tube,记为t*,把加入到该tube中,t*满足以下公式:

如果如果ti为第i个tube,ti(t-1)为第i个tube的第t-1帧;

如果第t帧中仍有未被匹配的检测框,则以该检测框为起点,生成新的tube,并用该检测框作为该tube的第一帧图像来初始化tube;

s3、所有的tube匹配完后,更新每个tube的后k帧的动作类别列表i={lt-k+1…lt},其中lt为tube的第t帧的动作类别,更新每个tube的动作类别l,统计每个tube的后k帧的动作类别i={lt-k+1…lt},其中最多的动作类别作为该tube的动作类别l,满足以下公式:

如果li=c,则g(li,c)=1;如果li≠c,则g(li,c)=0,c为某一动作类别,即统计i={lt-k+1…lt}中的动作类别,个数最多的动作类别即为该tube的动作类别。

图2中(a)表示视频的rgb图像序列;(b)表示光流算法测试阶段采用opencv中金字塔lucas-kanande光流法进行提取稀疏光流图像,训练阶段为提取稠密光流图像;(c)为得到的稀疏光流图像;(d)为动作检测模型,一个为使用视频的rgb图像序列训练的rgbyolov3模型,另一个为用光流序列训练的光流yolov3模型;(e)表示rgbyolov3模型输出的检测结果;(f)表示光流yolov3模型的检测结果;(g)表示融合两个模型输出的结果,得到具有更好鲁棒性的特征;(h)表示利用融合得到的特征把视频的rgb图像序列之间的检测框连接为tube。

图4(a)为视频的rgb图像序列中的图像;(b)表示视频的rgb图像序列中的图像对应的光流图像;(c)表示视频的rgb图像序列中的图像经过rgbyolov3模型处理后输出的检测结果;(d)表示光流图像经过光流yolov3模型处理后输出的检测结果;

图5视频中的连续图像序列;(a)表示等间距取视频的rgb图像序列中的图像;(b)表示视频的rgb图像序列中的图像对应的光流序列;(c)表示视频的rgb图像序列中的图像经过rgbyolov3模型处理后输出的检测结果;(d)表示光流序列经过光流yolov3模型处理后输出的检测结果;(e)表示经过融合(c)和(d)的检测结果得到的tube;

所述步骤a1中,标注好的特定动作的数据库为ucf101的actiondetection数据集。

所述步骤a2中,使用opencv库中的calcopticalflowfarneback函数计算训练数据中的视频序列的稠密光流。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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