李宗佑,高勇
(四川大學,四川 成都 610065)
隱寫術是一種將秘密信息隱藏在多媒體載體中,并通過公共信道傳輸給特定接收者的技術。應用該技術時,第三方將難以發現被隱藏的信息。秘密信息的公共載體很多,如MP3、WAV、AAC等。其中,MP3 作為當前社會最流行的壓縮域音頻編碼格式之一,其具有高壓縮率和高質量的特點,被廣泛應用于大眾的日常生活中。然而,目前運用于MP3 隱寫分析的傳統神經網絡模型通常較大且占用資源較多。本文借鑒GoogLeNet 的設計理念,提出一種基于輕量化卷積神經網絡模型的隱寫分析方案。
在過去的十幾年中,許多基于MP3 的隱寫方案陸續被提出,絕大多數是與編碼器相結合,例如被人熟知的開源軟件MP3stego[1],其具有較好的透明性和編碼兼容性。Gao 等人[2]和Yan 等人[3]分別提出了基于哈夫曼碼替換的隱寫算法(Huffman code Mapping,HCM),由于哈夫曼碼字在MP3 壓縮數據流中占比高達90%以上,所以可以作為理想的隱寫空間。Yang 等人[4]提出了一種使用等長度熵碼替換(Equal Length Entropy Codes Substitution,EECS)的自適應MP3 隱寫算法。該算法利用了心理學模型,在嵌入過程中引入校驗子格編碼(Syndrome-Trellis Code,STC)和代價函數,提高了隱寫的安全性。
隨著時代的進步,深度學習逐漸用于音頻的隱寫特征分析。Chen 等人[5]首次提出利用CNN 對最低有效位(Least Significant Bit,LSB)隱寫術進行檢測,而后Wang 等人[6]提出了首個應用于熵碼域的MP3 隱寫分析CNN 網絡(WASDN),該網絡對哈夫曼碼字映射以及等長熵碼字替換隱寫算法檢測的準確率提高了20%左右。Zhang 等人[7]提出的LMCNN 進一步簡化了模型,做到了網絡輕量化。前面兩者對熵碼域隱寫分析的研究都是基于MP3 音頻的量化修正余弦變換(Quantified Modified Discrete Cosine Transform,QMDCT)系數。
本文在文獻[7]的相關研究基礎上,對模型進一步改進。在引入殘差塊優化Inception 結構加速收斂的同時,借鑒圖像特征提取網絡將子結構中的池化層改為最大池化方式,從而在淺層網絡中最大程度濾除無關信息,只保留紋理特征,進一步節約訓練成本,做到模型更小,精度相當。結果表明,網絡對于熵碼域的隱寫分析效果較好,在隱寫信息嵌入率較高時,其精度能達到90%以上,具有一定的使用價值。
MP3 編碼原理如圖1 所示。QMDCT 系數和哈夫曼碼字是MP3 音頻中最為重要的兩大參數,編碼后的音頻文件90%以上均為哈夫曼碼字。MP3 音頻的每個聲道包含576 個QMDCT 系數,按照頻率大小由低到高分為大值區、小值區和零區,如圖2所示。

圖1 MP3 編碼原理

圖2 QMDCT 系數矩陣
MP3Stego 作為熟知的開源軟件原理不過多介紹,下面簡單介紹HCM、EECS 隱寫算法。
HCM 隱寫算法,由于哈夫曼碼字在MP3 音頻壓縮比特流中占比很大,并且隱寫不會改變哈夫曼碼字結構、長度、符號位以及Linbits 位,通過修改哈夫曼碼字來進行數據隱藏具有高容量、高隱蔽性的特點。
EECS 隱寫算法是首個自適應MP3 音頻隱寫算法,在嵌入秘密信息的過程中引入檢驗子格編碼(Syndrome-Trellis Code,STC)和代價函數構造來提升隱寫術的安全性。其中代價函數會依據心理聲學模型中的映射關系進行隱藏信息代價計算,再通過STC 編碼將隱藏信息嵌入在比特流中。
采用國際電信聯盟(International Telecommunication Union,ITU)標準的音頻質量感知評價方法中的評價參數(Object Difference Grade,ODG),對感知隱寫音頻質量進行客觀測量,結果如表1 所示。表1 中參數值0 為基準,-1 以內表示可察覺性低,-1 至-3 表示存在細微雜音,-3 以下表示質量較差,另外當音頻質量較好時可能存在大于0 的現象。

表1 ODG 測量
本節具體介紹QMDCT 系數矩陣、數據預處理方式和CNN 的主體框架,以及各個模塊的作用。算法流程如圖3 所示,圖中L1 和L2 分別表示步長1 和2。

圖3 算法流程
整個網絡的輸入是200×450 的QMDCT 系數矩陣。數據預處理選取高通濾波器提取高頻殘余信號特征。接著6 個卷積層級聯,受Inception_resnetv2[8]的啟發,在池化層后引入殘差塊,激活函數選取tanh,損失函數采用交叉熵損失函數,最后使用全局平均值池化層替換了全連接層。
本文選取QMDCT 系數矩陣作為網絡輸入,主要的原因是哈夫曼碼字與QMDCT 系數之間有著完整的映射關系,表明QMDCT 系數矩陣可以作為良好的隱寫分析特征。
為了更加直觀地描述,QMDCT 系數矩陣可以表示為:

Qi,j表示QMDCT系數,所選通道數i∈{1,2,…,200},j∈{1,2,…,450}是系數的索引值。
3 種隱寫算法對音頻進行處理后,QMDCT 系數矩陣的差異如圖4、圖5 和圖6 所示。圖中SPR表示隱寫負載率,RER表示相對嵌入率,白點表示存在差值。

圖4 矩陣差異(EECS(128 kbit/s,SPR=2))

圖5 矩陣差異(HCM(128 kbit/s,RER=1))

圖6 矩陣差異(MP3Stego(128 kbit/s,RER=1))
音頻隱寫有別于圖像,其所隱藏的信息基本屬于信號的高頻部分,所以這里采用高通濾波層來進行數據預處理,目的是為樣本增加特征,從而CNN能更好地完成分類任務。此結論在文獻[9]中已得到證實。音頻隱寫會改變原始載體音頻的QMDCT系數矩陣,如下式所示:

式中:Ci,j和Si,j分別為正常音頻和隱寫音頻的QMDCT 系數矩陣;Mi,j表示由于秘密信息嵌入引起的擾動;i和j表示系數矩陣的橫縱方向上的索引。
基于MP3 的編碼原理,QMDCT 系數矩陣的零值不會發生改變,所以只需求取在一階差分運算下矩陣行、列的非零系數修改比例以及二階差分運算下矩陣行、列的非零系數修改比例和通過對比矩陣系數的修改比例來選取數據預處理方式。
各預處理濾波器的數學表達式為:


表2 比特率為128 kbit/s 時,不同高通濾波器的濾波效果
子模塊結構分為5 個通道Channel1、Channel2、Channel3、Channel4、Channel5,每個通道通過大小不同的卷積核對輸入數據進行多尺度特征提取,最后進行特征融合。子模塊使用殘差連接的方式,防止深層子網絡退化,從而出現梯度消失或者爆炸的情況,其結構如圖7 所示。

圖7 子模塊
卷積層作為CNN 的核心部分,網絡采用卷積核分解的方式,替換掉3×3 和5×5 的卷積核從而減少計算量,雖然結構更加繁雜,但是參數的個數減少會降低網絡過擬合的風險,節約了計算成本。此外,卷積層中頻繁使用1×1 卷積核,其作用可以大致分為:
(1)實現跨通道的交互和信息整合;
(2)進行卷積核通道數的降維和升維;
(3)減少網絡參數;
(4)可以在feature map 尺度不變的情況下,增強網絡非線性,提升網絡深度。
其中就減少網絡參數做出如下解釋:假設3×3卷積層的輸入通道為N,輸出通道為2N,權重和偏差總數為:

加入1×1 卷積核后參數總和為:

這樣參數減少7N2-N,當N較大時,參數減少量相當可觀。
池化層的主要作用是減少特征維數,保留數據的主要特征。LV3 在淺層網絡中均使用最大池化,最大程度濾除無關特征,在最后的全局池化層采用平均池化,將有效特征進行融合分析。
殘差塊與淺層網絡的池化層相連接,從而對特征殘差進行學習,在提高模型收斂速度的同時,避免了特征信息丟失和網絡梯度爆炸。殘差塊結構如圖8 所示。

圖8 殘差塊
激活函數選擇ReLu 能夠加速網絡收斂,但是考慮到QMDCT 系數矩陣的數值范圍有限,且存在一定的對稱性,所以選擇tanh 具有更好的分類效果。
批量歸一化(Batch Normalization,BN)層實質作用就是對特征數據進行歸一化處理,其主要作用是加速收斂速度、防止梯度彌散和提升網絡的泛化能力。
模型最后采用全局平均池化替代全連接層,不僅降低了計算量,而且保留了前面各個卷積層和池化層提取到的信息特征,使得整個網絡具有更強的分類檢測能力。
選取采樣率為44.1 kHz,持續時間為10 s 的WAV 音頻數據集,利用專業MP3 編碼器LAME[10]將WAV 文件編碼為比特率為128 kbit/s 和192 kbit/s的高質量MP3 文件。實驗通過數據集[11]制作隱寫音頻文件,對于HCM 算法,編碼過程中秘密信息以0.1,0.3 和0.5 的相對嵌入率(RER)進行隱藏;EECS算法通過STC編碼實現對隱寫嵌入率的控制,W和T分別為奇偶檢驗矩陣的寬度和高度,本實驗固定T為7,分別在W為2,3,4,5 處嵌入秘密信息。把得到的10 000 個載體和載密文件對,按照7 ∶2 ∶1 劃分并進行訓練、驗證以及測試。
實驗優化方式選用Adam[12],其中β1=0.9,β2=0.999,ε=10?8,訓練批次大小為24,初始學習率設置為0.001,為了防止數據過擬合,選取L2 正則化大小為0.001,為保證網絡收斂速度,采用學習率下降策略(每5 000 步,下降0.9)。此外參數的隨機初始化方法采用Xavier[13],網絡以Loss 連續3 個epoch 不下降作為停止訓練條件。
兩種傳統分析方法,一是基于MP3 音頻幀內幀間相關性的隱寫分析算法[14](Abs Difference One-Step Transfer Probabilities,ADOTP),二 是基于Markov 單步轉移概率的音頻隱寫分析算法(Multiple Difference between Inter and Intra Frames,MDI2)[15],兩者均采用機器學習中的支持向量機來訓練10 個epoch 求取檢測精度的平均值。
為了全面評估實驗網絡的性能,傳統隱寫分析方案選擇ADOTP、MDI2 進行對比,神經網絡選取Googlenet 類型的LMCNN 以及VGG 類型的WASDN進行比較。
本文實驗采用的神經網絡模型大小和占用顯存規模如表3 所示。

表3 模型參數
表4、表5 展示了各種隱寫分析手段對HCM、EECS 兩種隱寫算法的檢測能力。表6 對比了各模型訓練的擬合速度。

表4 HCM 算法隱寫檢測準確率 %

表5 EECS 算法隱寫分析檢測準確率 %

表6 模型收斂輪數
實驗結果表明,提出的LV3 網絡相比于LMCNN不僅更加輕量化、收斂速度更快而且檢測精度相當。對比于WASDN 以及傳統分析手段,LV3 模型具有更高的隱寫分析價值。
遷移學習[16]是深度學習中最強大的理念之一。深度學習受限于訓練資源,遷移學習可以較好實現特征遷移,做到從一個任務中學習知識,并運用到另外一個相關任務中去。其相較于從零學習大大降低了對數據集本身的依賴,能更好地體現網絡的泛化能力。遷移學習的分類如圖9 所示。

圖9 遷移學習類型
由于MP3Stego 編碼器在低碼率下工作時容易崩潰,大數據集制作困難,所以采用EECS 隱寫算法的分析檢測模型進行遷移學習。由于MP3Stego隱寫算法對QMDCT 系數矩陣的改變明顯高于EECS算法,所以網絡學習難度降低,適當提高學習率,微調參數進行實驗,數據如表7 所示。結果表明LV3 模型具有良好的泛化能力,遷移學習運用在小數據集上不僅能加速網絡收斂,還能提高檢測精度。

表7 MP3stego 算法隱寫分析
本文提出了一種高效、輕量化CNN 的MP3 隱寫分析模型。網絡通過對池化層設計,先利用最大池化層過濾較多的無用特征信息,再使用全局平均池化進行特征整合,在盡可能降低計算量的同時還保證了較高的準確率。為了確保淺層網絡小部分特征不丟失,模型引入殘差模塊。殘差學習在彌補了模型收斂速度的同時,最大限度上確保深層網絡不會出現梯度消失或者爆炸。結果表明,提出的LV3網絡相比于LMCNN 不僅更加輕量化、收斂速度更快而且檢測精度相當。同時,其隱寫分析能力也優于WASDN 以及ADOTP、MDI2 等優秀的傳統分析手段,此外該模型在熵碼域的隱寫分析中泛化能力強,適用于各種比特率以及隱寫負載率。