赞
踩
dense prediction 应该是指 pixel-wise prediction,有几种任务都属于这一类,包括:semantic / instance / panoptic segmentation、depth estimation、surface normal estimation,等等。
凸透镜可以会使光线汇聚,过焦点之后有类似小孔成像的效果,用作相机镜头以成像。光线透过凸透镜后一般会发生折射,但凸透镜中存在一点,使得通过的光线不发生折射,谓之光学中心,简称光心,可以近似将凸透镜中心看作光心的位置[1]。平行光透过凸透镜后会汇集到一点,谓之焦点(focal point)。光心到焦点的距离谓之焦距(focal length),记为 f。过凸透镜两个球面球心的直线谓之主光轴。成像最清晰的位置一般在一倍到两倍焦距之间(所以在焦点后面),参考 [2]。
图示见 [3,5,6]([6] 中有些画成左手系了,需要甄别),几个座标系的转化见 [6-8] 和后文相机成像模型。
NeRF[30] 中用到的 camera 座标是 OpenGL 式的(其代码的 README 有讲):x 还是指右,但 y 指上、z 指入,也叫视座标(eye coordinates),跟这里写的不同,不过还是右手系。而且它只考虑一个视锥(frustum,一个截头锥体,即三维梯形)范围的点,超出范围的点截断不考虑,称为 clip coordinates,然后映射到 NDC(Normalised Device Coordinates)。NDC 是个左手系,跟 OpenGL camera 座标的关系是:z 轴反向(即沿光轴指出),而 x、y 轴同向。这部分可以跟 [31] 和 NeRF 的 supplementary material 一起看。
参考 [9-14],以飞机为例,类似相机座标系,以飞机重心为原点,基于飞机自身建立右手系,三条轴介绍见 [9]。
顺各轴正向看去,顺时针转为正角,逆时针转为负角。
参考 [15,16],位姿(pose)包括位置和姿势。以世界座标系为参考系、用相机座标系代表相机,则:
相机的位置可以用相机座标系原点到世界座标系原点的偏移表示,记为偏移向量 t = ( t x , t y , t z ) \boldsymbol{t}=(t_x,t_y,t_z) t=(tx,ty,tz);
姿势表示相机相对于世界来说,是抬头还是低头、左望还是右望、正视还是歪脖,建模成相对世界座标系的旋转,即绕一个三维向量旋转一个角度,此时的座标变换用罗德里格斯(Rodrigues)旋转公式(见 [17,18])描述:
u
=
(
cos
θ
)
v
+
(
1
−
cos
θ
)
(
r
⋅
v
)
r
+
(
sin
θ
)
r
×
v
\boldsymbol{u}=(\cos\theta)\boldsymbol{v}+(1-\cos\theta)(\boldsymbol{r}\cdot\boldsymbol{v})\boldsymbol{r}+(\sin\theta)\boldsymbol{r}\times\boldsymbol{v}
u=(cosθ)v+(1−cosθ)(r⋅v)r+(sinθ)r×v其中
v
\boldsymbol{v}
v 是原向量,
r
=
(
r
x
,
r
y
,
r
z
)
\boldsymbol{r}=(r_x,r_y,r_z)
r=(rx,ry,rz) 是旋转轴(单位向量),
θ
\theta
θ 是
v
\boldsymbol{v}
v 绕
r
\boldsymbol{r}
r 逆时针旋转的角度,
u
\boldsymbol{u}
u 是旋转后的向量。它又可以写成矩阵形式:
u
=
R
v
=
v
+
(
sin
θ
)
[
r
]
×
v
+
(
1
−
cos
θ
)
[
r
]
×
2
v
\boldsymbol{u}=\boldsymbol{R}\boldsymbol{v}=\boldsymbol{v}+(\sin\theta)[\boldsymbol{r}]_{\times}\boldsymbol{v}+(1-\cos\theta)[\boldsymbol{r}]_{\times}^2\boldsymbol{v}
u=Rv=v+(sinθ)[r]×v+(1−cosθ)[r]×2v其中
[
r
]
×
=
[
0
−
r
z
r
y
r
z
0
−
r
x
−
r
y
r
x
0
]
[\boldsymbol{r}]_{\times}=\left[
相机成像即将三维世界中的景物投影到成像平面,由感光器件转成电子图像。在由前文几个座标系描述的世界观中,成像模型描述三维点从世界座标系中(的座标)变换成像素座标系(的座标)的过程,参考 [20-24]。
当世界座标系和相机座标系不是同一个座标系时,第一步需要转换视角,将三维点的位置从世界座标系下的表示改为相机座标系下的表示。这一步是刚体变换,只涉及旋转和平移:
(
x
c
y
c
z
c
)
=
R
(
x
w
y
w
z
w
)
+
t
\left(
(
x
c
y
c
z
c
1
)
=
[
R
t
0
T
1
]
(
x
w
y
w
z
w
1
)
\left(
R \boldsymbol{R} R 和 t \boldsymbol{t} t 合称外参(extrinsic parameters),「外」是指不依赖于相机本身的属性(如:相机型号改变,并不影响这一步的座标系变换)。由 [18-20], R \boldsymbol{R} R 可以还原回旋转轴 r \boldsymbol{r} r、旋转角 θ \theta θ,又因为旋转轴只需要方向信息,故可以顺便用旋转轴的模长编码旋转角(从球座标的角度看,就是用两个角度表示旋转轴(的方向)、用极径表示旋转角),于是外参实质只有 6 个变量/自由度。
透视投影是将三维点投影到二维成像平面/光屏。由 [28],理想的成像是一个物点惟一对应一个像点,即由一个物点发出/反射的多条光线中,只有一条(或少数几条)射在光屏上(图示见 [24] Figure 1),一个光圈足够小的小孔相机(pinhole camera)可以实现,但会因为射入光线太少而成像过喑。
凸透镜可以让一个物点发出/反射的多条光线射入而又汇聚到一点,兼顾成像清晰和亮,其图示见 [2,20,24]。但是这里的「清晰」只是对部分物点,由更远、更近的物点发出/反射的光线在透镜后汇聚的位置并不恰好在光屏上。所以只有一定(前后)范围内的物点能成清晰的像,这个范围谓之景深(depth of field)。
(高斯)成像公式[29]给出透镜成像的比例关系,而由 [2] 的规律,理想成像位置在焦点后方。当:
时,可以用小孔成像的模型近似透视投影的过程,参考 [20-24]。此时成的实像是掉转的(即实像的 x’、y’ 正向与相机座标系的
x
c
x_c
xc、
y
c
y_c
yc 正向相反),为了方便,这一步变换一般基于实像关于光心点对称所得虚像进行描述,这个像就是正的(x、y 正向与
x
c
x_c
xc、
y
c
y_c
yc 正向相同),跟人看到的一样。由相似三角形(图示见 [21,22]),有:
z
c
z
=
x
c
x
=
y
c
y
\frac{z_c}{z}=\frac{x_c}{x}=\frac{y_c}{y}
zzc=xxc=yyc 此处 z 指像距,在小孔相机中 z = f,在透镜相机中其实
z
=
f
+
Δ
z=f+\Delta
z=f+Δ,但这里忽略
Δ
\Delta
Δ。于是:
(
x
y
)
=
(
x
c
z
c
f
y
c
z
c
f
)
\left(
(虚像的)图像座标系与像素座标系有两点不同:
所以从图像座标系到像素座标系的转变包括平移和缩放:
(
u
v
)
=
(
k
⋅
x
+
c
x
l
⋅
y
+
c
y
)
=
(
k
f
x
c
z
c
+
c
x
l
f
y
c
z
c
+
c
y
)
\left(
将上式改写成:
(
u
v
1
)
=
[
k
f
0
c
x
0
l
f
c
y
0
0
1
]
⏟
K
′
[
I
0
]
(
x
c
y
c
z
c
1
)
\left(
立体/双目视觉(stereo vision)、对极几何(epipolar geometry)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。