C語言中文網 目錄
TensorFlow
1 TensorFlow是什么
2 TensorFlow安裝和下載
3 第一個TensorFlow程序
4 TensorFlow程序結構
5 TensorFlow常量、變量和占位符
6 TensorFlow矩陣基本操作
7 TensorFlow TensorBoard數據流圖可視化
8 TensorFlow代碼自動升級為1.0版本
9 TensorFlow XLA
10 TensorFlow指定CPU和GPU設備
11 TensorFlow與深度學習
12 TensorFlow常用Python擴展包
13 回歸算法有哪些
14 TensorFlow損失函數
15 TensorFlow優化器
16 TensorFlow csv文件讀取數據
17 TensorFlow實現簡單線性回歸
18 TensorFlow實現多元線性回歸
19 TensorFlow邏輯回歸處理MNIST數據集
20 感知機與神經網絡
21 TensorFlow常用激活函數(6種)
22 TensorFlow實現單層感知機
23 TensorFlow實現反向傳播算法
24 TensorFlow多層感知機實現MINIST分類
25 TensorFlow多層感知機函數逼近
26 TensorFlow超參數
27 TensorFlow Keras
28 CNN卷積神經網絡
29 三維卷積神經網絡預測MNIST數字
30 卷積神經網絡分類圖片
31 遷移學習
32 DeepDream網絡
33 TensorFlow實現文本情感分析
34 VGG網絡濾波器
35 VGGNet、ResNet、Inception和Xception
36 預建深度學習提取特征及實現
37 TensorFlow實現InceptionV3
38 TensorFlow WaveNet聲音合成
39 TensorFlow視頻分類(6種方法)
40 RNN循環神經網絡
41 神經機器翻譯(seq2seq RNN)
42 注意力機制(基于seq2seq RNN)
43 RNN訓練模型并生成文本
44 RNN循環神經網絡實現預測比特幣價格
45 主成分分析法(PCA)
46 k均值聚類算法
47 SOM自組織映射法
48 受限玻爾茲曼機訓練
49 推薦系統的實現(基于RBM)
50 基于DBN實現情緒檢測
51 自編碼器
52 標準自編碼器
53 稀疏自編碼器
54 去燥自編碼器
55 卷積自編碼器
56 堆疊自編碼器
57 強化學習
58 OpenAI Gym安裝和使用
59 全連接神經網絡實現玩Pac-Man游戲
60 Q learning實現Cart-Pole平衡游戲
61 DQN算法(深度Q網絡)
62 David Silver策略梯度算法
63 深度學習在移動端的應用
64 Android移動端部署TensorFlow mobile
65 iPhone移動端部署TensorFlow mobile
66 移動端優化TensorFlow代碼
67 GAN生成式對抗網絡
68 GAN生成式對抗網絡虛構MNIST圖像
69 DCGAN虛構MNIST圖像
70 DCGAN虛構名人面孔和其他數據集
71 VAE變分自編碼器
72 CapsNet膠囊網絡
73 TensorFlow分布式
74 TensorFlow GPU的安裝和使用
75 TensorFlow分布式
76 TensorFlow分布式訓練MNIST分類器
77 TensorFlow Serving運行Docker容器
78 TensorFlow分布式在谷歌云平臺運行
79 TensorFlow分布式在谷歌CloudML運行
80 TensorFlow分布式在Microsoft Azure上運行
81 TensorFlow分布式在Amazon AWS上運行
首頁 > TensorFlow 閱讀:295

TensorFlow實現視頻分類的6種方法

對視頻進行分類是一個活躍的研究領域,因為處理這種類型的問題需要大量的數據。內存需求經常達到現代GPU的極限,可能需要在多臺機器上進行分布式的訓練。

目前學者們正在探索復雜度不斷增加的幾個方向,來回顧一下:
  1. 第一種方法是通過將視頻的每一幀視為一幅單獨的圖像,利用二維 CNN 進行處理。這種方法將視頻分類問題簡化為圖像分類問題。每幀視頻圖像都有類別輸出,并且根據各幀輸出的類別,選擇頻率最高的類別作為視頻的分類結果。
  2. 第二種方法是創建一個單一的網絡,將二維 CNN 與一個 RNN 結合在一起。這個想法是,CNN 將考慮到圖像分量,而 RNN 將考慮每個視頻的序列信息。這種類型的網絡可能非常難以訓練,因為要優化的參數數量非常大。
  3. 第三種方法是使用三維卷積網絡,其中三維卷積網絡是二維 CNN 的在 3D 張量(時間,圖像寬度,圖像高度)上運行的擴展。這種方法是圖像分類的另一個自然延伸,但三維卷積網絡可能很難訓練。
  4. 第四種方法基于智能方法的直覺。它們可以用于存儲視頻中每個幀的離線功能,而不是直接使用 CNN 進行分類。這個想法基于,特征提取可以非常有效地進行遷移學習,如前面章節所示。在提取所有的特征之后,可以將它們作為一組輸入傳遞給RNN,其將在多個幀中學習序列并輸出最終的分類。
  5. 第五種方法是第四種方法的簡單變體,其中最后一層是 MLP 而不是 RNN。在某些情況下,就計算需求而言,這種方法可以更簡單并且成本更低。
  6. 第六種方法也是第四種方法的變體,其中特征提取階段采用三維 CNN 來提取空間和視覺特征,然后將這些特征傳遞給 RNN 或 MLP。

使用哪種方法取決于具體應用,并沒有統一的答案。前三種方法通常計算量更大,而后三種方法計算成本更低,而且性能更好。

本節將展示如何利用論文“Temporal Activity Detection in Untrimmed Videos with Recurrent Neural Networks”(Montes,Alberto and Salvador,Amaia and Pascual,Santiago and Giro-i-Nieto,Xavier,2016)中的實驗結果實現第六種方法。

這項工作旨在解決 ActivityNet 挑戰賽中的問題(http://activity-net.org/challenges/2016/),重點是從用戶生成的視頻中識別高層次和目標導向的活動,類似于互聯網門戶中的活動。面臨的挑戰是如何在兩個不同的任務中生成 200 個活動類別:
  • 分類挑戰:給定一個長視頻,預測視頻中的活動標簽。
  • 檢測挑戰:給定一個長視頻,預測視頻中活動的標簽和時間范圍。

圖 1 C3D+RNN示例

提出的架構由兩個階段組成(如圖 1 所示):
  1. 第一階段將視頻信息編碼成小視頻剪輯的單個矢量表示。為了達到這個目的,使用C3D網絡。C3D網絡使用3D卷積來從視頻中提取時空特征,這些特征在前面已被分成16幀的剪輯。
  2. 第二階段,一旦提取到視頻特征,就要對每個片段上的活動進行分類。為了執行這種分類,使用RNN。具體來說,使用LSTM網絡,它嘗試利用長期相關性,并且執行視頻序列的預測。這是一個訓練階段:

具體做法

本節簡單總結了網站(https://github.com/imatge-upc/activitynet-2016-cvprw/blob/master/misc/nstep_by_step_guide.md)中的結果:
  1. 從 git 庫中克隆壓縮包:


     
  2. 下載 ActivityNet v1.3 數據集,大小為 600GB:


     
  3. 下載 CNN3d 和 RNN 的預訓練權重:


     
  4. 進行視頻分類:

如果你對在自己的機器上訓練 CNN3D 和 RNN 網絡感興趣,那么可以在互聯網上找到本機訓練需要使用的特定命令。目的是提供可用于視頻分類的不同方法的高級視圖。同樣,不是僅有一種方法,而是有多種選擇,應該根據具體需求選擇最佳方案。

CNN-LSTM 體系結構是一個新的 RNN 層,輸入變換和循環變換的輸入都是卷積的。盡管命名非常相似,但 CNN-LSTM 層不同于 CNN 和 LSTM 的組合。

該模型在論文“Convolutional LSTM Network:A Machine Learning Approach for Precipitation Nowcasting”(Xingjian Shi,Zhourong Chen,Hao Wang,Dit-Yan Yeung,Wai-kin Wong,Wang-chun Woo,2015)中被提出。2017 年一些人開始使用此模塊的視頻進行實驗,但這仍是一個非?;钴S的研究領域。

精美而實用的網站,提供C語言、C++、STL、Linux、Shell、Java、Go語言等教程,以及socket、GCC、vi、Swing、設計模式、JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo
极速pk10开户