魚眼相機成像模型

2021-08-01 10:59:32 字數 2551 閱讀 2582

魚眼鏡頭一般是由十幾個不同的透鏡組合而成的,在成像的過程中,入射光線經過不同程度的折射,投影到尺寸有限的成像平面上,使得魚眼鏡頭與普通鏡頭相比起來擁有了更大的視野範圍。下圖表示出了魚眼相機的一般組成結構。最前面的兩個鏡頭發生折射,使入射角減小,其餘的鏡頭相當於乙個成像鏡頭,這種多元件的構造結構使對魚眼相機的折射關係的分析變得相當複雜。 

研究表明魚眼相機成像時遵循的模型可以近似為單位球面投影模型。可以將魚眼相機的成像過程分解成兩步:第一步,三維空間點線性地投影到乙個球面上,它是乙個虛擬的單位球面,它的球心與相機座標系的原點重合;第二步,單位球面上的點投影到影象平面上,這個過程是非線性的。下圖表示出了魚眼相機的成像過程。 

我們知道,普通相機成像遵循的是針孔相機模型,在成像過程中實際場景中的直線仍被投影為影象平面上的直線。但是魚眼相機如果按照針孔相機模型成像的話,投影圖像會變得非常大,當相機視場角達到180°時,影象甚至會變為無窮大。所以,魚眼相機的投影模型為了將盡可能大的場景投影到有限的影象平面內,允許了相機畸變的存在。並且由於魚眼相機的徑向畸變非常嚴重,所以魚眼相機主要的是考慮徑向畸變,而忽略其餘型別的畸變。

為了將盡可能大的場景投影到有限的影象平面內,魚眼相機會按照一定的投影函式來設計。根據投影函式的不同,魚眼相機的設計模型大致能被分為四種:等距投影模型、等立體角投影模型、正交投影模型和體視投影模型。下面的四種魚眼相機的投影模型反映出了空間中的一點p是如何投影到球面上,然後到影象平面上成像的。

上述式子中,rd表示魚眼影象中的點到畸變中心的距離,是魚眼相機的焦距,是入射光線與魚眼相機光軸之間的夾角,即入射角。

2)opencv中使用的模型是由kannala提出的一種魚眼相機的一般近似模型。在等距投影模型的基礎上提出來的。下面來詳細分析其魚眼相機模型的提出過程。我們可以將魚眼相機模型的形式統一以等距投影模型的形式來表示,即  r

d=fθ

d 對實際的魚眼鏡頭來說,它們不可能精確地按照投影模型來設計,所以為了方便魚眼相機的標定,kannala提出了一種魚眼相機的一般多項式近似模型。通過前面的四個模型,可以發現θd

是θ的奇函式,而且將這些式子按泰勒級數展開,發現θd

可以用θ 的奇次多項式表示,即 θd

=k0θ

+k1θ

3+k2

θ5+k

3θ7+

⋯ 為了實際計算的方便,需要確定式中θd

取到的次冪數。kannala提出取式的前五項即取到的九次方,就給出了足夠的自由度來很好地近似各種投影模型。θd

的一次項係數可以為1,於是opencv中使用的魚眼相機模型為: θd

=k0θ

+k1θ

3+k2

θ5+k

3θ7+

k4θ9

上式表示的模型是根據四種魚眼相機投影模型得出的一種通用魚眼相機多項式模型。這種模型根據θ能夠得到θd

,即通過無畸變影象中的點能夠計算出魚眼影象中的畸變點。這種模型在opencv的魚眼相機標定方法中是適用的,因為opencv借助標定板對魚眼相機進行標定。從空間點到魚眼影象上的點的變換過程可用式子表示為: ⎡⎣

⎢xcy

czc⎤

⎦⎥=r

x+t

xc=xcz

c,yc

=ycz

cr2=

x2c+

y2cθ

=arc

tan(

r)θd

=k0θ

+k1θ

3+k2

θ5+k

3θ7+

k4θ9

xd=θ

drxc

,yd=

θdry

cu=f

xxd+

cx,v

=fyy

d+cy

上面式子中,x

表示空間點,xc

表示相機座標系下對應的空間點,r

和t分別是兩個座標系之間的旋轉矩陣和平移向量,(u

,v)t

表示投影到魚眼影象上的對應點。opencv中對魚眼相機的標定步驟能夠分成四步:(1)初始化內引數;(2)初始化外引數;(3)使用lm演算法最小化定位的影象點和投影的影象點之間的投影誤差;(4)確定結果。

魚眼相機標定模型

camera calibration是計算camera的extrinsic 外參 和 intrinsic 內參 的過程。一旦你標定完成了乙個camera,你即可從2維影象中去恢復3維影象。你同樣可以在在乙個魚眼相機中獲得未失真的影象。為了將3維世界座標系的點關聯到2維影象座標系中,必須獲取相機的外部...

相機成像模型

相機成像的過程就是世界座標係向畫素座標系轉換的過程,即 世界座標系 3d 相機座標系 3d 像平面座標系 2d 畫素座標系 2d 經過這樣一級一級的轉換之後,物體在空間中的座標即轉換為在影象中的畫素座標。四個座標系的表示如下 1 世界座標系 3d 相機座標系 3d 從世界座標系到相機座標系的轉換是剛...

opencv相機標定 3 魚眼鏡頭成像模型與標定

這篇部落格介紹得很詳細,鏈結 其中,opencv魚眼相機標定後,畸變引數是4個,鏈結裡部落格的畸變引數是五個,應該是使k0 1.1 世界座標系 相機座標系 2 相機座標系 影象物理座標系 注意使用的是歸一化的座標,魚眼模型好像都是近似為單位球面投影模型,這點還是比較困惑,為什麼不直接用f,而是在單位...