本發(fā)明屬于視覺(jué)領(lǐng)域,具體地說(shuō)是以機(jī)械臂為研究對(duì)象,基于立體視覺(jué)技術(shù),提出一種基于視覺(jué)的機(jī)械臂避障方法。
背景技術(shù):
為了滿(mǎn)足多自由度機(jī)械臂在工藝操作、起重運(yùn)輸、器材維修、航天和醫(yī)療各個(gè)領(lǐng)域里的自適應(yīng)工作,尤其在井下探測(cè)、廢墟中人員的搜救等狹小有限的空間中作業(yè),配備相應(yīng)的傳感器已成為當(dāng)前熱點(diǎn)。
基于機(jī)械臂的多關(guān)節(jié)特性,單一的紅外和超聲波傳感器在機(jī)械臂上應(yīng)用較少。由于視覺(jué)傳感器的穩(wěn)定性?xún)?yōu)于紅外,精度優(yōu)于超聲波,勢(shì)場(chǎng)較激光更廣并且采集的圖像信息更直接豐富,相比其他傳感器更適用于對(duì)機(jī)械臂障礙的檢測(cè)。
在視覺(jué)系統(tǒng)中,其中雙目立體視覺(jué)較單目而言,能夠直接模擬人類(lèi)雙眼獲得圖像信息的過(guò)程,繼而獲得深度或遠(yuǎn)近的環(huán)境信息;較多目視覺(jué),但是成本低、計(jì)算量小、穩(wěn)定性好。因此本發(fā)明使用雙目攝像機(jī)進(jìn)行工作環(huán)境的圖像采集。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)上述問(wèn)題,本發(fā)明的目的在于提供一種基于雙目立體視覺(jué)的機(jī)械臂障礙檢測(cè)方法,該方法能夠準(zhǔn)確地得到障礙物信息,確保機(jī)械臂能夠準(zhǔn)確躲避障礙物。而在采集圖像進(jìn)行圖像處理時(shí),由于sift算法具有較強(qiáng)的匹配能力,在物體辨識(shí)、機(jī)器人地圖感知與導(dǎo)航、3d模型建立、影像縫合、影像追蹤和動(dòng)作比對(duì)領(lǐng)域都有廣泛的應(yīng)用。
但是在進(jìn)行圖像處理時(shí),使用sift算法在進(jìn)行特征點(diǎn)提取時(shí),由于所使用的dog算子具有很強(qiáng)的邊緣響應(yīng)。這會(huì)導(dǎo)致提取的特征點(diǎn)里混有很多邊緣響應(yīng)點(diǎn),使sift算法的穩(wěn)定性降低,不利于后續(xù)的匹配及障礙物三維信息的提取,因此提出一種基于視覺(jué)的機(jī)械臂避障方法,提高檢測(cè)障礙物的精度,使機(jī)械臂有效地避開(kāi)障礙物,完成工作任務(wù)。
本發(fā)明為實(shí)現(xiàn)上述目的所采用的技術(shù)方案是:一種基于視覺(jué)的機(jī)械臂避障方法,包括以下步驟:
步驟1:在機(jī)械臂末端安裝雙目攝像機(jī)和視頻采集卡,建立世界坐標(biāo)系;
步驟2:獲取雙目攝像機(jī)的內(nèi)部和外部參數(shù);
步驟3:通過(guò)雙目攝像機(jī)對(duì)機(jī)械臂工作環(huán)境進(jìn)行圖像采集,獲得工作環(huán)境的兩幅平面灰度圖像;
步驟4:根據(jù)桶形畸變矯正原理分別對(duì)兩幅平面灰度圖像進(jìn)行畸變矯正;
步驟5:對(duì)矯正后的兩幅圖像分別進(jìn)行基于sift算法的特征點(diǎn)提??;
步驟6:對(duì)矯正后的兩幅圖像分別進(jìn)行基于小波變換的邊緣點(diǎn)提取;
步驟7:分別對(duì)兩幅圖像均進(jìn)行特征點(diǎn)和邊緣點(diǎn)對(duì)比,剔除不穩(wěn)定特征點(diǎn);在兩幅圖像中將剩余的特征點(diǎn)進(jìn)行匹配,得到匹配對(duì);
步驟8:獲取隨機(jī)匹配對(duì)的均方根誤差數(shù)據(jù);
步驟9:根據(jù)步驟1至7獲取環(huán)境中障礙物的三維坐標(biāo)信息,控制機(jī)械臂躲避障礙物完成工作。
所述雙目攝像機(jī)的內(nèi)部參數(shù)的獲取采用棋盤(pán)格法;所述雙目攝像機(jī)的外部參數(shù)的獲取采用棋盤(pán)格法并且以左攝像機(jī)為原點(diǎn)建立世界坐標(biāo)系。
所述基于sift算法的特征點(diǎn)提取包括以下步驟:
構(gòu)建尺度空間;
檢測(cè)尺度空間的極值點(diǎn);
精確極值點(diǎn),得到特征點(diǎn);
計(jì)算特征點(diǎn)幅值大小和方向;
根據(jù)特征點(diǎn)的幅值大小和方向生成特征點(diǎn)描述子。
所述基于小波變換的邊緣點(diǎn)提取包括以下步驟:
對(duì)矯正后的圖像進(jìn)行尺度變換,分別得到垂直方向和水平方向的高頻細(xì)節(jié)分量;
獲取小波變換系數(shù)的幅角;
獲取小波變換系數(shù)的模值;
獲取局部模極大值;
對(duì)獲得的邊緣圖像進(jìn)行閾值處理,得到閾值處理后的邊緣圖像。
所述進(jìn)行特征點(diǎn)和邊緣點(diǎn)對(duì)比,剔除不穩(wěn)定特征點(diǎn)包括以下步驟:
將特征點(diǎn)的坐標(biāo)進(jìn)行取整,與邊緣點(diǎn)進(jìn)行坐標(biāo)比較;若相同,即剔除該特征點(diǎn);若不同,則保留該特征點(diǎn)。
本發(fā)明具有以下有益效果及優(yōu)點(diǎn):
本發(fā)明方法中,通過(guò)對(duì)矯正的圖像進(jìn)行小波變換的邊緣提取,然后將獲得的邊緣點(diǎn)與特征點(diǎn)對(duì)比,剔除其中不穩(wěn)定的特征點(diǎn),提高算法的精確性、魯棒性、抗噪性。對(duì)比過(guò)程中,將特征點(diǎn)的坐標(biāo)取整,并進(jìn)行有序地排列,邊緣點(diǎn)也進(jìn)行有序地排列,這樣在提高算法性能的基礎(chǔ)上盡可能減少算法的運(yùn)行時(shí)長(zhǎng)以保證機(jī)械臂有效地躲避障礙物。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施的方法流程圖;
圖2為本發(fā)明具體實(shí)施方式的流程示意圖;
圖3為本發(fā)明實(shí)驗(yàn)平臺(tái)操作流程框圖。
具體實(shí)施方式
為使本發(fā)明要解決的技術(shù)問(wèn)題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施案例對(duì)本發(fā)明作進(jìn)一步詳述。
本發(fā)明主要針對(duì)使用現(xiàn)有的sift算法提取特征點(diǎn)時(shí)存在邊緣響應(yīng)的缺陷進(jìn)行改進(jìn),具體地說(shuō),邊緣信號(hào)的不穩(wěn)定使sift在提取特征點(diǎn)時(shí)混有很多邊緣響應(yīng)點(diǎn),這不利于特征點(diǎn)的匹配以及三維坐標(biāo)信息的獲取。針對(duì)這一不足,我們使用小波變換進(jìn)行算法的改進(jìn)。
如圖1所示,本發(fā)明提供一種基于視覺(jué)的機(jī)械臂避障方法,包括:
步驟1,在機(jī)械臂末端安裝雙目攝像機(jī)和視頻采集卡,建立世界坐標(biāo)系;
步驟2,獲取雙目攝像機(jī)的內(nèi)部和外部參數(shù)(內(nèi)部參數(shù)包括焦距與像元尺寸的比值和中心點(diǎn)坐標(biāo),外部參數(shù)包括旋轉(zhuǎn)矩陣r和平移矩陣t);
步驟3,通過(guò)雙目攝像機(jī)對(duì)機(jī)械臂工作環(huán)境進(jìn)行圖像采集,獲得兩幅工作環(huán)境平面灰度圖像;
步驟4,根據(jù)桶形畸變矯正原理分別對(duì)兩幅平面灰度圖像進(jìn)行畸變矯正;
步驟5,對(duì)兩幅矯正后的圖像分別進(jìn)行基于sift算法的特征點(diǎn)提取;
步驟6,對(duì)兩幅矯正后的圖像分別進(jìn)行基于小波變換的邊緣點(diǎn)提??;
步驟7,對(duì)兩幅圖像進(jìn)行特征點(diǎn)和邊緣點(diǎn)對(duì)比,分別剔除不穩(wěn)定點(diǎn);完成特征點(diǎn)匹配;
步驟8,獲取匹配對(duì)的均方根誤差,數(shù)值越小,證明實(shí)施的方法越好;
步驟9,按照本發(fā)明方法獲取環(huán)境中障礙物的三維坐標(biāo)信息,控制機(jī)械臂躲避障礙物的工作。
本發(fā)明的上述方法通過(guò)機(jī)械臂末端安裝的雙目攝像機(jī)及視頻采集卡進(jìn)行圖像采集,獲得兩幅工作環(huán)境的平面灰度圖像,并對(duì)其進(jìn)行畸變矯正。對(duì)矯正后的兩幅圖像使用sift算法進(jìn)行特征提取,針對(duì)sift算法存在的邊緣響應(yīng),使用小波變換對(duì)其進(jìn)行改進(jìn)。這樣讓sift提取的特征點(diǎn)更加精確、穩(wěn)定,有利于后續(xù)的特征點(diǎn)匹配及三維坐標(biāo)信息的提取。
上述的圖1所示方法在具體實(shí)現(xiàn)時(shí),還可以在機(jī)械平臺(tái)上對(duì)雙目檢測(cè)裝置進(jìn)行布置和安裝,如圖3所示,機(jī)械平臺(tái)包括:雙目攝像機(jī)、視頻采集卡、計(jì)算機(jī)(安裝好系統(tǒng)軟件)、七自由度機(jī)械臂等;
其中,上述步驟5具體實(shí)現(xiàn)時(shí),可包括:
構(gòu)建尺度空間;
檢測(cè)尺度空間的極值點(diǎn);
精確極值點(diǎn),得到特征點(diǎn);
計(jì)算特征點(diǎn)幅值大小和方向;
根據(jù)特征點(diǎn)的幅值大小和方向生成特征點(diǎn)描述子。
其中,上述步驟6具體實(shí)現(xiàn)時(shí),可包括:
對(duì)矯正后的圖像進(jìn)行尺度變換,得到垂直方向和水平方向的高頻細(xì)節(jié)分量;
獲取小波變換系數(shù)的幅角;
獲取小波變換系數(shù)的模值;
獲取局部模極大值,將幅角劃分為4個(gè)方向分別為0°或180°、90°或270°、45°或225°、135°或315°。將求出幅角的大小與上述的方向進(jìn)行比較,然后將各自的模圖像分別沿各自最接近的相角方向求出模局部最大值,生成邊緣圖像;
對(duì)獲得的邊緣圖像進(jìn)行閾值處理。
下面具體說(shuō)明本發(fā)明的一種基于雙目視覺(jué)的機(jī)械臂避障方法的實(shí)施例。
如圖3所示:將障礙物隨意放置于機(jī)械臂工作路徑上,使用機(jī)械臂末端的雙目攝像機(jī)對(duì)工作環(huán)境進(jìn)行拍攝,經(jīng)由視頻采集卡傳送到計(jì)算機(jī)上。在計(jì)算機(jī)的存儲(chǔ)介質(zhì)中存儲(chǔ)所述工作環(huán)境的平面灰度圖像,并利用采集到的圖像數(shù)據(jù)進(jìn)行處理、計(jì)算、分析,并將結(jié)果存儲(chǔ)并確保機(jī)械臂躲避障礙完成指定任務(wù)。
具體地,在對(duì)圖像處理方面,使用sift算法進(jìn)行圖像的特征提取,保留特征點(diǎn)。針對(duì)sift算法存在的邊緣響應(yīng)的不足,這里采用基于小波變換的方法給予改進(jìn),對(duì)矯正后的圖像進(jìn)行邊緣提取,保留其邊緣點(diǎn)。將特征點(diǎn)和邊緣點(diǎn)進(jìn)行對(duì)比,如圖2所示,具體步驟包括:
步驟一:將特征點(diǎn)按橫坐標(biāo)從小到大進(jìn)行排列,若橫坐標(biāo)相等的特征點(diǎn),再根據(jù)縱坐標(biāo)大小進(jìn)行排列,記為集合e={(xe1,ye1),…(xek,yek),…(xekmax,yekmax)}(k=1……kmax),其中kmax表示k的最大值,即特征點(diǎn)的總數(shù);邊緣點(diǎn)也進(jìn)行如此的排列,并將橫坐標(biāo)相等的邊緣點(diǎn)按縱坐標(biāo)從小到大的順序放入集合cm中(m=1,2,……max),記為e={cm,…,cmmax},其中mmax表示m的最大值,即集合的總數(shù),ecmi表示集合中的第i個(gè)邊緣點(diǎn)(i=1,2,……max);
步驟二:1)將第一個(gè)特征點(diǎn)e1與集合c1中的第一個(gè)邊緣點(diǎn)進(jìn)行橫坐標(biāo)比較,即f1=xe1-xecmi(i=1)。若f1>0,則與下一個(gè)集合c2中的第一個(gè)邊緣點(diǎn)進(jìn)行上述的比較,直到最后一個(gè)集合結(jié)束比對(duì);2)若f1=0,則繼續(xù)與c1集合中的每一個(gè)邊緣點(diǎn)進(jìn)行縱坐標(biāo)比較,即f2=y(tǒng)e1-yecmi(i=1),若f2=0,則去除該特征點(diǎn),若f2≠0,則繼續(xù)與此集合的其他邊緣點(diǎn)進(jìn)行比較,若此集合中的邊緣點(diǎn)均是f2≠0,則保留該特征點(diǎn),否則去除該特征點(diǎn);3)若f1<0,則保留該特征點(diǎn);
步驟三:1)將下一個(gè)特征點(diǎn)與前一個(gè)特征點(diǎn)進(jìn)行橫坐標(biāo)比對(duì),即p1=xek+1-xek。若p1=0,則根據(jù)上一個(gè)特征點(diǎn)的比較結(jié)果來(lái)決定去留,若上一個(gè)特征點(diǎn)去除,則找到相對(duì)應(yīng)的集合cm,并與其中的邊緣點(diǎn)進(jìn)行橫縱坐標(biāo)的比較判斷是否保留,若上一個(gè)特征點(diǎn)保留,則重復(fù)步驟二中的內(nèi)容;2)若p1≠0,則直接重復(fù)步驟二中的內(nèi)容。
綜上,本發(fā)明的檢測(cè)方法主要有二個(gè)關(guān)鍵內(nèi)容。一方面,由于采用的sift算法提取圖像特征點(diǎn)會(huì)混有很多邊緣響應(yīng)點(diǎn),針對(duì)這一不足,采用小波變換對(duì)其進(jìn)行改進(jìn)。
由于小波變換具有良好的局部化特性,并且根據(jù)實(shí)際情況,可以自動(dòng)調(diào)節(jié)時(shí)頻窗口。而且比較適用于展現(xiàn)夾帶在正常信號(hào)中的瞬間反?,F(xiàn)象,即邊緣檢測(cè)。因此在邊緣檢測(cè)中通過(guò)不同尺度的變換,可以獲得很好的邊緣檢測(cè)圖像。具體地說(shuō),包括:
對(duì)圖像進(jìn)行尺度變換,分別得到垂直方向和水平方向的高頻細(xì)節(jié)分量;
獲取小波變換系數(shù)的幅角;
獲取小波變換系數(shù)的模值;
獲取局部模極大值,將幅角劃分為4個(gè)方向分別為0°或180°、90°或270°、45°或225°、135°或315°。將求出幅角的大小與上述的方向進(jìn)行比較,然后將各自的模圖像分別沿各自最接近的相角方向求出模局部最大值,生成邊緣圖像;
對(duì)獲得的邊緣圖像進(jìn)行閾值處理。
另一方面,在進(jìn)行特征點(diǎn)和邊緣點(diǎn)的對(duì)比過(guò)程中,為使在提高性性能的基礎(chǔ)上盡可能的減少算法的運(yùn)行時(shí)間。采用有序排列和集合方式的方法加快對(duì)比的過(guò)程。具體地說(shuō),包括:
將特征點(diǎn)和邊緣點(diǎn)進(jìn)行排序和集合處理;
根據(jù)比較結(jié)果對(duì)特征點(diǎn)作出保留或剔除的結(jié)果;
最終根據(jù)前面特征點(diǎn)的狀態(tài)判斷集合中的其余特征點(diǎn)的保留或剔除。
本發(fā)明的優(yōu)點(diǎn)與積極效果為:
1.本發(fā)明所使用的方法克服了sift算法在提取特征點(diǎn)上的邊緣響應(yīng)缺陷。提取特征點(diǎn)精度高,穩(wěn)定性好,抗噪能力強(qiáng)。
2.本發(fā)明所使用的方法在保證提取特征點(diǎn)精度高,穩(wěn)定性好,抗噪能力強(qiáng)的基礎(chǔ)上盡可能的縮短算法的運(yùn)行時(shí)間。確保后續(xù)機(jī)械臂及時(shí)得到障礙物信息進(jìn)行躲避。
以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。