回征,周詮
中國(guó)空間技術(shù)研究院 西安分院,西安 710000
衛(wèi)星遙感圖像,在各個(gè)領(lǐng)域中發(fā)揮著不可或缺的重要作用[1]由于成像距離遠(yuǎn),衛(wèi)星遙感圖像幅寬遠(yuǎn)大于普通光學(xué)圖像,數(shù)據(jù)量龐大。然而,在如此龐大的圖像數(shù)據(jù)之中,衛(wèi)星遙感圖像中亟需傳遞的目標(biāo)區(qū)域或情報(bào)信息所占的比例卻不高,較為次要的背景(海面、大氣等)區(qū)域占據(jù)遙感圖像中大多數(shù)部分。在傳統(tǒng)遙感圖像處理過(guò)程中,普遍只對(duì)圖像的全局信息進(jìn)行處理分析,這樣一來(lái),處理次要信息造成了不必要的計(jì)算開(kāi)銷,影響系統(tǒng)性能。以圖像壓縮為例,為了不在重構(gòu)圖像中引入過(guò)多失真而影響重要目標(biāo)的獲取,很難實(shí)現(xiàn)星地遙感圖像高倍壓縮;此外,全局處理方法,保留了大量次要區(qū)域的圖像細(xì)節(jié),既增加運(yùn)算量,也是對(duì)傳輸鏈路資源的一種浪費(fèi)。
在這種背景下,需要引入一種針對(duì)目標(biāo)區(qū)域的非均勻處理技術(shù),對(duì)遙感圖像的背景和目標(biāo)進(jìn)行差異處理:保證重要目標(biāo)的無(wú)失真?zhèn)鬏?,確保重要信息的傳遞;而較為次要的背景區(qū)域,則適當(dāng)降低其重構(gòu)視覺(jué)質(zhì)量,以減少資源開(kāi)銷。近些年來(lái)隨著人工智能技術(shù)的發(fā)展,借助于各類神經(jīng)網(wǎng)絡(luò),遙感圖像中的目標(biāo)區(qū)域提取已逐漸成為現(xiàn)實(shí)[2-3]。
數(shù)字圖像信息隱藏技術(shù)[4],利用數(shù)字圖像中存在的冗余以及人類視覺(jué)的不敏感性,將秘密信息嵌入到載體圖像中,并在接收端無(wú)誤地提取出嵌入的信息。信息隱藏的這一特性,完美契合了上述非均勻遙感圖像處理的需求??赡嫘畔㈦[藏(reversible data hiding,RDH)[5-6],是信息隱藏技術(shù)的一個(gè)重要分支。在RDH中,不僅秘密信息可在接收端準(zhǔn)確無(wú)誤提取,載體圖像同樣也可以恢復(fù)到原始狀態(tài)。
Tian[7]在2003年提出的基于差值擴(kuò)展(difference expansion, DE)的可逆隱藏是一類經(jīng)典的RDH算法。DE通過(guò)哈爾小波,對(duì)像素對(duì)之間的整數(shù)差值進(jìn)行擴(kuò)展,得到冗余空間,可逆地嵌入秘密信息。許多研究學(xué)人員對(duì)DE算法進(jìn)行了改進(jìn),主要包括兩類方法,即基于整數(shù)-整數(shù)變換(integer-to-integer transform, IT)[8-11]和預(yù)測(cè)誤差擴(kuò)展(predict error expansion, PEE)[12-15]的可逆隱藏方法。其中,PEE通過(guò)擴(kuò)展載體像素與預(yù)測(cè)像素的誤差來(lái)代替直接擴(kuò)展載體像素之間的誤差,可在自然圖像中生成更大的冗余空間,以獲得更好的嵌入性能??傮w來(lái)說(shuō),大多數(shù)基于DE的RDH算法都依賴一個(gè)二值矩陣,用以標(biāo)記可擴(kuò)展的像素對(duì),稱之為位置圖(location map)。位置圖需要使用無(wú)損二值壓縮(如JBIG)進(jìn)行處理,并將壓縮后的位置圖作為輔助信息,與純載荷(pure payload)一起嵌入載體圖像中。也就是說(shuō),DE類算法的嵌入容量一定程度上受到定位圖的可壓縮性能制約。
直方圖移位(histogram shifting, HS)是另一類有效的RDH方法[16-18],最早由Ni[16]在2006年提出。HS首先生成載體圖像的灰度直方圖,尋找其峰值點(diǎn)和零點(diǎn),通過(guò)整體搬移直方圖實(shí)現(xiàn)秘密信息嵌入。HS方法實(shí)現(xiàn)簡(jiǎn)單,計(jì)算復(fù)雜度低,其隱秘圖像具有很高的視覺(jué)質(zhì)量。但是,該方法的隱藏容量取決于載體圖像的灰度直方圖的峰值點(diǎn)。針對(duì)不同的圖像,隱藏容量并不穩(wěn)定,特別是當(dāng)載體圖像灰度直方圖較為平坦時(shí),該類方法的隱藏容量相當(dāng)有限。此外,當(dāng)載體圖像不存在真正零點(diǎn)時(shí),需要構(gòu)造零點(diǎn),而原有坐標(biāo)則被記錄下輔助標(biāo)記定位信息,這些定位信息也需要額外的無(wú)損二值壓縮。
將PEE與HS進(jìn)行結(jié)合也是一種高效的可逆隱藏方法。在這類方法中,將HS中直方圖搬移的隱藏思想應(yīng)用于PEE中生成的預(yù)測(cè)差值直方圖,可以獲得更高的隱藏容量。Luo等[19]使用PEE方法首先生成載體圖像預(yù)測(cè)差值的統(tǒng)計(jì)直方圖,并選取兩個(gè)峰值點(diǎn),向不同方向進(jìn)行直方圖搬移實(shí)現(xiàn)可逆隱藏。 Hong等[20]提出了一種基于預(yù)測(cè)誤差修正(modification of prediction errors, MPE)方法。由預(yù)測(cè)誤差域構(gòu)造出的直方圖具有更明顯的峰值點(diǎn),在相同隱秘圖像質(zhì)量前提下,該方法只需要修改較少的預(yù)測(cè)誤差值,就可獲得高于傳統(tǒng)HS的嵌入容量。
在星地遙感圖像的傳輸過(guò)程中,嵌入了秘密信息的隱秘圖像是視覺(jué)不可見(jiàn)的。也就是說(shuō),在設(shè)計(jì)相應(yīng)可逆隱藏算法過(guò)程中,可以突破隱秘圖像不可感知性的限制,在提取的目標(biāo)區(qū)域中,可逆藏入盡可能多的秘密信息。此外,遙感圖像傳輸對(duì)實(shí)時(shí)性要求很高,對(duì)算法的時(shí)效性要求很高。綜上所述,適用于遙感圖像非均勻處理的RDH算法應(yīng)具備兩個(gè)特點(diǎn):1)不考慮隱秘圖像視覺(jué)質(zhì)量的情況下,嵌入盡可能多的秘密信息;2)簡(jiǎn)單有效,具有較好的時(shí)效性。
若將應(yīng)用現(xiàn)有的RDH算法非均勻處理,存在以下問(wèn)題:1)單次嵌入量不足。受限于載體圖像不可感知性的限制,現(xiàn)有的可逆信息隱藏算法中,每一次秘密信息嵌入時(shí),載體圖像像素的修正程度都很小,所能嵌入的秘密信息容量較少。2)需要額外無(wú)損壓縮處理輔助信息。通過(guò)回顧各類經(jīng)典的可逆信息隱藏算法可以看出,輔助信息,特別是對(duì)溢出像素的標(biāo)記,是其中不可或缺的重要部分,這無(wú)疑與星地遙感圖像處理的實(shí)時(shí)性要求有所沖突。
本文針對(duì)遙感圖像傳輸?shù)奶攸c(diǎn),提出了一種基于目標(biāo)的非均勻處理方法,選取遙感圖像的目標(biāo)區(qū)域及其鄰域?yàn)檩d體(假設(shè)目標(biāo)可由其他算法進(jìn)行提取),將背景區(qū)域進(jìn)行高倍圖像壓縮形成碼流,該碼流經(jīng)過(guò)加密后可逆的嵌入載體。在該方法中,載體的不同子塊的像素通過(guò)與塊內(nèi)基準(zhǔn)像素進(jìn)行運(yùn)算,分為平滑塊和復(fù)雜塊,秘密信息被嵌入在平滑塊內(nèi)除基準(zhǔn)像素之外的像素之中。在接收端,修改過(guò)的像素可通過(guò)該塊內(nèi)的基準(zhǔn)像素進(jìn)行完全復(fù)原。與傳統(tǒng)RDH算法比較,該算法具有單次嵌入容量大、實(shí)現(xiàn)簡(jiǎn)單及無(wú)需額外二值無(wú)損壓縮的特點(diǎn)。
圖1 基于RDH的遙感圖像非均勻處理方法Fig.1 The RDH-based non-uniform process of remote sensing images
基于RDH的遙感圖像的非均勻處理流程如圖1所示。本文假設(shè)目標(biāo)可以由特定方法正確提取,現(xiàn)有針對(duì)遙感圖像的目標(biāo)檢測(cè)算法包括視覺(jué)顯著性檢測(cè)[21]、基于機(jī)器學(xué)習(xí)的方法及基于深度學(xué)習(xí)的方法[2-3]等。隨后背景區(qū)域經(jīng)過(guò)高倍壓縮——如壓縮標(biāo)準(zhǔn)JPEG2000。隨著近年來(lái)人工智能的發(fā)展,各類神經(jīng)網(wǎng)絡(luò)壓縮方法也使高質(zhì)量高倍圖像壓縮成為現(xiàn)實(shí)[22]。
在闡述算法之前,先定義兩種圖像像素的位運(yùn)算,對(duì)于非負(fù)整數(shù)0≤x≤255以及二進(jìn)制數(shù)字b∈{0,1},定義以下位操作算子:
b=bitget(x,r),r∈[1,2,…,8]
(1)
x*=bitset(x,r,b),r∈[1,2,…,8]
(2)
算子表示的是提取像素x的第幾位。例如對(duì)于8 bit量化的灰度圖像,r=8代表其最高有效位(most significant bit,MSB);與此相反,r=1代表其最不顯著位(least significant bit,LSB)。此外,bitset(·)算子是將像素的第r比特替換為b,如bitset(127,8,1)=255。
首先對(duì)將載體圖像進(jìn)行分塊,利用給定正整數(shù)門(mén)限T=2t以及每個(gè)圖像塊中的基準(zhǔn)像素,對(duì)該像素塊的平滑程度進(jìn)行判別。然后,載體圖像中的每個(gè)圖像塊都可歸類為平滑塊以及復(fù)雜塊,這種判定得出平滑性由選定基準(zhǔn)圖像的LSB表示,而原有基準(zhǔn)像素的LSB則作為輔助信息,與純載荷共同構(gòu)成秘密信息,隱藏在平滑塊中。秘密信息的嵌入通過(guò)比特替換進(jìn)行,嵌入過(guò)程具體如下:
當(dāng)?shù)谝槐閽呙杞Y(jié)束后,得到需要嵌入載體的秘密信息為X=A∪P,其中P為純載荷。
圖2 修改后像素的位結(jié)構(gòu)Fig.2 Bits of the modified pixel
Step 4.2如果f=0,那么Bi為復(fù)雜子塊,跳轉(zhuǎn)至下一子塊。
循環(huán)至所有子塊都進(jìn)行嵌入,完成秘密信息的嵌入過(guò)程,得到隱秘圖像Ie。
與嵌入過(guò)程類似,秘密信息的提取可以看作是嵌入的近似逆向過(guò)程。其主要過(guò)程包括對(duì)隱秘圖像分塊,提取每個(gè)子塊中的基準(zhǔn)像素,根據(jù)預(yù)先設(shè)置的LSB判決該子塊是平滑塊還是復(fù)雜塊。對(duì)于平滑子塊,提取除基準(zhǔn)像素之外每塊像素的8-R-(t+1) 位LSB,即為嵌入的秘密信息,并解碼其中(8-R)~(8-R-t)位(t+1)bit,轉(zhuǎn)化為十進(jìn)制差值,與基準(zhǔn)像素做運(yùn)算恢復(fù)該位像素。當(dāng)所有秘密信息提取完畢后,使用其前N位輔助信息,對(duì)各個(gè)子塊(包括平滑以及復(fù)雜塊)標(biāo)記修改的基準(zhǔn)像素進(jìn)行復(fù)原,完成最終的載體圖像,保證隱藏算法的可逆性。秘密信息提取以及載體圖像復(fù)原的具體步驟如下:
由上文嵌入算法可見(jiàn),本文方法中,可供秘密信息嵌入的冗余空間由平滑子塊提供,而每一個(gè)子塊,包括復(fù)雜子塊中的基準(zhǔn)像素的LSB都需要記錄下來(lái),作為附加信息用于載體復(fù)原,對(duì)于 像素的8 bit灰度載體圖像,假設(shè)共有Ns個(gè)平滑子塊,則嵌入的秘密信息純載荷共有:
count(P)=Ns×[8-(t+1)-R]·
(3)
其中,count(P) 指的是純載荷數(shù)據(jù)P的大小,[8-(t+1)-R]為塊中除基準(zhǔn)像素之外每像素可以隱藏的比特?cái)?shù),(m×n-1)為每塊中可供隱藏像素的數(shù)目,t=「log2T?與門(mén)限T相關(guān),R為像素預(yù)留MSB,M×N/(m×n)為提取的各個(gè)子塊中預(yù)留的LSB個(gè)數(shù),這些提取出的LSB構(gòu)成了附加信息A,用于基準(zhǔn)像素復(fù)原。
式(3)中,預(yù)留MSB數(shù)R與載體圖像大小H×W為定值,而平滑子塊數(shù)目Ns由t與m×n共同決定:當(dāng)子塊大小m×n一定時(shí),(m×n-1)與M×N/(m×n)一定,而t越大,平滑子塊數(shù)目Ns越多,但每像素中可隱藏的比特?cái)?shù)[8-(t+1)-R]則會(huì)下降;另一方面,當(dāng)t一定時(shí),每像素隱藏可隱藏[8-(t+1)-R]bit信息,子塊大小m×n越大,每個(gè)子圖像塊中隱藏的信息比特?cái)?shù)[8-(t+1)-R](m×n-1)越多,附加信息總量H×W/m×n越少,但平滑子塊數(shù)目Ns會(huì)隨著m×n增大而減小。
最后,如圖1中所闡述,需要對(duì)背景區(qū)域進(jìn)行壓縮,而其壓縮比由目標(biāo)區(qū)域所能嵌入的秘密信息容量決定,當(dāng)然,可以對(duì)圖像進(jìn)行兩次掃描計(jì)算得出精確的嵌入量,但這增大了系統(tǒng)的開(kāi)銷。一種可行的方法是使用特定樣本的圖像集,預(yù)估出目標(biāo)區(qū)域的某些簡(jiǎn)單特性與嵌入容量的關(guān)系,在每次輸入圖像時(shí),計(jì)算估計(jì)出可嵌入的容量,得出相應(yīng)壓縮比。
本方法的嵌入容量與載體——目標(biāo)區(qū)域的自身特性息息相關(guān),即含有較多平坦區(qū)域的載體,容量更高;而含有更多紋理和細(xì)節(jié)的載體,嵌入容量較低。在這里,使用圖像活性度量(image activity measurement,IAM)[23]對(duì)給定圖像I的平滑性進(jìn)行預(yù)估,IAM的定義如下:
(4)
(5)
通過(guò)得到該參數(shù)下(門(mén)限,分塊大小)的一系列多項(xiàng)式系數(shù)pi對(duì)于每一個(gè)輸入圖像,就可以估計(jì)出其在不同門(mén)限下的嵌入容量。
得到適當(dāng)擬合系數(shù)之后,每一次的輸入圖像,只要得到其IAM值,就可以帶入不同多項(xiàng)式,預(yù)估最佳的嵌入容量:
(6)
隨后,根據(jù)預(yù)估的嵌入容量,即可進(jìn)一步計(jì)算出背景區(qū)域所需的壓縮比。
為了測(cè)試算法性能,首先選取了6張512×512 大小的灰度遙感圖像(見(jiàn)圖3)。后續(xù)試驗(yàn)主要對(duì)算法的嵌入容量進(jìn)行測(cè)試,嵌入容量通常由直接嵌入的信息比特?cái)?shù)衡量,其單位為bit。
圖3 測(cè)試遙感圖像Fig.3 Standard test images
上文分析過(guò),本算法的嵌入容量主要受兩個(gè)因素影響:分塊大小m×n和門(mén)限T,在這里設(shè)置了9種不同分塊方案以及4類不同門(mén)限大小。不同參數(shù)下(m×n和T),6幅測(cè)試圖像的單次嵌入容量如圖4所示。由圖4可以看出,對(duì)于所有圖像,當(dāng)門(mén)限T=64時(shí),隱藏容量都處于較低的水平,這是因?yàn)殚T(mén)限取值較大時(shí),雖然平滑子塊數(shù)目Ns較大,但每個(gè)可隱藏像素與基準(zhǔn)像素之間的差值,其二進(jìn)制編碼會(huì)占據(jù)更大的空間,導(dǎo)致每個(gè)可隱藏像素實(shí)際嵌入的純載荷數(shù)量下降。
對(duì)于分塊大小m×n,當(dāng)子塊較小(m<4且n<4)或是子塊較大時(shí)(m>4或n>4),各個(gè)測(cè)試圖像得出的隱藏容量都處在相對(duì)較低的水平,而對(duì)于分塊m=2,n=4,m=4,n=2和m=4,n=4,試驗(yàn)得出的隱藏容量處于一個(gè)大致相當(dāng)?shù)乃健?/p>
綜上所述,對(duì)于含有大量背景,即平滑區(qū)域的遙感圖像,可選區(qū)較小的門(mén)限T=16來(lái)最大化嵌入容量。在下文算法對(duì)比中,本方法的參數(shù)設(shè)置為T(mén)=16,m=2,n=4。
圖4 不同參數(shù)下,各測(cè)試圖像的單次嵌入容量Fig.4 The capacity of test images at singe embedment in different parameters
這里選取一些典型空域可逆信息隱藏算法,包括Ni[16],Li[15],Hong[20],Luo[19],Hu[13]以及Coltuc[11],對(duì)不同算法的單次嵌入容量進(jìn)行比較。
圖5不同RDH算法之間單次嵌入容量比較Fig.5 Comparison of RDH schemes for capacity at single embedment
通過(guò)圖5可以看出,對(duì)于所有6幅測(cè)試遙感圖像,本文方法的隱藏容量具有很大的優(yōu)勢(shì),相比于基于IT(基于IT變換的可逆隱藏算法一般更適宜與大容量可逆隱藏)的Coltuc算法,本文方法的隱藏容量可以達(dá)到250 000~450 000 bit的優(yōu)勢(shì)。由此可見(jiàn),對(duì)于具有較多背景區(qū)域的星地遙感圖像,本文方法僅需要進(jìn)行一次嵌入,就可以得到400 000~650 000 bit的嵌入容量,而這一過(guò)程是完全可逆,在接收端可以完全復(fù)原載體圖像和秘密信息。
本文和對(duì)比算法的輔助信息處理方式如表1所示。從表1可以看出從,除Coltuc算法,其他基于DE、HS和PEE的算法都依賴于額外無(wú)損二值壓縮進(jìn)行輔助信息處理,而本算法嵌入和提取過(guò)程中,無(wú)需進(jìn)行額外的無(wú)損二值壓縮。綜上所述,本文方法可以在不進(jìn)行重復(fù)迭代,在僅需一次嵌入情況下,在512×512測(cè)試遙感圖像中藏入400 000~650 000 bit秘密信息。此外,對(duì)于可逆隱藏所必須的附加信息,本文方法不需要進(jìn)行額外的無(wú)損壓縮處理。
表1 現(xiàn)有RDH隱藏算法的輔助信息處理方法
為了進(jìn)一步探究,將本方法應(yīng)用于遙感圖像時(shí)的性能,本文選取了WHU-RS19遙感圖像集中的200張512×512像素遙感圖像。所選取門(mén)限T=16以及T=32,分塊大小包括m=2,n=4,m=4,n=2,m=4,n=4 共6種情況,200張圖像的隱藏容量分布以及數(shù)值統(tǒng)計(jì)結(jié)果,如圖6所示。
由圖6可以看出,對(duì)于所選遙感圖像,由于其大多數(shù)圖像內(nèi)容為平滑的背景區(qū)域覆蓋,采用較小門(mén)限T=16時(shí),即有足夠的子塊被判別為平滑子塊,而顯然T=16時(shí)每一個(gè)可隱藏像素所能提供隱藏空間要優(yōu)于T=32時(shí)。當(dāng)T=16時(shí),對(duì)不同分塊大小,平均隱藏容量相差不大,其中m=4,n=4時(shí),平均嵌入量要高于另兩種分塊方式約5 000 bit,但在這種情況下,各樣本隱藏容量之間標(biāo)準(zhǔn)差,不同圖像所能提供的隱藏容量差異較大。
前文說(shuō)過(guò),進(jìn)行背景區(qū)域壓縮時(shí),需要通過(guò)對(duì)現(xiàn)有圖像集進(jìn)行曲線擬合得出相應(yīng)參數(shù),預(yù)估嵌入容量及背景區(qū)域的壓縮比,這里依然選取了使用的WHU-RS19中的200幅遙感圖像,在分塊方式為m=4,n=2,門(mén)限T=16以及T=32時(shí),使用三次多項(xiàng)式擬合,擬合出圖像IAM與嵌入容量的關(guān)系曲線,如圖7所示。
圖6 不同門(mén)限下200張測(cè)試圖像的單次嵌入容量分布Fig.6 Distribution of 200 test images′ capacity at single embedment under different thresholds
由圖7可以看出,隨著IAM的增大,算法的嵌入容量會(huì)逐漸變小,嵌入容量是IAM的減函數(shù)。在IAM較小(IAM≤10)——即圖像擁有較多平坦區(qū)域時(shí),曲線的擬合程度較高,嵌入容量-IAM點(diǎn)集中在擬合曲線附近。相對(duì)于門(mén)限T=16,當(dāng)T=32時(shí)擬合誤差更小,曲線擬合程度更好。同時(shí),T=32時(shí),嵌入容量隨IAM的變化程度更小,均值較T=16更小。
圖7 不同參數(shù)下,測(cè)試圖像的IAM-嵌入容量的 三次多項(xiàng)式擬合曲線。Fig.7 The cubic polynomial fitting curve of IAM versus embedding capacity in different parameters
本文提出了一種適用于遙感圖像傳輸?shù)拇笕萘靠赡嫘畔㈦[藏算法:
1)算法可實(shí)現(xiàn)優(yōu)異的單次嵌入容量,對(duì)于512×512像素的灰度測(cè)試遙感圖像,平均單次嵌入秘密信息可達(dá)350 000~600 000 bit;此外,算法不需要借助額外無(wú)損壓縮方法來(lái)處理輔助信息。
2)算法的最優(yōu)性能需要通過(guò)調(diào)整多項(xiàng)參數(shù)才能達(dá)到,現(xiàn)階段只能通過(guò)曲線擬合的經(jīng)驗(yàn)曲線進(jìn)行預(yù)估,尚不能達(dá)到根據(jù)輸入圖像進(jìn)行準(zhǔn)確參數(shù)調(diào)整。
3)與傳統(tǒng)可逆信息隱藏算法不同,遙感圖像傳輸過(guò)程中不需要考慮隱秘圖像的視覺(jué)質(zhì)量,脫離了隱秘圖像視覺(jué)質(zhì)量限制,可有效增加算法的單次嵌入容量。
4)通過(guò)本算法,可實(shí)現(xiàn)遙感圖像目標(biāo)區(qū)域在星地鏈路上的無(wú)損傳輸。
5)目前本方法尚在計(jì)算機(jī)仿真階段,下一步將硬件驗(yàn)證算法的可靠性。