?

一種基于CNN的圖片隱寫方法*

2024-01-02 09:32任志敏
山西電子技術 2023年6期
關鍵詞:解碼分支宿主

任志敏

(常州紡織服裝職業技術學院機電學院,江蘇 常州 213164)

0 引言

隱寫術作為信息安全領域的重要技術之一,通常用于隱藏秘密信息,比如消息、圖片或聲音,這類信息也稱為載荷數據(payload),用于嵌入載荷數據的通常為圖像、圖片、聲音等非秘密文件,也稱為宿主文件(cover),從而保證載荷數據的不可見性,嵌入了有效載荷數據的宿主文件稱為Stego文件。在隱寫術中,總是希望在盡可能多隱藏有效載荷數據和確保宿主文件的保真度之間取得平衡。圖片和聲音等文件因其尺寸通常稱為宿主文件的首選。與隱寫術相對的是隱寫分析,隱寫分析是用來識別存放有效載荷的宿主文件[1]。

1 相關工作

在圖片作為宿主文件的隱寫術中,有效載荷數據通常為一特定的文本信息。這一領域的重點方向或是尋找圖片的噪聲區域,或是尋找圖片的邊緣、紋理等區域,在這些區域嵌入載荷信息從而保證不扭曲圖片本身。例如,最低有效位(LSB)替換在圖片隱寫術中使用非常廣泛[2],一種最簡單的LSB方法把秘密載荷信息替換到宿主圖片選定像素的最低有效位(通常是1位或2位),由于圖像像素分布的變化,因此通過隱寫分析,很容易檢測到宿主圖片是否因此載荷數據。當然,后面的研究人員對經典的LSB方法進行了改進,利用圖片的紋理、邊緣和像素亮度來估算LSB的位數以增強該方法隱藏載荷數據的魯棒性。

另外,研究人員利用頻域知識提取其他原始特征實現信息隱藏。比如,通過小波變換獲得權重的方法查找圖片噪聲和紋理實現載荷信息的嵌入。通過修改直方圖的表示方式實現信息隱藏的方法。使用宿主圖片的邊緣擴展載荷信息的嵌入數量并避免在隱寫分析過程中被偵測到。

2 主要方法

與以上方法不同的是,本文提出了一種利用宿主圖片直接隱藏載荷圖片的方法,雖然文本等載荷信息本身不是圖片,但是可以把文本轉為位圖,仍舊可以采用本文提出的方法。該方法本質上是設計一個深度學習網絡[3],通過它自動提取宿主圖片和載荷圖片的最佳特征并合并信息。該方法是通用的,可以應用于任何類型的圖片,為了驗證這一點,利用公開的數據集CIFAR-100進行了測試。

2.1 編碼過程

在信息嵌入階段,即編碼階段,本文用卷積神經網絡CNN(convolutional neural network)對宿主圖片和載荷數據圖片進行合成,生成混合圖片。在信息解碼階段,同樣借助CNN,從混合圖片中恢復載荷數據圖片[4]。生成混合圖片的CNN網絡架構如圖1所示,載荷圖片的解碼和提取CNN網絡架構如圖2所示。

圖1 生成混合圖片的CNN網絡架構圖

圖2 提取載荷圖片卷積神經網絡架構圖

從圖1中可以看出,編碼器網絡有宿主圖片和載荷圖片作為輸入,利用CNN的各個層提取圖片特征向量的同時,隱藏了載荷圖片的細節,生成混合圖片,目標上生成的混合圖片應與宿主圖片在視覺上盡可能保持一致。

輸入端的編碼器網絡有兩個分支并行運行,分別稱為宿主分支和載荷分支。載荷分支接收載荷圖片,并使用8個卷積層和ReLU(Rectified Linear Activation Function)層將載荷圖片分解為低層(邊緣、顏色、紋理等)和高層特征。宿主分支接收宿主圖片輸入,使用10層卷積層和ReLU層分解輸入圖片,將其特征放入到特征向量表示的層次結構中,同時將提取的載荷圖片特征合并到宿主圖片中。為了合并載荷圖片的數據,編碼器網絡提取并合并來自載荷分支的特征圖到對應宿主分支的特征圖,這一過程一共重復了8次,即8層,把載荷分支的特征圖全部合并到宿主分支,經過一系列的卷積操作和ReLU后,在最后一個卷積層生成Stego圖片。

使用Relu激活函數[5],在神經網絡中,上一層神經元的輸出值傳遞給下一層(隱層)神經元的輸入值或輸出層直接輸出,上層節點的輸出和下層節點的輸入之間有個函數關系,這個函數稱為激活函數。ReLU函數是一種常見的激活函數,ReLU本質上是求最大值的函數,函數圖像如圖3所示。

圖3 ReLU函數圖像

從圖3中可以看出,ReLU 是一個分段線性函數,如果輸入為正,它將直接輸出,否則,它將輸出為零。在輸入是負值的情況下,它會輸出0,那么神經元就不會被激活。這意味著同一時間只有部分神經元會被激活,從而使得網絡很稀疏,進而對計算來說是非常有效率的。

2.2 解碼過程

圖2所示的解碼提取網絡則分離合成圖片中的隱藏特征,重新生成載荷圖片。解碼器網絡接收編碼器產生的Stego圖片,先經過5層卷積和ReLU提取合成圖片的特征向量,再經過兩個分支,分別是提取宿主分支和提取載荷分支,各自分別經過6層卷積和5層ReLU恢復宿主圖片和載荷圖片。

2.3 損失函數

損失函數,又叫目標函數,是編譯一個神經網絡模型必須的兩個要素之一。另一個必不可少的要素是優化器。損失函數用來評價模型的預測值和真實值不一樣的程度,損失函數越好,通常模型的性能越好。不同的模型用的損失函數一般也不一樣。本方法采用的損失函數為式(1)。

Loss=α‖Isource-Ostego‖2+β‖Ipayload-Opayload‖2+γ‖Isource-Osource‖2.

(1)

Loss函數一共有3項組成,每一項都通過MSELoss的均方誤差損失函數計算獲得,其公式為式(2)。

(2)

式(2)中Yi為真實值,Yi_pred為預測值,MSE值越小代表模型越好。式(1)中Isource和Ipayload表示輸入編碼網絡的宿主圖片和載荷圖片,Ostego表示編碼器輸出的合成Stego圖片,Osource和Opayload表示解碼網絡提取出來的宿主圖片和載荷圖片。α,β和γ為控制參數。

3 實驗過程及結果分析

本文在CIFAR-100數據集上實施了該方法。CIFAR-100數據集是CIFAR-10數據集的細分[6]。CIFAR-10一共有6萬張32×32像素大小的彩色圖片組成,其中5萬張是訓練集圖片,1萬張是測試集圖片。CIFAR-10劃分為飛機、汽車、鳥、貓、鹿、狗、青蛙、馬、船和卡車共10個分類,每個類別6千張圖片。這些分類是完全互斥的,汽車和卡車分類之間沒有重疊,汽車分類只包括轎車、SUV之類的車輛,卡車分類只包括大卡車,兩種分類都不包括皮卡車。CIFAR-100有20個超類,每個超類又分成5個分類,共計100個類。每個類包含600個圖片,總計6萬張圖片,每個類各有500張訓練圖片集和100張測試圖片集。先對CIFAR-100數據集進行預處理,步驟如下:

s1:下載CIFAR-100數據集,選擇5萬張圖片訓練集,并進行shuffle打亂順序,設置batch_size為64。

s2:獲取CIFAR-100分類數字0,1,…,99,并隨機選擇其中50%作為宿主圖片集,剩余的50%作為載荷數據集。

s3:把載荷數據集轉換為僅有一個通道的灰度圖,如圖4所示,其中第一張為宿主圖片,像素大小為32×32×3,第二張為載荷圖片的原始圖片,像素大小為32×32×3,第三張為輸入編碼網絡的載荷圖片的灰度圖,像素大小為32×32×1,即輸入編碼網絡的是第一張圖片和第三張圖片。

圖4 宿主圖片和載荷圖片及其灰度圖

s4:把宿主圖片集和載荷數據集的像素值歸約到0~1之間。

s5:把宿主圖片集和載荷數據集的80%作為訓練集,10%作為驗證集,10%作為測試集。

編碼網絡和解碼網絡都采用固定學習率的Adam優化器,其中learningrate設置為0.001,公式(1)損失函數控制參數α=β=γ=1,卷積神經網絡層的所有過濾器都使用單個像素移動的步幅,并使用相同的填充padding。

本文通過計算2項指標來衡量宿主圖片與Stego圖片,輸入載荷圖片與提取載荷圖片的質量,一是結構相似性SSIM(Structural SIMilarity),SSIM是一種衡量兩幅圖像相似度的指標,對于兩張圖片,SSIM計算包括亮度(luminance)對比、對比度(contrast)對比、結構(structure)對比三個部分。二是峰值信噪比PSNR(Peak Signal-to-Noise Ratio),是一種評價圖像的客觀標準, 是最普遍,最廣泛使用的評鑒圖片質量的的客觀量測法[7-8]。PSNR 通常使用均方誤差MSE(mean-square error)來定義,MSE是反映估計量與被估計量之間差異程度的一種度量。另外通過平均每像素的位數bpp(bits per pixel)來衡量宿主圖片的嵌入載荷圖片的能力,載荷圖片嵌入宿主圖片bpp為8位,數據量占比為33.3%。

在CIFAR-100數據集隨機選擇宿主圖片(32×32×3)和載荷圖片(32×32×3轉換為灰度32×32×1),隨機選出5組圖片,實驗結果如圖5所示。

圖5 實驗結果圖

圖5中一共5組圖片,每組5張圖片,其中第1列為經過編碼網絡輸出的Stego圖片,第2列為經過解碼提取的載荷圖片,第3列為經過解碼網絡提取的宿主圖片,第4列是輸入編碼網絡的原始宿主圖片,第5列是輸入編碼網絡的原始載荷圖片。從直觀視覺上看,第1、3、4列圖片看不出差異性,第2、5列圖片幾乎也是相同的,初步滿足了圖片隱藏與提取的目的。從定量的衡量指標看,圖5的結果見表1。

表1 圖片性能指標表

從表1中可以看出,PSNR值均大于30dB,表明生成的Stego圖片和解碼提取的載荷圖片質量都是好的,在驗證集上所有圖片原始宿主圖片與Stego圖片的平均PSNR值為32.99,原始載荷圖片與解碼載荷圖片的平均PSNR值為33.61。因此,不管是從圖5中定性顯示,還是從表1中定性分析可以看出,該方法可以可靠地用于圖片隱藏。

猜你喜歡
解碼分支宿主
《解碼萬噸站》
病原體與自然宿主和人的生態關系
龜鱉類不可能是新冠病毒的中間宿主
解碼eUCP2.0
巧分支與枝
NAD C368解碼/放大器一體機
Quad(國都)Vena解碼/放大器一體機
一類擬齊次多項式中心的極限環分支
表現為扁平苔蘚樣的慢性移植物抗宿主病一例
人乳頭瘤病毒感染與宿主免疫機制
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合