此前,中科院自動(dòng)化所的一篇論文《所有姿態(tài)范圍內(nèi)的面部替換:3D解決方案》引起廣泛關(guān)注。近日,中科院的一位博士生對(duì)“3D實(shí)時(shí)換臉”論文PyTorch實(shí)現(xiàn)改進(jìn)版,使得每張圖的推理時(shí)間只需0.27毫秒,同時(shí)還增加了實(shí)時(shí)培訓(xùn)等功能。
2018年4月,針對(duì)如何解決所有姿勢(shì)范圍內(nèi)的面部替換,中科院自動(dòng)化所的研究人員發(fā)表了一篇論文,提出了3D實(shí)時(shí)解決方法。
近日,Github一位作者cleardusk(主頁(yè):https://github.com/cleardusk,目前是中科院自動(dòng)化所的在讀博士生)將“3D實(shí)時(shí)換臉”P(pán)yTorch實(shí)現(xiàn)改進(jìn)版,每張圖的推理時(shí)間只需0.27毫秒!
這一改進(jìn)版本幫助Pytorch改進(jìn)了論文《所有姿態(tài)范圍內(nèi)的面部替換:3D解決方案》中提到的方法。該論文的作者之一是來(lái)自中科院自動(dòng)化所的Xiangyu Zhu,根據(jù)其個(gè)人主頁(yè)上的信息,他和cleardusk博士期間的導(dǎo)師均是李子青教授,二人可以說(shuō)是同門(mén)師兄弟。
面部對(duì)齊使面部模型適合圖像并提取面部像素點(diǎn)的語(yǔ)義,已成為計(jì)算機(jī)視覺(jué)領(lǐng)域中的一個(gè)重要主題。此前,大多數(shù)算法都是針對(duì)中小姿態(tài)(偏角小于45度)的面部而設(shè)計(jì)的,缺乏在高達(dá)90度的大幅度姿態(tài)中對(duì)齊面部的能力,這一論文就是針對(duì)所有姿態(tài)范圍內(nèi)的面部替換所提出來(lái)的方法。
而此次這位博士生提出的改進(jìn)版本還增加了一些額外的工作,包括實(shí)時(shí)培訓(xùn)、培訓(xùn)策略等,而不僅僅是重新實(shí)現(xiàn)“3D實(shí)時(shí)換臉”。更詳細(xì)的內(nèi)容未來(lái)將會(huì)發(fā)布在相關(guān)博客中,包括一些重要的技術(shù)細(xì)節(jié)。到目前為止,這個(gè)改進(jìn)版本發(fā)布了預(yù)訓(xùn)練第一階段的pytorch模型,其中包括MobileNet-V1結(jié)構(gòu)、訓(xùn)練數(shù)據(jù)集和代碼。在GeForce GTX TITAN X上,每張圖像的推理時(shí)間約為0.27毫秒(輸入批量為128 的情況下)。
以下是關(guān)于ALFW-2000數(shù)據(jù)集的幾個(gè)訓(xùn)練結(jié)果(根據(jù)模型phase1_wpdc_vdc.pth.tar進(jìn)行推斷):
那么,改進(jìn)版能實(shí)現(xiàn)哪些應(yīng)用呢?
首先,它能夠?qū)崿F(xiàn)面部對(duì)齊。
其次是面部重塑,實(shí)現(xiàn)“變臉”!
如何入門(mén):要求與用法
如果要著手嘗試改進(jìn)版,那么你需要:
PyTorch >= 0.4.1
Python >= 3.6 (Numpy, Scipy, Matplotlib)
Dlib (Dlib用于檢測(cè)面部和標(biāo)志。如果你可以提供面部邊框線(xiàn)和標(biāo)志,則無(wú)需使用Dlib。可選擇性地,你可以使用兩步推理策略而無(wú)需初始化這些數(shù)據(jù)。)
OpenCV(Python版,用于圖像IO操作。)
# 安裝順序:
sudo pip3 安裝torch torchvision。更多選擇點(diǎn)擊:https://pytorch.org
sudo pip3 安裝numpy,scipy,matplotlib
sudo pip3 安裝dlib==19.5.0 # 19.15+ 版本,這可能會(huì)導(dǎo)致與pytorch沖突,大概需要幾分鐘
sudo pip3 安裝opencv-python版
此外,強(qiáng)烈建議使用Python3.6 +而不是舊版,這樣可以實(shí)現(xiàn)更好的設(shè)計(jì)。
接下來(lái)具體用法如下:
1、復(fù)制下面這個(gè)改進(jìn)版(這可能需要一些時(shí)間,因?yàn)樗悬c(diǎn)大)
https://github.com/cleardusk/3DDFA.git或者git@github.com:cleardusk/3DDFA.gitcd 3DDFA
2、使用任意圖像作為輸入,運(yùn)行main.py:python3 main.py -f samples/test1.jpg
如果你可以在終端中看到這些輸出記錄,就可以成功運(yùn)行它:
Dump tp samples/test1_0.ply
Dump tp samples/test1_0.mat
Save 68 3d landmarks to samples/test1_0.txt
Dump tp samples/test1_1.ply
Dump tp samples/test1_1.mat
Save 68 3d landmarks to samples/test1_1.txt
Save visualization result to samples/test1_3DDFA.jpg
因?yàn)閠est1.jpg有兩張人臉,因此有兩個(gè)mat(存儲(chǔ)密集面頂點(diǎn),可以通過(guò)Matlab渲染)和ply文件(可以由Meshlab或Microsoft 3D Builder渲染)預(yù)測(cè)。
結(jié)果samples/test1_3DDFA.jpg如下所示:
附加示例:
python3 ./main.py -f samples/emma_input.jpg --box_init=two --dlib_bbox=false
當(dāng)輸入批量為128 的情況下,MobileNet-V1的推理時(shí)間約為34.7毫秒,平均每張圖像的推理時(shí)間約為0.27毫秒。
評(píng)估與訓(xùn)練資源
首先,你需要下載壓縮的測(cè)試集ALFW和ALFW-2000-3D(下載鏈接:https://pan.baidu.com/s/1DTVGCG5k0jjjhOc8GcSLOw) ,下載后解壓并將其放在根目錄中。接下來(lái),通過(guò)提供訓(xùn)練的模型路徑來(lái)運(yùn)行基準(zhǔn)代碼。我已經(jīng)在models目錄中提供了四個(gè)預(yù)先訓(xùn)練的模型。這些模型在第一階段使用不同的損失進(jìn)行訓(xùn)練。由于MobileNet-V1結(jié)構(gòu)的高效率,模型大小約為13M。
在第一階段,不同損失的有效性依次為:WPDC> VDC> PDC,使用VDC來(lái)微調(diào)WPDC的方法取得了最好的結(jié)果,預(yù)訓(xùn)練模型的性能如下所示:
訓(xùn)練腳本位于training目錄中,相關(guān)資源如下:
1、train.configs(217M),鏈接:
https://pan.baidu.com/s/1ozZVs26-xE49sF7nystrKQ#list/path=%2F,該目錄與3DMM參數(shù)和訓(xùn)練數(shù)據(jù)集的文件列表相對(duì)應(yīng);
2、train_aug_120x120.zip(2.15G),鏈接:
https://pan.baidu.com/s/19QNGst2E1pRKL7Dtx_L1MA,增強(qiáng)訓(xùn)練數(shù)據(jù)集的裁剪圖像;
3、test.data.zip(151M),鏈接:
https://pan.baidu.com/s/1DTVGCG5k0jjjhOc8GcSLOw,AFLW和ALFW-2000-3D測(cè)試集的裁剪圖像;
4、model_refine.mat(160M),鏈接:
https://pan.baidu.com/s/1VhWYLpnxNBrlBg5_OKTojA,BFM模型
準(zhǔn)備好訓(xùn)練數(shù)據(jù)集和配置文件后,進(jìn)入training目錄并運(yùn)行bash腳本進(jìn)行訓(xùn)練。訓(xùn)練參數(shù)都以bash腳本呈現(xiàn)。
-
自動(dòng)化
+關(guān)注
關(guān)注
29文章
5785瀏覽量
84931 -
計(jì)算機(jī)視覺(jué)
+關(guān)注
關(guān)注
9文章
1709瀏覽量
46786 -
pytorch
+關(guān)注
關(guān)注
2文章
809瀏覽量
13973
原文標(biāo)題:3D實(shí)時(shí)換臉又有新進(jìn)展!中科院博士生提出改進(jìn)版本,每張圖推理只需0.27毫秒
文章出處:【微信號(hào):tyutcsplab,微信公眾號(hào):智能感知與物聯(lián)網(wǎng)技術(shù)研究所】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
設(shè)計(jì)一個(gè)延時(shí)100毫秒的延時(shí)程序
單片機(jī)延時(shí)3分8秒8毫秒,用你的準(zhǔn)確度向3·8婦女節(jié)致敬!
求arduino nano3.0改進(jìn)版(換了u***芯片)的原理圖啊?
pwm輸出控制直流電機(jī)。在軟啟動(dòng)時(shí)占空比是變化的,每10毫秒輸出一次?為什么pwm是每10毫秒輸出一次?
最快的定時(shí)器中斷能實(shí)現(xiàn)一毫秒嗎
什么叫3D微波技術(shù)
3D TOF深度剖析
PYNQ框架下如何快速完成3D數(shù)據(jù)重建
15芯片延時(shí)一毫秒軟件實(shí)現(xiàn)
微軟自研觸控技術(shù) 可實(shí)現(xiàn)延遲低于1毫秒
HTC回應(yīng)無(wú)線(xiàn)套件延遲問(wèn)題:2毫秒以下無(wú)疑
奧比中光3D人臉識(shí)別技術(shù)助力中國(guó)地鐵首次實(shí)現(xiàn)刷臉乘車(chē)
AOC冠捷發(fā)布兩款新游戲顯示器 均為T(mén)N面板以及0.5毫秒超快響應(yīng)時(shí)間
奧比中光3D刷臉門(mén)鎖解決方案亮相廣州建博會(huì)
Adobe提出DMV3D:3D生成只需30秒!讓文本、圖像都動(dòng)起來(lái)的新方法!

評(píng)論