人工智慧 機器學習 深度學習 電腦視覺 Computer Vision DeepFace

DeepFake以假亂真即時直播 深度學習技術利弊端看用途

實作DeepFaceLive造假 揪出換臉破綻辨別真偽

一項名為DeepFake的換臉技術在近幾年問世,使得網路世界的內容真真假假,且眼見無法為憑,隨著技術進步,即時性的換臉技術已經隨之登場。本文將介紹DeepFake技術,並透過DeepFaceLab所開發出的開源軟體DeepFaceLive,說明DeepFake的利弊與應用,並實際操作DeepFake技術。

人工智慧、機器學習與深度學習是一個這幾年來走進生活也逐漸廣泛普及的技術,當中一個很大的面向是應用在「電腦視覺(Computer Vision,CV)」,常見的應用包含「人臉辨識解鎖」功能,以及社群軟體Instagram、TicTok中的許多相機特效或濾鏡,或是其他的濾鏡App如Snapchat、FaceApp、REFACE、FacePlay等等,人們可以透過這些App來達到換臉、返老還童、變老、變性等其他有趣的效果與特效,這些透過深度學習應用在人臉以做出各種不同變化的技術就叫做「DeepFace」。至今,在GitHub上也有許多開源的程式碼或是軟體供使用者做運用,雖然大幅了降低DeepFace技術入門的門檻,卻也造成一些濫用的情況逐漸浮出。

2019年末,新冠病毒疫情的狀況逐漸嚴重,為了避免擴大感染,視訊會議與遠距上課的情況隨之普及。這樣的功能雖然方便,但卻大幅降低了人與人的互動性。

此外,這個情況引起社群網路上的熱潮,流傳了眾多學生絞盡腦汁想辦法來為自己製作替身的影片,並在社群中分享自己是如何翹課與製作替身,而大多數的案例就是使用DeepFace技術,同時公司企業的視訊會議也不例外,那麼此時螢幕前的各位究竟是真是假,也就成為了一個有趣且被關注的議題。

背景知識介紹

先介紹DeepFace、DeepFake與DeepFaceLive三者的定義,然後進一步說明相關技術細節。

認識DeepFace、DeepFake與DeepFaceLive

以下介紹DeepFace、DeepFake以及DeepFaceLive三種技術發展歷史。

DeepFace

DeepFace是由Deep與Face兩字所組合成的字,意即深度學習(Deep Learning)中的Deep與人臉的英文Face的組合。它是一種基於機器學習與深度學習的人臉辨識技術,起初是由Facebook的研究小組所創建,其技術可以針對數位影像中的人臉進行偵測與辨識,準確率可以達到97.35% ± 0.25%,後來,Google的FaceNet技術與Facebook的DeepFace技術在使用相同的資料集之下相互比較辨識準確率,而FaceNet創下99.63%準確率的紀錄勝過Facebook的DeepFace。

DeepFake

DeepFake一詞其實就是把DeepFace中的Face替換成了Fake,一般稱為深度造假技術,意即透過深度學習來達到換臉、交換聲音的合成技術,而隨著目前技術發展,現今可以達成表情偽造,甚至還能夠搭配語音合成來製作虛假語音以假亂真,這個技術雖在2017年時已經問世,但是花費時間長及產品品質有限成為DeepFake技術的瓶頸。

DeepFaceLive

DeepFace技術至今不斷進步,並伴隨著顯示卡推陳出新、圖形處理器的技術越來越強大,由DeepFaceLab所開發出即時性(Real-Time)的換臉技術在此問世,然而過去的DeepFace和DeepFake技術都需要花上較長的時間將圖片或是影片進行處理,可能需要花上數天或是數周才能產生出較高品質的換臉影像或是一至兩分鐘的換臉影片,而當DeepFaceLive被開發出來後,只需要載入已經預訓練好的模型,並搭配視訊鏡頭,即可達到即時性的換臉,並且能夠維持一定程度的品質。可見換臉的技術又再一次的突破,這將是本篇文章後續將進行深入探討的部分。

DeepFace與DeepFake帶來的影響

接著,說明DeepFace與DeepFake技術的正面與負面應用與影響。首先,說明正面的應用與影響,包括以下幾項:

‧教育層面:可幫助教師們提供更為生動的教材來建立高互動性和吸引力。舉例來說,透過DeepFace技術讓歷史人物重返人間,再搭配虛假語音偽造技術,不僅可以讓學生身歷其境,甚至與栩栩如生的歷史人物進行互動,藉此來達到吸引學生、增加參與度。

‧電影產業:DeepFace的換臉技術可成為影片後製的一大助手,其中最著名的範例就是好萊塢電影《玩命關頭》的男星保羅沃克因車禍離世,因此劇組透過尋找替身的方式找到弟弟上場,接著並透過DeepFace的合成技術,讓已經逝去的電影明星可以再度登上大螢幕。

‧模特兒產業:利用DeepFace技術和3D建模技術來大量客製逼真的AI模特兒,不僅幫助廠商降低成本、縮短產品推出時間、滿足族群平等與族群多樣性的社會責任議題,且經過實測後,有95%的測試者無法分辨模特兒的真偽,因此DeepFace技術可為模特兒產業帶來一個新的面向,在未來的世代中,模特兒將不一定是真人。

在負面的應用與影響方面,則包括:

‧假消息與假新聞:其中一個最大的震撼彈就是在2018年4月時,外國網路媒體Buzzfeed透過DeepFake技術來偽造美國前總統歐巴馬的致詞內容,在影片中,美國前總統歐巴馬脫口說出「川普總統就是笨蛋」這句話,使得這起事件引起譁然。由於實際上這句話卻不是從他本人說出,且不易直接分辨影片真假,因此這起事件同時也為新世代的人們帶來一個警示,從今爾後,對於眼耳所聽所聞都不一定為真,所以對每個事情的事實查明又變得更加重要。

‧詐欺與詐騙事件:透過DeepFake技術來冒用身分已不是難事,不管是聲音或是長相,都可以使用DeepFake技術偽造。在企業層面,原本已經嚴重氾濫的商業電子郵件詐騙(Business Email Compromise),此時DeepFake技術又讓詐欺的惡意人士多一個管道和工具讓企業信以為真,進而騙取錢財或商業機密。在個人層面,諸多不常使用智慧型產品的長輩們對於接受新資訊的方式與速度不如年輕族群,DeepFake這種新技術的問世可能成為犯罪集團廣泛採取的手段,並藉此來詐欺長輩們,因此諸類事件是需要被高度關注的議題,並且需要提升長輩及不常接觸資訊科技的族群們之資訊素養與防詐騙意識。

‧色情影片:人們說「科技始終出自於人性」,有些人們為了滿足自己的私慾並藉此牟利,著名事件是台灣百萬網紅將不少網路上的公眾人物換到色情片的女主角上,並藉此販售營利,此起事件引起公眾譁然與撻伐,可見DeepFake換臉技術的濫用需要被高度關注以及有效的防範。

DeepFaceLive簡介

以下說明DeepFaceLive的發展源由,以及所採用的相關技術。

深度學習與人工神經網路

在電腦視覺的智慧應用中,幾乎無一不與深度學習(Deep Learning)和人工神經網路(Artificial Neural Network)技術拉上關係。深度學習是機器學習(Machine Learning)的分支之一,主要透過了人工神經網路的架構試圖去模仿人類大腦處理問題的模式,模擬了大腦中的神經元相互連接、處理與傳輸訊息的步驟。與機器學習不同的是,深度學習在擷取特徵的步驟中可以不透過人為處理,而是讓訓練模型自行擷取資料集的相關特徵。

人工神經網路的架構是由數個神經元(Neurons)或稱節點(Node)所組成,其中每個Node中都包含了一個數值,這些Node會被分成許多層(Layer),包含輸入層(Input Layer)、隱藏層(Hidden Layers)與輸出層(Output Layer),每層的連接方式取決於網路的類型,圖1為人工神經網路的架構的範例。

圖1  人工神經網路的架構。

在人工神經網路的架構中,每一層的輸出都會成為下一層的輸入,而每一個神經元都會有相對應的權重(Weight),而模型的訓練目的就是透過不斷的運算與輸出,並利用誤差反向傳播演算法(Error Back Propagation)去調整每個Node的權重,使輸出層的值與正確解答之間的誤差越小,最終調整出適當的權重。

若將深度學習套用至人臉的相關應用時,輸入層的資料就是包含人臉的圖片之像素值。在隱藏層中,神經網路會試圖去學習人臉的相關特徵,包括人臉的輪廓、五官位置等其他用於表示人臉的特徵資料,藉此訓練出一些應用於人臉的相關模型,例如人臉偵測、人臉辨識等不同用途的模型。

圖2以訓練人臉偵測的模型為範例,首先以多張包含人臉的圖片作為輸入的訓練資料(Training Data),透過神經網路學習人臉的特徵之相關特徵,最後的輸出為Z0與Z1(是人臉與非人臉),接著根據訓練出的結果計算出損失(Loss)與誤差(Error)。由於在模型訓練的過程中通常無法經過一次的訓練就得到很好的效果,因此必須透過誤差反向傳播演算法回頭調整模型中每個Node的權重,當誤差與損失落在一個可以接受的範圍後,才會輸出這個模型。

圖2  人臉偵測模型訓練示意圖。
圖3  驗證人臉偵測模型的示意圖。

當模型輸出完成後,接著將人臉的測試資料(Test Data)放入模型進行判斷,其中訓練資料與測試資料的不同點,在於訓練模型時使用了訓練資料,相當於電腦已經看過這些資料,才去判斷這些圖片是否為人臉,但為了確保模型有真正的判別效果,必須準備陌生的人臉圖片資料放入偵測的模型中進行判別,才可驗證這個訓練出來的模型是否可用,其過程如圖3所示。

自動編碼器

自動編碼器(AutoEncoder,AE)是人工神經網路中的一種非監督式學習演算法,同時也是DeepFake換臉技術中的重要核心之一,AE的架構可以分為兩大部分,包括編碼器(Encoder)和解碼器(Decoder)。

圖4呈現了使用人工神經網路來表示AE的架構。在AE中,輸入的資料會透過Encoder進行降維,使其成為較低維度的層(如圖4中的Y0與Y1),這層的輸出結果稱為「Code」,這個Code也可稱為「嵌入(Embedding)」或「潛在空間(Latent Space)」,接著透過Decoder將Code(即Y0與Y1)進行解碼,以輸出一個近似輸入層的結果。

圖4  自動編碼器AutoEncoder的基本架構。

若把AE的架構套用在人臉的影像上,首先將原始影像作為輸入放入Encoder當中,並產生一個編碼後的結果,這個結果即為「Code」,再將這個Code放入Decoder中進行解碼,最後輸出一張近似輸入影像人臉影像,AE應用於人臉的架構如圖5所示。

圖5  AE應用於人臉的架構。

在訓練的過程中,Decoder同時是一個將原始影像降低維度的運算模型,目的是將一個高維度的影像壓縮成一個低維度的編碼,可以將「Code」理解成就是把原始影像A的臉部表情、特徵等其他屬性,並透過Encoder壓縮成一個精華。

接著,Decoder的目的就是將這個較低維度的Code試圖重建成一個與原始影像相同維度的重建影像,並盡可能地使重建的結果與原始影像越相近越好,所以也可將Decoder視為一個產生器(Generator),意即試圖讓這個Generator透過少量的資訊也可以還原出整張臉的樣子。

接著,為了實現DeepFake的換臉步驟,需要對兩張人臉影像透過同樣的步驟進行訓練,在過程中,使用同一個Encoder對兩張人臉進行編碼,並分別取得兩張人臉的Decoder,分別為Decoder A與Decoder B,其過程如圖6所示。

圖6  透過兩張不同人臉產生個別的Decoder。

接著,將Decoder A替換成Decoder B,並對原始影像A的Code進行解碼,即可輸出一張原始影像A的輪廓,並結合了原始影像B的五官的換臉影像,示意圖如圖7所示。

圖7  將原始影像A的Decoder A與Decoder B進行替換。

分辨影片或視訊畫面是否為DeepFake

DeepFake的濫用現象猖獗不斷,在網路上看到被大量轉傳、分享的影片且不確定是否為DeepFake的產物時,可以透過以下四個要素進行判斷。若看到影片或視訊畫面具有表1所述的幾種情形發生時,則可以推測它可能是DeepFake造假影片。此外,目前已有科技透過AI與深度學習技術來學習分辨與偵測DeepFake,並期望達到「透過AI來反制AI」的目標。除了根據這些要素進行分辨外,民眾們更應該養成先查證,不隨意轉傳的素養,這樣才能減少更多人成為DeepFake的受害者。

情境與操作演練

宇宙公司是一間經商公司,阿永與小靖是在宇宙公司行銷部門的員工,公司平時在營運過程中員工們需要每周進行數次的開會以討論行銷企劃與績效報告,然而近幾個月碰上新冠病毒疫情的肆虐,宇宙公司為因應政府政策,因此啟動員工分流與居家上班的模式,而公司的週會也改成「遠距視訊會議」的方式進行。

在一次的週會中,員工小靖因為個人的私事無法參與會議,並想到曾經學習過如何使用DeepFaceLive技術進行換臉,因此腦洞大開,透過深度學習訓練了一張自己的人臉模型,並讓阿永代替小靖來參與這次的會議。

首先,小靖請小永上網至DeepFaceLive官方的GitHub資源下載DeepFaceLive的開源軟體並進行安裝。(官方GitHub資源為https://github.com/iperov/DeepFaceLive)。接著,小永至選擇的目錄下開啟「DeepFaceLive.bat」這個批次檔來執行軟體。

由於操作DeepFaceLive是一個相當消耗記憶體資源的操作,因此在使用之前,必須先至「進階系統設定」中把虛擬記憶體的配置設定進行調整,將虛擬記憶體的起始大小設定成1,6384MB,最大值設定為3,2768MB,待設定完成後,點選〔確定〕以套用虛擬記憶體的相關設定,過程如圖8與圖9所示。

圖8  設定虛擬記憶體的過程(A)。
圖9  設定虛擬記憶體的過程(B)。

當設定完成,小永啟動DeepFaceLive的軟體。在DeepFaceLive中,主要分為視訊畫面來源、人臉偵測器、人臉校正器、人臉標記器、人臉交換器、畫面調整器,以及換臉前的畫面、人臉校正畫面、交換後的人臉、合併後的預覽畫面,使用者可以選擇視訊鏡頭或是載入現成的影片,並可以設定相關的參數及預覽換臉後的效果,圖10為DeepFaceLive的軟體介面。

圖10  DeepFaceLive軟體介面。

開啟軟體後,首先需要進行畫面輸入來源的設定,使用者可以選擇自行載入影片檔案,或是透過視訊鏡頭作為輸入。在官網下載的軟體中已經提供了一些範例影片,畫面來源設定如圖11所示。

圖11  畫面來源設定介面。

完成後,小永針對人臉檢測器進行設定。在DeepFaceLive中提供了已經預訓練完成的人臉偵測模型,包括CenterFace、S3FD與YoloV5模型,使用者可以任意選取其中之一做為人臉檢測的模型,設定介面如圖12所示。

圖12  人臉檢測器的設定介面。

接著,小永開始針對人臉校正器進行設定與調整。透過人臉校正器的設定,可以調整人臉的覆蓋範圍、解析度、X軸位移、Y軸位移的參數。在預覽時若無明顯誤差,使用時保持預設值即可,人臉校正器與人臉特徵點如圖13與圖14所示。

圖13  人臉校正器設定介面。
圖14  人臉特徵點的標記。

在下一步中,選擇人臉標記器以設定臉部的關鍵點檢測的演算法模型。在DeepFaceLive軟體中提供了預訓練的模型,包含OpenCV LBF、Google FaceMesh以及InsightFace_2D106,並於Device欄選擇驅動的顯示卡,人臉標記器,如圖15所示。

圖15  人臉標記器設定介面。

在人臉交換器的部分,小永選擇小靖事先給他的人臉模型作為換臉的標的物,而在DeepFaceLive軟體中也有一些已經訓練完成的臉部模型供使用者使用,然後再於Device欄位選擇驅動的顯示卡,並可以利用Pre-sharpen來調整臉部的銳化程度,人臉交換器設定畫面與交換後的人臉預覽,如圖16與圖17所示。

圖16  臉部交換器的參數設定。
圖17  交換後的人臉預覽。

在畫面調整器的設定中,可以針對換臉後的畫面進行參數調整,包括模糊化程度、位移度、透明度、插值法及作為驅動的顯示卡等設定,若呈現效果已經滿足預期,則可以將這些參數設定保持預設值,設定介面如圖18所示。

圖18  畫面調整器的設定介面。

當相關的設定都就緒完成後,小永就可以直接即時性地看見換臉後的效果,若搭配較高等級的顯示卡與圖像處理器,那麼畫面的流暢度與每秒幀數(FPS)都會有所提升。

畫面的呈現效果如圖19所示,連結下方網址或掃描QR Code即可觀看影片呈現的效果。

圖19  換臉後的呈現效果。

已經透過DeepFaceLive代替小靖上陣的小永,在與會的過程中,起初其他的同事們並無發現異狀,但是當輪到小靖發言時,眼尖的同事們發現小靖說話時的嘴型以及眨眼的動作非常不自然,以及在不同角度的燈光下,在臉部周遭的畫面出現異常模糊的情況。

後來在部門主管的質問之下,代替小靖開會的阿永才將一切事實坦白,事後宇宙公司並將翹班的小靖以及幫忙代替的阿永解雇開除,並決定之後要擬定方案與借助科技來反制透過DeepFake技術偽裝他人身分的情況發生。

從上述的情境中,可以得知經過DeepFakeLive換臉之後,若經過仔細觀察,在真偽的分辨上仍有跡可循。

如圖20所示,在同樣的解析度之下,換臉之前的視訊畫面能夠看見人臉皮膚上較細部的紋理,而在經過換臉之後則會觀察到五官畫面較為模糊,而將光源進行調整時,則可以更明顯觀察到換臉前與換臉後的破綻,如圖21所示。

圖20  換臉前後的人臉比較圖。
圖21  在不同光源之下的換臉前後比較圖。

 

結語
資訊科技的日新月異,雖然為人們帶來了無比的方便,但同時也會衍伸出許多資安問題。尤其近年來人工智慧、機器學習與深度學習技術在人臉的應用上不斷推陳出新,「人臉操控」裡例如人臉偵測、人臉辨識、人臉濾鏡到人臉交換,諸多不同的應用已經在人們的生活中習以為常,然而,在訓練人臉模型的過程中,需要大量的人臉圖片作為訓練的資料,因此人臉資料的取得就會衍伸出隱私權的議題。隨著DeepFake技術的問世再加上便利的網際網路,人們容易從網路上取得人臉圖片素材,並伴隨著技術實作門檻大幅降低,使得這些偽造影片充斥在網路世界中,也因為DeepFake的濫用愈來愈多,進入了一個「眼見不能為憑」的時代。在本文中,介紹了一種即時性的換臉技術(Real Time Face-Swapping),並說明其背景知識與原理,接著透過開源軟體DeepFaceLive親手實作這項技術。在情境演練中,則以視訊會議中偽造身分的範例來說明這項技術可能會發生的負面應用,並於情境中得知一些可以幫助分辨真偽的要素。可以透過對這項技術的了解,並培養查明事實的素養,因應「人臉操控」所帶來的各式影響得讓科技導入日常生活與工作需求的實質正面運用。

 

 

<本文作者:社團法人台灣E化資安分析管理協會(ESAM, https://www.esam.io/)元智大學Multimedia Security and Image Processing Lab多媒體安全與影像處理實驗室由黃正達博士率領成員們致力數位多媒體應用與研究,其領域包含不限於Cryptography(密碼學)、Steganography(偽裝學)、Medical Image Application(醫學影像應用)、Machine/Deep Learning Application(機器學習、深度學習)、Mixed Reality Technology(混合實境)。>


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!