天天看點

深度學習讓系統“看”懂短視訊内容

伴随短視訊的火熱,使用者規模、視訊觀看時長也在日益增長,而面對海量的視訊,如何有效的推薦給使用者、如何洞察熱點事件成為了關鍵。美圖資料部門北京技術總監趙麗麗,在LiveVideoStackCon 2017上與我們一同分享了深度學習在短視訊視覺内容分析中的核心應用方向,以及前沿深度學習算法在産品化應用于短視訊分析時的技術難點和解決方案。

演講 / 趙麗麗

整理 / LiveVideoStack

很高興可以和大家分享深度學習在短視訊視覺内容分析中的應用,分享包括四個方面,首先回顧深度學習的發展曆程和講述深度學習在短視訊領域進行自動化視訊内容分析的意義和必要性,再結合美拍短視訊業務分享我們将深度學習應用到視訊内容了解中遇到的問題和解決思路,最後從産品、資料以及技術層面展望後續的一些優化方向。

深度學習發展曆程

神經網絡的發展最早可以追訴到上世紀40年代,Walter Pitts 和Warren McCulloch提出使用門檻值邏輯單元來仿真神經元的輸出。1956年人工智能世界大會上首次提出了人工智能的概念,1958年Rosenblatt提出感覺器的概念并釋出了相應的算法模型。由于感覺器是一個單層的神經網絡,它無法學習諸如異或操作的非線性功能,由此神經網絡的發展也進入了冰凍期。1986年Hinton首次提出基于反向傳播算法學習特征表示,使得多層神經網絡的訓練成為可能,而直到現在這一算法仍是深度神經網絡訓練的核心過程。由于當時硬體計算能力以及資料量有限,多層神經網絡訓練所需的計算消耗和它帶來的效果提升并不能滿足人們的需求。直到2006年Hinton再次提出深度置信網絡(DBN)和非監督學習的概念,從學術上證明神經網絡層數是無限的,自此出現了深度學習的概念。

  • 深度學習模型架構發展

2010年斯坦福大學李飛飛團隊公布了千萬級标注資料集ImageNet,與此同時發起了大規模資料識别競賽,在競賽前期參賽算法采用的都是傳統手工設計的特征機器學習算法,結合傳統機器學習分類算法,分類誤差在26%左右。2012年,Alex提出使用深度神經網絡(AlexNet)進行分類,将誤差降低到了16%。

除了理論積累和創新,GPU技術的發展帶來的硬體計算能力提升以及大規訓練資料集的可用性,都對深度學習的發展起到積極的可推動作用,像GoogleNet、VGG、ResNet等越來越多的網絡結構被提出,這些網絡結構的設計思路是往網絡深度發展。而深度學習網絡模型在滿足持續提升學習效率的同時,實際業務應用的需求也越來越高,是以更多學者提出更寬的網絡——通過拆分通道的卷積操作來幅度減少卷積網絡模型參數的數量以及卷積操作次數。

  • 深度學習架構

除了以上兩點,深度學習網絡模型疊代更新速度如此之快,很大程度也得益于大量的開源深度學習架構,比較有代表性的如Caffe、MXNet、TensorFlow、Torch\Pytorch等,這些開源架構極大友善了新的深度神經網絡的提出和驗證的過程。

短視訊自動化内容分析

  • 計算機視覺基本問題&應用領域

衆所周知,計算機視覺的操作對象主要包括兩類:圖像和視訊。從底層而言需要解決三個基本問題:第一是分類問題,即從圖檔或視訊識别内容的種類;第二是檢測問題,即不但要識别出圖像的物體,還要識别出物體的位置;最後是分割問題,分割主要是語義分割,它精确到像素級别,是以也是基本問題中最難的。

以計算機視覺三個基本問題為基礎,它又産生一些更深層次的技術,包括視訊中的目标追蹤、圖像和視訊的主題描述、語義了解、視訊中的事件檢測等等,而在這些技術之上還有一些垂直的應用領域——資訊壓縮、使用者畫像、搜尋、推薦系統、人機互動等等,更上層的應用則有網際網路多媒體、智能家居、駕駛、安防、智慧金融、醫療機器人等。

  • 短視訊領域概況&場景分析

來源:第一财經商業資料中心(CBNData)《2017短視訊行業大資料洞察》

近兩年短視訊領域特别火爆,從最早的美拍,到快手、抖音、火山小視訊、秒拍等等,越來越多的短視訊應用走進了大家的日常生活。在第一财經商業資料中心釋出的短視訊行業大資料洞察中,截止今年6月我國國内網絡視訊使用者規模已經達到5.65億,視訊觀看時長也在不斷增加。而圍繞短視訊的業務場景的應用也在增長:首先是推薦,如APP首頁的Feed流推薦以及播放頁面相關視訊的推薦;第二是視訊内容的搜尋;此外還有基于短視訊使用者的行為資料(如上傳視訊内容)進行全方位、多元度畫像;最後是熱點事件預測,主要是通過分析短時間内大批量出現的視訊内容,進行熱點事件的預測。

  • 内容分析

1. 視訊内容分析三大基本問題

短視訊業務相關的各業務場景,都涉及對視訊内容的了解,而視訊内容的了解需要解決三個問題:第一個問題“有什麼”,也就是視訊内容中包含的主題是什麼;第二個問題“在哪裡”,即視訊發生的場景;第三個問題“做什麼”,也就是視訊中主體的行為,或者正在發生怎樣的事情。 

2. 短視訊内容特征

我們要對視訊内容進行了解,首先需要定義一個标準化的标簽體系,它應該涵蓋視訊内容中的主題、物體、場景、事件或行為。對于短視訊而言,它的幾個特征一定程度上限制了這個标簽體系的建立:首先,短視訊資料量大,每天都會有成千上百萬的視訊被上傳;第二,短視訊内容未知,現實生活中場景是很複雜的,尤其對于UGC内容,我們無法知道使用者上傳的視訊中主體和場景可能有哪些,它的行為是無法預測的;第三是時效性,在不同的時間段内視訊的主題、場景以及行為是不同的,它可能會随着時間進行轉移。是以在這樣的資料集上人工進行建立标簽體系非常困難。

上圖是我們分别通過算法和人工對視訊分類進行标簽化的測試結果,包括效率和品質的對比。我們可以看到,算法處理效率比人工高近兩百倍,在這種處理速度下,算法準确率相比人工的平均準确率75%也有很大提升。

美拍短視訊内容了解:探索與實踐

  • DeepNet平台

美圖智能視覺分析平台(DeepNet)為海量圖像和視訊資料提供智能視覺分析服務。從平台架構來看,主要從四大方面進行算法支撐——圖像識别、場景了解、品質評估、轉碼分析。在這些技術之上,每個業務場景算法都形成線上推理、訓練、标注的互動閉環:智能視覺分析服務為線上業務提供推理服務;自動化訓練服務對模型訓練進行實時更新,進而解決模型時效性問題;标注平台則負責收集标注資料,這部分資料包含兩類——人工标注團隊針對具體業務場景标注的資料以及稽核業務資料時産生的一些并行标簽。最上層是業務層,包括推薦、稽核、畫像、廣告搜尋。

上圖是DeepNet系統架構,主要包括三個部分:視覺分析服務、模型訓練和标注。視覺分析服務會産生兩部分的結果輸出:一部分是對視訊内容了解的語義标簽,一部分是對視訊的特征表示,它可能是一個浮點的高維向量,也可能是一個二進制的哈希碼,其中語義标簽會被人工抽樣稽核,稽核結果被再次修正之後會加入到标注資料中,後續模型更新時會用到這部分資料。

  • 短視訊内容分析挑戰

接下來我們介紹深度學習實際應用到短視訊内容分析時需要解決的一些問題:首先要解決視訊中“有什麼”——識别視訊中的物體、挖掘主題、并将視訊特征資訊提取儲存;其次是“在哪裡”——檢測視訊發生的場景以及文字識别;第三點是“做什麼”——檢測視訊中主體的行為、正在發生的事件以及視訊描述。這三部分是了解視訊内容的基礎,我們在此基礎上對美拍視訊内容做了第四個分析——“好不好”:首先我們要保證視訊内容是合法合規的,是以要做内容稽核;同時還要做畫質評估來保證畫面品質,提升使用者的觀看體驗;此外為了評價視訊是否受歡迎,我們會用深度學習做播放預測。

而在實際應用過程中我們遇到了很多問題,大概總結為三類:如何有效定義資料标簽,如何高效擷取訓練資料,以及如何合理利用計算資源。

1. 如何有效定義資料标簽

我們從三個方面來解決有效定義資料标簽,最基礎的是對海量資料進行抽樣分析,也就是在海量資料中按一定比例抽樣,對抽取到的資料應用算法預先訓練的模型去做預先的處理——識别、分類、檢測,在處理結果之上再用人工分析,最終将分析的結果作為整個資料集的代表。第二部分是文本分析,使用者在上傳視訊時會添加一些視訊的描述、标簽以及标題等,我們可以結合文本分析方法将這些标簽提取出來賦給相應的視訊。第三部分是無監督學習——這也是我們正在做的,它應用了視訊主題挖掘,也就是對所有一個階段的視訊根據無監督學習聚成幾類,然後對這個類别的類中心的資料進行分析,提取它的标簽、主題、場景、事件。

大規模視訊主題挖掘借鑒的是微軟和清華在2015年提出的一個基于Scalable Visual Instance Mining with Instance Graph的方法,它的核心是對輸入的大規模圖像集提取一個特征表示,在這個特征表示的基礎上再建構一個相似關系圖進行聚類,相比于傳統方法對于新的資料需要重新進行聚類,它将這個過程拆分成兩部分:一個是圖的建構,一個是基于圖的聚類。而基于圖的聚類在這個過程的時間其實非常少,那麼當有新的資料時,隻需要把新的資料加入這個圖中做更新,再聚類的時間開銷很小。

大規模視訊資料主題挖掘這一過程的核心點是特征表示,傳統的特征表示方法大概可以分為三個過程:提取視覺特征,基于視覺特征建立視覺詞袋,以及進行量化和哈希,生成一個哈希碼或index值。近幾年伴随深度學習的發展,有些學者提出基于深度神經網絡的哈希的特征提取算法,這類算法的思想是讓中間的神經網絡做所有的事情,輸入一個圖檔經過網絡推理就可以得到哈希碼。我們則是基于微軟和清華在2015年提出的方法上針對深度哈希做改進。

接下來跟大家分享下現在深度哈希特征提取的研究成果,由于研究成果非常多,這裡隻舉兩個例子:監督學習和非監督學習。監督學習的思路是使用資料的一些标簽資料去進行訓練進而學習到哈希碼,eBay在今年關于視覺檢索中用到的哈希方法就是監督學習。而非監督學習是利用圖像本身的一些相關資訊進行學習,不利用任何的标簽資料,比如我講一個圖像旋轉一定角度,它并不會關心這個圖像包含什麼标簽,隻會計算旋轉前後圖形之間的loss是最小的,進而保證學到的特征能夠更好的表示目前圖像。

我們提出了一個視訊的深度哈希方法,這部分算法技術的相關論文” Deep Hashing with Category Mask for Fast Video Retrieval”放到了arxiv上[https://arxiv.org/abs/1712.08315],歡迎大家下載下傳論文了解具體技術細節。

2. 如何高效擷取訓練資料

針對如何高效擷取訓練資料,我們結合算法和人工,首先針對開源資料集訓練一個模型,并對業務資料進行初期算法的識别、分類、檢測,檢測、分類的結果将再次進行人工稽核,最終稽核結果再傳回更新模型。

3. 如何合理利用計算資源

主要從三個方面合理規劃和利用計算資源:第一是從算法的角度優化,一方面是優化網絡結構,這個同時也會降低訓練時間;另一方面是優化推理邏輯,也就是不改變網絡結構,在推理時進行層間的壓縮。第二是分時處理,從業務角度來看,對推理和訓練支援的力度是不同的,推理服務請求量可能很高,而且不同時段的請求量也是不一樣的,比如白天一般大于晚上,這樣我們在配置設定推理和訓練服務時就需要合理錯開高峰期。第三是轉碼預測,使用者上傳雲端的視訊在手機端播放時會占用一定的帶寬,是以我們會對一些視訊提前轉碼,但因為轉碼本身很消耗計算資源,為防止無效轉碼,使用算法預測視訊被轉碼的機率。

上圖是轉碼預測算法的網絡結構,主要分為兩部分:首先,對視訊封面通過CNN網絡提取圖像特征;然後,将視訊的原資料資訊-如視訊作者的好友數、粉絲數、曆史視訊的播放數等映射成向量,和提取的CNN特征結合輸入到淺層神經網絡進行訓練。

上圖是分别使用規則判斷和使用神經網絡算法進行轉碼預測效率的對比資料,橫坐标是轉碼計算需要的資源,縱坐标是播放覆寫率。我們可以看到,傳統簡單标記規則在占用80%轉碼計算資源的情況下,播放覆寫量大概在75%;而使用神經網絡算法,在同等播放覆寫率的前提下可以節省84%的轉碼計算資源,在使用同等的轉碼計算資源的情況下則可以增加27%的播放量。

思考與展望

對于深度學習在短視訊内容分析中的應用我們認為還有很多地方需要優化。從産品層面來說需要優化功能定義,讓深度學習可以更好的應用于産品進而提升使用者體驗;資料層面則是優化标注流程、提升标注的品質,加快模型的疊代更新速度;最後在應用現有技術滿足業務的同時,我們也希望能夠在算法和模型上做一定的積累和創新。以上是我的分享,謝謝大家。

LiveVideoStack招募全職技術編輯和社群編輯

LiveVideoStack是專注在音視訊、多媒體開發的技術社群,通過傳播最新技術探索與應用實踐,幫助技術人員成長,解決企業應用場景中的技術難題。如果你有意為音視訊、多媒體開發領域發展做出貢獻,歡迎成為LiveVideoStack社群編輯的一員。你可以翻譯、投稿、采訪、提供内容線索等。

通過[email protected]聯系,或在LiveVideoStack公衆号回複『技術編輯』或『社群編輯』了解詳情。

繼續閱讀