怎樣制作屬于自己的網(wǎng)站網(wǎng)站分享
文章目錄
- 1. 平行視圖的基礎(chǔ)矩陣
- 2. 圖像校正
- 3. 對應(yīng)點搜索
- 3.1. 相關(guān)匹配法
- 3.2. 相關(guān)匹配法存在的問題
課程視頻鏈接: 計算機視覺之三維重建(深入淺出SfM與SLAM核心算法)——5. 雙目立體視覺。
1. 平行視圖的基礎(chǔ)矩陣
極點 e ′ e' e′ 是相機光心 O 1 O_1 O1?(在相機 O 1 O_1 O1? 坐標(biāo)系下的齊次坐標(biāo)為 ( 0 0 0 1 ) \begin{pmatrix} 0 \\ 0 \\ 0 \\ 1 \end{pmatrix} ?0001? ?)在相機 O 2 O_2 O2? 對應(yīng)圖像平面上的投影點,即有:
e ′ = K ′ [ T x ] [ R T ] ( 0 0 0 1 ) = K T (1) e' = \mathbf{K}' [T_x] [\mathbf{R} \quad T] \begin{pmatrix} 0 \\ 0 \\ 0 \\ 1 \end{pmatrix} = \mathbf{K} T \tag{1} e′=K′[Tx?][RT] ?0001? ?=KT(1)注意到,旋轉(zhuǎn)矩陣 R \mathbf{R} R 被消去了。
在實際應(yīng)用中,通常會選取兩個規(guī)格一樣的相機,即有 K = K ′ \mathbf{K} = \mathbf{K}' K=K′,并且相機之間只存在平移變換,即 R = I \mathbf{R} = \mathbf{I} R=I,我們不妨設(shè)平移向量為 T = ( t x 0 0 ) T = \begin{pmatrix} t_x \\ 0 \\ 0 \end{pmatrix} T= ?tx?00? ?。根據(jù)方程 ( 1 ) (1) (1) 有 e ′ = K T = ( α ? α cot ? θ u 0 0 β sin ? θ v 0 0 0 1 ) ( t x 0 0 ) = ( α t x 0 0 ) e' = \mathbf{K} T = \begin{pmatrix} \alpha & -\alpha \cot \theta & u_0 \\ 0 & \dfrac{\beta}{\sin \theta} & v_0 \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} t_x \\ 0 \\ 0 \end{pmatrix} = \begin{pmatrix} \alpha t_x \\ 0 \\ 0 \end{pmatrix} e′=KT= ?α00??αcotθsinθβ?0?u0?v0?1? ? ?tx?00? ?= ?αtx?00? ?,不妨取 e ′ = ( 1 0 0 ) e' = \begin{pmatrix} 1 \\ 0 \\ 0 \end{pmatrix} e′= ?100? ?,則有:
F = [ e ′ × ] K ′ R K ? 1 = [ e ′ × ] = [ 0 0 0 0 0 ? 1 0 1 0 ] \mathbf{F} = [e^{\prime} \times] \mathbf{K}^{\prime} \mathbf{R} \mathbf{K}^{-1} = [e^{\prime} \times] = \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & -1 \\ 0 & 1 & 0 \end{bmatrix} F=[e′×]K′RK?1=[e′×]= ?000?001?0?10? ?由博客 三維重建 —— 4. 三維重建基礎(chǔ)與極幾何 可知, p ′ p' p′ 對應(yīng)的極線是 l = F T p ′ l = \mathbf{F}^T p' l=FTp′。假設(shè) p ′ p' p′ 在相機 O 2 O_2 O2? 坐標(biāo)系的空間坐標(biāo)為 ( p u ′ p v ′ 1 ) \begin{pmatrix} p_{u}' \\ p_{v}' \\ 1 \end{pmatrix} ?pu′?pv′?1? ?,則有:
l = F T p ′ = [ 0 0 0 0 0 1 0 ? 1 0 ] [ p u ′ p v ′ 1 ] = [ 0 1 ? p v ′ ] l = \mathbf{F}^{T} p' = \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & -1 & 0 \end{bmatrix} \begin{bmatrix} p_{u}' \\ p_{v}' \\ 1 \end{bmatrix} = \begin{bmatrix} 0 \\ 1 \\ -p_{v}' \end{bmatrix} l=FTp′= ?000?00?1?010? ? ?pu′?pv′?1? ?= ?01?pv′?? ?則極線 l l l 的方程為:
l T ( u v 1 ) = ( 0 , 1 , ? p v ′ ) ( u v 1 ) = v ? p v ′ = 0 l^T \begin{pmatrix} u \\ v \\ 1 \end{pmatrix} = \begin{pmatrix} 0, 1, -p_v' \end{pmatrix} \begin{pmatrix} u \\ v \\ 1 \end{pmatrix} = v - p_v' = 0 lT ?uv1? ?=(0,1,?pv′??) ?uv1? ?=v?pv′?=0可以看出,極線 l l l 平行于 u u u 軸,并且 p p p 和 p ′ p' p′ 的 v v v 坐標(biāo)一樣。
現(xiàn)在我們來推導(dǎo)雙目立體視覺的經(jīng)典公式:
d = B f z (2) d = \dfrac{Bf}{z} \tag{2} d=zBf?(2)其中:
- d d d 為視差
- B B B 為基線,表示相機光心 O 1 O_1 O1? 到 O 2 O_2 O2? 的距離
- z z z 為點 P P P 的深度值
推導(dǎo)方法如下:
從公式 ( 2 ) (2) (2) 可以看出:視差 d d d 與深度 z z z 成反比。
根據(jù)視差與深度的關(guān)系,已知基線和焦距的話,我們可以計算出視差圖,如下圖所示:
2. 圖像校正
如果兩個相機不滿足前面提到的關(guān)系,我們可以通過圖像校正的方法將兩個圖像平面滿足雙目立體視覺的要求,如下圖所示:
圖像校正的具體步驟如下圖所示:
詳細(xì)的證明參考書籍:Richard Hartley, AndrewZisserman,《Multiple ViewGeometryin Computer Vision》。
圖像校正效果示例如下:
3. 對應(yīng)點搜索
3.1. 相關(guān)匹配法
給定三維空間點,如何在左右圖像中找到相應(yīng)的觀測值,被稱為雙目融合問題。假設(shè)我們已知 u v uv uv 平面上點 p p p 的坐標(biāo),根據(jù)極幾何,我們只需要在極線上搜索即可,如下圖所示:
下面介紹使用相關(guān)匹配來獲取對應(yīng)點的方法,如下圖所示:
??相關(guān)匹配法的核心思想是:?? 若兩個像素點為真實物理點的對應(yīng)像點(對應(yīng)點),則其各自??固定窗口(鄰域)內(nèi)的局部特征應(yīng)具有較高的相似度。?
如果兩個相機拍攝的圖像的亮度和曝光不一致,那么相關(guān)匹配法很有可能失效,如下圖所示:
為此引入歸一化相關(guān)匹配法,即對窗口內(nèi)的特征向量進(jìn)行歸一化處理,如下圖所示:
歸一化相關(guān)匹配法示例如下圖所示:
窗口大小選擇對相關(guān)匹配法效果的影響如下圖所示:
3.2. 相關(guān)匹配法存在的問題
相關(guān)匹配法主要存在兩方面的問題:
透視縮短
:如圖所示,同一物體區(qū)域在不同視角下成像大小不同。對于固定尺寸的匹配窗口,其在兩幅圖像上所覆蓋的區(qū)域?qū)⒋嬖诓町?#xff0c;導(dǎo)致提取的特征區(qū)域不對應(yīng),從而引發(fā)誤匹配遮擋
:物體間的相互遮擋會導(dǎo)致在兩幅圖像中可見的目標(biāo)區(qū)域不一致,同樣使得特征提取區(qū)域匹配失敗
如下圖所示,??長基線可提升深度感知精度(尤其對遠(yuǎn)距離目標(biāo))??,而??短基線則能緩解透視畸變與遮擋對相關(guān)匹配法的干擾,但會顯著降低深度估計的準(zhǔn)確性??。
長基線擴大視差范圍,提升遠(yuǎn)距離目標(biāo)深度精度,但需更高分辨率攝像頭捕捉細(xì)微視差。而短基線減少視角差異,緩解遮擋和透視畸變的影響,但視差計算靈敏度下降,導(dǎo)致深度誤差增大。基線設(shè)計需平衡深度精度與環(huán)境適應(yīng)性(如遮擋/透視),實際應(yīng)用中需根據(jù)場景需求選擇。
除了透視縮短和遮擋問題外,還存在下圖中的兩個問題:
對應(yīng)點的問題總結(jié)如下:
通過引入更多的約束解決對應(yīng)點問題,如下圖所示: