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