我們知道圖像測試卡是用于檢測攝像頭性能參數(shù)的,在檢測時需要配套使用的軟件去進行軟件分析,在所有的攝像頭測試分析軟件中,最有名的莫過于Imatest軟件了,這款軟件是全英文界面,所以對于一些用戶使用起來不是很友好,國內(nèi)相似的有iqstest軟件,這款軟件測試各種攝像頭的性能參數(shù)教程已經(jīng)有很多相關(guān)的頁面進行了教程式的應(yīng)用介紹,使用起來也是很方便。但是對Imatest軟件本站還是沒有多少涉及,所以接下來就為大家介紹下imatest軟件校正畸變。
對Imatest軟件有足夠的使用經(jīng)驗人士都知道,在Imatest軟件分析數(shù)據(jù)結(jié)果,我們可以使用有一些數(shù)據(jù)用于校正圖像畸變的。即你得到了Imatest的這些參數(shù)就可以糾正畸變,從而減少它們對圖像造成的影響。這種過程在相機中通常是通過ISP完成的,即從原始傳感器數(shù)據(jù)RAW轉(zhuǎn)換成一幅合適的圖片。所以理論上,我們今天所講的這種方式是切實可用的,那么現(xiàn)在我們就開始介紹從Imatest中提取徑向畸變的測量數(shù)據(jù),從而可以將它們用于校正相機的畸變。
使用Imatest進行畸變校正
首先我們需要先了解什么是徑向幾何失真和Imatest軟件中的畸變系數(shù)。對于幾何失真,是用來描述圖像的扭曲形狀與相機真正遵循一個簡單的針孔相機模型成像情況進行對比。最明顯的效果是場景中的直線彎曲成圖像中的曲線,它有著部分畸變。注意,我們不是在這里談?wù)撏敢暿д?。雖然我們不希望鏡頭存在幾何失真,但有時候我們也會因為特殊需要的藝術(shù)效果而去選擇曲線鏡頭,或使用廣角鏡頭時忽略畸變。然而,大多數(shù)用戶對每天看到的圖片的畸變程度,主觀接受的程度是有限的,所以畸變可以存在,但不能無限制的存在。例如特征化的幾何失真是許多場景所需要的,比如在三維空間中定位一個點,對于計算機或交多張圖像拼接在一起的VR應(yīng)用等等,都需要準確的校正。這種幾何失真幾乎總是由于鏡頭的設(shè)計和結(jié)構(gòu)帶來的,它通常被建模為(1)純徑向和(2)徑向?qū)ΨQ。
純徑向畸變意味著無論在像場中的哪一個點,唯一決定畸變的因素是,它離圖像的中心有多遠。注意,為了更容易理解,我們假設(shè)圖像的中心就是系統(tǒng)的光學(xué)中心。假設(shè)圖像的幾何失真是徑向以降低問題的復(fù)雜性。因為無需考慮二維圖像的兩個維度(x和y表示在每個像素的位置),我們只需要確定一個維度(半徑方向的位移)。通過Imatest軟件中使用的SFRPlus模塊,Checkboard模塊,或Dot Pattern模塊,Imatest軟件可以從一幅拍攝過的測試卡圖片來測量相機系統(tǒng)的徑向失真。
Imatest軟件可以返回兩種不同類型徑向畸變的描述。這兩種畸變都是用多項式近似的失真函數(shù)描述的,但這兩個多項式代表不同的東西。在許多情況下,它們在功能上是相同的,并且可以從一種形式轉(zhuǎn)換為另一種形式。同理,在此我們忽略了Imatest提供和標注的tan/arctan逼近值。我們作如下定義:
rd是一個點的畸變半徑,也就是它到圖像中心的距離
ru是一個點未畸變的半徑,在未畸變的圖像中它到圖像中心的距離
函數(shù)rd=f(ru)被稱為正向變換因為它采用了一個未畸變的半徑值,并把它轉(zhuǎn)???? 化為一個畸變的半徑。也就是說,它適用于鏡頭發(fā)生畸變的點。
函數(shù)ru=f?1(rd)被稱為反向變換,是為了與正向變換進行對比,它校正了鏡? 頭的畸變值
P(?)表示一個多項式函數(shù)
SFRplus模塊和Checkboard模塊會返回描述糾正畸變的反向變換后的畸變系數(shù),ru=f-1(rd),下方為Rescharts模塊的分析結(jié)果:
Imatest畸變分析結(jié)果
Dot Pattern模塊返回一個不同參數(shù)的徑向畸變的多項式的系數(shù),稱為局部幾何失真(LGD)。以下是基于ISO 17850和CPIQ標準給出的測試結(jié)果。
基于CPIQ的畸變分析結(jié)果
LGD被定義為相對于真實誤差的徑向誤差,為百分比。LGD=100*(rd-ru)/ru,通過將LGD考慮為一個相對畸變圖像半徑的多項式函數(shù),P(rd),我們可以重新安排這個方程式的兩邊產(chǎn)生更有用的方程,有理多項式的畸變校正反向變換形式。因此,點狀圖結(jié)果可以向SFRplus/Checkboard那樣用同樣的方法。
????????????????????????????????????????? ru=rd/(P(rd)/100+1)=f-1(rd)
通過再采樣畸變校正
圖像傳感器的像素陣列基本上是一個規(guī)則間隔的網(wǎng)格光照取樣。當光落在上面的模式時,光線就已經(jīng)被鏡頭扭曲了,所以當傳感器定期地對光進行采樣時,這些光就不是有效的光照樣本了。所以為了能夠得到相應(yīng)的有效樣本,可以采用以下方法:
創(chuàng)建一個無失真、規(guī)則、有間隔的網(wǎng)格。在每一個“虛擬傳感器”像素的位置,重新進行采樣圖像數(shù)據(jù),并且在該圖像中這個位置,傳感器像素已經(jīng)進行了失真預(yù)測。由于畸變圖像被用網(wǎng)格重新采樣,所以它會經(jīng)歷了相同的畸變,但采樣結(jié)果會再次有規(guī)律的展現(xiàn)間隔,有效地消除失真。每個上層的網(wǎng)格線的交點代表了我們生成的像素位置在未畸變圖像中。我們在此已經(jīng)通過減少了“像素”來增加易讀性。圖像的下部代表畸變圖像,當網(wǎng)格被扭曲后,采樣網(wǎng)格覆蓋在其上。上面的規(guī)則間隔的陣列位置將被用從下方畸變圖像的不規(guī)則采樣數(shù)據(jù)填充,如本文第一張圖所示的扭曲的網(wǎng)格交點位置。如此我們就可以通過imatest軟件對畸變進行校正,雖然當中有一些理論上的假設(shè)條件,但根據(jù)經(jīng)驗來說,這種校準畸變的方式是有效的。