zoukankan      html  css  js  c++  java
  • 视频分类算法

    一、传统视频分类方法

    深度学习兴起前,大多数视频分类都是基于手工设计的特征和典型的机器学习方法。

    比如:基于局部时空域的运动信息和表现信息,利用词袋模型等方式审核才能视频编码,然后利用视频编码来训练分类器(SVM)。这种基于人工设计特征的方法,如HOG、HOF、MBH 等特征,在经过词袋模型或Fisher向量生成视频编码。

    目前,基于轨迹的方法,DT 和 IDT 方法,是人工设计的特征中最好的方法之一。

    随着深度学习发展,基于人工设计特征的方法渐渐淡出人们的视野。

    二、基于深度学习的视频分类方法

    近年来,CNN在图像识别,分割、检测和检索方面都取得了最高水平的效果。视频中包含成百上千的图像,但并不是每一张都必须用到,这将会耗费大量的时间和计算资源,一般做法是用CNN识别每个图像帧,最终的结果通过所有的分类结果来确定。

    1、基于监督学习的方法:

    1)通过在Image-Net 中预训练的model,将所有帧的特征合起来作为视频特征,最后通过标准分类器进行分类。

    2)端到端CNN:利用CNN学习视频中隐含的时空信息,如3D CNN ,Two-stream CNN, TSN 等。

    3)Two-stream 方法只能获得短时间的行为特征,因此引入RNN来建模长期过程,常用的由LSTM、GRU-RNN等。

    4)视频中包含大量的图像帧,处理所有图像成本很大,因此,引入注意力机制来识别与最终语义最相关的特征就好。

    2、非监督学习习方法:

    采用非监督的方法,去将时间空间的上下文信息进行整合,也是一种常用的方法。

    三、数据

    数据量对图像分类的问题具有至关重要的影响,例如在ImageNet上的图像分类的问题,近年来,为了推动视频分类的发展,也出现了不少的视频类别标注的数据集。有代表性的如:YouTube-8M ,ActicityNet (2015),UCF-101等。

    目前视频分类的趋势,正在朝向通用的多标签视频分类方向发展。

    UCF101上,TLE方法准确率已经达到95.6% 

    四、总结:

    数据标注成本十分昂贵,而基于深度学习的方法往往需要大量的数,所以,如何利用未标注的数据去建立更好的模型,也是一个值得思考的问题。

    参考文章:《基于视觉的视频分类入门》

  • 相关阅读:
    LeetCode 252. Meeting Rooms
    LeetCode 161. One Edit Distance
    LeetCode 156. Binary Tree Upside Down
    LeetCode 173. Binary Search Tree Iterator
    LeetCode 285. Inorder Successor in BST
    LeetCode 305. Number of Islands II
    LeetCode 272. Closest Binary Search Tree Value II
    LeetCode 270. Closest Binary Search Tree Value
    LeetCode 329. Longest Increasing Path in a Matrix
    LintCode Subtree
  • 原文地址:https://www.cnblogs.com/Allen-rg/p/10180458.html
Copyright © 2011-2022 走看看