
本發(fā)明涉及一種機器視覺技術,具體地說是一種用于增強現實輔助維修系統(tǒng)的三維對象識別定位方法。
背景技術:
:增強現實輔助維修環(huán)境下開展檢測、修理、拆裝、組配、維護、保養(yǎng)等維修活動的主體是操作使用人員,而整機、部組件、零部件等維修對象則是維修活動的客體。如果要將增強現實輔助維修系統(tǒng)應用于實際維修活動,首先要解決的就是維修場景中維修對象的識別定位問題,它是攝像機姿態(tài)估計、跟蹤注冊和虛實結合的前提和基礎。因此針對增強現實維修環(huán)境進行三維對象識別定位研究具有重要的意義。自然特征識別方法實際上解決的是多視角下維修對象的識別定位問題。利用點特征、外觀或輪廓特征和仿射不變特征是最常見的多視角識別特征描述方法。如將多視角2D圖像SIFT特征點映射到3D模型的表面進行3D對象識別、利用視角不變輪廓關系和外觀信息通過機器學習算法進行訓練,得到3D對象的識別模型、提取仿射不變子空間特征實現仿射變化下圖像目標的匹配識別,以及輪廓特征與仿射不變特征點相結合進行識別定位等,但仿射不變特征點往往要求視角變化范圍不能太大。技術實現要素:本發(fā)明的目的就是提供一種用于增強現實輔助維修系統(tǒng)的三維對象識別定位方法,以解決現有定位方式對三維對象的類別識別的檢測率不高的問題。本發(fā)明的目的是這樣實現的:一種用于增強現實輔助維修系統(tǒng)的三維對象識別定位方法,包括以下步驟:a、建立三維對象的信息數據庫:a-1、將與增強現實輔助維修過程具有信息關聯的設備零部件作為三維對象,并對應標記為O1,O2,…,Ok;建立各三維對象的兩種視角變化密度不同的wt×ht二維圖像模板,其中一種為視角變化間隔為10°的模板,記做TA,另一種為視角變化間隔為2.5°的模板,記做TB;將各三維對象的所有模板TA和模板TB關聯到其二維圖像模板所對應的視角中,并按視角類別保存到模板數據庫中;a-2、分別提取各三維對象的模板TA和模板TB的邊緣圖像TEA、TEB,提取各三維對象的模板TA和模板TB的復合邊緣直方圖的特征向量FA、FB,關聯到各自對應的模板TA和模板TB中,并保存到信息數據庫中;a-3、將標記為O1—Ok的三維對象的各自對應的復合邊緣直方圖特征向量FA及其對應的類別標簽送入分類器進行訓練,獲得全部三維對象的類別識別模型Ma,并進行存儲;分別去除每一個三維對象的復合邊緣直方圖的特征向量FA后,再次送入分類器進行訓練,得到不包括所刪除三維對象的識別模型Mi≠1,Mi≠2,…,Mi≠k,并進行存儲;a-4、將所有三維對象的復合邊緣直方圖的特征向量FB按類別建立檢索K-D樹KB1,KB2,…,KBk。步驟a-3中所述分類器為采用基于決策樹樁的GentleAdaBoost多類分類器,其中弱分類器的個數最大取值為100。b、三維對象的分割與特征的提?。篵-1、獲取來自圖像傳感器的一幀圖像I,對圖像進行濾波并提取其二值邊緣圖像E;計算關于二值邊緣圖像E的積分圖像IIE;計算關于二值邊緣圖像E的積分復合邊緣直方圖IHE;b-2、創(chuàng)建寬度為w、高度為h的滑動窗口W1,創(chuàng)建寬度為(w+2)、寬度為(h+2)的滑動窗口W2;滑動窗口W1居中嵌套在滑動窗口W2中,并與滑動窗口W2同時對二值邊緣圖像E進行掃描,利用積分圖像IIE計算滑動窗口W1與滑動窗口W2的像素之和;當滑動窗口W1與滑動窗口W2的像素之和大于0且像素和之差為0時,得到未被遮擋的目標區(qū)域圖像EW1,并轉到步驟b-3;如果整幅圖像的掃描結果均不能滿足上述條件,則w值加2,h值加2,并重復執(zhí)行本步驟;當w≥圖像I的寬度值且h≥圖像I的高度值時,轉到步驟b-1;b-3、利用IHE獲取區(qū)域滑動窗口W1的復合邊緣直方圖HW,然后執(zhí)行步驟c。c、對象類別的識別:讀取識別模型Ma,將復合邊緣直方圖HW作為輸入向量送入讀取識別模型Ma,得到識別結果——復合邊緣直方圖HW所代表的類別標簽n。d、對象的定位:d-1、以復合邊緣直方圖HW與檢索K-D樹KBn中特征向量的巴氏距離D1取值最小為依據,在檢索K-D樹KBn中檢索得到與復合邊緣直方圖HW最接近的特征向量位置p;d-2、當巴氏距離D1≥閾值τ1時,直接轉入步驟d-3,否則將滑動窗口W1的二值邊緣圖像EW1規(guī)格化至寬度為wt、高度為ht的尺度,并根據特征向量位置k取模板圖像TBn,p,將滑動窗口W1的二值邊緣圖像EW1和模板圖像TBn,p做Chamfer距離匹配,得到匹配結果D2;當D2<閾值τ2時,輸出模板圖像TBn,p對應的視角和滑動窗口W1的二值邊緣圖像EW1的規(guī)格化系數ε,完成全部定位過程并退出,否則轉到步驟d-3;d-3、讀取識別模型Mi≠n,將HW作為輸入向量送入Mi≠n,得到識別結果——新的類別標簽n,并根據類別標簽n取檢索K-D樹KBn,轉至步驟d-1;當識別模型Mi≠1,Mi≠2,…,Mi≠k被遍歷一次后,宣告定位失敗,轉至步驟d-2。本發(fā)明中的復合邊緣直方圖的提取方法為:對于任意一幅圖像I,其任意像素I(x,y)的水平梯度和垂直梯度的計算公式為:Gx(x,y)=maskx⊗I(x,y)Gy(x,y)=masky⊗I(x,y)---(1)]]>其中,maskx為水平濾波器模板,masky為垂直濾波器模板,為卷積操作;(x,y)處的邊緣方向定義為:θ(x,y)=180π·arctanGy(x,y)Gx(x,y)---(2)]]>得到的邊緣方向被量化到-180°~180°范圍內的K個區(qū)間內;令:bk=[-180+(k-1)·360/K,-180+k·360/K](3)其中,k=1,2,…,K,則邊緣方向直方圖定義為公式(4)和公式(5);ψk(x,y)=1,ifθ(x,y)∈bk0,otherwise---(4)]]>GHk=Σ(x,y)∈Eψk(x,y)---(5)]]>其中,二值邊緣圖像E為圖像I的邊緣圖像;以k為縱坐標,GHk為橫坐標建立邊緣直方圖;提取圖像的角點,以角點為中心,統(tǒng)計角點鄰域的邊緣直方圖作為局部邊緣直方圖,其定義為:LHk=Σ(x,y)∈E∩Cψk(x,y)---(6)]]>其中,C為角點及其八個鄰域所形成的區(qū)域;將全局邊緣直方圖特征與角點引導的局部邊緣直方圖特征按下式相結合:Hk=GHk∪LHk(7)即可得到作為復合邊緣直方圖特征。本發(fā)明是一種全局邊緣直方圖與角點引導的局部邊緣直方圖相組合的三維對象特征描述方法,通過該描述方法對各個三維對象不同視角的二維圖像進行特征提取,并采用GentleAdaBoost多類分類器對提取的特征向量進行訓練,可以較高的檢測率實現對三維對象的類別識別。本發(fā)明還將機器學習與模板匹配方法相結合,通過搜索小范圍局部數據庫進行匹配定位,提高了定位效率。附圖說明圖1是本發(fā)明識別定位方法的流程框圖。圖2是AdaBoost算法結構圖。圖3是實驗所針對的第1—6類識別定位對象。圖4是檢出第2類和第5類目標對象的定位結果。圖5是檢出第5類和第6類目標對象的定位結果。具體實施方式選取六類待識別的部件圖像作為識別對象,說明本發(fā)明的具體實施過程。如圖1所示,本發(fā)明的面向增強系統(tǒng)輔助維修系統(tǒng)的三維對象識別定位方法包括如下步驟:1、構建待識別對象的模板數據庫。1-1、建立三維對象的模板數據庫。首先,將攝像機固定在與維修對象成俯仰視角45°的位置上,維修對象放置在高精度轉臺上,驅動轉臺以10°為間隔步進,形成攝像機不同的視點并觸發(fā)攝像機進行拍攝。對拍攝獲得的模板圖像再利用圖像處理軟件進行以10°為間隔的面內旋轉,模板圖像和處理后的圖像共同作為三維對象的粗分視角模板,記做TA。其次,驅動轉臺以2.5°為間隔步進,形成攝像機不同的視點并觸發(fā)攝像機進行拍攝。對拍攝獲得的模板圖像再利用圖像處理軟件進行以2.5°為間隔的面內旋轉,模板圖像和處理后的圖像共同作為三維對象的細分視角模板,記做TB。將所有三維對象的模板TA和模板TB與其對應的視角相關聯,按類別保存在數據庫內。這樣就獲得了該維修對象在多個視點下的模板圖像。1-2、建立三維對象的信息數據庫。分別提取模板TA和模板TB的邊緣圖像TEA、TEB和復合邊緣直方圖特征向量FA、FB,并與模板TA和模板TB相關聯,然后保存至信息數據庫中。復合邊緣直方圖的提取方法為:對于任意一幅圖像I,其任意像素I(x,y)的水平和垂直梯度計算公式為:Gx(x,y)=maskx⊗I(x,y)Gy(x,y)=masky⊗I(x,y)---(1)]]>其中,maskx為水平濾波器模板,masky為垂直濾波器模板,為卷積操作。(x,y)處的邊緣方向定義為:θ(x,y)=180π·arctanGy(x,y)Gx(x,y)---(2)]]>得到的邊緣方向被量化到-180°~180°范圍內的K個區(qū)間內。令:bk=[-180+(k-1)·360/K,-180+k·360/K](3)其中,k=1,2,…,K,則邊緣方向直方圖定義為式(4)和(5)。ψk(x,y)=1,ifθ(x,y)∈bk0,otherwise---(4)]]>GHk=Σ(x,y)∈Eψk(x,y)---(5)]]>其中:二值邊緣圖像E為圖像I的邊緣圖像。以k為縱坐標,GHk為橫坐標建立邊緣直方圖。提取圖像的角點,以角點為中心,統(tǒng)計角點鄰域的邊緣直方圖作為局部邊緣直方圖,其定義為:LHk=Σ(x,y)∈E∩Cψk(x,y)---(6)]]>其中C為角點及其八鄰域形成的區(qū)域。將全局邊緣直方圖特征與角點引導的局部邊緣直方圖特征相結合作為復合邊緣直方圖特征,如式(7):Hk=GHk∪LHk(7)1-3、建立粗視角劃分的三維對象識別模型。將三維對象O1,O2,…,O6的復合邊緣直方圖特征向量FA及其對應的類別標簽送入分類器進行訓練,獲得關于全部三維對象的類別識別模型Ma。分別去除每一個三維對象的復合邊緣直方圖的特征向量FA后,再次送入分類器進行訓練,得到不包括其中某一類別的識別模型Mi≠1,Mi≠2,…,Mi≠6。其中,分類器采用基于決策樹樁的GentleAdaBoost多類分類器,GentleAdaBoost多類分類器是AdaBoost分類器的改進,AdaBoost分類器通過迭代得到多個弱分類器并組合成強分類器,其算法結構如圖2所示。強分類器YM由100個弱分類器加權組合而成,通過迭代更新其權重ωn使得弱分類器分類誤差最小。每個弱分類器的加權因子代表弱分類器的重要程度:αm=12ln1-emem---(8)]]>其中,em為分類誤差率。GentleAdaBoost多類分類器將弱分類器的輸出值域設定為[-1,1],以一對多的方式進行多類分類訓練。設維修對象O的多視角復合邊緣直方圖特征為Hk(O),其對應的第j個弱分類器為hj(O)。令yi為第i個訓練樣本的標簽,1表示正樣本,-1表示負樣本,ωi為第i個訓練樣本權重。采用決策樹樁構造弱分類器hj(O)為:hj(O)=aj,Hk(O)≥θjbj,otherwise---(9)]]>其中,仿射參數:偏移參數:且閾值θj需令準則函數:J(hj(O))=Σi(yi-hj(O))2---(10)]]>取值最小。100個弱分類器組合成的強分類器為:H=Σj=1100hj(O)---(11)]]>1-4、建立細視角劃分的三維對象檢索K-D樹。將所有三維對象的復合邊緣直方圖特征向量FB按類別建立檢索K-D樹KB1,KB2,…,KB6。2、三維對象的分割與復合邊緣直方圖特征的快速提取。2-1、獲取如圖4或圖5所示的圖像I,對其進行濾波并提取其二值邊緣圖像E。計算關于二值邊緣圖像E的積分圖像IIE;計算關于復合邊緣直方圖特征向量E的積分復合邊緣直方圖IHE。其中,積分圖像和積分復合邊緣直方圖的計算方法如下:對于給定的一幀圖像,由原點和坐標(x,y)所確定區(qū)域的積分直方圖定義為:H(x,y,u)=Σx′=0xΣy′=0yQ(x′,y′,u)---(12)]]>式中,u為直方圖bin圖像的索引,d為柱圖像的個數:Q(x′,y′,u)=1,ifI(x′,y′)∈u-thbin0,otherwise---(13)]]>進一步,各像素的積分直方圖的值可根據下式遞歸計算得到:H(x,y,u)=H(x-1,y,u)+H(x,y-1,u)-H(x-1,y-1,u)+Q(x,y,u).,u=1,…,d(14)當積分直方圖建立之后,對于任意矩形區(qū)域R(x-,y-,x+,y+)的直方圖可由:h(R,u)=H(x+,y+,u)-H(x-,y+,u)-H(x+,y-,u)+H(x-,y-,u)u=1,…,d(15)快速提取得到。b為柱圖像的個數,w和h分別為圖像的寬度和高度,由此構成一個w×h×b的立方體,對于w×h內的任何子區(qū)域的直方圖的提取,只需將子區(qū)域對應的每個柱圖像按照進行簡單的加減操作即可,這種累計的積分直方圖也可快速得到子區(qū)域復合邊緣直方圖。2-2、創(chuàng)建寬乘高為w×h的滑動窗口W1和寬乘高為(w+2)×(h+2)的滑動窗口W2;滑動窗口W1居中嵌套在W2中,并與滑動窗口W2同時對圖像進行掃描,分別計算內外窗口包圍區(qū)域內的像素值的和與差。當兩窗口的像素之和都大于0且像素和之差為0時,得到未被遮擋的目標區(qū)域圖像EW1,轉至步驟2-3;如果整幅圖像的掃描結果均不能滿足上述條件,則寬度w加2,高度h加2,再重復本步驟操作;當w≥圖像I的寬,h≥圖像I的高時,轉到步驟2-1。2-3、利用IHE獲取區(qū)域W1的復合邊緣直方圖HW,轉至步驟3。3、對象類別的識別。讀取關于所有6類三維對象的識別模型Ma,將復合邊緣直方圖HW作為輸入向量送入讀取識別模型Ma,得到識別結果——復合邊緣直方圖HW所代表的類別標簽n。4、對象的定位。4-1、以復合邊緣直方圖HW與檢索K-D樹KBn中特征向量的巴氏距離D1取值最小為依據,在檢索K-D樹KBn中檢索得到與復合邊緣直方圖HW最接近的特征向量位置p。4-2、當巴氏距離D1≥閾值τ1時直接轉入步驟4-3,否則,將目標區(qū)域圖像EW1規(guī)格化至wt×ht尺度,并根據特征向量位置k取模板圖像TBn,p,將目標區(qū)域圖像EW1和模板圖像TBn,p做Chamfer距離匹配,得到匹配結果D2;當D2<閾值τ2時,輸出模板圖像TBn,p對應的視角和目標區(qū)域圖像EW1的規(guī)格化系數ε,完成定位過程并退出操作,否則轉到步驟4-3。4-3、讀取識別模型Mi≠n,將復合邊緣直方圖HW作為輸入向量,送入Mi≠n,得到識別結果——新的類別標簽為n;轉至步驟4-1。當Mi≠1,Mi≠2,…,Mi≠6被遍歷一次后,宣告定位失敗,轉至步驟2-2。依照上述方式實際檢測得到圖4和圖5所示的檢測結果。當前第1頁1 2 3