天天看點

技術詳解:基于人臉識别的 AI 彈幕

--------點選螢幕右側或者螢幕底部“+訂閱”,關注我,随時分享機器智能最新行業動态及技術幹貨----------

有時候,彈幕比劇情還精彩,那些腦洞大開、觀點鮮明的彈幕,可以讓千萬使用者參與到“劇情創作”中,是以很多人都喜歡邊看劇邊發彈幕。在 AI 算法的加持下,彈幕的呈現形式也花樣翻新。優酷的很多劇都上線了基于 AI 人臉識别的跟随彈幕,與劇情更貼合,可玩性也更高。這類彈幕是如何實作的?有哪些核心技術?

在 GMIC 智慧文娛技術專場上,阿裡文娛進階無線開發專家少廷分享了在優酷播放場景中,如何讓互動結合算法的識别能力,實作新的 AI 彈幕形态。同時也介紹了優酷在互動遊戲化領域的探索,以及讓互動與内容相結合的應用實踐。

技術詳解:基于人臉識别的 AI 彈幕

播放中的互動場景

為什麼要在播放場景中加入互動環節?歸納起來有四個價值:一是讓使用者更好地融入劇情,參與到劇情之中;二是互動能夠對使用者做實時回報,體感非常好;三是很多使用者在看劇時,精力不是那麼集中,我們通過互動去抓住使用者的剩餘注意力;四是增加社群屬性,讓使用者盡情表達,産生歸屬感。

技術詳解:基于人臉識别的 AI 彈幕

上圖是優酷重要播放互動的場景,包括在畫面中彈出提示,對相關情節資訊做科普介紹;雙流播放形态,通過子母屏為播放場景提供第三人稱視角;在劇中加入猜劇情、投票、小遊戲等,彈幕是最核心的形态。

無論從使用者規模還是使用者效率看,彈幕都是效率最高的互動形式,是互動最頭部的場景。AI 互動彈幕的出發點很簡單,就是希望使用者的互動與内容能更緊密地結合,讓互動的展示形态更年輕和二次元。之前我們在彈幕中做過角色扮演的彈幕,指的是使用者可以選擇劇中角色,以他的口吻和頭像來發彈幕。

技術詳解:基于人臉識别的 AI 彈幕

角色扮演彈幕的轉化率非常高。我們進一步思考,使用者能不能直接在角色上,通過類似漫畫配圖的方式發彈幕,與内容融合到一起。這就是 AI 互動彈幕的由來。

基于機器視覺的互動彈幕的技術挑戰

1、技術面臨的問題:識别放到端側還是雲端?

一是識别劇中人物,人像識别本身已經有成熟的算法,既可以放到端側,也可以放到雲端,那麼應該把識别能力放在哪?核心的識别能力如果放到用戶端上,識别的功耗和性能開銷是很大的。如果是針對某些垂類場景,僅需在短時間内識别,放在用戶端完全沒有問題;但如果是長視訊,從頭到尾都有一個用戶端的識别引擎在跑,端側裝置的性能、耗電就難以接受了。

二是用戶端識别的精準度,因為算法識别直接輸出結果,很難達到産品化的要求。在這一過程中,還要對識别結果進行二次加工和處理,包括平滑處理、降噪。這些處理都需要更多的工作時長,如果都放到用戶端,難以保證明時性。是以我們将整個識别引擎都放到雲端,通過雲端識别輸出資料,經過優化處理再将這些資料打包下發到端側,實作投放和互動。

2、算法和工程如何對接?

工程和算法如何對接、工程如何解決算法輸出後的各類問題?包括識别精度、資料抖動、視訊檔案變更之後導緻的資料不一緻的問題;另外,端側要解決核心的體驗問題。在播放過程中,鏡頭頻繁切換時,這些人像在鏡頭中變化的問題,手機界面橫豎屏的适應;還有氣泡樣式的彈幕,在不同劇中和内容的氛圍如何融合等。

技術詳解:基于人臉識别的 AI 彈幕

上圖是我們的技術鍊路,由下到上,依次是算法層、服務端、用戶端。在算法層,我們通過模型訓練進行抽幀,對每一幀的畫面進行識别,通過人臉檢測和跟蹤來抓取每一幀的人臉資料,再傳輸到服務端進行預加工,包括資料合并和降噪,最後将人臉資料打包,通過互動投放引擎投放到端側,實作核心互動和基礎體驗。

1. 算法側具體的技術細節如下:

技術詳解:基于人臉識别的 AI 彈幕

1)視訊抽幀與識别

抽幀現在按每秒 25 幀來抽取,這也是一個視訊的基礎幀率,對于高幀率的視訊當然可以抽更多,但這與機器開銷和耗時是成正比的。另外在算法側,人臉的識别引擎有幾部分,一是标準的人臉識别,能夠識别大多數人臉的場景;二是優酷還針對明星和人物角色做了單獨優化,我們會抽取一些劇中的明星和角色資料,作為資料集去訓練,提升劇中主角和明星的識别率。

2)人臉跟蹤

算法會識别出視訊中每一幀的人臉和對應坐标,坐标用來标注人臉對應的位置,每個人臉幀也對應有人臉的特征值,相同特征值能夠識别為同一個人。這樣通過坐标和特征值,我們就能識别出一個鏡頭從入場到出場的序列幀裡同一個人的人臉運動軌迹。

3)平滑處理,防抖動

我們知道算法是基于單幀對人臉做識别的,人臉的位置和大小的識别結果是有像素級的誤差的,同一個人臉哪怕運動很輕微,上一幀和下一幀的識别結果的方框是不會嚴絲合縫對齊的。這樣把連續的每一幀的識别結果像放卡通片一樣串起來,這種像方框一樣的識别結果在播放場景中就會看到明顯的抖動。

我們在工程側對抖動做了檢測和計算,将抖動限定在一個範圍之内,讓整個人臉的軌迹更平滑。

技術詳解:基于人臉識别的 AI 彈幕

視訊2

技術詳解:基于人臉識别的 AI 彈幕

視訊3

視訊 2 是算法直接輸出的人臉軌迹的識别結果,大家可以看到人臉的識别結果是伴随人物運動在抖動的,既有位置的抖動,也有大小的抖動。視訊 3 是經過平滑處理後的結果,人物在整個鏡頭中走動,我們的識别結果輸出是穩定平滑的,抖動效果已經被平滑消除掉。

2. 服務端對算法層輸出的人臉原資料要做一系列的處理:

技術詳解:基于人臉識别的AI彈幕

1)降噪,過濾掉鏡頭中不重要的人臉雜音。所謂不重要,是因為鏡頭中有大量的路人鏡頭,很多是一閃而過的,這些鏡頭的人臉對于使用者互動來說不具備太大價值。是以我們要把路人、一晃而過的鏡頭中的人臉都過濾掉;

2)防抖。我們會對原資料進行平滑處理;

3)合并,就是合并一組連續幀中相同一個人臉的位置,打包輸出。比如一個鏡頭中,一個人從左邊走到右邊,我們通過特征值識别出來這是相同一個人的連續鏡頭,那就把這一個鏡頭的人臉資料打包。這種包含了相同人臉和對應軌迹的資料,合并到一起之後,就成了一個資料包。然後将使用者發的彈幕資料跟人臉的軌迹資料包綁定,投放到端側,端側負責展示。

3. 在端側的技術細節

技術詳解:基于人臉識别的 AI 彈幕

借助優酷互動投放引擎,将人臉識别結果的軌迹資料包和彈幕一起投放,在端側完成資料解析和展示。端側有一個輪訓引擎來輪訓互動投放的資料,當播放進度到某個位置時有人臉軌迹的資料和彈幕資料時,端側會把人臉位置的彈幕氣泡顯示到播放場景中。

另外,用戶端還要解決技術體驗問題,包括鏡頭切換,雖然是細節問題,但是其實費了很多功夫。 例如,使用者想發彈幕,在發送的一瞬間,鏡頭切換了。在使用者側看到的是彈幕閃一下就消失了,這個體感是非常不好的。

技術詳解:基于人臉識别的 AI 彈幕

是以,在技術上我們要保證人臉彈幕發送後,會在同一個位置顯示一定的時長。現在是 1 秒左右;投放彈幕的時候同樣如此,如果使用者在鏡頭的最後幾百毫秒發送氣泡彈幕,我們會把它做時間前置偏移,讓彈幕稍微往前,在鏡頭中完整展示出來。

另外,在氛圍方面,我們有古裝劇、有現代劇、有懸疑、有綜藝,劇的類型差異比較大。氣泡彈幕與播放結合比較緊密,我們還是希望它的效果、樣式、氛圍能夠跟劇本身貼合。我們在端側實作這類樣式的動态配置能力,對于不同的劇集能夠展示不同的風格。剛才大家在案例中也看到了,有紅的、有藍的、有灰的,然後古裝劇會帶一些紋理小花之類。

另一個嚴重問題是,當視訊剪輯變更之後,資料如何快速更新?

技術詳解:基于人臉識别的 AI 彈幕

首先為什麼會有視訊變更?這是視訊行業中的普遍現象。例如一個大劇,一個熱綜,在整個播放周期内,會經常因為一些原因被重新剪輯。重剪後就會引發一系列問題,比如,可能有一個橋段被剪掉了,原來識别出來的人臉資料結果和現在新的視訊對不齊。另外,營運同學或者剪輯同學,其實無法準确的告知在什麼時間點剪了什麼内容,這無法依靠人力來保障同步。

另外,假設我們知道視訊被剪輯了,全部重新識别一遍行不行?答案是不行,第一是耗時長,額外開銷高;第二,如果重新識别,相當于鏡頭中的人臉的資料全部都更新了一遍,使用者發送的存量彈幕和人臉相結合的部分無法還原。

是以我們的核心問題,就是要解決如何快速找到剪切點,并且隻處理剪輯掉的部分。 技術解法如下:

首先工程側要自動識别變更,一旦視訊源變更,服務端就能收到相應的通知,并啟動去做重新識别。算法要識别剪輯之後出現差異的部分,找到中間差異的時間段。這樣處理的優勢是:1)可以實作無人值守;2)識别時間短,分鐘級處理完畢。

具體是如何實作的?我們會通過算法識别特征值。例如,原視訊中 a 和 b 是兩個人臉,中間的時長是 n 秒,剪輯後算法再去識别新視訊源時,發現 c 和 d 對應的人臉特征值和 a 和 b 不一緻、時長對不上。通過取兩者(a 和 b,c 和 d)的內插補點,就知道那部分是被剪掉了,然後去處理內插補點的部分,一兩分鐘重新識别完,保證資料重新上線。

技術詳解:基于人臉識别的 AI 彈幕

回到使用者體驗上,使用者對 AI 彈幕是評價是怎麼樣的?

左邊是使用者用 AI 互動彈幕釋出的内容,很多都是優秀的段子手,大家能夠玩起來。

右邊是使用者回報,有表達不了解、不清楚是做什麼的,或者認為彈幕幹擾正常觀影。是以目前 AI 彈幕還是小範圍投放,并沒有全面鋪開,因為我們也在思考使用者的接受度。 在長視訊中,并不是所有使用者都能接受。更好的方向是将這種互動性強、更有意思的模式,與短視訊和直播結合起來,因為在短内容和碎片化内容中,使用者的接受度會更高,娛樂性會更強。

播放互動的相關嘗試和展望

1. 互動互動能夠和内容更緊密結合,互動方式更遊戲化

技術詳解:基于人臉識别的 AI 彈幕

通過對視訊内容的識别,能夠識别到或者了解到劇中的人物或者劇中的演員,甚至劇中的物體。這樣我們對内容本身的場景和角色是能做到了解的。這樣就可以将互動投放跟内容做的更緊密,比如說能夠跟明星結合的更緊密,甚至能夠跟商業化結合的更緊密,讓商業化和内容本身結合,這也是一個方向。

技術詳解:基于人臉識别的 AI 彈幕

2. 互動的效果更炫酷和驚豔

讓互動結果和互動的視覺更年輕化,更讓人有意外,讓使用者能有更進一步互動的欲望。

3. 使用者參與的資料沉澱能夠反過來指導内容的制作和生産

将使用者參與互動的資料沉澱下來,通過對資料的了解和二次加工,抽象出一些結論。包括使用者在互動上的高潮節點和使用者高回報的點。另外,希望指導内容制作和生産。

4. 短視訊、直播這類碎片化的内容能夠發揮互動的新價值

在更碎片化的短視訊和直播内容中,探索一些新形态和新價值。

技術詳解:基于人臉識别的 AI 彈幕

原文連結:

https://www.infoq.cn/article/g0LKc39WSRKpLqwei6q1

繼續閱讀