程冠樺,張俊然,黃江濤
(1. 四川大學電氣工程學院,四川 成都 610065;2. 南寧師范大學計算機與信息工程學院,廣西 南寧 530001;3. 四川大學“醫學+信息”中心, 四川 成都 610065)
文物和藝術品的識別、分類與鑒定等需要相關專業人員進行初步整理,但由于人工觀察具有一定的個人主觀性,對于一些復雜情況往往無法定量且有效地作出判斷[1]。計算機視覺技術發展日趨成熟,已廣泛應用于人臉、車牌識別等領域。對于文物的識別、分類與鑒定來說,相比人工的主觀經驗判斷,利用計算機視覺方法對文物及藝術品實現定量分析,可避免由于主觀標準不一而導致的認知偏差。如文獻[2]通過比較待測印鑒與標準印鑒的多種統計參數對印鑒進行真偽鑒別。文獻[3]通過提取檢驗筆跡與參考筆跡的局部紋理特征實現字跡鑒定。文獻[4]采用GIST特征描述子表達書體特征,并結合SSC相似性敏感編碼算法,根據海明距離實現書法字體的定量識別。文獻[5]利用馬爾可夫隨機場對國畫的真偽進行定量分析。文獻[6,7]利用文物輪廓以及灰度共生矩陣紋理特征等指標,定量地對文物圖像進行辨識與鑒定。文獻[8,9]分別利用小波神經網絡、形狀和紋理信息對瓷器文物定量地進行等級定級、真偽識別以及年代識別。
就銅幣而言,在對其進行整理分類的初篩過程中,發現由于受保存環境差異或制作批次不同等因素的影響,同類銅幣所呈現出的表面狀態不盡相同[10]——保存在溫濕度和酸堿度適中環境里的銅幣表面特征清晰,而其余長期暴露在空氣或其它潮濕環境中的銅幣,受氧化發黑或是表面生成銅銹,破壞了紋理圖案的清晰度;此外,不同批次制造出的銅幣也存在細微差異。由于同類銅幣存在著不同的復雜情形,人工判斷容易受到干擾,因此在整理分類時需要定量的標準以確保同類銅幣能夠被正確識別。
針對以上復雜情形導致人工觀察無法定量評判同類銅幣這一問題,本文提出基于SURF (Speeded Up Robust Features)特征[11]對待測銅幣與標準銅幣進行相似計算,從而定量地識別出同類銅幣。具體通過構建多尺度空間結構保證特征具有尺度不變性,定位關鍵點主方向保證特征具有旋轉不變性,結合關鍵點鄰域區域信息保證特征描述子的一般性和信息完整性,對兩特征描述符按照輪流主次的計算策略保證結果的唯一性,最終在特征點空間上計算相似性,通過相似得分識別出同類銅幣。實驗表明,通過對各銅幣提取的128維SURF特征進行相似度計算,能夠很好地識別出不同情形的同類銅幣。
為了使獲得的銅幣特征具有尺度不變性、旋轉不變性、一般性和代表性,其提取步驟包括構建多尺度空間、確定關鍵點以及特征描述。
通過Hessian矩陣尋求銅幣中穩定的突變點,而在構建之前需要先對圖像進行濾波以消除噪聲干擾。Lindeberg等人[12]證明高斯卷積核是實現尺度變換的唯一線性核,因此選用高斯濾波器保證特征具有尺度不變性。式(1)和式(2)分別為濾波運算與高斯核表達式
L(x,y,σ)=I(x,y)*G(x,y,σ)
(1)

(2)
其中I(x,y)為像素矩陣,L(x,y,σ)即為高斯濾波生成的圖像,在此基礎上構建Hessian矩陣

(3)
從式(3)可見Hessian矩陣由濾波圖像在x和y方向的二階偏導數構成,用以描述銅幣的局部曲率信息。式(4)為Hessian矩陣判別式,通過判別式符號初步確定該點是否為銅幣的局部關鍵點
det(H)=Lxx×Lyy-Lxy×Lxy
(4)
由于獲取關鍵點需先進行高斯濾波,再對濾波圖像二次求導,過程較為繁瑣;為了提高效率,采用圖1的盒式濾波器[11]近似代替高斯濾波器,將濾波計算轉換為了像素和的加減運算過程,從而用式(5)近似式(4)尋求關鍵點,

圖1 三個方向的盒式濾波器示意圖
det(H)=Dxx×Dyy-(ω×Dxy)2
(5)
式中Dxx,Dyy和Dxy分別為原圖像經三個方向盒式濾波后的響應值,ω為加權系數,用以平衡近似計算產生的誤差。
為了保證銅幣特征不受尺度變化影響,對此構建多尺度空間尋求在不同尺度下均穩定的特征點——通過調整盒式濾波器大小生成不同尺度的圖像,從而構建多尺度金字塔。尺度空間由若干組圖像組成,其中同組圖像為同一輸入經過尺寸依次增大的盒式濾波生成的一系列響應圖。
完成多尺度空間的構建后,計算多尺度結構中的極值點進行關鍵點篩選。圖2為關鍵點鄰域示意圖——包括同尺度圖像內的8個鄰域點和相鄰尺度對應位置的18個點。在篩選過程中,將每個檢測點與其鄰域內的26個點進行大小比較,確保關鍵點在整個尺度空間內均為極值點,從而保證所提取特征的穩定性和高魯棒性。

圖2 關鍵點鄰域示意圖
如圖3所示,以上步驟得到的為尺度空間中的離散極值點,為了獲取特征點的準確位置,需要進行曲線擬合。

圖3 曲線擬合極值點
利用Taylor展開式擬合函數,

(6)
對式(6)求導,并令其等于0,有:

(7)
再將式(7)代回式(6),得到式(8):

(8)
由于部分極值點響應較弱,應進行剔除,使獲取的特征點更具穩定性。在本文中,若D()<0.03,則舍去對應的極值點X,反之保留為特征點。
為了保證銅幣特征不受旋轉角度的影響,需要先確定特征點的方向。如圖4所示,以特征點X為中心,6s(s為尺度空間值)為半徑計算圓形范圍內的Haar小波響應;再設置以X為頂點,張角為60°的扇形滑動窗口,以0.2弧度的步長旋轉,依次統計窗口內Haar小波響應值的累加和,將最大累加值所對應方向確定為特征點X的主方向,同時將達到最大累加值80%以上的方向作為輔方向以增強魯棒性。

圖4 確定特征點主方向
確定特征點方向后以主方向為基準進行特征描述——以特征點為中心,取邊長為20s的正方形鄰域,將其與主方向對齊后劃分成4×4個子區域,分別統計各子區域內水平方向和豎直方向的Haar響應值。為了進一步增強特征點的獨特性,使銅幣特征具有更好的區分性,將小波特征繼續進行細分:根據dy<0和dy≥0將dx與|dx|分別分為兩部分進行加和計算,同理根據dx<0和dx≥0將dy與|dy|均分為兩部分進行計算,如式(9)所示,每個子區域共包括8個分量。
V=(∑dx+,∑dy+,∑|dx+|,∑|dy+|,
∑dx-,∑dy-,∑|dx-|,∑|dy-|)
(9)


(10)

SIM(C1,C2)=SIM(C2,C1)
(11)
其中SIM(·)表示兩特征描述符之間的相似度計算。本文選用余弦相似度[13]作為相似度量方式,且由于特征向量均已做歸一化處理,實際計算過程只需進行內積運算。計算時分別將兩銅幣作為主比較位置以保證相似度的唯一性,具體過程如下:先將copper1中的特征點作為主比較對象,逐一尋求copper1每個特征在copper2中的K最近鄰點,計算特征描述符在相應近鄰點中的最大相似值,待copper1中所有特征點均完成相似度計算后,取相似平均值作為copper1與copper2的相似值;同理,再將copper2作為主比較對象,計算每一特征描述符與copper1的最大相似值,當copper2所有特征點均計算完畢后,取平均值作為copper2與copper1的相似值。最后將得到的兩相似值按照特征數大小計算加權平均值,結果即為兩銅幣的最終相似度得分。公式如下

(12)

(13)

(14)

實驗中選用的銅幣如圖5所示,三組銅幣分別對應同類銅幣常見的三種情形,包括一組咸豐元寶、一組前蘇聯時期三分幣和一組中華民國二分硬幣:咸豐元寶組在視覺上幾乎相同,除去極小部分雜質差異外,其形狀、顏色、表面的文字以及其余絕大部分均表現一致,視覺上較易判斷出該組銅幣屬于同一類別;前蘇聯硬幣組的制造批次不同,表面圖案存在小部分的細節差異,視覺上需進行仔細分辨才可做出判斷;而在民國二分幣組中由于銅幣的保存環境等因素影響,各自表面存在較多雜質,差異較大,視覺上容易誤認為該組銅幣各自屬于不同的類別。

圖5 三種情形銅幣
通過本文方法對三種情形的同類銅幣進行相似度計算,實驗中同時將128維SURF特征與SIFT[14]、Dense-SIFT[15]特征以及常規64維SURF描述子[11]進行效果比較,分析各特征對銅幣的描述能力。如表1所示,可以看出各特征下三種情形的相似度均高于0.9,表明各方法均能夠從狀況復雜的銅幣表面提取出強魯棒性特征,并能對其進行穩定描述;此外,三種情形銅幣的相似度結果依次減小,與視覺判斷結果一致,表明了方法的真實有效性。相較而言,基于128維SURF特征的方法在各情形下的相似性計算得分均最高,表明其特征具有更強的描述能力,能夠很好地識別出不同情形的同類銅幣。

表1 不同特征下三種情形的相似度結果
為了進一步驗證方法的有效性,將三種情形分別進行不同程度的旋轉、亮度變化以及尺寸變化以模擬相似比較時的不同場景,分析各特征的表現效果。考慮銅幣變換為相對關系,實驗中選取銅幣copper2進行依次變換。圖6為各個變換示意圖——(a)為亮度變換示意圖,從左往右依次將亮度調整為原圖像的0.5倍,1.5倍,2倍;(b)為角度變換示意圖,依次將銅幣按順時針旋轉45°,135°,270°;(c)為尺寸變換示意圖,依次縮放為原圖的0.5倍,0.8倍,1.5倍。

圖6 三種變換示意圖
圖7為三種情形銅幣在不同變換下四種特征描述子的相似度結果,其中橫軸依次為不同程度的亮度、角度和尺寸變換,可以看出:在亮度變換下,四種特征均保持穩定水平,表明幾種特征方法對亮度變化都具有較強的魯棒性;而在旋轉變換和尺寸變換下,DenseSIFT總體相似度呈現較低水平,表現最差,而其它三種特征描述子依舊保持穩定,表明具有較強的尺度不變性和旋轉不變性,其中128維SURF描述子表現最為突出,在三種情形下均保持最高識別水平,再次證明其特征具有強大的描述能力。

圖7 各特征在不同變換下的相似度表現
從表1和圖7均可看出SURF-128效果更好,分析其原因:由于銅幣表面紋理圖案基本呈現為橫縱向分布,相比于SIFT及DenseSIFT描述子依據梯度直方圖生成,SURF-128描述子由水平及豎直方向Haar響應值組成,更能充分描述銅幣特征的方向性變化;相比于常規64維SURF特征,SURF-128將小波響應值進一步細分,其描述子信息豐富度更高,故以此為特征能夠更好地識別出同類銅幣。
本文還探究了包括基于感知哈希算法pHash[16],圖像灰度直方圖[17]以及灰度共生矩陣GLCM紋理特征[7]的三種圖像相似比較方法,并與本文方法進行分析比較。從表2可以看到,本文基于128維SURF特征的方法表現更為優異,能夠更清晰地識別出同種銅幣。

表2 四種相似比較方法的相似度結果
為了更好地比較方法的識別能力,實驗還依次計算三組銅幣兩兩之間的相似度,組成同類銅幣組和不同銅幣組,以驗證方法對同類銅幣的識別能力以及對不同銅幣的區分能力。
如圖8所示,各子圖分別為使用感知哈希pHash、顏色直方圖、GLCM紋理特征以及本文基于128維SURF描述子的相似度比較方法計算各銅幣對的相似度結果熱力圖,其中橫軸和縱軸上的c11和c12為圖5中情形一的copper1和copper2,其余編號依此類推;熱力圖沿主對角線對稱,各個方塊即為相應銅幣之間的相似度得分,顏色越深表示兩銅幣相似度越高。可以看出,圖(a) (b)中顏色較為混亂,甚至出現同組銅幣的相似度低于不同銅幣相似度的情況,表明方法魯棒性較差。圖(c)中c21、c22與c31、c32之間顏色過于接近,分析原因發現其表面紋理分布情況較為類似,導致灰度共生矩陣統計情況相似,從而產生相似度較高的假陽性情況。而對于圖(d),熱力圖對角線位置存在三組明顯較深顏色的2×2方塊,如c11和c12,c21和c22,c31和c32分別對應三種情形的同類銅幣,其相似度得分均高于0.9,表明方法能夠靈敏準確地識別出同組銅幣;而圖中其它方格顏色均較淺,其相似度得分為0.65以下,與同類銅幣組的相似度得分相比差異明顯,表明方法能夠較好地區分出不同銅幣。通過以上分析,可證明本文方法能夠很好地識別同類銅幣以及區分不同類型銅幣。

圖8 幾種圖像相似度計算方法結果比較
針對同類銅幣表面復雜而人工觀察無法進行定量化評判這一問題,本文提出通過計算機視覺圖像相似度比較方法實現定量地識別同類銅幣。方法對銅幣提取出的128維SURF特征具有較強的獨特性和可區分性,對旋轉、光照和尺度變化均具有高度魯棒性。實驗表明本文基于128維SURF特征的相似度計算方法能夠很好地識別與區分不同狀況的銅幣:對于同類銅幣,其相似度得分均高于0.9;而不同銅幣之間的相似度為0.65以下,遠低于同類銅幣。
本文就利用計算機視覺識別銅幣提供一種思路,未來將嘗試結合深度學習算法進一步提升識別準確率。