基于HALCON的雙目立體視覺系統(tǒng)實現(xiàn)_第1頁
基于HALCON的雙目立體視覺系統(tǒng)實現(xiàn)_第2頁
基于HALCON的雙目立體視覺系統(tǒng)實現(xiàn)_第3頁
基于HALCON的雙目立體視覺系統(tǒng)實現(xiàn)_第4頁
基于HALCON的雙目立體視覺系統(tǒng)實現(xiàn)_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、基于HALCON的雙目立體視覺系統(tǒng)實現(xiàn)作者:段德山摘要 雙目立體視覺的研究一直是機(jī)器視覺中的熱點和難點。使用雙目立體視覺系統(tǒng)可以確定任意物體的三維輪廓,并且可以得到輪廓上任意點的三維坐標(biāo)。因此雙目立體視覺系統(tǒng)可以應(yīng)用在多個領(lǐng)域。本文將主要介紹如何基于HALCON實現(xiàn)雙目立體視覺系統(tǒng),以及立體視覺的基本理論、方法和相關(guān)技術(shù),為搭建雙目立體視覺系統(tǒng)和提高算法效率提供了參考。關(guān)鍵詞 雙目視覺 三維重建 立體匹配 攝像機(jī)標(biāo)定 視差 雙目立體視覺是機(jī)器視覺的一種重要形式,它是基于視差原理并由多幅圖像獲取物體三維幾何信息的方法。雙目立體視覺系統(tǒng)一般由雙攝像機(jī)從不同角度同時獲得被測物的兩幅數(shù)字圖像,或由單攝

2、像機(jī)在不同時刻從不同角度獲得被測物的兩幅數(shù)字圖像,并基于視差原理恢復(fù)出物體 的三維幾何信息,重建物體三維輪廓及位置。雙目立體視覺系統(tǒng)在機(jī)器視覺領(lǐng)域有著廣泛的應(yīng)用前景。  HALCON是在世界范圍內(nèi)廣泛使用的機(jī)器視覺軟件。它擁有滿足您各類機(jī)器視覺應(yīng)用需求的完善的開發(fā)庫。HALCON也包含Blob分析、形態(tài)學(xué)、模式識別、測量、三維攝像機(jī)定標(biāo)、雙目立體視覺等杰出的高級算法。HALCON支持Linux和Windows,并且可以通過C、C+、C#、Visual Basic和Delphi語言訪問。另外HALCON與硬件無關(guān),支持大多數(shù)圖像采集卡及帶有DirectShow和IEEE 1394驅(qū)動的

3、采集設(shè)備,用戶可以利用其開放式結(jié)構(gòu)快速開發(fā)圖像處理和機(jī)器視覺應(yīng)用軟件。一雙目立體視覺相關(guān)基本理論介紹11 雙目立體視覺原理雙目立體視覺三維測量是基于視差原理,圖1所示為簡單的平視雙目立體成像原理圖,兩攝像機(jī)的投影中心的連線的距離,即基線距為b。攝像機(jī)坐標(biāo)系的原點在攝像機(jī)鏡頭的光心處,坐標(biāo)系如圖1所示。事實上攝像機(jī)的成像平面在鏡頭的光心后,圖1中將左右成像平面繪制在鏡頭的光心前f處,這個虛擬的圖像平面坐標(biāo)系O1uv的u軸和v軸與和攝像機(jī)坐標(biāo)系的x軸和y軸方向一致,這樣可以簡化計算過程。左右圖像坐標(biāo)系的原點在攝像機(jī)光軸與平面的交點O1和O2??臻g中某點P在左圖像和右圖像中相應(yīng)的坐標(biāo)分別為P1(u1

4、,v1)和P2(u2,v2)。假定兩攝像機(jī)的圖像在同一個平面上,則點P圖像坐標(biāo)的Y坐標(biāo)相同,即v1=v2。由三角幾何關(guān)系得到:               上式中(xc,yc,zc)為點P在左攝像機(jī)坐標(biāo)系中的坐標(biāo),b為基線距,f為兩個攝像機(jī)的焦距,(u1,v1)和(u2,v2)分別為點P在左圖像和右圖像中的坐標(biāo)。視差定義為某一點在兩幅圖像中相應(yīng)點的位置差:   由此可計算出空間中某點P在左攝像機(jī)坐標(biāo)系中的坐標(biāo)為:  

5、因此,只要能夠找到空間中某點在左右兩個攝像機(jī)像面上的相應(yīng)點,并且通過攝像機(jī)標(biāo)定獲得攝像機(jī)的內(nèi)外參數(shù),就可以確定這個點的三維坐標(biāo)。 12 雙目立體視覺的系統(tǒng)結(jié)構(gòu)以及精度分析 由上述雙目視覺系統(tǒng)的基本原理可知,為了獲得三維空間中某點的三維坐標(biāo),需要在左右兩個攝像機(jī)像面上都存在該點的相應(yīng)點。立體視覺系統(tǒng)的一般結(jié)構(gòu)為交叉擺放的兩個攝像機(jī)從不同角度觀測同一被測物體。圖2和圖3分別為實物圖與原理圖。這樣通過求得兩個圖像中相應(yīng)點的圖像坐標(biāo),便可以由雙目立體視覺測量原理求取三維空間坐標(biāo)。事實上,獲取兩幅圖像也可以由一個攝像機(jī)實現(xiàn),如一個攝像機(jī)通過給定方式的運動,在不同位置觀測同一個靜止的物

6、體,或者通過光學(xué)成像方式將兩幅圖像投影到一個攝像機(jī),都可以滿足要求。  各種雙目視覺系統(tǒng)結(jié)構(gòu)各有優(yōu)缺點,這些結(jié)構(gòu)適用于不同的應(yīng)用場合。對要求大測量范圍和較高測量精度的場合,采用基于雙攝像機(jī)的雙目立體視覺系統(tǒng)比較合適;對測量范圍要求比較小,對視覺系統(tǒng)體積和質(zhì)量要求嚴(yán)格,需要高速度實時測量對象,基于光學(xué)成像的單攝像機(jī)雙目立體視覺系統(tǒng)便成為最佳選擇。 基于雙攝像機(jī)的雙目立體視覺系統(tǒng)必須安裝在一個穩(wěn)定的平臺上,在進(jìn)行雙目視覺系統(tǒng)標(biāo)定以及應(yīng)用該系統(tǒng)進(jìn)行測量時,要確保攝像機(jī)的內(nèi)參(比如焦距)和兩個攝像機(jī)相對位置關(guān)系不能夠發(fā)生變化,如果任何一項發(fā)生變化,則需要重新對雙目立體視覺系統(tǒng)進(jìn)行標(biāo)

7、定。視覺系統(tǒng)的安裝方法影響測量結(jié)果的精度。測量的精度可由下式得出:  上式中z表示測量得出的被測點與立體視覺系統(tǒng)之間距離的精度,z指被測點與立體視覺系統(tǒng)的絕對距離,f指攝像機(jī)的焦距,b表示雙目立體視覺系統(tǒng)的基線距,d表示被測點視差精度。        m那么視差的精度可以達(dá)到1m。圖4表示深度測量的精度和各個參數(shù)之間的關(guān)系(假設(shè)視差精度為1m)。 如果b和z之間的比值過大,立體圖像對之間的交迭區(qū)域?qū)⒎浅P?,這樣就不能夠得到足夠的物體表面信息。b/z可以取的最大值取決于物體的表面特征。一

8、般情況下,如果物體高度變化不明顯,b/z可以取的大一些;如果物體表面高度變化明顯,則b/z的值要小一些。無論在任何情況下,要確保立體圖像對之間的交迭區(qū)域足夠大并且兩個攝像機(jī)應(yīng)該大約對齊,也就是說每個攝像機(jī)繞光軸旋轉(zhuǎn)的角度不能太大。 13 雙目立體視覺系統(tǒng)標(biāo)定 攝像機(jī)內(nèi)參數(shù)的標(biāo)定和單目視覺系統(tǒng)標(biāo)定一致,雙目立體視覺系統(tǒng)的標(biāo)定主要是指攝像機(jī)的內(nèi)部參數(shù)標(biāo)定后確定視覺系統(tǒng)的結(jié)構(gòu)參數(shù)R和T(即兩個攝像機(jī)之間的位置關(guān)系,R和T分別為旋轉(zhuǎn)矩陣和平移向量)。一般方法是采用標(biāo)準(zhǔn)的2D或3D精密靶標(biāo),通過攝像機(jī)圖像坐標(biāo)與三維世界坐標(biāo)的對應(yīng)關(guān)系求得這些參數(shù)。具體的標(biāo)定過程【3】如下: 

9、1、將標(biāo)定板放置在一個適當(dāng)?shù)奈恢?,使它能夠在兩個攝像機(jī)中均可以完全成像。通過標(biāo)定確定兩個攝像機(jī)的內(nèi)部參數(shù)以及他們的外部參數(shù)(R1、T1與R2、T2),則R1、T1表示左攝像機(jī)與世界坐標(biāo)系的相對位置,R2、T2表示右攝像機(jī)與世界坐標(biāo)系的相對位置。 2、假定空間中任意一點在世界坐標(biāo)系、左攝像機(jī)坐標(biāo)系和右攝像機(jī)坐標(biāo)系下的非齊次坐標(biāo)分別為xw、x1、x2,則:   消去xw,得到:   兩個攝像機(jī)之間的位置關(guān)系R、T可以用以下關(guān)系式表示:   14 雙目立體視覺中的對應(yīng)點匹配 由雙目立體視覺系統(tǒng)原理可以看出雙目立體視覺是建

10、立在對應(yīng)點的視差基礎(chǔ)之上,因此左右圖像中各點的匹配關(guān)系成為雙目立體視覺技術(shù)的一個極其重要的問題。然而,對于實際的立體圖像對,求解對應(yīng)問題極富挑戰(zhàn)性,可以說是雙目立體視覺中最困難的一步。為了能夠增加匹配結(jié)果的準(zhǔn)確性以及匹配算法的速度,在匹配過程中通常會加入下列幾種約束:(1) 極線約束。在此約束下,匹配點已經(jīng)位于兩副圖像中相應(yīng)的極線上。(2) 唯一性約束。兩副圖像中的對應(yīng)的匹配點應(yīng)該有且僅有一個。(3) 視差連續(xù)性約束。除了遮擋區(qū)域和視差不連續(xù)區(qū)域外,視差的變化都是平滑的。(4) 順序一致性約束。位于一副圖像極線上的系列點,在另一幅圖像中極線上有相同的順序

11、。圖像匹配的方法有基于圖像灰度(區(qū)域)的匹配、基于圖像特征的匹配和基于解釋的匹配或者多種方法結(jié)合的匹配【3】。二使用HALCON進(jìn)行雙目立體視覺測量 本節(jié)以電路板高度測量為例,講述在HALCON中如何方便快捷地實現(xiàn)高效雙目立體視覺測量(圖像為640*480)。 21 雙目立體視覺系統(tǒng)安裝 根據(jù)1.2節(jié)中對雙目立體視覺系統(tǒng)結(jié)構(gòu)分析以及精度的分析,在確保兩個立體圖像對有足夠大的交迭區(qū)域的同時,根據(jù)待測物體表面形態(tài)以及精度要求設(shè)計合理的雙目立體視覺系統(tǒng)安裝方案(圖2)。然后將雙目立體視覺系統(tǒng)安裝在一個穩(wěn)定的平臺上,確保開始標(biāo)定后,攝像機(jī)的焦距以及攝像機(jī)的相對關(guān)系都不發(fā)生

12、變化。 22 雙目立體視覺系統(tǒng)標(biāo)定 為了進(jìn)行視覺系統(tǒng)的標(biāo)定,需要得到空間點的三維坐標(biāo)以及該點在左右兩幅圖像中坐標(biāo)的對應(yīng)關(guān)系,另外還需要給定兩個攝像機(jī)的初始參數(shù)。拍攝標(biāo)定板圖像時,要保證標(biāo)定板在左右兩個攝像機(jī)中都能夠完整成像。如果使用HALCON標(biāo)準(zhǔn)標(biāo)定板,首先可以通過函數(shù)find_caltab()在標(biāo)定板圖像中分離出標(biāo)定板區(qū)域,然后利用find_marks_and_pose()算子,該算子通過亞象素閾值、亞象素邊緣提取、圓心確定等一系列操作計算標(biāo)定板上每個點的圖像坐標(biāo)以及標(biāo)定板與攝像機(jī)之間大約的位置關(guān)系,即攝像機(jī)的外參初始值。其中使用find_caltab()分離標(biāo)定板區(qū)域

13、運算時間大約為5ms,find_marks_and_pose()計算標(biāo)定板上49個標(biāo)志點的坐標(biāo)大約需要時間為40ms,計算坐標(biāo)精度為亞象素級,如某標(biāo)志點在左攝像機(jī)圖像坐標(biāo)系中坐標(biāo)為(198.612619165, 344.142354438),右攝像機(jī)圖像坐標(biāo)系中相應(yīng)點坐標(biāo)為(212.140195587, 226.377754012)。 如果使用自定義的標(biāo)定板,可以使用HALCON中的圖像濾波、亞象素邊緣及線提取、亞象素輪廓處理等基本函數(shù)開發(fā)算法求取標(biāo)志點的坐標(biāo)并估算攝像機(jī)的外參初始值。 獲得標(biāo)志點相應(yīng)的坐標(biāo)以及攝像機(jī)的起始參數(shù)后,通過調(diào)用函數(shù)binocular_calibr

14、ation()來確定兩個攝像機(jī)的內(nèi)參數(shù)、外參數(shù)以及兩個攝像機(jī)之間的相對位置關(guān)系。通過539個標(biāo)志點坐標(biāo)的對應(yīng)關(guān)系計算出攝像機(jī)各個參數(shù)需要的時間為1.6094s,計算誤差約為0.02個象素。 23 校正立體圖像對 為了能夠更精確地進(jìn)行匹配,提高運算的效率,在獲得攝像機(jī)的內(nèi)外參數(shù)后首先對立體圖像對進(jìn)行校正。校正的過程其實就是將圖像投影到一個公共的圖像平面上,這個公共的圖像平面方向由雙目立體視覺系統(tǒng)基線與原始兩個圖像平面交線的叉集確定。 校正后的圖像可以看作是一個虛擬的立體視覺系統(tǒng)(圖5)采集的圖像對。這個視覺系統(tǒng)中攝像機(jī)的光心與實際攝像機(jī)一致,只是通過繞光心的旋轉(zhuǎn)使光

15、軸平行,并且視覺系統(tǒng)中兩個攝像機(jī)的焦距相同。這個虛擬的立體視覺系統(tǒng)就是雙目立體視覺原理中提到的最簡單的平視雙目視覺模型。 HALCON中將標(biāo)定過程中獲得的攝像機(jī)的內(nèi)參以及兩個攝像機(jī)相對位置關(guān)系作為參數(shù)傳遞給函數(shù)gen_binocular_rectification_map(),再將獲得的兩個圖像的映射圖傳遞給函數(shù)map_ image(),即可得到校正后的兩幅圖像,并可獲得校正后虛擬立體視覺系統(tǒng)中兩個攝像機(jī)的內(nèi)參和外參。其中函數(shù)gen_binocular_rectification_map()耗時約為0.3488s,map_image()耗時約為0.0050s。 24 獲得圖

16、像中三維信息 為了得到圖像中某點的三維信息,需要在另一幅圖像中找到該點的對應(yīng)點坐標(biāo)。因此想獲得物體的深度信息,首先需要對校正后的立體圖像對進(jìn)行匹配。由于經(jīng)過校正后,兩幅圖像中的對應(yīng)點在圖像的同一行中,因此在匹配時只需要在相應(yīng)的行中尋找匹配點。為了得到更佳的匹配結(jié)果,如果被測物體表面沒有明顯的特征信息,則需要測量時在物體表面增加特征點。另外要避免被測物體上重復(fù)圖案在同一行中。 將校正后的圖像以及虛擬立體視覺系統(tǒng)中的攝像機(jī)內(nèi)外參數(shù)傳遞給binocular_disparity(), 這時可以設(shè)置匹配窗大小、相似度計算方式等參數(shù),在匹配中使用圖像金字塔提高匹配速度,并且可以自我檢測

17、匹配結(jié)果的正確性。函數(shù)返回一個視差圖 (物體表面三維信息的表示)和一個匹配分值圖(表示匹配結(jié)果的準(zhǔn)確程度),函數(shù)的運行時間約為0.6051s。 函數(shù)binocular_distance()與binocular_disparity()類似,只不過返回一個深度圖(物體表面在第一個攝像機(jī)坐標(biāo)系中的深度信息)和一個匹配分值圖。圖6圖9顯示了HALCON中利用雙目立體視覺測量電路板三維信息的過程。 HALCON中另外還有很多關(guān)于立體視覺的函數(shù),可以獲得圖像中某點的三維坐標(biāo),另外可以校正傾斜對高度測量的影響等。  三 總結(jié)以視覺系統(tǒng)為基礎(chǔ)的三維外形輪廓的非接觸式、高

18、速測量是一個重要的研究方向,雙目立體視覺方法是其中一種最常用的方法。本文介紹了雙目立體視覺的基本原理,實現(xiàn)方法以及標(biāo)定和匹配等相關(guān)技術(shù),并通過一個典型應(yīng)用案例講述了如何使用HALCON方便快速地搭建高效的雙目立體視覺系統(tǒng)。雙目立體視覺系統(tǒng)的應(yīng)用領(lǐng)域非常廣泛,為了能夠?qū)⑦@些技術(shù)應(yīng)用在實際的工程中,需要盡可能提高算法的效率與精度。在HALCON中通過校正立體視覺系統(tǒng)的方法,簡化了匹配的復(fù)雜度,通過使用圖像金字塔以及各種約束提高了算法速度和精度。在已知攝像機(jī)內(nèi)外參的情況下,由兩個立體圖像對中恢復(fù)三維模型需要約1.3s。 另外,HALCON中不僅有匹配、識別、定位、測量和三維等性能杰出的高級算法,還提供了一系列(的)高效的圖像處理基本函數(shù),如濾波、亞象素邊緣、亞象素輪廓、Blob、分割、形態(tài)學(xué)、分類器、幾何變換,用戶可以通過這些基本函數(shù)來搭建各種應(yīng)用中高效實用的算法。參考文獻(xiàn) Machine Vision in World Coordinates 

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論