機(jī)器視覺系統(tǒng)需要的信息包含在采集到的數(shù)字圖像中,以像素的形式存在。要實(shí)現(xiàn)準(zhǔn)確測量和控制,需要使用真實(shí)世界的坐標(biāo)系和測量單位,即要得到像素與真實(shí)世界坐標(biāo)系的映射關(guān)系,才能進(jìn)行后續(xù)處理。 · 透視畸變(perspective distortion):相機(jī)未能垂直于被測目標(biāo)安裝 · 徑向畸變(radial lens distortion):相機(jī)所使用的鏡頭特性并不都與其光心處的特征一致 · 切向畸變(tangential distortion):圖像傳感器未能與鏡頭光面平行安裝 · 非線性畸變(nonlinear distortion):檢測目標(biāo)表面位非線性平面,存在起伏 · 漸暈(vignetting):光源不能提供均勻光照 · 采集圖像灰度分布不均:傳感器有雜質(zhì)或者目標(biāo)表面非均勻 機(jī)器視覺系統(tǒng)的校準(zhǔn)多基于對各種畸變或相機(jī)進(jìn)行建模完成,不同校準(zhǔn)方法效果因使用場合而異??梢允褂谜`差映射表和誤差統(tǒng)計(jì)對選用的校準(zhǔn)方法進(jìn)行定量評價。 畸變模型 通過綜合上述多種畸變方式,可獲得圖像處理前后的坐標(biāo)關(guān)系。 畸變徑向分量: 畸變切向分量: 在上述公式中: 包含了5個畸變參數(shù):k1、k2、k3、p1、p2 對于一個給定的鏡頭成像系統(tǒng),這5個畸變參數(shù)怎么獲得?這就涉及到“相機(jī)標(biāo)定”,即需要根據(jù)一系列已知的若干對原成像點(diǎn)與畸變成像點(diǎn)的坐標(biāo)值,帶入以上公式來解出。 圖像校準(zhǔn) 機(jī)器視覺系統(tǒng)的校準(zhǔn)是為了找出圖像中像素點(diǎn)與真實(shí)世界坐標(biāo)系映射關(guān)系的過程,這一過程通常在空間域進(jìn)行。 簡易系統(tǒng)校準(zhǔn)法(simple calibration):也稱點(diǎn)-距校準(zhǔn)法(point-distance calibration)。直接根據(jù)小孔成像模型計(jì)算出圖像像素大小或像素間距在工作面上對應(yīng)的實(shí)際距離,這是一種不考慮任何畸變近乎理想的方法,適用于畸變較小的場合。使用IMAQ Set Simple Calibration2來快速建立點(diǎn)距校準(zhǔn)的映射關(guān)系。 透視校準(zhǔn)(perspective calibration):也稱點(diǎn)-坐標(biāo)校準(zhǔn)法(point-coordination calibration)。通過一系列已知真實(shí)世界坐標(biāo)和尺寸信息的點(diǎn)確定三維世界坐標(biāo)系中目標(biāo)點(diǎn)到圖像像素的數(shù)學(xué)映射關(guān)系,已知點(diǎn)不能少出四個,已知點(diǎn)數(shù)越多關(guān)系越準(zhǔn)確,適用于存在透視畸變的系統(tǒng)。使用IMAQ Learn Perspective Calibration來校準(zhǔn)透視畸變。 以上兩種方法都是通過手工輸入已知信息點(diǎn)實(shí)現(xiàn)系統(tǒng)校準(zhǔn)的方法。 校準(zhǔn)點(diǎn)陣(calibration grid):校準(zhǔn)點(diǎn)陣是一副縱向和橫向相鄰點(diǎn)中心間距相等的點(diǎn)陣圖像,默認(rèn)情況下會使用陣中左上角的中心作為原來建立圖像坐標(biāo)系,把橫縱方向相鄰點(diǎn)距離作為輸入,即可得到所有點(diǎn)在世界坐標(biāo)的位置。(用最小二乘法確定畸變模型最佳參數(shù))適用于徑向或者切向畸變,盡可能使點(diǎn)陣覆蓋整個機(jī)器視覺系統(tǒng)所檢測的工作區(qū)域。 NI Vision校準(zhǔn)函數(shù)分類: 1.簡易校準(zhǔn):相機(jī)垂直于觀測目標(biāo)且鏡頭畸變可忽略不計(jì) IMAQ Set Simple Calibration2:使用橫縱坐標(biāo)上的像素比率設(shè)置簡單的校準(zhǔn)。 2.透視畸變:相機(jī)未垂直于觀測目標(biāo)安裝 IMAQ Learn Perspective Calibration:學(xué)習(xí)透視校準(zhǔn)信息,以糾正相機(jī)引入的不垂直于被檢查對象平面的透視失真 3.鏡頭畸變:確定鏡頭畸變模型參數(shù)(分割畸變模型;多項(xiàng)式畸變模型) IMAQ Learn Distortion Model:學(xué)習(xí)相機(jī)和鏡頭設(shè)置的變形模型。如果相機(jī)不垂直于被檢查的對象,可以將失真建模與透視校準(zhǔn)結(jié)合起來。 (需要對鏡頭畸變進(jìn)行校準(zhǔn)的常見場合:a.檢測目標(biāo)具有較大平坦表面但檢測特征區(qū)域相對較小 b.要求通過建立多項(xiàng)式畸變模型來提高檢測結(jié)果的精確度 c.相機(jī)垂直固定于檢測目標(biāo)上方并可移動以檢測各個區(qū)域 d.可觀測的視場有限) 4.相機(jī)模型建立:在三維坐標(biāo)系中建立相機(jī)模型 IMAQ Learn Camera Model: 學(xué)習(xí)詳細(xì)的相機(jī)特性,包括焦距、光學(xué)中心和失真模型。因?yàn)閿z影機(jī)模型包含一個失真模型,所以不需要計(jì)算單獨(dú)的失真模型。 (基于多幅校準(zhǔn)點(diǎn)陣圖像(一般多于5幅),相機(jī),檢測目標(biāo)之間的關(guān)系來建立相機(jī)模型) IMAQ Get Camera Model:返回已學(xué)習(xí)攝影機(jī)模型的內(nèi)部和外部參數(shù)。 5.工作面非線性:校準(zhǔn)工作平面位非線性曲面的系統(tǒng) IMAQ Learn Micro Plane:學(xué)習(xí)用于校正非平面工作平面中圖像的微平面校準(zhǔn)信息 (與IMAQ Learn Distortion Model,IMAQ Learn Camera Model實(shí)現(xiàn)的校準(zhǔn)方法又統(tǒng)稱為點(diǎn)陣校準(zhǔn)法(Grid based calibration),均可用IMAQ Calibration Target to Points-Circular Dots 2自動生成的reference points 簇作為輸入來確定模型參數(shù)) 6.輸入輔助:檢測所采集校準(zhǔn)點(diǎn)陣圖像中的各點(diǎn),并返回各點(diǎn)中心在圖像中的像素坐標(biāo)以及他們在校準(zhǔn)點(diǎn)中的世界坐標(biāo)。 IMAQ Calibration Target to Points-Circular Dots 2:檢測二值圖像中的圓點(diǎn),并返回用于校準(zhǔn)的像素點(diǎn)和真實(shí)世界點(diǎn),使用提供的灰度圖像細(xì)化圓點(diǎn)的位置。(可以自動的從整幅校準(zhǔn)點(diǎn)陣圖或其中的某個ROI中檢測各個點(diǎn)中心的像素坐標(biāo),并能根據(jù)輸入的點(diǎn)陣信息(點(diǎn)間距和度量點(diǎn)位)計(jì)算世界坐標(biāo),工作時需要包含二值圖(提取校準(zhǔn)點(diǎn))和灰度圖(優(yōu)化調(diào)整像素坐標(biāo))) 7.坐標(biāo)校準(zhǔn)及轉(zhuǎn)換: IMAQ Set Calibration Axis Info:將坐標(biāo)系信息指定給校準(zhǔn)模板圖像。用于設(shè)定校準(zhǔn)信息的世界坐標(biāo)系 IMAQ Convert Pixel to Real World:將圖像中的像素坐標(biāo)轉(zhuǎn)換為世界坐標(biāo) IMAQ Convert Real World to Pixel:將世界坐標(biāo)轉(zhuǎn)換為圖像中的像素坐標(biāo) 8.校準(zhǔn)信息處置: IMAQ Set Calibration Info2:將校準(zhǔn)模板圖像中的校準(zhǔn)信息關(guān)聯(lián)到另一幅圖像中 IMAQ Get Calibration Info:讀取與圖像關(guān)聯(lián)的圖像校準(zhǔn)信息 IMAQ Get Calibration Thumbnail Image:獲取系統(tǒng)校準(zhǔn)過程中所保存的縮略圖 IMAQ Compact Calibration Info:刪除系統(tǒng)校準(zhǔn)過程中所使用的相關(guān)信息及縮略圖,以壓縮包含系統(tǒng)校準(zhǔn)信息的文件尺寸 IMAQ Read Image And Vision Info:從PNG格式的文件中讀取圖像和機(jī)器視覺信息 IMAQ Write Image And Vision Info File2:將圖像和機(jī)器視覺信息寫入PNG格式的文件 9.圖像矯正 IMAQ Correction Learn Setup:配置圖像矯正過程要用到的參數(shù); IMAQ Correct Calibration Image:對包含校準(zhǔn)信息的圖像進(jìn)行矯正; 透視畸變的校準(zhǔn)一般作用于整幅圖像,而鏡頭畸變,相機(jī)模型以及非線性工作面的準(zhǔn)則既能作用于整幅圖像也能作用于指定ROI。 生成系統(tǒng)校準(zhǔn)信息 若系統(tǒng)中存在鏡頭畸變,透視畸變且工作面為起伏的非平面,那么可以先使用IMAQ Learn Distortion Model,再用IMAQ Learn Perspective Calibration,最后用IMAQ Learn Micro Plane對系統(tǒng)進(jìn)行校準(zhǔn)。 圖像明暗場矯正函數(shù): 1.IMAQ Flat Field Correct:使用平場和暗場圖像校正圖像強(qiáng)度并返回校正后的圖像。 2.IMAQ Estimate Flat Field Model:通過在提供的圖像上擬合數(shù)學(xué)模型來返回平面場圖像。根據(jù)從原圖像中選取的點(diǎn)陣,擬合一個代表圖像灰度分布的多項(xiàng)式模型,并基于該模型估算明場圖像用于明場矯正。 3.IMAQ Compute Average Image:計(jì)算所提供圖像的平均圖像。 4.IMAQ Compute Media Image:計(jì)算所提供圖像的中值 坐標(biāo)校準(zhǔn) 平面坐標(biāo)系可以使用坐標(biāo)原點(diǎn),橫軸的角度以及縱軸的方向來表示。 NI Vision的系統(tǒng)校準(zhǔn)VI按照以下原則定義: 1.坐標(biāo)原點(diǎn):若為手工輸入點(diǎn),去兩個方向上坐標(biāo)值均為最小的點(diǎn)中心;若使用校準(zhǔn)矩陣,則去左上角點(diǎn)中心。 2.橫軸的角度為0:即橫軸由點(diǎn)陣首行各點(diǎn)確定的矢量決定。 3.縱軸的方向:間接方向(indirect)與笛卡爾坐標(biāo)系的縱軸方向(direct)相反。 即當(dāng)使用NI Vision提供的VI建立的坐標(biāo)系進(jìn)行校準(zhǔn)后,得到的像素坐標(biāo)和世界坐標(biāo)之間的映射關(guān)系是建立在默認(rèn)校準(zhǔn)坐標(biāo)系基礎(chǔ)上的。而在實(shí)際中,不能保證產(chǎn)品每次在固定位置檢測,所以需要搜索固定目標(biāo)特征來進(jìn)行建系,實(shí)現(xiàn)自動檢測。 IMAQ Set Calibration Axis Info2:為圖像重新設(shè)置坐標(biāo)系 方法一:角度法(坐標(biāo)原點(diǎn),旋轉(zhuǎn)角,縱軸方向) 適合沒有畸變且新坐標(biāo)原點(diǎn)位于圖像中的機(jī)器視覺系統(tǒng),可將坐標(biāo)原點(diǎn)設(shè)置為邊緣線的交叉點(diǎn)或固定特征中心處,縱軸方向根據(jù)需求指定為間接或直接方向。 夾角正負(fù)與縱軸方向有關(guān),若新坐標(biāo)系與參考坐標(biāo)系縱軸方向相同,則旋轉(zhuǎn)角度為正,相反則旋轉(zhuǎn)角度為負(fù)。大小為新坐標(biāo)系相對于參考坐標(biāo)系橫軸沿逆時針方向旋轉(zhuǎn)的度數(shù)。 方法二:雙點(diǎn)法(坐標(biāo)原點(diǎn),位于橫軸正方向的點(diǎn),坐標(biāo)系類型) 適合有畸變且可以直接從圖像中確定新坐標(biāo)原點(diǎn)位置的機(jī)器視覺系統(tǒng),坐標(biāo)原點(diǎn)與橫坐標(biāo)上的點(diǎn)所構(gòu)成的直線與圖像水平方向的夾角指明了新坐標(biāo)系的旋轉(zhuǎn)角。 方法三:三點(diǎn)法 適合不僅有畸變,被測目標(biāo)還會在圖像中平移,旋轉(zhuǎn)。 先使用A,B兩點(diǎn)確定一條坐標(biāo)軸和方向,用C點(diǎn)與A,B所成直線的垂直交點(diǎn)來確定坐標(biāo)原點(diǎn)。再基于坐標(biāo)系類型,確定另一個坐標(biāo)軸。 IMAQ Build CoordSys(Points)封裝了雙點(diǎn)法和三點(diǎn)法,開發(fā)時直接根據(jù)目標(biāo)上的特征點(diǎn),調(diào)用該VI來確定參考或測量坐標(biāo)系。 一旦重新設(shè)立了校準(zhǔn)坐標(biāo)系,所有校準(zhǔn)信息都將基于新定義的坐標(biāo)系。 校準(zhǔn)坐標(biāo)使用 誤差與校準(zhǔn)質(zhì)量 測量結(jié)果質(zhì)量可根據(jù)準(zhǔn)確度(accuracy)測量值與真值的接近程度和精密度(precision)相同類似測量環(huán)境下多次測量值之間的相互接近的程度等指標(biāo)來衡量。 誤差:用于定量表示測量的準(zhǔn)確度。 ·從表示方法來看 1.絕對誤差(absolute error):測量值與真值之間的差表示為 ,x為測量值,u為真值。 2.相對誤差(relative error):絕對誤差與真值的比值表示為 ,反映了測量誤差在真實(shí)值中所占的比例。 ·從成因來看 1.系統(tǒng)誤差(systematic error):由測量方法,儀器,操作等引起,有固定的方向,可重復(fù)出現(xiàn),可對系統(tǒng)校準(zhǔn)來消除。 2.偶然誤差(accidental error):也稱隨機(jī)誤(random error):偶然的不可避免的原因造成,大小和方向都不固定,不可通過系統(tǒng)校準(zhǔn)消除。 精密度:相同或類似測量環(huán)境下多次測量值之間的分散程度,精密度是保證準(zhǔn)確度的先決條件,只有消除了系統(tǒng)誤差的前提下,精密度越高,準(zhǔn)確度才會越高。 ·平均偏差(average deviation) 與平均值差值的平均值 某次測量值與平均值之間的差稱為偏差表示為 其中xn表示N次測量結(jié)果的平均值。在N次測量中,偏差絕對值最大的測量值可能與真值差距最大??梢允褂脺y量值偏差絕對值的平均值(平均偏差)來表示一組測量值的精密度 。 ·標(biāo)準(zhǔn)偏差(standard deviation) 實(shí)際工作中多用標(biāo)準(zhǔn)偏差表示數(shù)據(jù)精密度,他的數(shù)值大小只說明在一定的條件下進(jìn)行多次測量時隨機(jī)誤差出現(xiàn)的概率密度分布情況。 其中u表示真值 IMAQ Get Calibration Info3:返回用來衡量系統(tǒng)校準(zhǔn)質(zhì)量的相關(guān)信息,包括誤差映射表(error map),畸變率(%distortion),平均誤差(mean error),最大誤差(maximum error)以及標(biāo)準(zhǔn)差等。 誤差映射:由一個和圖像大小相同的二維數(shù)組組成,數(shù)組中每個元素對應(yīng)各個像素的坐標(biāo)轉(zhuǎn)換為世界坐標(biāo)時產(chǎn)生的位置誤差 ,表中的值本質(zhì)可認(rèn)為是絕對誤差。 ![]() 其中 ![]() 代表計(jì)算得到的世界坐標(biāo),(x,y) 表示圖像中坐標(biāo)為 (i,j) 的像素在世界坐標(biāo)系中點(diǎn)真實(shí)坐標(biāo),eij為位置誤差,其值越小,坐標(biāo)越精確。 畸變率:可用來說明采集圖像相對于正常圖像的變形情況,等于像素位置誤差占像素到光心對應(yīng)像素距離的百分比,本質(zhì)屬于相對誤差。當(dāng)像素畸變率為正時,成像畫面呈桶形向外膨脹;當(dāng)畸變率為負(fù)時,成像畫面將向中間收縮;畸變率越大,圖像畸變越嚴(yán)重。一般需確?;冃∮?%。 ![]() 圖像幾何校正 若已知機(jī)器視覺系統(tǒng)的畸變特性并得到了畸變的數(shù)學(xué)模型,便可以糾正所采集圖像中的透視畸變和鏡頭畸變,將采集的圖像轉(zhuǎn)換為矯正圖像。 IMAQ Correction Learn Setup:用于配置圖像矯正時要用到的ROI,如何使用這些ROI以及圖像的縮放方式。 IMAQ Correct Calibrated Image:可通過平移,放大,插值等方法對整個輸入圖像進(jìn)行矯正,并生成新的矯正圖像。 ![]() 圖像矯正 為了幫助更多學(xué)員加入機(jī)器視覺學(xué)習(xí)行列,編者準(zhǔn)備了一份LabVIEW機(jī)器視覺入門與編程基礎(chǔ)視頻教程,讓大家能夠快速、高效地上手視覺系統(tǒng)搭建、實(shí)戰(zhàn)項(xiàng)目。 7天入門LabVIEW機(jī)器視覺視頻教程,資料截圖如下: ![]() 助教老師小優(yōu) |
|