基于雙目立體視覺(jué)的數(shù)字圖像加密算法
在網(wǎng)絡(luò)信息社會(huì),數(shù)字圖像是人們獲取信息的一個(gè)重要來(lái)源,成為人們進(jìn)行信息交流的重要媒介。然而,在一些運(yùn)用場(chǎng)合,數(shù)字圖像的擁有者和使用者都不希望在圖像存儲(chǔ)、圖像傳輸、圖像使用等過(guò)程中被非法瀏覽或者處理;例如在文物保護(hù)領(lǐng)域,珍貴的文物圖像、壁畫(huà)圖像在存儲(chǔ)、傳輸、使用等環(huán)節(jié)都需要進(jìn)行加密處理。隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,傳統(tǒng)的數(shù)字圖像加密技術(shù)總體而言變得保密性不高,在實(shí)際應(yīng)用中需要加以改進(jìn),近幾年來(lái),基于混沌系統(tǒng)理論的加密算法是一個(gè)重要的研究方向。
作為機(jī)器視覺(jué)領(lǐng)域的一個(gè)重要研究方向,雙目立體視覺(jué)一直是熱點(diǎn)和難點(diǎn);其基本原理是從兩個(gè)不同視角觀察同一場(chǎng)景中的物體,以獲取在不同視角下的二維圖像,通過(guò)成像幾何原理和視差原理來(lái)重建場(chǎng)景中物體的三維輪廓、位置等信息具體原理如圖1所示。

圖1中下標(biāo)2表示左相機(jī),r表示右相機(jī)。世界坐標(biāo)系中一點(diǎn)A(X,y,Z)在左右相機(jī)的成像面Cl和Cr上的像點(diǎn)坐標(biāo)分別為al(ul,vl)和ar(ur,vr)。這兩個(gè)像點(diǎn)是同一個(gè)對(duì)象點(diǎn)A在左右相機(jī)成
像面上的像,它們被稱為“同名點(diǎn)”;需要注意的是從兩幅圖像中找到同名點(diǎn)是雙目立體視覺(jué)一個(gè)極其重要的問(wèn)題。為了恢復(fù)對(duì)象點(diǎn)A在世界坐標(biāo)系中的坐標(biāo),分別作像點(diǎn)與各自相機(jī)的光心Ol和or的連線,即投影線alOL和arol;根據(jù)三角測(cè)量原理可知投影線的交點(diǎn)即為對(duì)象點(diǎn)A(X,y,Z)。
本文的加密算法為了達(dá)到對(duì)數(shù)字圖像加密/解密的目的,通過(guò)利用雙目立體視覺(jué)重建原理,對(duì)圖像像素顏色分量利用投影矩陣(密鑰矩陣)正投影進(jìn)行加密,通過(guò)反投影進(jìn)行廨密。算法屬于秘密分割類型,即圖像信息被分割成兩個(gè)密圖來(lái)攜帶。
一、加密算法基本原理及實(shí)現(xiàn)
加密算法首先將像素的顏色值分量R、G、B映射到三維空間中,R、G、B分量類似于三維空間中的X、y、Z分量;再通過(guò)兩個(gè)不同的密鑰矩陣將映射到三維空間中的顏色值正投影到二維空間;利用密鑰矩陣對(duì)R、G、B分量進(jìn)行投影生成密矩陣,投影后部分顏色值信息丟失,但是這部分丟失的信息隱藏在另外一個(gè)密鑰矩陣對(duì)顏色值投影產(chǎn)生的密矩陣中;在解碼階段,利用反投影原理及兩個(gè)密矩陣信息互相補(bǔ)償?shù)脑砘謴?fù)數(shù)字圖像。
1、加密流程
(1)構(gòu)建合適的密鑰矩陣
攝像機(jī)投影矩陣是用來(lái)完成三維世界到二維圖像之間的一種映射,在算法中密鑰矩陣實(shí)現(xiàn)三維顏色空間向二維空間的投影,也是本文加密算法的密鑰。像素顏色向量C用4維齊次矢量(R,G,B,1)T表示;密矩陣的元素值G表示為3維齊次矢量的形式(r,g,l)T;p表示3x4密鑰矩陣。則加密過(guò)程可以表示為:
![]()
其中P包含了從顏色值空間到密矩陣元素值和姿態(tài)變換以及標(biāo)定矩陣,即密鑰矩陣可以分解為標(biāo)定矩陣、旋轉(zhuǎn)矩陣、平移矩陣。
算法中采用的兩個(gè)密鑰矩陣應(yīng)滿足:
1)小孔透視投影線性成像模型;
2)窄基線;
3)不同的標(biāo)定矩陣、旋轉(zhuǎn)矩陣、平移矩陣。
(2)獲取密矩陣
分別將密鑰矩陣P1、P2代人公式(1),對(duì)映射到三維空間的每j個(gè)顏色分量進(jìn)行正投影,獲得的兩個(gè)蘭維的密矩陣Ml、M2,如圖2,圖3所示。密矩陣的大小與源圖像大小一致,其中元素的取值類型是雙精度型。利用兩個(gè)加密矩陣可以產(chǎn)生兩幅密圖,兩幅密圖可以分開(kāi)傳輸,攜帶的信息互為補(bǔ)償。


2、解碼流程
(1)獲取顏色空間的對(duì)象點(diǎn)
加密算法根據(jù)線性三角測(cè)量原理來(lái)獲取對(duì)象點(diǎn)的位置,兩幅密矩陣中坐標(biāo)位置相同的元素是同名點(diǎn);采用基于空間兩異面同名光線的公垂線中點(diǎn)的方法進(jìn)行顏色空間任意點(diǎn)的三維重建,其最優(yōu)解滿足最小均方誤差的最小二乘解。
如圖4所示,圖中下標(biāo)Z表示左相機(jī),r表示右相機(jī)。某個(gè)像素顏色值C(R,G,B)在左右相機(jī)的密矩陣Cl和Cr上的“像點(diǎn)”的值分別為Cl(rl,gl)和cr(rr,gr)。這兩個(gè)“像點(diǎn)”是同一個(gè)像素顏色值C的像。分別作它們與各自相機(jī)的光心ol和or的連線,即投影線CLOL和cror,,投影線的交點(diǎn)為顏色空間中的對(duì)象點(diǎn)C(R,G,B)。

但是,由于相機(jī)成像模型非理想的小孔成像、CCD成像噪音、標(biāo)定參數(shù)誤差等因素的影響,實(shí)際這兩條投影線在顏色空間中未必相交于一點(diǎn),而且這兩條投影線不可能平行。因此,對(duì)于根據(jù)cl(rl,gl)和cr(rr,gr)重建C的問(wèn)題可以轉(zhuǎn)化為根據(jù)兩條異面投影線CLOL和cror,尋找C的問(wèn)題。為了保證C在密矩陣Cl和Cr上的投影點(diǎn)坐標(biāo)盡可能地接近c(diǎn)l(rl,gl)和cr(rr,gr),可以使點(diǎn)C到投影線cl(rl,gl)和cr(rr,gr)的距離平方和最小a在算法中G的值取投影線公垂線段的中點(diǎn)。根據(jù)以上原理得到具體解碼流程如下:

圖5中:

m11,m21,m13分別表示密矩陣Ml(i=1,2)每行的前三列元素組成的行向量;W=(R,G,B)T表示原圖像素顏色的分量值。
二、仿真實(shí)驗(yàn)結(jié)果及抗攻擊性能分析
為了檢驗(yàn)本文加密算法的性能,對(duì)其進(jìn)行加密和解密實(shí)驗(yàn),并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行了分析。
1、實(shí)驗(yàn)結(jié)果
選取220×165的經(jīng)典彩色圖像Lena.jpg進(jìn)行仿真實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如圖6-10所示,其中圖6是原圖,圖7是從密矩陣1產(chǎn)生的密圖1,圖8是從密矩陣2產(chǎn)生的密圖2,圖9是解密圖,圖1O是改變其中任意一個(gè)3x4的密鑰矩陣的任意兩個(gè)元素得到的矩陣作為密鑰矩陣進(jìn)行解密得到的解密圖。

從圖9可知采用正確的密鑰矩陣解密出圖像較原圖整體稍偏白,這是由于算法是基于二維圖像恢復(fù)三維空間中物體三維幾何信息的原理,而這個(gè)過(guò)程是一個(gè)不適定性問(wèn)題,也即一個(gè)病態(tài)問(wèn)題;所以算法屬于有損加密。但是數(shù)字圖像信息并不像文本信息那么敏感,可以允許一定的失真度。
例如比較圖6和圖9,基本上人眼察覺(jué)不出兩幅圖像的差別。從圖7和圖8可知,根據(jù)密圖無(wú)法推測(cè)出原圖的結(jié)構(gòu)信息和像素顏色信息。
2、抗攻擊性能分析
首先分析算法的密鑰空間復(fù)雜度,算法密鑰是透視投影矩陣,大小固定,可以分解為標(biāo)定相機(jī)矩陣、旋轉(zhuǎn)矩陣、平移矩陣等三個(gè)矩陣,矩陣元素在整個(gè)實(shí)數(shù)空間范圍取值,所以密鑰空間可以為無(wú)限大。
其次分析算法的密鑰敏感性,圖10是改變其中任一個(gè)密鑰矩陣的任意兩個(gè)元素得到的矩陣作為密鑰矩陣進(jìn)行解密得到的解密圖,可知算法密鑰的敏感性強(qiáng),有較強(qiáng)的抵御惡意攻擊的能力。
小知識(shí)之立體視覺(jué)
當(dāng)閉上一只眼睛拿東西時(shí),物件的距離和空間感會(huì)變得不一樣又或是當(dāng)你輪流遮蓋一只眼睛看某一件近距離的東西時(shí),有沒(méi)有留意到左右眼睛所看出來(lái)的物件位置是不同的這種情況是因?yàn)槿梭w的兩只眼睛位置不同,令每只眼睛看出來(lái)的影像有所差異。當(dāng)左右眼睛所看到的影像傳到腦部時(shí),腦部會(huì)將兩個(gè)影像合而為一,形成對(duì)物件的立體及空間感,即是「立體視覺(jué)」。








