全景圖片,全景制作,全景拍攝

首頁  >  全景問答  >  全景行業  >   魚眼、廣角鏡頭  >  魚眼鏡頭畸變的校正方法

魚眼鏡頭畸變的校正方法

分類:全景行業瀏覽數:86832018-04-27 17:01:39

問題描述:

魚眼鏡頭畸變有能校正的方法嗎?

希望得到的幫助:魚眼鏡頭畸變的校正方法

1個回答

  •    魚眼鏡頭畸變校正有專業的學術論文,建議參考。

      魚眼圖像的畸變矯正是以某種獨特的變換方式將一副魚眼圖像轉換為理想圖像的操作,這種操作在全方位視覺導航中具有重要的作用,是系統自動識別、跟蹤和定位目標所必須的基礎操作。

      1畸變圖像的校正原理

      根據畸變圖像特點標定坐標圖,求取標定點像素的理想值和實際值,同時生成坐標映射表,再把坐標映射表用于畸變圖像的校正程序后,即可得到無畸變圖像,具體處理過程如下:

      1)標定坐標

      鏡頭中心的畸變可以忽略為零,以鏡頭為中心,離鏡頭越遠的地方畸變越大。以鏡頭為中心標定坐標圖,對圖像進行坐標的標定,按正方形均勻排列圓點,如圖1所示。

      2)圖像預處理

      先通過圖像的、突出邊緣細節;然后再用二值化處理增強調節對比度的圖像,但部分樣板點和背景的對比的差值較大,所以是設定一個閾值對整幅圖像進行二值化,最后再對二值化后的圖像再次進行中值濾波的方法處理,再次使用中值濾波方法可以有效的去除畸變圖像中的部分椒鹽噪聲的影響。二值化的主要作用是可以提高畸變校正圖像的質量,預處理圖像可以為點陣樣板圓點中心的確定提供重要的作用。

      3)圓點中心的確定

      由于圖像畸變的影響,經過圖像預處理后的畸變校正圖像仍然是不規則的實心圓,然而樣板中的確定的圓點卻是規則排列的,所以可以在畸變校正的樣板圖像上把各個圓點的重心近似的替換為圓點中心,找出一個圓點的重心作為理想畸變校正樣板圖像上與之對應的點,并找出該點處于二維平面坐標之中與之距離之和最大的圓點,從各個圓點的坐標之中找出與之距離之和最大的圓點坐標,該點坐標即為畸變圖像中與之相對應的點的坐標。再找出理想的點陣樣板圖像和該畸變校正圖像中各圓點中心的位置,計算出點與點之間的垂直距離,即可得到點陣樣板圖像中各點之間的偏移量,從而可以描繪和構建畸變校正圖像上的各個點之間偏移量的曲面。最后經過圖像預處理過程的樣板圓點中心的確定,可計算出其它圓點中心的坐標位置。

      2有關魚眼圖片的粗略校正

      1)求取魚眼圖像行和列的比值

      將投射生成標準圓變換為魚眼圖片并求取圖片中心點的方法與普通相機照相原理不同,對于提取出來的魚眼圖片的輪廓,我們先假定一個閾值,比如設一個灰度值30,用軟件勾勒描繪出校正魚眼圖片大概的輪廓,然后先求出該輪廓的中心點坐標,根據輪廓的圖形和魚眼圖像的中心點的坐標,可計算出畸變圖像的圓半徑,從而求取魚眼圖像的中心點坐標和魚眼圖像的粗略輪廓的圖像的半徑相對比,以便于將魚眼圖像的大概輪廓重新調整處理,變的更為精確和直觀。假定畸變校正的魚眼圖片的半徑中的行坐標曲線和列坐標曲線不相等,則我們需要將畸變校正的魚眼圖像中的園的半徑的曲線與下面的公式相乘,然后就可以變換為普通的標準圓的圖像。下面公式中(u,v)是畸變校正的魚眼圖片的中心點,β為畸變校正的魚眼圖像行和列的比值。

      2)魚眼圖片的粗略扭曲校正

      在得到中心點的坐標和校正形狀之后,把扭曲的魚眼圖像通過投射降低圖像的扭曲程度變為正常的四方形的圖像。

      在圖2中,假設在沒有扭曲的背景圖像中,存在兩個具有相同x坐標的點,即k點和h點,并且在背景圖像中隨著圓上曲線的經緯度的變大,扭曲程度也就越大,但是三維球面的整體從左到右的各個面的角度的差值全部都是相等的,而且在x軸方向上與二維畸變校正圖像相對應的線段dx的均勻分割經度或是緯度也是相等的。因此在二維圖像的X軸方向上任意點坐標經度或緯度之間的直線距離相等。由上述即可得出如下求得k點的x坐標的關系式:

      上式中xh為h點在X軸方向上與圖片中心O點的距離差,R為魚眼圖片的半徑,yi為k點在Y軸方向上與圖片中心O點距離差。并且在經過標準圓校正后,部分水平視域不是180°的魚眼圖片同樣可以用上述方法進行校正。

      3)圖像間偏移量初值的求取

      為了在畸變校正圖像中獲得兩者的精確偏移量和初值,用最小化兩幅圖像的對應點的坐標亮度差的平方和函數,即相位相關度方法。相位相關度方法的具體內容是用利用最小二乘法迭代畸變圖像上的x軸和y軸方向的坐標。首先需要設定一個初值(可以通過手工選取幾組對應點確定適當的初值),即畸變圖像上的x軸和y軸方向的坐標的迭代初值,再將初值帶入到使用相位相關度的方法中自動求取偏移量的初值,然后再對偏移量的初值進行求精和判斷該值的正確性,該值是否在正確的誤差范圍之內。如果在畸變校正圖像中假設相鄰兩個圖像的像素點的坐標值是f1和f2,則存在:f2(x,y)=f1(x-x0,y-y0),其中x0、y0是圖像之間的偏移量。設f(x,y)的傅立葉變換為F(u,v),由此根據傅立葉變換的性質有:

      4)簡化偏移量初值

      由以上步驟所得出的偏移量的初值,我們采用全局方法來簡化偏移量的初值,以便于我們在后面求取其圖像的相位相關度。首先需要的是對兩幅畸變校正圖像的所有像素點做傅立葉變換,由于用傅立葉變換對兩幅畸變校正圖像的像素點集的計算工作量太過于龐大,所以我們在此處簡化求取過程。首先對兩幅畸變校正圖像做高斯遞減金字塔變換,來減少兩幅畸變校正圖像的所有的像素點的個數,然后用上面的方法再次進行有關相位相關度求解和偏移量的求解。如果一維傅立葉變換的長度N不是素數,我們采用Cooley-Tukey算法來減少求解相位相關度的運算量。

      5)求精偏移量及校正魚眼圖片的三維立體坐標表示

      在拍攝魚眼圖像的過程中,我們是將設備固定在房間的一角,轉動攝像頭,用旋轉拍攝的方法將整個房間的全景拍攝下來當作實驗用的圖像材料。所以每次我們把只有X軸和Y軸的二維平面坐標圖像變換投射為帶有X軸,Y軸和Z軸的三維平面坐標后,通過二維到三維的這整個過程中各個對應點的坐標之間的變換投射的方式求出精確的圖像間的偏移量和扭曲校正系數,根據之前的各種計算和推論可以得出的三維空間內的幾何約束方程,從而求取出畸變校正圖像的偏移量,以及校正畸變圖像的扭曲系數。與畸變校正圖像上方中心點坐標(u,v)相對應的二維卡迪兒坐標(x,y),用圖片中心坐標(u,v)為原點的極坐標表示為:r和φ分別是畸變校正圖像中用極坐標表示的半徑和旋轉角。由于之前對圖像做過校正,故可以近似地用“等距離”模式表示投射圖像,即用兩個角度(φ,θ)表示空間三維射線,θ是射線與垂直于三維圖像中的Z軸的夾角。因此我們可以從二維極坐標中推出魚眼圖像的三維球面坐標的公式如下:

      我們在這里用剛體旋轉變換表示相鄰的兩幅圖像中i點和j點上的與之相對應的點在三維空間中的坐標關系(ωx、ωy、ωz:繞三維坐標軸X、Y、Z逆時針旋轉的角度位移):

      6)偏移量求精和扭曲參數校正

      用快速迭代最小差異平方和函數是求解圖像間偏移量的一種常用而有效的方法,用其收斂的Levenberg-Marguard算法來求解相鄰圖像間對應點亮度差平方和函數:

      Ii(xk)是圖i上像素坐標點xk的灰度值,經過坐標變換后的像素坐標點xk在j圖上的對應點的灰度值是Ij(T(xk))。其變換過程是:把二維空間的像素點坐標xk轉換投射到三維空間的像素點坐標uk,然后為了得到j圖的三維空間的坐標點,我們需要將之前的坐標點進行旋轉變化,之后再使用逆變換公式將三維空間的像素坐標恢復為二維空間的像素坐標。但是我們在整個實驗的過程中并不使用上述的方法,用一個圖像中包含的二維空間坐標點集推出另一個圖像中包含的二維空間坐標點集,我們只對未知參數的求解。其中包含了6個未知參數:魚眼扭曲校正參數(C1,C2,C3)和旋轉參數(ωx,ωy,ωz)。把初值設為C1=11411269,C2=-01094389,C3=0125674。而對于(ωx,ωy,ωz)的初值,在這里我們使用有關相位相關度的方法來求取畸變校正圖像偏移量的初始狀態的值,通過計算出兩張畸變校正圖像的對應像素的坐標點,將其轉換為三維空間的坐標ui和uj代入公式即可求解得到(ωx,ωy,ωz)的初值。使用Levenberg-Marguard算法求解公式的方法是對函數E求偏導:

      其中d是旋轉參數向量,T(xk)是xk的像素灰度值函數。由于Ij(T(xk))的空間三維坐標是用公式由ui經旋轉參數變換而來,所以對Ij(T(xk))求偏導就相當于對uj求旋轉向量的偏導。

      3結論

      本文介紹的數字圖像處理的方法進行光學系統畸變校正,校正后的圖像中點與點之間的間隔均勻,排列整齊。不需要其它光學測量儀器,不必知道所使用的光學儀器或系統的使用參數,只需要將畸變校正圖像進行相關的特征處理,整個實驗過程方便,簡單,并且實驗效果理想,這種方法使用常使用于那些實驗受內窺鏡的體積不同和部分規格方面的限制,以及在日常實驗中不能用光學像差實現畸變校正的光學儀器或系統。

      參考文獻:

      [1]陳明偉,球面坐標定位校正魚眼圖片并合成全景圖的方法,云南民族大學學報(自然科學版),2004,7,13(3).

      [2]劉航,廣角成像系統光學畸變的數字校正方法,光學學報,1998,8,18(8).


    4+1回答時間:2018-05-03 14:23:26