洪學敏,張海翔
(浙江理工大學 信息學院,杭州 310018)
在日常生活中,聽覺和視覺是人類最主要的溝通方式,這兩種信號之間有著密不可分的聯系,兩者之間可以互相提供豐富的特征信息。例如,在人與人之間交流時,面部表情、說話口型、頭部和身體動作可以有效提高信息的可理解性。根據研究,人與人之間的交流有3 種方式:文字信息、語音信息和動作信息。其中文字信息占7%,語音信息占39%,動作信息占54%。與文字信息、普通語音信息相比,動作信息與語音信息的共同輸入可以更好地提高人類互動交流的感受。因此,利用聽覺與視覺雙模態的數據輸入進行跨模態學習來生成基于語音驅動的說話人臉視頻成為目前的一大熱門研究課題。
語音驅動的人臉視頻生成具體實現過程就是輸入一段人臉視頻和一段音頻,利用神經網絡進行特征編碼,使得神經網絡不斷學習音頻特征和視頻特征,從而生成新的與音頻相匹配的說話人臉視頻。其研究目的是為了挖掘音頻特征與人臉之間的關聯性,單張靜態人臉圖像之間有年齡、性別等多種屬性關聯[1],連續多張動態人臉圖像之間人臉嘴唇具有同步性,這意味著要求生成的說話人臉視頻要自然真實,輸入的語音要與生成的說話人臉視頻口型一致。因此,語音驅動說話人臉視頻生成方法需要綜合考慮上述兩方面因素,才能更好地將其應用到實際生活中去。
本文工作的主要貢獻概括為兩個方面:一是給出了基于生成對抗式網絡的人臉視頻生成方法,可以有效地提高人臉視頻生成質量。二是提出了基于LSTM-CBAM 的音視頻同步判別器,可以輔助生成語音與口型同步的人臉視頻。本文方法比現有的其它方法性能更佳。
生成式對抗網絡(Generative Adversarial Network,GAN)[2]是通過學習已有樣本的分布,生成與已有樣本相似的樣本,該模型的訓練使用對抗博弈的思想進行。對抗博弈思想是博弈雙方通過互相約束與督促,使得博弈雙方都在不斷變強的過程。GAN 模型包含生成器和判別器,生成器與判別器通過對抗博弈使二者都更強大,最終使模型生成更真實的樣本。其中,生成器可以訓練學習到與真實樣本相似的分布,從而得到虛假樣本,而虛假樣本可以欺騙鑒別器;判別器則可以區別數據分布是來自真實樣本還是虛假樣本。具體訓練流程如圖1 所示。

圖1 生成式對抗網絡Fig.1 Generative adversarial network
原始GAN 的優化目標函數如公式(1):
其中,E是分布函數的期望值;x是真實樣本;pdata(x)是真實樣本分布;z是低維噪聲;pz(z)是低維噪聲分布。
注意力機制[3]的作用,是告訴模型特征圖中的哪些區域更應該被關注。注意力模塊將某一位置的響應表達為所有位置對這一位置的特征加權,而權重和注意力向量的計算僅需要很小的計算成本。
卷積塊的注意力模塊(CBAM)[4],在前饋卷積神經網絡中具有出色的效果。其在每個網絡層都使用一個獨立的深度學習框架來進行處理,并將注意力模塊集成于整個模型之中。這種方法能夠獲得較好的結果,并且可以被廣泛地應用于各種任務中。給定CBAM 模塊一個中間特征映射,沿通道和空間維度的注意力映射,可以實現特征細化。CBAM 是輕量級的模塊,可以無縫集成到任何卷積網絡架構中。
CBAM 模塊由通道注意力模塊(Channel Attention Module,CAM)和空間注意力模塊(Spatial Attention Module,SAM)組成。通道注意力模塊用于處理不同通道的特征圖,并告知模型對這些特征圖給予更多關注;空間注意力模塊用于處理特征圖上的特征區域,并通知模型應更多地注意這些特征區域。
本文提出了一種基于LSTM-CBAM 的音視頻同步人臉視頻生成方法,其中模型框架采用的是生成式對抗網絡,由一個人臉視頻生成器和一個音視頻同步判別器組成,音視頻同步人臉視頻生成方法整體結構如圖2 所示。生成器與LipGAN[5]方法的生成器類似,采用編碼器-解碼器結構,包含音頻編碼器、視頻編碼器、人臉解碼器。SyncNet[6]是一種優秀的糾正人物口型與音頻同步錯誤的方法,本文對該方法做了改進,并將其作為音視頻同步判別器。

圖2 人臉視頻生成方法整體結構Fig.2 Face video generation method overall structure diagram
音視頻判別器模型由音頻編碼器和視頻編碼器組成,其結構如圖3 所示。音頻編碼器包含一個LSTM[7]模塊和多個卷積塊,其中包含一些殘差塊,并且在每一卷積層后都添加了CBAM 模塊,這就意味著每一卷積層后得到的特征圖多了通道注意力和空間注意力,可以更好地學習有意義的音頻特征。視頻編碼器包含多個卷積塊和殘差塊,與音頻編碼器一樣,在每個卷積層后添加了CBAM 模塊,可以更好地學習人臉口型中有意義的視頻特征。在音頻編碼器和視頻編碼器中,每個CBAM 模塊后都有一個歸一化層和Relu 激活函數。

圖3 同步判別器模型結構圖Fig.3 Structure diagram of synchronous discriminator model
CBAM 模塊由通道注意力模塊和空間注意力模塊共同組成,其完整的網絡結構如圖4 所示。

圖4 CBAM 模塊模型結構圖Fig.4 Structure diagram of CBAM module model
由于本文中在音視頻同步判別器所有卷積層后都加入了CBAM 模塊,每一層的特征圖不同,這里將特征圖向量F表示為[C,H,W]。將一個特征圖輸入到CBAM 模塊,依次計算通道注意力圖Mc和空間注意力圖Ms,整體注意力過程如公式(2):
其中,?將特征圖相乘,F″是帶通道和空間注意力的新特征圖。
在訓練過程中,判別器和生成器交替訓練,通過訓練讓兩個模型同時得到增強。兩者都使用Adam[8]作為優化器,學習率為1e-4。需要注意的是,Wav2Lip[9]方法中采用了預訓練同步判別器的方法,可以使同步判別器自身有更強大的判別力。因此,本文也采用預訓練判別器的方式進行模型訓練。
本文采用LRS2[10]數據集,該數據集是從BBC電視廣播中收集的大規模視頻數據組成。其中包括100 萬個單詞的實例,由超過3 700 個不同人物錄制的短視頻。數據集以說話人物分類,同一個人會有幾個或幾十個視頻文件以及與視頻對應的單詞文件,但是不包含音頻數據。其中,訓練、驗證、測試集劃分比例分別為95%、2%、3%。
本文實驗總體采用了生成式對抗網絡模型進行訓練,采用L1 損失與GAN損失結合來約束生成器訓練生成音視頻同步的人臉視頻。
2.4.1 生成器的L1 重構損失函數
生成器與LipGAN 等模型類似,相當于一個自編碼器,對生成視頻幀與真實樣本幀中的每一幀計算L1 損失,使得生成的幀與真實視頻幀之間的L1重構損失最小化,如公式(3):
該公式表明,L1 重構損失越小,生成的視頻幀與真實樣本幀越相似,生成的視頻越真實。
2.4.2 同步判別器損失函數
本文使用wav2Lip 中提出的Psync損失函數,該函數用二元交叉熵損失的余弦相似度,為每個樣本生成一個[0,1]之間的值。在音視頻判別器中,視頻編碼器對視頻序列提取特征,語音編碼器對語音序列提取特征,并通過二元交叉熵損失的余弦相似度來計算音頻特征與視頻特征之間的損失。輸入音頻與視頻對同步的概率如公式(4),音視頻同步判別器損失如公式(5)。
2.4.3 總體損失函數
模型的總體損失函數通過結合L1 重構損失(式(3))、Esync 同步損失(式(5))的加權和來得到,如公式(6):
其中,λ1是L1 重構損失懲罰權重,λ2為同步損失懲罰權重。
2.5.1 圖像感知相似度評價指標
在生成任務時,使用生成對抗網絡通常會引入隨機噪聲,以增加生成樣本的多樣性,雖然生成樣本與真實樣本有所不同,但分布是相同的。因此,視頻質量評價指標(PSNR、SSIM)則不適合對抗網絡生成樣本的評價指標。FID[11](Frechet Inception Distance)是一種圖像感知相似度評價指標,其是計算真實圖像和生成圖像特征向量之間距離的一種度量,常常用來評估生成式對抗網絡生成的圖像的真實性。因此,本文將采用FID 作為評判圖像真實性的指標。FID 越低,兩組圖像就越相似,代表得到的視頻幀更具有真實性。真實圖像分布與生成器生成分布之間的差異,即FID 分數如公式(7)所示:
其中,g代表生成圖像;r代表真實圖像;μr、μg分別表示真實圖像與生成圖像特征向量的均值;∑g、∑r分別表示生成圖像與真實圖像特征向量的協方差矩陣;Tr表示矩陣的跡,矩陣開根如果為復數,則只取實部。
2.5.2 口型-語音同步評價指標
語音驅動人臉視頻生成的重要目標是音頻與視頻中人物口型保持同步。本文使用SyncNet 方法中評價口型-語音同步的方法作為評價指標,該方法通過訓練視頻片段的語音特征和視頻特征,計算其歐式距離,然后再由視頻片段組成的原視頻中找到最小歐式距離,這個最小歐式距離將作為人臉口型與語音的偏差指標(LSE-D)。當LSE-D 越低,表示人臉口型時序上越連貫。LRS2 數據集中的方法是使用歐式距離的最小值和中位數之差作為人臉口型與語音的置信度分數(LSE-C)。當LSE-C 越高,表示人臉口型與語音相關程度越高。
為了驗證所提出的LSTM 模塊與CBAM 模塊在音視頻同步判別器在模型中的效果與性能,并使用FID、LSE-D、LSE-C 來衡量生成質量,并將在LRS2數據集上進行消融實驗,實驗結果見表1。表1 中,“ours”表示本文提出的基于LSTM-CBAM 的音視頻同步判別器的生成方法;“w/o LSTM&CBAM”表示缺少LSTM 模塊和CBAM 模塊的同步判別器;“w/o LSTM”表示缺少LSTM 模塊的同步判別器;“w/o CBAM”表示缺少CBAM 模塊的同步判別器。

表1 消融實驗結果Tab.1 Ablation experiment results
由表1 可見,“w/o LSTM”和“w/o CBAM”都比“w/o LSTM &CBAM”取得了更低的LSE-D 值、更高的LSE-C 值,而“ours” 比“w/o LSTM” 和“w/o CBAM”取得了更低的LSE-D 值、更高的LSE-C 值;“ours”相比“w/o LSTM &w/o CBAM”,LSE-D 值下降了7.7%,LSE-C 值提升了9.6%,證實了LSTM 模塊與CBAM 模塊可以有效提高音視頻同步判別器性能。
Speech2Vid 模型使用了傳統的編碼器-解碼器結構,用音頻與人臉圖像的聯合嵌入,分別用音頻編碼器和身份編碼器進行特征提取,將人物特征和音頻特征輸入到人臉圖像生成解碼器,用來生成說話人臉的視頻幀,不足之處在于該方法只對每幀視頻幀計算L1 損失。LipGAN 模型使用生成對抗方法,并使用同步判別器,但該方法的同步判別器每次僅處理一幀視頻,雖然有效的保證了單幀視頻音視頻同步,但視頻缺乏連貫性,容易出現視頻抖動問題。Wav2Lip 模型也使用生成對抗方法,模型有較好的音視頻同步能力,生成的視頻視覺質量也較好,但整體性能相比本文提出的模型有所欠缺。見表2,本文方法有較低的FID 值,這意味著本文方法生成的人臉視頻和真實視頻在特征層面的距離最接近,即有更高的質量。本文方法有較低的LSE-D 值,以及相對較高的LSE-C 值。雖然LSE-D 值相較于Wav2Lip 模型略差一點,但整體結果相對較好,這意味著本文模型能有較好的口型-音頻同步能力,具有更好的性能。

表2 對比實驗結果Tab.2 Comparative experiment results
本文提出了基于生成對抗網絡的音視頻同步人臉視頻生成方法,并提出了基于LSTM-CBAM 的音視頻同步判別器,在LRS2 數據集上進行對比實驗和消融實驗,結果表明本文方法生成的人臉視頻生成效果在定量評估上結果較好,證明了本文方法的有效性。