在RTC 2018 實時互聯網大會上,美圖雲視覺技術總監趙麗麗分享了美圖在短視頻領域的AI技術應用,內容主要包括三部分:美圖短視頻的業務場景,基於此業務場景所作的短視頻內容分析和檢索技術,以及遇到的問題與相應的解決方案。最後是平臺構建過程當中的一些思考。如下是演講內容整理。算法
歡迎訪問 RTC 開發者社區,與更多實時音視頻開發者交流經驗。
數據庫
美圖在短視頻領域的表明產品就是2014 年發佈的短視頻應用「美拍」。近幾年也出現了一些競品,好比抖音、快手。近期美拍也在內容上作了從新的調整和定位,主要是美和教程,但願用戶在娛樂的過程當中,也能吸收一些有養分的信息和知識。微信
一個視頻所涉及的技術網絡
一個視頻在它的生命週期內可能涉及到許多處理技術。從2D 和3D 捕獲開始,而後是編解碼,這個階段還涉及到傳輸、存儲,而後是編輯與處理,好比剪輯、濾鏡美化、風格轉化、背景分割。隨後是信息提取,包括物體識別、場景檢測、人物分析、行爲識別、主題提取、事件檢測。以上步驟完成後,咱們拿到了海量視頻,還要作視頻的檢索。它有兩部分做用,一是經過給定的視頻,來檢索其中是否有咱們想要的內容;另外一個是經過給定的視頻在海量的數據庫中檢索出類似視頻。架構
AI 技術在美圖短視頻業務中的應用主要兩個層面,一是工具層面,二是內容層面。工具
工具層面是用AI 技術對視頻進行處理,好比對視頻人物的美化,背景的替換,還有視頻中人物的瘦身功能。內容層面就是標籤化,好比識別視頻中的物體,檢測視頻中的場景,還有對用戶行爲的一些檢測。另外,最重要的是,咱們拿到一個視頻以後,能夠利用AI 對畫質、視頻內容是否違規進行檢測。咱們提取視頻特徵以後進行一些視頻檢索的工做,以這些工做去支撐圍繞短視頻的業務,包括用戶畫像、運營、推薦、搜索。性能
基於以上業務需求咱們構建了一個多媒體內容分析和檢索的平臺,這個平臺在基於內容分析算法組建基礎之上分爲兩部分,一是多媒體內容分析平臺,它負責分析視頻內容特徵,並進行標籤化。另外一個是多媒體數據檢索平臺。學習
圖:美圖短視頻內容分析與檢索平臺應用架構優化
短視頻內容分析與檢索的技術挑戰3d
在拿到一個視頻後,如何瞭解它的內容,這實際上是一個多層面多維度的問題。首先最簡單的,咱們看到一個視頻後,第一反應是它的色調、紋理、風格、畫質如何。再更進一步,咱們須要瞭解這個視頻包含了哪些物體,發生的場景在哪裏,有哪些人物特徵,包括性別、年齡、特徵、服飾,同時這個內容是否違規。另外,還有更深層次的對視頻內容的識別、檢測,好比學術界較爲前沿的研究就是行爲識別。這也是美圖分析一個視頻內容時候會涉及的幾個維度。
基於以上業務需求,咱們經過對視頻、音頻、圖象、文本,進行處理,將其傳輸給多媒體內容分析平臺,而後解析出如下四類信息:
基礎特徵:色調、紋理、風格、畫質;
人物解析:性別、年齡、顏值、髮型、服飾風格;
商品解析:商品識別、品牌識別;
通用內容解析:視頻分類、特徵提取、場景分類、角度檢測、物體檢測、水印檢測、封面選取。
基於此,多媒體內容分析平臺會提供出標籤、特徵、索引,以支持業務需求。
短視頻數據有幾個特色:
視頻來源:手機拍攝;
視頻形態:豎屏、人物中心化、特效和濾鏡化;
視頻結構:同個視頻內場景固定;
信息維度:多模態信息、畫面和背景音頻不一致;
數據量大;
內容未知 ;
時效性;
在構建這個平臺的過程當中,咱們遇到了一系列問題。總結起來有兩個比較關鍵的問題:
一方面是如何有效定義標籤體系。前面提到,標籤是這個平臺的一種輸出形式。咱們須要先肯定輸出哪些標籤會對業務有所幫助,因此標籤的定義很是重要。基於深度學習的算法訓練須要有一些訓練數據,訓練數據中這個標籤是怎麼制定的,也很是重要。
另外一方面是如何提升模型迭代效率。短視頻數據有很強的時效性,好比說兩個月前訓練的模型,可能兩個月後效果已然沒那麼好了,因此咱們須要有一種機制能快速進行數據標註,替換到線上,穩定支撐業務。
如何有效定義標籤體系
咱們有一個熱門視頻池,運營和產品會手動爲一些視頻打上標籤。你可能會說,咱們能夠拿這部分標籤作模型訓練。若是咱們將業務標籤應用於算法會存在哪些問題呢?
一是業務的標籤比較抽象,好比可能會制定像搞笑和幽默這樣的一些標籤。但一個視頻是否算搞笑、幽默,沒法僅從視覺或聲音、語音等一些信息進行準確斷定。
舉個例子,一個3歲的小孩在哭,父母上傳的可能會是一個搞笑的視頻,若是是20多歲或者50多歲的人在哭,那就是一個悲傷的視頻。
二是訓練數據不均衡,上圖是咱們拿到的一部分業務標籤對應的數據量,由於業務人員在定標籤的時候不會考慮每一個類別是什麼樣的,因此就會出現訓練數據不均衡的問題,這個也會影響算法模型的訓練。
另外一個問題是類別區分度低。以上圖爲例,手指舞和自拍,從視覺角度來看沒有任何區別,若是訓練中強行將其分紅兩類,也會在訓練過程當中影響網絡模型的學習,會引發一些噪聲。
還有一個問題是標籤的維度比較單一。一般一個視頻,最多給四到五個維度的標籤,再多的話,想全面衡量這個視頻會變得很是複雜。
咱們的解決方法是,以業務標籤做爲指引,拿咱們的視頻數據和文本數據(伴隨視頻的標題、評論相關信息)去提取視頻特徵、音頻特徵進行聚類,而後對聚類進行抽象定義,得出相應的視覺標籤元素。這個標籤元素就是咱們用來訓練的標籤。最後訓練標籤輸出的結果會反過來映射到業務標籤,用這種方法定義的標籤是多層級多維度的。
以下圖所示,視頻中是一個女生,視頻中的姿態顯示爲全身,動做是在搖擺,檢測到的音樂風格爲搖滾,那麼能夠判斷這個視頻是一個美女在自拍,並且在跳舞,屬於才藝展現,因而生成的標籤就是「美女自拍」、「舞蹈」、「才藝」。這就完成一個算法標籤到業務標籤的映射。
如何提升線上算法模型的迭代更新效率
這裏有三個核心問題:快速的數據標註、有效穩定的模型評估機制、算法運行的性能要有保障。
爲了進行快速標註,咱們也用了一個自動的算法標註,這個算法在無監督和半監督的深度學習的論文中被提到過。咱們會預先拿一個通用的數據訓練模型,對業務數據進行少許的標註,基於少許的標註數據再訓練一個分類器。這個分類器會給其它未標註的進行標註。伴隨標籤輸出會有一些置信度,會把高置信度的數據再拿去進行訓練,低置信度的會繼續下一次的迭代更新,這個過程會重複屢次。這個過程也會根據任務的難度,加入人工的核驗和標註。
美圖有一套智能標籤化服務模型,這個服務模型分兩部分,以下圖所示,上面是離線過程,下面是線上過程。線上拿到視頻,輸入相應的標籤或者特徵。離線過程當中的自動標註就是上面提到算法標註,會用到自動標註輸出的數據和標籤進行一個模型的訓練。咱們會拿到這個數據進行模型訓練,進行模型的評估,評估的時候用的數據也是咱們標註好的一部分驗證數據。當評估的準確率達到咱們的域值以後,咱們就認爲模型可用了,就會更新到線上。
算法的運行性能,智能視覺分析平臺其實包括不少,除了視頻以外還有不少其它圖象的算法,但相比較而言,視頻算法的複雜度較高。這裏以視頻分類的技術爲例,介紹一下咱們是怎麼作的。
視頻分類大部分分這幾種形式。第一種是咱們簡單的對視頻進行抽幀,使用CNN網絡提取一些特徵,進行融合,再對最後的結果進行分類。這種方法沒有考慮到視頻的時域信息。還有一些其餘的算法,如上圖所示左下方及右側兩種算法。他們都會考慮到視頻的時域信息,但缺點是複雜度過高,很難被應用於實際場景中。
通過對短視頻的應用場景的測評,第一種方法已經能夠作到很好的準確率,相比較其它方案而言,它的時間複雜度也很是低。
在視頻分類方面,美圖也有一些前沿的研究成果,咱們跟中科院合做提出一個基於類腦智能的無監督的視頻特徵學習和行爲識別的方法。
業界、學術界,有不少種模型,但在實際業務場景中,看似龐大的網絡,其效果卻不必定那麼理想。更重要的是,對於咱們來講,怎麼能從海量的業務數據中抽取最關鍵、最重要的數據,用來訓練出一個適用於業務場景的模型。咱們也在多媒體內容分析平臺的構建中總結了幾點,咱們認爲有三個信息很是重要:
推理服務:一方面對得到的數據進行推理分析,另外一方面對完成訓練的模型更新上線;
數據服務:提供用於模型訓練的標註數據,其核心模塊是算法自動標註;
訓練服務:它包含訓練觸發模塊,會按期更新模型訓練。
前面提到的都是咱們進行一個內容分析,大部分以標籤輸出爲主。其實用標籤描述事情是存在一些問題的,一個是時效性,上圖是咱們分別在3月和8月總結出的一部分標籤體系中的標籤變化,其實差異仍是挺大的。第二個問題是不完備。想用標籤去描述一個視頻或一張圖片的話,須要很是多的維度。若是咱們在進行視頻的檢索,在搜索的時候想比較兩個視頻的類似度怎麼辦?若是用標籤的話就很是難。
上圖是視頻檢索的流程,是將2003年穀歌提出的文本檢索的過程應用到視頻的檢索方案。它包括兩部分,一是構建目標檢索庫,二是檢索。獲取到一些視頻後,從視頻中抽取幀,對這些幀圖象提取特徵,進行聚類,而後去構建視覺詞表。
特徵對比有有類,二進制特徵和浮點特徵,有各自的優缺點。二進制特徵一個比較大的優勢是存儲高效、距離計算高效,缺點是可表徵的範圍比較小。浮點特徵歐式距離、抗極值干擾,距離表徵值比較大,理論上講是從零到無窮的。
上圖咱們一個簡單的思路。咱們會基於前面構建的多層次的變向體系,用多級的標籤指引這個網絡進行學習。另外會用 triplet loss,對同一個視頻,咱們會抽取5幀,而後在不一樣的時間段再抽取5幀,這樣造成一個正樣本對。從一個視頻和其它視頻組成負樣本對,讓他學習到什麼樣的信息纔是視頻特擁有的特徵。
上圖是一個短視頻類似檢索服務的架構,左邊是離線模塊,右邊是在線模塊。離線是批量訓練,生成哈希值。
總結
在這個平臺建設過程當中咱們也遇到一些問題,也有一些思考。主要是這幾點:
AI讓多媒體技術有了更大的應用空間,視頻領域仍有大量業務場景須要AI助力;
數據還是當前階段AI算法有效落地的核心元素,越接近業務場景,領域數據的重要性越明顯;
通用算法技術的做用在弱化,須要結合具體業務場景深刻優化;
技術領域須要進行持續探索,算法性能問題、細粒度語義理解、互聯網多媒體內容智能交互等。
掃碼觀看演講視頻回顧
想獲取更多演講資料,瞭解更多 RTC 技術乾貨,歡迎關注「聲網Agora」微信公衆號