视频理解和识别是计算机视觉的基本任务之一。随着视频设备和网络的普及,视频理解越来越受到研究者的关注。识别视频中的动作是具有很高实际应用价值的挑战性任务之一。与图像相比,视频内容和背景更加复杂多变,不同动作类别之间存在相似性,而同一类别在不同环境下又具有不同的特征。此外,拍摄带来的遮挡、晃动、视角变化等也给动作识别带来进一步的困难。在实际应用中,准确的动作识别有助于舆情监测、广告投放以及与视频理解相关的许多其他任务。与图像识别相比,视频分析需要更大的数据量。早期的数据集KTH[1]、Weizmann[2]等只是演员进行了一些固定的动作,如步行、慢跑等。后来更大规模的数据集如UCF101[3]由在线视频组成,具体动作类别由志愿者手动标注。目前,研究人员已经发布了更大规模的数据集。例如,Kinetics[4]包含数百种动作和数十万个视频(如图1所示)。对动作识别的研究有很大帮助。图1.来自Kinetics数据集的示例视频帧(https://arxiv.org/pdf/1705.06950.pdf)。目前常用的视频动作识别技术大致可以分为以下几类:1.基于人工特征的视频动作识别早期的动作识别主要基于兴趣点的检测和表示。梯度直方图[5]、时空兴趣点检测[6]和光流直方图[7]都用于提取图像和时间序列的特征表示。与图像相比,视频包含了大量的运动信息。为了更好地利用运动信息,Heng等人。提出了densetrajectory[8]的特征,集中提取和跟踪光流中每个像素的特征,编码后进行编码。分类。然而,这些特征在面对大规模数据集时缺乏一定的灵活性和可扩展性。2.基于双流的神经网络近年来,神经网络在图像识别、目标检测等计算机视觉任务中取得了近乎优越的效果,研究者也越来越多地开始在视频任务中使用神经网络。然而,直接使用用于图像分类的神经网络进行视频分类会忽略视频的时间特征,而时间特征对于视频分类尤为重要。在此之间,研究人员提出了一种基于双流的动作识别方法。西蒙尼安等人。提出了一种融合网络[9],首次将视频分为空间和时间两部分,将RGB图像和光流图像分别送入两个神经网络并融合最终的分类结果。如图2所示,利用双流神经网络,可以同时获取视频中人物或物体的外观和运动信息。该方法在当时各种基准数据集上达到了领先的识别水平。图2.two-stream神经网络结构图(https://papers.nips.cc/paper/5353-two-stream-convolutional-networks-for-action-recognition-in-videos.pdf)后,有许多研究对双流网络的框架进行了一些改进。例如,TemporalSegmentNetwork提出了一种可以捕获更长序列的网络结构[10]。Xu提出了一个基于密集扩张网络的框架[11],并探索了融合空间和时间分支的不同方式。3.基于三维卷积的神经网络除了二维流网络,一些研究人员将神经网络优化为视频的三维卷积神经网络,以捕获更多的时空信息。如图3所示,Tran等人。首次提出在视频动作识别中使用三维神经网络(C3D)代替二维神经网络[12]。此后,由于ResNet在图像识别任务中取得的良好效果,Hara等人。提出了基于3D网络的ResNet[13],以及Qiu等人。还提出了一种使用2D模拟3D神经网络的伪3D网络(P3D)[14]。图3.3DGodGeneral网络示意图。(https://www.cv-foundation.org/openaccess/content_iccv_2015/papers/Tran_Learning_Spatiotemporal_Features_ICCV_2015_paper.pdf)最近deepmind团队提出了Inflated3DConvNets(I3D)[15],具体方法是利用2D网络权重expansion作为3D网络的预训练权重,并借助大规模的Kinetics数据集进行预训练,在基准数据集上的效果有了明显的提升。4.其他此外,许多研究者还在探索其他更有效的视频动作识别方法,如基于长短记忆网络(LSTM)的识别框架(LSTM)[16]、基于对抗神经网络(GAN)的框架[17]。]]等。目前的动作识别虽然取得了飞速发展,但距离人类识别水平还有很大差距,在实际应用中也面临着各种复杂的问题。我们期待在未来的研究中出现更具可扩展性和鲁棒性的算法和框架。【本文为栏目组织《AiChinaTech》原创文章,微信公众号(id:tech-AI)》】点此查看作者更多好文
