技术详解:基于人脸识别的 AI 弹幕
--------點(diǎn)擊屏幕右側(cè)或者屏幕底部“+訂閱”,關(guān)注我,隨時(shí)分享機(jī)器智能最新行業(yè)動(dòng)態(tài)及技術(shù)干貨----------
有時(shí)候,彈幕比劇情還精彩,那些腦洞大開、觀點(diǎn)鮮明的彈幕,可以讓千萬用戶參與到“劇情創(chuàng)作”中,因此很多人都喜歡邊看劇邊發(fā)彈幕。在 AI 算法的加持下,彈幕的呈現(xiàn)形式也花樣翻新。優(yōu)酷的很多劇都上線了基于 AI 人臉識(shí)別的跟隨彈幕,與劇情更貼合,可玩性也更高。這類彈幕是如何實(shí)現(xiàn)的?有哪些核心技術(shù)?
在 GMIC 智慧文娛技術(shù)專場(chǎng)上,阿里文娛高級(jí)無線開發(fā)專家少廷分享了在優(yōu)酷播放場(chǎng)景中,如何讓互動(dòng)結(jié)合算法的識(shí)別能力,實(shí)現(xiàn)新的 AI 彈幕形態(tài)。同時(shí)也介紹了優(yōu)酷在互動(dòng)游戲化領(lǐng)域的探索,以及讓互動(dòng)與內(nèi)容相結(jié)合的應(yīng)用實(shí)踐。
播放中的互動(dòng)場(chǎng)景
為什么要在播放場(chǎng)景中加入互動(dòng)環(huán)節(jié)?歸納起來有四個(gè)價(jià)值:一是讓用戶更好地融入劇情,參與到劇情之中;二是互動(dòng)能夠?qū)τ脩糇鰧?shí)時(shí)反饋,體感非常好;三是很多用戶在看劇時(shí),精力不是那么集中,我們通過互動(dòng)去抓住用戶的剩余注意力;四是增加社區(qū)屬性,讓用戶盡情表達(dá),產(chǎn)生歸屬感。
上圖是優(yōu)酷重要播放互動(dòng)的場(chǎng)景,包括在畫面中彈出提示,對(duì)相關(guān)情節(jié)信息做科普介紹;雙流播放形態(tài),通過子母屏為播放場(chǎng)景提供第三人稱視角;在劇中加入猜劇情、投票、小游戲等,彈幕是最核心的形態(tài)。
無論從用戶規(guī)模還是用戶效率看,彈幕都是效率最高的互動(dòng)形式,是互動(dòng)最頭部的場(chǎng)景。AI 互動(dòng)彈幕的出發(fā)點(diǎn)很簡(jiǎn)單,就是希望用戶的互動(dòng)與內(nèi)容能更緊密地結(jié)合,讓互動(dòng)的展示形態(tài)更年輕和二次元。之前我們?cè)趶椖恢凶鲞^角色扮演的彈幕,指的是用戶可以選擇劇中角色,以他的口吻和頭像來發(fā)彈幕。
角色扮演彈幕的轉(zhuǎn)化率非常高。我們進(jìn)一步思考,用戶能不能直接在角色上,通過類似漫畫配圖的方式發(fā)彈幕,與內(nèi)容融合到一起。這就是 AI 互動(dòng)彈幕的由來。
基于機(jī)器視覺的互動(dòng)彈幕的技術(shù)挑戰(zhàn)
1、技術(shù)面臨的問題:識(shí)別放到端側(cè)還是云端?
一是識(shí)別劇中人物,人像識(shí)別本身已經(jīng)有成熟的算法,既可以放到端側(cè),也可以放到云端,那么應(yīng)該把識(shí)別能力放在哪?核心的識(shí)別能力如果放到客戶端上,識(shí)別的功耗和性能開銷是很大的。如果是針對(duì)某些垂類場(chǎng)景,僅需在短時(shí)間內(nèi)識(shí)別,放在客戶端完全沒有問題;但如果是長(zhǎng)視頻,從頭到尾都有一個(gè)客戶端的識(shí)別引擎在跑,端側(cè)設(shè)備的性能、耗電就難以接受了。
二是客戶端識(shí)別的精準(zhǔn)度,因?yàn)樗惴ㄗR(shí)別直接輸出結(jié)果,很難達(dá)到產(chǎn)品化的要求。在這一過程中,還要對(duì)識(shí)別結(jié)果進(jìn)行二次加工和處理,包括平滑處理、降噪。這些處理都需要更多的工作時(shí)長(zhǎng),如果都放到客戶端,難以保證實(shí)時(shí)性。所以我們將整個(gè)識(shí)別引擎都放到云端,通過云端識(shí)別輸出數(shù)據(jù),經(jīng)過優(yōu)化處理再將這些數(shù)據(jù)打包下發(fā)到端側(cè),實(shí)現(xiàn)投放和互動(dòng)。
2、算法和工程如何對(duì)接?
工程和算法如何對(duì)接、工程如何解決算法輸出后的各類問題?包括識(shí)別精度、數(shù)據(jù)抖動(dòng)、視頻文件變更之后導(dǎo)致的數(shù)據(jù)不一致的問題;另外,端側(cè)要解決核心的體驗(yàn)問題。在播放過程中,鏡頭頻繁切換時(shí),這些人像在鏡頭中變化的問題,手機(jī)界面橫豎屏的適應(yīng);還有氣泡樣式的彈幕,在不同劇中和內(nèi)容的氛圍如何融合等。
上圖是我們的技術(shù)鏈路,由下到上,依次是算法層、服務(wù)端、客戶端。在算法層,我們通過模型訓(xùn)練進(jìn)行抽幀,對(duì)每一幀的畫面進(jìn)行識(shí)別,通過人臉檢測(cè)和跟蹤來抓取每一幀的人臉數(shù)據(jù),再傳輸?shù)椒?wù)端進(jìn)行預(yù)加工,包括數(shù)據(jù)合并和降噪,最后將人臉數(shù)據(jù)打包,通過互動(dòng)投放引擎投放到端側(cè),實(shí)現(xiàn)核心交互和基礎(chǔ)體驗(yàn)。
1. 算法側(cè)具體的技術(shù)細(xì)節(jié)如下:
1)視頻抽幀與識(shí)別
抽幀現(xiàn)在按每秒 25 幀來抽取,這也是一個(gè)視頻的基礎(chǔ)幀率,對(duì)于高幀率的視頻當(dāng)然可以抽更多,但這與機(jī)器開銷和耗時(shí)是成正比的。另外在算法側(cè),人臉的識(shí)別引擎有幾部分,一是標(biāo)準(zhǔn)的人臉識(shí)別,能夠識(shí)別大多數(shù)人臉的場(chǎng)景;二是優(yōu)酷還針對(duì)明星和人物角色做了單獨(dú)優(yōu)化,我們會(huì)抽取一些劇中的明星和角色數(shù)據(jù),作為數(shù)據(jù)集去訓(xùn)練,提升劇中主角和明星的識(shí)別率。
2)人臉跟蹤
算法會(huì)識(shí)別出視頻中每一幀的人臉和對(duì)應(yīng)坐標(biāo),坐標(biāo)用來標(biāo)注人臉對(duì)應(yīng)的位置,每個(gè)人臉幀也對(duì)應(yīng)有人臉的特征值,相同特征值能夠識(shí)別為同一個(gè)人。這樣通過坐標(biāo)和特征值,我們就能識(shí)別出一個(gè)鏡頭從入場(chǎng)到出場(chǎng)的序列幀里同一個(gè)人的人臉運(yùn)動(dòng)軌跡。
3)平滑處理,防抖動(dòng)
我們知道算法是基于單幀對(duì)人臉做識(shí)別的,人臉的位置和大小的識(shí)別結(jié)果是有像素級(jí)的誤差的,同一個(gè)人臉哪怕運(yùn)動(dòng)很輕微,上一幀和下一幀的識(shí)別結(jié)果的方框是不會(huì)嚴(yán)絲合縫對(duì)齊的。這樣把連續(xù)的每一幀的識(shí)別結(jié)果像放動(dòng)畫片一樣串起來,這種像方框一樣的識(shí)別結(jié)果在播放場(chǎng)景中就會(huì)看到明顯的抖動(dòng)。
我們?cè)诠こ虃?cè)對(duì)抖動(dòng)做了檢測(cè)和計(jì)算,將抖動(dòng)限定在一個(gè)范圍之內(nèi),讓整個(gè)人臉的軌跡更平滑。
視頻2
視頻3
視頻 2 是算法直接輸出的人臉軌跡的識(shí)別結(jié)果,大家可以看到人臉的識(shí)別結(jié)果是伴隨人物運(yùn)動(dòng)在抖動(dòng)的,既有位置的抖動(dòng),也有大小的抖動(dòng)。視頻 3 是經(jīng)過平滑處理后的結(jié)果,人物在整個(gè)鏡頭中走動(dòng),我們的識(shí)別結(jié)果輸出是穩(wěn)定平滑的,抖動(dòng)效果已經(jīng)被平滑消除掉。
2. 服務(wù)端對(duì)算法層輸出的人臉原數(shù)據(jù)要做一系列的處理:
技術(shù)詳解:基于人臉識(shí)別的AI彈幕
1)降噪,過濾掉鏡頭中不重要的人臉雜音。所謂不重要,是因?yàn)殓R頭中有大量的路人鏡頭,很多是一閃而過的,這些鏡頭的人臉對(duì)于用戶交互來說不具備太大價(jià)值。所以我們要把路人、一晃而過的鏡頭中的人臉都過濾掉;
2)防抖。我們會(huì)對(duì)原數(shù)據(jù)進(jìn)行平滑處理;
3)合并,就是合并一組連續(xù)幀中相同一個(gè)人臉的位置,打包輸出。比如一個(gè)鏡頭中,一個(gè)人從左邊走到右邊,我們通過特征值識(shí)別出來這是相同一個(gè)人的連續(xù)鏡頭,那就把這一個(gè)鏡頭的人臉數(shù)據(jù)打包。這種包含了相同人臉和對(duì)應(yīng)軌跡的數(shù)據(jù),合并到一起之后,就成了一個(gè)數(shù)據(jù)包。然后將用戶發(fā)的彈幕數(shù)據(jù)跟人臉的軌跡數(shù)據(jù)包綁定,投放到端側(cè),端側(cè)負(fù)責(zé)展示。
3. 在端側(cè)的技術(shù)細(xì)節(jié)
借助優(yōu)酷互動(dòng)投放引擎,將人臉識(shí)別結(jié)果的軌跡數(shù)據(jù)包和彈幕一起投放,在端側(cè)完成數(shù)據(jù)解析和展示。端側(cè)有一個(gè)輪訓(xùn)引擎來輪訓(xùn)互動(dòng)投放的數(shù)據(jù),當(dāng)播放進(jìn)度到某個(gè)位置時(shí)有人臉軌跡的數(shù)據(jù)和彈幕數(shù)據(jù)時(shí),端側(cè)會(huì)把人臉位置的彈幕氣泡顯示到播放場(chǎng)景中。
另外,客戶端還要解決技術(shù)體驗(yàn)問題,包括鏡頭切換,雖然是細(xì)節(jié)問題,但是其實(shí)費(fèi)了很多功夫。 例如,用戶想發(fā)彈幕,在發(fā)送的一瞬間,鏡頭切換了。在用戶側(cè)看到的是彈幕閃一下就消失了,這個(gè)體感是非常不好的。
所以,在技術(shù)上我們要保證人臉彈幕發(fā)送后,會(huì)在同一個(gè)位置顯示一定的時(shí)長(zhǎng)。現(xiàn)在是 1 秒左右;投放彈幕的時(shí)候同樣如此,如果用戶在鏡頭的最后幾百毫秒發(fā)送氣泡彈幕,我們會(huì)把它做時(shí)間前置偏移,讓彈幕稍微往前,在鏡頭中完整展示出來。
另外,在氛圍方面,我們有古裝劇、有現(xiàn)代劇、有懸疑、有綜藝,劇的類型差異比較大。氣泡彈幕與播放結(jié)合比較緊密,我們還是希望它的效果、樣式、氛圍能夠跟劇本身貼合。我們?cè)诙藗?cè)實(shí)現(xiàn)這類樣式的動(dòng)態(tài)配置能力,對(duì)于不同的劇集能夠展示不同的風(fēng)格。剛才大家在案例中也看到了,有紅的、有藍(lán)的、有灰的,然后古裝劇會(huì)帶一些紋理小花之類。
另一個(gè)嚴(yán)重問題是,當(dāng)視頻剪輯變更之后,數(shù)據(jù)如何快速更新?
首先為什么會(huì)有視頻變更?這是視頻行業(yè)中的普遍現(xiàn)象。例如一個(gè)大劇,一個(gè)熱綜,在整個(gè)播放周期內(nèi),會(huì)經(jīng)常因?yàn)橐恍┰虮恢匦录糨嫛V丶艉缶蜁?huì)引發(fā)一系列問題,比如,可能有一個(gè)橋段被剪掉了,原來識(shí)別出來的人臉數(shù)據(jù)結(jié)果和現(xiàn)在新的視頻對(duì)不齊。另外,運(yùn)營(yíng)同學(xué)或者剪輯同學(xué),其實(shí)無法準(zhǔn)確的告知在什么時(shí)間點(diǎn)剪了什么內(nèi)容,這無法依靠人力來保障同步。
另外,假設(shè)我們知道視頻被剪輯了,全部重新識(shí)別一遍行不行?答案是不行,第一是耗時(shí)長(zhǎng),額外開銷高;第二,如果重新識(shí)別,相當(dāng)于鏡頭中的人臉的數(shù)據(jù)全部都更新了一遍,用戶發(fā)送的存量彈幕和人臉相結(jié)合的部分無法還原。
所以我們的核心問題,就是要解決如何快速找到剪切點(diǎn),并且只處理剪輯掉的部分。 技術(shù)解法如下:
首先工程側(cè)要自動(dòng)識(shí)別變更,一旦視頻源變更,服務(wù)端就能收到相應(yīng)的通知,并啟動(dòng)去做重新識(shí)別。算法要識(shí)別剪輯之后出現(xiàn)差異的部分,找到中間差異的時(shí)間段。這樣處理的優(yōu)勢(shì)是:1)可以實(shí)現(xiàn)無人值守;2)識(shí)別時(shí)間短,分鐘級(jí)處理完畢。
具體是如何實(shí)現(xiàn)的?我們會(huì)通過算法識(shí)別特征值。例如,原視頻中 a 和 b 是兩個(gè)人臉,中間的時(shí)長(zhǎng)是 n 秒,剪輯后算法再去識(shí)別新視頻源時(shí),發(fā)現(xiàn) c 和 d 對(duì)應(yīng)的人臉特征值和 a 和 b 不一致、時(shí)長(zhǎng)對(duì)不上。通過取兩者(a 和 b,c 和 d)的差值,就知道那部分是被剪掉了,然后去處理差值的部分,一兩分鐘重新識(shí)別完,保證數(shù)據(jù)重新上線。
回到用戶體驗(yàn)上,用戶對(duì) AI 彈幕是評(píng)價(jià)是怎么樣的?
左邊是用戶用 AI 互動(dòng)彈幕發(fā)布的內(nèi)容,很多都是優(yōu)秀的段子手,大家能夠玩起來。
右邊是用戶反饋,有表達(dá)不理解、不清楚是做什么的,或者認(rèn)為彈幕干擾正常觀影。所以目前 AI 彈幕還是小范圍投放,并沒有全面鋪開,因?yàn)槲覀円苍谒伎加脩舻慕邮芏取?在長(zhǎng)視頻中,并不是所有用戶都能接受。更好的方向是將這種互動(dòng)性強(qiáng)、更有意思的模式,與短視頻和直播結(jié)合起來,因?yàn)樵诙虄?nèi)容和碎片化內(nèi)容中,用戶的接受度會(huì)更高,娛樂性會(huì)更強(qiáng)。
播放互動(dòng)的相關(guān)嘗試和展望
1. 互動(dòng)交互能夠和內(nèi)容更緊密結(jié)合,交互方式更游戲化
通過對(duì)視頻內(nèi)容的識(shí)別,能夠識(shí)別到或者理解到劇中的人物或者劇中的演員,甚至劇中的物體。這樣我們對(duì)內(nèi)容本身的場(chǎng)景和角色是能做到理解的。這樣就可以將互動(dòng)投放跟內(nèi)容做的更緊密,比如說能夠跟明星結(jié)合的更緊密,甚至能夠跟商業(yè)化結(jié)合的更緊密,讓商業(yè)化和內(nèi)容本身結(jié)合,這也是一個(gè)方向。
2. 互動(dòng)的效果更炫酷和驚艷
讓交互結(jié)果和交互的視覺更年輕化,更讓人有意外,讓用戶能有更進(jìn)一步互動(dòng)的欲望。
3. 用戶參與的數(shù)據(jù)沉淀能夠反過來指導(dǎo)內(nèi)容的制作和生產(chǎn)
將用戶參與互動(dòng)的數(shù)據(jù)沉淀下來,通過對(duì)數(shù)據(jù)的理解和二次加工,抽象出一些結(jié)論。包括用戶在互動(dòng)上的高潮節(jié)點(diǎn)和用戶高反饋的點(diǎn)。另外,希望指導(dǎo)內(nèi)容制作和生產(chǎn)。
4. 短視頻、直播這類碎片化的內(nèi)容能夠發(fā)揮互動(dòng)的新價(jià)值
在更碎片化的短視頻和直播內(nèi)容中,探索一些新形態(tài)和新價(jià)值。
原文鏈接:https://www.infoq.cn/article/g0LKc39WSRKpLqwei6q1
總結(jié)
以上是生活随笔為你收集整理的技术详解:基于人脸识别的 AI 弹幕的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何选择物联网软件开发供应商
- 下一篇: 小伙用智能 AI 修复100 年前京城的