專利名稱:一種動態(tài)環(huán)境中的視覺定位方法
技術領域:
:本發(fā)明是涉及圖像處理及機器視覺的移動機器人自定位技術,該技術可以在復雜的動態(tài)場景中以視覺信息作為輸入實現(xiàn)移動機器人自定位。
背景技術:
:在智能機器人領域,移動機器人定位與導航技術一直是研究的關鍵問題。定位的精度及速度直接影響機器人完成既定任務的效率和準確度。之前的定位方法,如:編碼器或輪式里程計等無法克服由摩擦、滑動等非線性因素引起的定位誤差,近幾年興起的視覺定位方法可以很好地解決非線性誤差,但現(xiàn)有的視覺定位方法存在一定缺陷:1:當環(huán)境中存在紋理相似區(qū)域,及大量相似的重復性結(jié)構時,容易引起特征點的誤匹配,導致定位錯誤。2:環(huán)境中存在大量獨立運動物體時,位于動態(tài)物體上的特征點會干擾里程計結(jié)果,導致定位精度降低。為了使視覺定位技術可以在復雜的動態(tài)場景中得以應用,需要采用一定的方法來剔除位于動態(tài)物體上的特征點,然而目前的算法,如離群度測量算法,圖像理解算法等均不能同時滿足定位的實時性及有效性要求。如何讓視覺里程計在動態(tài)環(huán)境中實時有效地工作成為本專利申請人關注和研究的新課題
發(fā)明內(nèi)容
:本發(fā)明的目的在于解決現(xiàn)有技術中存在的問題,提供一種可以在復雜動態(tài)環(huán)境中應用的視覺定位算法,使得移動機器人可以依靠視覺信息作為輸入,完成在復雜環(huán)境中的自定位任務。本發(fā)明的技術方案包括以下步驟:1:用已標定好的雙目相機,進行左右圖像連續(xù)采集。2:采集當前時刻左右兩幅圖像,使用sobel算子提取圖像中的特征點,并利用SIFT描述符進行描述,通過計算左右圖像各點間特征描述符的歐式距離進行匹配,使用三維重建算法將特征點二維圖像坐標轉(zhuǎn)換為三維空間坐標,初始化位姿變換矩陣為單位矩陣,并設當前位置為原點。如果圖像是第一幀,從新進入步驟2 ;如果圖像不是第一幀進入步驟3。3:將前時刻獲取的左右兩幀圖像中的特征點,與前一時刻的兩幀圖像一起進行特征點的立體匹配,并通過回環(huán)匹配增加匹配準確度,得到各幀圖像之間特征點的對應關系,利用雙視幾何原理求解出特征點在兩幀圖像中相對于攝像機坐標系的坐標。4:使用場流法對匹配后的特征點集進行計算,求出該點在t-ι時刻的位置經(jīng)過位姿變換矩陣RT投影以后的三維坐標與該點t時刻三維坐標的差值,差值大于閾值的點認為是位于動態(tài)物體上的特征點,將其從特征點集中刪除。其詳細步驟如下:4-1.由于機器人的運動過程是連續(xù)的,所以認為機器人在t時刻的位姿變化與t-ι時刻位姿變化近似相等,以t-ι時刻的RT作為t時刻RT的估計值。
4-2.利用4-1的結(jié)果,考慮相機成像時的像素位置誤差,計算估計RT的不準確度,求出場流法的誤差模型。4-3.計算每個點對應于該模型的馬氏距離值,值越大說明其離群度較高,將大于一定閾值的點從點集中刪除。5:使用高斯-牛頓迭代算法,以當前時刻和前一時刻的特征點集作為輸入量求解機器人當前時刻相對前一時刻的位姿變化,同時使用RANSIC算法進一步提高定位準確度。5-1.在特征點集中隨機選擇3對特征點,通過迭代算法,進行一次運動估計,得到一個 RT。5-2.利用當前的RT,對所有前一時刻特征點進行投影,對比投影結(jié)果與當前觀測位置的差,將差值小于閾值的點記為局內(nèi)點。5-3.重復5-1、5_2,進行N次迭代,比較每次局內(nèi)點數(shù)目,將局內(nèi)點數(shù)目最大的一組局內(nèi)點重新構成特征點集。5-4.利用新的特征點集,使用高斯-牛頓迭代進行運動估計,得到更優(yōu)的R和T。6:使用步驟5的結(jié)果對全局的RT進行更新,得到機器人相對于初始坐標系的位置和姿態(tài)。本發(fā)明的優(yōu)點在于:I)本發(fā)明通過回環(huán)匹配來增加匹配穩(wěn)定性,減小了因誤匹配引入的誤差。2)本發(fā)明使用場流法對特征點進行處理,可以將處于運動物體上的特征點剔除出去,使視覺定位可以在復雜的動態(tài)場景中實時有效的工作。3)本發(fā)明在使用場流法時,考慮了可能產(chǎn)生誤差的因素,求解其誤差模型,計算各點對應該模型的馬氏距離,使得對局外點的判斷可以通過統(tǒng)一的閾值來決定。4)在視覺定位過程中使用了 RANSIC算法,該方法與場流法結(jié)合使用,提高了視覺定位方法的實時性與有效性
:圖1是本發(fā)明提出的動態(tài)環(huán)境中視覺定位方法總體流程圖。圖2是本發(fā)明中定義的各個坐標系。圖3是本發(fā)明中使用的回環(huán)匹配算法示意圖。圖4是本發(fā)明中場流法的計算流程圖。圖5是本發(fā)明中RANSIC算法流程圖。
具體實施方式
:下面結(jié)合說明書附圖對本發(fā)明方法做詳細說明:步驟1:對雙目攝像機進行標定,獲取相機內(nèi)外參數(shù),包括:焦距f,基線長度b,圖像中心像素位置Utl, Vtl,整幅圖像的校正矩陣等。步驟2:開啟雙目相機,進行左右圖像連續(xù)采集,利用步驟I獲取的相機參數(shù)對圖像進行校正。步驟3:如果圖像是第一幀,對采集的左右圖像使用sobel算子提取特征,并利用SIFT描述符進行描述,在左右圖像之間進行特正匹配,得到特征點對應關系。如果圖像不是第一幀,則將前后兩個時刻共四幅圖像進行特征匹配,匹配通過回環(huán)檢測的方式提高準確度,如說明書附圖3:從當前時刻左圖像開始,按照順序進行立體匹配,如果最后通過匹配可以找到該特征點本身,則將特征點信息存儲于點集中,否則予以舍棄。步驟4:利用步驟3的結(jié)果,使用場流法對特征點進行篩選,使用立體幾何原理求
得像素點對應的三維坐標值
權利要求
1.一種可以在復雜動態(tài)場景中應用的視覺定位方法,其特征在于,包括以下步驟: 步驟一:對雙目攝像機進行標定。
步驟二:開啟相機,進行左右圖像的連續(xù)采集。
步驟三:如果圖像是第一幀,SObel算子提取圖像中的特征點位置,并利用SIFT描述符進行描述,在左右圖像之間進行特正匹配,得到特征點對應關系。如果圖像不是第一幀,則在前后兩個時刻共四幅圖像間進行特征匹配,匹配通過回環(huán)檢測的方式提高準確度。
步驟四:通過雙視幾何的原理計算特征像素點對應的三維空間位置,使用場流法對特征點進行篩選,考慮計算場流過程中可能引入的誤差,通過計算每個點對應的馬氏距離,將離群度大于一定閾值的點從特征點集中刪除。
步驟五:使用RANSIC算法進行迭代,每次迭代時利用求得的姿態(tài)R和位置T計算滿足該變換的特征點數(shù)目,求取包含局內(nèi)點最多一組結(jié)果,并利用該組中所有局內(nèi)點求解更準確的R和T。
步驟六:將步驟五求得的結(jié)果進行累乘,得到機器人在當前時刻相對于初始時刻的位姿變換矩陣。
2.權利要求1所述的一種動態(tài)場景中視覺定位方法,其特征在于,所述步驟三中采用回環(huán)匹配的方法減小誤匹配概率。
3.權利要求1所述的一種動態(tài)場景中視覺定位方法,其特征在于,所述步驟四中考慮了場流法的誤差模型,通過每一組特征點對應的馬氏距離,將離群度大于閾值的特征點對從點集中刪除,達到排除位于動態(tài)物體上的特征點的效果。
步驟4-1計算場流法誤差模型,最初的像素點誤差成高斯分布,計算定位空間點三維位置的誤差。
步驟4-2利用4-1求得的誤差模型以及視覺定位模型的雅克比矩陣,求得估計出的RT的誤差模型。
步驟4-3利用4-2的結(jié)果以及和場流法對應的雅克比矩陣,求得場流法的誤差模型。
步驟4-4利用4-3求得的場流誤差模型計算每一特征點對應的馬氏距離。
4.權利要求1所述的一種動態(tài)場景中視覺定位方法,其特征在于,使用RANSIC算法,每次選取三個特征點對計算RT,對所有特征點對按照計算出的RT進行投影,統(tǒng)計局內(nèi)點數(shù)目,迭代N次后,以局內(nèi)點數(shù)目最大的一組特征點對為輸入,估計得到更精確的R和T。
全文摘要
本發(fā)明公開了一種可以在動態(tài)環(huán)境中實現(xiàn)精確定位的立體視覺定位方法。通過雙目攝像機實時采集環(huán)境圖像。通過特征提取算法提取圖像中的特征點。對雙目攝像機前后兩個時刻采集的四幅圖像進行立體匹配。利用雙視幾何原理恢復特征點三維信息。以回環(huán)匹配的方式提高匹配準確度。使用場流法剔除位于動態(tài)物體上的特征點??紤]可能引起誤差的因素并通過計算協(xié)方差矩陣改善場流法效果。使用高斯牛頓迭代的方法由特征點位置信息求得機器人運動參數(shù)。使用RANSIC算法進一步提高視覺定位準確度。整個過程不斷迭代,實現(xiàn)對機器人姿態(tài)和位置的實時計算。
文檔編號G06T7/00GK103150728SQ20131006747
公開日2013年6月12日 申請日期2013年3月4日 優(yōu)先權日2013年3月4日
發(fā)明者賈慶軒, 葉平, 王軒, 孫漢旭, 張?zhí)焓? 竇仁銀 申請人:北京郵電大學