博客專欄

        EEPW首頁 > 博客 > LabVIEW機器視覺系統圖像畸變、校準和矯正(基礎篇—3)

        LabVIEW機器視覺系統圖像畸變、校準和矯正(基礎篇—3)

        發布人:美男子玩編程 時間:2022-06-22 來源:工程師 發布文章

        搭建機器視覺系統應盡可能確保生成的圖像足以使算法快速準確地從中提取所需信息。為了實現這一目標,常需要在設備選型和系統搭建過程中考慮設備的技術指標、被測目標的尺寸、設備安裝的空間限制、相機安裝方式、圖像采集設備的性能以及圖像采集軟件等關鍵問題。



        1


        圖像畸變


        1.1、圖像畸變的原因


        構建機器視覺系統采集到的圖像質量應確保機器視覺算法快速、準確地提取所需要的信息,以便作出相關決定。然而要實現準確測量和控制,機器視覺系統必須使用真實世界的坐標系和測量單位。這意味著,要事先得到像素與真實世界坐標系的映射關系,才能在后續過程中使用其進行計算。


        例如,在某個測量兩點之間距離的機器視覺系統中,已知圖像中每個像素代表真實世界坐標系中的2cm,那么若圖像中兩個點之間有10個像素,則理想情況下可得知兩點之間的距離為20cm。


        然而真實世界總沒有想象中那樣理想,設備的局限性和系統連接過程中的各種問題會使機器視覺系統采集到的圖像產生各種畸變(distortion),常見的幾種情況如下:

        • 由于各種原因未能使相機垂直于被測目標安裝,從而為系統引入****畸變(perspectivedistortion)。

        • 由于相機所使用的鏡頭特性并不都與其光心處的特性一致,系統中存在徑向畸變(radiallens distortion)。包括:桶形畸變(barrel distortion)、枕形畸變(pincushion distortion)和須形畸變(mustache distortion)等。

        • 由于相機中的圖像傳感器未能與鏡頭的光面平行安裝,導致系統中存在切向畸變(tangentialdistortion)。

        • 若機器視覺系統所檢測的目標表面為非線性平面(存在起伏),則系統中就會存在非線性畸變(nonlinear distortion) 。

        • 若光源不能提供均勻的光照,相機鏡頭存在漸暈(vignetting),相機傳感器有雜質,或者被測目標表面非均勻,則采集到的圖像灰度通常不能均勻分布。


        機器視覺系統的準確性受到以上問題的極大影響,因此,不僅在計算像素到真實世界坐標系的轉換關系時要重點考慮準確性的問題,還要考慮如何對圖像進行矯正。


        1.2、圖像畸變類型


        1.2.1、****畸變


        搭建機器視覺系統理想情況下可以被抽象為小孔成像模型。然而現實世界并不總是很理想。


        首先,受各種安裝條件的限制,相機可能無法垂直于被測目標安裝,這就會導致系統生成的圖像發生****畸變,如下圖所示:


        圖片

        ****畸變


        ****畸變在相機未能垂直監測目標時發生,在這種情況下,所成圖像遵循****規律,離鏡頭越近的部分所成圖像越大,反之越小。


        1.2.2、徑向畸變


        ****畸變是由鏡頭的安裝方式等外部因素引起的,鏡頭畸變則是由其自身光學特性的不完美造成的,如下圖所示:



        圖片

        鏡頭的徑向畸變


        理想情況下圖中物面上的點P1和P2在像面上的成像遵循小孔成像原則,然而由于現實中鏡頭所用凸透鏡或凹凸透鏡組合固有的光學特性,會導致這些點沿著像面的徑向產生偏移,從而產生鏡頭的徑向畸變。


        鏡頭畸變常用成像畫面柜對于正常圖像的畸變率(%Distortion)表示。

        • 當畸變率為正時,說明成像畫面呈桶形向外膨脹,稱為桶形畸變;

        • 當畸變率為負時,則說明畫面向中間收縮,稱為枕形畸變;

        • 須形畸變是桶形畸變和枕形畸變混合產生的結果,圖像中心處接近桶形畸變,但由中心向邊緣逐漸過渡到枕形畸變。


        通常在為機器視覺系統選擇鏡頭時,需要確保鏡頭的最大畸變小于1%。


        1.2.3、切向畸變


        切向畸變是由于相機在生產制造過程中未能使其圖像傳感器與光軸垂直安裝而造成的。在這種情況下相機圖像傳感器與鏡頭之間并未平行安裝,而是存在一定的角度,如下圖所示:


        圖片

        鏡頭的切向畸變


        與徑向畸變的影響不同,切向畸變會使圖像像素沿切線方向變形,如將矩形變為梯形圖像。


        1.2.4、灰度不均


        灰度分布不均是指在光源不能提供均勻的光照、相機鏡頭存在漸暈、相機傳感器有雜質或被測目標表面非線性時導致圖像中灰度不能均勻分布的情況,如下圖所示:


        圖片

        圖像灰度分布不均


        對于此類畸變,通常需要通過明場校正(bright field correction)來處理。明場校正又稱為平場校正(flat field correction),是指基于機器視覺系統采集或由數學模型估算的明亮背景圖像(明場)對灰度分布不均勻的圖像進行矯正的過程。經過明場矯正后,圖像中的灰度分布會更接近真實情況,且相機傳感器雜質對圖像的影響也會被消除。


        明場校正過程基于下面的公式進行計算:

        圖片

        • Median是對明場與暗場差值求中值的運算符;

        • 矯正系數用于對矯正圖像的灰度進行修正。



        2


        圖像校準



        機器視覺系統的校準是綜合考慮機器視覺成像系統的多種畸變因素,找出圖像中像素點與真實世界坐標系映射關系的過程,這一過程通常在空間域進行。


        對于機器視覺系統來說,為了實現與真實世界坐標相關的測量和控制,通常會利用手工輸入的方法或包含多個點的標準模板,為系統提供真實世界坐標系中多個點的已知信息。這些信息包括點在真實世界坐標系中的位置信息、點與點之間的距離等。一旦有了這些已知信息,就可以結合成像系統模型,獲得圖像中各像素點與真實世界之間線性或非線性的映射關系。如果將這些計算得來的關系應用到后續采集的圖像中,就可以降低各種畸變對視覺系統檢測結果的影響,甚至可以對畸變圖像進行矯正。


        2.1、簡易系統校準法和****校準法


        簡易系統校準法和****校準法是兩種通過手工輸入已知信息點就可實現系統校準的方法。

        • 簡易系統校準法(simple calibration)是一種不考慮任何畸變的近乎理想的方法。

          直接根據小孔成像模型計算出圖像像素大小或像素間距在工作面上所對應的實際距離是一種最簡易的系統校準方法。

          這種方法假定成像系統中相機垂直于觀測目標安裝,且系統引起的圖像畸變可以忽略不計。

          一旦設定了這種簡單的映射關系,就可以根據目標物在圖像中所占據的像素個數計算其對應的實際尺寸。

          它適用于圖像畸變較小的場合,如使用遠心鏡頭垂直監測目標的機器視覺系統。

        • ****校準法(perspective calibration)必須確保系統獲得足夠多的已知信息點。

          若由于各種條件限制,相機無法垂直于監測目標安裝,系統中就會存在****畸變。

          為了實現準確測量控制,必須先提供一系列已知真實世界坐標和尺寸信息的點,并根據這些信息確定三維世界坐標系中目標點到圖像像素的數學映射關系。

          通常所提供的已知信息點不能少于4個,已知信息點數越多,計算得到的映射關系就越準確。


        2.2、校準點陣


        在實際工作中,若鏡頭存在徑向或切向畸變,手工輸入已知信息點的校準方法就顯得麻煩且效率低下,此時可以使用校準點陣(calibration grid)為校準過程提供輸入。


        校準點陣是一幅縱向和橫向相鄰點中心間距相等的點陣圖像。默認情況下,校準過程會使用點陣中左上角點的中心作為原點來建立圖像坐標系。因此,若將縱橫兩個方向上相鄰點間的距離dx和dy作為輸入,校準過程就可得知點陣中所有點在世界坐標系中的位置,如下圖所示:


        圖片

        機器視覺系統的校準


        當要對搭建好的機器視覺系統進行校準時,可以采集校準點陣的圖像,并根據最小二乘法確定出畸變模型參數來完成校準過程。


        在實際工作中,鏡頭或機器視覺系統供應商一般都會提供校準點陣。NI Vision的隨機文檔中也附有校準點陣的樣本圖像,通常位于安裝NI Vision的文檔安裝目錄中,例如我的安裝路徑下:



        C:UsersPublicDocumentsNational InstrumentsVisionDocumentationCalibrationGrid.pdf


        校準點陣的選擇或制作一般都遵循以下規則:

        • 點陣中縱向和橫向相鄰點之間的距離應相等(dx=dy);

        • 采集到的圖像中,各點的半徑應覆蓋6~10個像素;

        • 采集到的圖像中,相鄰點中心之間的距離應在16~32個像素之間;

        • 采集到的圖像邊緣到點陣邊界點之間的距離應不少于6個像素;

        • 在使用校準點陣校準系統時,還應盡可能使點陣覆蓋整個機器視覺系統所監測的工作區域。


        2.3、NI Vision校準方法


        Nl Vision提供了多種計算機視覺系統校準方法的VI,它們位于LabVIEW的視覺與運動→Vision Utilities→Calibration函數選板中,如下圖所示:


        圖片


        函數說明及使用可參見幫助手冊:


        圖片


        接下來講解一個生成系統校準信息的案例,思路如下所示:

        • 程序先讀入校準點陣圖像并使用IMAQCopy在內存中復制了一個副本以進行后續處理;

        • IMAQ Local Threshold將對校準點陣圖像進行二值化,它將輸出包含黑色圓點的二值圖像;

        • 緊接著lMAQ Calibration Target to Points-Circular Dots2會自動提取出含有各圓點世界坐標和與之對應的像素坐標信息的Reference Points簇;

        • 在進行計算時,它需要包含圓點的二值圖像、點陣中各點在真實世界坐標中的間隔(由Grid Descriptor簇提供)、校準點陣的源灰度圖像(用于調整計算結果)和點陣的大小Grid Size作為輸入。


        程序實現如下所示:


        圖片


        程序中Reference Points簇中的數據將作為IMAQ Learn Distortion Model和IMAQ LearnPerspective Calibration的關鍵輸入,以便于它們計算多項式鏡頭畸變模型的K1、K2、K3參數和****畸變模型參數。經這兩個VI計算后,得到的系統校準信息將與IMAQ Local Threshold生成的二值圖像關聯,作為校準模板圖像輸出。使用IMAQ Get Calibration Info返回校準過程的配置信息以及校準的坐標原點。此外,程序還暗示了在系統校準過程中可以連續使用消除不同類型畸變的系統校準VI。


        例如,若系統中既含有鏡頭畸變和****畸變,且工作面又為非線性工作面(工作面為起伏的非平面),則可以先使用IMAQ Learn Distortion Model和IMAQ Learn Perspective Calibration,再使用IMAQ LearnMicro Plane對系統進行校準,最終生成的校準模板圖像將包含綜合的系統校準信息。


        效果如下所示:


        圖片



        3


        圖像矯正



        NI Vision使用IMAQ CorrectionLearn Setup和IMAQ Correct Calibrated lmage對圖像進行矯正,矯正函數也位于:LabVIEW的視覺與運動→Vision Utilities→Calibration函數選板中,也可參見幫助文檔進行理解。


        • IMAQ CorrectionLearn Setup用于配置圖像矯正時要用到的ROI、如何使用這些ROI以及圖像的縮放方式;

        • IMAQ Correct Calibrated lmage則可通過平移、放大、插值等方法逐像素對整個輸入圖像進行矯正,并生成新的矯正圖像。


        由于計算量特別大,圖像矯正過程一般都極為耗時,因此若非必要,應盡可能避免矯正整個圖像,而只需矯正圖像中感興趣的區域。圖像矯正過程中的矯正區域由系統校準過程定義的系統校準ROI (Calibration ROI)和用戶為圖像矯正過程定義的圖像矯正ROI(Correction ROI)共同決定。下表列出了幾種確定圖像矯正區域的ROI組合:


        圖片


        下圖進一步對可供選擇的幾種ROl組合情況進行了說明:


        圖片

        圖像矯正區域的ROI組合


        對2.3、NI Vision校準方法中代碼添加圖像矯正功能,程序如下所示:


        圖片


        程序中矩形方框之前的代碼會將源灰度圖像轉換為二值圖像,并生成圖像校準信息。方框內新增的代碼中,IMAQ Correction Learn Setup用于配置圖像矯正過程對整個圖像有效,而且要求矯正圖像保留源圖像中特征區域的大小,矯正過程中無須生成矯正表。新增的IMAQ orrect Calibrated lmage會使用雙線性插值算法進行圖像矯正計算,生成新的矯正圖像,效果如下所示:


        圖片


        對比2.3、NI Vision校準方法中示例效果,可見新圖像矯正效果理想。


        機器視覺系統校準過程的質量可從準確度和精密度兩個角度去衡量,包括誤差映射表、畸變率、平均誤差、最大誤差以及標準差等指標,由這些指標可以計算測量結果的可信程度。如果需要對采集到的畸變圖像或其中部分感興趣的區域進行矯正,則可以根據畸變模型和系統校準信息,通過平移、放大、插值等方法生成消除****畸變和鏡頭畸變的矯正圖像。圖像矯正過程極為耗時,在機器視覺系統開發過程中,若非必要,應盡可能避免。


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: LabVIEW

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 广德县| 工布江达县| 岳西县| 濮阳市| 辽阳县| 丹棱县| 中牟县| 泸西县| 淄博市| 滦南县| 万年县| 桂阳县| 石渠县| 白水县| 乐昌市| 武宣县| 合山市| 黎川县| 穆棱市| 鸡西市| 舟曲县| 江川县| 三台县| 公主岭市| 穆棱市| 澄城县| 三门县| 出国| 平度市| 屏东县| 宜丰县| 比如县| 十堰市| 中卫市| 黑龙江省| 万盛区| 灵川县| 龙州县| 错那县| 昆明市| 临潭县|