天天看點

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

作者| 阿裡文娛進階無線開發專家 少廷

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

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

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

一、 播放中的互動場景

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

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

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

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

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

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

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

使用者的腦洞和創造力是無窮的,大家總是能想到各種很神奇的彈幕文案來調侃,能讓使用者有發揮空間與内容産生互動。

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

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

一是識别劇中人物,去識别人像,這個識别本身有成熟的算法,既可以放到端側,也可以放到雲端,也就是服務端。 那識别能力應該放到哪裡?

核心的識别能力,如果放到C端。識别的功耗和性能開銷是很大的。如果針對某一些垂類場景,在比較短的時間内識别,放在C端完全沒有問題。但如果在長視訊中,從頭到尾都有一個C端的識别引擎在跑,對機器的性能、開銷、耗電都難以接受。

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

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

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

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

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

1、 在算法側,具體的技術細節如下:

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

1) 視訊抽幀與識别

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

2) 人臉跟蹤

算法會識别出每一幀中人臉的資料,按照坐标形式,标注人臉對應的位置和特征,通過坐标的輸出來連接配接每一幀,通過人臉特征辨別,就知曉這個鏡頭從入場到出場,連續的一系列人臉是同一個人。進而辨別出來鏡頭中一系列的人臉運動軌迹。

3) 平滑處理,防抖動。

算法是基于單幀對人臉做識别的。因為人是不停運動的,單幀的識别結果中,人像的位置是有偏移的,識别出的每一幀人像坐标和大小都存在像素級的偏移的,連續起來,在播放場景中就會看到明顯的抖動。

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

視訊2這是直接算法輸出的人臉軌迹結果,每個人像都會有明顯的抖動;視訊3,是經過平滑處理後的結果,人物在整個鏡頭中走動,或者在一個鏡頭中有輕微晃動,我們的識别結果是穩定的,抖動效果已經被平滑消除掉。

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

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

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

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

3)合并,合并算法的人臉輸出去,把一個鏡頭中連續幀的源資料,如果是同一個人,比如他從左邊走到右邊,通過特征值來判斷這個鏡頭是同一個特征值同一個人,那就把這一個鏡頭的人臉打包。這種包含了相同人臉和對應軌迹的資料,合并到一起之後,它是一個的資料包;然後将使用者發的彈幕資料跟人臉的軌迹資料包,一起打包,投放到端側。

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

3、 在端側的技術細節

借助于優酷互動投放引擎,将人臉部的每一個鏡頭的軌迹和彈幕一起投放,在端測完成識别和展示。端側根據投放的人臉的軌迹坐标來輪巡,輪訓到播放到這個位置,是有人臉軌迹的,就是這個時間段人臉的軌迹從a位置到b位置,以及在這個時間段,我們有對應的彈幕資料。端側會把人臉位置的彈幕氣泡顯示到播放場景中;另外,還要解決技術體驗問題,包括鏡頭切換,雖然是細節問題,但是其實費了很多功夫。 例如,使用者想發彈幕,在發送的一瞬間,鏡頭切換了。使用者側看到的是彈幕閃一下就消失了,因為這個鏡頭已經切走了,這個體感是非常不好的。

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

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

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

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

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

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

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

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

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

技術解法:

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

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

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

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

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

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

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

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

基于人臉識别的氣泡彈幕,基于内容識别,能夠識别到劇中的人物或者劇中的演員,甚至劇中的物體,對内容本身的了解,将互動投放跟他們做的更緊密,比如說能夠跟明星結合的更緊密,甚至能夠跟商業化結合的更緊密,讓商業化和内容本身結合,這也是一個方向。

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

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

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

3、使用者參與的資料沉澱能夠回報指導内容的制作和生産

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

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

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

繼續閱讀