王 剛, 卿粼波, 滕奇志
(四川大學 電子信息學院圖像研究所,四川 成都 610065)
隨著計算機三維信息技術的發展和廣泛應用,怎樣方便、精確、實時地獲取物體的三維信息成為眾多工程應用領域亟待解決的問題。雖然人們對機械學、電磁學、聲學和光學等學科的研究已經實現一些三維測量方法,但是在一些應用領域中,考慮到測量成本、操作方便性以及測量精度等實際工程需求時,在嵌入式平臺上實現基于雙目視覺原理的三維測量就顯得很是必要和緊迫。雙目視覺[1]三維測量的原理是利用雙目視差,根據攝像機透視投影幾何模型,實現對物體三維信息的計算,從而達到三維測量[2]的目的。
雙目視覺模型[3],是指2個攝像頭參數(攝像頭的焦距f)相同且光心平行放于一條直線上時,構成平行雙目立體視覺系統。通過各個部分的幾何關系分析,從而獲取目標物的距離信息。幾何關系的獲得關鍵在于找出左右圖像中對于同一個物體對應的2個像素點,然后根據投影中心、焦距、攝像機幾何位置,由三角幾何原理恢復物體的三維信息。如圖1所示:2個攝像機的圖像在同一個平面上,則特征點P的圖像坐標Y坐標相同,

圖1 雙目視覺成像原理
即Yleft=Yright=Y,則由三角幾何關系得到:

則視差為: Disparity=Xleft-Xright。由此可計算出特征點 P在相機坐標系下的三維坐標為:

因此,左相機像面上的任意一點只要能在右相機像面上找到對應的匹配點,就可以確定出該點的三維坐標。這種方法是完全的點對點運算,像面上所有點只要存在相應的匹配點,就可以參與上述運算,從而獲取其對應的三維坐標。
首先,根據雙目視覺的原理,系統需要獲取同一物體的2幅圖像。通過左右2個攝像機,采集2幅圖像,分別為左圖像源與右圖像源,并對2幅圖像進行高斯濾波以提供高質量圖像。然后進行角點提取。角點通常是圖像中周圍亮度變化劇烈的點或者圖像邊界曲線上具有足夠大曲率的點。角點是圖像三維信息的控制點,它們描述了物體的輪廓和紋理,計算他們的三維信息也就計算了物體的三維信息。而且角點的數據量一般是非常少的,可以有效的減少信息的數據量,提高運算的速度。接著進行角點匹配。最后,綜合像機參數(把像素轉換為統一單位mm),計算深度,得出物體的三維深度信息。整個系統的框架如圖2所示。在整個系統中,角點提取算法與角點匹配算法,是影響整個系統的測量精度和實時性最重要,也是最核心的算法。本文主要的工作也就放在這2個算法的后期約束處理與改進上面,以達到嵌入式平臺快速實時的目的。

圖2 雙目視覺系統
Harris角點檢測(HCD,Harris Corner Detector)算法的基本思想[4]是:設計一個局部檢測窗口,當檢測窗口在圖像上沿各個方向做微小移動時,考察窗口的曲率變化。當該變化超過設定的閾值時, 就將窗口中的中心像素點提取為角點。為了方便衡量Harris角點,C.Harris 和M.Stephen建議了一個檢測標準,被稱為Harris角點檢測算子,記為Rharris

公式3中的矩陣M定義為:

對于一幅圖像,Ix為圖像在X方向的一階偏導,Iy為圖像在Y方向的一階偏導,其中公式(3)中是矩陣M的行列式,trM是矩陣M的軌跡。κ為與檢測靈敏度有關的經驗值,κ越小,則檢測越靈敏,一般κ的取值為:κ=0.04。至于Rharris取多大才能作為角點,這就需要先設定一個閥值T。當Rharris值大于T,且是其鄰域的局部極大值時,該點即可被判定為角點。
從實驗研究中,發現利用harris角點檢測算法,提取的角點太多,且會出現雜亂、虛假角點,嚴重影響后面的匹配算法與整個系統測量的準確性,所以需要針對被測物體紋理特征及其背景制定相應的約束條件,根據約束條件設計相應的算法,剔除不需要或者雜亂的角點。本文使用棋盤圖來研究雙目視覺三維信息測量技術,因此這里主要研究對棋盤圖角點的篩選。本文使用了一種中心對稱算子來篩選角點,該對稱算子以圖像內某一像素點為中心,在一正方形范圍內計算以該點為中心對稱的像素點的灰度或亮度差的絕對值的和。由棋盤格的對稱性可以推知:當對稱算子中心位于棋盤格角點處時,對稱算子的響應值最小;當位于棋盤格邊緣處時,響應值比較大。根據響應值的大小便可以方便地剔除位于棋盤格邊緣點處的虛假角點。
根據對稱算子響應值的定義,對稱算子響應值 S(x,y)的數學表達式為:

記像素點(x,y)處的灰度值為I(x,y),以該像素點為中心的對稱算子的響應值為S(x,y)。
如圖3中的圖(a)是用harris角點檢測后的結果(用十字表示),圖(b)是應用對稱算子剔除角點后的效果(用十字表示)。

圖3 運用對稱算子的前后對比
通常使用模板在整幅待匹配圖像中滑過,匹配過程示意圖如圖4所示,待匹配圖像為I(一般為右圖像源),大小為M×N,原點在圖像左上角,坐標用I(x,y)表示;模板為T(來源于左圖像的以角點為中心的模板),大小為i×i,模板中心就是角點的位置, 坐標用T(x1,y1)表示。匹配過程就是模板T按照一定搜索策略在待匹配圖像I中滑動,每移動一個位置,然后計算匹配相似性度量的值,并按照該標準判斷最佳匹配點位置,以完成匹配。
匹配度量標準是以圖像相關性為基礎,利用特征點附近的灰度信息,以最大相關率為準,判斷是否為匹配點。定義相關系數為:

其中,g(x,y)表示一個坐標點(x,y)處的相關系數。T(x,y)表示以坐標(x,y)模板圖像的灰度值。I(x,y)表示在(x,y)坐標處的待匹配圖像的灰度值。

圖4 傳統的匹配模型
分析上面那種匹配方法,發現計算量很大,系統的時效性不好,而且編程可操作性差,所以對算法提出改進,針對我們具體的實驗環境,對匹配進行一些條件約束與搜索策略上的優化。
4.2.1 模板T在源圖像中搜索范圍的約束
如果用傳統的匹配,模板會在圖像的原點開始,從上到下從左到右遍歷搜索,直到匹配成功。這樣的話算法的復雜度就非常的大,不利于快速處理。但是根據平行光軸的雙目視覺系統的特點,匹配的點在左右2圖中,縱向坐標是一致的(即雙目視覺中的Y坐標是相等的)。所以我們把模板從平面的二維移動,限制在直線的一維運動。模板只需要按自己的縱坐標位置,做水平移動模板,就一定能在這條直線上找到匹配點。
4.2.2 模板T在源圖像中水平搜索范圍最佳起始位置的確定
在平行雙目視覺中,2副圖像是通過固定位置的,平行的攝像頭采集獲得的,所以同一物點在左右圖像橫坐標都相差一個常數。角點,當然也在左右圖像中的橫坐標都相差一個相同的數值,這個條件也可以簡化搜索的策略,快速定位。設左圖像中的一 Harris角點坐標為I(x,y),那么該點的橫坐標水平方向平移一定的位移m’,就可以在右圖像中的附近(左右5個像素點)找到它的匹配點。同樣地,位于右圖像中T(x,y)的特征點,可以在左圖像中的I(x-m',y)附近找到與之匹配的特征點。根據這個約束條件,我們不必每次模板從左到右開始水平移動,可以從一個固定值m’處附近尋找匹配點,加快系統效率。
本實驗建立在TMS320DM642[6-7]為中心DSP處理器的嵌入式圖像視頻處理平臺上。TMS320DM642處理器在圖像處理和視頻監控方面有著卓越的性能,非常適合于雙目視覺三維測量系統。
實驗最終結果如下圖 5所示,圖(a)是左視圖源的角點檢測結果,圖(a)中,左面是一個14.54 mm×10.38 mm×10.13 mm的長方體鐵塊,右邊為一個10 mm×10 mm的棋盤平面物體(其中“+”代表檢測到的角點位置)。圖(b)是右視圖源的角點檢測結果。

圖5 角點檢測結果
通過圖5中角點的坐標信息與公式(2),就可以計算出物體的三維信息坐標。雙目視覺測量的數據統計如表1(單位:mm)所示。

表1 三維信息計算結果
從以上統計數據可以看出,本文的雙目視覺三維測量,可以滿足精度不是要求很高的場合。
以嵌入式平臺為算法驗證平臺,對雙目視覺三維測量中的關鍵技術:Harris角點提取算法,角點匹配算法進行了研究,并對關鍵算法分別提出了自己的解決方法與擴展。最后使用本文的研究結果對實際物體的三維信息進行了測量,測量結果驗證了算法的正確性。但是雙目視覺的三維測量技術現在還處于簡單的針對背景單一,紋理簡單的測量物體,如何針對多樣化,復雜的測量物體,仍然要進行大量的實驗。
[1]賈云得.機器視覺[M].北京:科學出版社,2000.
[2]馬林.基于雙目視覺的圖像三維重建[D].濟南:山東大學,2008.
[3]劉濤.基于平行雙目視覺的目標距離計算[J].青島大學學報,2009,22(01):59-62.
[4]王渝.基于FPGA的改進Harris角點檢測方法[J].通信技術,2010,43(04):158-160.
[5]陳利軍.圖像角點檢測和匹配算法的研究[D].西安:西安電子科技大學通信工程學院,2005.
[6]崔麗珍.基于 DM642語音處理系統研究與實現[J].通信技術,2010,43(11):67-71.
[7]王軍寧.TI DSP/BIOS用戶手冊與驅動[M].北京:清華大學出版社,2007.