国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SIFT和RGB特征的同圖復(fù)制篡改檢測(cè)算法

2018-10-15 08:07:40王夢(mèng)思王任華
關(guān)鍵詞:關(guān)鍵點(diǎn)鄰域特征向量

王夢(mèng)思, 王任華

(中國(guó)人民公安大學(xué)信息技術(shù)與網(wǎng)絡(luò)安全學(xué)院, 北京 100038)

0 引言

隨著數(shù)字時(shí)代的到來,數(shù)字照片日益深入人們的生活,圖片處理軟件的廣泛應(yīng)用,使修改照片變得簡(jiǎn)單又快速,但人們也會(huì)運(yùn)用科技的手段惡意篡改偽造數(shù)字圖像,小到個(gè)人,大到國(guó)家,篡改圖像會(huì)在不同方面造成惡劣影響,所以通過技術(shù)手段可鑒定圖像的真?zhèn)涡?,從而保證媒體和網(wǎng)絡(luò)發(fā)布圖像的真實(shí)性、可靠性。

同圖復(fù)制篡改是數(shù)字圖像篡改較為常見的一種類型,主要操作是將圖像中的一個(gè)目標(biāo)體復(fù)制粘貼到同一圖像中的其他位置,再結(jié)合模糊、縮放、壓縮的操作讓篡改圖像顯得更真實(shí)。在同圖復(fù)制篡改檢測(cè)中,SIFT(Scale Invariant Feature Transform)[1]算法是目前應(yīng)用最廣泛、最基本的算法之一,它具有旋轉(zhuǎn)、平移、光照不變等性質(zhì),但是SIFT算法是基于灰度圖像操作,若篡改對(duì)象為灰度圖像,則所有的色彩信息全部消失,這就造成一定的信息浪費(fèi),而SIFT算法的自身缺陷也會(huì)導(dǎo)致存在一定的誤匹配。如圖1中街景圖像為同圖復(fù)制篡改圖像,SITF檢測(cè)出篡改區(qū)域,但易拉罐圖像為真實(shí)圖像,SIFT也檢測(cè)出了匹配區(qū)域,而該匹配區(qū)域除顏色不同外,其他特征如紋理特征等都很相似,這也印證了SITF算法無法應(yīng)用顏色特征進(jìn)行判斷從而會(huì)出現(xiàn)誤匹配。SIFT檢測(cè)效果如圖1所示。

圖1 左上:篡改圖;右上:SIFT檢測(cè)結(jié)果;左下:非篡改圖;右下:SIFT檢測(cè)結(jié)果

針對(duì)彩色圖像在此之前已有許多基于各類色彩空間的研究,[2-4]分析了圖像色彩成分和描述子以有效結(jié)合SIFT算法進(jìn)行特征提?。换贖SV色彩空間,[5]提出了顏色直方圖,[6]提出了顏色信息量化以增強(qiáng)魯棒性并減少計(jì)算復(fù)雜程度,[7]在該空間內(nèi)使用SIFT算法提取車牌信息;[8]基于YCbCr空間進(jìn)行圖像拼接檢測(cè);[9]基于RGB空間提出了實(shí)時(shí)圖像檢索的快匹配特征。

本文選擇了RGB色彩空間來提取關(guān)鍵點(diǎn)的顏色特征,因?yàn)樵谌粘I钪蠷GB空間是最頻繁使用也是最易理解的顏色模型之一,以人的肉眼來看,RGB空間非常接近自然顏色,也是最長(zhǎng)應(yīng)用的模型之一。在提取圖像中的關(guān)鍵點(diǎn)時(shí),大致分為兩個(gè)步驟:(1)使用SIFT算法提取關(guān)鍵點(diǎn);(2)在以關(guān)鍵點(diǎn)為中心的鄰域內(nèi)分別提取RGB 3個(gè)通道的顏色特征。在特征點(diǎn)匹配時(shí),會(huì)發(fā)現(xiàn)匹配點(diǎn)減少,這是因?yàn)樵黾拥念伾卣鲿?huì)將許多誤匹配過濾掉,在接下來的環(huán)節(jié)中會(huì)減少許多工作量。特征點(diǎn)匹配常見的方法是k-d樹或是基于歐氏距離,為了提高檢測(cè)效率,本文選擇的是找出最近鄰域的Best-Bin-First (BBF)算法[10]。為了進(jìn)一步消除誤匹配,本文使用Random Sample Consensus(RANSAC)算法[11]并結(jié)合新提出的異常距離算法,即根據(jù)坐標(biāo)判斷關(guān)鍵點(diǎn)到正確匹配點(diǎn)集的位置距離是否在所設(shè)定的閾值內(nèi),從而排出異常值。

1 方法概述

本文的方法是通過結(jié)合SIFT算法和RGB特征來實(shí)現(xiàn),第一步是用SIFT算法提取圖像中的關(guān)鍵點(diǎn),然后計(jì)算每個(gè)關(guān)鍵點(diǎn)鄰域內(nèi)的RGB顏色特征;第二步根據(jù)兩種特征進(jìn)行特征點(diǎn)匹配。為了減少計(jì)算的復(fù)雜性,首先用SIFT算法匹配關(guān)鍵點(diǎn),然后匹配關(guān)鍵點(diǎn)對(duì)的RGB特征,若它們的顏色特征不相似,則認(rèn)為是異常點(diǎn)并排除,最后一步是使用RANSAC和異常距離算法將異常匹配點(diǎn)移除,算法流程圖見圖2。

圖2 算法流程圖

1.1 提取SIFT特征點(diǎn)

SIFT算法是David Lowe在1999提出的用于局部特征描述和提取的算法,它針對(duì)旋轉(zhuǎn)、縮放、光照、放射變化有很好的魯棒性,大體步驟為:

(1) 通過構(gòu)造高斯金字塔和高斯差分尺度空間可以檢測(cè)到局部極值點(diǎn);

(2) 通過三維二次函數(shù)以精確確定關(guān)鍵點(diǎn)的尺度和位置,同時(shí)去除低對(duì)比度的關(guān)鍵點(diǎn)和不穩(wěn)定的邊緣響應(yīng)點(diǎn),以增強(qiáng)匹配的穩(wěn)定性,提高抗噪聲能力;

(3) 利用關(guān)鍵點(diǎn)鄰域像素的梯度分布方向特性為每個(gè)關(guān)鍵點(diǎn)指定方向參數(shù),使算子具有旋轉(zhuǎn)不變性;

(4) 以關(guān)鍵點(diǎn)為中心取一個(gè)16×16 的鄰域,一共產(chǎn)生4×4個(gè)種子點(diǎn),這樣對(duì)于一個(gè)關(guān)鍵點(diǎn)就產(chǎn)生了4×4×8 共128 維的特征向量,再對(duì)特征向量進(jìn)行歸一化,則可進(jìn)一步去除光照變化的影響。

1.2 提取RGB特征

顏色特征在圖像檢索中是最常使用的特征之一,它不受圖像方向和尺度的影響,因此具有較強(qiáng)的魯棒性,而SIFT算法應(yīng)用于灰度圖像,這會(huì)導(dǎo)致丟失大量顏色信息,所以通過增加關(guān)鍵點(diǎn)的顏色特征從而增強(qiáng)匹配的準(zhǔn)確性。首先選擇合適的色彩空間,考慮到計(jì)算復(fù)雜度和適用性,本文選用的是RGB空間,RGB模型由3個(gè)通道組成:紅、綠、藍(lán),每個(gè)通道各有256級(jí)亮度范圍(從0~255),然后我們用顏色直方圖將亮度級(jí)進(jìn)行量化,該顏色直方圖可表明圖像像素的顏色分布情況,但無法表明像素的空間坐標(biāo),所以對(duì)于旋轉(zhuǎn)和縮放有很強(qiáng)的魯棒性。

在SIFT提取關(guān)鍵點(diǎn)后,在這些點(diǎn)的鄰域內(nèi)進(jìn)行RGB特征提取,大體步驟如下:

提取關(guān)鍵點(diǎn)的N×N鄰域;

分別量化3個(gè)顏色通道的亮度級(jí)。為了便于構(gòu)建直方圖灰度分布特征向量,將256級(jí)亮度分成M個(gè)區(qū)間(M取偶數(shù)),即每個(gè)區(qū)間大小為256/M,同時(shí)為了避免較大誤差,M的值要大于6;

將關(guān)鍵點(diǎn)的N×N鄰域內(nèi)像素的顏色分布分別映射到3個(gè)通道的顏色直方圖中;

根據(jù)顏色直方圖,最終將形成3×M維的顏色特征。

如圖3所示,當(dāng)M=16,N=9時(shí)的紅色通道的顏色特征提取直方圖,右上的表格所示的是SIFT提取的關(guān)鍵點(diǎn)P1(坐標(biāo)是(469,1 309))及其鄰域,它的紅色通道強(qiáng)度是253,右下直方圖所示的是表格的顏色分布直方圖,左邊所示的是顏色量化區(qū)間,在P1鄰域內(nèi)紅色密度在[144,160]之間,歸一化為6個(gè)區(qū)間像素點(diǎn),所以P1的紅色通道向量為[0,0,0,0,0,0,0,0,0,6,3,0,5,4,1,62]。

圖3 P1點(diǎn)的紅色通道特征提取,原圖像為圖1b

1.3 特征點(diǎn)匹配

在提取SIFT特征和RGB顏色特征后,再通過歐氏距離匹配特征向量,然而隨著特征維數(shù)的增加,匹配的效率會(huì)越來越低,所以一開始不將SIFT特征和RGB特征結(jié)合,而是參照[6]的方法將整幅圖像分成若干不重疊的區(qū)域塊,其大小為16×16;使用BBF算法計(jì)算128維SIFT關(guān)鍵點(diǎn)間的最近鄰域,生成第一輪的匹配對(duì),再使用RGB特征進(jìn)行第二輪匹配。設(shè)定匹配對(duì)為v1,v2,兩種閾值θ1,θ2,v1_color和v2_color分別代表v1,v2的RGB顏色特征向量。

v1_color=(x1,x2,x3, …,x3×M-1,x3×M)

(1)

v2_color= (y1,y2,y3, …,y3×M-1,y3×M)

(2)

distinct=v1_color-v2_color=
(d1,d2,d3,…,d3×M-1,d3×M)

(3)

如果max(distinct)=di<θ1,i∈(1,3×M) 且 min(distinct)=dj>θ2,j∈(1,3×M),即視兩個(gè)特征向量為匹配對(duì)。

1.4 異常匹配點(diǎn)移除

使用RANSAC算法估算篡改區(qū)域和原始區(qū)域的仿射變換矩陣,進(jìn)而可排除由于噪聲引起的異常值點(diǎn)。

RANSAC算法本質(zhì)上是一種數(shù)學(xué)模型參數(shù)估計(jì)算法,可以從包含異常點(diǎn)的數(shù)據(jù)集中通過迭代的方法估計(jì)數(shù)學(xué)模型參數(shù),當(dāng)其達(dá)到一定概率才會(huì)得到合理結(jié)果,通過提高迭代次數(shù)來提升概率,從而達(dá)到理想結(jié)果。RANSAC算法選擇假設(shè)為“局內(nèi)點(diǎn)”的隨機(jī)子集,本文的輸入點(diǎn)集為特征向量匹配對(duì),通過反復(fù)訓(xùn)練實(shí)現(xiàn)目標(biāo)模型,并經(jīng)以下步驟驗(yàn)證:(1)所有未知參數(shù)適用于根據(jù)“局內(nèi)點(diǎn)”訓(xùn)練出的模型,并能從該模型中獲得;(2)若某個(gè)點(diǎn)適用于1中模型,則認(rèn)為該點(diǎn)是局內(nèi)點(diǎn);(3)若適用該模型的點(diǎn)達(dá)到一定規(guī)模,那么可認(rèn)為該模型合理;(4)用所有被測(cè)試過且被認(rèn)為合適該模型的“局內(nèi)點(diǎn)”重新估計(jì)模型;(5)用通過測(cè)試的“局內(nèi)點(diǎn)”的通過率和錯(cuò)誤率來評(píng)估新估算的模型。RANSAC估計(jì)參數(shù)模型具有魯棒性,它能在存在噪聲的數(shù)據(jù)集中高效的估計(jì)出參數(shù),但缺點(diǎn)是迭代次數(shù)無法設(shè)置上限,否則會(huì)導(dǎo)致效果不是最優(yōu),并且得到的模型是一定概率可信。

考慮到正常值往往集中在特定區(qū)域,而異常值有時(shí)會(huì)距離該特定區(qū)域較遠(yuǎn),本文提出異常值距離算法(outlier distances algorithm)將這些點(diǎn)排除。算法步驟如下:

(1)匹配點(diǎn)的坐標(biāo)為(x,y),而異常值距離特定區(qū)域較遠(yuǎn),我們選擇匹配點(diǎn)的一種顏色通道。例如在圖1中,所有的點(diǎn)(共W個(gè))在綠色通道中根據(jù)x坐標(biāo)的值按升序排列,如A={x1,x2,x3…xW-1,xW} 。

(2)分別計(jì)算d1=x2-x1,d2=x3-x2,d3=x4-x3,…,dW-1=xW-xW-1,由于可能存在幾個(gè)復(fù)制區(qū)域,我們需將異常值移除的同時(shí)保留正常值。假設(shè)一塊區(qū)域至少有T對(duì)匹配點(diǎn)(事先假設(shè)T=3,這會(huì)在第三部分說明),將結(jié)果分如下情況討論:

k=M/2; 如果k>5, 則k=5; 分析每個(gè)dn;如果dn>T且n≤k,則認(rèn)為xn左邊全部的點(diǎn)是異常的并將它們移除;如果dn>T且n>M-k,則認(rèn)為xn+1右邊的點(diǎn)是異常的并將它們移除;如果dn>T且dn+i>T(i<3),并且M-k>n+1>n>k, 則認(rèn)為從xn+1到xn+i是異常的,并將它們移除。

2 實(shí)驗(yàn)結(jié)果

為了對(duì)本文算法進(jìn)行總體評(píng)估,從CASIA[14]圖像庫中選擇55張未壓縮偽造圖像和30張真實(shí)圖像,從[15]中的基準(zhǔn)數(shù)據(jù)集中選擇大小為600×450,47張高質(zhì)量偽造圖像和25張大小為3 000×2 000的真實(shí)圖像。在每張圖像中添加標(biāo)準(zhǔn)差為0.002~0.01之間的高斯噪聲,每次取值間隔為0.002。在每張圖像中添加90到10的JPEG壓縮因子,每次取值間隔為20。

實(shí)驗(yàn)參數(shù)設(shè)定如下:N=9,M=16,θ1=15,θ2=-13。

考慮到高品質(zhì)圖像中有更多的SIFT關(guān)鍵點(diǎn),本文在處理不同質(zhì)量圖像時(shí),選擇不同的匹配點(diǎn)數(shù)T。對(duì)于低質(zhì)量圖像,設(shè)置T=3,對(duì)于高質(zhì)量圖像,設(shè)置T=5。實(shí)驗(yàn)結(jié)果將在圖像級(jí)和像素級(jí)兩個(gè)不同層面進(jìn)行討論。在圖像級(jí)別,通過計(jì)算準(zhǔn)確率(precision)和召回率(recall) 來測(cè)評(píng)。準(zhǔn)確率和召回率公式如下:

Precision=TP/(TP+FP)

(4)

Recall=TP/(TP+FN)

(5)

其中TP是指被正確地劃分為正例的個(gè)數(shù);FP是指被錯(cuò)誤地劃分為正例的個(gè)數(shù);FN是指將正例漏判的個(gè)數(shù)[11]。檢測(cè)結(jié)果如表1所示。

表1 兩種算法檢測(cè)結(jié)果

從表1中的結(jié)構(gòu)分析,當(dāng)檢測(cè)的圖像為原圖時(shí),無論是低質(zhì)量的圖像還是高質(zhì)量的圖像,RGB_SIFT的綜合檢測(cè)結(jié)果都要略好于SIFT。

圖4顯示了當(dāng)使用無偽造的原始圖像和壓縮圖像時(shí)的實(shí)驗(yàn)結(jié)果,在檢測(cè)此類圖像的真實(shí)性時(shí),RGB_SIFT幾乎檢測(cè)不到錯(cuò)誤點(diǎn),從而避免了SIFT出現(xiàn)誤檢測(cè)的情況。

圖4 左上:真實(shí)圖像;右上:SIFT檢測(cè);左中:JPEG壓縮90使用SIFT檢測(cè),右中:JPEG壓縮90使用RGB_SIFT檢測(cè);左下:JPEG壓縮10使用SIFT檢測(cè);右下:JPEG壓縮10使用RGB_SIFT檢測(cè)

在像素級(jí)別上只檢測(cè)篡改圖像,選擇CASIA的55個(gè)低質(zhì)量圖像和 [14]基準(zhǔn)數(shù)據(jù)集中的47個(gè)高質(zhì)量圖像。測(cè)定102張篡改圖像的準(zhǔn)確率,在圖像中添加90~10的JPEG壓縮添加,壓縮間隔為20,添加0.002~0.01的噪聲,噪聲間隔為0.002。記錄了每個(gè)圖像的正確匹配對(duì)和總匹配對(duì),并計(jì)算出總準(zhǔn)確率。表3顯示了基于像素級(jí)時(shí),RGB_SIFT檢測(cè)結(jié)果具有非常高的準(zhǔn)確率。

表2 在壓縮條件下兩種算法的實(shí)驗(yàn)結(jié)果

表3 在噪聲條件下兩種算法的實(shí)驗(yàn)結(jié)果

表2和表3分別顯示了在壓縮條件下和在噪聲條件下兩種算法的檢測(cè)結(jié)果,通過數(shù)據(jù)對(duì)比,可見RGB_SIFT算法針對(duì)JPEG壓縮和噪聲具有很好的魯棒性,檢測(cè)結(jié)果明顯優(yōu)于SIFT算法。

隨著JPEG壓縮質(zhì)量的降低,異常值似乎逐漸增加,但內(nèi)容保持穩(wěn)定,準(zhǔn)確率下降,但RGB_SIFT仍然可以容易地去除異常值。

圖5對(duì)比了兩種種法針對(duì)同一張圖的檢測(cè)結(jié)果,并添加了不同程度的JPEG壓縮。當(dāng)JPEG壓縮為10的時(shí)候,此時(shí)壓縮程度為實(shí)驗(yàn)選取的最大值,SIFT檢測(cè)存在大量的異常匹配點(diǎn),而RGB_SIFT的異常匹配點(diǎn)明顯較少。

3 結(jié)語

本文提出了一種結(jié)合SIFT特征和RGB特征新算法,該算法提高了檢測(cè)的準(zhǔn)確性和有效性。實(shí)驗(yàn)結(jié)果表明在檢測(cè)過程中,誤匹配大大減少,檢測(cè)的準(zhǔn)確率達(dá)到90%,對(duì)真實(shí)圖像的誤檢率低。在以后的工作中要深入研究提高JPEG壓縮和多區(qū)域復(fù)制檢測(cè)的準(zhǔn)確性和有效性。

猜你喜歡
關(guān)鍵點(diǎn)鄰域特征向量
二年制職教本科線性代數(shù)課程的幾何化教學(xué)設(shè)計(jì)——以特征值和特征向量為例
克羅內(nèi)克積的特征向量
聚焦金屬關(guān)鍵點(diǎn)
肉兔育肥抓好七個(gè)關(guān)鍵點(diǎn)
稀疏圖平方圖的染色數(shù)上界
基于鄰域競(jìng)賽的多目標(biāo)優(yōu)化算法
一類特殊矩陣特征向量的求法
EXCEL表格計(jì)算判斷矩陣近似特征向量在AHP法檢驗(yàn)上的應(yīng)用
關(guān)于-型鄰域空間
醫(yī)聯(lián)體要把握三個(gè)關(guān)鍵點(diǎn)
含山县| 新龙县| 巨鹿县| 邯郸市| 莱芜市| 河津市| 册亨县| 富锦市| 洪湖市| 峨眉山市| 锡林浩特市| 怀仁县| 原阳县| 渭南市| 景泰县| 朝阳市| 吕梁市| 女性| 榆社县| 正定县| 静乐县| 昌吉市| 长寿区| 泗水县| 巴林左旗| 冀州市| 景泰县| 祁门县| 育儿| 瑞昌市| 甘谷县| 利辛县| 揭阳市| 锦屏县| 古浪县| 乾安县| 岢岚县| 甘谷县| 汉源县| 遂昌县| 鄂托克旗|