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

简介: 论文原称:Simonyan K, Zisserman A. Two-stream convolutional networks for action recognition in videos[C]//Advancesin neural information processing systems. 2014: 568-576

1.论文原称:Simonyan K, Zisserman A. Two-stream convolutional networks for action recognition in videos[C]//Advancesin neural information processing systems. 2014: 568-576


2.主要贡献


  1.提出了一个双流卷积网络模型,其包括了空间网络和时间网络。

  2.在有限的数据集上,提出了一个在多帧密集光流帧上有很好效果的模型。(指的还是那 个双流卷积网络)


 3.提出多任务学习,将模型在两个不同的行为分类数据集上训练,增加了训练数据和提高了训练效果。


3.双流模型结构


image.png

如上图所示,模型分为两部分,spatial stream部分以单帧图片作为输入,temporal stream 部分以多帧图像的的光流作为输入,两部分在经过softmax后进行late fusion。论文提出了两种融合方法,一种是采用平均的方式,另一种是训练一个多分类的SVM分类器,SVM分类器采用L2-Softmax作为输入。


3.1 光流卷积网络


image.png

采用L+1帧图像进行光流计算(这些都是在模型开始之前就计算好了的),得到2L(每2帧图像可得到一个x方向和y方向的光流)帧,这2L帧的顺序是2k-1为x方向,2k为y方向。(论文对L的取值进行了对比实验,发现取10比较好)


  双向光流:在t时刻,取t+L /2作为前向流,t -L/2 作为反向流(这里的反向流在论文里说的是计算相反方向的位移,我不清楚它的意义在哪,有什么用),这样得到的还是2L帧。


  减去平均流:一般来说两帧图片的光流不仅包括了图片内物体的移动,也包括了相机的移动。但模型只需要对物体的移动流进行训练,因此论文提出计算光流的平均值,然后逐点减去这个均值,就避免了相机移动给模型训练带来影响。 模型是固定的尺寸:224x224x2L。(注意这里的L指的是光流,不是原始图像)


关于去除相机运动带来的影响,在iDT论文中专门提出了一种方法,而iDT也成为了后来众多卷积网络SOTA模型必与之进行效果对比的模型。关于iDT论文的解读请扫描文末的二维码关注公众号(CV技术指南)可看到。


数据集:UCF-101和HMDB-51


  4.多任务训练


    数据集太少会导致过拟合,为了避免这种情况,论文设置了两个softmax Layer,一个用在UCF-101上,另一个在HMDB-51,它们有各自的loss函数,两者求和作为训练的loss。


  5.评估


  5.1 空间网络有三种训练方式:


  • 在UCF-101上重新训练


  • 在ILSVRC-2012上预训练,在UCF-101上finetune。


  • 固定预训练网络,只训练最后一层。



image.png


最后结果发现第三种方式效果更好。(这里为了防止过拟合,采用了Dropout)


  5.2 时间网络主要测试了不同的L值得到的效果,前文我忽略的轨迹跟踪方式(感觉没必要提,不是论文的重点)与光流跟踪方式的效果对比,以及有无减去平均流的效果对比。


image.png


得到的结论:L取10比较好,减去平均流能提高效果,但不明显,轨迹流跟踪不及光流效果好


5.3 进行了单向光流和双向光流的效果对比,采用平均融合与训练SVM来融合的效果对比,与传统识别方法的效果对比,以及有无多任务训练的效果对比


image.png


结论:multi-tasks learning是有效果的


image.png


结论:对于卷积网络的融合,采用SVM分类器融合要比取平均的效果更好,双向光流没什么效果。(事实证明,真的没啥用,论文原文说的:using bi-directional flow is not beneficial in the case of ConvNet fusion;)


image.png


结论:它比传统方式识别效果好。


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


相关文章
|
15天前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【8月更文挑战第28天】本文将深入探讨深度学习领域的核心概念之一——卷积神经网络(CNN),并展示其在图像识别任务中的强大能力。文章首先介绍CNN的基本结构,然后通过一个简单的代码示例来演示如何构建一个基础的CNN模型。接着,我们将讨论CNN如何处理图像数据以及它在图像分类、检测和分割等任务中的应用。最后,文章将指出CNN面临的挑战和未来的发展方向。
|
16天前
|
机器学习/深度学习 人工智能 算法框架/工具
深入浅出卷积神经网络(CNN)的奥秘
【8月更文挑战第27天】本文将带领读者一探卷积神经网络(CNN)的神秘面纱,通过浅显易懂的语言和生动的比喻,揭示CNN在图像处理领域的威力。我们将从CNN的基本构成入手,逐步深入到其工作原理,并展示如何用简单的Python代码实现一个基础的CNN模型。无论你是深度学习的初学者还是希望巩固理解的从业者,这篇文章都将是你不可错过的精彩之旅。
|
3天前
|
机器学习/深度学习 自然语言处理 自动驾驶
CNN的魅力:探索卷积神经网络的无限可能
卷积神经网络(Convolutional Neural Networks, CNN)作为人工智能的重要分支,在图像识别、自然语言处理、医疗诊断及自动驾驶等领域展现了卓越性能。本文将介绍CNN的起源、独特优势及其广泛应用,并通过具体代码示例展示如何使用TensorFlow和Keras构建和训练CNN模型。
|
3天前
|
机器学习/深度学习 数据采集 数据可视化
深度学习实践:构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行分类
本文详细介绍如何使用PyTorch构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行图像分类。从数据预处理、模型定义到训练过程及结果可视化,文章全面展示了深度学习项目的全流程。通过实际操作,读者可以深入了解CNN在图像分类任务中的应用,并掌握PyTorch的基本使用方法。希望本文为您的深度学习项目提供有价值的参考与启示。
|
3天前
|
编解码 人工智能 文件存储
卷积神经网络架构:EfficientNet结构的特点
EfficientNet是一种高效的卷积神经网络架构,它通过系统化的方法来提升模型的性能和效率。
9 1
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
深入浅出卷积神经网络(CNN)的奥秘
【9月更文挑战第3天】在人工智能的浪潮中,卷积神经网络(CNN)无疑是最耀眼的明星之一。本文将通过浅显易懂的语言,带你一探CNN的核心原理和应用实例。从图像处理到自然语言处理,CNN如何改变我们对数据的解读方式?让我们一起走进CNN的世界,探索它的魅力所在。
|
12天前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习中的卷积神经网络(CNN)入门
【8月更文挑战第31天】在人工智能的璀璨星空中,卷积神经网络(CNN)如同一颗耀眼的星辰,以其卓越的图像处理能力在深度学习领域熠熠生辉。本文将带你领略CNN的魅力,从其结构原理到实战应用,深入浅出地探索这一技术的奥秘。我们将通过Python代码片段,一起实现一个简单的CNN模型,并讨论其在现实世界问题中的应用潜力。无论你是初学者还是有一定基础的开发者,这篇文章都将为你打开一扇通往深度学习世界的大门。
|
15天前
|
机器学习/深度学习 算法框架/工具 计算机视觉
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【8月更文挑战第28天】本文深入探讨了深度学习领域中的一个核心概念——卷积神经网络(CNN),并详细解释了其在图像识别任务中的强大应用。从CNN的基本结构出发,我们逐步展开对其工作原理的解析,并通过实际代码示例,展示如何利用CNN进行有效的图像处理和识别。文章旨在为初学者提供一个清晰的学习路径,同时也为有经验的开发者提供一些深入的见解和应用技巧。
29 1
|
15天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
深入浅出卷积神经网络——从理论到实践
【8月更文挑战第28天】探索卷积神经网络的奥秘,本文将带你领略深度学习中的这一核心技术。我们将从CNN的基本概念出发,逐步深入到网络架构、训练技巧,以及在图像处理中的应用实例。无论你是初学者还是有一定基础的开发者,这篇文章都将为你揭开卷积神经网络的神秘面纱,让你能够更加自信地应用这项技术解决实际问题。
|
3天前
|
机器学习/深度学习 人工智能 监控
深度学习浪潮中的轻舟:探索卷积神经网络的奥秘
在这个数据泛滥的时代,深度学习如同一艘巨轮,在知识的海洋中破浪前行。然而,在这艘巨轮上,有一个小小的角落常常被人忽视—那就是卷积神经网络(CNN)。本文将带领读者一探究竟,从CNN的核心概念到其在实际中的应用,我们将用通俗易懂的语言,揭开这一技术神秘面纱,让每一位对深度学习感兴趣的朋友都能轻松理解并应用CNN。
10 0