劉夢(mèng)瑤,李海濤,王靖亞
(1. 中國人民公安大學(xué)信息網(wǎng)絡(luò)安全學(xué)院,北京 100038;2. 公安部第一研究所,北京 100044)
隨著深度學(xué)習(xí)網(wǎng)絡(luò)技術(shù)的快速發(fā)展,圖像偽造篡改、人臉替換、高質(zhì)量超現(xiàn)實(shí)圖像及視頻合成等廣泛用于盜版視頻、色情產(chǎn)業(yè)鏈[1]、虛假新聞等[2],成為保護(hù)圖像完整性和真實(shí)性、維護(hù)公民隱私權(quán)和肖像權(quán)、保持社會(huì)安定和諧的潛在風(fēng)險(xiǎn)。深度學(xué)習(xí)網(wǎng)絡(luò)在篡改圖像識(shí)別方面大有可為。Ahmed等[3]采用基于理論的改進(jìn)型CNN技術(shù)對(duì)實(shí)時(shí)網(wǎng)絡(luò)攝像和安全攝像進(jìn)行偽造人臉重構(gòu)建;Su等[4]基于注意力機(jī)制和卷積長短時(shí)記憶提取時(shí)間和空間維度信息,捕捉合成人臉中面部特征的大幅變化,檢測(cè)效果顯著。但對(duì)人臉細(xì)微特征變化檢測(cè)不敏感;Tran等[5]運(yùn)用手工蒸餾提取、目標(biāo)提取等技術(shù),基于CNN網(wǎng)絡(luò)和動(dòng)態(tài)閾值靈活分類減少過擬合問題,但并未探討如何加快模型收斂的問題。文獻(xiàn)[6]基于自編碼器融合注意力機(jī)制用于圖像多維特征提取;使用三層全連接層識(shí)別圖像真?zhèn)?。在小樣本?shù)據(jù)集下泛化性較好,不適用于大型復(fù)雜數(shù)據(jù)集識(shí)別研究;文獻(xiàn)[7]以合成視頻的視覺漏洞為突破口進(jìn)行判別,包括疏于保持左右眼虹膜色彩統(tǒng)一,對(duì)光照處理能力弱等提取特征訓(xùn)練小型分類器,對(duì)人臉合成圖像識(shí)別效果顯著。但對(duì)于低分辨率圖像視頻識(shí)別率較低;文獻(xiàn)[8]提出一個(gè)偽造人臉視頻檢測(cè)框架。利用時(shí)序和空間信息搭建全局時(shí)序和空間特征分類塊檢測(cè)多幀圖像中的時(shí)序篡改痕跡和五官信息,檢測(cè)效果突出。但模型通用性有待提升;Diogo.C.G[9]關(guān)注圖片二次成像的莫爾條帶效應(yīng),利用頻域中偽裝和真實(shí)圖像的效應(yīng)極大值差異判斷分類;Mo等[10]提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的篡改圖像識(shí)別方法,對(duì)比訓(xùn)練預(yù)測(cè)值和真實(shí)標(biāo)簽,對(duì)高質(zhì)量人臉數(shù)據(jù)集的篡改圖像進(jìn)行檢測(cè),但網(wǎng)絡(luò)梯度消失,過擬合等問題有待解決。
經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)在視覺圖像分類識(shí)別等多分類任務(wù)上應(yīng)用廣泛。如在CNN網(wǎng)絡(luò)最頂層加入XGBoost分類器[11]、使用基于光流的CNN[12]、3D CNNS[13]收集圖像聚合多幀特征等。隨著網(wǎng)絡(luò)結(jié)構(gòu)加深,層數(shù)和權(quán)重參數(shù)不斷疊加,易出現(xiàn)復(fù)雜網(wǎng)絡(luò)的梯度變化緩慢的問題。為減少神經(jīng)網(wǎng)絡(luò)疊加出現(xiàn)網(wǎng)絡(luò)誤差較大問題,提出ResNet。通過殘差與恒等連接解決損失值降低停滯不前或產(chǎn)生波動(dòng)問題,減少梯度下降衰減發(fā)生。但其易出現(xiàn)收斂波動(dòng),且收斂速度較慢。
將SE(Squeeze and Excitation)模塊嵌入ResNet殘差連接。首先,使用全局平均池化作為壓縮操作;其次,全連接層負(fù)責(zé)構(gòu)建通道間的關(guān)聯(lián)性,特征維度降為原輸入維度的1/16;Relu函數(shù)具有豐富的非線性,能更好擬合復(fù)雜通道間的關(guān)聯(lián)性;通過乘法逐通道加權(quán)生成新的特征,完成對(duì)原始特征的重標(biāo)定;最后,加入Sigmoid激活函數(shù)獲得[0,1]區(qū)間歸一化權(quán)重值,并將其分別加權(quán)到所有通道。
為解決訓(xùn)練時(shí)易出現(xiàn)過擬合問題,在第一個(gè)卷積層和最后全連接分類層加入兩層隨機(jī)失活,節(jié)點(diǎn)保留率分別設(shè)置為0.2,0.5,生成壓縮權(quán)重的平方范數(shù),防止某一結(jié)點(diǎn)權(quán)重過大,引起權(quán)重失衡。
損失函數(shù)使用交叉熵,函數(shù)值越小,模型分類效果越佳。優(yōu)化器采用SGD隨機(jī)梯度下降法,每次小批量迭代后計(jì)算梯度并更新,算法公式為
xt+1=xt-ηtgt
(1)
式(1)中g(shù)t為隨機(jī)梯度。
為避免復(fù)雜網(wǎng)絡(luò)參數(shù)過大導(dǎo)致過擬合,在SGD的價(jià)值函數(shù)中添加權(quán)重衰減參數(shù)正則項(xiàng),對(duì)其進(jìn)行規(guī)范化,減少低質(zhì)量參數(shù)對(duì)結(jié)果的影響
(2)
神經(jīng)網(wǎng)絡(luò)梯度沿負(fù)梯度方向下降,而添加動(dòng)量項(xiàng)后,梯度下降加速,加速收斂效果顯著。改進(jìn)公式為
v=β×v-a×dx
x←x+v
(3)
式(3)中x為神經(jīng)網(wǎng)絡(luò)梯度,v為動(dòng)量項(xiàng)。
1) 壓縮操作(Squeeze):采用全局平均池化層將每個(gè)輸入特征圖的二維特征通道從H×W壓縮至1,接近輸入的層能夠獲取全局感受野。W和H表示特征圖的寬和高,C為通道數(shù)。輸入特征圖大小為W×H×C,壓縮操作后輸出特征圖大小為1×1×C。通過一個(gè)瓶頸層結(jié)構(gòu)學(xué)習(xí)通道的內(nèi)部關(guān)聯(lián)性和注意力因子,構(gòu)建相關(guān)性。方法如下
(4)
2)激勵(lì)操作(Excitation):由全連接層+Relu激活函數(shù)層+全連接層+Sigmoid激活函數(shù)層組成。全連接層設(shè)置縮放參數(shù)SERatio,通過減少通道數(shù)降低網(wǎng)絡(luò)復(fù)雜度。
第一個(gè)全連接層包含C×SERatio個(gè)神經(jīng)元,輸入為1×1×C,輸出為1×1×C×SERatio。
第二個(gè)全連接層包含C個(gè)神經(jīng)元,輸入為1×1×C×SERatio,輸出為1×1×C。
壓縮和激勵(lì)操作網(wǎng)絡(luò)結(jié)構(gòu)如圖1和圖2所示。
圖1 壓縮層 圖2 激勵(lì)層
本實(shí)驗(yàn)數(shù)據(jù)來自4類公開人臉數(shù)據(jù)集,分別為LFW、AFLW、CASIA Face、BioID FaceDB。LFW數(shù)據(jù)集從日常場(chǎng)景中獲取13233個(gè)人臉圖像。使用openCV軟件庫進(jìn)行人臉檢測(cè)和中心化;AFLW數(shù)據(jù)庫收集不同民族、膚色的人臉灰度圖和彩色圖數(shù)據(jù)。男女圖像占比為6:4。在人臉屬性檢測(cè)方面應(yīng)用較廣;CASIA Face數(shù)據(jù)集收集了不同光照、背景條件下的圖像;BioID FaceDB數(shù)據(jù)集收集了2500張亞洲人臉圖像,數(shù)據(jù)集部分樣本展示如圖3所示。
圖3 數(shù)據(jù)集樣本展示
實(shí)驗(yàn)訓(xùn)練集和測(cè)試集樣本分類見表1。
表1 數(shù)據(jù)集樣本分類
分別對(duì)4類數(shù)據(jù)集進(jìn)行5類篡改遮蔽處理:添加泊松噪音、均勻噪音、高斯模糊、中值濾波及圖像壓縮。從輸入圖像中隨機(jī)截取多個(gè)圖像塊,單位大小為28×28。
4.2.1 泊松噪音
圖像噪聲由拍攝過程中各種隨機(jī)條件造成,利用隨機(jī)數(shù)進(jìn)行算法模擬。泊松噪音強(qiáng)弱由泊松隨機(jī)數(shù)sigma決定;噪音顏色分為彩色和灰度,灰度噪音要求位于同一位置的三通道隨機(jī)數(shù)相同,彩色噪音無要求;噪聲數(shù)量設(shè)置一定數(shù)量比例。使用帶有泊松噪音的圖像減去原始圖像,得到噪音,將其乘以一個(gè)系數(shù)并加回原始圖像,利用系數(shù)調(diào)節(jié)噪音強(qiáng)弱。滿足計(jì)數(shù)噪音要求。
4.2.2 均勻噪音
均勻噪音隨機(jī)數(shù)high和low決定噪音強(qiáng)弱。均勻噪音乘性噪聲添加公式如下
noisy_image=image+image×noise
(5)
4.2.3 高斯模糊
高斯模糊處理使用低通濾波器,卷積核權(quán)重各不相同。像素權(quán)重值分布為中心高,邊緣低,類似標(biāo)準(zhǔn)正態(tài)分布,是一種線性濾波方式。保留低能量像素,對(duì)高能量像素值運(yùn)用加權(quán)平均算法二次計(jì)算其像素值,達(dá)到能量值降低,細(xì)節(jié)模糊化的低頻圖像效果。二維高斯函數(shù)公式如下
(6)
其中μ為峰值均值,σ為標(biāo)準(zhǔn)差,用于調(diào)節(jié)模糊效果(變量x與y均有一個(gè)標(biāo)準(zhǔn)差與均值)。使用Opencv圖像處理庫函數(shù)協(xié)助圖像模糊化處理。
4.2.4 中值濾波
中值濾波處理,用數(shù)字圖像鄰域中間值代替本像素值,使周圍像素值與真實(shí)像素值相近的高度非線性平滑技術(shù)。
4.2.5 圖像壓縮
壓縮圖像由RGB轉(zhuǎn)為YUV色彩空間,由離散余弦變化替換為DCT變換矩陣以減少運(yùn)算量。使用Opencv庫函數(shù),設(shè)置壓縮質(zhì)量指數(shù)以調(diào)整壓縮強(qiáng)度。
4.2.6 預(yù)處理可視化
從兩維度展示加入泊松和均勻噪音的樣本圖,維度1為原圖,帶alpha通道圖和灰度圖;維度2為原噪音和灰度噪音。如圖4,圖5所示,行表示維度1,列表示維度2。
圖4 泊松噪音樣本 圖5 均勻噪音樣本
圖6為原樣本,圖7各行分別展示3個(gè)不同樣本加入高斯模糊、中值濾波、圖像壓縮的遮蔽效果。
圖6 原樣本 圖7 后3種遮蔽樣本
為提高數(shù)據(jù)豐富性,避免測(cè)試集出現(xiàn)過擬合,泛化能力不足問題,以隨機(jī)分布方式一次截取圖像多個(gè)圖像塊,增大圖像塊覆蓋率,提升訓(xùn)練速度。融合ROI(Region Of Interest)功能,獲取原始圖像塊和ROI圖像塊左上角坐標(biāo)值的偏移量。剔除接近邊界的冗余圖像,指定ROI區(qū)域獲取高質(zhì)量圖像塊。通過固定步長得到所有圖像塊的左上角坐標(biāo),加上圖像塊寬和高,獲取右下角坐標(biāo)。檢驗(yàn)圖像塊坐標(biāo)是否越過圖像邊界,若坐標(biāo)溢出通過重剪裁左上方和右下方坐標(biāo)值避免溢出,保證圖像塊大小不變。為保持訓(xùn)練數(shù)據(jù)的魯棒性,設(shè)置每張圖像塊最多保留數(shù)目,保證訓(xùn)練數(shù)據(jù)分布均衡有序。
本實(shí)驗(yàn)使用GPU為Nvidia GTX1080Ti,顯存容量8GB,操作系統(tǒng)為Ubuntu,深度學(xué)習(xí)框架為Pytorch-1.2.0。實(shí)驗(yàn)設(shè)置batchsize大小為32,迭代20輪。實(shí)驗(yàn)環(huán)境如表2。
表2 實(shí)驗(yàn)環(huán)境
總體網(wǎng)絡(luò)結(jié)構(gòu)如表3。
表3 總體網(wǎng)絡(luò)結(jié)構(gòu)
改進(jìn)SE_ResNet實(shí)驗(yàn)流程圖如圖8所示。
圖8 實(shí)驗(yàn)總流程圖
引入評(píng)價(jià)指標(biāo)準(zhǔn)確率(Accuracy)。
(7)
初始學(xué)習(xí)率為10-5,變化區(qū)間為[10-5,4×10-4]。前5輪迭代學(xué)習(xí)率呈線性上升,后15輪迭代學(xué)習(xí)率呈指數(shù)下降,指數(shù)衰減因子設(shè)為0.8。學(xué)習(xí)率改進(jìn)如圖9所示:
圖9 學(xué)習(xí)率改進(jìn)圖
表4和表5統(tǒng)計(jì)了改進(jìn)前后的殘差網(wǎng)絡(luò)在4類數(shù)據(jù)集測(cè)試集上的準(zhǔn)確率。經(jīng)過20輪迭代,改進(jìn)SE_ResNet模型與ResNet相比,在測(cè)試集的準(zhǔn)確率有顯著提升。
表4 ResNet模型在測(cè)試集的準(zhǔn)確率(%)
表5 改進(jìn)ResNet模型在測(cè)試集的準(zhǔn)確率(%)
多次迭代訓(xùn)練SE_ResNet神經(jīng)網(wǎng)絡(luò),在SE模塊通過全局平均池化將二維通道特征壓縮為實(shí)數(shù),獲得全局視野。通過全連接層建構(gòu)網(wǎng)絡(luò)內(nèi)部關(guān)聯(lián)性,同時(shí)Relu激活函數(shù)增加網(wǎng)絡(luò)非線性特征,泛化性能提升。Sigmoid函數(shù)將輸出結(jié)果歸一化至[0,1]。壓縮和激勵(lì)操作后,輸出特征加權(quán)到各通道中進(jìn)行參數(shù)重標(biāo)定,提升高質(zhì)量參數(shù)表現(xiàn)力,降低低質(zhì)量參數(shù)權(quán)重值。全連接分類層中加入隨機(jī)失活層,節(jié)點(diǎn)保留指數(shù)設(shè)為0.5。前5輪迭代學(xué)習(xí)率線性上升,最高至0.0004,后15輪迭代學(xué)習(xí)率呈指數(shù)下降,設(shè)置學(xué)習(xí)率衰減指數(shù)和優(yōu)化器動(dòng)量等,避免過擬合。加入SE模塊后,全連接層模型參數(shù)和計(jì)算時(shí)間有額外增長,但在5類遮蔽識(shí)別準(zhǔn)確率得到顯著提升。經(jīng)過20輪迭代,準(zhǔn)確率均值為87.30%,最高可達(dá)92.50%。
本文提出融合壓縮與激勵(lì)模塊的殘差網(wǎng)絡(luò)圖像遮蔽識(shí)別。在ResNet網(wǎng)絡(luò)8個(gè)殘差模塊內(nèi)部添加SE模塊。經(jīng)過20輪迭代,ResNet網(wǎng)絡(luò)在四類數(shù)據(jù)集上遮蔽識(shí)別準(zhǔn)確率均值為76.02%;引入壓縮與激勵(lì)模塊,改進(jìn)學(xué)習(xí)率和梯度優(yōu)化動(dòng)量后,圖像識(shí)別準(zhǔn)確率均值提升11.28%,最高可達(dá)92.50%。SE模塊通過嵌入殘差單元,增加少量參數(shù)和計(jì)算復(fù)雜度,在神經(jīng)網(wǎng)絡(luò)中應(yīng)用廣泛。未來旨在利用更復(fù)雜場(chǎng)景下的篡改遮蔽圖像技術(shù)訓(xùn)練網(wǎng)絡(luò)模型,例如小目標(biāo)復(fù)制[14],移動(dòng)設(shè)備端圖像遮蔽[15]等。在不同網(wǎng)絡(luò)深度下加入SE模塊,提升篡改遮蔽網(wǎng)絡(luò)的增益效果和目標(biāo)的泛化性能。