當前位置:
首頁 > 最新 > 深度學習在視頻分析中的架構、演算法及應用

深度學習在視頻分析中的架構、演算法及應用

直播與短視頻業務的興起,代表了一種內容交互方式的變化,更加追求強交互,這種變化催化了很多技術和架構的轉型,由傳統的傳輸、存儲優先演進為計算與智能。本文是由360人工智慧研究院視頻大數據組技術負責人陳強在LiveVideoStackCon 2017上的演講整理而成,分享了深度學習在視頻業務中的一些實踐案例,並由點及面介紹了相應的實現架構、演算法與應用。

演講 / 陳強

整理 / LiveVideoStack

首先進行下自我介紹,我是360人工智慧研究院的陳強,我的工作更偏向於AI方向,從趨勢上來看AI的落地會跟音視頻緊密結合,本次的分享將在兩者的交叉點,以及基礎技術、產品的應用等方面,跟大家進行交流,希望能和大家相互交流,碰撞出火花。

一、前言

今天主要分享的主題是深度學習在視頻分析中的應用與基礎演算法,先來介紹一下為什麼要做這個方向。首先從目前360的主要業務方向來說:

第一點眾所周知是安全,360從08、09年就開始用機器學習、人工智慧的方法去做網路安全。最近幾年開始做Safety的一些問題,即將線上安全轉移到線下安全。線下安全很多都涉及到攝像頭,比如在攝像頭(監控)中遇到的異常事件和行為:家中老人跌倒、商店裡進來了陌生人或小偷,這些需要用AI的方法實時對視頻內容進行分析等等。

第二點是為了360內容服務業務,包括搜索、廣告等一些傳統的互聯網產業的產品。這兩年比較火的直播業務種,比如花椒直播,也使用了很多視頻分析的技術。在2017年,360的重點內容方向也轉為了短視頻產品——從生產到分發的整個產業鏈的內容。這其中也涉及到了很多音視頻的內容分析。做短視頻的分析,實際上是要知道該視頻本身在講什麼事情——一個社會類新聞或者場景化的直播類小視頻,需要可以推薦給合適的人。這也是AI在音視頻在內容分析的應用場景。

目前360人工智慧研究院基於這兩個方面跟各個業務線的合作非常緊密,研究院更多承擔是技術上的支持。而我所在的是360人工智慧研究院下面的視頻大數據組,主要負責兩塊內容:

一是結合IOT和短視頻等業務線場景做視頻內容的分析,將場景分析、人臉人形檢測等技術結合實際的業務場景來解決產品需求。

二是大數據技術,我們主要是利用深度學習技術來結合業務部門的實際數據進行有效建模和優化,以提升業務指標為目的。過去兩年,主要精力放在了搜索的排序、廣告的CTR預估,而現在更多是在做短視頻的推薦等關鍵技術問題上。

今天的分享主要圍繞視頻分析來展開。我們視頻分析以及大數據系統整個技術棧都依賴於深度學習這種比較新的方法,這樣不會有太多的歷史包袱。而過去兩年中,我們花了很大精力在公司做了一個跨部門、跨平台的深度學習平台,包括從文本分析、到音頻分析、到視頻分析將之合併為360NET。另外我們在公司層面做了大規模的GPU集群,以及和公司的系統部合作開發了一個系統調度平台。

二、視頻分析

視頻內容分析是要對視頻內容有一個比較完整的理解,它是通過攝像頭或者通過視頻,要站在機器的角度去看而不是以人的身份區理解和分析視頻內容。我們主要的業務落地場景可大致區分為雲端和移動端兩種模式。雲端對計算的複雜度要求相對沒有那麼嚴苛,更多的是系統latency問題。而移動端的任務往往技術難度更大。因為在移動端我們面臨著有限的計算資源,對演算法和系統結構提出的要求會更嚴苛。從數據角度來首,我們會根據數據將業務場景拆分成幾個核心的技術問題:檢測、識別、分割以及跟蹤,針對這些問題以持續去做優化。

1.核心問題

因為今天很多朋友來自於音視頻編碼及傳輸領域,我先簡單介紹一些基本概念。我們經常所說的識別問題:也就是對整個視頻或者整個圖像做一個抽象化的描述,它可以是物體級別、的也可以是一個場景級別的、甚至可以抽象為一個style。識別是告訴我們視頻中大致的主體內容,如果想要知道視頻中更細節的內容,比如商標或者裡面人物,那麼就必須要落到檢測去定位物體在視頻中的位置。再進一步,如果能夠做到分割(語義級別的分割),就可以知道視頻中每個pixel都會發生什麼事情,這樣想像空間就會特別大。而往往越是細緻的信息的更有價值和具有想像空間:比如要在視頻中插播廣告,就可以通過分割來找到合適的位置插入相匹配的廣告內容。

上圖顯示的是移動端實時的數據處理,我們需要實時知道路上發生了什麼事情,包括車道線、前面的行人、車流量、路牌等等,這是一個綜合檢測和跟蹤技術的實踐。

2.演算法基礎

接下來介紹演算法基礎,首先要談到傳統演算法和深度學習演算法的區別。傳統演算法中,音視頻處理中我們經常在開始時會有很多數據預處理,比如圖像裁減、音視頻平衡化等等,按照傳統分類框架會提取各種特徵:點特徵、邊緣特徵、輪廓特徵等等,音頻中會有頻譜特徵以及一些實際特徵。特徵提取完成之後,需要串聯一個比較強的分類器(SVM、random forest等)以及各種演算法,針對各種問題再加入一些後處理,來進行分類識別。

現在比較常見的方式是直接用端到端(數據到目標)的卷積神經網路,完整替代前面說的四個步驟。對於數據端而言,所需要的數據最好不是人抽象化的數據,而是原始數據:例如對於視頻來說就是RGB的值,對於AlphaGo圍棋來說則是每次落子的位置,而不再需要抽象化的盤面特徵預估。對於學習的目標端,需要能夠把各種損失函數和優化目標定義清楚。給定了數據和優化目標,深度學習的過程就是一個自我迭代,逐步優化收斂的過程。

以CNN為例子,CNN從直覺上來說它就是一個Filter,比如對一個K×K或者R×R這樣一個小的二維片面,用filter對新來的圖片進行整體的卷積,卷積完成後輸出Output Image,所以從前端的Filter到中間的輸入數據,產生一個新的Channel。最近流行的卷積神經網路,和90年代的CNN還是有比較大的區別:現在我們不單單只有一個Filter,可能是M個Filter(M會很大),這樣最後輸出的Channel數也會很多,同樣是M的級別。另外一個比較大的特點就是中間會加入各種非線性層,最經典的來說會加各種pooling層,在時序上或者空間上對它進行各種抽樣化的概念;另外會使用各種非線性轉移化的方程,比如最經典的sigmoid方程,現在比較流行的ReLU以及各種演化版本。目前的CNN模型往往是將多層卷積進行多層串並聯以獲得最大的擬合能力。

總結來說,卷積神經網路相比傳統機器學習網路不同的特點:首先它是一個深層非線性系統的一個疊加,傳統方法會更淺、擬合性能也更差,而卷積神經網路提供了一種方式——能夠用理論性比較強、較穩定的方式訓練出非線性系統;第二個好處在於它是一個端到端的系統,不需要再人為去設計各種特徵,可以將精力都放在數據和模型兩個層面。由此也帶來第三個好處——低層次和高層次的特徵級別,比如從視覺角度來說,將十層CNN拿出來具像化地去看,可以很明顯看到,它第一層其實是low lever的特徵,比如點、線等小局部的特徵,而高層則會顯現出一些結構化的特徵,比如眼睛的樣子、圓形、方形的概念,同樣的在音頻中也是如此。

3.演算法框架

接下來介紹一下我們如何利用cnn進行視頻分析:我們是把各種任務在inference層次做了參數共享和並對多任務進行了multi task learning。見上圖, Forward Block是CNN的基本Blok,針對分割問題需要做Deconvolution的操作;對於識別問題,會在大的CNN架構上加一些Local CNN structure去做識別問題;而檢測問題其實是識別問題在圖像層面做進行遍歷滑動;對應到視頻分析,還需要進行物體跟蹤。我們做了一個比較通用的模型,每一幀都有一些信息產生,我們將它們串聯在一起,這裡使用的是現在比較流行的RNN演算法去做時序之間的擬合,最後總的輸出就能夠達到最後需要的全場景化的識別框架。

這樣能帶來幾個好處:首先它的結構特別清晰,不是針對各個業務層來做的,更多是把它抽象成為幾個核心的技術模塊,這樣就能極大效果的按照各種計算調優的方式來解決問題;第二點從實際經驗來說,因為很多參數本身就是共享的,而所有視頻進來都能夠一次forward得到所有的結果,因此通過共享計算能夠提高演算法效率,並且通過多個相關任務共同學習來提高演算法性能;最後對於視頻分析來說比較大的一個問題是標註,視頻級別的分析所需要數據的標註量很大,統一框架之後只需要做關鍵幀的標註就可以,因為在訓練的過程中就會把數據前後幀串聯起來。

4.三個核心維度——小、快、准

上面提到的框架可能大家都會在做,我這裡特別提下人工智慧研發的三個核心維度,這些問題可能更多是針對業務性的:首先是在移動端如何把模型變小,前兩年用的比較多的方法是用低秩直接分解,而近兩年一些新的網路架構本身效率各方面提升了很多;第二點是線上速度要快,畢竟對於直播來說,如果反映效果超過一分鐘,可能監管層面就會有問題;第三個是核心指標問題,也就是inference效果必須要准,預測層肯定是從數據和模型兩方面來去做優化,數據層面我們會更多希望業務部門來共享數據,而我們則側重於模型的調優。總體而言,從目前AI核心研發緯度上來看,我們還是相信深度學習已經逐步取代各種傳統方法。

5.深度學習原創的貢獻

針對前面提到的問題,我們從13年開始做視頻分析到現在也有一些比較原創的積累:首先是我們提出的NIN的structure,之前介紹經典的CNN的structure,它是輸入層-卷積層-輸出層-輸入層……這樣一個Building block,每層之間只有一層非線性層,在NIN中,我們將中間的每個卷積層都看作一個小的網路,也就是卷積操作不再是一個單層的卷積操作,將其定義成小的一個NewWork,在此過程中,它局部擬合的能力就大為增強了。在具體實現來說,我們可以把卷積操作並聯到N個1×1的卷積,來合成比較大的一個小的NetWork。

在2016-2017,我們提出了Dual-path NetWork,這是建立在此前其他研究的基礎上,把ResNeXt Network和Dense Network兩條Path合併在一起。在實驗和理論分析上,我們發現Res Network特別容易凝聚到具體概念上,缺少較好的泛化能力,因此我們在上下層之間引入了DenseNet,使得模型對特徵的利用更加充分,我們把這個structure叫做雙通路的神經網路,並利用他參加了今年的ImageNet定位競賽。最後的定位檢測任務錯誤率是6.2%,也就是一個圖片中可能存在有一千種物體,對其中任意三個或者五個進行判斷錯誤可能是6.2%,而頭部指標會更低。

三、業務結合

1.人工智慧與短視頻業務

介紹完技術層面的實現,我們接下來一同看下實際業務的結合,360一直在布局短視頻業務,大體分為幾個層次:首先是短視頻生產,我們需要提供比較便利的工具給UGC、PGC的生產者,這裡會有一個快卷積的工具性產品,包括移動端和Web端。

生產完成後,從消費者角度來說需要各種分層性的問題,這時我們做了花椒相機增強現實類,提供美容、美顏、摳圖等等功能,目前我們的重點更多慢慢轉移到視頻理解方面,這也是差異化的地方,理解層會細分為幾個問題:人的識別、場景識別,包括對視頻內容做標籤化。到具體應用場景還會再做細分,比如針對分發任務來說,我們一個移動端APP快視頻,並不需要做很直接、很明確的語義理解,它更多的是需要知道用戶共性的問題,而用戶共性來自於視頻共性,因此所要做的就是把視頻共性體現出來即可,那麼我們的側重點就不在於各種語義化標籤,而是把共性問題體現出來。再往下比如短視頻的理解上升到如何去做商業化的問題。

2.視覺相關研發

上圖是視覺相關研發的總覽,從我們內部來說現在分為幾個大的業務塊:首先是人臉分析,它也是在直播和短視頻應用中最廣泛的,因為人永遠是視頻和直播的一個主題,因此我們做了比較細緻的人物屬性分析比如性別、年齡、顏值、表情等,另外也在有美化或增強這些問題上進行核心攻堅。

另一部分是視頻內容分析,即上面提到的檢測、分割,而我們認為最重要的一部分內容是摳圖,因為它提供了一個虛擬化的場景,可以把人和背景分割出來,給產品夠提供很多想像的空間,而且這也是AR主打的概念——來源於生活,但比現實更豐滿。此外我們也做了一些3D和SLAM相關的內容,這裡就不做重點介紹。

圖像識別

接下來我們結合例子來講技術演算法具體實現,這張圖來自於ImageNet,它是一個標準的數據集——有一千多個類別、每個類別有一千到十萬不同級別的視頻圖像數量,我們的目標是給定任何一張圖都能夠把它的標籤找出來,知道圖片里的內容是是什麼,這就是一個標準數據集的問題。我們通過原圖提取前面提到的卷積特徵做預測,具體到業務場景來說,可能需要判斷裡面是否是一個黃色網站或是黃色圖片,那麼可以標註一堆圖然後給出反例,通過製作和管理資源模型最後得到這樣的效果。

但這樣的方式帶到視頻分析中並不是特別合適,這裡有一個比較明顯的問題:因為前面提到的數據集其實是已經花費很大力氣整理出來的,但在現實中業務數據很難對外公開,也沒法找很多人來進行標註,尤其視頻內容是非常難標註的。

視頻分析——Tags

針對上面提出的問題,我們首先想到的方式是如何能夠加快視頻標註,當給定一組視頻到通過模型最後產生數據,我們所需要的不是最後產出層的內容,而是用中間層的特徵來做聚類模型,通過聚類出來的效果就可以看到共性,這樣通過幾十萬級別的聚類效果去做各種標註,再對標註的數據做分類tag,這樣就解決了兩個問題:一是缺乏標註數據,二是沒有良好的標註體系。目前我們已經用到短視頻分發平台上,對推進指標提升的效果還是挺明顯的。

人臉分析

我們在花椒直播做了人臉檢測,首先是人臉上67個關鍵點的檢測,這裡比較難的是無法對主播進行控制,因為他會有各種姿態、遮擋、表情,並且主播來源也不同,那麼在這個過程中要魯棒的時刻跟蹤到這67個點是很難的,我們當時更多是局部採樣、局部增強。而有了這67個點就可以衍生出很多好玩的功能,比如換臉,而最常用的就是人臉識別。

短視頻風格化

此外我們還在做短視頻的風格化,比如給定一個真實的場景——可能是圖片、也可能是視頻,通過選定一些Style把兩者結合變成虛擬化的、增強化的圖像或視頻,相比於每一種風格都要重新渲一個模型來說,它在產品化上的體驗就比較差,因為每一個模型或模板都需要兩三兆,而我們在後台只需要一個模型,通過給定不同參數來變化風格,而參數可能只有幾百K,這裡需要把用戶自定義的風格圖片上傳到雲端,通過雲端訓練完成後下載到手機本地做inference,整個過程從用戶體驗上來說是一個會是一個很實時,很順暢的感覺。

以上是我今天的分享,大概從360的業務場景介紹了一些基礎的視頻分析演算法和應用。希望後面能跟大家進行更深入的交流,謝謝。

WebRTCon 2018 8折報名

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 LiveVideoStack 的精彩文章:

TAG:LiveVideoStack |