论文部分内容阅读
当前信息技术快速发展,视频因其携带丰富的信息内容而成为了当前人工智能研究的热点之一。视频处理技术在人类生活中有着广泛用途。例如,在安防领域中,它可以用于对异常行为进行主动预警,从而减少损失并协助侦破;它也可以用于监测患者和老年人的日常生活,当患者或老人跌倒或出现其他危险情况时及时发出警报。特别在自动驾驶这样的复杂应用场景中,它可以帮助车辆识别不同的可见物体(例如行人,车辆,交通标志和街道场景中的可驾驶区域等),并实时处理紧急事件,例如减速和避让,紧急停车和绕道改道。正因为视频处理拥有如此广泛的应用前景,如何快速准确的进行视频处理是当下的研究热点。在学术界中,为了高效的处理和分析视频,研究者们已经提出了多种视频理解方法,并取得了一定的成果。传统的方案通常分三阶段完成视频理解的任务。第一阶段是通过光流场获得视频序列中的特征轨迹。第二阶段基于此特征轨迹提取4种特征,分别是定向光流直方图(HOF),定向梯度直方图(HOG),运动边界直方图(MBH)和改进的密集轨迹(i DT)。第三阶段选用SVM等分类器,将提取的所有特征作为输入,送入分类器中,采用K近邻或支持向量机分类算法进行分类。虽然传统方法取得了一定的效果,但其准确性和泛化能力都难以满足实际需要。相比于传统方案,近年来基于深度学习的方案能够获得更高的准确性。使用卷积神经网络的方案,它对视频中的每一帧进行单独处理,并选择频率最高的类别作为视频理解结果。这种方法有效的利用每帧图像中的空间信息,但是由于类别是按每帧来分类的,因此它无法利用帧与帧之间在时间序列上的信息。基于循环神经网络的方案,它将视频分解成的图像序列作为输入,通过提取这些图像在时间序列上的变化特征来完成对整段视频的理解。这种方法解决了无法利用视频在时间序列上的信息的问题,但是它的处理过程是基于RGB原始图像的色彩变化的,所以对于色差较大的物体识别率非常低。将卷积神经网络和循环神经网络相结合的方案,通过卷积神经网络对视频片段预先进行特征提取,随后使用循环神经网络对时序的特征做最终分类。这种方法解决了单独使用循环网络时只能通过低层次的颜色变化特征来获取视频理解结果的问题。但是卷积神经网络依然无法很好的捕捉图像的空间关系,这使得最后的视频理解结果的准确率仍然存在提升的空间。同时,由于需要处理大规模的视频数据,用于视频理解的神经网络往往会拥有大量的冗余参数和中间计算数据,这些参数和数据会使得整个神经网络模型在计算过程中占用较多的储存空间和产生较高的计算复杂度。对于资源有限的终端设备来说,这些都可能导致部署神经网络模型后无法正常运行。除此之外,像车载设备、摄像头等终端设备由于都没有大量的图形处理器,使得视频理解神经网络难以在这些设备上面快速运行和实时反应。针对当前主流方案存在的无法有效利用视频序列高层次的语义信息(可以表述目标的空间关系)和时间信息,以及无法解决参数规模太大在边缘设备上带来的高内存消耗和高计算复杂度的两个问题,本文提出了一种轻量级的语义分割网络,用于实现视频场景准确快速理解在边缘设备高效执行。其中主要的研究内容和实现方法介绍如下:本文第一部分(第二章)对卷积神经网络(CNN),长短期记忆网络(LSTM),语义分割网络,以及神经网络压缩的方法进行了讨论。其中重点讨论了LSTM网络,它能够处理时间序列数据并且避免长期依赖的问题。语义分割网络有两种经典框架,一种是基于全卷积神经网络(FCN)的框架,另一种是基于编码-解码的框架。LSTM能够将视觉输入划分为不同的语义可解释类别,即当输入是一张图片时对图像中的每个像素点进行分类,这可以使得对输入图像有更详细的了解。接着,CNN和LSTM的优化问题从量化和矩阵分解两个方面进行了介绍。量化技术能够将浮点数模型的量化成整型数,从而减小模型的存储占用量。通过将浮点数之间的操作转换成整型数之间的操作能够提升模型推理的速度。矩阵分解技术将一个矩阵拆解为数个小矩阵的乘积,大大减小了模型的参数数量和推理过程的计算量。通过对网络特性和压缩技术的研究,将为本文后面技术实现部分提供理论基础。本文第二部分(第三章)提出了一个用于视频场景理解的时空语义分割网络,它可以有效提取视频序列高层次的语义信息和时间信息。该网络由语义信息提取器和基于LSTM的时空模型构成。语义信息提取器,它可以快速识别和定位场景中包含的对象,同时提取时间序列上的语义特征。然后,我们可以将这些特征作为基于LSTM的时空模型,这样就可以通过高层次语义特征在时序上的变化来指导完成视频的场景理解。本文第三部分(第四章)针对第三章的时空视频场景理解网络的参数和中间数据规模太大,带来的高内存消耗和高计算复杂度的问题,我们采用了多种方法对实现视频场景理解的语义分割网络进行优化简化。一方面使用了一个小型化的网络(Mobile Netv2)替代了原始语义信息提取器的主干网络。Mobile Netv2用深度可分离卷积替代了传统的卷积操作,以此实现了通道与空间之间的解耦,加快了模型的运行速度。同时引入了倒置残差块和线性瓶颈保证了模型的表达能力。用Mobile Netv2作为主干网络之后,语义信息提取器的参数量得到大幅度减少。除此之外空洞空间卷积池化金字塔(ASPP)模块和解码器模块是语义信息提取器中两个占用了大量计算资源的模块。其中ASPP模块可以提取多尺度的信息,解码器模块可以利用低层次特征逐步恢复边界信息。另外,张量压缩和训练量化技术被用于对整个系统进一步压缩优化。针对LSTM我们应用张量压缩技术,将LSTM的权重和输入进行张量化,即用一系列低维小矩阵相乘的形式近似原本的高维大矩阵,然后用这些小矩阵代替大矩阵进行运算。与此同时,在网络训练的前向传播过程中权重和输入特征都被量化成8-bit整数,随后在8-bit整数上进行卷积或者矩阵乘法的操作,接着反量化卷积或者矩阵乘法操作输出32-bit的浮点型数据,最后进行32-bit浮点型数据上的偏置加法。反向传播过程中通过量化后的激活和权重求取权重更新所需的梯度值。经过这一系列优化之后整个系统的内存消耗得到极大的减小,而它的运行速度则得到了极大的提升,有望用于边缘设备。本文第四部分(第五章)讨论了实验结果,并针对第四部分优化后的时空视频场景理解网络模型在边缘设备上验证了运行性能。针对第三章时空视频场景理解网络,我们在主流视频理解数据集UCF11上进行性能评估,实验结果表明这个时空视频场景理解网络在UCF11数据集上的精度比传统基于CNN的方法(SLD-CNN)高12.29%,比传统基于RNN的方法高10.27%,比传统基于CNN+RNN的方法高6.66%。而针对第四章优化后的时空视频场景理解网络,在City Scapes,UCF11和MOMENTS主流数据集上进行网络性能评估,结果表明优化后的时空视频场景理解网络在UCF11数据集上的精度比传统基于CNN+RNN的方法高9%,存储资源占用减小了143.1倍,在MOMENTS数据集上使用GTX1080Ti GPU测试推理速度达到了101 FPS。在此基础上我们将整个系统部署到了边缘设备华为Atlas 200 DK开发板上。Atlas 200 DK开发板主要由其中的Davinci AI核心提供加速能力,在完成交叉环境的编译和模型的转换之后,适配Davinci架构的新模型能够调用AI核心完成前向推理的计算过程。仿真结果表明在Atlas 200 DK上优化后的网络的推理速度比优化前的提高了18.89倍。综上所述,本文提出的时空视频场景理解网络,通过结合语义信息和时间信息可以实现高效的视频内容处理,基于轻量化的网络结构大大降低了神经网络的冗余,实现网络的深度优化简化,使得运行速度得到了很大提升,为视频理解任务提供了一种轻量化高速度高精度的解决方案,实现视频处理在边缘设备上的快速运行。