一种基于中心点轨迹预测的视频动作检测方法与流程

专利2022-06-29  164


本发明属于计算机软件技术领域,涉及时空动作检测技术,具体为一种基于中心点轨迹预测的视频动作检测方法。



背景技术:

时空动作检测是计算机视觉领域的一个重要研究任务,其目的是对视频中的动作实例进行分类,并在空间和时间上对其完成定位。时空动作检测在现实场景中有广泛的应用前景,如视频监控和群组动作检测。目前常用的方法是在每一帧上独立使用动作检测器完成逐帧检测,然后使用动态规划或目标跟踪按时序连接单帧的检测结果。这些方法在进行单帧检测时不能有效利用时间维度的信息,因此在实际进行动作检测时效果不佳。为了解决这个问题,一些研究工作试图通过利用短期时序信息进行小时间片内的动作检测,这些方法输入一串连续的视频帧并输出检测到的动作切片,即实现一个较短的沿时序上连续动作包围框序列,此类检测方案巧妙利用连续帧内的动作切片为基于视频的动作检测提供了一种更自然、更有效的解决方案,并得到了良好的效果。

在上述研究的基础上,现有的视频时空动作检测方法与目前主流的图像领域目标检测方法如fasterr-cnn和ssd密切相关,但它们往往需要大量预先手工设置好的锚框。虽然基于锚框的目标检测器已经在图像领域取得了显著的成功,但它们仍然存在一些关键问题,如对超参数比较敏感,包括初始化锚框的大小、锚框的长宽比和多种锚框的比例等,以及由于密集设置的锚框而导致的检测效率低下。将这些基于锚框的检测框架从图像检测领域应用到视频动作检测领域时,上述问题将更加严重。随着视频时间的增长,在一个视频内出现的锚框数量将急剧增加,这给神经网络的训练和测试带来了很大的挑战。



技术实现要素:

本发明要解决的问题是:现有的时空动作检测器往往是借助图像领域中带锚框的目标检测框架来实现的,但在视频领域中锚框的数量会成为限制时空动作检测器性能和速度的瓶颈。

本发明的技术方案为:一种基于中心点轨迹预测的视频动作检测方法,在视频时空动作检测中,将每个动作实例视为动作发起者中心点移动的轨迹,一组运动序列的轨迹由中间帧动作的中心点和其他帧动作的中心点相对于中间帧中心点的运动矢量来表示,首先对视频帧序列提取特征,得到中间帧的中心点位置预测及动作类别预测,然后得到中间帧的中心点到其他帧中心点运动轨迹,最后生成各帧中心点的检测框,即得到位置定位,由此得到动作的类别和定位结果,完成视频片段上的时空检测任务。

作为优选方式,首先将一组连续的视频帧输入到二维特征提取网络进行特征提取,然后将提取的特征输入三个分支进行进一步检测,包括(1)中心点预测分支:用于检测一组视频序列的中间帧的动作实例的中心和类别;(2)位移预测分支:用于估计当前帧动作中心点相对于中间帧中心点的运动矢量;(3)检测框回归分支:用于单独预测每帧视频帧动作中心点处的包围框大小;

三个分支相互协作:通过中心点预测分支定位到中间帧运动者的中心点,然后根据位移预测分支估计运动者的移动,从而将中间帧中心点移动到其他帧形成一条中心点运动轨迹,并根据检测框回归分支在每帧的中心点生成检测框,实现整个视频的时空动作检测。

进一步的,本发明还利用匹配算法将多组视频帧连接起来,实现长时间视频的时空动作检测。

作为进一步优选方式,本发明通过神经网络实现,包括生成训练样例阶段、网络配置阶段、训练阶段以及测试阶段:

1)生成训练样例阶段:在视频内取连续k帧做时空动作检测,按时序遍历整个视频,选取在连续k帧内包含完整动作的视频片段做为训练样本;

2)网络配置阶段,形成k帧视频帧内每个动作实例的时空检测结果:

2.1)特征提取网络:使用二维特征提取网络作为特征提取网络,对输入的视频帧序列进行特征提取,步骤1)中的训练样本依次经过特征提取网络得到通道数为t的图像特征序列;

2.2)中心点预测分支:将步骤2.1)中得到的图像特征序列沿着通道方向拼接起来,形成通道数为k*t的融合特征图,将融合特征图输入到一个3*3的卷积层进行时空特征融合,融合后经过relu激活层,再通过一个1*1卷积层得到特征图,经过sigmoid激活层得到最终的热图,得出动作实例在中间帧的中心点位置和动作类别的预测结果;

2.3)位移预测分支:将步骤2.1)中得到的k帧图像特征序列沿着通道方向拼接起来,形成通道数为k*t的融合特征图,将融合特征图输入一个3*3的卷积层进行时空特征融合,再经过relu激活层,输入一个1*1卷积层得到运动矢量估计,得到动作实例在每一帧相对于中间帧中心点的位移矢量估计,分别由x方向的位移和y方向的位移组成,经过步骤2.2)和2.3)形成连续k帧内动作实例中心点的运动轨迹;

2.4)检测框回归分支:将步骤2.1)中生成的k帧通道数为t的图像特征序列依次逐帧输入一个3*3的卷积层,经过relu激活层然后传入一个1*1的卷积层,得到每一帧在运动实例中心点的检测框;

3)训练阶段:使用focalloss监督中心点预测分支,使用l1loss监督位移预测分支,使用l1loss监督检测框回归分支,三个损失函数按照设定的比例叠加,使用adam优化器,通过反向传播算法来更新网络参数,不断重复步骤2),直至达到迭代次数;

4)测试阶段:将测试集中的视频片段输入网络,经过步骤2)得到在整个视频中的时空动作检测结果。

进一步的,还包括步骤2.5)后处理阶段,利用匹配算法将多组连续k帧的视频帧连接起来,实现长时间视频的时空动作检测。

本发明还提出一种无锚框的视频动作检测器,称为移动中心检测器moc-detector,包括计算处理装置,所述计算处理装置中配置有软件程序,所述软件程序被执行时实现上述的视频动作检测方法,实现基于中心点轨迹预测的无锚框视频动作检测,对视频沿时序完成动作的时空定位和分类任务。

本发明在视频中沿时序上完成动作的时空定位和分类任务,将视频中连续帧之间的动作实例建模为一组中心点的运动轨迹。首先,将一组连续的视频帧输入到二维特征提取网络,如dla34、resnet18等进行特征提取。然后,我们设计了三个独立的分支:(1)中心点预测分支:检测一组视频序列中间帧动作实例的中心和类别;(2)位移预测分支:估计当前帧动作中心点相对于中间帧中心点的运动矢量;(3)检测框回归分支:单独预测每帧检测中心点处的包围框大小。这种独特的设计可以使三个分支相互协作,产生时空动作检测结果。

本发明与现有技术相比有如下优点

本发明提出了一种无锚框的视频动作检测器,在视频中沿时序上完成动作的时空定位和分类任务,相比于以往带锚框的检测器更加简单高效。

本发明将视频中沿时间维度的动作序列建模为一组动作实例中心点的运动轨迹,将复杂的时空动作检测任务解耦为中间帧中心点预测和位移矢量估计两个部分,简单快捷的得到动作的类别和定位结果。

本发明在视频动作时空定位任务上体现了很好的鲁棒性和高效性,相比于先前带锚框的视频动作检测器更加精简高效,具有很强的扩展性和移植性。

附图说明

图1为本发明的方法原理示意图。

图2为本发明实施例的检测框架图。

图3为本发明实施例特征提取网络dla34的网络流程示意图。

图4为本发明的中心点预测分支示意图。

图5为本发明提出的位移预测分支示意图。

图6为本发明提出的检测框回归分支示意图。

图7为连续k帧的时空动作检测示意图。

图8为本发明在ucf101-24上的时空动作检测效果图。

具体实施方式

受到最近cornernet、centernet、focs等无锚框目标检测器的启发,本发明从另一个视角重新审视了时空动作检测的建模思路。直观来看,运动是视频中的一种自然现象,更本质地描述了人类的行为,时空动作检测可以被简化为运动轨迹的检测。在此分析的基础上,本发明通过将每个动作实例视为动作发起者中心点移动的轨迹,提出了一种新的运动建模思路来完成时空动作检测任务。具体来说,一组运动序列由中间帧动作的中心点和其他帧动作中心点相对于它的运动矢量来表示。为了确定动作实例的空间位置,本发明在每一帧被检测到的中心点上直接回归动作包围框的大小。这种新的检测方案将时空动作检测任务解耦为动作中心点偏移预测和包围框回归两个独立的部分。这种分解利用了动作序列的时空相关性,将复杂的时空动作检测任务分解为更简单的子任务,使整个检测框架变得更简单高效。

如图1所示,在视频时空动作检测中,本发明首先将一组连续的视频帧输入到二维特征提取网络进行特征提取,然后将提取的特征输入三个分支进行进一步检测,包括(1)中心点预测分支:用于检测一组视频序列的中间帧的动作实例的中心和类别;(2)位移预测分支:用于估计当前帧动作中心点相对于中间帧中心点的运动矢量;(3)检测框回归分支:用于单独预测每帧视频帧动作中心点处的包围框大小;三个分支相互协作:通过中心点预测分支定位到中间帧运动者的中心点,然后根据位移预测分支估计运动者的移动,从而将中间帧中心点移动到其他帧形成一条中心点运动轨迹,并根据检测框回归分支在每帧的中心点生成检测框,实现整个视频的时空动作检测。具体实现如下。

总体步骤包括生成训练样例阶段、网络配置阶段、训练阶段以及测试阶段,为方便说明本发明的技术方案,以下将网络配置阶段拆为步骤2)至步骤5),具体包括以下步骤:

1)生成训练样例:预先提取好数据集视频帧存储在硬盘上,并计算两帧之间的光流,分别作为两种模态的输入。在训练集上,对于每一段完整的视频根据动作实例在时空上的标签,从第一帧开始依次选取连续的k帧短视频片段,如果该视频片段中存在动作实例且存在的动作实例的持续时间包含该视频片段,则该视频片段被选为一个训练样本。对于每一个训练样本视频片段,当输入模态为rgb的时候,将对应k帧的rgb图片序列作为输入记为irgb,当输入模态为光流的时候,对于每一帧我们取从此帧开始连续5帧的光流,将k帧对应的光流序列作为输入记为iflow。训练时采用随机水平翻转,色彩抖动,分辨率扩张,随机裁剪等操作进行数据增强,并将输入的分辨率统一调整到288*288。因为两个模态的流程相似,下面将输入序列统称为i。k理论上可以设置成视频总长度,但在目前的实际应用中,由于gpu的内存限制,无法设置过大的k,因此在本实施例中将k设为7。

生成训练样例的各个数据具体组成形式为:

1.以rgb图片为输入,训练样本视频片段的帧序列irgb如下:

irgb={img1,img2,img3,img4,img5,img6,img7},

其中imgi代表训练样本视频片段中对应的第i帧,通道数为3。

2.以光流图片为输入,训练样本视频片段的帧序列iflow如下:

iflow={seg1,seg2,seg3,seg4,seg5,seg6,seg7},

segi={fi 0,fi 1,fi 2,fi 3,fi 4}

其中segi代表训练样本视频片段中对应的第i帧的光流片段,由连续的五帧光流堆叠而成,通道数为15,{fi 0,fi 1,fi 2,fi 3,fi 4}代表训练样本视频片段中对应的第i帧后面开始连续5帧的光流。

2)抽取图像序列特征:使用dla-34作为基础网络结构对1)生成的输入序列i的每帧进行特征提取,对于连续k帧的图像序列i提取得到特征序列样本片段中第i帧的特征为其中w为输入图片分辨率的宽,为288,h为输入图片分辨率的高,为288,r为特征提取的下采样率,在我们的框架中设为4,所以每帧的输出特征分辨率为72*72,k为输入序列包含的帧的数目,设为7。图像序列特征具体计算方式为:

1.dla-34对输入序列i进行特征提取得到特征序列f如下:

f={f1,f2,f3,f4,f5,f6,f7}

其中fi是为第i帧提取的特征。

2.以rgb图片为输入的dla-34网络为brgb,输入通道数为3。

其中ii代表输入序列中第i帧,在这里是该帧对应的单帧rgb图片。

3.以光流为输入的dla-34网络为bflow,输入通道数为15。

其中ii代表输入序列中第i帧,在这里是从该帧开始连续五帧光流图片的堆叠。

3)中心点预测分支生成中间帧的中心点及类别:本发明使用连续7帧的输入视频序列预测中间帧动作实例的中心点位置和类别,将中间帧的动作实例用简单中心点表示,不同于常规使用的锚框表示方法,采用了一种更为简单有效的无锚框表示,不仅简化了动作建模复杂度,而且提升了处理速度,更有效地实现了动作实例建模。在预测中间帧动作实例的中心点时,不仅需要预测中心点的类别,同时也要预测中心点的空间位置,在步骤3)中将拼接后通道数为7*64的特征图输入3*3的卷积层得到融合7帧时间信息和空间信息的特征图,输出通道数为256,再依次经过relu激活层、1*1卷积层和sigmoid层得到通道数为c的中心点预测图,c代表动作类别。

首先沿通道将2)生成的k张特征图拼接起来,形成h/4*w/4*(k*64)的特征图fcenter,包含了连续k帧的空间信息和时序信息,再使用3*3卷积层convl1进行特征融合,得到的h/4*w/4*256的融合特征图,经过relu激活层,将其传入1*1卷积层convl2得到h/4*w/4*c的特征图,然后经过sigmoid激活层得到最终的热图其中c为动作类别的数目,ucf101-24中为24。具体计算如下:

1.生成连续7帧的时空特征fcenter如下:

我们记沿通道方向拼接特征的操作为concat,fi为2)中生成的单帧的特征。

2.生成用于估计中间帧的中心点位置及类别的热图如下:

我们记中心点预测分支的第一层卷积为convl1,relu和sigmoid代表了激活函数,中心点预测分支的第二层卷积为convl2。

在训练的过程中,这个分支使用focalloss产生了一个损失函数项lcenter,用高斯核函数生成了热图监督信号本发明不是仅仅将动作实例中心点的监督信号置为1,而是通过高斯核函数给中心点附近的点赋值,越接近中心点的位置值越大,对应在损失函数中的惩罚越小。损失函数lcenter如下:

α=2

β=4

其中n为视频帧序列中动作实例的个数,α和β是focal损失函数的超参数,代表了在坐标(x,y)处为动作类别c的实例中心的预测概率,其中lx,y,c代表了根据训练集的时空标签设计的热图标签l在(x,y)处为动作类别c的实例中心的监督信号。

在训练过程中生成热图的监督信号l具体计算如下:

其中为视频帧序列中的类别为c的动作实例在中间帧的动作中心,σp适应于动作实例的大小设置,当相同动作类别中两个实例的高斯函数重叠时,选取最大的那个值作为监督信号。

在生成时空检测结果的过程中,对生成的热图使用3*3的最大池化操作筛选出局部响应最大的点,最终按照得分筛选出100个得分最高的点作为候选中心点,代表了这组视频序列中间帧动作实例的类别预测和对应中心点的位置预测。

4)位移预测分支生成中心点轨迹:首先沿通道将2)生成的k张特征图拼接起来,形成h/4*w/4*(k*64)的特征图fmovement,包含了连续k帧的空间信息和时序信息,再使用3*3卷积层convm1进行特征融合,得到的h/4*w/4*256的融合特征图,经过relu激活层,将其传入1*1卷积层convm2得到h/4*w/4*(k*2)的运动矢量估计k*2分别表示k张视频帧相对中间帧每个位置x方向和y方向的位移矢量预测。

位移预测分支预测每一帧动作实例中心点相对于中间帧动作实例中心点的位移矢量估计,包括x方向和y方向的位移;不同于常规使用的锚框表示方法将7帧内连续的动作实例建模为一组沿时间轴的锚框合集,本发明基于位移矢量估计将连续的动作实例建模为一组移动的动作实例中心点,简化了运动建模的表示方法,同时提升了动作时空检测的效率。在预测位移矢量估计时,将拼接后通道数为7*64的特征图输入3*3的卷积层得到融合7帧时间信息和空间信息的特征图,输出通道数为256,再依次经过relu激活层、1*1卷积层得到通道数为2*7的位移矢量估计图,“2*7”中的2表示沿x方向和y方向的位移估计,连续7帧的x方向和y方向位移矢量估计均由网络学习得出。具体计算方式如下:

1.生成连续7帧的时空特征fmovement如下:

我们记沿通道方向拼接特征的操作为concat,fi为2)中生成的单帧的特征。

2.生成用于估计中中心点轨迹的具体计算方式如下:

记位移预测分支的第一层卷积为convm1,relu代表了激活函数,位移预测分支的第二层卷积为convm2。

在训练过程中,这个分支使用l1loss产生了一个损失函数项lmovement,在这个分支只监督正样例,我们为每个动作实例设计了一个相对于中心帧中心点位置位移的监督信号mi,与预测位移求l1距离作为损失惩罚。损失函数lmovement如下:

其中n为视频帧序列中动作实例的个数,为视频片段中第i个实例在中间帧的动作中心位置,mi是第i个动作实例的监督信号,为在处的预测取值,是一个长为2k的向量,其中k=7。

在训练过程中生成动作实例位移监督信号mi具体计算如下:

其中为视频帧序列中第i个动作实例在第j帧的动作中心点位置。

在生成时空检测结果的过程中,从3)中心点预测分支预测的中心点加上对应位置的x和y位移矢量可以得到当前帧动作实例的中心点,由此形成这组视频帧序列中动作实例中心点的运动轨迹。

5)检测框回归分支生成各帧中心点的检测框:由于检测框的空间位置回归不需要使用时序信息,因此不需要沿时间维度将特征进行拼接,而是逐帧进行回归操作,对于形状为h/4*w/4*64的单帧特征图fbox,为了保证三个分支的平衡,同样先经过一个3*3卷积fb1进行空间特征融合,经过relu激活层然后传入1*1卷积fb2得到h/4*w/4*2的检测框长宽预测结果。

检测框回归分支基于每一帧预测的动作实例中心点独立生成检测框;不同于常规使用的锚框表示方法对预先设定好的基础锚框进行调整,本发明由中心点位置回归检测框的长度和宽度,直接在每一帧中心点位置独立生成包含动作实例的检测框,相比于基于锚框的方法更加灵活,同时需要回归的参数量减少一倍(基于锚框的方法需要调整基础锚框的长宽比例和x方向y方向偏移四个参数,而本发明只需要回归长宽两个参数),提升了时空动作检测的效率。在检测框回归过程中,将视频序列中每一帧通道数为64的特征图输入3*3的卷积层进行特征embedding,输出通道数为256,再依次经过relu激活层、1*1卷积层得到通道数为2的检测框长宽预测,2对应了检测框长度预测和宽度预测,在检测框回归过程中对每一帧独立进行检测框的长宽预测,只考虑当前帧的空间信息而不需要考虑时间信息。具体计算方式如下:

1.生成单帧的时空特征fbox如下:

检测框回归分支逐帧进行回归操作,fi为2)中生成的单帧的特征,fbox为视频片段中

第i帧的特征。

fbox=fi

2.生成用于回归每帧检测框的具体计算如下:

在训练过程中,这个分支使用l1loss产生了一个损失函数项lbbox,在这个分支只监督正样例,我们为每个动作实例的每帧设计了一个检测框大小的监督信号与预测位移求l1距离作为损失惩罚。损失函数lbbox如下:

其中n为视频帧序列中动作实例的个数,为在视频片段中第i个实例的第j帧实际的动作中心对检测框的长宽的预测,是我们生成的视频片段第i个实例在第j帧的检测框回归的监督信息。

其中分别为视频中第i个实例在第j帧的检测框的左上角和右下角。

在生成时空检测结果的过程中,根据4)中得到的每帧的中心点位置读取长宽生成检测框,由至此完成了连续k帧视频的时空动作检测,通过后处理可以将同一视频内多组k帧的检测结果连接起来,形成贯穿整个视频的时空动作检测结果。

6)后处理:将moc-detector在同一视频中检测出来视频片段的结果连接起来,以此获得整个视频上的时空检测结果。原则上,我们提出的moc-detector可以将k设置成视频总长度来得到上述检测结果。但在实际应用中,由于gpu的内存限制,我们无法设置过大的k。因此,一种常见的方法是在有限的视频片段内(在我们的系统中k=7)做动作检测,并利用连接算法将所有的短视频片段的结果连接起来,以此作为整个视频的时空检测结果。

7)训练阶段:,使用focalloss作为中心点预测分支的损失函数,使用l1loss监督位移预测分支,使用l1loss监督检测框回归分支,在训练时使用真实标记监督三个分支独立完成训练,三个分支的loss按照1:1:0.1加权相加,对总体loss使用adam优化器进行优化,不断重复步骤2)至步骤5),直到达到迭代次数。训练损失函数具体计算如下:

l=lcenter almovement blbbox

a=1

b=0.1

8)测试阶段:测试集输入数据不进行数据增强直接使用双线性插值方式变形为288*288,并作归一化处理,在测试时通过水平翻转提升测试效果,将各个分支输入视频的rgb特征和光流特征融合,提升测试效果。

下面通过具体实施例说明本发明的实施。

本发明提出了一种基于中心点轨迹预测的视频动作检测方法。经过在ucf101-24时空检测数据集上的训练和测试达到了高准确性,具体使用python3编程语言,pytorch0.4.1深度学习框架实施。

图2是本发明实施例所使用的系统框架图,具体实施步骤如下:

1)训练样例生成阶段:预先提取好ucf101-24视频帧存储在硬盘上,并计算两帧之间的光流,分别作为两种模态的输入。在训练集上,对于每一段完整的视频根据动作实例在时空上的标签,从第一帧开始依次选取连续的7帧短视频片段,如果该视频片段中存在动作实例且存在的动作实例的持续时间包含该视频片段,则该视频片段被选为一个训练样本。对于每一个训练样本视频片段,当输入模态为rgb的时候,将对应7帧的rgb图片序列作为输入,当输入模态为光流的时候,对于每一帧我们取从此帧开始连续5帧的光流,将7帧对应的光流序列作为输入。训练时我们采用了随机水平翻转,色彩抖动,分辨率扩张,随机裁剪等操作进行数据增强增加训练样本,并通过双线性插值将输入的分辨率统一调整到288*288,将得到的图片序列减去coco数据集三通道的均值并除以三通道的标准差实现归一化,最后转换为tensor的形式,按批处理并打乱数据加载次序。

2)特征提取网络的配置阶段,使用dla-34作为基础网络结构,网络中载入coco目标检测数据集中预训练模型的参数,如图3所示对dla-34网络进行修改,原本的dla-34网络为了适应检测任务采用了上采样结构将输出特征图由原先的1/32提升至1/4,在网络部分上采样层中加入可变形卷积以增强感受野,同时为了增强网络对不同尺度物体的判别能力,将高层特征上采样到输出特征图中。

一组连续的k帧视频帧,经过特征提取网络dla-34得到对应的k个特征图,当输入为单帧rgb图片时,网络输入大小为h*w*3,当输入为五帧连续光流图片堆叠时,网络输入大小为h*w*15,输出特征图为h/4*w/4*64(对于dla34来说,图中r=4),至此总共得到k张特征图对应k张输入的连续视频帧。将这些特征图分别送入三个检测分支中得到时空动作检测的结果。

3)中心点预测分支预测中间帧动作实例的类别以及该动作实例中心点的位置,如图4所示,首先沿通道将k张特征图拼接起来,形成h/4*w/4*(k*64)的特征图,包含了连续k帧的空间信息和时序信息,再使用3*3卷积层进行特征融合,得到的h/4*w/4*256的融合特征图,通过relu激活层后,将其传入1*1卷积层得到h/4*w/4*c的特征图,经过sigmoid激活层后得到热图,然后使用3*3的最大池化操作筛选出局部响应最大的点,最终按照得分筛选出100个得分最高的点作为候选中心点,代表了这组视频序列中间帧动作实例的类别预测和对应中心点的位置预测。

4)位移预测分支预测每一帧动作实例中心点与中心点预测分支得到的中间帧动作实例中心点的位移矢量,如图5所示,先沿通道将k张特征图拼接起来,形成h/4*w/4*(k*64)的特征图,包含了连续k帧的空间信息和时序信息,再使用3*3卷积层进行特征融合,得到的h/4*w/4*256的融合特征图,通过relu激活层后,将其传入1*1卷积层得到h/4*w/4*(k*2)的运动矢量估计,k*2分别表示k张视频帧相对中间帧每个位置x方向和y方向的位移矢量预测,从3)中心点预测分支预测的中心点加上对应位置的x和y位移矢量可以得到当前帧动作实例的中心点,由此形成这组视频帧中动作实例中心点的运动轨迹。

5)检测框回归分支基于上述步骤在每一帧动作实例的中心点回归该动作检测框的长宽以完成动作的空间定位,如图6所示,由于检测框的空间位置回归不需要使用时序信息,因此不需要沿时间维度将特征进行拼接,而是逐帧进行回归操作,对于单帧特征图h/4*w/4*64,为了保证三个分支的平衡,同样先经过一个3*3卷积进行空间特征融合得到h/4*w/4*256的特征图,经过relu激活层,然后传入1*1卷积得到h/4*w/4*2的检测框长宽预测结果。从4)得到的当前帧动作实例的中心点位置读取检测框的长宽以生成检测框,至此完成了连续k帧视频的时空动作检测,如图7所示。

6)后处理阶段:对于一段时间较长的视频,根据上述方法分为多个连续7帧的视频帧序列处理后,将其连接起来。首先,将同一个视频的所有检测结果按时序排列,并使用非极大值抑制算法nms处理每个短视频片段的结果,最终在每个短视频片段内为每个动作类别保留10个得分最高的候选项,称之为link。然后以贪婪的方式扩展这些link,首先选取一个得分最高的link,link的分数是由link中所有检测框的得分平均而得到,将得分最高的link作为初始化link,然后选取与该link所在的动作切片相邻的匹配link,匹配link应该满足三个条件:a.该link暂时没有被其他link所连接。b.该link在动作切片内得分最高(3)两者重叠部分的检测框交并比iou大于0.5。c.如果在连续k个动作切片内没有匹配项,则认为这个link匹配结束。每个匹配结束的link就作为整个视频中某个特定动作的时空检测结果。

7)训练阶段,使用focalloss作为中心点预测分支的损失函数,使用l1loss监督位移预测分支,使用l1loss监督检测框回归分支,在训练时使用真实标记监督三个分支独立完成训练,三个分支的loss按照1:1:0.1加权相加,对总体loss使用adam优化器进行优化,初始学习率为5e-4,当loss平稳时降低10倍学习率,在8块titianxpgpu上完成训练,单卡batchsize设置为15,总的训练轮数不超过8轮。

8)测试阶段,测试集输入数据没有进行数据增强,直接使用双线性插值方式变形为288*288,将每帧图像减去coco数据集三通道各自均值并除以三通道的标准差实现归一化,在测试时通过水平翻转提升测试效果,将输入视频的rgb特征和光流特征融合,时间序列采样帧设置成k=7,在ucf101-24数据集上,frameap@0.5达到77.8,videoap@0.2达到81.8,videoap@0.5达到53.9,videoap@0.75达到28.5,videoap@0.5:0.95达到27.7,在该数据集的效果样例如图8所示。


技术特征:

1.一种基于中心点轨迹预测的视频动作检测方法,其特征是在视频时空动作检测中,将每个动作实例视为动作发起者中心点移动的轨迹,一组运动序列的轨迹由中间帧动作的中心点和其他帧动作的中心点相对于中间帧中心点的运动矢量来表示,首先对视频帧序列提取特征,得到中间帧的中心点位置预测及动作类别预测,然后得到中间帧的中心点到其他帧中心点运动轨迹,最后生成各帧中心点的检测框,即得到位置定位,由此得到动作的类别和定位结果,完成视频片段上的时空检测任务。

2.根据权利要求1所述的一种基于中心点轨迹预测的视频动作检测方法,其特征是首先将一组连续的视频帧输入到二维特征提取网络进行特征提取,然后将提取的特征输入三个分支进行进一步检测,包括(1)中心点预测分支:用于检测一组视频序列的中间帧的动作实例的中心和类别;(2)位移预测分支:用于估计当前帧动作中心点相对于中间帧中心点的运动矢量;(3)检测框回归分支:用于单独预测每帧视频帧动作中心点处的包围框大小;

三个分支相互协作:通过中心点预测分支定位到中间帧运动者的中心点,然后根据位移预测分支估计运动者的移动,从而将中间帧中心点移动到其他帧形成一条中心点运动轨迹,并根据检测框回归分支在每帧的中心点生成检测框,实现整个视频的时空动作检测。

3.根据权利要求1所述的一种基于中心点轨迹预测的视频动作检测方法,其特征是利用匹配算法将多组视频帧连接起来,实现长时间视频的时空动作检测。

4.根据权利要求1或2所述的一种基于中心点轨迹预测的视频动作检测方法,其特征是通过神经网络实现,包括生成训练样例阶段、网络配置阶段、训练阶段以及测试阶段:

1)生成训练样例阶段:在视频内取连续k帧做时空动作检测,按时序遍历整个视频,选取在连续k帧内包含完整动作的视频片段做为训练样本;

2)网络配置阶段,形成k帧视频帧内每个动作实例的时空检测结果:

2.1)特征提取网络:使用二维特征提取网络作为特征提取网络,对输入的视频帧序列进行特征提取,步骤1)中的训练样本依次经过特征提取网络得到通道数为t的图像特征序列;

2.2)中心点预测分支:将步骤2.1)中得到的图像特征序列沿着通道方向拼接起来,形成通道数为k*t的融合特征图,将融合特征图输入到一个3*3的卷积层进行时空特征融合,融合后经过relu激活层,再通过一个1*1卷积层得到特征图,经过sigmoid激活层得到最终的热图,得出动作实例在中间帧的中心点位置和动作类别的预测结果;

2.3)位移预测分支:将步骤2.1)中得到的k帧图像特征序列沿着通道方向拼接起来,形成通道数为k*t的融合特征图,将融合特征图输入一个3*3的卷积层进行时空特征融合,再经过relu激活层,输入一个1*1卷积层得到运动矢量估计,得到动作实例在每一帧相对于中间帧中心点的位移矢量估计,分别由x方向的位移和y方向的位移组成,经过步骤2.2)和2.3)形成连续k帧内动作实例中心点的运动轨迹;

2.4)检测框回归分支:将步骤2.1)中生成的k帧通道数为t的图像特征序列依次逐帧输入一个3*3的卷积层,经过relu激活层然后传入一个1*1的卷积层,得到每一帧在运动实例中心点的检测框;

3)训练阶段:使用focalloss监督中心点预测分支,使用l1loss监督位移预测分支,使用l1loss监督检测框回归分支,三个损失函数按照设定的比例叠加,使用adam优化器,通过反向传播算法来更新网络参数,不断重复步骤2),直至达到迭代次数;

4)测试阶段:将测试集中的视频片段输入网络,经过步骤2)得到在整个视频中的时空动作检测结果。

5.根据权利要求4所述的一种基于中心点轨迹预测的视频动作检测方法,其特征是还包括步骤2.5)后处理阶段,利用匹配算法将多组连续k帧的视频帧连接起来,实现长时间视频的时空动作检测。

6.根据权利要求4所述的一种基于中心点轨迹预测的视频动作检测方法,其特征是步骤1)中训练样本包括连续k帧的rgb和光流图像,当输入步骤2)网络的模态为rgb的时候,将对应k帧的rgb图片序列作为输入记为irgb,当输入步骤2)网络的模态为光流的时候,对于每一帧取从此帧开始连续5帧的光流,将k帧对应的光流序列作为输入记为iflow。

7.根据权利要求4所述的一种基于中心点轨迹预测的视频动作检测方法,其特征是使用focalloss监督中心点预测分支具体为:

损失函数项记为lcenter如下:

α=2

β=4

其中n为视频帧序列中动作实例的个数,α和β是focal损失函数的超参数,代表了在坐标(x,y)处为动作类别c的实例中心的预测概率,lx,y,c表示根据训练集的时空标签设计的热图标签在(x,y)处为动作类别c的实例中心的监督信号。

8.根据权利要求4所述的一种基于中心点轨迹预测的视频动作检测方法,其特征是使用l1loss监督位移预测分支具体为:损失函数lmovement如下:

其中n为视频帧序列中动作实例的个数,为视频帧序列中第i个实例在中间帧的动作中心位置,mi是第i个动作实例的监督信号,为在处的预测取值,是一个长为2k的向量,

监督信号mi具体计算如下:

其中为视频帧序列中第i个动作实例在第j帧的动作中心点位置。

9.根据权利要求4所述的一种基于中心点轨迹预测的视频动作检测方法,其特征是使用l1loss监督检测框回归分支具体为:

损失函数lbbox如下:

其中n为视频帧序列中动作实例的个数,为在视频帧序列中第i个实例的第j帧实际的动作中心对检测框的长宽的预测,是视频帧序列第i个实例在第j帧的检测框回归的监督信息

其中分别为视频中第i个实例在第j帧的检测框的左上角和右下角坐标。

10.一种基于中心点轨迹预测的视频动作移动中心检测器,其特征是包括计算处理装置,所述计算处理装置中配置有软件程序,所述软件程序被执行时实现权利要求1~9任一项所述的视频动作检测方法,实现基于中心点轨迹预测的无锚框视频动作检测,对视频沿时序完成动作的时空定位和分类任务。

技术总结
一种基于中心点轨迹预测的视频动作检测方法,在视频时空动作检测中,将每个动作实例视为动作发起者中心点移动的轨迹,轨迹由中间帧动作的中心点和其他帧动作的中心点相对于中间帧中心点的运动矢量来表示,首先对视频帧序列提取特征,得到中间帧的中心点位置预测及动作类别预测,然后得到中间帧的中心点到其他帧中心点运动轨迹,最后生成各帧中心点的检测框,即得到位置定位,由此得到动作的类别和定位结果,完成视频片段上的时空检测任务。本发明提出了一种无锚框的视频动作检测方法,在视频中沿时序上完成动作的时空定位和分类任务,相比于现有技术带锚框的视频动作检测更加精简高效,体现了鲁棒性和高效性,同时具有很强的扩展性和移植性。

技术研发人员:王利民;李奕萱;王子旭;武港山
受保护的技术使用者:南京大学
技术研发日:2020.01.13
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-18429.html

最新回复(0)