李志磊,程永強(qiáng),賈昊麗
太原理工大學(xué) 信息與計(jì)算機(jī)學(xué)院,太原 030024
Photoshop(以下簡(jiǎn)稱(chēng)PS)軟件是目前著名的圖像處理工具之一,功能強(qiáng)大,在諸多行業(yè)均有應(yīng)用。傳統(tǒng)的PS閱卷系統(tǒng)已實(shí)現(xiàn)客觀題的自動(dòng)評(píng)閱,但是主觀題仍是由人工評(píng)閱。設(shè)計(jì)一套可以實(shí)現(xiàn)主觀題自動(dòng)評(píng)閱的PS技能考核系統(tǒng)非常有意義。在現(xiàn)有研究中,文獻(xiàn)[1-2]通過(guò)分析PSD文檔結(jié)構(gòu),提取文檔的基本信息,并將其轉(zhuǎn)換成XML格式文檔,通過(guò)對(duì)考生操作步驟進(jìn)行量化分析來(lái)評(píng)閱所得分?jǐn)?shù)。但該方法并沒(méi)有提取圖層畫(huà)面的細(xì)節(jié)信息,無(wú)法評(píng)判考生圖像的實(shí)際處理效果。卷積神經(jīng)網(wǎng)絡(luò)在圖像對(duì)比分類(lèi)方面表現(xiàn)優(yōu)秀,但是在考試前并不能得到足夠的樣本來(lái)進(jìn)行網(wǎng)絡(luò)的有效訓(xùn)練。
在PS考試中,考試原圖與標(biāo)準(zhǔn)答案圖及考生答案圖三圖可能非常相似,僅對(duì)比考生答案圖和標(biāo)準(zhǔn)答案圖難以對(duì)考生層次進(jìn)行有效劃分。且由于考題為主觀題,每次考試考官出題時(shí)難易程度難以做到一致,僅比較兩圖的相似度并不能衡量考生在原圖的基礎(chǔ)上為增大與標(biāo)準(zhǔn)答案圖的相似度而做出的相對(duì)工作量。例如在兩次考試中考生圖與標(biāo)準(zhǔn)答案圖的相似度都為90%,但是第一次考試中原圖與標(biāo)準(zhǔn)答案圖的相似度為80%,而第二次考試中原圖與標(biāo)準(zhǔn)答案圖的相似度為10%,僅比較兩圖的相似度兩次考試都給90分這顯然有失考試的公平性。如何做到精準(zhǔn)度量考生操作對(duì)增大原圖到標(biāo)準(zhǔn)答案圖相似度的貢獻(xiàn)是PS主觀題閱卷的關(guān)鍵。本文采用圖像相似度對(duì)比的方法,通過(guò)提取三幅圖像(原圖,標(biāo)準(zhǔn)答案圖,考生圖)的顏色,邊緣,紋理特征,進(jìn)行兩兩相似度度量[3-9],運(yùn)用本文所提出的基于三角形的歐氏距離歸一化算法得出圖片之間的相似度,然后給出考生所得分?jǐn)?shù)。
直方圖算法計(jì)算簡(jiǎn)單,具有旋轉(zhuǎn)不變性[10],且便于計(jì)算歐氏距離。本文經(jīng)過(guò)特征提取后把圖像的的顏色,邊緣,紋理特征分別統(tǒng)計(jì)為顏色,邊緣,紋理直方圖。
由于圖像的非平滑區(qū)比平滑區(qū)所含的信息量更大,因此在進(jìn)行量化編碼時(shí)本文對(duì)非平滑區(qū)進(jìn)行了更加精細(xì)的劃分,顏色特征提取采用文獻(xiàn)[11]所提出的方案。文獻(xiàn)[11]在計(jì)算塊梯度時(shí)僅僅考慮了垂直和水平方向,本文對(duì)其進(jìn)行了改進(jìn),在計(jì)算時(shí)加入45°和135°方向的梯度計(jì)算。具體算法如下:
(1)將原始圖像分割成相鄰但不重疊的4×4大小的子塊。
(2)計(jì)算每一子塊的區(qū)域梯度值Grad(I)。
(3)根據(jù)區(qū)域梯度值的大小,將圖像劃分為均勻區(qū)域和非均于區(qū)域。
(4)若是均勻區(qū)域,則在RGB空間對(duì)圖像進(jìn)行均勻量化;若是非均勻區(qū)域,則在HSV空間對(duì)圖像進(jìn)行非均勻量化。
(5)直方圖統(tǒng)計(jì)索引編碼。
1.1.1 區(qū)域梯度的定義與劃分
子塊劃分如圖1。
圖1 子塊劃分
令:
塊梯度Grad定義如下:
Grad(I)的值越大,則說(shuō)明該顏色塊區(qū)域越活躍,反應(yīng)在圖像中是邊緣部分。反之則說(shuō)明該區(qū)域塊顏色變化不明顯,在圖像中為背景部分。設(shè)定一個(gè)合適的閾值,本文設(shè)定為16,當(dāng)Grad(I)的值大于16時(shí),將該區(qū)域塊劃分為顏色非均勻區(qū)域,反之則將其劃分為顏色均勻區(qū)域。
1.1.2 圖像不同區(qū)域的顏色量化
由于顏色均勻區(qū)域?qū)θ搜鄣囊曈X(jué)沖擊小,所含信息量較少,因此對(duì)其進(jìn)行了步長(zhǎng)較長(zhǎng)的均勻量化。選取對(duì)應(yīng)子塊中原16個(gè)像素點(diǎn)的RGB值所對(duì)應(yīng)灰度值的平均值為該子塊的像素值,然后將其均勻量化到32階。然后分別統(tǒng)計(jì)32種灰度級(jí)所對(duì)應(yīng)的像素點(diǎn)的數(shù)目,得出圖像均勻區(qū)域的均勻量化32維灰度直方圖。其中RGB值轉(zhuǎn)化為灰度值的心理學(xué)公示如下:
顏色非均勻區(qū)域?qū)θ搜鄣囊曈X(jué)沖擊力大[12],在此對(duì)其進(jìn)行了更加精細(xì)的非均勻量化。在量化編碼時(shí)采用了更符合人眼視覺(jué)觀察系統(tǒng)的HSV顏色空間。選用了文獻(xiàn)[13]的非均勻量化方案,量化公式如下:
分別統(tǒng)計(jì)72種量化值所對(duì)應(yīng)的像素點(diǎn)的數(shù)目,得出圖像非均勻區(qū)域的72維灰度直方圖。結(jié)合顏色均勻區(qū)域,得到圖片顏色特征提取后的32+72=104維直方圖COLOR_HIST。圖2為彩色lena圖的顏色梯度圖和彩色直方圖。
圖2 顏色梯度圖及直方圖
邊緣特征的提取同樣采取了分塊提取的思想。在邊緣獲取方面,本文選用Canny邊緣算子。具體算法如下:
(1)將彩色圖形進(jìn)行灰度化處理。
(2)用canny算子對(duì)灰度圖進(jìn)行邊緣提取生成邊緣二值圖像。
(3)將邊緣二值圖像分割成相鄰但不重疊的2×2大小的子塊。
(4)結(jié)合目標(biāo)子塊周?chē)齻€(gè)子塊對(duì)每一個(gè)子塊進(jìn)行編碼。
(5)直方圖統(tǒng)計(jì)索引編碼。
用canny算子對(duì)灰度圖進(jìn)行邊緣提取后所生成的圖像為二值圖像。對(duì)目標(biāo)子塊進(jìn)行編碼時(shí),編碼值為目標(biāo)塊中“1”值的個(gè)數(shù),由于子塊為2×2大小,因此共有編碼值共有5種情況。為了使邊緣直方圖具有邊緣像素的空間統(tǒng)計(jì)特性,結(jié)合目標(biāo)子塊周?chē)娜齻€(gè)子塊進(jìn)行編碼。邊緣子塊如圖3所示。
圖3 邊緣子塊圖
圖3 中每個(gè)子塊I的大小為2×2。例如目標(biāo)子塊I1中“1”值的個(gè)數(shù)為2,I2子塊中“1”值的個(gè)數(shù)為3,I3子塊中“1”值的個(gè)數(shù)為0,I4子塊中“1”值的個(gè)數(shù)為1,則最終編碼code=2×1+3×5+0×25+1×125=142。按照這種編碼方案,生成625維邊緣直方圖。
由于子塊2×2過(guò)于小,而圖片中背景一般會(huì)占大部分,反應(yīng)到此邊緣直方圖中表現(xiàn)為索引“0”過(guò)于突出。經(jīng)過(guò)實(shí)驗(yàn)對(duì)比,剔除直方圖索引“0”分量更有利于兩幅邊緣直方圖的比較與計(jì)算,因此最終本文所生成的邊緣直方圖中剔除了“0”分量,生成624維邊緣直方圖FEAT_HIST。圖4為彩色lena圖的邊緣二值圖及邊緣直方圖。
圖4 邊緣二值圖及直方圖
LBP(Local Binary Pattern),局部二值模式,由于其定義簡(jiǎn)單、擴(kuò)展方便、效率較高,且對(duì)光照具有不變性,因此本文選用傳統(tǒng)LBP算子進(jìn)行圖片紋理特征的提取。采用3×3的鄰域模板,得到8位二進(jìn)制碼,該二進(jìn)制碼為紋理直方圖統(tǒng)計(jì)的索引碼。具體過(guò)程如下:
(1)將彩色圖進(jìn)行灰度化處理。
(2)采用3×3鄰域模板LBP算子對(duì)灰度圖進(jìn)行處理,得到紋理圖譜。
(3)對(duì)紋理圖譜進(jìn)行紋理直方圖統(tǒng)計(jì)。
生成2^8=256維紋理直方圖,在本實(shí)驗(yàn)中剔除了編號(hào)“255”空白區(qū)域紋理索引分量。生成255維紋理直方圖TEXT_HIST。圖5為彩色lena的紋理圖譜及紋理直方圖。
圖5 紋理圖譜及紋理直方圖
傳統(tǒng)的基于直方圖的圖片相似度對(duì)比算法一般采用直方圖相交法[14],余弦相似度,歐氏距離法。直方圖相交法在對(duì)比兩幅圖片顏色特征時(shí)效果較好,但是在對(duì)比圖片的邊緣紋理特征時(shí)效果很差,差異很大的兩幅圖可能給出相似度很高的計(jì)算結(jié)果。PS考試時(shí)考生圖像與標(biāo)準(zhǔn)答案圖像很相似,余弦相似度法難以進(jìn)行有效相似度區(qū)分。歐氏距離法的計(jì)算結(jié)果是一個(gè)距離,在PS考試閱卷中難以給出實(shí)際分?jǐn)?shù)??忌鸢笀D為在原圖的基礎(chǔ)上進(jìn)行PS操作所得,對(duì)此本文通過(guò)對(duì)比原圖,考生圖,標(biāo)準(zhǔn)答案圖三圖的相似度,并提出基于三角形的歐氏距離歸一化算法,計(jì)算考生圖相對(duì)于原圖與標(biāo)準(zhǔn)答案圖的相似度來(lái)得出最后考生的實(shí)際得分。
本文采用歐氏距離來(lái)對(duì)比圖片之間的相似度距離。運(yùn)用前文所提取的特征直方圖計(jì)算圖片之間的顏色,邊緣,紋理特征的歐氏距離。歐氏距離公式如下:
圖A與圖B的顏色距離記為DIS T_COLOR(A,B),邊緣距離記為 DIST_FEAT(A,B),紋理距離記為DIST_TEXT(A,B)。
歐式距離歸一化需找一個(gè)合適的底來(lái)進(jìn)行歸一化處理。在PS考試閱卷中直接以原圖到標(biāo)準(zhǔn)答案圖的歐氏距離以底來(lái)進(jìn)行歸一化處理效果不理想。本文選用原圖(圖A),標(biāo)準(zhǔn)答案圖(圖B),考生答案圖(圖C)的顏色,邊緣,紋理特征進(jìn)行兩兩歐氏距離計(jì)算。三幅圖片相應(yīng)特征直方圖計(jì)算出的多維歐氏距離必滿(mǎn)足三角不等式,即任意兩邊之和大于等于第三邊,任意兩邊之差小于等于第三邊。由此在平面中必能構(gòu)成一個(gè)三角形(兩邊之和等于第三邊的情況視高為0的特殊三角形)。以線段長(zhǎng)度代表所計(jì)算出的歐氏距離,構(gòu)成的相似度三角形如圖6所示。
圖6 相似度三角形圖
其中線段AB,BC,CA的長(zhǎng)度分別表示圖A,圖B,圖C相應(yīng)特征直方圖的歐氏距離,D為C在直線AB上的投影。
定義C相對(duì)于A與B橫向相似度:
定義C相對(duì)于A與B縱向相似度:
則C相對(duì)于A與B的相似度為:
縱向相似度為橫向相似度的修正,w1一般遠(yuǎn)大于w2。
2.2.1 特殊三角形的處理
有三種特殊情況需要做處理:(1)若BC距離大于2倍AB距離,則說(shuō)明考生答案圖與標(biāo)準(zhǔn)答案圖相似度非常低,設(shè)定此種情況相似度為0。(2)若橫向相似度的計(jì)算結(jié)果小于零,兩圖的相似度為負(fù)數(shù),不合常理,在此本文做出截尾歸一化處理,設(shè)定此種情況相似度為0。(3)若縱向相似度的計(jì)算結(jié)果小于零,設(shè)定縱向相似度為0。
C相對(duì)于A與B的相應(yīng)特征相似度歸一化算法具體如下:
(1)三圖相應(yīng)特征直方圖兩兩進(jìn)行歐氏距離計(jì)算,構(gòu)成相似度三角形。
(2)若BC大于2倍AB,則相似度為0。計(jì)算結(jié)束。
(3)計(jì)算橫向相似度與縱向相似度。
(4)若橫向相似度小于0,則相似度為0。計(jì)算結(jié)束。
(5)若縱向相似度小于0,則縱向相似度為0。
(6)計(jì)算得到C相對(duì)于A與B的相應(yīng)特征相似度。
2.2.2 計(jì)算C相對(duì)于A與B的總體相似度
賦予顏色,邊緣,紋理相似度合適的權(quán)值,最后計(jì)算得到C相對(duì)于A與B的總體相似度。本文采用固定權(quán)值,顏色,邊緣,紋理所給權(quán)值分別為0.3,0.35,0.35。該權(quán)值可根據(jù)考試對(duì)某技能的側(cè)重考查而進(jìn)行相應(yīng)的改變。如該次考試主要考查考生對(duì)顏色敏感度,則相應(yīng)增加顏色權(quán)重的值,減小其他兩項(xiàng)的權(quán)重。總體相似度sim_total公式定義為:
其中sim_c為顏色相似度,sim_f為邊緣相似度,sim_t為紋理相似度。由此計(jì)算出考生圖相對(duì)于原圖與標(biāo)準(zhǔn)答案圖的總體相似度。
本文實(shí)驗(yàn)所用計(jì)算機(jī)配置為:Intel?Core i7 7700k CPU(主頻大小為4.2 GHz),內(nèi)存大小為8 GB;實(shí)驗(yàn)中采用的軟件環(huán)境為MATLAB 2014b,在64位Windows10平臺(tái)下進(jìn)行測(cè)試。經(jīng)過(guò)實(shí)驗(yàn)訓(xùn)練,本文顏色和邊緣的橫向相似度與縱向相似度權(quán)值選取分別為:0.78,0.22。紋理的橫向相似度與縱向相似度權(quán)值取值為:0.8,0.2。
實(shí)驗(yàn)圖片除Lena外大小均為690×690。原圖和標(biāo)準(zhǔn)答案圖如圖7所示。
圖7 西瓜原圖和標(biāo)準(zhǔn)答案圖
考生所做答案圖如圖8所示。
圖8 考生答案圖
直方圖相交法記為算法1,余弦相似度法記為算法2。該兩種算法能直接得出相似度,為考生答案圖與原圖直接做相似度比對(duì)的方法。算法3使用歐氏距離進(jìn)行考生圖與標(biāo)準(zhǔn)答案圖的相似度比對(duì)。計(jì)算結(jié)果為兩幅圖像特征直方圖的歐氏距離,非相似度,在此用原圖與標(biāo)準(zhǔn)答案圖的歐氏距離進(jìn)行歸一化處理。計(jì)算公式如下:
其中DIST(A,B)為原圖與標(biāo)準(zhǔn)答案圖的歐氏距離,DIST(B,C)為考生答案圖與標(biāo)準(zhǔn)答案圖的歐氏距離。若計(jì)算結(jié)果為負(fù)數(shù),做截尾處理相似度歸一化為0。本文算法記為算法4。實(shí)驗(yàn)結(jié)果如表1所示。
表1 三種相似度算法計(jì)算結(jié)果
通過(guò)實(shí)驗(yàn)結(jié)果發(fā)現(xiàn),算法1在邊緣和紋理相似度上表現(xiàn)不理想,在考生答案圖和標(biāo)準(zhǔn)答案圖很不相似的情況下也可能給出考生很高的分?jǐn)?shù)。算法2則全都給出非常相似的結(jié)果,難以區(qū)分考生答案與標(biāo)準(zhǔn)答案的相似度。算法3未考慮考生答案圖與原圖的歐氏距離,計(jì)算出的相似度明顯偏低。圖8(a)考生在邊界和紋理的處理上基本合理,相應(yīng)的相似度卻只有0.724和0.667。顏色處理上留白了一小塊西瓜的區(qū)域,其余部分顏色處理正確,但是顏色相似度僅有0.629。本文算法通過(guò)考生答案圖與原圖和標(biāo)準(zhǔn)答案圖的綜合比較,所給出的相似度較合理,可以做到考生答案和標(biāo)準(zhǔn)答案相似度的有效度量。
本次考試要求考生去除圖中的一個(gè)西瓜,并把車(chē)輛進(jìn)行翻新操作。實(shí)驗(yàn)圖片大小均為564×842。原圖和標(biāo)準(zhǔn)答案圖如圖9所示。
考生答案圖及運(yùn)用本文方法所計(jì)算出的考生圖相對(duì)于原圖與標(biāo)準(zhǔn)答案圖的相似度結(jié)果如圖10所示。
圖9 汽車(chē)原圖和標(biāo)準(zhǔn)答案圖
圖10 考生答案圖及相似度
其中圖10(a)僅僅去除了原圖車(chē)窗下的水印,該圖較原圖來(lái)說(shuō)改動(dòng)較小,與原圖更加相似,其與標(biāo)準(zhǔn)答案圖相似度計(jì)算結(jié)果為0.221。圖10(c)顏色部分錯(cuò)誤嚴(yán)重,紋理和邊緣部分修改正確,所計(jì)算相似度為0.728。圖10(d)為考生直接選用畫(huà)筆涂抹修改所得,該種做法嚴(yán)重破壞了圖像的紋理信息,且邊緣部分處理較為毛糙,相似度所得為0.293。圖10(f)與原圖及標(biāo)準(zhǔn)答案圖完全不相同,計(jì)算所得的相似度極低。
本文以答案為導(dǎo)向,通過(guò)提取圖片的顏色,邊界,紋理特征直方圖來(lái)進(jìn)行圖片的相似度對(duì)比。并提出任意三幅圖片之間的歐氏距離歸一化算法,通過(guò)計(jì)算考生圖相對(duì)于原圖與標(biāo)準(zhǔn)答案圖的相似度來(lái)給出考生實(shí)際所得分?jǐn)?shù),所給分?jǐn)?shù)較為合理。對(duì)于顏色,邊界,紋理相似度的權(quán)值,可根據(jù)考試側(cè)重不同而進(jìn)行修改,從而突出對(duì)考生某項(xiàng)技能的考核。并且該算法也可歸一化D1距離[15],曼哈頓距離等相似度度量算法。