一、小孔成像模型

世界坐标系到相机坐标系


[xcyczc]=R[xwywzw]+t即[xcyczc1]=[Rt0T1][xwywzw1]=TPw(1.0)\begin{bmatrix} x_{c}\\y_{c}\\z_{c} \end{bmatrix} = R\begin{bmatrix} x_{w}\\y_{w}\\z_{w}\end{bmatrix}+t \\\;\\ 即\begin{bmatrix} x_{c}\\y_{c}\\z_{c} \\1\end{bmatrix}=\begin{bmatrix} R&t\\0^{T}&1 \end{bmatrix}\begin{bmatrix} x_{w}\\y_{w}\\z_{w}\\1 \end{bmatrix}=TP_{w}\tag{1.0}⎣⎡​xc​yc​zc​​⎦⎤​=R⎣⎡​xw​yw​zw​​⎦⎤​+t即⎣⎢⎢⎡​xc​yc​zc​1​⎦⎥⎥⎤​=[R0T​t1​]⎣⎢⎢⎡​xw​yw​zw​1​⎦⎥⎥⎤​=TPw​(1.0)

相机坐标系到像平面的投影

​由三角形的相似性有:
zcf=xcxc′=ycyc′(1.1)\frac{z_{c}}{f} = \frac{x_{c}}{x_{c}^{'}} = \frac{y_{c}}{y_{c}^{'}}\tag{1.1} fzc​​=xc′​xc​​=yc′​yc​​(1.1)
即:
[xc′yc′]=[fxczcfyczc](1.2)\begin{bmatrix}x_{c}^{'}\\ \\y^{'}_{c}\end{bmatrix}=\begin{bmatrix}f\frac{x_{c}}{z_{c}}\\\\f\frac{y_{c}}{z_{c}}\end{bmatrix}\tag{1.2} ⎣⎡​xc′​yc′​​⎦⎤​=⎣⎡​fzc​xc​​fzc​yc​​​⎦⎤​(1.2)
其中(xc′,yc′)(x_{c}^{'}, y_{c}^{'})(xc′​,yc′​)表示像平面坐标,坐标原点在像平面中心,(xc,yc)(x_{c}, y_{c})(xc​,yc​)表示点在相机坐标系内的坐标。

​  像素坐标系:原点o′o^{'}o′在图像的左上角,uuu轴与x轴方向平行,uuu轴向右与xxx轴方向平行,vvv轴向下与yyy轴平行。像素坐标系与成像平面之间相差一个缩放和一个原点的平移。设像素坐标在uuu轴上缩放了α\alphaα倍,在vvv轴上缩放β\betaβ倍,同时原点平移了[u0,v0]T[u_{0}, v_{0}]^T[u0​,v0​]T。那么,PPP的坐标与像素坐标的关系如(1.3)所示:

[uv]=[αxc′+u0βyc′+v0](1.3)\begin{bmatrix}u \\\\v\end{bmatrix}= \begin{bmatrix}\alpha x_{c}^{'} + u_{0}\\\\\beta y_{c}^{'} + v_{0}\end{bmatrix}\tag{1.3} ⎣⎡​uv​⎦⎤​=⎣⎡​αxc′​+u0​βyc′​+v0​​⎦⎤​(1.3)
将(1.2)带入(1.3)中有:
[uv]=[fxxczc+u0fyyczc+v0](1.4)\begin{bmatrix}u\\\\v \end{bmatrix} = \begin{bmatrix}f_{x}\frac{x_{c}}{z_{c}} + u_{0}\\\\f_{y}\frac{y_{c}}{z_{c}} + v_{0}\end{bmatrix}\tag{1.4} ⎣⎡​uv​⎦⎤​=⎣⎡​fx​zc​xc​​+u0​fy​zc​yc​​+v0​​⎦⎤​(1.4)
 其中,fff的单位为米,α\alphaα、β\betaβ的单位为像素每米,所以fxf_{x}fx​,fyf_{y}fy​的单位为像素,将其写成矩阵形式如式(1.5)所示:

zc{uv1}={fx0u00fyv0001}{xcyczc}=KPc(1.5)z_{c}\left\{ \begin{matrix} u \\ v \\ 1 \end{matrix} \right\} = \left\{ \begin{matrix} f_{x} & 0 & u_{0} \\ 0 & f_{y} & v_{0}\\ 0 &0&1 \end{matrix} \right\}\left\{ \begin{matrix} x_{c} \\ y_{c} \\ z_{c} \end{matrix} \right\} =KP_{c}\tag{1.5} zc​⎩⎨⎧​uv1​⎭⎬⎫​=⎩⎨⎧​fx​00​0fy​0​u0​v0​1​⎭⎬⎫​⎩⎨⎧​xc​yc​zc​​⎭⎬⎫​=KPc​(1.5)
其中:K为相机的内参矩阵(Camera Intrinsics),PcP_{c}Pc​为相机坐标系下的坐标。


二、相机成像模型


zc{uv1}=K(RPw+t)=KTPw(2.1)z_{c}\left\{\begin{matrix} u\\v\\1 \end{matrix}\right\} = K(RP_{w}+t) = KTP_{w}\tag{2.1} zc​⎩⎨⎧​uv1​⎭⎬⎫​=K(RPw​+t)=KTPw​(2.1)
其中PwP_{w}Pw​为世界坐标系下的坐标,R为世界坐标系到相机坐标系的旋转矩阵,t为平移矩阵。(R, t)称为相机的外参数。
(uv1)=1zc(fα0u00fβv0001)[Rt0T1](xwywzw1)=1zcK[Rt](xwywzw1)(2.2)\left(\begin{array}{c} u \\ v \\ 1 \end{array}\right)=\frac{1}{z_{c}}\left(\begin{array}{ccc} f_{\alpha} & 0 & u_{0} \\ 0 & f_{\beta} & v_{0} \\ 0 & 0 & 1 \end{array}\right)\left[\begin{array}{cc} \boldsymbol{R} & \boldsymbol{t} \\ \mathbf{0}^{T} & 1 \end{array}\right]\left(\begin{array}{c} x_{w} \\ y_{w} \\ z_{w} \\ 1 \end{array}\right)=\frac{1}{z_{c}} \boldsymbol{K}\left[\begin{array}{ll} \boldsymbol{R} & \boldsymbol{t} \end{array}\right]\left(\begin{array}{c} x_{w} \\ y_{w} \\ z_{w} \\ 1 \end{array}\right)\tag{2.2}⎝⎛​uv1​⎠⎞​=zc​1​⎝⎛​fα​00​0fβ​0​u0​v0​1​⎠⎞​[R0T​t1​]⎝⎜⎜⎛​xw​yw​zw​1​⎠⎟⎟⎞​=zc​1​K[R​t​]⎝⎜⎜⎛​xw​yw​zw​1​⎠⎟⎟⎞​(2.2)


三、径向畸变

  由于相机透镜的成像模型不能完全达到理想的小孔成像模型,因此会发生径向畸变与切向畸变,一般在归一化像平面上讨论径向畸变与切向畸变
x=xcorrected(1+k1r2+k2r4+k3r6)y=ycorrected(1+k1r2+k2r4+k3r6)(3.1)x = x_{corrected}(1+k_{1}r^{2}+k_{2}r^{4}+k_{3}r^{6})\\y = y_{corrected}(1+k_{1}r^{2}+k_{2}r^{4}+k_{3}r^{6})\tag{3.1} x=xcorrected​(1+k1​r2+k2​r4+k3​r6)y=ycorrected​(1+k1​r2+k2​r4+k3​r6)(3.1)

[x,y]T[x, y]^{T}[x,y]T是相机拍摄有畸变图像上的点,[xcorrected,ycorrected]T[x_{corrected}, y_{corrected}]^{T}[xcorrected​,ycorrected​]T是经过矫正后的点。他们都是归一化像平面上的点。得到矫正图像的过程是:比如现在求矫正后图像上(100,100)这个点的像素的灰度值,就将(xcorrected,ycorrected)=(100,100)(x_{corrected}, y_{corrected}) = (100, 100)(xcorrected​,ycorrected​)=(100,100)代入(3.1)式中,得到(x,y)的坐标值(如果x,y不是整数,需要用双线性插值求取),然后将畸变图像(x,y)上的像素灰度值copy到矫正后图像(100,100)坐标上。
  通常我们只用k1,k2k_{1},k_{2}k1​,k2​来矫正相机,对于畸变较小的图像中心区域,主要是k1k_{1}k1​在起作用,对于畸变较大的图像的边缘区域,主要是k2k_{2}k2​在起作用。一般对于鱼眼相机,才会使用k3k_{3}k3​去矫正相机的畸变。

四、对极几何

4.1 模型推导

其中O1O2PO_{1}O_{2}PO1​O2​P称为极平面, e1,e2e_{1},e_{2}e1​,e2​称为极点,O1O2O_{1}O_{2}O1​O2​称为基线, l1,l2l_{1}, l_{2}l1​,l2​称为极线,极线的意义在于,如果要在右视图搜索左视图中的x1x_{1}x1​点,xlx_{l}xl​点在右视图的同名点一定落在右视图的极线x2x_{2}x2​上,这样可以减小搜索范围,提高搜索效率.极线校正的目的也是如此.

不妨假设相机坐标系和O1O_{1}O1​坐标系一致,P的相机坐标为XXX
由式(1.5)得:
d1x1=K1Xd2x2=K2(RX+t)(4.1)d_{1}x_{1} = K_{1}X\\d_{2}x_{2} = K_{2}(RX+t)\tag{4.1}d1​x1​=K1​Xd2​x2​=K2​(RX+t)(4.1)

 其中KKK为内参矩阵, R,tR, tR,t为相机2相对相机1的外参矩阵。
由(4.1)与(4.2)得:
d1K1−1x1=Xd2K2−1x2=RX+t(4.2)d_{1}K_{1}^{-1}x_{1} = X\\d_{2}K_{2}^{-1}x_{2} = RX+t\tag{4.2}d1​K1−1​x1​=Xd2​K2−1​x2​=RX+t(4.2)

记x^1=K1−1x1\hat{x}_{1}=K_{1}^{-1}x_{1}x^1​=K1−1​x1​, x^2=K2−1x2\hat{x}_{2}=K_{2}^{-1}x_{2}x^2​=K2−1​x2​,则有:
d1x^1=Xd2x^2=RX+t(4.3)d_{1}\hat{x}_{1} = X\\d_{2}\hat{x}_{2}=RX+t \tag{4.3}d1​x^1​=Xd2​x^2​=RX+t(4.3)

结合(4.3)两个式子:
d2x^2=d1Rx^1+t(4.4)d_{2}\hat{x}_{2} = d_{1}R\hat{x}_{1}+t\tag{4.4}d2​x^2​=d1​Rx^1​+t(4.4)

不妨假设像平面为归一化像平面,即d1=d2=1d_{1}=d_{2}=1d1​=d2​=1,则有:
x^2=Rx^1+t(4.5)\hat{x}_{2} = R\hat{x}_{1}+t\tag{4.5}x^2​=Rx^1​+t(4.5)

对(4.5)两侧同时左乘 t 的反对称(也就是和t做叉乘)得:
t∗x^2=t∗Rx^1+0(4.6)t^{*}\hat{x}_{2}=t^{*}R\hat{x}_{1}+0\tag{4.6}t∗x^2​=t∗Rx^1​+0(4.6)

对(4.6)两侧同时左乘 x2Tx_{2}^{T}x2T​得:
x^2Tt∗x^2=x^2Tt∗Rx^1+0(4.7)\hat{x}_{2}^{T}t^{*}\hat{x}_{2}=\hat{x}_{2}^{T}t^{*}R\hat{x}_{1}+0\tag{4.7}x^2T​t∗x^2​=x^2T​t∗Rx^1​+0(4.7)

观察(4.7)左侧,t∗t^{*}t∗与x^2\hat{x}_{2}x^2​做完叉积的向量一定垂直与x^2\hat{x}_{2}x^2​,所以左侧为0,即对极约束
x^2Tt∗Rx^1=0(4.8)\hat{x}_{2}^{T}t^{*}R\hat{x}_{1}=0\tag{4.8}x^2T​t∗Rx^1​=0(4.8)

将x^1=K1−1x1\hat{x}_{1}=K_{1}^{-1}x_{1}x^1​=K1−1​x1​, x^2=K2−1x2\hat{x}_{2}=K_{2}^{-1}x_{2}x^2​=K2−1​x2​代入(4.8)中得带内参的对极约束
x2TK2−Tt∗RK1−1x1=0(4.9)x_{2}^{T}K_{2}^{-T}t^{*}RK_{1}^{-1}x_{1}=0\tag{4.9}x2T​K2−T​t∗RK1−1​x1​=0(4.9)

定义:
本质矩阵(Essential Matrix):E=t∗R(4.10)E=t^{*}R\tag{4.10}E=t∗R(4.10)
基础矩阵(Funfamental Matrix):F=K2−Tt∗RK1−1=K2−TEK1−1(4.11)F=K_{2}^{-T}t^{*}RK_{1}^{-1} = K_{2}^{-T}EK_{1}^{-1}\tag{4.11}F=K2−T​t∗RK1−1​=K2−T​EK1−1​(4.11)

4.2 基础矩阵F求解

 基础矩阵F的性质:

  1. 维度为3x3,秩为2
  2. 具有7个自由度
  3. 奇异值为[δ1,δ2,0]T[\delta_{1}, \delta_{2}, 0]^{T}[δ1​,δ2​,0]T
  4. 极线约束:l1=x2TFl_{1}=x_{2}^{T}Fl1​=x2T​F , l2=x1TFl_{2}=x_{1}^{T}Fl2​=x1T​F , x2TFx1=0x_{2}^{T}Fx_{1}=0x2T​Fx1​=0
    基础矩阵的求解:

    • 直接线性变换法
       8点法
       最小二乘法
    • 基于Ransac的方法

4.2.1 直接线性变换法

对于一对匹配点 x1=[u1,v1,1]T,x2=[u2,v2,1]T\boldsymbol{x}_{1}=\left[\begin{array}{lllll} u_{1}, & v_{1}, & 1 \end{array}\right]^{\mathrm{T}}, \boldsymbol{x}_{2}=\left[\begin{array}{lll} u_{2}, & v_{2}, & 1 \end{array}\right]^{\mathrm{T}}x1​=[u1​,​v1​,​1​]T,x2​=[u2​,​v2​,​1​]T,根据对极约束x2TFx1=0\boldsymbol{x}_{2}^{T} \boldsymbol{F} \boldsymbol{x}_{1}=\mathbf{0}x2T​Fx1​=0有:
(u1v11)[F11F12F13F21F22F23F31F32F33](u2v21)=0(4.12)\left(\begin{array}{lll} u_{1} & v_{1} & 1 \end{array}\right)\left[\begin{array}{ccc} F_{11} & F_{12} & F_{13} \\ F_{21} & F_{22} & F_{23} \\ F_{31} & F_{32} & F_{33} \end{array}\right]\left(\begin{array}{c} u_{2} \\ v_{2} \\ 1 \end{array}\right)=0\tag{4.12}(u1​​v1​​1​)⎣⎡​F11​F21​F31​​F12​F22​F32​​F13​F23​F33​​⎦⎤​⎝⎛​u2​v2​1​⎠⎞​=0(4.12)

令f=[F11,F12,F13,F21,F22,F23,F31,F32,F33]T\boldsymbol{f}=\left[\begin{array}{lllllllll} F_{11}, & F_{12}, & F_{13}, & F_{21}, & F_{22}, & F_{23}, & F_{31}, & F_{32}, & F_{33} \end{array}\right]^{T}f=[F11​,​F12​,​F13​,​F21​,​F22​,​F23​,​F31​,​F32​,​F33​​]T则有:
[u1u1,u1v2,u1,v2u1,v1v2,v1,u2,v2,1]f=0(4.13)\left[u_{1} u_{1}, \quad u_{1} v_{2}, \quad u_{1}, \quad v_{2} u_{1}, \quad v_{1} v_{2}, \quad v_{1}, \quad u_{2}, \quad v_{2}, \quad 1\right] \boldsymbol{f}=0\tag{4.13}[u1​u1​,u1​v2​,u1​,v2​u1​,v1​v2​,v1​,u2​,v2​,1]f=0(4.13)
其中每对匹配点提供一个约束。
当存在n对匹配点时有:
Af=0(4.14)Af=0\tag{4.14}Af=0(4.14)
其中:
A=(u1(1)u1(1),u1(1)v2(1),u1(1),v1(1)u2(1),v1(1)v2(1),v1(1),u2(1),v2(1),1u1(2)u1(2),u1(2)v2(2),u1(2),v1(2)u2(2),v1(2)v2(2),v1(2),u2(2),v2(2),1⋮⋮⋮⋮⋮⋮⋮⋮⋮u1(n)u1(n),u1(n)v2(n),u1(n),v1(n)u2(n),v1(n)v2(n),v1(n),u2(n),v2(n),1)\boldsymbol{A}=\left(\begin{array}{ccccccccc} u_{1}^{(1)} u_{1}^{(1)}, & u_{1}^{(1)} v_{2}^{(1)}, & u_{1}^{(1)}, & v_{1}^{(1)} u_{2}^{(1)}, & v_{1}^{(1)} v_{2}^{(1)}, & v_{1}^{(1)}, & u_{2}^{(1)}, & v_{2}^{(1)}, & 1 \\ u_{1}^{(2)} u_{1}^{(2)}, & u_{1}^{(2)} v_{2}^{(2)}, & u_{1}^{(2)}, & v_{1}^{(2)} u_{2}^{(2)}, & v_{1}^{(2)} v_{2}^{(2)}, & v_{1}^{(2)}, & u_{2}^{(2)}, & v_{2}^{(2)}, & 1 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ u_{1}^{(n)} u_{1}^{(n)}, & u_{1}^{(n)} v_{2}^{(n)}, & u_{1}^{(n)}, & v_{1}^{(n)} u_{2}^{(n)}, & v_{1}^{(n)} v_{2}^{(n)}, & v_{1}^{(n)}, & u_{2}^{(n)}, & v_{2}^{(n)}, & 1 \end{array}\right)A=⎝⎜⎜⎜⎜⎛​u1(1)​u1(1)​,u1(2)​u1(2)​,⋮u1(n)​u1(n)​,​u1(1)​v2(1)​,u1(2)​v2(2)​,⋮u1(n)​v2(n)​,​u1(1)​,u1(2)​,⋮u1(n)​,​v1(1)​u2(1)​,v1(2)​u2(2)​,⋮v1(n)​u2(n)​,​v1(1)​v2(1)​,v1(2)​v2(2)​,⋮v1(n)​v2(n)​,​v1(1)​,v1(2)​,⋮v1(n)​,​u2(1)​,u2(2)​,⋮u2(n)​,​v2(1)​,v2(2)​,⋮v2(n)​,​11⋮1​⎠⎟⎟⎟⎟⎞​
因此,要保证模型有唯一解,至少需要8对匹配点。

  1. 若n=8,且A为非奇异矩阵,则f有唯一解,这种求解方式称为8点法。
  2. 若n>=8n >=8n>=8,该方程是一个超定方程组,使用最小二乘法求解f,ATAA^{T}AATA最小的特征值对应的特征向量为最优解。

4.2.2 奇异值约束

  直接线性变换法无法保证基础矩阵的奇异值约束——有两个非0的奇异值,为此使用奇异值约束对矩阵进行重构,目标如式4.15所示:
min⁡∥F−F^∥,wrt. svd⁡(F)=[σ1,σ2,0](4.15)\min \|F-\hat{F}\|, \text { wrt. } \operatorname{svd}(F)=\left[\begin{array}{lll} \sigma_{1}, & \sigma_{2}, & 0 \end{array}\right]\tag{4.15}min∥F−F^∥, wrt. svd(F)=[σ1​,​σ2​,​0​](4.15)
上式表示在保证最小重构误差条件下,使重构后的F矩阵满足奇异值约束。
首先对求得的基础矩阵F^\hat{\boldsymbol{F}}F^进行奇异值分解,得到奇异值矩阵S:
F^=USVTwith S=diag⁡(σ1,σ2,σ3)(4.16)\hat{\boldsymbol{F}}=\boldsymbol{U S V}^{T} \text { with } \boldsymbol{S}=\operatorname{diag}\left(\sigma_{1}, \sigma_{2}, \sigma_{3}\right)\tag{4.16}F^=USVT with S=diag(σ1​,σ2​,σ3​)(4.16)
再将奇异值矩阵的第三个奇异值直接置为0,还原得到重构后的F矩阵:
F=Udiag⁡(σ1,σ2,0)VT(4,17)\boldsymbol{F}=\boldsymbol{U} \operatorname{diag}\left(\sigma_{1}, \quad \sigma_{2}, \quad 0\right) \boldsymbol{V}^{T}\tag{4,17}F=Udiag(σ1​,σ2​,0)VT(4,17)

4.2.2 RANSAC-估计基础矩阵

算法流程:

  1. 随机采样8对匹配点(x1(n),x2(n))\left(x_{1}^{(n)}, x_{2}^{(n)}\right)(x1(n)​,x2(n)​)
  2. 使用8点法求解基础矩阵F\boldsymbol{F}F
  3. 使用奇异值约束获取重构矩阵FFF
  4. 使用d(x1,x2)=(x2TFx1)2(Fx1)x2+(Fx1)y2+(x2TF)x2+(x2TF)y2d\left(\boldsymbol{x}_{1}, \boldsymbol{x}_{2}\right)=\frac{\left(\boldsymbol{x}_{2}^{T} \boldsymbol{F} \boldsymbol{x}_{1}\right)^{2}}{\left(\boldsymbol{F} \boldsymbol{x}_{1}\right)_{x}^{2}+\left(\boldsymbol{F} \boldsymbol{x}_{1}\right)_{y}^{2}+\left(\boldsymbol{x}_{2}^{T} \boldsymbol{F}\right)_{x}^{2}+\left(\boldsymbol{x}_{2}^{T} \boldsymbol{F}\right)_{y}^{2}}d(x1​,x2​)=(Fx1​)x2​+(Fx1​)y2​+(x2T​F)x2​+(x2T​F)y2​(x2T​Fx1​)2​计算误差,并通过d(x1,x2)<τd(x_{1}, x_{2})<\taud(x1​,x2​)<τ统计内点个数
  5. 重复以上过程,选择内点最多的结果
  6. 对所有的内点重复2、3步骤,重新计算FFF

4.3 本质矩阵E求解

 本质矩阵的性质:

  1. 维度为3x3,秩为2
  2. 具有5个自由度
  3. 奇异值为[δ,δ,0]T[\delta, \delta, 0]^{T}[δ,δ,0]T

  求解本质矩阵E步骤(相机内参K1K_{1}K1​和K2K_{2}K2​已知):

  1. 求解基础矩阵F
  2. 由E^=K2TFK1\hat{E}=K_{2}^TFK_{1}E^=K2T​FK1​求得估计的E^\hat{E}E^
  3. 将E^\hat{E}E^进行奇异值分解,E^=Udiag(δ1,δ2,0)VT\hat{E}=Udiag(\delta_{1}, \delta_{2}, 0)V^{T}E^=Udiag(δ1​,δ2​,0)VT
  4. 规范化结果,本质矩阵重构, E=Udiag(δ1+δ22,δ1+δ22,0)VTE=Udiag(\frac{\delta_{1}+\delta_{2}}{2},\frac{\delta_{1}+\delta_{2}}{2},0)V^{T}E=Udiag(2δ1​+δ2​​,2δ1​+δ2​​,0)VT

4.4 相机姿态的恢复

 根据重构的本质矩阵和奇异值约束,可以求出四组R与t的结果。

筛选正确的相机姿态

 相机正确的姿态需要满足以下条件:
  首先利用相机姿态R,t和一系列同名点(correspondence): p1p_{1}p1​、p2p_{2}p2​进行三角测量得到三维坐标点P,P需要满足同时在两个相机的前方。

通过两种方法来确认相机的正确姿态:
  方法1. 相机主方向与POPOPO的夹角小于90°(P−O1)Td1>0(P−O2)Td1>0(4.12)(P-O_{1})^{T}d_{1}>0\\(P-O_{2})^{T}d_{1}>0\tag{4.12}(P−O1​)Td1​>0(P−O2​)Td1​>0(4.12)
  方法2.物体的坐标深度为正{xcyczc}=RP+t,zc>0(4.13)\left\{\begin{matrix}\ x_{c}\\y_{c}\\z_{c} \end{matrix}\right\}= RP+t , z_{c}>0\tag{4.13}⎩⎨⎧​ xc​yc​zc​​⎭⎬⎫​=RP+t,zc​>0(4.13)

4.5 单应矩阵

  若三维中的点都落在同一个平面上,则可以通过单应矩阵来描述两个同名点之间的信息。

假设这个平面满足平面方程:nTX+d=0(4.14)n^{T}X+d=0\tag{4.14}nTX+d=0(4.14)
即:−nTXd=1(4.15)-\frac{n^{T}X}{d}=1\tag{4.15}−dnTX​=1(4.15)
将(4.15)代入(4.1)中得:x2=K2(RX+t)=K2(RX+t(−nTXd))=K2(R−tnTd)X=K2(R−tnTd)K1−1x1(4.16)x_{2}=K_{2}(RX+t)\\\;\\=K_{2}(RX+t(-\frac{n^{T}X}{d}))\\\;\\=K_{2}(R-\frac{tn^{T}}{d})X\\\;\\=K_{2}(R-\frac{tn^{T}}{d})K_{1}^{-1}x_{1}\tag{4.16}x2​=K2​(RX+t)=K2​(RX+t(−dnTX​))=K2​(R−dtnT​)X=K2​(R−dtnT​)K1−1​x1​(4.16)
其中,记
x2=Hx1H=K2(R−tnTd)K1−1(4.17)x_{2}=Hx_{1}\\H=K_{2}(R-\frac{tn^{T}}{d})K_{1}^{-1}\tag{4.17}x2​=Hx1​H=K2​(R−dtnT​)K1−1​(4.17)

单应矩阵是满秩矩阵,且当t=0时候,对应的情况为相机纯旋转

4.6 单应矩阵的求解

直接线性变换法:

(u2v21)=[H11H12H13H21H22H23H31H32H33](u1v11)\left(\begin{array}{c} u_{2} \\ v_{2} \\ 1 \end{array}\right)=\left[\begin{array}{lll} H_{11} & H_{12} & H_{13} \\ H_{21} & H_{22} & H_{23} \\ H_{31} & H_{32} & H_{33} \end{array}\right]\left(\begin{array}{c} u_{1} \\ v_{1} \\ 1 \end{array}\right)⎝⎛​u2​v2​1​⎠⎞​=⎣⎡​H11​H21​H31​​H12​H22​H32​​H13​H23​H33​​⎦⎤​⎝⎛​u1​v1​1​⎠⎞​
得到:u2=H11u1+H12v1+H13H31u1+H32v1+H33v2=H21u1+H22v1+H23H31u1+H32v1+H33\begin{array}{c} u_{2}=\frac{H_{11} u_{1}+H_{12} v_{1}+H_{13}}{H_{31} u_{1}+H_{32} v_{1}+H_{33}} \\\;\\ v_{2}=\frac{H_{21} u_{1}+H_{22} v_{1}+H_{23}}{H_{31} u_{1}+H_{32} v_{1}+H_{33}} \end{array}u2​=H31​u1​+H32​v1​+H33​H11​u1​+H12​v1​+H13​​v2​=H31​u1​+H32​v1​+H33​H21​u1​+H22​v1​+H23​​​
即:
H11u1+H12v1+H13−H31u1u2−H32u2v1−H33u2=0H21u1+H22v1+H23−H31u1v2−H32v1v2−H33v2=0\begin{array}{l} H_{11} u_{1}+H_{12} v_{1}+H_{13}-H_{31} u_{1} u_{2}-H_{32} u_{2} v_{1}-H_{33} u_{2}=0 \\ H_{21} u_{1}+H_{22} v_{1}+H_{23}-H_{31} u_{1} v_{2}-H_{32} v_{1} v_{2}-H_{33} v_{2}=0 \end{array}H11​u1​+H12​v1​+H13​−H31​u1​u2​−H32​u2​v1​−H33​u2​=0H21​u1​+H22​v1​+H23​−H31​u1​v2​−H32​v1​v2​−H33​v2​=0​
令H33=1H_{33}=1H33​=1,即:
A=(u1(1),v1(1),1,0,0,0,−u1(1)u2(1),−u2(1)v1(1)0,0,0,u1(1),v1(1),1,−u1(1)v2(1),−v1(1)v2(1)⋮⋮⋮⋮⋮⋮⋮⋮u1(4)v1(4)1,0,0,0,−u1(4)u2(4),−u2(4)v1(4)0,0,0,u1(1)v1(1),1,−u1(4)v2(4),−v1(4)v2(4))(F11F12F13F22F22F23F31F32)=(u2(0)v2(1)u2(2)v2(2)u2(3)v2(3)u2(4)v2(4))A=\left(\begin{array}{ccccccccc} u_{1}^{(1)}, & v_{1}^{(1)}, & 1, & 0, & 0, & 0, & -u_{1}^{(1)} u_{2}^{(1)}, & -u_{2}^{(1)} v_{1}^{(1)} \\ 0, & 0, & 0, & u_{1}^{(1)}, & v_{1}^{(1)}, & 1, & -u_{1}^{(1)} v_{2}^{(1)}, & -v_{1}^{(1)} v_{2}^{(1)} \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ u_{1}^{(4)} & v_{1}^{(4)} & 1, & 0, & 0, & 0, & -u_{1}^{(4)} u_{2}^{(4)}, & -u_{2}^{(4)} v_{1}^{(4)} \\ 0, & 0, & 0, & u_{1}^{(1)} & v_{1}^{(1)}, & 1, & -u_{1}^{(4)} v_{2}^{(4)}, & -v_{1}^{(4)} v_{2}^{(4)} \end{array}\right)\left(\begin{array}{l} F_{11} \\ F_{12} \\ F_{13} \\ F_{22} \\ F_{22} \\ F_{23} \\ F_{31} \\ F_{32} \end{array}\right)=\left(\begin{array}{l} u_{2}^{(0)} \\ v_{2}^{(1)} \\ u_{2}^{(2)} \\ v_{2}^{(2)} \\ u_{2}^{(3)} \\ v_{2}^{(3)} \\ u_{2}^{(4)} \\ v_{2}^{(4)} \end{array}\right)A=⎝⎜⎜⎜⎜⎜⎜⎛​u1(1)​,0,⋮u1(4)​0,​v1(1)​,0,⋮v1(4)​0,​1,0,⋮1,0,​0,u1(1)​,⋮0,u1(1)​​0,v1(1)​,⋮0,v1(1)​,​0,1,⋮0,1,​−u1(1)​u2(1)​,−u1(1)​v2(1)​,⋮−u1(4)​u2(4)​,−u1(4)​v2(4)​,​−u2(1)​v1(1)​−v1(1)​v2(1)​⋮−u2(4)​v1(4)​−v1(4)​v2(4)​​⎠⎟⎟⎟⎟⎟⎟⎞​⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛​F11​F12​F13​F22​F22​F23​F31​F32​​⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞​=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛​u2(0)​v2(1)​u2(2)​v2(2)​u2(3)​v2(3)​u2(4)​v2(4)​​⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞​
所以至少需要4对匹配点,才能求H矩阵。

Ransac计算单应矩阵过程:

  1. 随机采样4对匹配点(x1(n),x2(n))\left(x_{1}^{(n)}, x_{2}^{(n)}\right)(x1(n)​,x2(n)​)
  2. 使用8点法求解基础矩阵H\boldsymbol{H}H
  3. 使用E(x1,x2,H)=d(x1,H−1x2)2+d(x2,Hx1)2E\left(x_{1}, x_{2}, H\right)=d\left(x_{1}, H^{-1} x_{2}\right)^{2}+d\left(x_{2}, H x_{1}\right)^{2}E(x1​,x2​,H)=d(x1​,H−1x2​)2+d(x2​,Hx1​)2计算误差,并通过E(x1,x2,H)<τE\left(x_{1}, x_{2}, H\right)<\tauE(x1​,x2​,H)<τ统计内点个数
  4. 重复以上过程,选择内点最多的结果
  5. 对所有的内点重复3、4步骤,重新计算HHH

五、极线校正

  极线校正:将相机在数学上对准到同一观察平面上,使得相机像素行是严格对齐,校正的目的是使得二维匹配搜索变成一维,节省计算量,排除虚假匹配点.

  极线校正的最终效果是要将极点坐标变换到无穷远处(像平面与基线平行,两者没有交点),求取旋转矩阵,达到从相机坐标系变换到极线校正后坐标系.

  1. 对于X轴,将X轴旋转到与基线相同的方向,即Ol−OrO_{l}-O_{r}Ol​−Or​: e1=T∣T∣(5.1)e_{1} = \frac{T}{|T|}\tag{5.1}e1​=∣T∣T​(5.1)
  2. 对于y轴,选取为和主光轴与e1e_{1}e1​都垂直的方向: e2=e1×(Rl[0,0,1]T+tl)(5.2)e_{2}=e_{1} \times\left(R_{l}[0,0,1]^{T}+t_{l}\right)\tag{5.2}e2​=e1​×(Rl​[0,0,1]T+tl​)(5.2)
  3. 对于z轴,选取和e1和e2e_{1}和e_{2}e1​和e2​都垂直的方向: e3=e1×e2(5.3)e_{3}=e_{1}\times e_{2}\tag{5.3}e3​=e1​×e2​(5.3)
  4. 最终的旋转矩阵为: Rnew=[e1,e2,e3]T(5.4)R_{new}=[e_{1},e_{2},e_{3}]^{T}\tag{5.4}Rnew​=[e1​,e2​,e3​]T(5.4)
  5. 从世界坐标系到极线校正后坐标系的投影矩阵为: Rlnew=RnewRltRrnew=RnewRrt(5.5)R_{l}^{new} = R_{new}R_{l}^{t}\\\;\\R_{r}^{new} = R_{new}R_{r}^{t}\tag{5.5}Rlnew​=Rnew​Rlt​Rrnew​=Rnew​Rrt​(5.5)

注:Rrt和RltR_{r}^{t}和R_{l}^{t}Rrt​和Rlt​是表示齐次坐标系表示形式

校正后坐标系下基线距离:

由式(1.0)得:[xwywzw]=R−1[xcyczc]+R−1t(5.6)\begin{bmatrix} x_{w}\\y_{w}\\z_{w}\end{bmatrix} = R^{-1} \begin{bmatrix} x_{c}\\y_{c}\\z_{c} \end{bmatrix}+ R^{-1} t\tag{5.6}⎣⎡​xw​yw​zw​​⎦⎤​=R−1⎣⎡​xc​yc​zc​​⎦⎤​+R−1t(5.6)
记世界坐标系到左相机坐标系和右相机坐标系的旋转矩阵的逆矩阵为 Rl和RrR_{l}和R_{r}Rl​和Rr​ ,记 C=R−1tC = R^{-1}tC=R−1t 表示相机中心在世界坐标系的坐标.
则上式可以表示为:
[xwywzw]=Rl[xclyclzcl]+Cl[xwywzw]=Rr[xcrycrzcr]+Cr[xclyclzcl]=Rlr[xcrycrzcr]+Clr\begin{bmatrix} x_{w}\\y_{w}\\z_{w}\end{bmatrix} = R_{l} \begin{bmatrix} x_{cl}\\y_{cl}\\z_{cl}\end{bmatrix}+ C_{l}\\\;\\\begin{bmatrix} x_{w}\\y_{w}\\z_{w} \end{bmatrix} = R_{r} \begin{bmatrix} x_{cr}\\y_{cr}\\z_{cr}\end{bmatrix}+ C_{r}\\\;\\\begin{bmatrix} x_{cl}\\y_{cl}\\z_{cl} \end{bmatrix} = R_{lr} \begin{bmatrix} x_{cr}\\y_{cr}\\z_{cr}\end{bmatrix}+ C_{lr}⎣⎡​xw​yw​zw​​⎦⎤​=Rl​⎣⎡​xcl​ycl​zcl​​⎦⎤​+Cl​⎣⎡​xw​yw​zw​​⎦⎤​=Rr​⎣⎡​xcr​ycr​zcr​​⎦⎤​+Cr​⎣⎡​xcl​ycl​zcl​​⎦⎤​=Rlr​⎣⎡​xcr​ycr​zcr​​⎦⎤​+Clr​
上图用Rl,Rr,Cr,ClR_{l},R_{r},C_{r},C_{l}Rl​,Rr​,Cr​,Cl​来代表R,tR, tR,t来表示两个坐标系之间的变换关系:由上式得:
左相机原点在右相机坐标系下的坐标:
[000]=Rlr[xcrycrzcr]+Clr\begin{bmatrix} 0\\0\\0 \end{bmatrix} = R_{lr} \begin{bmatrix} x_{cr}\\y_{cr}\\z_{cr}\end{bmatrix}+ C_{lr}⎣⎡​000​⎦⎤​=Rlr​⎣⎡​xcr​ycr​zcr​​⎦⎤​+Clr​
即左相机原点在右相机坐标系下的坐标Oleft−in−rightO_{left-in-right}Oleft−in−right​:Oleft−in−right=−RlrClr(5.7)O_{left-in-right} = -R_{lr}C_{lr}\tag{5.7}Oleft−in−right​=−Rlr​Clr​(5.7)
则左相机原点坐标在右相机极线校正坐标系下坐标为:
Oleft−in−right=−RrnewRlrClr(5.8)O_{left-in-right} = -R_{r}^{new}R_{lr}C_{lr}\tag{5.8}Oleft−in−right​=−Rrnew​Rlr​Clr​(5.8)
故baseline就是x方向的距离:
Tx=Oleft−in−right.x⃗(5.9)T_{x}=O_{left-in-right} . \vec{x}\tag{5.9}Tx​=Oleft−in−right​.x(5.9)

六、视差图与深度图的关系

假设左右图像已经完成极线校正(两相机姿态平行,同名点位于同一水平线)

图中,xolx_{ol}xol​是左像平面光轴与像平面交点的x坐标,xlx_{l}xl​是P点在左像平面上的x坐标, xorx_{or}xor​是右像平面光轴与像平面交点的x坐标,xrx_{r}xr​是P点在右像平面上的x坐标,由三角形的相似性:

xl−xolB1=xor−xrB2=fz(6.1)\frac{x_{l}-x_{ol}}{B_{1}} =\frac{x_{or}-x_{r}}{B_{2}} = \frac{f}{z}\tag{6.1}B1​xl​−xol​​=B2​xor​−xr​​=zf​(6.1)
整理得:z=Bfd+(xor−xol)d=xl−xr(6.2)z=\frac{Bf}{d+(x_{or}-x_{ol})}\\d=x_{l}-x_{r}\tag{6.2}z=d+(xor​−xol​)Bf​d=xl​−xr​(6.2)
其中,ddd为左右图的横坐标之差,称为视差(Disparity)
若xor=xolx_{or}=x_{ol}xor​=xol​,即左相机光轴中心在左像素平面的坐标与右相机光轴中心在右视图中的像素平面x轴坐标一致,则z=Bfdd=xl−xr(6.3)z=\frac{Bf}{d}\\d=x_{l}-x_{r}\tag{6.3}z=dBf​d=xl​−xr​(6.3)

由式(6.3)得:双目相机成像模型,焦距f与基线长度b为常数,视差d与深度z成反比,即深度越小视差越大,距离相机近的点视差较大(视差图中,近的物体颜色较深)。视差与深度的关系如下:

  1. 视差与深度成反比,视差接近0时,微小的视差变化会引起较大的深度变化.
  2. 当视差较大时,微小的视差变化不会引起深度产生很大的变化.
  3. 当相机距离被测物体较近时具有较高的视差精度.

七、视差图转深度图

由第五节知,立体匹配是在极线校正坐标系下完成的操作,故得到的视差图也是极线校正坐标系下的视差图,先将其在极线校正坐标系下转换成深度图:
由式(1.5)得:
depth⁡[uv1]=[f0u00fv0001][xyz](7.1)\operatorname{depth}\left[\begin{array}{l} u \\ v \\ 1 \end{array}\right]=\left[\begin{array}{lll} f & 0 & u_{0} \\ 0 & f & v_{0} \\ 0 & 0 & 1 \end{array}\right]\left[\begin{array}{l} x \\ y \\ z \end{array}\right]\tag{7.1}depth⎣⎡​uv1​⎦⎤​=⎣⎡​f00​0f0​u0​v0​1​⎦⎤​⎣⎡​xyz​⎦⎤​(7.1)
由(6.2)得
depth=Bfdisp+cr−cl(7.2)depth = \frac{Bf}{disp + c_{r}-c_{l}}\tag{7.2}depth=disp+cr​−cl​Bf​(7.2)
由(5.9)得:
B=−Tx(7.3)B = -T_{x}\tag{7.3}B=−Tx​(7.3)
则有:
x=(u−u0)(Bdisp+cr−cl)=(u−u0)(−Txdisp+cr−cl)y=(v−v0)(Bdisp+cr−cl)=(v−v0)(−Txdisp+cr−cl)z=Bfdisp+cr−cl=−Txfdisp+cr−cl\begin{aligned} x=\left(u-u_{0}\right)\left(\frac{B}{d i s p+c_{r}-c_{l}}\right) &=\left(u-u_{0}\right)\left(\frac{-T x}{d i s p+c_{r}-c_{l}}\right) \\ y=\left(v-v_{0}\right)\left(\frac{B}{d i s p+c_{r}-c_{l}}\right) &=\left(v-v_{0}\right)\left(\frac{-T x}{d i s p+c_{r}-c_{l}}\right) \\ z=\frac{B f}{d i s p+c_{r}-c_{l}} &=\frac{-T_{x} f}{d i s p+c_{r}-c_{l}} \end{aligned}x=(u−u0​)(disp+cr​−cl​B​)y=(v−v0​)(disp+cr​−cl​B​)z=disp+cr​−cl​Bf​​=(u−u0​)(disp+cr​−cl​−Tx​)=(v−v0​)(disp+cr​−cl​−Tx​)=disp+cr​−cl​−Tx​f​​
将其写为矩阵形式后, 极线校正坐标系下视差图和深度图之间的关系为:
Q′[uvdisp1]=w[xyz1](7.4)Q^{\prime}\left[\begin{array}{l} u \\ v \\ d i s p \\ 1 \end{array}\right]=w\left[\begin{array}{l} x \\ y \\ z \\ 1 \end{array}\right]\tag{7.4}Q′⎣⎢⎢⎡​uvdisp1​⎦⎥⎥⎤​=w⎣⎢⎢⎡​xyz1​⎦⎥⎥⎤​(7.4)
其中:
w=disp +cr−cl−TxQ′=[100−u0010−v0000f00−1/Tx(cl−cr)/Tx]w=\frac{\text { disp }+c_{r}-c_{l}}{-T_{x}}\\ \begin{array}{c} \\ Q^{\prime}=\left[\begin{array}{cccc} 1 & 0 & 0 &-u_{0} \\ 0 & 1 & 0 & -v_{0}\\ 0 & 0 & 0 & f\\ 0 & 0 & -1 / T_{x} & \left(c_{l}-c_{r}\right) / T_{x} \end{array}\right] \end{array}w=−Tx​ disp +cr​−cl​​Q′=⎣⎢⎢⎡​1000​0100​000−1/Tx​​−u0​−v0​f(cl​−cr​)/Tx​​⎦⎥⎥⎤​​
其中,基于哪个视差图来计算,则f就是对应相机的焦距f,由7.4可以得到从极线校正后坐标系下视差图转到极线校正后深度图的变换.
  将校正后坐标系下的视差图转换为校正前坐标系下的深度图如下:
由(5.4)知:校正前坐标系下点(x′,y′,z′)(x^{\prime}, y^{\prime},z^{\prime})(x′,y′,z′)和校正后坐标系下点(x,y,z)(x,y,z)(x,y,z)转换关系如下:
Rlnew [x′y′z′]=[xyz](7.5)R_{l}^{\text {new }}\left[\begin{array}{l} x^{\prime} \\ y^{\prime} \\ z^{\prime} \end{array}\right]=\left[\begin{array}{l} x \\ y \\ z \end{array}\right]\tag{7.5}Rlnew ​⎣⎡​x′y′z′​⎦⎤​=⎣⎡​xyz​⎦⎤​(7.5)
两边同乘(Rlnew )−1(R_{l}^{\text {new }})^{-1}(Rlnew ​)−1则:
[x′y′z′]=(Rlnew )−1[xyz](7.6)\left[\begin{array}{l} x^{\prime} \\ y^{\prime} \\ z^{\prime} \end{array}\right] =(R_{l}^{\text {new }})^{-1}\left[\begin{array}{l} x \\ y \\ z \end{array}\right]\tag{7.6}⎣⎡​x′y′z′​⎦⎤​=(Rlnew ​)−1⎣⎡​xyz​⎦⎤​(7.6)
对上式同时左乘内参矩阵 KlK_{l}Kl​ 则将极线校正前坐标系下坐标[x,y,z]T[x, y, z]^{T}[x,y,z]T投影到极线校正前图像坐标系下坐标[u′,v′,1]T[u^{\prime}, v^{\prime}, 1]^{T}[u′,v′,1]T:
depth⁡[u′v′1]=[XYZ]=Kl(Rlnew)−1[xyz](7.7)\operatorname{depth}\left[\begin{array}{l} u^{\prime} \\ v ^{\prime}\\ 1 \end{array}\right]=\left[\begin{array}{l} X \\ Y \\ Z \end{array}\right]=K_{l}\left(R_{l}^{n e w}\right)^{-1}\left[\begin{array}{l} x \\ y \\ z \end{array}\right]\tag{7.7}depth⎣⎡​u′v′1​⎦⎤​=⎣⎡​XYZ​⎦⎤​=Kl​(Rlnew​)−1⎣⎡​xyz​⎦⎤​(7.7)
其中Z=depth,X=u′∗depth,Y=v′∗depthZ = depth, X=u^{\prime}*depth, Y=v^{\prime}*depthZ=depth,X=u′∗depth,Y=v′∗depth
(7.7)左右两边同乘w得:
w[XYZ]=Kl(Rlnew)−1w[xyz](7.8)w\left[\begin{array}{l} X \\ Y \\ Z \end{array}\right]=K_{l}\left(R_{l}^{n e w}\right)^{-1}w\left[\begin{array}{l} x \\ y \\ z \end{array}\right]\tag{7.8}w⎣⎡​XYZ​⎦⎤​=Kl​(Rlnew​)−1w⎣⎡​xyz​⎦⎤​(7.8)
将(7.8)写成其次坐标形式得到:
w[XYZ1]=[Kl(Rlnew)−10⊤0⊤1]w[xyz1](7.9)w\left[\begin{array}{l} X \\ Y \\ Z \\ 1 \end{array}\right]=\left[\begin{array}{cc} \boldsymbol{K}_{l}\left(\boldsymbol{R}_{l}^{n e w}\right)^{-1} & \mathbf{0}^{\top} \\ \mathbf{0}^{\top} & 1 \end{array}\right] w\left[\begin{array}{l} x \\ y \\ z \\ 1 \end{array}\right]\tag{7.9}w⎣⎢⎢⎡​XYZ1​⎦⎥⎥⎤​=[Kl​(Rlnew​)−10⊤​0⊤1​]w⎣⎢⎢⎡​xyz1​⎦⎥⎥⎤​(7.9)
将(7.4)中的w[xyz1]=Q′[uvdisp1]w\left[\begin{array}{l} x \\ y \\ z \\ 1 \end{array}\right]=Q^{\prime}\left[\begin{array}{l} u \\ v \\ d i s p \\ 1 \end{array}\right]w⎣⎢⎢⎡​xyz1​⎦⎥⎥⎤​=Q′⎣⎢⎢⎡​uvdisp1​⎦⎥⎥⎤​代入(7.9)中得:
w[XYZ1]=[Kl(Rlnew)−10⊤0⊤1]Q′[uvdisp1](7.10)w\left[\begin{array}{l} X \\ Y \\ Z \\ 1 \end{array}\right]=\left[\begin{array}{cc} \boldsymbol{K}_{l}\left(\boldsymbol{R}_{l}^{n e w}\right)^{-1} & \mathbf{0}^{\top} \\ \mathbf{0}^{\top} & 1 \end{array}\right] Q^{\prime}\left[\begin{array}{l} u \\ v \\ d i s p \\ 1 \end{array}\right]\tag{7.10}w⎣⎢⎢⎡​XYZ1​⎦⎥⎥⎤​=[Kl​(Rlnew​)−10⊤​0⊤1​]Q′⎣⎢⎢⎡​uvdisp1​⎦⎥⎥⎤​(7.10)
由此得到极线校正后坐标系下视差图[uvdisp1]\left[\begin{array}{l} u \\ v \\ d i s p \\ 1 \end{array}\right]⎣⎢⎢⎡​uvdisp1​⎦⎥⎥⎤​到极线校正前深度图[XYZ1]\left[\begin{array}{l} X \\ Y \\ Z \\ 1 \end{array}\right]⎣⎢⎢⎡​XYZ1​⎦⎥⎥⎤​的变换,其中Z=depth,X=u′∗depth,Y=v′∗depthZ = depth, X=u^{\prime}*depth, Y=v^{\prime}*depthZ=depth,X=u′∗depth,Y=v′∗depth

基于图像的多视角立体视觉三维重建(一)——对极几何模型与极线校正原理相关推荐

  1. 双目立体视觉笔记(三)三角测量、极线校正

    三角测量和极线校正 ·三角测量 假设两个相机像平面精准位于同一平面上,且行对齐,两个光轴严格平行. 利用三角形关系,我们不难推出Z值: 如果主点cxlc_{x}^{l}cxl​,cxrc_{x}^{r ...

  2. 基于图像的三维模型重建——相机模型与对极几何

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:梦寐mayshine https://zhuanlan.zhihu.com/p/12968108 ...

  3. 基于图像的三维重建——基于空间patch扩散的方法(PMVS)

    1.PMVS:多视图匹配经典算法简介 导语:常见的稠密重建方法主要有三种:基于体素的方法.基于深度图融合的方法以及基于3D patch扩张的方法.第一种基于体素的方法仅适用于小场景,单个物体,遮挡较少 ...

  4. Windows环境下几款优秀的基于图像的三维重建软件

    基于图像的目标三维重建技术是计算机视觉领域中研究的热点,近些年来,涌现了大量的优秀算法,对于目标重建的完整性,准确性,实时性不断提高.本文今天向大家介绍几款可以在window平台下,运行的软件,用户只 ...

  5. 研究生科研必备!!!2015-2020年各类国际会议基于图像的三维重建论文综述(1)——总览

    此文为2015-2020年各类国际会议与期刊基于图像的三维对象重建论文综述的第一部分,总览部分 本文涵盖总结了2015到2020年几百篇国际会议与期刊上的3d-reconstruction文章. 本系 ...

  6. 基于图像的三维重建研究

    前言 三维重建,顾名思义就是对现实世界中的三维物体用计算机来进行模拟.目前主流的有两种手段:采用红外设备对物体进行测距.基于多张有关待测物体的二维图像进行三维重建.由于前者需要红外设备,成本比较昂贵且 ...

  7. 基于图像点特征的多视图三维重建

    基于图像点特征的多视图三维重建大致分成四步:一.图像特征点描述 :二.图像特征点匹配: 三.基于图像的稀疏三维重建:四.多视图稠密匹配与三维重建 一.图像特征点描述: 为描述所检测到的图像特征点,通常 ...

  8. 基于图像的三维模型重建——稠密点云重建

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:梦寐mayshine 链接:https://zhuanlan.zhihu.com/p/13159 ...

  9. 基于图像的三维模型重建——基础介绍

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文由知乎作者梦寐mayshine授权转载,不得擅自二次转载.原文链接:https://zhuanla ...

最新文章

  1. JavaEE5 Jax-ws 学习(Soap webservice)
  2. 封装一个jquery库
  3. 小学计算机房简单介绍,介绍计算机教室的小学作文我们学校的机房
  4. 制作五彩纸屑转场动效_何时以及如何将五彩纸屑添加到产品UI
  5. vscode设置缩进2个空格
  6. dos命令 cd命令使用说明[图文说明]
  7. Nginx并发数、每秒连接数、下载速度限制,防攻击杀手锏
  8. [转载]了解Linux的进程与线程
  9. win7中配置iis
  10. goto php 源码,GoToPHP
  11. 51单片机 protues 的仿真程序源文件
  12. 2012最新JQuery插件
  13. [GOM引擎]假人配置的脚本设置方法
  14. PC-DARTS 网络结构搜索程序分析
  15. 有哪些管理类书籍值得推荐?
  16. 按键精灵卡屏检测判断窗口是否无响应或卡屏
  17. 看不见的大猩猩--读书笔记
  18. 使用python turtle绘制简笔画大白
  19. 小米air2se耳机只有一边有声音怎么办_小米真无线蓝牙耳机Air2 SE体验:花小钱也能办大事...
  20. 高一被清华姚班录取,高三委拒谷歌 offer,一个重度网瘾少年到理论计算机科学家的蜕变!......

热门文章

  1. 维特智能蓝牙5.0加速度计陀螺仪传感器倾角电子罗盘磁力计仰卧起坐
  2. 免费注册winrar压缩软件消除弹窗广告方法
  3. Apache poi 拆分单元格并赋值
  4. 2017国际脑信息学大会即将开幕(附免费参会攻略)
  5. 读后感---图像分割的新理论和新方法
  6. 深圳大学——大数据计算(一些选择题)
  7. 传奇三game 表详解
  8. Web系统页面打印技术实现与分析
  9. 第128届广交会正式“云端”开幕,展期10天
  10. 爸爸去哪儿第三季之刘诺一8.21第七期