TSA-Net论文详解
该文章发表在ICME2020,文章认为时序检测定位边界时,时序信息的充分利用是很重要的,但是因为不同的动作类别时长是不一样的,所有one-for-all的感受野是比较难的,为了解决这种问题文章提出了多尺度的感受野融合的方法。文章的目的只是解决时序提名的问题。
一、网络结构
网络结构如下图所示
1.png
首先要明确的是网络的输入是利用P3D、C3D或者TSN提取的特征。
对于一个时长为的视频,经过采样间隔为的采样,得到T个snippet(一个snippet可以定义为对应采样点的图片帧和对应采样点的光流特征,或者对应采样点及附近的采样帧的集合)。将T个snippet经过特征提取器后,得到T个时序特征序列。F就是本文提出网络的输入,即上图中的Sequence of Video Feature。F输入到几层共享的1维卷积后,输入到三个分支,每个分支由几个MDC组成(MDC结构后续会讲),最后经过pool层预测出对应的结果。
文章为了增加网络时序维度的感受野,并且不引入过多的计算复杂度,于是提出了上图中的Multi-Dilation Temporal Convolution(MDC) Block。MDC Block就是将几个空洞卷积并联起来,空洞卷积的核大小都一样,只是 dilation rate不一样,而且空洞卷积是在残差块里面,MDC结构如下图所示,其中。
1.1 关键点的预测
该网络对三类点进行预测,即开始点, 结束点,以及中间点。对应给定的视频,可能存在多个动作,对应预测方式,多个动作的groundtruth表示为。每个snippet都用0、1表示是否为开始点、结束点和中间点,即。因为这些点是比较稀疏的,为了平衡正负样本的比例,文章将一个小区域定义为正样本。拿开始点来说,在区间中的都为开始点,其中,为超参数,文章采用0.1。结束点和中间点正样本的定义同开始点。
关键点的预测就是网络输出对每个snippet进行三类的预测,给出每个snippet三类的概率值。
1.2 proposal的产生与选择
通过关键点的预测,对于每个snippet可以得到三个概率值,根据概率值筛选出候选的开始点和结束点,筛选规则如下:
- 概率值是否大于0.9
- 概率值是否是局部最大值,即当前snippet的概率值是否比前后两个概率值大
通过上述规则可以筛选出开始点集合和结束点集合,将开始点和结束点组合起来就可以得到多个proposal,这些proposal通过下述规则可以去除一些低质量的proposal:
- 和的距离应该在之间,其中为训练集中标注的最小动作时长和最长动作时长
-
和求得的中间点所处位置是否满足上述候选点的条件,即是否概率大于0.9或者是否为局部最大值,如果不满足,那么将和组成的proposal舍弃,如下图红色线条所示
3.png
为了得到更高质量的proposal,需要对proposal赋予更好的置信度,对于点构成的proposal对应的置信度用下式表示
其中和是网络估计出来的概率。是利用新的网络学习出来的,下面解释一下怎么得到的。
对于点构成的proposal,为了能够利用非背景的信息,先将proposal的区域扩大1.4倍,最终获得大小为的区域,然后从中等间隔的采样32个点,合起来就得到一个96维的向量,这个向量经过下面这个小网络输出:
小网络结构为FC(96->96) -> ReLU -> FC(96->48) -> ReLU -> FC(48->1)->sigmoid
得到概率为每个proposal的置信度,利用这个置信度使用nms或者soft-nms得到最终的结果。
二、 loss计算
这里有两类loss,一个是TSA-Net的loss,一个是最好小网络的loss
2.1 TSA-Net使用的loss
如上面的网络结构图所示,TSA-Net使用的是交叉熵loss,因为要预估三类关键点的结果,所以loss为
拿关键点为开始点说明,开始点的loss计算用公式如下
2.2 置信度小网络的loss
上式中是将所有潜在的proposal相加,l表示l1 loss,IoU表示两个一维seg之间的IoU