梁 紅,張 哲,徐 帆,曾春年
(1.武漢理工大學(xué) 自動化學(xué)院,湖北 武漢430070;2.武漢理工大學(xué) 信息工程學(xué)院,湖北 武漢430070)
隨著計算機(jī)技術(shù)、自動化技術(shù)和傳感器技術(shù)的發(fā)展,智能機(jī)器人成為當(dāng)今的研究熱點,對于智能移動機(jī)器人的研發(fā)來說,視覺是其中的一個重點,其物體識別備受關(guān)注。一方面,物體識別的能力代表了機(jī)器人認(rèn)知能力;另一方面,物體識別的研究成果可以用于即時定位與地圖構(gòu)建、智能監(jiān)控、人機(jī)交互系統(tǒng)和機(jī)器人環(huán)境感知等領(lǐng)域。很多成熟的移動機(jī)器人平臺已經(jīng)實現(xiàn)了特定物體的識別,從而使機(jī)器人擁有更為豐富的技能,如Willow Garage 公司的PR -II 機(jī)器人,可對各種杯子進(jìn)行識別和姿態(tài)預(yù)測[1],并能根據(jù)指令為人們提供各種飲料;Aldebaran 公司的Nao 機(jī)器人,用攝像頭捕捉目標(biāo)物體圖像后,通過WiFi 傳到主服務(wù)器上,在主服務(wù)器上進(jìn)行學(xué)習(xí)和識別,并可把自己的學(xué)習(xí)經(jīng)驗分享給其他Nao 機(jī)器人[2];Sony 公司的Aibo 機(jī)器狗,可完成機(jī)器人足球比賽。
雖然在計算機(jī)視覺領(lǐng)域,物體識別已經(jīng)是多年的研究熱點,也有相當(dāng)多可供研究的數(shù)據(jù)庫,但這些成果并不能直接被移動機(jī)器人所使用。相較于傳統(tǒng)物體識別的各個難點,如光照影響、旋轉(zhuǎn)影響、視角變化、遮擋等,移動機(jī)器人還面臨著因移動帶來的運動模糊以及復(fù)雜背景。同時它對算法的實時性要求也相當(dāng)高,而很多算法之所以取得好的性能,往往是通過犧牲實時性做到的。
因此針對移動機(jī)器人物體識別的應(yīng)用,需要尋找一個實時性較好,同時又要保證性能的算法。物體識別常用的一種方法是關(guān)鍵點匹配,其算法思路是提取目標(biāo)物體圖像的關(guān)鍵點和待識別圖像的關(guān)鍵點,然后進(jìn)行關(guān)鍵點匹配。根據(jù)關(guān)鍵點的匹配情況判斷待識別圖像中是否包含目標(biāo)物體。根據(jù)關(guān)鍵點的不同描述和匹配方法,分為兩個大類:一類是構(gòu)造特征不變描述子,一般來說,高維描述子獨特性更好,但耗時;低維計算量小,但損失關(guān)鍵點特性。常用高維進(jìn)行描述,再用各種方法降維。MIKOLAJCZYK 等對10 種局部描述子做了不變性實驗,結(jié)果表明,尺度不變特征(scale-invariant feature tansform,SIFT)算子及其擴(kuò)展算法在同類描述子中具有最強(qiáng)的魯棒性[3];另一類是對關(guān)鍵點進(jìn)行統(tǒng)計特性分析,這種方法需要采集足夠的目標(biāo)物體圖像樣本,在很多應(yīng)用中,限于技術(shù)條件無法做到。變通的方法是根據(jù)一個目標(biāo)樣本,經(jīng)過模糊、扭轉(zhuǎn)、縮放等變換,構(gòu)造出目標(biāo)物體圖像各關(guān)鍵點的樣本集。此類算法的代表有隨機(jī)樹[4]和隨機(jī)蕨[5]。前者對關(guān)鍵點處圖像小塊(patch)用一種層次結(jié)構(gòu)描述。后者對關(guān)鍵點處圖像小塊用無層次結(jié)構(gòu)的二進(jìn)制特征來表征。
從性能和速度的比較來看,基于二進(jìn)制特征的隨機(jī)蕨算法可達(dá)到接近標(biāo)準(zhǔn)SIFT 的識別率,所需時間大大減少,因此隨機(jī)蕨算法更適合應(yīng)用在移動機(jī)器人上。然而該算法也有一定的局限性,由于其關(guān)鍵點的描述并沒有明確物理意義,其獨特性不夠強(qiáng),誤匹配率較高。另外,移動機(jī)器人采集的圖像有一定的特點,如分辨率一般不高。這是由于帶寬和性能的限制,高分辨率的視頻攝像頭無法應(yīng)用到移動機(jī)器人上,通常在移動機(jī)器人上配備的攝像頭分辨率為640×480。移動機(jī)器人所處的環(huán)境光照比較復(fù)雜,這就造成采集的圖像曝光不一定很準(zhǔn)確。過曝和欠曝的情況時有發(fā)生,過曝會造成信息量減小,欠曝又會造成噪點干擾和運動模糊現(xiàn)象。移動機(jī)器人所處的環(huán)境在不斷變化,其背景物件也隨之變化,沒有固定的特征,顯得雜亂無章。所有這些因素對物體識別算法提出了更多和更高的要求。因此需要在常規(guī)隨機(jī)蕨算法的基礎(chǔ)上進(jìn)行改進(jìn)和優(yōu)化,根據(jù)移動機(jī)器人待識別圖像的特點,通過對參數(shù)的調(diào)整以及匹配標(biāo)準(zhǔn)的改進(jìn),獲得更高的識別率,同時保持較低的識別時間。
隨機(jī)蕨算法的關(guān)鍵點檢測子是LE PETIT 提出的,是基于harris 角點檢測的,可設(shè)定參數(shù),檢測最穩(wěn)定的Hobj個關(guān)鍵點。以保證這Hobj個關(guān)鍵點最能體現(xiàn)目標(biāo)體的特征。
對關(guān)鍵點的圖像小塊進(jìn)行二進(jìn)制描述,設(shè)圖像小塊的尺寸為L×L,則二進(jìn)制碼中每一位的值取決于在該圖像小塊中隨機(jī)取兩點比較灰度值后的結(jié)果:
這種表述方式很簡單,為了保證其獨特性,必須保證二進(jìn)制碼的長度N,一般N至少需要300位以上。將各關(guān)鍵點所屬類用Ci(i=1,2,…,H)表示,根據(jù)貝葉斯公式:
如將fj分為M組,每組包含S=N/M位二進(jìn)制碼,并假設(shè)不同組的二進(jìn)制碼相互獨立,同組內(nèi)二進(jìn)制碼具有相關(guān)性,則式(2)可近似為:
這些組就稱為隨機(jī)蕨(ferns),關(guān)于相關(guān)性的假設(shè)雖然在事實上不一定成立,但OZUYSAL 所作實驗表明,無論是隨機(jī)的分組還是按一定的相關(guān)性分組,對結(jié)果的差異都不大。但顯然隨機(jī)分組在計算上更容易實現(xiàn)。
為了使根據(jù)統(tǒng)計樣本獲得的分類器具有魯棒性,通過如下變換矩陣來構(gòu)建樣本:
其中,Rφ和Rθ分別為角度為φ 和θ 的旋轉(zhuǎn)矩陣,φ 和θ 為生成樣本的旋轉(zhuǎn)角度,φ,θ∈[-π,π];diag(λ1,λ2)為縮放矩陣,λ1,λ2為生成樣本的縮放范圍,如果目標(biāo)圖像與待識別圖像之間尺度變化不大,則λ1,λ2范圍可選擇較小值;如果尺度變化大,則λ1,λ2范圍需選擇較大值。同時在此基礎(chǔ)上,添加了范圍[0,255],方差25 的高斯白噪聲。從而使分類器對旋轉(zhuǎn)、扭轉(zhuǎn)、縮放和噪聲都具有一定的魯棒性。得到這些樣本后,通過同樣的方式進(jìn)行二進(jìn)制碼描述,每個關(guān)鍵點取10 800 個樣本。根據(jù)這些樣本,可以獲得蕨類的統(tǒng)計特性。
待識別圖像中關(guān)鍵點的提取與目標(biāo)圖形關(guān)鍵點的提取方法基本一致,也可以確定Himg個最穩(wěn)定的關(guān)鍵點,因為待識別圖像一般都具有干擾物,所以參數(shù)選擇時,必須確保Himg>Hobj,這樣才可以保證待識別圖像中有足夠關(guān)鍵點與目標(biāo)圖像中的關(guān)鍵點進(jìn)行匹配。得到關(guān)鍵點后,對圖像小塊進(jìn)行描述,小塊尺寸仍為L×L。通過式(3)可以計算出這串二進(jìn)制描述從屬于哪一類,即與目標(biāo)圖像的哪個關(guān)鍵點匹配的概率最大。
用于物體識別的數(shù)據(jù)庫非常多,如加利福利亞理工學(xué)院的Caltech101[6]數(shù)據(jù)集,Pacal VOC 競賽的數(shù)據(jù)集[7],都是業(yè)內(nèi)認(rèn)可的性能比較數(shù)據(jù)集。但是,作為移動機(jī)器人的待識別圖像,其實際呈現(xiàn)出的效果與這種人工痕跡比較重的圖像有所不同,其分辨率一般較差,運動模糊的現(xiàn)象也比較嚴(yán)重。因此,筆者選用的數(shù)據(jù)庫是RAMISA 等制作的移動機(jī)器人數(shù)據(jù)庫IIIA30[8]。它的待識別圖像全部是從真實的移動機(jī)器人采集的實時視頻得到的,一共有30 個類別(29 個物體和背景),2 450 個圖像,其部分圖像如圖1 所示。
筆者采用的評估函數(shù)為正確率Pre和召回率Rec,其定義為:
圖1 IIIA30 中的待識別圖像
其中:TP為有該物體,判斷也是有該物體;FP為沒有該物體,判斷有該物體;FN為有該物體,被判斷沒有該物體。
因此Pre即是所有判斷有該物體的圖像,確實有該物體的比率,也就是正確率。Rec是所有確實有該物體的圖像被判斷出來的比率,也就是召回率。
在實驗中,測試了幾組關(guān)鍵點數(shù)目的數(shù)據(jù),Hobj為目標(biāo)圖像中關(guān)鍵點的數(shù)目,Hobj取100,待識別圖像因干擾較多,關(guān)鍵點的數(shù)目Himg取500,小寸L為32,設(shè)置M=40 個隨機(jī)蕨,隨機(jī)蕨的位數(shù)S=11。
分類器建模中旋轉(zhuǎn)矩陣參數(shù)φ,θ∈[- π,π],縮放矩陣根據(jù)待識別圖像與目標(biāo)圖像之間大小關(guān)系,設(shè)為λ1,λ2∈[0.6,1.5],共生成10 800幅圖像,
對于基于關(guān)鍵點方法的物體識別,一般以關(guān)鍵點匹配數(shù)目作為標(biāo)準(zhǔn)來判定待識別圖像中是否有該物體,如文獻(xiàn)[9]。筆者最初也是用這種方式來進(jìn)行判斷,但發(fā)現(xiàn)效果并不太好。對識別效果特別差的圖像進(jìn)行分析,發(fā)現(xiàn)由于移動機(jī)器人所取的圖像分辨率低,得到的關(guān)鍵點相當(dāng)少,匹配數(shù)目也相應(yīng)減少。因此這種僅用匹配數(shù)目的絕對數(shù)量進(jìn)行判別的方式顯然不適用于移動機(jī)器人的物體識別。在2 450 個數(shù)據(jù)圖像中,按所設(shè)定的參數(shù),關(guān)鍵點數(shù)目取500 個,仍有500 個圖像中實際找到的關(guān)鍵點小于10。因此僅按傳統(tǒng)的關(guān)鍵點匹配數(shù)目作為標(biāo)準(zhǔn)是不合適的,于是引入另一個參量,即匹配分?jǐn)?shù),其定義為:
其中:hnum為關(guān)鍵點匹配數(shù)目;hobj為實際找到的目標(biāo)圖像關(guān)鍵點數(shù)目;himg為實際找到的待識別圖像關(guān)鍵點數(shù)目。H為設(shè)定的尋找關(guān)鍵點數(shù),h為實際取得的關(guān)鍵點數(shù)目,顯然h≤H,則hobj≤Hobj,himg≤Himg。
匹配分?jǐn)?shù)的引入使那些關(guān)鍵點很少,但都是正確匹配的待識別圖像,可以得到正確的判斷。最后判斷待識別圖像是否有該物體的函數(shù)成為一個兩參量的函數(shù),即F(hnum,S)。該函數(shù)的結(jié)果值為布爾量,在S值一定的情況下,hnum取值越大,則Pre越大,Rec越小。這也是符合理論依據(jù)的。因為hnum越大意味著判斷有特定物體的標(biāo)準(zhǔn)更為苛刻,這自然帶來更高的正確率和更低的召回率。在hnum值一定的情況下,S取值越大,同樣是Pre越大,Rec越小。需要注意的是,如果S值和hnum取其范圍的最大值,Pre反而會下降,因為過于苛刻的判斷標(biāo)準(zhǔn)可能導(dǎo)致TP為0,則Pre也為0。根據(jù)hnum和S取值范圍,測試各組數(shù)據(jù),求取使Rec不過于低(均值大于0.2),Pre盡可能高的取值。最后采用的數(shù)值為hnum大于9,S大于0.5。
運行算法所用計算機(jī)配置為:i5 -4430 @3.00 GHz 四核,4 G 內(nèi)存,WIN7 64 位系統(tǒng),得到的結(jié)果如表1 所示。
表1 不同類別的正確率和召回率
原始隨機(jī)蕨算法的平均正確率為0.49,改進(jìn)隨機(jī)蕨算法為0.82,提高了0.33。原始隨機(jī)蕨算法的平均召回率為0.44,改進(jìn)隨機(jī)蕨算法為0.22,僅有小幅下降。其平均運算時間為22.56 ms。
筆者介紹了一種針對移動機(jī)器人攝取圖像進(jìn)行物體識別的隨機(jī)蕨算法,該算法是基于關(guān)鍵點匹配的。根據(jù)移動機(jī)器人采集圖像的特點對隨機(jī)蕨算法進(jìn)行了改進(jìn)和優(yōu)化,在目標(biāo)圖像中提取足夠的關(guān)鍵點,并進(jìn)行描述和統(tǒng)計學(xué)分析,當(dāng)待識別圖像中被匹配的關(guān)鍵點數(shù)目達(dá)到所設(shè)定的標(biāo)準(zhǔn)時,認(rèn)為待識別圖像中包含該物體。從實驗結(jié)果可看出,改進(jìn)隨機(jī)蕨算法保持了較低的運算量,實時性好,同時優(yōu)化算法達(dá)到了較高的識別正確率。
[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.