王紀程,郁漢琪,房家軍
(南京工程學院,江蘇 南京 211100)
近年來,計算機視覺技術迅猛發展,機器視覺也越來越廣泛地應用到各個領域,尤其是結合工業機器人的視覺系統在自動化生產中占據著重要的地位。工業機器人是機械、自動控制、傳感器等先進技術融合的產物,是實現智能制造的關鍵[1]。機器視覺作為一門新興的學科,近年來在交通、醫療[2-3]等眾多領域都有著重要的作用。
機器視覺主要分為單目視覺和雙目視覺兩種。近幾年,國內外專家學者對機器視覺技術進行了大量的研究,提出了許多視覺理論與算法并結合工業機器人用于工件識別定位與抓取。在識別與抓取過程中往往需要獲取目標的三維信息,單目視覺采集到的只是二維圖像,無法恢復場景的深度信息[4],而基于激光[5]、結構光[6]、物理傳感器的主動測距方法雖能實現快速、準確、無干預地進行三維測量,但是設備成本較高,無法達到普遍應用。相較之下,雙目立體視覺技術,具有結構簡單、自動化程度高、算法時空復雜度較低等優勢,受到了國內外各界學者的關注與研究。
雙目成像模型主要有一般雙目成像模型以及標準雙目成像模型。一般雙目成像模型重建場景的深度信息過程較為復雜,因此在實際中常常采用簡化的標準雙目視覺系統,即以光軸相互平行的方式布置兩個相機。標準的雙目視覺系統如圖1所示。

圖1 雙目視覺系統原理圖
圖1中,Ol與Or分別是左、右兩個相機的光心;pl與pr為目標P分別在左、右相機成像平面上的像點;f為相機焦距;Z為場景的深度信息;d為左右兩幅圖像的視差值;b為兩個相機放置的水平距離,稱作基線。假設目標點P(xW,yW,zW)在左圖像平面所成的像點pl的坐標為(xl,yl),在右圖像平面所成pr的坐標為(xr,yr),則視差d=xl-xr。根據相似三角形原理得:
(1)
空間三維坐標與圖像坐標系之間的投影關系如圖2所示。

圖2 相機投影模型
攝像機的成像過程實際上也就是世界坐標系、相機坐標系到圖像坐標系及像素坐標系之間的相互轉換的過程,根據相機的透視模型可得到相機的線性模型:
(2)
式中:M1為相機的內部參數矩陣;M2為相機的外部參數矩陣。
由于相機鏡頭在制造與安裝過程中受到諸多因素的影響,因此在實際中不存在理想的攝像機線性模型,都會產生一些畸變,而求解相機的內外參數、消除畸變的過程就是相機標定的過程。本文采用張正友標定法對搭建的視覺系統進行標定。
實驗采取15組不同姿態下的棋盤標定板圖像,提取角點進行標定實驗,實驗過程如圖3所示。

圖3 提取角點的標定
先完成單目相機的標定,再進行雙目相機的標定,從而獲得左、右相機的相對位姿。雙目相機標定結果如表1所示,左、右相機的相對位姿如表2所示。

表1 左、右相機的內部參數

表2 左、右相機的相對位姿
通過對左、右相機的實際測量,左、右相機布置的實際水平距離為6.2 cm,標定結果為6.12 cm。通過對比表1、表2實際參數值與標定參數值,發現標定誤差很小,可以滿足后期三維重建的精度要求。
圖像處理是機器視覺中的基礎部分,常用的模板匹配方法主要有基于灰度、相關性、形狀的模板匹配。但這些方法往往易受到光照的影響,對于灰度變化、圖像形變以及遮擋等問題無法進行準確的目標識別,因此本文采用基于特征描述子的模板匹配方法,提高匹配的準確性。
本文采用在ICCV2011上由RUBLEE E等人提出的ORB算法[7]。由于ORB算法的特征描述子并不具備尺度不變性特征,而且尺度突變會影響特征匹配的精度,因此對ORB算法需進行改進,研究出一種將具有尺度不變性的BRIEF特征描述子與ORB特征檢測子結合的特征匹配方法[8],再用RANSAC算法迭代剔除誤匹配。
本文采用Oriented FAST關鍵點檢測對目標工件進行特征提取。Oriented FAST對原FAST算法進行了改進,以解決原FAST關鍵點數量大、不確定的問題。其次,運用Oriented FAST算法,通過圖像金字塔和圖像質心法解決了旋轉和尺度不變性的問題,計算過程如下。
1)計算圖像的矩:
(3)
2)確定圖像塊質心:
(4)
3)定義特征點方向:
(5)
通過采用上述方法,解決了Oriented FAST關鍵點缺乏旋轉和尺度不變性的問題,有效地提高了關鍵點的魯棒性。
BRIEF描述子的描述向量是由1和0組成的,是一種最簡單的二進制描述子,可以將其描述向量定義為:
(6)
其中:p(x)、p(y)分別為圖像塊p在像素點x、y處的灰度值。隨機選擇n對點(xi,yi)就能夠產生1個二進制字符串,其中n可取128、256、512。特征相關性越低則越優秀,經過實驗最終選取特征相關性較低的256對優秀特征對。
本文實驗選定的不規則目標工件的模板如圖4所示。

圖4 實驗選定模板
對工件進行旋轉、傾斜、遮擋、過暗或過亮以及雜亂背景的情況下的模板匹配實驗,記錄匹配完成的時間、匹配的關鍵點數目。目標實驗設置的6副樣本如圖5所示。

圖5 算法識別效果圖
從圖5中可以看出,采用本文的目標識別算法在不同姿態、不同環境下的目標物體均可被準確識別。
各個樣本實驗完成匹配的時間、匹配點數如表3所示。

表3 各個樣本實驗完成匹配時間、匹配點數
由實驗結果可知,采用本文的目標識別算法,能夠快速地將不同姿態、不同環境下的目標物體識別出來,采用RANSAC算法剔除誤匹配后,大大縮短了匹配時間,降低了匹配錯誤率。
對物體進行三維重建,關鍵是求解其深度信息。在雙目立體視覺中,通常采用立體匹配的方法對采集到的左、右兩幅圖像進行匹配,獲得對應的視差圖,從而恢復圖像的深度信息。立體匹配可分為區域匹配、特征匹配和相位匹配。其中特征匹配具有速度快、精度高、受光照影響小的優點,因此本文選擇特征匹配算法。通過該算法得到可能的特征匹配點后,采用相似性測度,找出最優匹配。常用的相似性判斷標準有SAD、SSD和NCC。從算法的復雜度和硬件實現的難易程度上來看,SSD和NCC算法耗時量大,不符合實際作業要求,因此本文選擇SAD算法[9]。SAD算法表達式為:
PR(i+h,j+k+disp)|
(7)
其中:disp為左相機拍攝的圖像上窗口在外極線上移動的距離,即視差;PL(i,j)、PR(i,j)表示輸入的兩幅圖像的灰度值。
為提高立體匹配的準確性及效率,本文采取了以下措施:1)將模板匹配識別出的目標物所在的區域設置為ROI區域,僅將該區域與另一幅圖像進行立體匹配;2)采用Grab Cut交互式前景背景分割算法,獲得需要研究的前景目標,消除背景干擾因素;3)在進行搜索時,給定一個合理的視差搜索范圍,約束搜索空間,如式(8)-式(9)所示。
(8)
(9)
本文選用圖4為實驗模板,進行立體匹配,獲得視差圖恢復其深度信息。實驗結果如圖6所示。

圖6 不同場景下的識別效果圖
通過上述對兩幅圖像進行立體匹配并結合雙目視覺系統的標定結果,可重建出圖像上一點p(u,v)對應的世界坐標PW=(xW,yW,zW)。本文將世界坐標系設立在左攝像機的相機坐標系下,則有x1=xW,y1=yW,z1=zr=zW。
為驗證重建算法的精確性,從實驗模板圖中選取10個特征點進行三維重建,將其重建結果記錄下來并進行誤差分析,如表4所示。

表4 目標物體三維信息 單位:mm
由實驗結果得知,本文所采用的算法精度較高,深度信息誤差在0 mm~4 mm之間,滿足精度要求。其中,在物體傾斜、遮擋的情況下誤差較大。
本文搭建了標準的雙目視覺系統,采用張正友標定法對視覺系統進行標定,消除鏡頭畸變,獲得相機的內部參數以及左、右相機的相對位姿。
采用改進后的ORB+RANSAN特征點匹配算法對工件進行識別。實驗結果表明,該算法對旋轉、遮擋、傾斜以及復雜背景等各種條件下的物體均能快速、準確地進行識別。
本文采用特征匹配算法,對同一場景對應的兩幅圖像進行了立體匹配,獲得視差值,結合標定結果對特征點進行了三維重建。