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