使用增强运动向量CNNs的实时行为识别

简介: 论文原称:Zhang B, Wang L, Wang Z, et al. Real-time action recognition with enhanced motion vector CNNs[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 2718-2726.

论文原称:Zhang B, Wang L, Wang Z, et al. Real-time action recognition with enhanced motion vector CNNs[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 2718-2726.


背景:双流卷积网络需要使用光流,而光流计算很费时,在K40GPU上每计算一帧需要60ms,这非常影响它的实时性,为此,本文应运而生。


前提知识:


在图像和视频压缩方面,使用H264协议对图像或视频进行压缩。具体理解如下:对第一帧进行帧内压缩,可得到 I 帧,对第一帧后面的帧进行帧间压缩可得到P帧和B帧。完整编码的帧叫 I 帧,参考之前的 I 帧生成的只包含差异部分编码的帧叫 P 帧(意思就是P帧是表明了某一帧在前一帧的像素变化值,需要通过前一帧和P帧才能得到它的下一帧图像,以此类推得到整个视频图像),还有一种参考前后的帧编码的帧叫 B 帧(这个用的比较广,压缩效率更高,B帧表示前后帧的差异)。本文里提到的motion vection指的就是P帧,即帧间像素变化,I帧是不包含运动信息的,在本文使用前一帧(指的是P帧)来代替遇到的I帧。


image.png

主要贡献:


  • 提出使用光流CNN(OF-CNN)来训练运动向量CNN(MV-CNN),以实现光流的准确性和运动向量的实时性的结合效果。


  • 提出三种训练方法用来结合光流和运动向量,以提高模型实时性


数据集:UCF-101, THUMOS14


模型:用于视频行为识别的双流卷积网络


论文主要思想:


image.png

motion vector 是基于比较大的像素块,而optical flow是基于像素点。因此motion vector的识别效果并不好,但计算速度很快,实时性很高,而optical flow刚好相反,识别效果好,计算速度很慢,导致实时性很低。本文主要的内容就是提出三种训练方式来结合OF-CNN和MV-CNN的优点,避免各自的缺点。简称优劣互补。这里OF-CNN和MV-CNN的网络结是一样的。


image.png


第一种Teacher Initialization (TI):由于光流和运动向量都是描述局部区域的信息(光流具体到像素点,运动向量描述的是像素块),因此他们在内在上是相关的。考虑到这点,论文提出使用已经训练好的OF-CNN的参数作为MV-CNN的初始化参数。然后再finetune MV-CNN直到它们融合。


第二种Supervision Transfer (ST):考虑到使用第一种方式可能会导致在finetune过程中从OF-CNN带过来的语义信息会丢失,因此第二种方式采用OF-CNN的FC Layer监督MV-CNN的训练。这种灵感来源于知识蒸馏,但知识蒸馏更偏重的是在一个小的模型上学到大模型的效果,而此处两个模型的结构是一样的,因此更偏重于让MV-CNN学到OF-CNN的效果,而不是把MV-CNN压缩得很小。


那这里是怎么实现监督的呢?方式如下:


(1)采用softmax计算fc layer的输出,Tn(o) = softmax(T(n−1)(o)),

Sn(v) =softmax(S(n−1)(v)),得到Tn(o),Sn(o),(T指的是teacher,即OF-CNN,S指的是student,即MV-CNN,n-1指的是第n-1层,是个下标)。这里之所以使用softmax是为了把输出值映射为各个类别的概率。为了把OF-CNN学到的特征教给MV-CNN,使用下面的交叉熵损失函数 来使得Tn(o)与Sn(o)尽可能地接近。


(2)使用了temp软化fc layer的输出,意思差不多等同于把Hard labels转化为soft labels。具体实施函数是:PT = softmax(T n−1/T emp), PS = softmax(Sn−1/T emp)


(3)除了考虑到监督的损失函数外,还要最小化MV-CNN的输出与ground truth的差距(公式3)。对于这两个损失函数,采用加权和的方式作为最终的损失函数(公式4)。


image.png


第三种Combination(TI+ ST):简单来说就是先训练OF-CNN,再把训练好的参数传给MV-CNN,这是第一种方式,然后再用第二种方式进行监督训练。


评估:


1.论文对OF-CNN,从零训练的MV-CNN,使用三种方式训练得到的EMV-CNN在两个数据集(UCF-101和THUMOS-14)在精度上进行了效果对比。


image.png


image.png


结论:使用(这三种训练方式来)增强的motion vector可以减少Temporal CNN中加入motion vector带来的精度损失,但速度是大大提升了,论文提出的方法提高了MV-CNN的泛化能力。


在两个数据集上测试了计算motion vector 和optical flow以及同时计算两者的速度。


image.png


image.png


结论:实时性很好,如果是使用第三种方式,每秒能计算390多帧。


3.采用w = temp^2,temp 取1,2,3。论文对这三个值进行了效果对比,差别不大,精度分别为78.9%, 79.3%, 79.2%。接下来的实验temp 取2。


4.最后,本文的模型是基于双流卷积的,因此还加入了Spatial CNN,组成了EMV+RGB-CNN在两个数据集上和在不同的设备上进行了实时性的测试,以及与其他的SOTA模型进行了精度和实时性的对比。


image.png


image.png


结论:精度略低于双流卷积模型,但实时性却接近它的30倍。精度和实时性都高于其他模型。

 

如有错误或不合理之处,欢迎在评论中指正。

相关文章
|
27天前
|
机器学习/深度学习 数据采集 数据可视化
使用Python实现深度学习模型:智能舆情监测与分析
【8月更文挑战第16天】 使用Python实现深度学习模型:智能舆情监测与分析
80 1
|
8天前
|
机器学习/深度学习 自然语言处理 语音技术
FunAudioLLM与其他语音模型多维度对比简析
FunAudioLLM与其他语音模型多维度对比简析
42 13
|
2月前
|
缓存 运维 监控
监控治理问题之想获取必要的降噪方法以适合不同场景下的降噪情况,如何解决
监控治理问题之想获取必要的降噪方法以适合不同场景下的降噪情况,如何解决
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
【机器学习】集成语音与大型语音模型等安全边界探索
【机器学习】集成语音与大型语音模型等安全边界探索
249 5
|
3月前
|
人工智能 Python Shell
CodeFormer——AI驱动的面部图像修复与增强
CodeFormer是由南洋理工大学和商汤科技联合研发的AI人脸复原模型,结合VQGAN和Transformer技术,能从模糊或马赛克图像中生成清晰图像。它具备老照片修复、黑白照片彩色化、马赛克修复和低码率视频增强等功能。安装过程涉及miniconda3、Python环境配置、相关库的安装及模型训练数据下载。在测试视频增强时,虽然初期遇到ffmpeg导入问题,但通过安装ffmpeg-python得以解决,不过CPU占用率高。此外,还展示了对图片进行增强的命令行操作及结果示例。
|
4月前
|
机器学习/深度学习 运维 算法
|
4月前
|
机器学习/深度学习 算法 定位技术
医学图像增强系统的设计_kaic
医学图像增强系统的设计_kaic
|
机器学习/深度学习 数据采集 存储
一种用于入侵检测的自适应集成机器学习模型
一种用于入侵检测的自适应集成机器学习模型
一种用于入侵检测的自适应集成机器学习模型
|
机器学习/深度学习 人工智能 中间件
智能图像分析-人像修复增强-艾科瑞特科技
智能图像分析-人像修复增强-艾科瑞特科技 艾科瑞特科技(iCREDIT)-全球最大的第三方软件中间件服务商 艾科瑞特科技官网:https://www.icredit.link 艾科瑞特科技云市场:https://market.icredit.link 艾科瑞特科技-Apifox-API Hub:https://apihub.icredit.link
|
监控 算法 计算机视觉
转:九宫图算法对屏幕监控软件的精准度分析及应用场景
九宫图算法(Nine-grid algorithm)是一种用于屏幕监控软件的图像处理算法,通过将屏幕分割成九个等大小的网格区域,并对每个区域进行像素值的分析和比较,从而实现对屏幕图像的精准度分析。
109 0