行为识别(action recognition)中的数据预处理

       在视频分析领域,如何进行数据处理尽管有一些约定俗成的做法,但没有形成事实上的标准,实际上由于任务的不同,所需要的处理方式也有较大差异。就行为识别(action recognition)来说,其采用的数据集可能是已经截取好的,即视频内容与标签是严格对应的,也可能使用未裁剪过的(untrimmed)视频,即视频中仅有一段内容是与标签严格对应的,另外像YouTube-8M这种数据集,由于数据量过于庞大,其中的特征已经经过了预提取。通过对比我们认为Kensho Hara, Hirokatsu Kataoka, Yutaka Satoh等人在《Can Spatiotemporal 3D CNNs Retrace the History of 2D CNNs and ImageNet》中针对裁剪过的视频样本所使用的方法应该是比较规范的,因此对其进行重点介绍和分析。

       在训练阶段,采用随机生成训练样本的方式进行数据增强(这一方法最早在Alexnet中使用)。具体过程为:在视频训练样本段中随机选择一个时间点,在此时间点附近通过均匀采样形成一个16帧的clip。随机选择一个时间点是因为大多数情况下,通过视频内容的一小段就可以判断出其标签(不过严格来说这个可能不是总能够成立,如果在99%的情况下符合的话,这个的影响可以忽略),均匀采样保证了视频时间属性的一致,因为有些动作慢与快所表示含义是不同的。录制的视频一般帧率是25帧/秒或30帧/秒,而所谓的均匀采样是指以相同时间尺度采样,比如每隔0.2秒进行采样,这样所有行为都是在相同时间分辨率下比较的。如果视频长度达不到16帧,那么需要对视频进行循环。整个过程如下图所示:

              

       上述过程实现了时间维度上的数据增强,在空间维度上增强的做法如下图所示,随机选择从四个边角或是中间进行裁剪,裁剪的尺度也是随机选择的,可以从 [1, 1/(2^1/4), 1/(2^1/2), 1/(2^3/4), 1/2]几种尺度中选择一种。裁剪框为正方形,尺度为1时其长度为视频尺寸的短边长度,裁剪完成后将其归一化为112*112。最终预处理得到的样本为3通道 × 16帧 × 112 像素 × 112像素。  

               

 

         除上述增强方式外,样本还以50%的概率进行水平翻转,因为一般情况下即使视频左右翻转,也不影响对视频内容的理解 。另外为了避免所谓的偏置引起的数据溢出,对每个通道都进行了减去平均值的处理。 所有生成的样本标签都和原始视频一致。

         在训练阶段采用上述方法进行数据增强,但是在识别阶段,如果采用上述方法即任意截取一个时间点附近和任意选择一个尺度的话,识别效果可能并不理想,因此在识别时采用的是滑动窗的方法,即将视频分为不重叠的16帧clip,其采样率应与前述的一致,由于在识别阶段没有必要做数据增强,因此直接以尺度1进行居中裁剪,仍然归一化为112像素× 112像素,即处理为和训练样本相同大小,然后对每个clip统计在各类下的分数,取分数的平均值作为在该类下的识别分数,得分最高者的标签被认为是识别结果,该过程如下图所示。

       

 

       

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值