七牛雲趙之健:多維度融合賦能視訊 AI 的實踐

七牛雲發表於2018-07-17
6 月 30 日下午,趙之健在七牛架構師實踐日第二十九期進行了《多維度融合賦能視訊 AI 的實踐》為題的實戰分享。

作者簡介:

七牛雲趙之健:多維度融合賦能視訊 AI 的實踐

趙之健,七牛人工智慧實驗室資深演算法工程師, 七牛視訊演算法和演算法工程化負責人。擁有近十年從事於計算機視覺和人工智慧相關的演算法研究的經歷,在影像相關如人臉識別,影像分類,工業自動化,視訊分析等領域擁有豐富的研發經驗,研發的產品涉及安防,軍事,移動網際網路,工業 4.0 等多個領域,曾帶隊獲得 ACM Muliti-media 大規模視訊分類競賽亞軍。

本文主要分享了七牛人工智慧實驗室在視訊 AI 方面的一些工作,分別有兩個關鍵詞:一個是多維度融合,另外一個關鍵詞是視訊 AI

首先介紹一下七牛 ATLAB,幫助大家瞭解人工智慧實驗室。

這個實驗室成立僅兩年的時間,主要的任務是在整個七牛雲的平臺上,為廣大的客戶提供一些人工智慧方面的服務。在 ATLAB 之前,七牛的整個多媒體服務是通過 DORA 這個產品給大家做展現。瞭解過七牛雲整個系統的人應該都知道 DORA 是一個包羅永珍的東西。之所以起名叫 DORA 是因為希望它能像哆啦 A 夢一樣,萬能口袋裡有各種東西,給大家帶來無限的可能。整個平臺做得很大,每天的請求量大概在百億級的水平。

它的基礎架構包括三層:首先是底下會依託整個七牛的基礎服務,包括雲端儲存和容器計算以及日誌服務;還有上面提供圖片和視訊 API,包括圖片的裁剪、縮放、瘦身之類的同步 API 和視訊轉覽之類的 API,為大家提供一些音視訊的服務,這是最初 DORA 整個設計的初衷。



七牛雲趙之健:多維度融合賦能視訊 AI 的實踐

ATLAB 整個人工智慧實驗室就是基於整個 DORA 之後,在上面繼續布了一套 AI 的引擎,裡面會包括一些鑑黃、物體檢測以及圖片相關的一些 AI 引擎和 AI 的深度學習平臺,這樣就稱它為 DORA++ 。通過 atlab.ai 這個網址,就可以看到整個AI 引擎的 DEMO,裡面會有一些類似這樣的展示。

包括我們做了很久的圖片鑑黃服務、物體場景檢測識別服務、人臉檢測服務,還有最後是一個圖片分割的服務。現在整個 ATLAB 圖片 AI,支援了包括 11000 類的圖片分類、3000 類的檢測、20 類比較精細的鑑黃、400 類的場景以及人臉相關的服務,其中人臉識別在百萬人臉底庫中的首選識別率已經逼近 99%。

下面介紹第一個關鍵詞:視訊

我們為什麼要做視訊?

七牛雲趙之健:多維度融合賦能視訊 AI 的實踐


隨著通訊技術的發展,我們研究的一些事物的物件是會隨著通訊技術的發展發生改變的。遙想當年還是直板機諾基亞的時候,2G GPRS 網路的時候,QQ 能夠聊天發簡訊就足以滿足,因為當時的通訊技術不足以支援你發更多的資訊。而到了 3G、4G 年代,大家用的更多的是微信,交流更多的是圖片和一些短視訊等,所以我們 AI 研究的物件,就開始向圖片發展。未來可能會到 5G 時代,資料傳輸速度會從原來的 10M 變成 10G 的水平,比如一些實時的視訊通話,一些直播的應用,肯定會成為我們未來研究的很重要的物件。因此,隨著通訊技術的發展,視訊總有一天會成為整個人工智慧研究比較重要的物件。

圖片 AI 就是隨著深度學習技術的發展和非常廣大的資料級的推動。視訊跟圖片相比,視訊本身有很多自己的特點,生搬硬套圖片那一套可能並不實用。

首先視訊內容的多樣性,視訊和圖片一樣具有內容的多樣性。而且有些分析的類別可能是在視訊裡才會有的。包羅到整個生活當中的方方面面。所有生活中的內容,都可能成為我們視訊處理的物件。

其次就是現有視訊產生的場景的複雜性,現今視訊產生的場景大概分為:視訊監控、直播,還有一些電視臺的媒體,這三個場景是視訊比較多的情況。僅僅是在這三大場景裡面,也存在廣泛的多樣性。例如在視訊監控的場景下,由於這些視訊部署的物件不同,會導致所有部署的攝像頭,位置高度以及它關心的物件有所不同,會導致處理的複雜性。同樣的多樣性也會在直播場景,遇到比如說有主播、演唱會、球賽,包括賈伯斯的釋出會之類的各種各樣的場景。這些可能是視訊處理起來比較難的一些方面。當然在媒體行業,也會有新聞、綜藝、電視劇、電影這樣不同型別的場景。

視訊跟圖片的區別,還有最重要的一點是隻有當你看到視訊的最後一秒,你才知道這個視訊發生了什麼。像球賽這張圖展示的一樣,大多數人可能都會覺得這個球進了,但是他偏偏就都踢在橫樑上。時序性的資訊是視訊獨有的,這與圖片完全不同。

七牛雲趙之健:多維度融合賦能視訊 AI 的實踐

最後說到的是視訊資料量的問題。視訊如果簡單一點理解,就可以看成是一連串圖片的集合。那麼我們比較了一下,現在市面上常見公開的資料級,前兩個一個是檢測的資料級、一個是分類的資料級。可見,它在一百萬量情況下的大小,大概是 100 個 G 左右,而視訊僅僅只有十幾萬的資料就可以達到 T 級的水平,也就是說視訊的資料量相對於圖片來說是爆炸式的,處理的時候也是難點。

以上是第一個關鍵詞的內容。

下面介紹第二個關鍵詞:多維度融合

我們怎麼用融合的方式去做視訊?

首先來談談,在做分類的時候,如何使用多維度的特徵這樣一個融合層次,去完成對視訊的分析。去年 6 月份,在剛開始從事視訊研究時,我們打算從視訊競賽入手開始研究視訊的一些演算法。

七牛雲趙之健:多維度融合賦能視訊 AI 的實踐

在當時 ACM( LSVC2017 )舉辦了一個視訊分類的比賽,包含 500 個不同的類,幾十萬的視訊。那個視訊標註,就是一個視訊整段的標註,沒有把事件具體發生的片段標出來,這個難度是比較高的。當時我們的想法是我們去試水和了解我們和世界最先進的水平相差有多少的態度去參加了比賽,主要使用的方法是通過一個特徵融合的方法去完成比賽。

首先我們用了一些很深的深度學習圖片用的網路去提了一系列特徵。

七牛雲趙之健:多維度融合賦能視訊 AI 的實踐

然後用了一個時序編碼,用詞袋模型推因出的 NETVLAD 的模型,核心思想是把視訊長度不同的特徵段變成等長的特徵,相當於把長度五花八門的特徵都變得一樣長,做了這樣一個編碼的工作。同時還進行了一些簡單的擴充,相當於在之前設定編碼的時候,加入了一些我們自己設計的結構。

七牛雲趙之健:多維度融合賦能視訊 AI 的實踐


然後設計了一些 fusion 的方法,其中一個比較有特點的是 一個 early fusion Net-VLAD,相當於我們不是在最終分類的時候才將我們特徵的結果做一個融合,而是在特徵層面就把它進行融合,這樣融合的好處是,可以大量減少最後這一層 FC 的引數量,使整個模型推理更快。

七牛雲趙之健:多維度融合賦能視訊 AI 的實踐

這是最終比賽的結果,可以看到 map 從最初跑的 0.68,到最後可以達到我們提交的 0.87,通過特徵融合的方式可以極大地提高整個視訊分類的準確度的。這就是我們最終的成績,稍稍落後阿里拿了第 2 名。

雖然最終的成績還可以,但是在整個比賽過程中,我們遇到了非常多的問題。資料量特別大的時候,下載資料就花了一個星期,處理預處理又花了一個星期,整個時間非常耗時。整個視訊訓練,要讓它能夠變得更快,我們就必須要整成一套流式的訓練平臺,相當於從視訊端輸進去大家就開始訓練,然後通過多維度的工具鏈的融合,使整個訓練速度加速,這樣才可能訓練出更好的模型。

下面介紹一下七牛雲整個的深度學習平臺。

七牛雲趙之健:多維度融合賦能視訊 AI 的實踐

上面一套最開始傳統模型釋出的流程,它就包括整個資料級的整理、下載、標註,再做一些預處理,手工搭平臺,再訓練最終交付出去。我們的深度學習平臺,就是將上面過程中可以自動化的事情,全部用自動化的手段實現,這樣導致整個的訓練過程,可以減少大概 80% 的人力和 50% 的時間。這是比賽時候就想做的事情,整個融合的工具鏈的入口是我們開發的 VOTT 標註的平臺,在這個平臺上可以很方便地標註各種視訊片段的資訊和一些視訊類別的標籤,然後通過這個進度條拖、拽等,可以很方便地找到你想標註的內容。

七牛雲趙之健:多維度融合賦能視訊 AI 的實踐

然後就是整套大規模的流式訓練平臺。整個平臺我們拆成了四個部分:第一個部分是一些視訊解碼,儲存解碼等;第二個部分是一些特徵提取的功能;第三個部分是模型訓練;第四個部分是模型的融合。整個把它拆分成了四個完全獨立的部分,它們之間互不相干,資料進來之後就可以進行源源不斷的流式訓練。

整個儲存和編碼解碼用的是 ALLUXIO 和 NVIDIA 提供的 NVVL 工具。這個工具的好處是:它可以呼叫 GPU 上的解碼器,將視訊解碼的資訊直接儲存在 GPU 上,省去了從 CPU 到 GPU 的拷貝過程,從而加快了整個訓練的過程。

特徵提取叢集,是將原始的視訊轉化成我們要的例如單幀影像,多幀影像和光流之類的訓練用的素材,然後拿來訓練。同時我們發現影像對視訊的表述,是比較侷限的。有些時候還需要聲音、文字這樣的資訊,這些額外資訊的加入也可以提高我們訓練的效果,所以一併把它們放在叢集裡。

七牛雲趙之健:多維度融合賦能視訊 AI 的實踐

這次最新的 CVPR 的比賽中,我們只花了七天七模型就完成了整個比賽,結果也不算太好,就拿了個第三名。七天七模型主要包括 TSN I3D non-local 等視訊專用的模型,就不再是之前圖片相關的網路,我們的技術報告連結在圖片上,可以通過這個就詳細地瞭解模型的一些情況和技術報告。

有了這個快速訓練模型的能力之後,我們在視訊分析可以去哪裡落地。於是就會跟很多客戶討論,你們對視訊有什麼需求和要求,他們提到有一個視訊通用結構化的需求。這個需求是指,有時候需要對視訊裡面的內容進行一些搜尋,搜尋裡面一些敏感的人、敏感的事、或者是一些特定的物體。但肯定不能每次搜尋的時候,就把整個視訊全部拉回來跑一遍,畢竟這個成本是不能承受的。那麼就需要把一個視訊轉成一個通用的結構化的可以搜尋的一些東西去做這麼一件事。

七牛雲趙之健:多維度融合賦能視訊 AI 的實踐


不同的客戶,對於視訊結構化的需求有不同的理解。比如一些媒體的客戶,內容很合適他們的硬性要求,他對於裡面出現的一些比如涉黃的內容,是比較敏感的,他需要這樣一個東西;還有一些敏感人物是不能出現的,這是特別硬性的要求;另外還有一個要求,就是希望視訊可以分門別類的分在提前預先設定好的類別下面。

之前這些事情都是人做的,比如《奔跑吧兄弟》就希望分在綜藝的類別下,這是使用者的需求。如果在安防的監控場景下,需求就可能是希望能夠在杭州市全部的攝像頭裡面找到某一輛紅顏色的車。這就需要做一個快速的搜尋,同時把無關的資訊全部壓縮掉,不必存這麼多視訊,只要存下解構化的資訊就可以,能不能從這些解構化的資訊裡面做一些預測,這是使用者的需求。所以整個的需求,會分成很多種型別。

怎麼樣描述一個視訊?比方說《葉問》這個電影,可以從幾個方面找到它。

首先,搜尋功夫片或者甄子丹這個人,都可能會搜到他。另外還有一個是一句非常有名的臺詞 “ 我要打十個 ”,可能也會搜尋到。你搜尋一個視訊,可能從視訊整體去搜尋到它,或者從關鍵人物可以描述它,或者通過一些動作或者事件也可以找到它。這三個層級都是視訊結構化需要做的事情,所以提出這樣一個多層級的視訊結構化架構。裡面會有整段視訊的結構化,還有一些關鍵人物的結構化和事件行為的結構化。

只有多維的技術相融合,才能完成多維度視訊結構化這件事情。首先視訊整體結構化就需要視訊整理分類的能力;視訊人物結構化,就需要有人,有檢測跟蹤的能力;事件檢測化,就需要檢測裡面的事件和鏡頭分割的能力,有了這樣的能力以後,才能完成整個多維的結構化的事情。

產品在這裡不一一列舉,直接跳到我們做的一些視訊結構化的 DEMO。

七牛雲趙之健:多維度融合賦能視訊 AI 的實踐

第一個是視訊中人臉結構化的 DEMO。這是給電視臺做的,需求是把裡面的人全部結構化,方便後續搜尋。經過整理下來的功能,第一是要實現人臉的檢測和上傳,把人臉的資訊存下來;第二是要識別裡面一些敏感人物,包括一些政治人物;第三是要把普通的人物,即不敏感的人歸到一起,只要做這三個功能。

七牛雲趙之健:多維度融合賦能視訊 AI 的實踐

最終結果是這樣的,這是在這個視訊裡面找到的人;這些綠色區域,就是這個人出現在視訊當中的時間。如果當你需要很方便地去看這個人在視訊中出現的片段,只需要把這個滑鼠點到跟它相關的內容上面,就會自動地播放跟這個人相關的事件和工作。這是整個視訊人臉結構化的專案。

七牛雲趙之健:多維度融合賦能視訊 AI 的實踐

第二個是我們做了一個點球事件識別的 DEMO。可以看到這個曲線就表示的是這個事件,這個視訊上點球的概率是多少。當出現點球的時候,這個事情會超過這個紅線,是一個預測值,超過這個紅線的時候就會知道點球事件發生了。我們訓練模型經過測試之後,整場球賽可以把點球都找出來,誤檢很少,整個的效果還可以。

但是大家看到這個點球 DEMO 會覺得,點球 DEMO 有點 low,因為只能告訴你這個時候發生的點球,唯一能做的是把整個賽季的視訊跑遍,然後做成一個點球合集,然後一直看。為什麼會導致這個東西好像沒什麼用呢?

經過分析我們發現,一場很好的球賽,它不僅僅包括球場上的一些事件,還要包括整個教練員的排兵佈陣,包括一些明星球員的超神的發揮和一些球隊與球隊之間的歷史和恩怨等。整個事件加在一起,才會是一場比較精彩的球賽。而只有足球事件是可以用視訊結構化的方法得到,而剩下的這些東西,則需要一些知識圖譜和自然語言處理的東西,我們必須要把多維的資訊融合起來,才能得到一個完整的東西。

七牛雲趙之健:多維度融合賦能視訊 AI 的實踐

所以我們就重新設計了一個點球的架構,將爬蟲爬到的關於足球的知識,經過資料清洗跟合併之後,建成了球星人臉庫和知識圖譜。當處理視訊的時候,不僅檢測球場上的事件,還對球場上的人進行識別,通過與球星人臉庫和知識圖譜的相互呼叫,就會得到一些歷史的資料。之後就將歷史資料跟球場事件做一個綜合的展示。這樣就相當於有多維度的資訊了。我們第二個版本可以達到的效果是:當梅西踢點球的時候,就可以在左上角顯示出來他是誰、他是哪個國家的、他之前踢進了多少球、這樣整個演示的內容就顯得豐滿一些。

通過我們一年多來的一些實踐,我們認為單獨的內容可能沒有很好地解決實際當中視訊的需求,我們需要結合各種各樣多維度的包括知識、技術、能力、產品之類的內容,去把它打一個包,才能整體地解決一些視訊上的問題。所以在我們未來的產品架構裡面,會帶上學習引擎,同時也會帶上我們各種識別引擎,還有我們自己視訊的一些引擎,經過合力才能成為一個比較好的視訊產品。

我們一直堅信視訊肯定是未來的大勢所趨,總有一天所有的智慧分析都要走上視訊的道路,希望七牛雲在這方面做的產品,可以給大家一個更好的視訊的 AI 的體驗。

七牛雲趙之健:多維度融合賦能視訊 AI 的實踐







相關文章