1. 程式人生 > >基於Deep Learning 的視訊識別技術

基於Deep Learning 的視訊識別技術

original url:

https://yq.aliyun.com/articles/39134

深度學習在最近十來年特別火,幾乎是帶動AI浪潮的最大貢獻者。網際網路視訊在最近幾年也特別火,短視訊、視訊直播等各種新型UGC模式牢牢抓住了使用者的消費心裡,成為網際網路吸金的又一利器。當這兩個火碰在一起,會產生什麼樣的化學反應呢?

不說具體的技術,先上一張福利圖,該圖展示了機器對一個視訊的認知效果。其總紅色的字表示objects, 藍色的字表示scenes,綠色的字表示activities。

d07f8884c045818819c1dce97f6ed43034b6c269

人工智慧在視訊上的應用主要一個課題是視訊理解,努力解決“語義鴻溝”的問題,其中包括了

  • 視訊結構化分析:即是對視訊進行幀、超幀、鏡頭、場景、故事等分割,從而在多個層次上進行處理和表達。
  • 目標檢測和跟蹤:如車輛跟蹤,多是應用在安防領域。
  • 人物識別:識別出視訊中出現的人物。
  • 動作識別:Activity Recognition, 識別出視訊中人物的動作。
  • 情感語義分析:即觀眾在觀賞某段視訊時會產生什麼樣的心理體驗。

短視訊、直播視訊中大部分承載的是人物+場景+動作+語音的內容資訊,如上圖所示,如何用有效的特徵對其內容進行表達是進行該類視訊理解的關鍵。

傳統的手工特徵有一大堆,目前效果較好的是iDT(Improved Dense Trajectories) ,在這裡就不加討論了。

深度學習對影象內容的表達能力十分不錯,在視訊的內容表達上也有相應的方法。下面介紹最近幾年主流的幾種技術方法。

1. 基於單幀的識別方法

一種最直接的方法就是將視訊進行截幀,然後基於影象粒度(單幀)的進行deep learninig 表達, 如下圖所示,視訊的某一幀通過網路獲得一個識別結果。下圖為一個典型的CNN網路,紅色矩形是卷積層,綠色是歸一化層,藍色是池化層 ,黃色是全連線層。然而一張圖相對整個視訊是很小的一部分,特別當這幀圖沒有那麼的具有區分度,或是一些和視訊主題無關的影象,則會讓分類器摸不著頭腦。因此,學習視訊時間域上的表達是提高視訊識別的主要因素。當然,這在運動性強的視訊上才有區分度,在較靜止的視訊上只能靠影象的特徵了。 

0851d6196175df0e09085e5aa673b81c5a4f133c

2. 基於CNN擴充套件網路的識別方法

它的總體思路是在CNN框架中尋找時間域上的某個模式來表達區域性運動資訊,從而獲得總體識別效能的提升。下圖是網路結構,它總共有三層,在第一層對10幀 (大概三分之一秒)影象序列進行MxNx3xT的卷積(其中 MxN是影象的解析度,3是影象的3個顏色通道,T取4,是參與計算的幀數,從而形成在時間軸上4個響應),在第2、3層上進行T=2的時間卷積,那麼在第3層包含了這10幀圖片的所有的時空資訊。該網路在不同時間上的同一層網路引數是共享引數的。

它的總體精度在相對單幀提高了2%左右,特別在運動豐富的視訊,如摔角、爬杆等強運動視訊型別中有較大幅度的提升,這從而也證明了特徵中運動資訊對識別是有貢獻的。在實現時,這個網路架構可以加入多分辨的處理方法,可以提高速度。

                                        ba4e674487fc635d4e82ccfd8c0dde4a0b4e9acc

3. 雙路CNN的識別方法

這個其實就是兩個獨立的神經網路了,最後再把兩個模型的結果平均一下。上面一個就是普通的單幀的CNN,而且文章當中提到了,這個CNN是在ImageNet的資料上pre-train,然後在視訊資料上對最後一層進行調參。下面的一個CNN網路,就是把連續幾幀的光流疊起來作為CNN的輸入。 另外,它利用multi-task learning來克服資料量不足的問題。其實就是CNN的最後一層連到多個softmax的層上,對應不同的資料集,這樣就可以在多個數據集上進行multi-task learning。網路結構如下圖所示。

e7fe2fc37bf3e7e2727de5ee7ee01a8e68d48e15

4. 基於LSTM的識別方法

它的基本思想是用LSTM對幀的CNN最後一層的啟用在時間軸上進行整合。這裡,它沒有用CNN全連線層後的最後特徵進行融合,是因為全連線層後的高層特徵進行池化已經丟失了空間特徵在時間軸上的資訊。相對於方法2,一方面,它可以對CNN特徵進行更長時間的融合,不對處理的幀數加以上限,從而能對更長時長的視訊進行表達;另一方面,方法2沒有考慮同一次進網路的幀的前後順序,而本網路通過LSTM引入的記憶單元,可以有效地表達幀的先後順序。網路結構如下圖所示

ed983890015e42e1e7727e37e25be96254f8f6e5

上圖中紅色是卷積網路,灰色是LSTM單元,黃色是softmax分類器。LSTM把每個連續幀的CNN最後一層卷積特徵作為輸入,從左向右推進時間,從下到上通過5層LSTM,最上的softmax層會每個時間點給出分類結果。同樣,該網路在不同時間上的同一層網路引數是共享引數的。在訓練時,視訊的分類結果在每幀都進行BP(back Propagation),而不是每個clip進行BP。在BP時,後來的幀的梯度的權重會增大,因為在越往後,LSTM的內部狀態會含有更多的資訊。

在實現時,這個網路架構可以加入光流特徵,可以讓處理過程容忍對幀進行取樣,因為如每秒一幀的取樣已經丟失了幀間所隱含的運動資訊,光流可以作為補償。

5.  3維卷積核(3D CNN)法

3D CNN 應用於一個視訊幀序列影象集合,並不是簡單地把影象集合作為多通道來看待輸出多個影象(這種方式在卷積和池化後就丟失了時間域的資訊,如下圖左), 而是讓卷積核擴充套件到時域,卷積在空域和時域同時進行,輸出仍然是有機的影象集合(如下圖右)。

042fe3d46caada7b6f687156c2ecd32c1c727141

實現時,將視訊分成多個包含16幀的片段作為網路的輸入(維數為3 × 16 × 128 × 171)。池化層的卷積核的尺寸是d x k x k, 第一個池化層d=1,是為了保證時間域的資訊不要過早地被融合,接下來的池化層的d=2。有所卷積層的卷積核大小為3x3x3,相對其他尺寸的卷積核,達到了精度最優,計算效能最佳。 網路結構如下圖所示。這個是學習長度為16幀(取樣後)視訊片段的基礎網路結構。對於一個完整的視訊,會被分割成互相覆蓋8幀的多個16幀的片段,分別提取他們的fc6特徵,然後進行一個簡單平均獲得一個4096維的向量作為整個視訊的特徵。

d9e5d05d3d27bbc644ee0581258f27b7e8843795

通過視覺化最後一個卷積層對一個連續幀序列的特徵表達,可以發現,在特徵開始著重表達了畫面的資訊,在特徵的後面著重表達的是運動資訊,即在運動處有相對顯著的特徵。如下圖。

277f425fdcc1963bb54a700bca4e80afd1ec099a

和單幀圖特徵在視訊測試集上進行對比,3D CNN有更強的區分度,如下圖。

c902ab15d9f8b61cb55a1dbe938ead1a41d41770

類似影象識別,視訊識別(人物動作識別)也有公開的訓練、評測資料集,我整理了主流的一些在下面。

1) UCF-101

一共13320個視訊, 共101個類別.

73d5273ec82e4b24609c40fd6da00fb19828ed47

2) HMDB51

一共7000個視訊片段,共51個類別。

cdd4b5b7f2a226539a86d28269270259eb043952

3) activity-net

200類,10,024個訓練視訊,4,926個交叉驗證視訊,5,044 個測試視訊。

d4bb8874f5d204f1036ff440d9a69aac87b972d7

4) 1M sport

1.2 million個體育視訊,有487個已標記的類,每類有1000到3000個視訊。

95070914bc48da290d6b3b88d14299eabe8196b7 


相關推薦

基於Deep Learning視訊識別技術

original url: https://yq.aliyun.com/articles/39134 深度學習在最近十來年特別火,幾乎是帶動AI浪潮的最大貢獻者。網際網路視訊在最近幾年也特別火,短視訊、視訊直播等各種新型UGC模式牢牢抓住了使用者的消費心裡,成為網際網

語音識別學習筆記(二)【基於向量量化的識別技術

語音識別學習筆記(二)【基於向量量化的識別技術】   概述  量化分為標量量化和向量量化(Vector Quantization,VQ)。標量量化是將取樣後的訊號值逐個進行量化,而適量量化是將若干個取樣訊號分成一組,即構成一個向量,然後對此向量一次進行量化。向量量化

基於deep learning的影象分類問題

  1、提高訓練速度: Nonlinearity:採用ReLU(Restricted Linear Units)作為啟用函式,相對於傳統的啟用函式可以更快速地收斂; Training on Multiple GPUs:採用2塊顯示卡來進行平行計算,在網路結構上,部分分佈在不同顯示卡上面的前後層節點之

基於Deep Learning的跟蹤演算法總結(一)

博主最近主要關注使用深度學習的視訊跟蹤一系列演算法,本文為學習筆記,僅供學習交流,如有侵權,請指出。 No Free Lunch 不同於檢測、識別等視覺領域深度學習一統天下的趨勢,深度學習在目標跟蹤領域的應用並非一帆風順。其主要問題在於訓練資料的缺失。深

基於Deep Learning的跟蹤演算法總結(二)

本文主要談談TCNN(樹狀CNN)實現物體跟蹤演算法的大致流程和原理。 論文:《Modeling and Propagating CNNs in a Tree Structure for Visual Tracking》,應該是投了CVPR2017。 論文地

基於tensorflow的人臉識別技術(facenet)的測試

人臉識別的應用非常廣泛,而且進展特別快。如LFW的評測結果上已經都有快接近99.9%的。 0.9900 ± 0.0032 FaceNet62 0.9963 ± 0.0009 Baidu64 0.99

基於Deep Learning的跟蹤演算法總結(四)

題外話:博主這段時間忙於辦理簽證,比較忙,一直沒時間看論文。:-( 一、引言 深度學習具有強大的能力,但由於目標跟蹤任務本身的特殊性,深度學習一直沒能很好地發揮出自己的潛能。其中,導致深度學習演算法速度慢的一個重要原因是online-update,即更新過程

基於 HTML5 的人臉識別技術

 紹一個網站,演示了通過 HTML5 + JavaScript 技術實現的人臉識別,目前僅適用於 Chrome瀏覽器,首先需要在位址列輸入 about:flags ,然後找到“啟用 MediaStream” 這一項,點選“啟用” 後重啟 Chrome 瀏覽器 然後開啟下面地址: 當你搖頭晃腦的時

基於百度AI人臉識別技術的Demo

-a import arr readfile red ets 2.0 路徑 之前 編寫demo之前首先瀏覽官方API:http://ai.baidu.com/docs#/Face-API/top 下面是源碼: package com.examsafety.test;

一套基於模板匹配的語音識別技術。提取語音的特徵,並建立模板庫,可以將語音識別技術應用於機器人

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

基於深度學習的影象檢索 image retrieval based on deep learning (code ,程式碼)

本次程式碼分享主要是用的caffe框架,至於caffe框架的安裝過程不再說明。程式碼修改自“cross weights”的一篇2016年的文章,但是名字忘記了,誰記得,提醒我下。 一、環境要求         1、python &nb

Deep learning基於theano的keras學習筆記-網路層

Deep learning基於theano的keras學習筆記-網路層 轉自 https://blog.csdn.net/zhili8866/article/details/53262114 1. 常用層 1.1 Dense層 keras.layers.core.Dense(outp

opencv+deep-learning實現人臉識別

早在2017年8月,OpenCV 3.3正式釋出,帶來了高度改進的“深度神經網路”(dnn)模組。 該模組支援許多深度學習框架,包括Caffe,TensorFlow和Torch / PyTorch。 dnn模組的主要貢獻者Aleksandr Rybnikov已經投入了大量的工作來使這個模組成

【看論文】之《基於HIS顏色特徵的田間成熟番茄識別技術

論文資訊 題目:《基於HIS顏色特徵的田間成熟番茄識別技術》 作者:趙傑文 作者單位:江蘇大學 期刊名:《農業機械學報》 提交時間:2003.07.11 摘要 將獲取的番茄GRB影象轉換成HIS影象,通過統計H、I、S分量的灰度分佈找出成熟番茄、未成熟番茄、枝葉、枝幹

基於視覺無人機的高速公路違章識別技術

由於研究生畢業課題是基於視覺無人機的高速公路違章識別技術的研究與實現,固定攝像頭只是在特定的區域管用,由於成本原因,不可能到處安裝,這時候如果有無人機巡邏飛行,如果能夠識別違章車輛,可以給高速公路帶來更大的安全性,特別是在放長假期間,高速公路上擁堵不斷,事故多發,原因就是有些司機平常沒有

Tensorflow and deep learning without a PhD系列第一部分 數字識別問題

Tensorflow and deep learning without a PhD系列第一部分 原始連結: https://codelabs.developers.google.com/codelabs/cloud-tensorflow-mnist/#1 試驗目的: What is a

移動端車牌識別技術基於Android、iOS平臺,可進行二次開發

目前,我國警務通、停車場手持收費機等移動終端的使用比較普及,如果在這些終端上能夠整合車牌識別功能,對於維護交通安全和城市治安,實現交通自動化管理有著現實的意義。現在出現一款基於移動終端平臺的移動端車牌識別SDK,可方便的植入到警務通、手持收費機、掌上電腦、手機等

基於Pytorch框架實現ENAS演算法優化的影象識別技術探索-α迭代隨筆

設想和目標 1. 我們的軟體要解決什麼問題?是否定義得很清楚?是否對典型使用者和典型場景有清晰的描述? 我們希望通過將ENAS的網路架構優化演算法轉變為例項化專案,能夠在有一定實際意義下解決對於Pytorch影象識別的探索問題。 專案性質為科研專案,由於是依託演算法研究產生產品,故對於

基於Pytorch框架實現ENAS算法優化的圖像識別技術探索-α叠代隨筆

必須 運用 模型訓練 相互 成了 的人 基礎 mage 功能 設想和目標 1. 我們的軟件要解決什麽問題?是否定義得很清楚?是否對典型用戶和典型場景有清晰的描述? 我們希望通過將ENAS的網絡架構優化算法轉變為實例化項目,能夠在有一定實際意義下解決對於Pytorch圖像識

基於深度學習的人臉識別技術綜述

簡介:人臉識別是計算機視覺研究領域的一個熱點,同時人臉識別的研究領域非常廣泛。因此,本技術綜述限定於:一,在LFW資料集上(Labeled Faces in the Wild)獲得優秀結果的方法; 二,是採用深度學習的方法。 前言 LFW資料集(Labeled Fa