Hulu 在影片內容理解上的應用和最佳實踐
- 2019 年 11 月 22 日
- 筆記

本次分享的內容有:
- Hulu 簡述
- 為什麼研究影片內容理解
- 面臨的挑戰
- Hulu 的影片理解實踐應用
▌Hulu 簡述

Hulu 是美國的一家影片網站,類似中國的愛奇藝、騰訊影片和優酷,目前 Hulu 相當於迪士尼旗下的子公司,Hulu 在北京有研發中心,其中大部分研發骨幹來自北大、清華等名校。

▌為什麼做內容理解
Hulu 是16年之後開始系統性的做內容理解,為什麼是16年?這裡有些分析:
- 隨著互聯網上的影片流量越來越成為主體,有90%都來自影片,文本的比例越來越低;
- 在12年深度學習起來之後,為影片的內容理解提供了技術支援,
- 越來越多的大企業和研究機構投入到了影片理解的研究上。
- 在 Hulu 內部的原因是,推薦模型在往更深層次走,如果不理解影片的內容,是沒辦法完成的。

▌面臨的挑戰
- 數據的多與少。我們雖然有很多的影片影視劇和用戶,但是只有很少的標註。
- 數據的真與假。有很多電視劇,動畫片,裡面有很多場景是假的,這種假的數據很難被利用。
- 技術的難與易。藉助一些演算法和算力的發展,研究影片理解成為可能。實際上,無論把深度模型神經網路做多深,在影片上的整體性能提升非常有限,這說明針對影片的處理,需要一些特殊的技巧,不能把影像上的一些模型,直接拿到影片領域來用,會有時序上的約束以及語義上巨大的鴻溝。
- 企業的買與研。為什麼要自己做,而不是買第三方的工具或者第三方公司?因為不可能把第三方的解決方案,直接拿過來就能用,因為hulu的產品形態和對外提供的服務直接和演算法掛鉤,如果等其他公司提供的結果,會滯後於市場。
當我們開始做內容理解,我們這幾年主要做了如下工作:
A. 細粒度的影片內容分割
B. 影片標籤
C. 內容生成
D. 內容向量
▌A. 細粒度的影片內容分割

內容分割:目前在 Hulu 對影片的精細化切分已經做得比較好了,可以細粒度的把鏡頭、場景、前情、片頭、片尾、字幕、音樂、分級標誌等分開。這裡主要講下:
1. 內置頻道 logo 檢測

我們會檢測節目上是否打上了一些 logo,大家可以看到圖中有 tbs 或者 cnn 的 logo。為什麼要做這件事兒?因為 Hulu 是一個內容平台,有500+內容商為 Hulu 提供內容,在提供內容的時候,提供商會插入很多 logo,由於我們在將這些內容投放到其他平台或頻道時,根據投放協議,會加入投放平台的 logo,這樣就會有兩個 logo 疊在一起,用戶體驗就會變差。還有就是廣告商的需求,比如廣告中什麼地方出現寶馬的 logo,什麼地方出現可口可樂的 logo。

在 Hulu 目前檢測有300個頻道的 logo,使用 mobilenet+SSD 來檢測 logo 位置。當做完這些之後,還發現個問題,因為某些頻道的 logo 會變,可能是沒見過的新增頻道 logo 或者是新設計的,這時我們會採用非監督的演算法來做一個預估,來檢測某個位置可能是一個 logo,然後通過人工來確認。當然,做 logo 檢測的時候沒有標註數據,是在 Hulu 的數據上通過人工嵌入進去,再加入雜訊等處理,然後自己生成的一套 data set。
2. 內置字幕檢測 & 語言識別

然後是檢測有沒有字幕,字幕檢測有倆個用途:
第一個是我們不希望已經有了英文字幕,用戶還再添加字幕;
第二個是影片編解碼需要,因為影片編解碼之後文字可能會變得模糊,所以編解碼的時候可以對字幕做特殊處理,讓文字依然保持清晰,可以提升用戶體驗。

所以,這裡我們會有一套演算法邏輯:先拆分,然後檢測有沒有字幕,最後合起來之後得到一個 yes or no 的結果。
知道 yes or no 之後,我們還需要判斷到底是什麼語言,是拉丁語系,還是亞洲的中文,韓文,日文等等,會做語言種類的分類。
3. 自動化流水線

在做了上述工作之後,我們發現必須有一套流水線流程,因為 Hulu 每天更新的影片數量非常多,比如美劇每天就有500部更新,這不可能都重新跑一遍演算法,最好是有一套自動化的流程來處理,並方便後期人工的複查,所以我們建立了一套 AI 的 pipeline。
我們還做了 Framehouse,因為我們要把每個影片拆分,做到 1s 或者 0.5s 拆出1幀,數量級非常大,做演算法處理後,重新讀幀,速度要盡量快,所以對 Framehouse 進行了很好的設計。
最後,我們還提供了一個 Deep Learning 分散式計算平台。
▌B. 影片標籤

當對影片拆分之後,接下來的工作就是給影片加標籤。比如在這個場景下,裡面發生了什麼事件,有什麼元素,是在什麼樣的場景下發生的。
在16年的時候已經有非常多的標註數據,公開的 data set 包括 OpenImage,Places365,Sports1M,FCVID-LSVC,YFCC100M,MSR-VTT等。
Hulu 是需要海量標註數據的,Hulu 的辦法是一方面藉助人工,啟動自己的標註工程,另外一方面是藉助一些學術圈相對開放的 data set 預先訓練自己的演算法模型。
1. Since 2016,what happened now

① 亞馬遜推出的影像識別AI系統:Amazon Rekognition,可以識別對象,人物,文本,場景和活動等。

② Microsoft Azure 推出的 video indexer,不僅可以聲音識別成文字,還可以對人物、關鍵詞、情感等進行分析。

③ Baidu AI video,主要功能是人物識別和標籤。

④ Alibaba AI in video,主要實現的功能除了人和標籤外,還包括智慧封面和影片摘要。

⑤ Netease video analysis,網易主要做的是明星動漫人物識別,語音文字識別等。
2. Hulu video derived tags
① Scenes and objects

看了這麼多,主流的公司都在做這件事情,大家的思路也都有很多相似的地方,這裡重點介紹下 Hulu 是怎麼做的,上圖主要是 Hulu 的一些例子,是場景和物體的識別。
② Events and actions

這裡是事件和行為標籤。
3. 影片生成元數據:用戶案例

為什麼這麼多公司都在做內容標籤,因為內容標籤可以引入一些新的場景,比如:
- 上下文相關的廣告,可以在暫停的時候插入廣告,做文本相關性。
- 廣告逆向投放策略,因有些內容提供商是不允許在內容里插入廣告的,比如 espn,所有和球員相關的廣告都不能放,如果 Hulu 不知道過來的影片有沒有球星代言的廣告,很可能會造成侵權。
- 基於內容的影片編解碼
- 基於內容的個性化的推薦
- 影片的搜索,比如檢索美國大選新聞,出來的結果非常多,可能一段30分鐘的影片,只有2分鐘是相關的,用戶不可能逐條去看,需要為用戶標註出來需要的部分。
- 基於內容的分類,比如90後的最愛,城堡里的恐怖片,等等。

當開始做影片標籤時,首先應從產品的角度出發,告訴產品影片里都有哪些內容,比如:
- 影片中有什麼元素
- 故事發生在什麼場景下
- 發生了什麼事兒
- 所表達的情感是什麼
這是我們試圖想回答的問題。

所以,第一階段我們藉助於很多open data set 對演算法模型進行訓練,演算法模型訓練好之後,會在 Hulu 人工標註的數據集上做 Fusion 融合。

這裡有一個更精細的演算法流程來說明:
首先我們會定義一套自己的 Taxonomy 分類方法,這點非常重要,我們到底需要打哪些標籤,這些標籤以哪些層級來構建的,對於後面的演算法會非常有影響。所以我們花了很大的力氣人工的整理了一份 Taxonomy,構建了詞和詞之間的關係。
有了 Taxonomy 之後,當我們給定一個數據源,我們在上面有一套演算法之後,會生成標籤,但是這個標籤不能在 Hulu 直接用,需要經過 tag postprocessing 標籤後處理,因為這些標籤映射到我們自己的 Taxonomy 時是有距離的,需要把多個標籤 mapping 到一個 Hulu 想要的標籤上,這就是標籤後處理。
另外,需要做多個演算法 module evaluation 模組品質評估,最終通過 Multi-source multi-modal tag fusion 融合,生成 Hulu 的某個鏡頭或者某個場景下想要的標籤。

這裡有更加詳細的過程,這裡主要是講我們自己的 taxonomy,然後 taxonomy 如何劃分的方式,右邊是 taxonomy 示意的結構。

這裡是講標籤的後處理,通過人工標註的標籤來設定相應的閾值。

模型融合,設定閾值和分類準確度,對分數進行歸一化融合。

這個是卡通片標籤的例子,包括 what,where,event,Color 等。
▌C. 內容生成

接下來的工作是內容生成,主要包括:
- Sports highlights and moments,精彩片段推薦。
- Video summary 影片摘要,合併出基於主角,劇情,精彩片段等的summary,推薦給用戶。
- Avatar,探索性的項目,比如有些酷炫的動作,進行骨骼動作模擬,之後再賦予一個虛擬的形象展示出來。
▌D. 內容向量

除此之外,結合 Hulu 已有的標籤,我們叫事實標籤,比如演員,導演,劇的介紹以及對整個故事情節的理解,可以把整個 video 合成一個 vector 向量。通過這個 vector 可以非常容易的去算兩部劇的相似性,並且反推這兩部劇為什麼相似,比如同一個導演,或者同樣人物的出現,或者包含了某些非常類似的場景,所以 content vector 在影片推薦中佔有非常重要的因素,並且可以帶來不小的提升。
具體演算法,對於 content embedding,文本使用 BERT,transformer 模型,標籤使用 Graph Embedding 模型,結果評估使用 ABtest 在相關劇集推薦上做評估。

這是具體的生成標籤的例子。Gracenote tags 是供應商的標籤,Content derived concept 基於內容的標籤是自己生成的,由於供應商或者第三方提供的標籤有很多是不全的,通過我們基於內容生存的標籤是可以彌補這些不足的。

最後推薦下 2019 ACM MM 競賽,會議將在10月份舉辦,競賽的內容是基於內容相似性的 Prediction,通過抽象成特徵計算兩部影片的相似性,今年與前兩年有所不同的是,增加了用戶行為預測。
競賽官網地址:
https://www.acmmm.org/2019/

嘉賓介紹
謝曉輝,Hulu 首席研究主管,人工智慧和創新孵化團隊負責人,具有18年演算法研發創新和管理經驗。專註於模式識別、影像影片文本等多媒體資訊處理,對人工智慧、人機交互領域的研究以及成果落地及產品化有豐富經驗,擁有100+的相關專利,學術論文近20篇。本科畢業於西安交通大學實驗班,北京郵電大學取得模式識別領域博士學位。曾先後就職於松下電器研發中心、諾基亞北京研究院、聯想研究院。
——END——
分享嘉賓:謝曉輝 Hulu 首席研究主管
編輯整理:Hoh Xil
內容來源:DataFun 職業發展論壇
出品社區:DataFun
註:歡迎轉載,轉載請註明出處