【酷乾貨】優酷多模態視訊內容理解和稽核質控
寫在前面:
本文根據《優酷技術沙龍——優酷認知實驗室專場》現場,阿里巴巴高階演算法專家飛霏的演講《多模態視訊內容理解和稽核質控》整理成文 。
大家好,非常高興有這個機會和大家一起分享近期做的一些工作。我今天主講的內容是優酷的多模態視訊內容理解和稽核質控,將會圍繞兩個具體的專案來跟大家討論一下當前主要的一些技術思路。
首先簡單介紹一下業務概況。
多模態,是說視訊內容本身呈現了多個模態,第一是影象模態,包括視訊的封面圖、視訊 幀,從幀的角度來看,視訊不光是一些靜態圖,它還是一個有時序資訊的圖集。第二是文字模態,包括視訊的標題,彈幕評論,以及 OCR 、 ASR 產生的一些文字資訊。第三是音訊模態,也包含了非常重要的資訊。影象方面,會涉及到影象的分類或物體識別。文字方面,涉及 NLP 層面的理解。多模態方面,可以做視訊、音訊的理解。
主要的業務應用,一是內容的安全分級和安全准入,二是支援內容分發和內容生產的一些基礎標籤。
在內容安全方向,第一個例子就是質量分級,優酷有大量來自使用者和專業製作者上傳的短視訊,質量參差不齊,我們通過演算法進行高中低的質量打分,去支援不同內容分發的場景。 第二個例子是風險分類,是安全維度的內容標籤,打上風險標籤的內容有些是不能准入的,有隻能在特定場景進行分發。 第三個例子是風險目標檢測,如敏感人物、敏感標識物等等。
多模態視訊內容理解的工作包括視訊字幕,視訊中的場景、動作、物體檢測等等。
技術思路主要分解成三部分,包括問題、資料、模型。
—— “問題” :剛才看到了很多的業務問題,我們怎麼把這些業務問題拆解到技術問題?這些技術問題的優化目標和評價方法是什麼?
—— “資料” :對於很多真實的工業場景來說,資料是非常重要的一部分。有沒有現成的資料集?如果沒有的話我們怎麼去構建?很多真實的資料是對演算法並不友好的資料,我們怎麼樣來更好地利用這些資料?
—— “模型” :如何進行模型選型?如何融合多個模態或多個模型?
接下來我會圍繞兩個典型專案去討論我們的技術思路,希望對大家有借鑑意義。
一、字幕 OCR
OCR 通常的解決方案分成兩步:
第一步:文字區域的檢測。輸入影象,輸出是其中的文字區域,它是一個目標檢測任務。
第二步:文字識別。輸入是文字區域,輸出是文字序列。
字幕問題中最簡單的是標準字幕,它是位於影象下方的橫向文字序列。非標準字幕在綜藝中比較多,有時文字方向是豎向的,有時會大小不一,還有各種花體字。標準字幕和非標準字幕都是視訊後期新增的文字。視訊當中還有一些是原生的背景文字,這些不是字幕 OCR 要解決的範疇。
在文字區域檢測和文字識別兩個方向上,都有一些比較典型的工作,在做 baseline 模型選擇時,一般會選擇比較新的解法,因為 CV 這個領域確實每年的進步都很大,但是也要了解最新的解法是在優化哪些問題,是否適用自己的業務場景。比如 OCR 這個問題,有很多最新的工作是在解決背景文字的多角度變化,並不適用字幕 OCR 這個場景。
有了模型選型之後,再來看資料。壞訊息是字幕沒有現成的標註樣本集,好訊息是字幕本來就是後期新增,我們可以利用字幕生產軟體構造百萬甚至千萬級的樣本資料 。
有了 Beseline Model 之後,我們再去思考怎麼樣可以把這個問題做的更好。比如說在文字區域檢測時,採用了基於 anchor 的檢測方法,我們可以去除一些不必要的長寬比的 anchor ,並基於字幕會出現的位置去縮小檢測範圍,從而提升檢測效能。從時間維度來看,並不是每一幀字幕都會發生變化,並且在一個視訊當中,字幕的位置也是相對固定的,所以引入幀間的資訊,還有進一步的提升空間。
經過這些定製優化,我們研發的字幕 OCR 比通用 OCR 在精準度上可以提升 3 到 4 個百分點,高清字幕的識別準確率達到 97% 以上。
二、場景 / 動作識別
接下來介紹場景 / 動作識別的相關工作。比如說今年北京臺春晚說我不想看主持人,請把其中唱歌跳舞的片段給我找到,大家覺得這件事兒應該怎麼做?如果按照分類任務來解,有三種解法:
習慣做影象分類任務的,我們可以把視訊都抽成影象幀,做影象的分類,檢測每一幀是否屬於唱歌跳舞,然後再把幀級的結果做合併。
第二個辦法是對整個視訊打標籤,這種方法比較適用於短視訊,上面提到的任務是無法解決的。
第三個辦法是把視訊先進行分鏡,每一個鏡頭的場景比較單一,更內聚一些,對每一個鏡頭進行視訊分類,然後再把鏡頭級的預測結果進行合併。
在工業界中,適用於不同的業務場景,這三種解法都比較常見。單幀就可以定義和解決的問題,可以用影象分類的方法,比如稽核上的軟色情識別;短視訊分類,一般採用對整個短視訊進行打標;上文提到的任務屬於長視訊中的動作檢測,更適用於先分鏡再檢測,或者把動作分類和動作起止時間都做為模型學習的目標。在動作檢測任務中,還可以引入音訊資訊,甚至音訊可以做單一維度的模型就可以達到較高的精準度。
以下是對 based Mode 選型的一個總結。模型的精準度以及 inference 的複雜度都是需要重點考慮的問題。
上面的方案都是分類問題,會遇到一些共性的難點,如類別分佈不均、困難樣本和樣本噪聲等。
樣本增強是處理樣本缺失的慣用手段,一個樣本可以生成無限多的差異樣本,但本質上這些樣本也是非常相似的,要小心過擬合。
樣本均衡化和困難樣本的處理,有一些比較經典的處理手段。
另外就是噪聲樣本的問題,在工業界我們有很多資料,但是大部分是有非常大噪聲的資料。因此非常重要的問題就是噪聲樣本怎麼處理?一般的做法是直接丟棄或者做降權。最近有一些工作提出把噪場樣本降權比直接丟棄相比,模型的魯棒性會更強一些,這個問題最好結合具體任務來看。
這裡有兩個挑戰:第一是能否用模型化的方法去自動檢測噪聲樣本。這裡面有一些典型的工作大家可以去 follow 。 第二是噪聲樣本和困難樣本的區分。模型難以區分的樣本,可能是噪聲樣本,也可能是困難樣本,困難樣本需要加權,噪聲樣本需要降權,如果做得不好,會導致在 train 和 test 資料集中的效果與在實際應用場景中的效果產生比較大的 diff 。
最後講一下多模態融合的方案。
剛才提到,視訊有很多的模態,影象的模態、語音的模態,文字的模態等。一種解決方案是端到端的方案,把所有的模態做特徵維度的融合,最後輸出統一的模型,支援業務應用。第二個方案是每一個模態都單獨建立模型,聯合多模態的標籤做業務應用。
端到端的方案在做視訊級的分類任務裡用的比較多,需要有比較大的訓練資料,模型才可以學得比較充分。它的可解釋性會稍微差一點,因為你甚至都不知道具體哪個模態出了問題,標籤融合至少還能解釋到一個具體的模態。另外在業務應用經常變化的業務中,端到端的方案不如標籤方案更靈活和可複用。
在視訊動作檢測任務當中,我們主要選用了對分鏡結果進行分類,再對分鏡預測結果進行合併的方案,標籤具體到時序 RGB 幀和音訊等具體模態,再對多模態結果進行融合,應用於多模態搜尋和視訊智慧切條。
最後,視訊理解是非常有挑戰的一個方向,也是當前 CV 領域的一個研究熱點,尤其是結合具體的工業級應用,在演算法問題定義、資料集挖掘和處理、模型精準度和效能等方面,都有非常多有挑戰性的問題等待被攻克。
相信隨著演算法能力的不段增強,會有更多有趣的演算法應用逐步解鎖,為視訊生產和分發去賦能。
—————————我是可愛的的分割線————————
優酷視訊增強和超解析度挑戰賽正在進行中
豐厚獎金,高手雲集
經典問題,全新挑戰
基於應用場景的複合性命題
業界最大高清多類別視訊資料集等你來戰!
點選閱讀原文直達大賽官網瞭解更多哦~