李新德 張曉 朱博
(東南大學復雜工程系統測量與控制教育部重點實驗室,南京 210096)(東南大學自動化學院,南京 210096)
所謂一般物體識別(generic object recogni- tion),是指期望計算機像人類一樣,對于任意環境下的任意物體都具有較強的檢測、識別能力,要求在給定訓練樣本的前提下,計算機能夠學習該物體類別的知識,并在觀察到同類但外觀和結構等有所變化的新物體時,給出準確的識別結果[1].當前,物體識別技術仍然處在一個快速發展的初級階段,對于某些特定的應用存在一些專門的解決方案,但是一個通用、魯棒的理論和算法框架尚未出現.在物體識別過程中,背景雜物一直是影響物體識別性能的重要因素,往往導致有用信息被嚴重破壞,從而影響了后續的理解和判斷.
根據識別方法是否對局部特征之間的關系建模,可以將識別方法分為基于統計的方法[2]與基于物體部件的方法[3].Kwon 等[4]提出了一種基于小塊的動態外觀建模方法,以跟蹤高度柔性變形目標,但該方法還有待驗證其在復雜環境下對象受遮擋或者多個對象同時存在時的識別性能.Niu等[5]利用基于部件的視覺表示來擴展DiscLDA物體識別模型,能夠同時對物體的部件形狀和位置進行建模,但該方法較多依賴先驗知識.Wang等[6]定義了一種正定核(即結構核),通過它來衡量2個對象之間的形狀與空間部件構造的相似性,但該方法在結構核訓練參數調節方面仍然需要改進.Ren等[7]提出采用Kinect傳感器進行基于部件的手姿勢識別,為人機交互提供了方便,但該方法的魯棒性有待進一步改進.Felzenszwalb等[8]采用基于部件的區別訓練模型進行目標檢測.相對于單目相機,雙目相機除了可以拍攝環境的二維圖像外,還可以得到環境中物體的三維信息,這為一般物體識別提供了新的思路.Helmer等[9]利用立體視覺,根據物體的實際尺寸以及深度信息,計算出物體的圖像尺寸,并結合物體的外觀(shape)信息,進行一般小物體的識別,但該方法注重依賴某些先驗知識(如目標尺寸等).
本文提出了一種面向復雜背景下的一般物體識別方法.該方法的核心在于融合二維圖像信息與雙目相機獲取的深度信息,對視野中的環境進行物體定位、圖像分割、特征描述和物體識別.
雙目立體視覺三維測量是基于視差原理的.將2個攝像機投影中心的距離定義為基線距B.利用這2個攝像機在同一時刻觀看空間物體的同一特征點P,以獲取點P的圖像,令左攝像機與右攝像機上點P的圖像坐標分別為pl=(xl,yl),pr=(xr,yr).假定這2幅圖像在同一個平面上,則特征點P的縱坐標相同,即yl=yr=yt.由三角幾何關系可得

式中,f為攝像機的焦距;xc,yc,zc為點 P 在攝像機坐標系下的坐標.令視差Dv=xl-xr,則特征點P在攝像機坐標系下的三維坐標值為

因此,對于左攝像機成像平面上某一點,只要能在右攝像機成像平面上找到對應點,就可以確定出該點的實際坐標.
獲取環境的三維點云數據(x,y,z,u,v,fg).其中,(x,y,z)表示某一個三維點云相對于攝像機坐標的三維物理坐標,(u,v)表示該點在二維圖像上的像素坐標,fg表示該點的標志位.
同一個物體上的點云具有連續性,且物體之間存在較大的間隔.可利用此特性進行場景分析,從而實現物體的分割.
選用mean-shift算法[10]實現對三維點云的場景聚類,并對潛在物體進行定位.給定d維空間Rd中的n個樣本點 ξi(i=1,2,…,n),點ξ的meanshift向量的基本形式為

式中,k表示落入Sh區域中樣本點的個數;Sh表示半徑為h的高維球區域內滿足以下關系的ζ點的集合所在區域:

由式(4)可以看出,所有落入興趣區域的采樣點對最終的概率密度函數Mh(ξ)的計算貢獻是一樣的.然而,事實上距離ξ越近的采樣點對估計ξ越有效.因此,這里引入核函數,以便在計算Mh(ξ)時可以考慮距離對最終結果的影響.即基本mean-shift向量 Mh(ξ)可擴展為

式中,G(ξ)為單位核函數;H為正定的對稱矩陣(即對帶寬矩陣);w(ξi)≥0為采樣點ξi的權重.對w(ξi)和G(ξ)進行如下設定:

在實際處理過程中,待分析的物體都處于地平面上.為了減少運算數據量,進行數據聚類前,需要剔除一些物理空間上不可能存在的點云.由于攝像機水平放置,且攝像機高度已知,故對(x,y,z,u,v,fg)中的高度y進行限定.
點云信息是三維的,若兼顧深度方向上的聚類,單純從正面的二維圖像上描述并不完全符合客觀實際.但從二維圖像上看絕大多數圖像點是聚合在一起的,故可通過對每一類的點(u,v)進行數據處理,實現去噪和物體分割.具體步驟如下:
②計算每一類點云中每一個點(um,vm)與均值的模,將該值依照從大到小排序,保留前T個點.
③對于運算后得到的結果,重復步驟①和②一次.
傳統的一般物體識別方法大部分采用詞袋BoW 模型[11].在文獻[12]中,為了增加信息的冗余度,利用物體部件空間關系的統計信息來描述一幅圖像中所有特征點的空間(相對距離和角度)關系,增廣了原BoW 模型中的特征向量,實現了日常家居環境下的一般物體識別.
構建視覺詞典的目的是希望通過詞典中的視覺單詞來盡可能多地描述某一類物體.鑒于同一類物體中物體和物體之間的差異性以及旋轉、縮放等其他因素的影響,視覺單詞應具有較好的魯棒性.Lowe[13]提出的sift算法具有較好的特征描述效果,故本文將其作為特征檢測手段來構建視覺詞典.經過sift算法特征檢測后,每幅圖像都由一個128維特征向量集合來描述.如果直接利用這些高維向量進行物體識別,冗余信息多,計算量太大,故需要對視覺詞庫中的視覺單詞進行聚類分析.K均值聚類算法是一種迭代算法,在迭代過程中不斷更新各類的中心,并且移動各類的成員直至得到理想的集合為止.在利用該聚類算法得到的集合中,成員間的相似度很高,并且不同集合中成員之間的相異度也很高.經過K均值聚類,將視覺詞庫限定為N個視覺單詞的規模,從而得出某一類物體的視覺詞典.
借鑒BoW模型對圖像的描述方法,用一個多維向量來表示一幅圖像.文獻[12]提出了一種新的圖像描述表達式.描述向量由視覺單詞的數量和視覺單詞之間的空間關系2個部分組成.
視覺單詞的數量表征的是視覺單詞庫中某類視覺單詞出現的次數.假設視覺詞庫中有E個視覺單詞,則該類物體的視覺單詞數量描述部分為E維,U={t0,t1,t2,…,tE-2,tE-1}表示視覺詞典中單詞統計構成的視覺單詞直方圖,其中tp(p=0,1,…,E-1)表示第p個視覺單詞出現的次數.
式中,χ為處理后特征點的個數.
計算特征點與幾何中心(xo,yo)的歐式距離D1,D2,D3,…,Df-1,Df,取中值作為單位長度 D,其他長度按照各自長度與D的比值劃分為4個區間,即0 ~0.5D,0.5D ~ D,D ~1.5D,1.5D ~ Dm,其中 Dm=max{D1,D2,D3,…,Df-1,Df}.
將每個特征點與其逆時針方向的最近鄰點構成的夾角記作該點對應的角度.通過簡單的數學變換,可以得到特征點對應的角度 θ1,θ2,θ3,…,θf-1,θf.由于每一幅圖像都有上百個特征點,每2個特征點之間的角度不會很大,因此將特征點的分布角θ量化為如下 5 個區間:0°~30°,30°~60°,60°~90°,90°~ 120°,120°~ θm,其中 θm=max{θ1,θ2,θ3,…,θf-1,θf}.
式中,V={q0,q1,…,q8}為視覺單詞相對于幾何中心的空間關系(包含距離和角度)直方圖.其中,qs(s=0,1,2,3)為第 s個特征點相對于幾何中心(xo,yo)距離在可能的區間 0 ~0.5D,0.5D ~ D,D~1.5D,1.5D ~ Dm出現的次數;qr(r=4,5,6,7,8)為第r個特征點的分布角在可能的區間0~30°,30°~ 60°,60°~ 90°,90°~ 120°,120°~ θm中出現的次數.
支持向量機(support vector machine,SVM)是一種基于結構風險最小化原理的、性能優良的機器學習方法.
對于一個給定的包含正例和反例的樣本集合,支持向量機的目的是尋找一個超平面來對樣本進行分割,把樣本中的正例和反例用超平面分開,超平面是平面中的直線在高維空間中的推廣.SVM算法通過在特征空間中計算一個滿足最大間隔的超平面,來實現多維數據的劃分.對于一個變量X以及所屬類別標簽Y=±1,可以獲得如下的分類函數:

式中,w,b為超平面的參數.訓練過程中,用含有目標物體的圖片作為正的圖片輸入時,Y=1;用不含有目標物體作為負的圖片輸入時,Y=-1.由此便可離線訓練出判別一般物體的支持向量機函數.
GPU是相對于CPU的一個概念,在圖像處理性能上相對于傳統的CPU有很大的優勢[14].針對CUDA運算的特點,本文將整個處理過程中的sift算法和mean-shift算法進行了改寫,GPU加速前后算法效果對比見表1.系統配置如下:操作系統為32位win7,內存為2 GB,CPU采用 Intel(R)Core(TM)2Duo E7500@2.93 GHz,GPU 采用 nVIDIA GeForce310,專用圖像內存為512 MB,共用系統內存為766 MB,編譯器環境為vs2010.

表1 GPU加速前后算法效果對比
利用PointGrey公司生產的Bumblebee立體相機,實時得到場景深度信息和三維模型,進行一般物體識別,并從不同角度驗證本文方法的魯棒性和準確性.
本實驗主要測試方法的魯棒性能,針對實驗室中的風扇、雨傘、紙簍等物品進行識別.基于雙目相機得出的環境三維點云信息以及二維圖像信息,利用本文方法可以正確識別不同環境下的不同物體.圖1~圖3分別為風扇、雨傘和紙簍的原始圖像和識別結果.圖中,虛框線表示判別的結果不是目標物,實框線表示判別的結果是目標物.

圖1 風扇識別

圖2 雨傘識別

圖3 紙簍識別
由于本文方法具有圖像分割的作用,因此,即使場景中包含多個同樣物體,也可以進行識別.圖4為實驗結果,場景中包含2把雨傘,實框線標識的是識別出來的目標物.

圖4 同類多物體識別
將待識別物體放置于背景相對較為復雜的環境中,采用純粹二維空間的一般物體識別方法[12]進行識別時,無法辨識出目標物;采用本文方法則可識別目標物(見圖5).圖5中,虛框線表示判別的結果不是目標物,實框線表示判別的結果是目標物.

圖5 復雜背景下的識別結果
在物體正面與相機夾角較小的情況下,通過改變相機與物體之間的距離,比較本文方法與文獻[12]方法的識別精度.將室內常見的風扇作為待識別物體,在真實實驗室環境下采集了216幅圖像以及點云數據,結果見圖6.圖中,P表示識別精度,且

式中,Nr為正確識別的樣本數;NT為總樣本數.

圖6 不同距離下的識別精度
由圖6可知,在相機與物體距離較小的情況下,由于物體在圖像中所占比例較大,故2種方法的識別精度都很高并且相差不大.然而,在相機與物體距離較大的情況下,本文方法的識別精度明顯高于文獻[12]方法的識別精度.
在保持物體與相機距離基本固定(約0.6 m)的情況下,通過改變相機與物體正面之間的夾角,比較本文方法與文獻[12]方法的識別精度.同樣,將室內常見的風扇作為待識別物體,在真實實驗室環境下采集了224幅圖像以及點云數據,結果如圖7所示.

圖7 不同角度下的識別精度
由圖7可知,隨著物體正面與相機夾角的增大,本文方法的識別精度較為穩定,而文獻[12]方法的識別精度則下降較快,說明本文方法具有較好的魯棒性.
本文提出了一種融合二維圖像信息與源自雙目相機的深度信息的一般物體識別方法.實驗結果證明了該算法的魯棒性與優越性.但是,建立適用于任意環境的一般物體識別模型仍然是一大挑戰.
References)
[1]田淵棟.基于特征組合的一般物體識別相關算法研究[D].上海:上海交通大學計算機科學與工程系,2007.
[2]王利明.機器視覺中物體識別方法的研究與探討[D]:上海:復旦大學計算機科學技術學院,2009.
[3]Felzenszwalb P F,Huttenlocher D P.Efficient matching of pictorial structures[C]//Proceedings of 2000 IEEE Conference on Computer Vision and Pattern Recognition.Hilton Head,South Carolina,USA,2000:66-73.
[4]Kwon J,Lee K M.Highly non-rigid object tracking via patch-based dynamic appearance modeling[J].IEEE Transaction on Pattern Analysis and Machine Intelligence,2013.(to appear)
[5]Niu Z X,Hua G,Gao X B,et al.Spatial-DiscLDA for visual recognition[C]//Proceedings of 2011 IEEE Conference on Computer Vision and Pattern Recognition.Colorado Springs,CO,USA,2011:1769-1776.
[6]Wang B T,Xiong H K,Jiang X Q,et al.Semi-supervised object recognition using structure kernel[C]//Proceedings of 2012 IEEE International Conference on Image Processing.Orlando,Florida,USA,2012:2157-2160.
[7]Ren Z,Yuan J S,Meng J J,et al.Robust part-based hand gesture recognition based on finger-earth mover's distance[J].IEEE Transaction on Multimedia,2013.(to appear)
[8]Felzenszwalb P F,Girshick R B,McAllester D,et al.Object detection with discriminatively trained part-based models[J].IEEE Transaction on Pattern Analysis and Machine Intelligence,2010,32(9):1627-1645.
[9]Helmer S,Lowe D.Using stereo for object recognition[C]//Proceedings of 2012 IEEE International Conference on Robotics and Automation.Anchorage,Alaska,USA,2010:3121-3127.
[10]Fukunaga K,Hostetler L D.The estimation of the gradient of a density functions with applications in pattern recognition[J].IEEE Transactions on Information Theory,1975,21(1):32-40.
[11]Csurka G,Dance C R,Fan L,et al.Visual categorization with bags of keypoints[C]///Proceedings of ECCV'04 Workshop on Statistical Learning in Computer Vision.Prague,Czech Republic,2004:59-74.
[12]李新德,張曉,朱博,等.一種基于新奇GOR+GPU算法的機器人視覺導航方法[J].機器人,2012,34(4):466-475.Li Xinde,Zhang Xiao,Zhu Bo,et al.A visual navigation method for robot based on a GOR and GPU algorithm[J].Robot,2012,34(4):466-475.(in Chinese)
[13]Lowe D G.Distinctive image features from scale-invariant key pints[J].International Journal of Computer Vision,2004,60(2):91-110.
[14]張舒,褚艷利.GPU高性能運算之CUDA[M].北京:中國水利水電出版社,2009.