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