来源:专知 本文为约5795字,建议阅读11分钟
本文介绍了「深度学习视频分析系统」最新2022研究进展综述
摄像设备在生活中的普及,使得视频数据快速增长,这些数据中蕴含丰富的信息。早期,研究人员基于传统的计算机视觉技术开发视频分析系统,用于提取并分析视频数据。近年来,深度学习技术在人脸识别等领域取得了突破性进展,基于深度学习的新型视频分析系统不断涌现。从应用、技术、系统等角度,综述了新型视频分析系统的研究进展。
首先,回顾了视频分析系统的发展历史,指出了新型视频分析系统与传统视频分析系统的区别;其次,分析了新型视频分析系统在计算和存储两方面所面临的挑战,从视频数据的组织分布和视频分析的应用需求两方面探讨了新型视频分析系统的影响因素; 再次, 将新型视频分析系统划分为针对计算优化的系统和针对存储优化的系统两大类, 选取其中典型的代表并介绍其核心设计理念; 最后, 从多个维度对比和分析了新型视频分析系统, 指出了这些系统当前存在的问题, 并据此展望了新型视频分析系统未来的研究和发展方向。
01. 概述
随着大量摄像机部署在公共场所甚至个人家庭中,这些设备产生的视频数据迅速增多。调查显示: 2016 年产生的视频数据占所有互联网流量的73%以上[1];一个中等规模的城市,仅一天就能产生 PB 级数据量的视频[2]。这些视频中蕴含的丰富信息可以帮助解决现实生活中的一些难题, 例如: 道路和交叉路口的视频有助于及时检测拥堵、违规和事故[3],并为交通规划决策提供信息[4,5]; 室内的视频有利于检测异常情况并及时预警[6]等。但是,如果依靠人工观看视频的方式提取这些信息, 不仅耗时耗力且结果误差较大[7]。
面对视频处理需求, 如何自动、高效地从视频数据中提取相应信息,是视频分析系统的关键。早在 20 世 纪 90 年代,国内外的很多公司, 包括 IBM、Virage 等, 都开发了视频分析系统进行图像检索与对象查询。本文将这些系统称为传统视频分析系统。但是, 随着视频数据的快速增长和视频分析应用需求的增加, 这些系统的不足逐渐显现, 主要表现在这些系统基于传统的计算机视觉的方法进行对象查询, 而这些对象查询所使用的特征需要人为地选择和提取。这是一种半自动的实现方式, 这种实现方式导致系统的准确度低、查询对象有限、识别能力有限。在之后的一段时间中, 视频分析系统的发展停滞不前。直到 2012 年, 在 ImageNet 图像分类比赛上, 深度神经网络 AlexNet[8]取得了当时最好的结果, 这为视频分析系统提供了新的方向。通过使用深度神经网络, 系统可以自动提取并学习对象丰富的特征, 并推理得到准确的结果。此后, 深度神经网络 (deep neural network, DNN)的种类逐渐增多, 功能逐渐多样化。更进一步地, 因深度神经网络的兴起, 以深度 神经网络为本质的深度学习方法也逐步在人工智能的多个领域中得到广泛应用。时至今日, 国内外研究人员仍致力于使用深度学习方法来解决现实生活中的一些难题。随着深度学习日益受到广泛关注, 近年来出现了 很多基于深度学习的视频分析系统, 本文将这类系统称为新型视频分析系统。
然而, 在视频数据不断增长和深度神经网络层数逐渐增多的趋势下, 新型视频分析系统在计算和数据存储过程中都面临着挑战。例如, 系统如何快速甚至实时地分析不断到达的数据、系统如何压缩数据以节省存储空间等。面对这些挑战, 研究者们通过对视频数据组织分布的观察以及对视频分析应用需求的分析, 逐步探索了不同的优化方向, 并由此开发了相关的原型系统。本文对这些系统进行了总结, 并将其归纳为两类系统: 针对计算优化的系统和针对存储优化的系统。对于每一类系统, 本文介绍了其设计思想, 并从多个方面对其进行了总结和分析。
本文第 1 节回顾视频分析系统的发展历程,第 2 节阐述新型视频分析系统面对的挑战及其影响因素, 第 3 节分类介绍典型的新型视频分析系统, 第 4 节对比总结这些系统,第 5 节探讨未来值得关注的研究方向, 第 6 节总结全文。
02. 视频分析系统的发展
在新型视频分析系统出现之前, 人们采用传统视频分析系统处理视频数据。传统视频分析系统主要采用经典的计算机视觉的方法, 通过获取视觉内容和语义内容的方法, 实现对视频数据的处理与分析。图1展示了传统视频分析系统的查询处理流程。
这一流程可以分为数据输入、预处理、特征提取、识别与检测、结果输出这 5 个部分, 其中, 特征提取是传统视频分析系统的核心部分。这些要提取的特征可以分为视觉特征和语义特征两大类: 视觉特征即图像通过线性变换得到的特征。例如, 颜色、纹理、形状等; 语义特征则是通过分析图像中事物与事物之间的关系, 从中提取出的对象、事件等高级概念。例如, 足球比赛的观众席上有一位球迷看起来很兴奋。显然, 这两类特征的含义不同, 因此, 对这两类特征的提取要求是不同的。根据提取特征的不同, 可将传统视频分析系统分为基于内容查询(content-based image retrieval, CBIR)的系统和基于语义查询的系统这两类。其中, 基于内容查询的系统具有代表性的有QBIC[9]、Virage[10]、PhotoBook[11]、FourEyes[12]、VisualSEEK[13]等。
QBIC (query by image content)系统是 IBM 公司开发的第 1 个基于内容的商业化的图像检索系统, 图 2 展 示了 QBIC 系统的架构。可以看出, 该系统的处理流程符合传统视频分析系统的处理流程。它对输入的图像或者视频进行预处理后, 再提取颜色、纹理、形状等视觉特征, 然后将这些特征存储在数据库中。用户进行查询时, 该系统根据用户提供的要查询图像的特征与数据库中保存的图像的特征进行相似度度量, 最终返回匹配度高的图像作为结果。
例如, 当用户想要在一段交通视频中寻找消防车时, 用户需要为系统提供要检索的消防车的特征(如红色、长方体)。系统根据用户提供的特征进行查询, 并返回视频中存在消防车的图像。系统处理该查询的具体过程为: 当视频采集完成后, 系统首先按帧将其分割为图像, 对于每一帧图像, 系统分析图像中对象的颜色和形状, 并将分析结果存入数据库中; 之后, 系统的匹配器基于相似度度量方法从数据库中寻找红色且形状为长方体的对象, 符合检索特征的对象将作为最终结果返回给用户。由于系统能够提取的特征有限, 除了颜色和形状外, 系统无法提取该对象具体部件的特征。例如, 消防车上必备的水枪、梯架、工作斗等, 这导致了检索的结果并不准确。对于上述例子, 系统虽然获得了所有具备红色和长方体特征的对象, 但是得到的不一定是消防车, 还可能是红色的小汽车。值得指出的是, 如果用户误以为消防车是蓝色的, 要求系统将蓝色且形状为长方体的对象作为消防车的查询结果, 这显然也会导致结果不准确。此外, 仅通过颜色和形状, 系统可表达的查询对象也往往是有限的。其他几个基于内容查询的系统的处理流程与 QBIC 类似。表 1 总结了这些系统主要提取的视觉特征内容以及各个系统的设计特点。
但在实际应用中, 用户不仅想要获取图像的视觉特征信息, 也想获取图像表达的含义。这些图像含义就是图像的语义特征, 它包含了人们对图像内容的理解。这种理解是无法从图像的视觉特征获得的, 而是依赖于人们的认知。例如, 在足球比赛中, 用户想查询的是进球瞬间对应的视频[14], 而不是整个视频里人或者其他物体的视觉特征, 即用户想要查询的内容与图像含义相关。此时, 如果有一个球形的对象在一个矩形的对象内停留, 同时伴有响亮的欢呼声和长哨声, 即可判断进球了。显然, 这些欢呼声和哨声是无法通过视觉特征提取到的。
基于这种查询需求,研究者开发了Stratification[15]、LHVDM[16]、Video modelling[14]等基于语义查询的系统。这些系统的查询流程与基于内容查询的视频分析系统类似。表 2 总结了这些系统提取语义特征的方式以及各个系统的特点。一般而言, 这些系统都要求研究者拥有领域知识且明确用户需求, 研究者对相关领域知识的不了解和对用户查询内容的不清楚, 会导致最终结果的不准确。
通过以上对基于内容和基于语义的传统视频分析系统的介绍, 本文对传统视频分析系统存在的问题总结如下: (1) 该类系统提取的视觉和语义特征有限, 导致查询的对象有限; (2) 该类系统查询结果的准确度取决于用户查询时选取特征的好坏, 且研究者需要具备丰富的领域知识以确保结果的准确性; (3) 该类系统对特征 的识别与检测技术多为相似度度量(如距离函数)或者仅含单层非线性变化的浅层学习结构(例如, 支持向量机 SVM、传统隐马尔可夫模型等)。这类技术的查询结果易受拍摄环境的影响, 比如光照变化、尺度变化、视角 变化、遮挡以及背景的杂乱等都会对其造成较大的影响, 从而导致系统的识别能力有限[17]。
深度神经网络的出现和深度学习的发展, 为视频分析系统提供了新的方向。深度学习的概念最开始由 Hinton[18]提出, 它的提出来源于人们对人工神经网络的研究, 其动机在于模拟人脑的机制来自动学习数据样本的特征。早期虽然也有人尝试利用一些通用的神经网络进行视频分析, 但是由于其深度太浅, 只能用于识别检测包含单一目标的图像[19]。而且由于缺乏大规模的训练数据, 在利用这些浅层神经网络实现的应用中会出现过度拟合等现象[20], 导致查询效果不如传统的视频分析系统。直到 2012 年, AlexNet[8]在 ImageNet 比赛上得到了最好的结果, 当时, AlexNet识别效果超过了所有浅层的方法, 深度神经网络开始发展起来。图3展示了一个深度神经网络的结构, 该网络由输入层、卷积层、池化层、全连接层和输出层组成[21]。 其中, 卷积层和池化层是该深度神经网络中用于特征提取的核心模块。网络的每一层都可以用来自动提取图像不同的特征, 较低层会检测基本特征, 较高层则可检测更复杂的特征。此后, 随着可供神经网络训练的数据规模越来越大, 神经网络训练过程中过拟合等问题得到缓解, 复杂的网络结构应运而生[22,23]。例如, GoogLeNet[24]、Resnet[25]、 Yolo[26]等。在深度神经网络研究的基础上, 深度学习开始受到广泛的关注。
虽然深度学习提供了较好的特征提取能力, 但由于深度神经网络的大规模参数特性, 例如利用深度神经网络执行一次操作的计算总量可达数十亿次, 也给处理设备的计算能力带来巨大的挑战。随着处理设备相关软件和硬件的发展, 该挑战也逐步被克服, 主要表现在图形处理器(graphics processing unit, GPU)的发展和 GPU 计算库可用性的增强[27]。与传统中央处理器(central processing unit, CPU)相比, GPU 的运算速度要高出一个数量级甚至以上, 使其对深度学习算法尤其有用。
同时, 随着开源软件包在深度学习领域的普及与应用,很多深度学习库, 包括 TensorFlow[28]、Caffe[29]等, 在诸如卷积操作等高效 GPU 实现中得到广泛应用。这些深度学习库提供了一系列深度学习组件和函数接口, 以方便用户直接调用。因此, 深度学习开始在人脸识别[30,31]、语音识别[32,33]、机器翻译[34]、推荐系统[35,36]等人工智能领域中得到广泛应用。
在深度学习发展的背景下, 通过运用深度神经网络, 新型视频分析系统可以从大量的数据中自主学习不同抽象层次的特征且得到准确的结果。图 4 展示了新型视频分析系统对查询需求的处理过程。与传统视频分析系统的处理流程相比, 新型视频分析系统利用神经网络推理的方法取代了传统视频分析系统中特征提取的步骤[37]。这类系统表达能力强、结果准确, 而且无需领域知识和与用户交互即可处理多对象的大规模数据。在此基础上, 基于深度学习的新型视频分析系统不断涌现。目前, 这类系统可实现三大类应用: 对象分类、对象检测、路径跟踪。其中, 对象分类是获取对象所属的类别。常见的对象分类应用又可细分为两类: 二分类查询应用和多分类查询应用。二分类查询即判断视频当前帧是否包含要查询的对象, 而多分类查询则是要判断视频每一帧中包含的所有对象的类别。对象检测是获取对象在图像中的位置, 路径跟踪是获取同一对象在连续时间内的位置信息。图 5 展现了近年来在数据库相关领域和操作系统设计与实现相关领域的会议中出现的新型视频分析系统。由图 5 可以看出, 新型视频分析系统已经成为了当前研究的热点之一。
03. 新型视频分析系统总结与分析
本节首先通过图 18 展示了新型视频分析系统与性能影响因素以及解决方案之间的关系; 然后, 本节从多个维度出发, 总结并分析了针对计算进行优化的系统和针对存储进行优化的系统; 最后, 本节总结了当前系 统研究存在的不足, 为之后的研究人员提供一定的参考。
新型视频分析系统未来的研究方向
新型视频分析系统具有广泛的应用前景, 本节简要讨论新型视频分析系统未来的研究方向。
(1) 数据处理与新型视频分析技术的深度融合。大规模数据处理平台具有横向高可扩展能力, 针对计算和存储均进行了优化, 支持丰富的查询接口, 这些特性为构建新型视频分析系统提供了有力的技术支撑。如何结合新型视频分析应用的负载特征, 量身定制新型视频分析系统, 是未来值得关注的研究方向。此外, 像评价数据处理系统性能那样制定公认的评测基准及数据集, 有助于推进新型视频分析系统的性能测评;
(2) 新硬件赋能的新型视频分析加速技术。现有的新型视频分析系统普遍采用了 GPU硬件进行推理, 显 存容量可能会限制并行处理的视频帧数量, 阻碍了性能的提升。因此, 如何在显存受限情况下提升系统性能是研究的难点之一。 例如, 可以研究如何使用 NVLink 等新型高速互联通道加速数据传输, 充分利用新硬件的优势, 是未来值得关注的研究方向。此外, 如何利用 TPU 等新型硬件来加速新型视频分析, 也是未来的发展趋势;
(3) 云端协同场景下的新型视频分析系统构建。当前, 大规模数据处理应用往往都部署在云平台上, 视频分析系统可充分利用分布式计算平台的并行计算能力[64]及云平台的计算资源弹性分配机制[65]。如何优化数据分区操作以及多台机器之间的通信管理等, 将是影响系统性能的关键因素。除了云平台以外, 终端设备的计算能力正在逐步增强, 边缘计算正得到广泛关注。在视频分析的应用场景中, 如果分析处理能够部分或全部在终端完成, 那么数据向云平台传输的开销将大大降低。因此, 如何利用云端协同来构建新型视频分析系统, 是未来值得关注的研究方向。