<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          FaceShifter:一秒換臉的人臉交換模型

          共 3326字,需瀏覽 7分鐘

           ·

          2022-03-23 10:44


          點擊上方小白學(xué)視覺”,選擇加"星標"或“置頂

          重磅干貨,第一時間送達

          如今,深度學(xué)習(xí)已近在圖像合成、圖像處理領(lǐng)域中取得驚人的成果。FaceShifter [1]便是其中之一,它是一種深度學(xué)習(xí)模型,可以非常先進的技術(shù)實現(xiàn)人臉交換。在本文中,我們將了解它是如何工作的。

          01.問題描述

          我們有一張源人臉圖像X?和一張目標人臉圖像X?,我們想要產(chǎn)生一個新的人臉圖像Y??。它具有X?圖像中的屬性(姿勢,照明,眼鏡等)和X?圖像中人的身份。圖1總結(jié)了該問題陳述?,F(xiàn)在,我們繼續(xù)解釋模型。

          圖1.換臉的問題描述,所示結(jié)果來自FaceShifter模型


          02.FaceShifter模型

          FaceShifter由AEI-Net和HEAR-Net的兩個網(wǎng)絡(luò)組成。AEI-Net產(chǎn)生初步的面部交換結(jié)果,而HEAR-Net對該輸出進行細化。

          AEI-Net

          AEI-Net是“自適應(yīng)嵌入集成網(wǎng)絡(luò)”的縮寫,AEI-Net包含3個子網(wǎng):

          1.身份編碼器:與將X?嵌入描述圖像中人臉身份的空間有關(guān)的編碼器。

          2.多級屬性編碼器:一種與將X emb嵌入到空間中有關(guān)的編碼器,該空間描述了交換面部時要保留的屬性。

          3.AAD生成器:一種生成器,它集成了前面兩個子網(wǎng)的輸出,以生成X?的面與X?的標識交換。

          圖2. AEI-Net的體系結(jié)構(gòu)

          身份編碼器

          該子網(wǎng)將源圖像X?投影到低維特征空間。輸出只是一個矢量,我們將其稱為z?,如圖3所示。此矢量編碼X?中人臉的身份,這意味著它應(yīng)提取人類用來區(qū)分不同人的人臉的特征,例如眼睛的形狀,眼睛與嘴巴之間的距離,嘴巴的彎曲度等。

          使用了經(jīng)過訓(xùn)練的人臉識別網(wǎng)絡(luò)。這可以滿足我們的要求,因為區(qū)分面部的網(wǎng)絡(luò)必須提取與身份相關(guān)的特征。

          圖3.身份網(wǎng)絡(luò)

          多級屬性編碼器

          該子網(wǎng)對目標圖像X?進行編碼。它產(chǎn)生多個向量,每個向量以不同的空間分辨率描述X的屬性,稱為z?。這里的屬性表示目標圖像中人臉的配置,例如人臉的姿勢,輪廓,面部表情,發(fā)型,膚色,背景,場景照明等。它是具有類似U-Net結(jié)構(gòu)的ConvNet,例如可以在圖4中看到,其中輸出矢量只是放大/解碼部分中每個級別的特征圖。但是這里的子網(wǎng)并沒有經(jīng)過預(yù)訓(xùn)練。

          圖4.多級屬性編碼器體系結(jié)構(gòu)

          我們需要將X?表示為多個嵌入的形式,因為在單個空間分辨率下使用會導(dǎo)致生成需要交換面部的輸出圖像所需的信息丟失(即,我們想從X from保留太多精細的細節(jié),使壓縮圖像不可行)。這在作者進行的燒蝕研究中很明顯,他們嘗試僅使用前3個z?嵌入而不是8個嵌入來表示X?,從而導(dǎo)致圖5所示的輸出更加模糊。

          圖5.使用多個嵌入表示目標的效果。如果使用前3個z?嵌入,則壓縮為輸出

          而當(dāng)使用全部8個z 8嵌入時,則為AEI-Net

          AADGenerator

          AAD Generator是“ Adaptive Attentional Denormalization Generator”的縮寫。它以提高的空間分辨率集成了前兩個子網(wǎng)的輸出,以生成AEI-Net的最終輸出。它是通過堆疊如圖6所示的稱為AAD Resblock的新塊來實現(xiàn)的。

          圖6.左圖為AAD Generator架構(gòu),右圖為AAD ResBlock

          此塊的新塊是AAD層。讓我們將其分解為3部分,如圖7所示。從較高的層次來看,第1部分告訴我們?nèi)绾卧趯傩苑矫鎸⑤斎胩卣饔成鋒??編輯為更像X?。具體來說,它輸出兩個張量,它們的大小與h??相同。一個包含比例值,該比例值將與h??中的每個單元相乘,另一個包含位移值。第1部分層的輸入是屬性向量之一。同樣,第2部分將告訴我們?nèi)绾螌⑻卣鲌Dh??編輯為更像X?。

          圖7. AAD層的體系結(jié)構(gòu)

          第3部分的任務(wù)是選擇每個單元/像素應(yīng)聽哪一部分(2或3)。例如,在與嘴相關(guān)的單元/像素處,該網(wǎng)絡(luò)將告訴我們更多地收聽第2部分,因為嘴與身份之間的關(guān)系更大。通過圖8所示的實驗以經(jīng)驗證明了這一點。

          因此,AAD生成器將能夠逐步構(gòu)建最終圖像,其中在給定身份和屬性編碼的情況下,AAD生成器將在每個步驟中確定最佳的方法來放大當(dāng)前特征圖。

          現(xiàn)在,我們有了一個網(wǎng)絡(luò),即AEI-Net,可以嵌入X?和X?并以實現(xiàn)我們目標的方式將它們集成。我們將AEI-NetY??*的輸出稱為。

          03.損失函數(shù)

          一般而言,損失是我們希望網(wǎng)絡(luò)做什么的數(shù)學(xué)公式。培訓(xùn)AEI-Net有4個損失:

          1.我們希望它能輸出逼真的人臉,因此像任何GAN一樣,我們將遭受不利的損失。
          2.我們希望生成的臉具有X?的身份。我們擁有的唯一表示身份的數(shù)學(xué)對象是z?。因此,此目標可由以下?lián)p失表示:
          3.我們希望輸出具有X?的屬性。造成的損失是:
          4.作者添加了另一個損失,其依據(jù)是如果X?和X?實際上是相同的圖像,則網(wǎng)絡(luò)應(yīng)輸出X?
          最后的損失是驅(qū)動z?實際編碼屬性所必需的,因為它沒有像z?那樣經(jīng)過預(yù)訓(xùn)練。沒有它,可以猜測,AEI-Net可能會忽略X?并使z?產(chǎn)生零。我們的總損失只是先前損失的加權(quán)總和。

          HEAR-Net

          AEI-Net是一個可以進行面對面交換的完整網(wǎng)絡(luò)。但是,在保留遮擋方面還不夠好。具體來說,只要有一個項目遮擋了目標圖像中應(yīng)該出現(xiàn)在最終輸出中的面部部分(例如眼鏡,帽子,頭發(fā)或手),AEI-Net就會將其刪除。這些項目仍應(yīng)保留,因為它與將要更改的身份無關(guān)。因此,作者實現(xiàn)了一個名為“啟發(fā)式錯誤確認細化網(wǎng)絡(luò)”的附加網(wǎng)絡(luò),該網(wǎng)絡(luò)的工作就是恢復(fù)此類遮擋。

          他們注意到,當(dāng)他們將AEI-Net(即X?和X?)的輸入設(shè)為相同的圖像時,它仍然沒有保留如圖9所示的遮擋。

          圖9.當(dāng)我們輸入與X?和X?相同的圖像時,AEI-Net的輸出。注意頭巾的鏈子如何在輸出中丟失

          因此,他們沒有將其輸入到HEAR-NetY??*和X?中,而是將其設(shè)為Y??*&(X?-Y??*),其中X??和X?是同一圖像時,Y??*是AEI-Net的輸出。這會將HEAR-Net指向未保留遮擋的像素。HEAR-Net可以在圖10中看到。

          圖10. HEAR-Net的體系結(jié)構(gòu)

          培訓(xùn)損失

          HEAR-Net的損失為:

          1.保留身份的損失:

          2.由于不改變Y??*而造成的損失:

          3.如果X?和X?是相同的圖像,則HEAR-Net的輸出應(yīng)為X?的事實造成了損失:

          總損失是這些損失的總和。

          結(jié)果

          FaceShifter的結(jié)果是驚人的。在圖11中,您可以找到在其所設(shè)計的數(shù)據(jù)集之外(即從野外獲?。┑膱D像上的泛化性能的一些示例。請注意,它如何能夠在不同的惡劣條件下正常工作。

          圖11.結(jié)果證明了FaceShifter的出色性能

          參考文獻

          [1]?L. Li, J. Bao, H. Yang, D. Chen, F. Wen, FaceShifter: Towards High Fidelity And Occlusion Aware Face Swapping (2019), Arxiv.


          下載1:OpenCV-Contrib擴展模塊中文版教程
          在「小白學(xué)視覺」公眾號后臺回復(fù):擴展模塊中文教程即可下載全網(wǎng)第一份OpenCV擴展模塊教程中文版,涵蓋擴展模塊安裝、SFM算法、立體視覺、目標跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺實戰(zhàn)項目52講
          小白學(xué)視覺公眾號后臺回復(fù):Python視覺實戰(zhàn)項目即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別等31個視覺實戰(zhàn)項目,助力快速學(xué)校計算機視覺。

          下載3:OpenCV實戰(zhàn)項目20講
          小白學(xué)視覺公眾號后臺回復(fù):OpenCV實戰(zhàn)項目20講,即可下載含有20個基于OpenCV實現(xiàn)20個實戰(zhàn)項目,實現(xiàn)OpenCV學(xué)習(xí)進階。

          交流群


          歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器自動駕駛、計算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN算法競賽等微信群(以后會逐漸細分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三?+?上海交大?+?視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~


          瀏覽 133
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  青娱乐色色| 日韩色情免费电影 | 尤物视频网站在线观看 | 秋霞影音 | 大奶av在线 |