視頻換臉原理(初步認(rèn)識(shí))——從數(shù)據(jù)獲取到視頻換臉整個(gè)流程

(一)獲取人臉數(shù)據(jù)

需要準(zhǔn)備圖片數(shù)據(jù):兩個(gè)不同的人臉经磅,各種表情射众,數(shù)量越多越好,約1萬(wàn)張以上會(huì)有比較好的替換效果述暂。

一般采用的方法是從視頻中截取痹升,操作如下:

首先下載視頻(本例用風(fēng)行播放器下載)。

剪切視頻片段(本例用愛(ài)剪輯)畦韭。

因?yàn)槟康氖菫榱私厝∪四槻刻鄱辏约羟械囊曨l片段很講究。

視頻分辨率要高清(否則截取的人臉像素太低)艺配;片段中目的人臉比較大察郁、突出、最好就是只有他自己一個(gè)人鏡頭特寫的視頻片段转唉。


從視頻中截取圖片(本例用Ffmpeg軟件)皮钠。

此時(shí)得到有目的人臉的一張張圖片。

然后酝掩,需要?jiǎng)h除不需要的圖片(如有非目的人臉的鳞芙,這就是數(shù)據(jù)清洗)。

然后寫幾行代碼檢測(cè)圖片中的人臉并截绕谙骸(利用OpenCV)原朝。


檢測(cè)并截取的人臉(用于輸入到神經(jīng)網(wǎng)絡(luò)中訓(xùn)練提取特征)。

人臉替換的效果非常依賴于這些截取到的人臉圖片的質(zhì)量:

如果截取的人臉包含了過(guò)多的干擾部分镶苞,那么替換效果就很差喳坠。

一直重復(fù)前面的步驟,直到獲取足夠多的人臉(兩個(gè)需要互換的人臉)茂蚓。


然后再寫幾行代碼修改人臉圖片的寬高為統(tǒng)一大小壕鹉,如256x256;

因?yàn)檩斎氲缴窠?jīng)網(wǎng)絡(luò)中訓(xùn)練的圖片寬高需要一致聋涨。


(二)進(jìn)行模型訓(xùn)練

接下來(lái)晾浴,開(kāi)始進(jìn)行漫長(zhǎng)的訓(xùn)練:

一般需要,一萬(wàn)張圖片牍白,訓(xùn)練100萬(wàn)次脊凰,才有比較好的替換效果;

我計(jì)算了一下時(shí)間茂腥,普通i7-PC狸涌,訓(xùn)練一次約44s切省,100萬(wàn)次需要運(yùn)行約1.2萬(wàn)小時(shí),約500天帕胆;玩不起(本例訓(xùn)練了1000次)朝捆。

深度學(xué)習(xí)漫長(zhǎng)的訓(xùn)練過(guò)程;

本例代碼是利用深度學(xué)習(xí)框架keras(backend is TensorFlow)構(gòu)建CNN懒豹;

訓(xùn)練完成之后芙盘,得到換臉模型;


(三)進(jìn)行視頻人臉替換

?接下來(lái)進(jìn)行視頻人臉替換歼捐;

?通俗點(diǎn)說(shuō)就是通過(guò)提取面部的特定結(jié)構(gòu)何陆,如眼睛、鼻子豹储、嘴巴的位置贷盲,顴骨、下巴剥扣、臉頰的形狀丁眼;

?然后按照這些特征點(diǎn)做替換岖沛;

?前面訓(xùn)練的模型斧散,已經(jīng)有了兩個(gè)不同的人臉的特征凭迹;

?就目前了解的信息來(lái)說(shuō),通過(guò)深度學(xué)習(xí)替換人臉這一技術(shù)相對(duì)于工業(yè)使用的人臉表情提取技術(shù)晦炊,優(yōu)勢(shì)是大大降低了使用門檻鞠鲜,但是遠(yuǎn)遠(yuǎn)還做不到以假亂真的完美效果;


接下來(lái)断国,仍然使用愛(ài)剪輯工具贤姆,從一段視頻,如電影中截取用于替換人臉的一個(gè)視頻片段稳衬;

截取的視頻片段也是需要精心挑選的:需要有利于檢測(cè)到被替換的人臉霞捡。

例如,截取的視頻中同時(shí)出現(xiàn)在鏡頭中人臉太多薄疚、人臉太小等都不利于檢測(cè)碧信。


再利用ffmpeg工具,把需要被替換人臉的視頻按原幀速截取成每一張圖片街夭;

注意:一定要按原幀速截取砰碴,否則后面替換人臉后再合成視頻會(huì)失幀。


接下來(lái)板丽,利用神經(jīng)網(wǎng)絡(luò)進(jìn)行人臉替換衣式。

輸入數(shù)據(jù):上一步截取的每一幀圖片;

輸出數(shù)據(jù):人臉被替換后的每一幀圖片檐什;


簡(jiǎn)單點(diǎn)說(shuō)碴卧,替換原理如下:

1.從原圖片中,檢測(cè)到人臉(用OpenCV)乃正,截取人臉部分住册;

2.把截取的人臉部分(人臉圖片)輸入到神經(jīng)網(wǎng)絡(luò)進(jìn)行替換,得到一個(gè)新的人臉(圖片)瓮具;

3.再把新人臉(圖片)替換原圖片中的人臉荧飞;

4.然后,進(jìn)行圖片“消邊”名党、模糊等圖片處理叹阔;因?yàn)樵瓐D人臉和新人臉,雖然尺寸一致传睹,

但畢竟不是同一張圖片耳幢,新圖片(人臉)替換到原圖片之后,會(huì)有明顯的“邊”欧啤,無(wú)法

完全融入到原圖中睛藻,所以需要處理;這是數(shù)字圖像處理技術(shù)了邢隧;

5.如此重復(fù)店印,知道每一張圖片的人都替換完成;

從上面的人臉替換原理可以知道倒慧,換臉效果受到以下幾個(gè)因素的影響:

?1按摘、從原圖片截取的人臉(圖片)不能有過(guò)多的干擾像素。最理想的是截取的僅僅只有面部纫谅。

?2炫贤、訓(xùn)練的模型效果要非常好。這受到訓(xùn)練數(shù)據(jù)(圖片)的質(zhì)量系宜、數(shù)量照激、尺寸大小(越大越好盹牧,但是會(huì)變慢)和訓(xùn)練次數(shù)(時(shí)間)的影響俩垃。

?3、要有很好的數(shù)字圖像處理技術(shù)汰寓。替換人臉后口柳,新臉(圖片)不能很好與原圖背景(人物)融合的處理,包括“消邊”有滑、模糊跃闹、融合等處理。

?4、要有很好的人臉檢測(cè)技術(shù)望艺。因?yàn)镺penCV的人臉檢測(cè)功能準(zhǔn)確率并不是100%的苛秕,所以存在有某些幀(圖片)沒(méi)有檢測(cè)到人臉,那么就不會(huì)替換人臉找默。

(四)合成替換了人臉的視頻

?最后一步:把替換了人臉的每一張圖片(每一幀)按原來(lái)視頻的幀速合成視頻(用ffmpeg工具)艇劫。

?這就是整個(gè)視頻人臉替換的操作和原理。



(五)分析-總結(jié).

?從整個(gè)替換人臉過(guò)程惩激、原理可以知道店煞,最終的效果極大的受到人臉檢測(cè)技術(shù)、圖像處理技術(shù)的影響风钻。

?在理想情況下顷蟀,單從AI替換人臉這個(gè)功能來(lái)說(shuō),有足夠多的骡技、高質(zhì)量的人臉數(shù)據(jù)鸣个,足夠多次的訓(xùn)練,基于深度學(xué)習(xí)的方法替換人臉確實(shí)取得了很不錯(cuò)的效果哮兰,如下圖:



上圖:特朗普基于原表情換成凱奇毛萌;下圖:反之;

?在整個(gè)視頻替換人臉應(yīng)用來(lái)說(shuō)喝滞,除了通過(guò)AI替換人臉之外阁将,還要受到訓(xùn)練數(shù)據(jù)收集、人臉檢測(cè)右遭、后期圖像處理的極大影響做盅,所以仍無(wú)法做到通用、實(shí)用窘哈。

?但是吹榴,也可以知道,如果基于某個(gè)非常必要的目的滚婉,因?yàn)閱渭兊腁I基于原表情換臉的效果還不錯(cuò)图筹,可以花時(shí)間、精力并掌握了圖像處理技術(shù)的話让腹,理論上也是可以特定為某一段視頻換臉的远剩。

(六)寫在最后

?突然發(fā)現(xiàn),通用的視頻換臉項(xiàng)目沒(méi)有做成骇窍,卻做了一個(gè)“視頻打碼器”瓜晤。。腹纳。痢掠。驱犹。。

?在即將寫完本文章的時(shí)候足画,因?yàn)楸救说牟环艞壘裥劬裕l(fā)現(xiàn)了“新大陸”,更新的替換技術(shù)锌云,很有可能會(huì)有更好的替換效果荠医。接下來(lái)馬上進(jìn)行研究,如果更好的效果桑涎,再寫一篇新文章,先定個(gè)題目:視頻換臉原理(進(jìn)階)兼贡。

?最后攻冷,雖然吐槽不是很好的事情,但是偶爾輕微的吐槽一下就當(dāng)是記錄心情了:

?隨著研究這東西越久遍希,越感覺(jué)像蚍蜉撼樹等曼,大量高質(zhì)量的數(shù)據(jù)、強(qiáng)大的算力凿蒜、枯燥的算法禁谦。。废封。州泊。。漂洋。都不好弄啊遥皂。

?三年來(lái),電腦不堪壓力第一次藍(lán)屏了刽漂,太慘了演训。


?完畢。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末贝咙,一起剝皮案震驚了整個(gè)濱河市样悟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌庭猩,老刑警劉巖窟她,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異眯娱,居然都是意外死亡礁苗,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門徙缴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)试伙,“玉大人嘁信,你說(shuō)我怎么就攤上這事∈柽叮” “怎么了潘靖?”我有些...
    開(kāi)封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)蚤蔓。 經(jīng)常有香客問(wèn)我卦溢,道長(zhǎng),這世上最難降的妖魔是什么秀又? 我笑而不...
    開(kāi)封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任单寂,我火速辦了婚禮,結(jié)果婚禮上吐辙,老公的妹妹穿的比我還像新娘宣决。我一直安慰自己,他們只是感情好昏苏,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布尊沸。 她就那樣靜靜地躺著,像睡著了一般贤惯。 火紅的嫁衣襯著肌膚如雪洼专。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天孵构,我揣著相機(jī)與錄音屁商,去河邊找鬼。 笑死浦译,一個(gè)胖子當(dāng)著我的面吹牛棒假,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播精盅,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼帽哑,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了叹俏?” 一聲冷哼從身側(cè)響起妻枕,我...
    開(kāi)封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎粘驰,沒(méi)想到半個(gè)月后屡谐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蝌数,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年愕掏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片顶伞。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡饵撑,死狀恐怖剑梳,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情滑潘,我是刑警寧澤垢乙,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站语卤,受9級(jí)特大地震影響追逮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜粹舵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一钮孵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧齐婴,春花似錦油猫、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)睬关。三九已至诱担,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間电爹,已是汗流浹背蔫仙。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留丐箩,地道東北人摇邦。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像屎勘,于是被迫代替她去往敵國(guó)和親施籍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)概漱、插件丑慎、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,102評(píng)論 4 62
  • 我們都有病瓤摧?我們?cè)趺纯赡芏加胁竿裂。?我們?yōu)槭裁炊加胁。?我們憑什么都有舱彰帧腻异?我們有什么病这揣? 我們哪里有不诔!影斑?我們是誰(shuí)? ...
    職優(yōu)易閱讀 474評(píng)論 0 2
  • 自己今天動(dòng)手做了減肥餐这嚣,其實(shí)偶爾吃吃這樣的餐也挺不錯(cuò)的E富琛!姐帚!
    故去青薄衫閱讀 124評(píng)論 0 0
  • 一罐旗、三種“公地的悲劇”模型 亞當(dāng).斯密認(rèn)為: 每個(gè)人追求自己的利益時(shí)膳汪,有一只看不見(jiàn)的手,在無(wú)形中推動(dòng)公共利益九秀。他追...
    爺有蔓草閱讀 495評(píng)論 0 1
  • 其實(shí)我們應(yīng)該晚一周再去的遗嗽,那時(shí)候花就開(kāi)的差不多了。 但就是因?yàn)檫@早去的一周鼓蜒,看到了未曾見(jiàn)過(guò)的美痹换,嫩嫩的,都在迫不及...
    Marcu閱讀 349評(píng)論 0 2