梁 紅,張 哲,徐 帆,曾春年
(1.武漢理工大學(xué) 自動化學(xué)院,湖北 武漢430070;2.武漢理工大學(xué) 信息工程學(xué)院,湖北 武漢430070)
隨著計算機技術(shù)、自動化技術(shù)和傳感器技術(shù)的發(fā)展,智能機器人成為當今的研究熱點,對于智能移動機器人的研發(fā)來說,視覺是其中的一個重點,其物體識別備受關(guān)注。一方面,物體識別的能力代表了機器人認知能力;另一方面,物體識別的研究成果可以用于即時定位與地圖構(gòu)建、智能監(jiān)控、人機交互系統(tǒng)和機器人環(huán)境感知等領(lǐng)域。很多成熟的移動機器人平臺已經(jīng)實現(xiàn)了特定物體的識別,從而使機器人擁有更為豐富的技能,如Willow Garage 公司的PR -II 機器人,可對各種杯子進行識別和姿態(tài)預(yù)測[1],并能根據(jù)指令為人們提供各種飲料;Aldebaran 公司的Nao 機器人,用攝像頭捕捉目標物體圖像后,通過WiFi 傳到主服務(wù)器上,在主服務(wù)器上進行學(xué)習(xí)和識別,并可把自己的學(xué)習(xí)經(jīng)驗分享給其他Nao 機器人[2];Sony 公司的Aibo 機器狗,可完成機器人足球比賽。
雖然在計算機視覺領(lǐng)域,物體識別已經(jīng)是多年的研究熱點,也有相當多可供研究的數(shù)據(jù)庫,但這些成果并不能直接被移動機器人所使用。相較于傳統(tǒng)物體識別的各個難點,如光照影響、旋轉(zhuǎn)影響、視角變化、遮擋等,移動機器人還面臨著因移動帶來的運動模糊以及復(fù)雜背景。同時它對算法的實時性要求也相當高,而很多算法之所以取得好的性能,往往是通過犧牲實時性做到的。
因此針對移動機器人物體識別的應(yīng)用,需要尋找一個實時性較好,同時又要保證性能的算法。物體識別常用的一種方法是關(guān)鍵點匹配,其算法思路是提取目標物體圖像的關(guān)鍵點和待識別圖像的關(guān)鍵點,然后進行關(guān)鍵點匹配。根據(jù)關(guān)鍵點的匹配情況判斷待識別圖像中是否包含目標物體。根據(jù)關(guān)鍵點的不同描述和匹配方法,分為兩個大類:一類是構(gòu)造特征不變描述子,一般來說,高維描述子獨特性更好,但耗時;低維計算量小,但損失關(guān)鍵點特性。常用高維進行描述,再用各種方法降維。MIKOLAJCZYK 等對10 種局部描述子做了不變性實驗,結(jié)果表明,尺度不變特征(scale-invariant feature tansform,SIFT)算子及其擴展算法在同類描述子中具有最強的魯棒性[3];另一類是對關(guān)鍵點進行統(tǒng)計特性分析,這種方法需要采集足夠的目標物體圖像樣本,在很多應(yīng)用中,限于技術(shù)條件無法做到。變通的方法是根據(jù)一個目標樣本,經(jīng)過模糊、扭轉(zhuǎn)、縮放等變換,構(gòu)造出目標物體圖像各關(guān)鍵點的樣本集。此類算法的代表有隨機樹[4]和隨機蕨[5]。前者對關(guān)鍵點處圖像小塊(patch)用一種層次結(jié)構(gòu)描述。后者對關(guān)鍵點處圖像小塊用無層次結(jié)構(gòu)的二進制特征來表征。
從性能和速度的比較來看,基于二進制特征的隨機蕨算法可達到接近標準SIFT 的識別率,所需時間大大減少,因此隨機蕨算法更適合應(yīng)用在移動機器人上。然而該算法也有一定的局限性,由于其關(guān)鍵點的描述并沒有明確物理意義,其獨特性不夠強,誤匹配率較高。另外,移動機器人采集的圖像有一定的特點,如分辨率一般不高。這是由于帶寬和性能的限制,高分辨率的視頻攝像頭無法應(yīng)用到移動機器人上,通常在移動機器人上配備的攝像頭分辨率為640×480。移動機器人所處的環(huán)境光照比較復(fù)雜,這就造成采集的圖像曝光不一定很準確。過曝和欠曝的情況時有發(fā)生,過曝會造成信息量減小,欠曝又會造成噪點干擾和運動模糊現(xiàn)象。移動機器人所處的環(huán)境在不斷變化,其背景物件也隨之變化,沒有固定的特征,顯得雜亂無章。所有這些因素對物體識別算法提出了更多和更高的要求。因此需要在常規(guī)隨機蕨算法的基礎(chǔ)上進行改進和優(yōu)化,根據(jù)移動機器人待識別圖像的特點,通過對參數(shù)的調(diào)整以及匹配標準的改進,獲得更高的識別率,同時保持較低的識別時間。
隨機蕨算法的關(guān)鍵點檢測子是LE PETIT 提出的,是基于harris 角點檢測的,可設(shè)定參數(shù),檢測最穩(wěn)定的Hobj個關(guān)鍵點。以保證這Hobj個關(guān)鍵點最能體現(xiàn)目標體的特征。
對關(guān)鍵點的圖像小塊進行二進制描述,設(shè)圖像小塊的尺寸為L×L,則二進制碼中每一位的值取決于在該圖像小塊中隨機取兩點比較灰度值后的結(jié)果:
這種表述方式很簡單,為了保證其獨特性,必須保證二進制碼的長度N,一般N至少需要300位以上。將各關(guān)鍵點所屬類用Ci(i=1,2,…,H)表示,根據(jù)貝葉斯公式:
如將fj分為M組,每組包含S=N/M位二進制碼,并假設(shè)不同組的二進制碼相互獨立,同組內(nèi)二進制碼具有相關(guān)性,則式(2)可近似為:
這些組就稱為隨機蕨(ferns),關(guān)于相關(guān)性的假設(shè)雖然在事實上不一定成立,但OZUYSAL 所作實驗表明,無論是隨機的分組還是按一定的相關(guān)性分組,對結(jié)果的差異都不大。但顯然隨機分組在計算上更容易實現(xiàn)。
為了使根據(jù)統(tǒng)計樣本獲得的分類器具有魯棒性,通過如下變換矩陣來構(gòu)建樣本:
其中,Rφ和Rθ分別為角度為φ 和θ 的旋轉(zhuǎn)矩陣,φ 和θ 為生成樣本的旋轉(zhuǎn)角度,φ,θ∈[-π,π];diag(λ1,λ2)為縮放矩陣,λ1,λ2為生成樣本的縮放范圍,如果目標圖像與待識別圖像之間尺度變化不大,則λ1,λ2范圍可選擇較小值;如果尺度變化大,則λ1,λ2范圍需選擇較大值。同時在此基礎(chǔ)上,添加了范圍[0,255],方差25 的高斯白噪聲。從而使分類器對旋轉(zhuǎn)、扭轉(zhuǎn)、縮放和噪聲都具有一定的魯棒性。得到這些樣本后,通過同樣的方式進行二進制碼描述,每個關(guān)鍵點取10 800 個樣本。根據(jù)這些樣本,可以獲得蕨類的統(tǒng)計特性。
待識別圖像中關(guān)鍵點的提取與目標圖形關(guān)鍵點的提取方法基本一致,也可以確定Himg個最穩(wěn)定的關(guān)鍵點,因為待識別圖像一般都具有干擾物,所以參數(shù)選擇時,必須確保Himg>Hobj,這樣才可以保證待識別圖像中有足夠關(guān)鍵點與目標圖像中的關(guān)鍵點進行匹配。得到關(guān)鍵點后,對圖像小塊進行描述,小塊尺寸仍為L×L。通過式(3)可以計算出這串二進制描述從屬于哪一類,即與目標圖像的哪個關(guān)鍵點匹配的概率最大。
用于物體識別的數(shù)據(jù)庫非常多,如加利福利亞理工學(xué)院的Caltech101[6]數(shù)據(jù)集,Pacal VOC 競賽的數(shù)據(jù)集[7],都是業(yè)內(nèi)認可的性能比較數(shù)據(jù)集。但是,作為移動機器人的待識別圖像,其實際呈現(xiàn)出的效果與這種人工痕跡比較重的圖像有所不同,其分辨率一般較差,運動模糊的現(xiàn)象也比較嚴重。因此,筆者選用的數(shù)據(jù)庫是RAMISA 等制作的移動機器人數(shù)據(jù)庫IIIA30[8]。它的待識別圖像全部是從真實的移動機器人采集的實時視頻得到的,一共有30 個類別(29 個物體和背景),2 450 個圖像,其部分圖像如圖1 所示。
筆者采用的評估函數(shù)為正確率Pre和召回率Rec,其定義為:
圖1 IIIA30 中的待識別圖像
其中:TP為有該物體,判斷也是有該物體;FP為沒有該物體,判斷有該物體;FN為有該物體,被判斷沒有該物體。
因此Pre即是所有判斷有該物體的圖像,確實有該物體的比率,也就是正確率。Rec是所有確實有該物體的圖像被判斷出來的比率,也就是召回率。
在實驗中,測試了幾組關(guān)鍵點數(shù)目的數(shù)據(jù),Hobj為目標圖像中關(guān)鍵點的數(shù)目,Hobj取100,待識別圖像因干擾較多,關(guān)鍵點的數(shù)目Himg取500,小寸L為32,設(shè)置M=40 個隨機蕨,隨機蕨的位數(shù)S=11。
分類器建模中旋轉(zhuǎn)矩陣參數(shù)φ,θ∈[- π,π],縮放矩陣根據(jù)待識別圖像與目標圖像之間大小關(guān)系,設(shè)為λ1,λ2∈[0.6,1.5],共生成10 800幅圖像,
對于基于關(guān)鍵點方法的物體識別,一般以關(guān)鍵點匹配數(shù)目作為標準來判定待識別圖像中是否有該物體,如文獻[9]。筆者最初也是用這種方式來進行判斷,但發(fā)現(xiàn)效果并不太好。對識別效果特別差的圖像進行分析,發(fā)現(xiàn)由于移動機器人所取的圖像分辨率低,得到的關(guān)鍵點相當少,匹配數(shù)目也相應(yīng)減少。因此這種僅用匹配數(shù)目的絕對數(shù)量進行判別的方式顯然不適用于移動機器人的物體識別。在2 450 個數(shù)據(jù)圖像中,按所設(shè)定的參數(shù),關(guān)鍵點數(shù)目取500 個,仍有500 個圖像中實際找到的關(guān)鍵點小于10。因此僅按傳統(tǒng)的關(guān)鍵點匹配數(shù)目作為標準是不合適的,于是引入另一個參量,即匹配分數(shù),其定義為:
其中:hnum為關(guān)鍵點匹配數(shù)目;hobj為實際找到的目標圖像關(guān)鍵點數(shù)目;himg為實際找到的待識別圖像關(guān)鍵點數(shù)目。H為設(shè)定的尋找關(guān)鍵點數(shù),h為實際取得的關(guān)鍵點數(shù)目,顯然h≤H,則hobj≤Hobj,himg≤Himg。
匹配分數(shù)的引入使那些關(guān)鍵點很少,但都是正確匹配的待識別圖像,可以得到正確的判斷。最后判斷待識別圖像是否有該物體的函數(shù)成為一個兩參量的函數(shù),即F(hnum,S)。該函數(shù)的結(jié)果值為布爾量,在S值一定的情況下,hnum取值越大,則Pre越大,Rec越小。這也是符合理論依據(jù)的。因為hnum越大意味著判斷有特定物體的標準更為苛刻,這自然帶來更高的正確率和更低的召回率。在hnum值一定的情況下,S取值越大,同樣是Pre越大,Rec越小。需要注意的是,如果S值和hnum取其范圍的最大值,Pre反而會下降,因為過于苛刻的判斷標準可能導(dǎo)致TP為0,則Pre也為0。根據(jù)hnum和S取值范圍,測試各組數(shù)據(jù),求取使Rec不過于低(均值大于0.2),Pre盡可能高的取值。最后采用的數(shù)值為hnum大于9,S大于0.5。
運行算法所用計算機配置為:i5 -4430 @3.00 GHz 四核,4 G 內(nèi)存,WIN7 64 位系統(tǒng),得到的結(jié)果如表1 所示。
表1 不同類別的正確率和召回率
原始隨機蕨算法的平均正確率為0.49,改進隨機蕨算法為0.82,提高了0.33。原始隨機蕨算法的平均召回率為0.44,改進隨機蕨算法為0.22,僅有小幅下降。其平均運算時間為22.56 ms。
筆者介紹了一種針對移動機器人攝取圖像進行物體識別的隨機蕨算法,該算法是基于關(guān)鍵點匹配的。根據(jù)移動機器人采集圖像的特點對隨機蕨算法進行了改進和優(yōu)化,在目標圖像中提取足夠的關(guān)鍵點,并進行描述和統(tǒng)計學(xué)分析,當待識別圖像中被匹配的關(guān)鍵點數(shù)目達到所設(shè)定的標準時,認為待識別圖像中包含該物體。從實驗結(jié)果可看出,改進隨機蕨算法保持了較低的運算量,實時性好,同時優(yōu)化算法達到了較高的識別正確率。
[1]RUSU R B,BRADSKI G,THIBAUX R,et al. Fast 3D recognition and pose using the viewpoint feature histogram[C]∥Intelligent Robots and Systems(IROS),2010 IEEE/RSJ International Conference.Taipei:[s.n.],2010:2155 -2162.
[2]SMOLAR P,TUHARSKY J,F(xiàn)EDOR Z,et al. Development of cognitive capabilities for robot Nao in center for intelligent technologies in kosice[C]∥Cognitive Infocommunications (CogInfoCom),2011 2nd International Conference . Budapest:[s.n.],2011:1 -5.
[3]MIKOLAJCZYK K,SCHMID C. A performance evaluation of local descriptors[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2005,27(10):1615 -1630.
[4]LEPETIT V,F(xiàn)UA P. Keypoint recognition using randomized trees[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,2006,28(9):1465-1479.
[5]OZUYSAL M,CALONDER M,LEPETIT V,et al.Fast keypoint recognition using random ferns[J].IEEE Transactions on Pattern Analysis and Machine Intelligence ,2010,32(2):448 -461.
[6]FEI - FEI L,F(xiàn)ERGUS R,PERONA P. The caltech 101 dataset[DB/OL].[2014 - 02 - 15]. http://www. vision. caltech. edu/Image _ Datasets/Caltech101/.
[7]EVERINGHAM M,VAN GOOL L,WILLIAMS C K I,et al.Pascal VOC data sets [DB/OL]. [2014 -02 -15]. http://pascallin. ecs. soton. ac. uk/challenges/VOC/.
[8]RAMISA A,ALDAVERT D,VASUDEVAN S. The IIIA30 mobile robot object recognition dataset[C]∥11th International Conference on Mobile Robots and Competitions (ROBOTICA 2011). Lisbon:[s. n.],2011:72 -77.
[9]ZENDER H,MOZOS O M,JENSFELT P,et al. Conceptual spatial representations for indoor mobile robots[J]. Robotics and Autonomous Systems,2008,56(6):493 -502.