上個(gè)月筆者曾在《銀行家雜志》發(fā)文傳統(tǒng)銀行如何引領(lǐng)開(kāi)放銀行時(shí)代潮流,就曾指出AI換臉等技術(shù)的興起將會(huì)我們未來(lái)的身份認(rèn)證手段造成一定的麻煩。而最近ZAO換臉軟件再次爆紅社交媒體,而且其接近于霸王條款的使用協(xié)議也將對(duì)于用戶隱私造成一定的風(fēng)險(xiǎn),雖然后來(lái)ZAO公開(kāi)致歉,不過(guò)這波熱點(diǎn)效應(yīng)也讓Faceswap這個(gè)開(kāi)源的AI換臉項(xiàng)目登頂Github周排行的榜首。
AI換臉歷程簡(jiǎn)介
AI換臉首次走進(jìn)國(guó)人視線是在19年3月,一名叫做換臉哥的網(wǎng)友,就上傳了一段轟動(dòng)全網(wǎng)的視頻,將扮演94版射雕中黃蓉的演員由朱菌換成了楊冪,而且?guī)缀跽婕匐y辯。
而AI換臉在學(xué)界早就有所涉及,在18年年中人工智能替換人臉面部特征的技術(shù)在科研學(xué)術(shù)研究領(lǐng)域和開(kāi)源社區(qū)兩個(gè)方向上都獲得了不小的發(fā)展,首先是在SIGGRAPH(暨國(guó)際計(jì)算機(jī)圖形學(xué)會(huì))的18年年會(huì)上一個(gè)由斯坦福大學(xué)、慕尼黑技術(shù)大學(xué)、巴斯大學(xué)等科研究機(jī)構(gòu)聯(lián)系研發(fā)的”Deep Video portrait”系統(tǒng)橫空出世,該技術(shù)不但能讓被替換的人臉完全模板原視頻中人物的表情,甚至在放大對(duì)比時(shí),兩個(gè)視頻在發(fā)絲和睫毛的表現(xiàn)上都能做到極度的精確,后來(lái)描述該技術(shù)的論文被發(fā)表在了《ACM圖形交易上》,不過(guò)所幸的是研發(fā)”Deep Video portrait”技術(shù)的幾家機(jī)構(gòu)并沒(méi)有公開(kāi)其項(xiàng)目的源代碼。
而在開(kāi)源社區(qū)中“AI換臉技術(shù)”也是得到了相當(dāng)多的關(guān)注,先是一種叫做Reddit上的deepfakes論壇發(fā)布多款使用AI換臉技術(shù)生成的不雅視頻,使多名女星中招,后來(lái)Reddit被迫直接關(guān)閉了deepfakes的板塊,后來(lái)在Github由deepfakes衍生而來(lái)的開(kāi)源項(xiàng)目數(shù)量不下十幾個(gè),其中以faceswap、Openfaceswap等開(kāi)源項(xiàng)目為代碼的換臉技術(shù)在github上的更新與討論十分熱烈,極快的推動(dòng)了開(kāi)源換臉技術(shù)的迭代速度。
Faceswap安裝教程
而在之前AI換臉軟件還一般只能安裝在LINUX平臺(tái),而有算力不低于1.0的N卡、裝有PYTHON、CONDA環(huán)境及CUDA和CUDAN等苛刻要求,這一番操作下來(lái)至少不是專(zhuān)業(yè)的IT人員還真是難以搞定,不過(guò)筆者親測(cè)了一下最新的Faceswap for windows版本的程序,其安裝布署的簡(jiǎn)單快捷程度出乎我的意料,下面我就來(lái)詳細(xì)介紹一下安裝步驟。
1.下載Faceswap安裝程序
首先到Githhub上下載最新的Release版本目前最新的鏈接如下https://github.com/deepfakes/faceswap/releases/latest/download/faceswap_setup_x64.exe
特別揭示:deepfakes相關(guān)軟件在github被限制使用,必須登陸用戶才可以訪問(wèn),所以如果出現(xiàn)以下頁(yè)面,請(qǐng)登陸Github:
2.雙擊安裝程序進(jìn)行安裝
只需要在開(kāi)始界面選擇安裝路徑,在以下界面選擇顯卡類(lèi)型,其余就不需要關(guān)心了,安裝程序會(huì)自行配置好Git和conda,還會(huì)自行配置環(huán)境變量。
Faceswap使用教程
首先需要明確一下AI換臉的基本概念,我在之前的博文終于把AI換臉的原理搞清了曾經(jīng)介紹過(guò)AI換臉的基本原理,AI換臉當(dāng)中兩大最重要的技術(shù)就是人臉檢測(cè)和人臉對(duì)齊。其中人臉檢測(cè)顧名思義就是在圖像中將人臉的部分檢測(cè)出來(lái),人臉對(duì)齊其實(shí)就是要把從不同角度、光照、遮擋等情況下得到的人臉信息還原同標(biāo)準(zhǔn)場(chǎng)景下。
雖然安裝步驟比之前簡(jiǎn)單了,不過(guò)Faceswap使用起來(lái)還是相對(duì)比較麻煩的,其基本流程如下:
獲取人臉A的信息:首先對(duì)于含有人臉A信息的視頻進(jìn)行處理,偵測(cè)所有人臉并及人臉的對(duì)齊信息,然后需要用戶確認(rèn)對(duì)于人臉A的偵測(cè)結(jié)果正確,如果含有其它人臉不屬于人臉A的信息則進(jìn)行刪除,當(dāng)然如果其它視頻中也包含人臉A的信息你也可以將上述文件合并,形成更大的人臉、人臉對(duì)齊信息
獲取人臉A的信息:重復(fù)上述步驟得到人臉B的偵測(cè)和對(duì)齊信息
模型訓(xùn)練:使用人臉A和人臉B的偵測(cè)及對(duì)齊信息進(jìn)行訓(xùn)練。
視頻轉(zhuǎn)換:使用剛剛訓(xùn)練好的模型就可以進(jìn)行視頻轉(zhuǎn)換了。
接下來(lái)咱們分步介紹Faceswap的一般使用流程
1、啟動(dòng)程序
在上面安裝成功后桌面上會(huì)自動(dòng)多出一個(gè)“Faceswap"的圖標(biāo),雙擊程序會(huì)自動(dòng)調(diào)起對(duì)應(yīng)的Python及conda版本進(jìn)行啟動(dòng)
首次啟動(dòng)大概需要幾分鐘,然后就可以進(jìn)入相關(guān)圖像界面了。
2、處理視頻獲得人臉A的信息
進(jìn)行圖型界面后直接在EXACT頁(yè)進(jìn)行視頻的處理,其中
Input Dir: 如果是使用視頻則需要選定一個(gè)文件,如果使用一組圖片則選定一個(gè)文件夾。
Output Dir: Faceswap會(huì)把處理得到的人臉圖像放在output文件夾中
Alignments:不需要填寫(xiě),使用默認(rèn)即可,注這里的對(duì)齊文件實(shí)際是指眉、眼、鼻子、嘴等68個(gè)
Serializer: 使用默認(rèn)即可。
Detector:S3FD的效果的確比較不錯(cuò)。
其余選項(xiàng)不需要更改均使用默認(rèn)即可。
點(diǎn)擊Exact按扭即可開(kāi)始。
揭示:這項(xiàng)操作非常吃內(nèi)存,我這邊的經(jīng)驗(yàn)值是每1G內(nèi)存可以處理40張1280*768的圖像,以此類(lèi)推。
具體如下:
3.刪除不必要的信息
我們除了人臉的圖像外,還會(huì)得到一些如雜志封面的圖像,那么接下來(lái)我們就要把我們不需要處理的圖像刪除。
選擇tools標(biāo)簽的sort選項(xiàng),這時(shí)的input是實(shí)際是我們剛剛解壓完成的output文件壓,確保Final process選為rename選項(xiàng),其余按默認(rèn)可。
然后點(diǎn)擊Sort即可完成排序。
接下來(lái)將Sort完成的結(jié)果進(jìn)行處理,刪除不需要的對(duì)齊信息。
選擇tools標(biāo)簽的Alignment選項(xiàng),job選項(xiàng)Remove-Faces具體如下:
其中Alignments files是步驟2生成的對(duì)齊文件,F(xiàn)ace Folder是我們剛剛sort后的輸出目錄。設(shè)置完畢后點(diǎn)擊Alignments 即可。
4.重復(fù)2、3步獲得人臉B的相關(guān)偵測(cè)及對(duì)齊信息
5.訓(xùn)練模型
獲得了人臉A和B的信息后就可以訓(xùn)練模型了,其中
Input A:人臉A的圖像文件。
Alignments A:人臉A的對(duì)齊文件
Input B:人臉B的圖像文件。
Alignments B:人臉B的對(duì)齊文件
選定完成之后點(diǎn)擊Train按扭即可,不過(guò)這個(gè)時(shí)間一般比較長(zhǎng),筆者的2080處理的圖像數(shù)量在1000張左右,截止目前已經(jīng)運(yùn)行了接近一天,還未結(jié)束。
6.正式換臉
訓(xùn)練完成后,就可以進(jìn)行換臉了:
Input Dir: 要轉(zhuǎn)換的包含有人臉A的視頻。注意如果Input Dir中輸入的視頻不是步驟2中提取人臉A特征的視頻,也需要對(duì)于此視頻按照步驟2生成對(duì)齊文件。
Output Dir: 轉(zhuǎn)換后視頻的位置
Alignments:對(duì)齊文件位置
Model Dir:我們?cè)诓襟E5中生成模型的位置。
配置完成后點(diǎn)擊convert即可完成轉(zhuǎn)換。
但是筆者的模型尚未訓(xùn)練完成,且為了避免侵權(quán),就放一個(gè)Github已訓(xùn)練完成的模型效果圖吧(把詹尼佛.勞倫斯換成史蒂夫·布西密吧:
寫(xiě)在最后
首先對(duì)于IT人員來(lái)說(shuō)Faceswap的代碼質(zhì)量上乘,值得一讀,重點(diǎn)推薦https://github.com/deepfakes/faceswap/tree/master/lib/alignments.py這個(gè)有關(guān)對(duì)齊的代碼質(zhì)量不錯(cuò),找時(shí)間可以給大家詳細(xì)解讀一下。
其次目前尚沒(méi)有可靠的技術(shù)能夠鑒定視頻的真?zhèn)?,雖然目前臉書(shū)、微軟t聯(lián)合麻省理工學(xué)院等一票大學(xué)共同發(fā)起了Deepfake挑戰(zhàn)賽,但是我之前的博客中也介紹過(guò)AI假新聞滿天飛,打假神器GROVER幫你看清一切中利用AI去鑒定假新聞的嘗試,不過(guò)其鑒定成功率和可靠率還很低,而且從目前AI換臉的原理來(lái)看,其技術(shù)破破綻更少,鑒定難度比NLP會(huì)更大。所以不排除今后實(shí)時(shí)的監(jiān)控視頻都需要按照《GB/T 25724-2017公共安全視頻監(jiān)控?cái)?shù)字視音頻編解碼技術(shù)要求》進(jìn)行安全加固,才算有效了。
聯(lián)系客服