閆鈞華,姜惠華,孫思佳,艾淑芳,李大雷
(1.南京航空航天大學 航天學院,江蘇 南京210016;2.光電控制技術重點實驗室 河南 洛陽471009)
基于SIFT特征視覺詞匯算法的局部遮擋目標識別
閆鈞華1,2,姜惠華1,孫思佳1,艾淑芳2,李大雷2
(1.南京航空航天大學 航天學院,江蘇 南京210016;2.光電控制技術重點實驗室 河南 洛陽471009)
針對被局部遮擋目標的識別困難的問題,將目標圖像的SIFT(Scale Invariant Feature Transform)特征矢量作為視覺單詞,應用視覺詞匯算法,提出了基于SIFT特征視覺詞匯算法的目標識別算法。結合在無遮擋與被局部遮擋的交通工具全方位姿態模型庫上進行的目標識別試驗,得出結果:算法對無遮擋目標的平均識別率能到達83%以上,具有良好的識別性能;對被局部遮擋目標的平均識別率也能保持在80%左右,只有很小的降低。實驗結果顯示算法具有優良的識別被局部遮擋目標的性能。
目標識別;SIFT特征;視覺詞匯;局部遮擋;全方位姿態模型庫
目標識別所面對的目標種類規模越來越大,甚而需要在被局部遮擋偽裝的情況下識別目標,因此需要研究目標圖像的特征及其描述方法,同時需要研究能夠有效組織目標圖像特征描述子用于識別的目標識別算法。SIFT[1]特征能夠定量化數據描述圖像多尺度下的局部結構特征[2],是一種基于尺度空間[3]的特征,對圖像縮放、旋轉以及仿射變換具有不變性,在目標被局部遮擋情況下具有好的適用性。在一幅目標圖像中可以提取數量眾多的SIFT特征,為了能夠有效組織這些SIFT特征用于目標識別,本文將目標圖像的SIFT特征矢量作為視覺單詞,應用視覺詞匯[4]算法,提出了基于SIFT特征視覺詞匯算法的目標識別算法。建立了交通工具的全方位姿態模型庫和被局部遮擋的交通工具全方位姿態模型庫,對無遮擋和被局部遮擋的目標進行識別,驗證了算法具有優良的識別被局部遮擋目標的性能。
SIFT特征提取分為特征點檢測和特征矢量構造兩部分,SIFT特征提取流程如圖1所示:
SIFT特征點是在DOG(Difference of Gaussians)尺度空間提取尺度不變的特征點。首先利用不同尺度的高斯核與原圖像卷積生成不同尺度的高斯圖像金字塔,由高斯金字塔生成DOG金字塔。接著在DOG尺度空間進行斑點檢測,在同一組的相鄰層圖像之間比較來尋找尺度空間局部極值點,每個采樣點在空間域、尺度域與相鄰26個點比較,如果最大或最小,則將該點設為關鍵點。然后進一步通過擬合三維二次函數確定關鍵點的位置和尺度以達到亞像素精度,去除低對比度關鍵點以及不穩定邊緣響應點。最后將穩定的關鍵點作為特征點。構造SIFT特征點特征矢量。首先確定特征點的主方向,并將坐標軸旋轉至特征點的主方向,保證特征矢量的旋轉不變性。接著取特征點16×16鄰域像素的窗口,計算每一個像素的梯度方向和幅值,進行高斯加權。然后將16×16窗口劃分為4×4個小窗口,在每個小窗口中計算8個方向的梯度方向直方圖,并累加每個梯度方向的模值,形成一個種子點。一個特征點由l6個種子點組成,每個種子點有8個方向的矢量,一個特征點構造出128維的SIFT特征矢量。

圖1 SIFT特征提取流程圖
2.1基于SIFT特征的視覺詞匯算法
一幅圖像中可以提取大量的SIFT特征量,目標識別圖像庫中提取出的SIFT特征量數目龐大,直接用特征量描述目標,造成通過遍歷搜索匹配目標耗時過多。為了有效組織SIFT特征量對目標分類以提高目標識別的速度,本文提出基于SIFT特征的視覺詞匯算法。
視覺詞匯算法是將目標圖像用若干視覺的“詞匯”表示。舉例說明視覺詞匯算法[5]的概念,設有兩個文檔:文檔1,“我在看電視,他在吃飯”;文檔2,“我在看電視,他也在看電視”。根據文檔1和文檔2構造9個單詞的詞典:
詞典={1.“我”,2.“在”,3.“看”,4.“電”,5.“視”,6.“他”,7.“吃”,8.“飯”,9.“也”}
根據詞典索引號,兩個文檔分別用9維矢量描述,矢量中元素代表相應索引位置單詞的出現次數:文檔1:[1,2,1,1,1,1,1,1,0],文檔2:[1,2,2,2,2,1,0,0,1]。
3個因素影響視覺詞匯算法的效果:單幅圖像中提取的特征點數、特征矢量維數、視覺詞典大小。本文采用SIFT特征矢量構造高效的視覺詞匯,將示例的概念推廣至圖像領域即為視覺詞匯算法框架,應用視覺詞匯算法將圖像表示成類似的數值向量。視覺詞匯算法可分3步:
1)從目標模型庫的每個類別的模型中提取出大量的SIFT特征量,這些SIFT特征量相當于文檔中的單詞。
2)SIFT特征量數目龐大,無法將所有SIFT特征量作為單詞構成詞典。首先用K-means聚類算法將所有模型圖像提取的SIFT特征矢量聚類[6],本文聚類中心數取為M=200,將這200個聚類中心構成詞典,這樣既能保持識別的準確度,又能避免計算量過大[7]。
3)每幅目標類圖像中的SIFT特征量歸入距離最近的聚類中心,距離度量采用歐氏距離,統計詞典中每個單詞在圖像中的出現次數,將每幅目標圖像用一個M維數值矢量(直方圖特征矢量)表示。
基于SIFT特征的視覺詞匯算法流程示意如圖2所示:

圖2 基于SIFT特征的視覺詞匯算法流程示意圖
2.2基于SIFT特征視覺詞匯算法的目標識別算法
通過視覺詞匯算法獲得目標圖像的200維直方圖特征矢量后,利用目標識別算法將這些特征組織起來用于目標圖像的識別和分類。文中建立了目標全方位姿態模型庫,利用改進的加權k-近鄰算法實現目標識別分類。k-近鄰算法將待測試樣本分類為與它最相近的k個近鄰中數目最多的那一類別,距離待測試樣本點近的訓練樣本比遠的樣本對分類的影響大,文中據此對算法改進,利用距離的倒數作為每個近鄰點的加權值,離待測樣本越近的訓練樣本加權值越大。每個樣本點都是表征目標的200維直方圖特征矢量,基于SIFT特征視覺詞匯算法的目標識別算法流程如圖3所示。
基于SIFT特征視覺詞匯算法的目標識別算法的優點是能夠識別被局部遮擋的目標,為了驗證此性能,文中建立了交通工具的全方位姿態模型庫;為每幅模型圖像加上一定大小的矩形遮擋,又建立了被局部遮擋的交通工具全方位姿態模型庫。基于這兩個模型庫,文中分別進行無遮擋和被局部遮擋的目標識別實驗,比較遮擋前后的目標識別率,驗證算法具有優良的識別被局部遮擋目標的性能。

圖3 基于SIFT特征視覺詞匯算法的目標識別算法流程圖
3.1無遮擋的目標識別實驗
在全方位姿態模型庫中選擇了7種交通工具進行目標識別實驗,分別是自行車、直升機、運輸車、坦克、火車頭、飛機、船。每種交通工具在180度視角中以5度為間隔構造全方位姿態模型,因此每種交通工具包含36幅相應的姿態圖,將每種交通工具的姿態圖隨機抽取20幅作為訓練樣本,剩余16幅作為待測試樣本用于測試正確識別率。所選擇交通工具如圖4所示,文中只列出飛機的部分全方位姿態模型圖如圖5所示。

圖4 7種交通工具圖

圖5 飛機部分姿態模型圖
總共有140幅圖像作為訓練樣本,實驗步驟如下:
1)先對這140幅圖像提取SIFT特征點特征矢量,共提取出41 362個SIFT特征矢量,然后對這些特征矢量使用K-means聚類[8]算法生成200個SIFT特征矢量的聚類中心,每個聚類中心也是128維的矢量,這些聚類中心組成了200維視覺詞典。
2)計算每種交通工具中的每個訓練樣本上的SIFT特征矢量在視覺詞典中的分布,從而為每個訓練樣本計算出表征它的200維直方圖特征矢量。所有140個訓練樣本的直方圖特征矢量組成-近鄰算法中的訓練樣本點集合。
3)計算每種交通工具中的每個待測試樣本上的SIFT特征矢量在視覺詞典中的分布,從而為每個待測試樣本計算出表征它的200維直方圖特征矢量。
4)根據16幅待測試樣本的200維直方圖特征矢量,分別在訓練樣本點集合中求出5個距離最近的近鄰點,由于訓練樣本點都是類別已知的,根據改進的基于距離加權的-近鄰算法確定每個待測試樣本的類別。根據每個待測試樣本求出的類別結果是否與實際類別一致進行判別,如果一致則判定為一次正確的識別,如果不一致則判定為一次誤識別,統計每種交通工具16幅待測試圖像的正確識別與錯誤識別次數得到目標的識別率。
由于生成的視覺詞典為維,即200個128維的矢量,由于數據量龐大不便一一列舉。根據視覺詞典生成的表征目標的直方圖特征矢量為200維的矢量,在此列出兩個訓練樣本的直方圖特征矢量,分別是飛機側面60度和自行車側面20度,以及作為待測試樣本的飛機側面20度,如下所示:
飛機側面60度:(1,0,4,2,1,11,1,5,0,2,0,0,0,5,0,8,5,1,1,0,6,2,0,1,1,0,0,1,1,0,4,0,0,1,0,12,0,0,1,0,2,6,0,1,1,1,0,0,0,0,5,3,3,0,5,15,0,1,4,0,0,0,0,8,0,3,0,1,0,0,20,0,1,0,1,0,0,3,0,0,1,0,0,0,0,12,0,1,1,0,0,1,1,0,0,0,0,0,0,2,0,0,0,0,5,6,14,0,0,1,4,1,1,1,0,2,0,1,11,1,0,1,3,0,1,0,0,8,0,0,12,0,4,1,3,7,0,0,0,1,9,3,0,1,1,8,1,3,1,0,4,0,6,4,0,6,1,0,0,0,0,1,0,1,0,0,1,0,1,4,1,1,1,0,3,0,1,3,0,0,0,0,8,0,0,0,0,0,0,11,1,0,3,0,1,0,0,0,1,1)
自行車側面20度:(0,0,14,7,6,2,1,1,0,0,2,0,1,0,0,
0,2,0,0,2,3,11,6,0,1,1,1,3,5,0,0,0,0,7,0,10,2,0,0,0,0,1,0,0,32,0,0,2,0,0,0,0,2,1,0,1,0,0,5,0,0,0,0,1 5,1,5,0,0,8,0,3,0,7,0,1,23,0,1,0,1,0,2,0,0,0,5,16,0,0,0,2,1,1,0,0,0,1,0,0,1,16,0,0,13,0,0,0,2,0,1,0,0,0,0,0,2,0,0,0,0,0,2,0,9,0,0,1,7,1,0,0,0,0,1,8,2,0,0,1 5,0,1,0,0,0,2,3,0,1,0,11,0,0,0,6,0,0,3,0,1,0,0,1,10,1,0,0,0,0,0,0,0,6,0,0,0,2,0,0,0,0,0,0,0,5,0,0,0,0,0,1,4,4,0,0,1,0,0,0,0,2)
飛機側面 20度:(1,1,2,0,1,11,3,6,0,0,1,1,0,2,0,10,7,2,1,0,8,0,1,0,1,1,0,1,0,0,0,0,0,0,0,9,0,0,0,0,2,1,0,2,0,0,0,1,0,0,1,0,2,0,0,12,1,1,0,0,1,0,0,14,0,1,0,0,0,0,16,0,0,1,1,0,0,1,0,0,1,0,0,0,0,9,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,11,9,0,0,0,1,0,4,0,0,2,0,0,9,1,0,2,1,0,0,0,0,6,1,0,7,0,8,1,0,8,0,0,0,0,8,1,0,4,1,14,0,1,0,0,5,0,6,1,0,5,3,0,1,0,0,0,0,1,2,0,3,0,0,8,0,0,0,0,0,2,0,1,0,0,0,0,2,5,0,1,0,0,0,0,10,0,0,1,2,0,0,0,2,1)
計算可得飛機側面60度與飛機側面20度的直方圖特征矢量間的歐氏距離為25.2,自行車側面20度與飛機側面20度的直方圖特征矢量間的歐氏距離為70.6,自行車的直方圖特征矢量與飛機的直方圖特征矢量之間的距離明顯大于飛機不同姿態之間的距離。因此直方圖特征矢量可用于不同目標的識別分類,為了便于說明問題,上述這些直方圖特征矢量是未歸一化的向量,實現程序中是經過歸一化處理的。進行3次隨機抽取的實驗,目標的識別率統計如表1所示:

表1 無遮擋的目標識別隨機實驗識別率統計表
實驗結果表明交通工具的識別率都在83.3%及以上,識別結果較為可靠。對比七種交通工具的平均識別率,彼此之間存在一定的差別,例如自行車的識別率是95.8%,運輸車的識別率是83.3%。主要原因是:運輸車的特征與其它交通工具的特征差別相對較小,彼此間存在一定的干擾使識別受到影響;自行車的特征與其它交通工具的特征差別相對較大,識別不易受其它交通工具的影響。
3.2被局部遮擋的目標識別實驗
SIFT特征能夠定量化數據描述圖像的局部結構特征,在目標被局部遮擋情況下具有好的適用性,使得基于SIFT特征視覺詞匯算法的目標識別算法具有優良的識別被局部遮擋目標的性能。按照“無遮擋的目標識別實驗”步驟進行同樣的隨機實驗,此處不再贅述,與實驗3.1不同的是在隨機抽取的140幅訓練樣本圖像中總共提取的SIFT特征矢量數目是30 354個,少于無遮擋時提取的數量,這是由于部分特征點被遮擋而導致的特征點提取數量減少。被局部遮擋的全方位姿態模型庫的七種交通工具如圖6所示,本文同樣只列出被局部遮擋的飛機部分全方位姿態模型圖如圖7所示。

圖6 被局部遮擋的七種交通工具圖

圖7 被局部遮擋的飛機部分姿態模型圖
進行3次隨機抽取的實驗,被局部遮擋的目標的識別率統計如表2所示:
實驗中對目標所用的局部遮擋是人工隨機添加的較小面積的遮擋,因此算法對目標的平均識別率會受到一定的隨機因素影響有小的波動,但總體上識別率還是比較穩定的。與表1中無遮擋下的識別率相比,被局部遮擋下的識別率有小范圍的下降,但是總的識別率還是維持在80%左右,依然具有較高的識別率。實驗結果表明,基于SIFT特征視覺詞匯算法的目標識別算法具有優良的識別被局部遮擋目標的性能。交通工具無遮擋和被局部遮擋下的平均識別率對比如圖8所示。

表2 被局部遮擋的目標識別隨機實驗識別率統計表

圖8 無遮擋和被局部遮擋目標識別實驗的平均識別率對比圖
本文將圖像的SIFT特征矢量作為視覺單詞,應用視覺詞匯算法,基于交通工具的全方位姿態模型庫和被局部遮擋的交通工具全方位姿態模型庫對無遮擋和被局部遮擋的目標進行識別。實驗結果表明,基于SIFT特征視覺詞匯算法的目標識別算法對無遮擋目標的平均識別率能到達80%以上,具有良好的識別性能;對被局部遮擋目標的平均識別率也能保持在80%左右,只有很小的降低,算法具有優良的識別被局部遮擋目標的性能。基于SIFT特征視覺詞匯算法的目標識別算法具有較高的識別率,但本文所建立的模型庫背景較簡單,目標種類較少,局部遮擋也是人工添加的,因此算法還有待在更復雜的模型庫中進一步完善和進行更加全面的性能驗證實驗,局部遮擋也有待采用自然遮擋以更貼近實際情況。
[1]Lowe,David G.Object recognition fromlocal scale-invariant features[C]//Proceedings of the International Conference on Computer Vision,1999:1150-1157.
[2]Lowe D G.Distinctive image features from Scale-Invariant Keypoints[J].International Journal of Computer Vision,2004,60(2):91-110.
[3]Lindeberg T.Scale-space theory:A basic tool for analyzing structures at different scales[J].Journal of Applied Statistics. 1994.21:224-270.
[4]Cao L,L Fei-Fei.Spatially coherent latent topic model for concurrent segmentation and classification of objects and scenes[J].Computer Vision,2007,27(10):127-134.
[5]ZHANG Yin,JIN Rong,ZHOU Zhi-Hua.Understanding bag-of-wordsmodel:a statistical framework[J].International Journal of Machine Learning and Cybernetics,2010,1(4): 43-52.
[6]Bolovinou A,Pratikakis I,Perantonis S.Bag of spatiovisual words for context inference in scene classification[J]. Pattern Recognition,2013,46:1039-1053.
[7]Sujatha K S,Keerthana P,Suga Priya S,et al.Fuzzy based multiple dictionary bag of words for image classification[J]. Procedia Engineering,2012,38:2196-2206.
[8]CAOJie, WUZhiang, WUJunjie, et al.Towards information-theoretic K-means clustering for image indexing[J].Signal Processing,2013,93:2026-2037.
Object recognition w ith partial occlusion based on SIFT feature visual vocabulary algorithm
YAN Jun-hua1,2,JIANG Hui-hua1,SUN Si-jia1,AIShu-fang2,LIDa-lei2
(1.College of Astronautics,Nanjing University of Aeronautics and Astronautics,Nanjing 210016,China;2.Science and Technology on Electro-optic Control Laboratory,Luoyang 471009,China)
To solve the problem ofobject recognitionwith partialocclusion,we use SIFT(Scale Invariant Feature Transform)feature vectors of the object image as the visualwords,apply visual vocabulary algorithm,and propose an object recognition algorithm based on SIFT feature visualvocabulary algorithm.Experimentshave been done based on a full-range gesturemodel library of transports for object recognition without occlusion and a full-range gesturemodel library of transportswith partial occlusion for object recognition with partial occlusion.Experimental results show that the average recognition rate of object without occlusion can reach 83%ormore,with good recognition performance;for objectwith partial occlusion,the average recognition rate can bemaintained at about 80%,with only a small reduction.Experimental results show the algorithm has excellentperformance forobject recognitionwith partialocclusion.
object recognition;SIFT feature;visual vocabulary;partial occlusion;full-range gesturemodel library
TN919.82
A
1674-6236(2016)19-0159-04
2015-09-15稿件編號:201509099
國家自然科學基金資助(61471194);光電控制技術重點實驗室和航空科學基金聯合資助(20135152049);中國航天科技集團公司航天科技創新基金資助
閆鈞華 (1972—),女,陜西隴縣人,博士,副教授。研究方向:多源信息融合、目標檢測跟蹤與識別。