張正友標定演算法原理詳解

2021-08-14 02:11:32 字數 4591 閱讀 2055

」張正友標定」是指張正友教授2023年提出的單平面棋盤格的攝像機標定方法[1]。文中提出的方法介於傳統標定法和自標定法之間,但克服了傳統標定法需要的高精度標定物的缺點,而僅需使用乙個列印出來的棋盤格就可以。同時也相對於自標定而言,提高了精度,便於操作。因此張氏標定法被廣泛應用於計算機視覺方面。

根據之前部落格介紹的攝像機模型,設三維世界座標的點為x=

[x,y

,z,1

]t,二維相機平面畫素座標為m=

[u,v

,1]t

,所以標定用的棋盤格平面到影象平面的單應性關係為:  s

0m=k

[r,t

]x

其中s為尺度因子,k為攝像機內引數,r為旋轉矩陣,t為平移向量。令 k=

⎡⎣⎢α

00γβ

0u0v

01⎤⎦

⎥ 注意,s對於齊次座標來說,不會改變齊次座標值。張氏標定法中,將世界座標繫狗仔在棋盤格平面上,令棋盤格平面為z=0的平面。則可得 s⎡

⎣⎢uv

1⎤⎦⎥

=k[r

1r2r

3t]⎡

⎣⎢⎢⎢

xy01

⎤⎦⎥⎥

⎥=k[

r1r2

t]⎡⎣

⎢xy1

⎤⎦⎥

我們把k[r1, r2, t]叫做單應性矩陣h,即 s⎡

⎣⎢uv

1⎤⎦⎥

=h⎡⎣

⎢xy1

⎤⎦⎥h

=[h1

h2h3

]=λk

[r1r

2t]

h是乙個齊次矩陣,所以有8個未知數,至少需要8個方程,每對對應點能提供兩個方程,所以至少需要四個對應點,就可以算出世界平面到影象平面的單應性矩陣h。

由上式可得  λ

=1sr

1=1λ

k−1h

1r2=

1λk−

1h2

由於旋轉矩陣是個酉矩陣,r1和r2正交,可得 rt

1r2=

0||r

1||=

||r2

||=1

代入可得: ht

1k−t

k−1h

2=0h

t1k−

tk−1

h1=h

t2k−

tk−1

h2

即每個單應性矩陣能提供兩個方程,而內引數矩陣包含5個引數,要求解,至少需要3個單應性矩陣。為了得到三個不同的單應性矩陣,我們使用至少三幅棋盤格平面的進行標定。通過改變相機與標定板之間的相對位置來得到三個不同的。為了方便計算,定義如下: b=

k−tk

−1=⎡

⎣⎢b11

b21b31

b12b22

b32b13

b23b33

⎤⎦⎥=

⎡⎣⎢⎢

⎢⎢⎢⎢

⎢⎢⎢1

α2−γ

α2βv

0γ−u

0βα2

β−γα

2βγ2

α2β2

+1β2

−γ(v

0γ−u

0β)α

2β2−

v0β2

v0γ−

u0βα

2β−γ

(v0γ

−u0β

)α2β

2−v0

β2(v

0γ−u

0β)2

α2β2

+v0β

2+1⎤

⎦⎥⎥⎥

⎥⎥⎥⎥

⎥⎥

可以看到,b是乙個對稱陣,所以b的有效元素為六個,讓這六個元素寫成向量b,即 b=

[b11b

12b22b

13b23b

33]t

可以推導得到 ht

ibhj

=vti

jbvi

j=[h

i1hj

1hi1

hj2+

hi2h

j1hi

2hj2

hi3h

j1+h

i1hj

3hi3

hj2+

hi2h

j3hi

3hj3

]t

利用約束條件可以得到: [v

t12(v

11−v22

)t]b

=0

通過上式,我們至少需要三幅包含棋盤格的影象,可以計算得到b,然後通過cholesky分解,得到相機的內引數矩陣k。

由之前的推導,可得  λ

=1s=

1∥a−

1h1∥

=1∥a

−1h2

∥r1=

1λk−

1h1r

2=1λ

k−1h

2r3=

r1×r

2t=λ

k−1h

3 上述的推導結果是基於理想情況下的解,但由於可能存在高斯雜訊,所以使用最大似然估計進行優化。設我們採集了n副包含棋盤格的影象進行定標,每個影象裡有棋盤格角點m個。令第i副影象上的角點mj在上述計算得到的攝像機矩陣下影象上的投影點為:  m

^(k,

ri,t

i,mi

j)=k

[r|t

]mij

其中ri和ti是第i副圖對應的旋轉矩陣和平移向量,k是內引數矩陣。則角點mij的概率密度函式為: f(

mij)

=12π

−−√e

−(m^

(k,r

i,ti

,mij

)−mi

j)2σ

2 構造似然函式: l(

a,ri

,ti,

mij)

=∏i=

1,j=

1n,m

f(mi

j)=1

2π−−

√e−∑

ni=1

∑mj=

1(m^

(k,r

i,ti

,mij

)−mi

j)2σ

2 讓l取得最大值,即讓下面式子最小。這裡使用的是多引數非線性系統優化問題的levenberg-marquardt演算法[2]進行迭代求最優解。 ∑i

=1n∑

j=1m

∥m^(

k,ri

,ti,

mij)

−mij

∥2

張氏標定法只關注了影響最大的徑向畸變。則數學表示式為:  u

^=u+

(u−u

0)[k

1(x2

+y2)

+k2(

x2+y

2)2]

v^=v

+(v−

v0)[

k1(x

2+y2

)+k2

(x2+

y2)2

] 其中,(u,v)是理想無畸變的畫素座標,(u

^,v^

) 是實際畸變後的畫素座標。(u0,v0)代表主點,(x,y)是理想無畸變的連續影象座標,(x

^,y^

) 是實際畸變後的連續影象座標。k1和k2為前兩階的畸變引數。 u^

=u0+

αx^+

γy^v

^=v0

+βy^

化作矩陣形式: [(

u−u0

)(x2

+y2)

(v−v

0)(x

2+y2

)(u−

u0)(

x2+y

2)2(

v−v0

)(x2

+y2)

2][k

1k2]

=[u^

−uv^

−v]

記做: dk

=d

則可得: k=

[k1k

2]t=

(dtd

)−1d

td

計算得到畸變係數k。

使用最大似然的思想優化得到的結果,即像上一步一樣,lm法計算下列函式值最小的引數值:  ∑

i=1n

∑j=1

m∥m^

(k,k

1,k2

,ri,

ti,m

ij)−

mij∥

2 到此,張氏標定法介紹完畢。我們也得到了相機內參、外參和畸變係數。

1、zhang, zhengyou - 《ieee transactions on pattern analysis & machine intelligence》 - 2000 

2、j.more.thelevenberg-marquardtalgorithm,implementationandtheory.ing.a.watson, 

editor,numericalanalysis,lecturenotesinmathematics630.springer-verlag,1977.

張正友標定法原理 張正友標定演算法原理詳解

擊上方 新機器視覺 選擇加 星標 或 置頂 重磅乾貨,第一時間送達 張正友標定 是指張正友教授1998年提出的單平面棋盤格的攝像機標定方法 1 文中提出的方法介於傳統標定法和自標定法之間,但克服了傳統標定法需要的高精度標定物的缺點,而僅需使用乙個列印出來的棋盤格就可以。同時也相對於自標定而言,提高了...

張正友標定推導詳解

下面著重來講一下著名的張正友標定法。這裡直接拿上篇博文的結果,中間省去了其它座標系直接的關係,直接給出,如下所示 公式如下 為了和張正友教授的 相統一,現在把公式符號統一一下。第一點 旋轉向量r為正交矩陣,所以又以下的性質 第二點 就是s。它是尺度因子,它的出現只是為了方便運算,而且對於齊次座標,尺...

張正友標定學習

張正友標定學習 1 標定的理解 影象和三維空間的物體存在某一種對應關係,可以表示為x mx,而其中的m就表示一種幾何模型,這個相機模型中的引數就是相機引數,所以確定相機引數 內參 外參 的過程就為標定。2 從計算機視覺角度理解成像過程 簡化成像模型 薄透鏡針孔模型 圖 成像過程 如上圖所示,從計算機...