机器视觉入门基础相关概念一 ——单目相机模型

机器视觉入门基础相关概念

相机模型

引言介绍:如果只是希望获取图像上的一些信息(例如特征提取拟合等),那么我们不会对三维空间中相机的位置有所要求。但如果希望通过二维的图像去理解三维空间中摄像机的信息,或者是图像中物体在三维空间中的信息,那么就不得不考虑成像过程中三维变化为二维时的具体过程。而摄像机模型就是三维到二维的一种映射。本文简要总结了单目相机的成像过程,以便于读者将相机模型作为一种基础的工具理解更深层次的内容。

简单来说,相机模型是3维空间如何在摄像机中变成2维图像的一个过程。

2d坐标变换

结合之前查看的一些资料进行总结:坐标变换常用的变换就是平移和旋转两种变换的方式。(尺度缩放

  1. 用矩阵的齐次方程形式表示平移变换

在xy坐标系下的平移变换也就是,在x轴方向加tx 在y轴的方向加ty来进行表示。P'=P+t=(x+tx,y+ty)

P = (x,y)t = (tx,ty) 因为我们用齐次的坐标形式来进行表达,也就是要多P增加一个维度信息 P(x,y,1)

P = ( x , y ) → ( x , y , 1 ) \mathbf{P}=(x, y) \rightarrow(x, y, 1) P=(x,y)→(x,y,1)

P ′ → x + t x y + t y 1 = 1 0 t x 0 1 t y 0 0 1 x y 1 = I t 0 1 x y 1 = T ⋅ x y 1 \begin{array}{r} \mathbf{P}^{\prime} \rightarrow\left\\begin{array}{c} x+t_{x} \\\\ y+t_{y} \\\\ 1 \\end{array}\\right=\left\\begin{array}{lll} 1 \& 0 \& t_{x} \\\\ 0 \& 1 \& t_{y} \\\\ 0 \& 0 \& 1 \\end{array}\\right \cdot\left\\begin{array}{c} x \\\\ y \\\\ 1 \\end{array}\\right \\ =\left\\begin{array}{ll} \\mathbf{I} \& \\mathbf{t} \\\\ \\mathbf{0} \& 1 \\end{array}\\right \cdot\left\\begin{array}{l} x \\\\ y \\\\ 1 \\end{array}\\right=\mathbf{T} \cdot\left\\begin{array}{c} x \\\\ y \\\\ 1 \\end{array}\\right \end{array} P′→ x+txy+ty1 = 100010txty1 ⋅ xy1 =I0t1⋅ xy1 =T⋅ xy1

也就是说可以将平移变换写成一个坐标与矩阵相乘的形式来表达,或者更加通俗的来说就是进行了一次矩阵的变换。

  1. 用矩阵齐次方程的形式表示尺度变换

将x轴方向放大sx倍,将y轴方向放大sy倍,根据图示其实也可以看出它属于是一种特殊的平移变换操作。

P = (x,y) P' = (sx,sy)

P = ( x , y ) → P ′ = ( s x x , s y y ) P = ( x , y ) → ( x , y , 1 ) \begin{array}{c} \mathbf{P}=(\mathrm{x}, \mathrm{y}) \rightarrow \mathbf{P}^{\prime}=\left(\mathrm{s}{\mathrm{x}} \mathrm{x}, \mathrm{~s}{\mathrm{y}} \mathrm{y}\right) \\ \mathbf{P}=(x, y) \rightarrow(x, y, 1) \end{array} P=(x,y)→P′=(sxx, syy)P=(x,y)→(x,y,1)

我们同样也是增加一个维度的信息值P(x,y,1)三个维度的表示形式。

P ′ → s x x s y y 1 = s x 0 0 0 s y 0 0 0 1 x y 1 = S ′ 0 0 1 x y 1 = S ⋅ x y 1 \mathbf{P}^{\prime} \rightarrow\left\\begin{array}{c} s_{x} x \\\\ s_{y} y \\\\ 1 \\end{array}\\right=\left\\begin{array}{ccc} s_{x} \& 0 \& 0 \\\\ 0 \& s_{y} \& 0 \\\\ 0 \& 0 \& 1 \\end{array}\\right \cdot\left\\begin{array}{l} x \\\\ y \\\\ 1 \\end{array}\\right=\left\\begin{array}{cc} \\mathbf{S}\^{\\prime} \& \\mathbf{0} \\\\ \\mathbf{0} \& 1 \\end{array}\\right \cdot\left\\begin{array}{c} x \\\\ y \\\\ 1 \\end{array}\\right=\mathbf{S} \cdot\left\\begin{array}{c} x \\\\ y \\\\ 1 \\end{array}\\right P′→ sxxsyy1 = sx000sy0001 ⋅ xy1 =S′001⋅ xy1 =S⋅ xy1

尺度的变换也可以看作是一次矩阵变换的表达形式。

  1. 那么如何用矩阵的形式来表示旋转变换呢?

我们在线性代数的矩阵乘法运算的部分其实就提到了通过三角函数与矩阵结合的形式进行矩阵变换。下面我们就用这种思想。


x ′ = cos ⁡ θ x − sin ⁡ θ y y ′ = cos ⁡ θ y + sin ⁡ θ x \begin{array}{l} x^{\prime}=\cos \theta x-\sin \theta y \\ y^{\prime}=\cos \theta y+\sin \theta x \end{array} x′=cosθx−sinθyy′=cosθy+sinθx

P ′ → cos ⁡ θ − sin ⁡ θ 0 sin ⁡ θ cos ⁡ θ 0 0 0 1 x y 1 \mathbf{P}^{\prime} \rightarrow\left\\begin{array}{ccc} \\cos \\theta \& -\\sin \\theta \& 0 \\\\ \\sin \\theta \& \\cos \\theta \& 0 \\\\ 0 \& 0 \& 1 \\end{array}\\right\left\\begin{array}{l} x \\\\ y \\\\ 1 \\end{array}\\right P′→ cosθsinθ0−sinθcosθ0001 xy1

我们在近似极坐标系下,同样也可以将P'表示为RP这种矩阵相乘的形式。

将这几种情况进行综合就可以得到2d空间的一个变换方法。

P ′ → 1 0 t x 0 1 t y 0 0 1 cos ⁡ θ − sin ⁡ θ 0 sin ⁡ θ cos ⁡ θ 0 0 0 1 s x 0 0 0 s y 0 0 0 1 x y 1 ] = cos ⁡ θ − sin ⁡ θ t x sin ⁡ θ cos ⁡ θ t y 0 0 1 s x 0 0 0 s y 0 0 0 1 x y 1 \begin{aligned} & \left.\mathbf{P}^{\prime} \rightarrow\left\\begin{array}{lll} 1 \& 0 \& t_{x} \\\\ 0 \& 1 \& t_{y} \\\\ 0 \& 0 \& 1 \\end{array}\\right\left\\begin{array}{ccc} \\cos \\theta \& -\\sin \\theta \& 0 \\\\ \\sin \\theta \& \\cos \\theta \& 0 \\\\ 0 \& 0 \& 1 \\end{array}\\right\left\\begin{array}{ccc} s_{x} \& 0 \& 0 \\\\ 0 \& s_{y} \& 0 \\\\ 0 \& 0 \& 1 \\end{array}\\right \begin{array}{l} x \\ y \\ 1 \end{array}\right] \\ = & {\left\\begin{array}{ccc} \\cos \\theta \& -\\sin \\theta \& t_{x} \\\\ \\sin \\theta \& \\cos \\theta \& t_{y} \\\\ 0 \& 0 \& 1 \\end{array}\\right\left\\begin{array}{ccc} s_{x} \& 0 \& 0 \\\\ 0 \& s_{y} \& 0 \\\\ 0 \& 0 \& 1 \\end{array}\\right\left\\begin{array}{c} x \\\\ y \\\\ 1 \\end{array}\\right } \end{aligned} =P′→ 100010txty1 cosθsinθ0−sinθcosθ0001 sx000sy0001 xy1 cosθsinθ0−sinθcosθ0txty1 sx000sy0001 xy1

最后综合在一起就可以写成一个完成的坐标表示形式了

= R t 0 1 S 0 0 1 x y 1 = R S t 0 1 ] x y 1 \left.=\left\\begin{array}{cc} \\mathbf{R} \& \\mathbf{t} \\\\ \\mathbf{0} \& 1 \\end{array}\\right\left\\begin{array}{ll} \\mathbf{S} \& \\mathbf{0} \\\\ \\mathbf{0} \& 1 \\end{array}\\right\left\\begin{array}{l} x \\\\ y \\\\ 1 \\end{array}\\right=\left\\begin{array}{cc} \\mathbf{R} \\mathbf{S} \& \\mathbf{t} \\\\ \\mathbf{0} \& 1 \\end{array}\\right\right]\left\\begin{array}{l} x \\\\ y \\\\ 1 \\end{array}\\right =R0t1S001 xy1 =RS0t1 xy1

上面提到的变换可以统一的称为是进行了欧式变换,它属于是一种特殊的单应变换((homography))添加了部分的约束条件

x ′ ≅ H x = h 11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 h 33 x \mathbf{x}^{\prime} \cong H \mathbf{x}=\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 \mathbf{x} x′≅Hx= h11h21h31h12h22h32h13h23h33 x

3d坐标变换

我们说3d的坐标变换和2d的坐标变换基本上是相同的思想和步骤,不同之处就在于多增加了一个坐标的位置。

我们就用3d空间中的平移变换来举一个例子吧。

T = T x T y T z T=\left\\begin{array}{c} T_{x} \\\\ T_{y} \\\\ T_{z} \\end{array}\\right T= TxTyTz

P ′ → I T 0 1 4 × 4 x y z 1 P^{\prime} \rightarrow\left\\begin{array}{cc} I \& T \\\\ 0 \& 1 \\end{array}\\right_{4 \times 4}\left\\begin{array}{c} x \\\\ y \\\\ z \\\\ 1 \\end{array}\\right P′→I0T14×4 xyz1

但是在3d的旋转变换就会有一定的区别,主要就在3d我们使用的是球坐标系,就包括了两个角度嘛。

它的旋转矩阵R就需要连续相乘得到(可以绕x y z三个轴旋转)

R = R x ( α ) R y ( β ) R z ( γ ) R=R_{x}(\alpha) R_{y}(\beta) R_{z}(\gamma) R=Rx(α)Ry(β)Rz(γ)

R x ( α ) = 1 0 0 0 cos ⁡ α − sin ⁡ α 0 sin ⁡ α cos ⁡ α R y ( β ) = cos ⁡ β 0 sin ⁡ β 0 1 0 − sin ⁡ β 0 cos ⁡ β R z ( γ ) = cos ⁡ γ − sin ⁡ γ 0 sin ⁡ γ cos ⁡ γ 0 0 0 1 \begin{array}{l} R_{x}(\alpha)=\left\\begin{array}{ccc} 1 \& 0 \& 0 \\\\ 0 \& \\cos \\alpha \& -\\sin \\alpha \\\\ 0 \& \\sin \\alpha \& \\cos \\alpha \\end{array}\\right \\ R_{y}(\beta)=\left\\begin{array}{ccc} \\cos \\beta \& 0 \& \\sin \\beta \\\\ 0 \& 1 \& 0 \\\\ -\\sin \\beta \& 0 \& \\cos \\beta \\end{array}\\right \\ R_{z}(\gamma)=\left\\begin{array}{ccc} \\cos \\gamma \& -\\sin \\gamma \& 0 \\\\ \\sin \\gamma \& \\cos \\gamma \& 0 \\\\ 0 \& 0 \& 1 \\end{array}\\right \end{array} Rx(α)= 1000cosαsinα0−sinαcosα Ry(β)= cosβ0−sinβ010sinβ0cosβ Rz(γ)= cosγsinγ0−sinγcosγ0001

P ′ → R 0 0 1 4 × 4 x y z 1 P^{\prime} \rightarrow\left\\begin{array}{cc} R \& 0 \\\\ 0 \& 1 \\end{array}\\right_{4 \times 4}\left\\begin{array}{l} x \\\\ y \\\\ z \\\\ 1 \\end{array}\\right P′→R0014×4 xyz1

相机模型中的四个坐标系

最简单有效的是针孔 相机模型(pinhole camera model),这是最基本且最常用的相机模型,提供了一个简单的方法来描述相机如何将三维世界转化为二维图像。(小孔成像原理)

该模型假定光线通过相机的一个小孔穿过并投影到影像平面(这个平面就是感光元件,如CCD或CMOS上。

该模型基于几何光学理论,忽视了透镜的畸变效应。针孔相机模型是理想状态下的相机模型,一个重要参数是:焦距f,决定了相机的视场角。


从参考资料上截取了一种很直观的图,来对这个模型进行说明

相机模型中的四个坐标系主要为一下的四个坐标系。

  1. 世界坐标系P_w:通常是三维空间中人为选择的一个参考坐标系。单位为物理单位,例如m。
  2. 相机坐标系P_c:三维空间中,通常以摄像机的光心作为原点,光轴作为z轴的一个坐标系。可以通过世界坐标系的平移和旋转来获得。单位为物理单位,例如m。
  3. 成像平面坐标系P:通过相机模型映射得到的一个二维坐标系。单位为物理单位,例如m。
  4. 图像坐标系P_uv:通过所成像转换获得的在计算机内部可以存储的矩阵图像上的坐标系。单位为像素。

世界到相机坐标系

选取O点作为坐标系的原点,以光轴作为Z轴,X,Y轴与成像平面平行,构建一个坐标系

在我自己学习计算机视觉相关知识的时候,也经常听说要结合相机的内外参,这里我们从3d真实空间下的世界坐标系,通过相机的外参做一个刚体的变换,就可以得到以光心为原点的相机坐标系下的3d坐标了

实际上就是通过旋转和平移两部分操作,完成两个坐标系之间的坐标变换。 M是我们在世界坐标系下的坐标,通过下面的公式得到MC(相机坐标系下的坐标)

R ⋅ M \~ − C \~ R \cdot\\widetilde{M}-\\widetilde{C} R⋅M −C

C~是光心在世界坐标系下的坐标

x M C y M C z M C 1 = R − R C \~ 0 1 X M W Y M W Z M W 1 \left\\begin{array}{c} x_{M}\^{C} \\\\ \\mathrm{y}_{M}\^{C} \\\\ z_{M}\^{C} \\\\ 1 \\end{array}\\right=\left\\begin{array}{cc} \\mathbf{R} \& -\\mathbf{R} \\widetilde{\\mathbf{C}} \\\\ \\mathbf{0} \& 1 \\end{array}\\right\left\\begin{array}{c} X_{M}\^{W} \\\\ Y_{M}\^{W} \\\\ Z_{M}\^{W} \\\\ 1 \\end{array}\\right xMCyMCzMC1 =R0−RC 1 XMWYMWZMW1

x c y c z c 1 = R 3 × 3 T 3 × 1 O 1 x w y w z w 1 \left\\begin{array}{c} x_{c} \\\\ y_{c} \\\\ z_{c} \\\\ 1 \\end{array}\\right=\left\\begin{array}{cc} R_{3 \\times 3} \& T_{3 \\times 1} \\\\ O \& 1 \\end{array}\\right \cdot\left\\begin{array}{c} x_{w} \\\\ y_{w} \\\\ z_{w} \\\\ 1 \\end{array}\\right xcyczc1 =R3×3OT3×11⋅ xwywzw1

T:平移 R:旋转。

一个三维目标点在世界坐标系和摄像机空间坐标系两套三维坐标系的下转换关系,能够通过一个旋转和一个平移矩阵计算。

这里的矩阵我们称之为外参矩阵

相机坐标系到图像坐标系

假设点p(xc yc zc)在图像坐标系的成像点是p'(x,y) 我们需要在她们中间完成映射的操作步骤。

我们根据相似的关系可以得到。

x x c = y y c = f z c \frac{x}{x_{c}}=\frac{y}{y_{c}}=\frac{f}{z_{c}} xcx=ycy=zcf

化简之后就可以得到:

x = f z c ⋅ x c y = f z c ⋅ y c \begin{aligned} x & =\frac{f}{z_{c}} \cdot x_{c} \\ y & =\frac{f}{z_{c}} \cdot y_{c} \end{aligned} xy=zcf⋅xc=zcf⋅yc

按照和之前同样的思想我们可以将其表示为矩阵的形式同时完成降维。

z c ⋅ x y 1 = f 0 0 0 0 f 0 0 0 0 1 0 x c y c z c 1 z_{c} \cdot\left\\begin{array}{c} x \\\\ y \\\\ 1 \\end{array}\\right=\left\\begin{array}{cccc} f \& 0 \& 0 \& 0 \\\\ 0 \& f \& 0 \& 0 \\\\ 0 \& 0 \& 1 \& 0 \\end{array}\\right \cdot\left\\begin{array}{c} x_{c} \\\\ y_{c} \\\\ z_{c} \\\\ 1 \\end{array}\\right zc⋅ xy1 = f000f0001000 ⋅ xcyczc1

相机内参:相机的焦距,像素坐标系的相对偏移量。对于这个矩阵我们也可以理解为内参矩阵的一部分。

从图像坐标到像素坐标的转换

图像坐标系的点p'(x,y)到像素坐标系的(u,v)的转换。

  1. 图像坐标系的原点在sensor的中央,单位是mm。
  2. 像素坐标系的原点在sensor的左上角,单位是Pixel,也就是像素的行数和列。

其实也就是两个红色的点之间的转换。从毫米单位的成像平面中心点,转换为我们的左上角用像素的格数来进行表示。

要想明确转换关系最重要的一点就是要明确u0 和 v0指的是这个中心点在像素坐标系下的坐标位置。

  • dx,dy:是sensor的固有参数,代表每个像素的毫米数。

  • u0,vo:代表图像坐标系原点(光心)相对像素坐标系原点的偏移量。

转换关系就为:

u = x d x + u 0 , v = y d y + v 0 u=\frac{x}{d x}+u_{0}, v=\frac{y}{d y}+v_{0} u=dxx+u0,v=dyy+v0

对应的矩阵表示形式即为:

u v 1 = 1 d x 0 u 0 0 1 d y v 0 0 0 1 x y 1 \left\\begin{array}{l} u \\\\ v \\\\ 1 \\end{array}\\right=\left\\begin{array}{ccc} \\frac{1}{d x} \& 0 \& u_{0} \\\\ 0 \& \\frac{1}{d y} \& v_{0} \\\\ 0 \& 0 \& 1 \\end{array}\\right\left\\begin{array}{l} x \\\\ y \\\\ 1 \\end{array}\\right uv1 = dx1000dy10u0v01 xy1

整体一次变换

z c ⋅ u v 1 = 1 d x 0 u 0 0 1 d y v 0 0 0 1 f 0 0 0 0 f 0 0 0 0 1 0 R 3 × 3 T 3 × 1 O 1 x w y w z w 1 = M 1 M 2 x w y w z w 1 \begin{array}{r} z_{c} \cdot\left\\begin{array}{l} u \\\\ v \\\\ 1 \\end{array}\\right=\left\\begin{array}{lll} \\frac{1}{d x} \& 0 \& u_{0} \\\\ 0 \& \\frac{1}{d y} \& v_{0} \\\\ 0 \& 0 \& 1 \\end{array}\\right\left\\begin{array}{cccc} f \& 0 \& 0 \& 0 \\\\ 0 \& f \& 0 \& 0 \\\\ 0 \& 0 \& 1 \& 0 \\end{array}\\right \cdot\left\\begin{array}{cc} R_{3 \\times 3} \& T_{3 \\times 1} \\\\ O \& 1 \\end{array}\\right \cdot\left\\begin{array}{c} x_{w} \\\\ y_{w} \\\\ z_{w} \\\\ 1 \\end{array}\\right \\ =\mathbf{M}{1} \mathbf{M}{2}\left\\begin{array}{c} x_{w} \\\\ y_{w} \\\\ z_{w} \\\\ 1 \\end{array}\\right \end{array} zc⋅ uv1 = dx1000dy10u0v01 f000f0001000 ⋅R3×3OT3×11⋅ xwywzw1 =M1M2 xwywzw1

相机内参 : 相机的焦距,像素坐标系的相对偏移量 M 1 = f x 0 u 0 0 f y v 0 0 0 1 \begin{array}{l} \text { 相机内参 : 相机的焦距,像素坐标系的相对偏移量 }\\ M_{1}=\left\\begin{array}{lll} f_{x} \& 0 \& u_{0} \\\\ 0 \& f_{y} \& v_{0} \\\\ 0 \& 0 \& 1 \\end{array}\\right \end{array} 相机内参 : 相机的焦距,像素坐标系的相对偏移量 M1= fx000fy0u0v01

相机外参 : 世界坐标系到相机坐标系的转换关系,相机在世界坐标系的位姿矩阵 M 2 = R 3 × 3 T 3 × 1 = r 11 r 12 r 13 t 1 r 21 r 22 r 23 t 2 r 31 r 32 r 33 t 3 \begin{array}{l} \text { 相机外参 : 世界坐标系到相机坐标系的转换关系,相机在世界坐标系的位姿矩阵 }\\ M_{2}=\left\\begin{array}{cc} R_{3 \\times 3} \& T_{3 \\times 1} \\end{array}\\right=\left\\begin{array}{llll} r_{11} \& r_{12} \& r_{13} \& t_{1} \\\\ r_{21} \& r_{22} \& r_{23} \& t_{2} \\\\ r_{31} \& r_{32} \& r_{33} \& t_{3} \\end{array}\\right \end{array} 相机外参 : 世界坐标系到相机坐标系的转换关系,相机在世界坐标系的位姿矩阵 M2=R3×3T3×1= r11r21r31r12r22r32r13r23r33t1t2t3

畸变模型

经过透镜后的实际成像和理想成像之间的误差即为镜头畸变。主要分为径向畸变和切向畸变。

径向畸变

  • 相加的透镜形状造成,沿透镜的径向分布
  • 分为桶形畸变和枕形畸变
  • 原理透镜中心的地方比靠近中心的地方更加弯曲
  • 光心处的畸变为0,距离光心越远畸变越大
  • 廉价相机,畸变更严重

给出径向畸变的多项式数学表达形式:

{ x distorted = x ( 1 + k 1 r 2 + k 2 r 4 + k 3 r 6 ) y distorted = y ( 1 + k 1 r 2 + k 2 r 4 + k 3 r 6 ) \left\{\begin{array}{l} x_{\text {distorted }}=x\left(1+k_{1} r^{2}+k_{2} r^{4}+k_{3} r^{6}\right) \\ y_{\text {distorted }}=y\left(1+k_{1} r^{2}+k_{2} r^{4}+k_{3} r^{6}\right) \end{array}\right. {xdistorted =x(1+k1r2+k2r4+k3r6)ydistorted =y(1+k1r2+k2r4+k3r6)

  • (x,y)是没有畸变的像素点,(x distorted,y distortea)畸变后的位置。

  • k,k2,k3:径向畸变系数,摄像头的内参,一般使用前两项,鱼眼相机会使用第三项。

切向畸变

切向畸变这种情况产生的比较少。

产生的原因:相机sensor和镜头不平行导致

切向畸变的数学表示形式为:

{ x distorted = x + 2 p 1 x y + p 2 ( r 2 + 2 x 2 ) y distorted = y + 2 p 2 x y + p 1 ( r 2 + 2 y 2 ) \left\{\begin{array}{l} \mathrm{x}{\text {distorted }}=x+\left2 p_{1} x y+p_{2}\\left(r\^{2}+2 x\^{2}\\right)\\right \\ y{\text {distorted }}=y+\left2 p_{2} x y+p_{1}\\left(r\^{2}+2 y\^{2}\\right)\\right \end{array}\right. {xdistorted =x+2p1xy+p2(r2+2x2)ydistorted =y+2p2xy+p1(r2+2y2)

综上将两种情况进行合并可以得到最后的结果:

{ x distorted = x ( 1 + k 1 r 2 + k 2 r 4 + + k 3 r 6 ) + 2 p 1 x y + p 2 ( r 2 + 2 x 2 ) y distorted = y ( 1 + k 1 r 2 + k 2 r 4 + + k 3 r 6 ) + 2 p 2 x y + p 1 ( r 2 + 2 y 2 ) \left\{\begin{array}{l} \mathrm{x}{\text {distorted }}=x\left(1+k{1} r^{2}+k_{2} r^{4}++k_{3} r^{6}\right)+\left2 p_{1} x y+p_{2}\\left(r\^{2}+2 x\^{2}\\right)\\right \\ y_{\text {distorted }}=y\left(1+k_{1} r^{2}+k_{2} r^{4}++k_{3} r^{6}\right)+\left2 p_{2} x y+p_{1}\\left(r\^{2}+2 y\^{2}\\right)\\right \end{array}\right. {xdistorted =x(1+k1r2+k2r4++k3r6)+2p1xy+p2(r2+2x2)ydistorted =y(1+k1r2+k2r4++k3r6)+2p2xy+p1(r2+2y2)

以上就是个人学习到的单目的相机模型建模和坐标转换的有关问题。

相关推荐
weixin_4684668513 天前
深度学习图像数据增强新手实战指南
图像处理·人工智能·深度学习·ai·数据增强·机器视觉
派勤电子14 天前
GPU 工控机在 AI 深度学习中的应用优势 2026 工业场景选型
边缘计算·机器视觉·工业大模型·工业主机·ai工控机·gpu工控机·工业工控机
派勤电子14 天前
AI 加速卡与工控机集成优化 2026 软硬件协同实操指南
边缘计算·机器视觉·工控机·ai推理·工业主机·ai工控机·ai工业应用
weixin_4684668517 天前
液态神经网络新手入门与实战指南
人工智能·深度学习·神经网络·ai·机器视觉·液态神经网络
weixin_4684668517 天前
空洞卷积与膨胀卷积新手入门指南
图像处理·人工智能·深度学习·ai·机器视觉·卷积·空洞卷积
weixin_4684668517 天前
ResNet 残差网络新手入门与实战指南
人工智能·深度学习·ai·残差网络·resnet·机器视觉
weixin_4684668517 天前
DeepLab 语义分割模型新手部署与实战指南
人工智能·深度学习·机器学习·语义分割·机器视觉·deeplab
weixin_4684668519 天前
图像处理特征提取新手实战指南
图像处理·人工智能·算法·ai·机器视觉·特征提取
weixin_4684668519 天前
图像处理之形态学处理新手实战指南
图像处理·人工智能·算法·ai·机器视觉·形态学
weixin_4684668519 天前
SURF 图像特征提取算法新手实战指南
图像处理·人工智能·算法·机器视觉·surf·sift