运动场与光流法


Reference:

  1. Emanuele Trucco,Alessandro Verri 《Introductory techniques for 3-D computer_vision》
  2. 7. Motion

1. 刚体运动场

1.1 定义

运动场(Motion Field)是图像点的速度的二维矢量场,由观察摄像机与观测场景之间的相对运动引起。

运动场可以被看成是三维速度矢量在图像平面上的映射(为了可视化这个向量场,想象它在图像上的三维速度矢量)。

1.2 基础

在这里插入图片描述

P = [ X , Y , Z ] T \mathbf{P}=[X,Y,Z]^T P=[X,Y,Z]T 是在通常相机参考系上的一个 3 D 3D 3D 点。映射中心在原点上,光轴为 Z Z Z 轴, f f f 表示焦距。根据针孔模型可知,一个场景点 P \mathbf{P} P 在图像中的点 p \mathbf{p} p 为:
p = f P Z \mathbf{p}=f\frac{\mathbf{P}}{Z} p=fZP

因为 p p p 在坐标系的第三项永远等于 f f f,我们将其写成 p = [ x , y ] T \mathbf{p}=[x,y]^T p=[x,y]T 来替代 p = [ x , y , f ] T \mathbf{p}=[x,y,f]^T p=[x,y,f]T。场景点 P \mathbf{P} P 与相机间的相对运动可以描述为:
V = − T − ω × P \mathbf{V}=-\mathbf{T}-\omega \times \mathbf{P} V=Tω×P

公式推导将在第二节中展开(2.1)。因为这里是相机,即坐标系在做运动,所以符号上均为负。

在这里 T \mathbf{T} T 表示运动的平移分量 ω \boldsymbol{\omega} ω 为角速度。当运动为刚体的,对于任意的 P \mathbf{P} P 来说 T \mathbf{T} T ω \mathbf{\omega} ω 相同的(对于同一刚体上的点来说)。分量可写为:
V x = − T x − ω y Z + ω z Y V y = − T y − ω z X + ω x Z V z = − T z − ω x Y + ω y X V_x = -T_x-\omega_yZ+\omega_zY\\ V_y = -T_y-\omega_zX+\omega_xZ\\ V_z = -T_z-\omega_xY+\omega_yX Vx=TxωyZ+ωzYVy=TyωzX+ωxZVz=TzωxY+ωyX

1.3 运动场的基础方程

为了获得在空间中的速度 P \mathbf{P} P 和在图像中相对应的速度 p \mathbf{p} p 的关系,我们对公式 p = f P Z \mathbf{p}=f\frac{\mathbf{P}}{Z} p=fZP 求时间倒数,得运动场 v \mathbf{v} v:
v = f Z V − V z P Z 2 \mathbf{v} = f\frac{Z\mathbf{V}-V_z\mathbf{P}}{Z^2} v=fZ2ZVVzP

1.2 中的 V x V_x Vx, V y V_y Vy 代入,得 v x v_x vx, v y v_y vy
v x = T z x − T x f Z − ω y f + ω z y + ω x x y f − ω y x 2 f v y = T z y − T y f Z + ω x f − ω z x − ω y x y f + ω x y 2 f \begin{aligned} &v_{x}=\frac{T_{z} x-T_{x} f}{Z}-\omega_{y} f+\omega_{z} y+\frac{\omega_{x} x y}{f}-\frac{\omega_{y} x^{2}}{f} \\ &v_{y}=\frac{T_{z} y-T_{y} f}{Z}+\omega_{x} f-\omega_{z} x-\frac{\omega_{y} x y}{f}+\frac{\omega_{x} y^{2}}{f} \end{aligned} vx=ZTzxTxfωyf+ωzy+fωxxyfωyx2vy=ZTzyTyf+ωxfωzxfωyxy+fωxy2

注意运动场是两个分量的和(平移+旋转):
运动场的平移分量为,
v x T = T z x − T x f Z , v y T = T z y − T y f Z v_{x}^T=\frac{T_{z} x-T_{x} f}{Z}, v_{y}^T=\frac{T_{z} y-T_{y} f}{Z} vxT=ZTzxTxf,vyT=ZTzyTyf
运动场的旋转分量为,
v x ω = − ω y f + ω z y + ω x x y f − ω y x 2 f , v y ω = ω x f − ω z x − ω y x y f + ω x y 2 f v_{x}^{\omega}=-\omega_{y} f+\omega_{z} y+\frac{\omega_{x} x y}{f}-\frac{\omega_{y} x^{2}}{f}, v_{y}^{\omega}=\omega_{x} f-\omega_{z} x-\frac{\omega_{y} x y}{f}+\frac{\omega_{x} y^{2}}{f} vxω=ωyf+ωzy+fωxxyfωyx2,vyω=ωxfωzxfωyxy+fωxy2

因为沿着光轴的运动场分量恒等于 0,应该用 v = [ v x , v y ] T \mathbf{v}=[v_x, v_y]^T v=[vx,vy]T 来替代 v = [ v x , v y , 0 ] T \mathbf{v}=[v_x, v_y, 0]^T v=[vx,vy,0]T

要注意的是,在最后这两对方程中,分量分别取决于角速度 ω \boldsymbol{\omega} ω 和深度 Z Z Z,它们是解耦合的(分离开)。这里就揭露了运动场的一个很重要的性质:运动场中依赖角速度的那部分并不携带有关深度的信息

1.4 特殊情况:纯平移

假设观测相机和场景间没有旋转分量,即 ω = 0 \boldsymbol{\omega}=0 ω=0,则:
v x = T z x − T x f Z , v y = T z y − T y f Z v_{x}=\frac{T_{z} x-T_{x} f}{Z}, v_{y}=\frac{T_{z} y-T_{y} f}{Z} vx=ZTzxTxf,vy=ZTzyTyf

在一般情况下 T z ≠ 0 T_z\neq0 Tz=0,有一点 p 0 = [ x 0 , y 0 ] T \boldsymbol{p_0}=[x_0,y_0]^T p0=[x0,y0]T,则根据针孔成像原理(该点固定且唯一):
x 0 = f T x / T z , y 0 = f T y / T z x_0=fT_x/T_z, y_0=fT_y/T_z x0=fTx/Tz,y0=fTy/Tz

代入上式,得:
v x = ( x − x 0 ) T z Z , v y = ( y − y 0 ) T z Z v_x=(x-x_0)\frac{T_z}{Z}, v_y=(y-y_0)\frac{T_z}{Z} vx=(xx0)ZTz,vy=(yy0)ZTz

可以看出运动场的纯平移是径向的,它包含了从一个共同的原点 p 0 \boldsymbol{p_0} p0 径直发散出来的向量,这个点是平移方向的消失点。

  • T z < 0 T_z<0 Tz<0,向量点远离 p 0 \boldsymbol{p_0} p0 p 0 \boldsymbol{p_0} p0 被称为延伸焦点(focus of expansion,即 FOE),如图(a);
  • T z > 0 T_z>0 Tz>0,向量点朝向 p 0 \boldsymbol{p_0} p0 p 0 \boldsymbol{p_0} p0 被称为收缩焦点(focus of contraction),如图(b)。
    另外, v = v ( p ) \boldsymbol{v}=\boldsymbol{v}(\boldsymbol{p}) v=v(p) 的长度与 p \boldsymbol{p} p p 0 \boldsymbol{p_0} p0 之间的距离成正比,与三维点 P \boldsymbol{P} P 的深度成反比。

在这里插入图片描述
特殊情况下,如果 T z = 0 T_z=0 Tz=0,公式变成了:
v x = − f T x Z , v y = − f T y Z v_x=-f\frac{T_x}{Z}, v_y=-f\frac{T_y}{Z} vx=fZTx,vy=fZTy

这时所有的运动场向量都是平行的,如上图©所示。

VP 和 FOE 的区别

纯平移运动时,FOE 为消失点。

2. 二维刚体运动运动学

即使刚体是由无数个粒子组成的,这些粒子的运动受到约束,使该物体在运动过程中仍然是刚体。特别地,二维刚体仅有的自由度是平移和旋转。

考虑一个二维刚体,它围绕点 O ′ O' O 以角速度 ω \omega ω 旋转,同时,点 O ′ O' O 相对于以 O O O 为原点的固定参照系 x x x y y y 运动。
在这里插入图片描述
为了确定物体中点 P P P 的运动,我们搭建了第二套坐标轴 x ′ y ′ x'y' xy,与 x y xy xy 平行,其中原点在 O ′ O' O
r P = r O ′ + r P ′ v P = v O ′ + ( v P ) O ′ a P = a O ′ + ( a P ) O ′ \mathbf{r}_P = \mathbf{r}_{O'}+\mathbf{r}'_P\\ \mathbf{v}_P = \mathbf{v}_{O'}+(\mathbf{v}_P)_{O'}\\ \mathbf{a}_P = \mathbf{a}_{O'}+(\mathbf{a}_P)_{O'} rP=rO+rPvP=vO+(vP)OaP=aO+(aP)O

在这里,

  1. r P \mathbf{r}_P rP v P \mathbf{v}_P vP a P \mathbf{a}_P aP 分别为在点 O O O 观测到的点 P P P 的位置、速度和加速度向量;
  2. r O ′ \mathbf{r}_{O'} rO 为点 O ′ O' O 的位置向量;
  3. r P ′ \mathbf{r}'_P rP, ( v P ) O ′ (\mathbf{v}_P)_{O'} (vP)O ( a P ) O ′ (\mathbf{a}_P)_{O'} (aP)O 分别为在点 O ′ O' O 观测到的点 P P P 的位置、速度和加速度向量。

相对于点 O ′ O' O,所有点在刚体中都可以被描述为一个圆形轨道( r P ′ \mathbf{r}'_P rP为定值),这样可以很容易的算出速度:
( v P ) O ′ = r P ′ θ ˙ = r ω \left(v_{P}\right)_{O^{\prime}}=r_{P}^{\prime} \dot{\theta}=r \omega (vP)O=rPθ˙=rω

写成向量形式:
( v P ) O ′ = ω × r P ′ \left(\boldsymbol{v}_{P}\right)_{O^{\prime}}=\boldsymbol{\omega} \times \boldsymbol{r}_{P}^{\prime} (vP)O=ω×rP

其中 ω \boldsymbol{\omega} ω 是角速度向量。加速度有一个周向分量和一个径向分量,
( ( a P ) O ′ ) θ = r P ′ θ ¨ = r P ′ ω ˙ , ( ( a P ) O ′ ) r = − r P ′ θ ˙ 2 = − r P ′ ω 2 \left(\left(a_{P}\right)_{O^{\prime}}\right)_{\theta}=r_{P}^{\prime} \ddot{\theta}=r_{P}^{\prime} \dot{\omega}, \quad\left(\left(a_{P}\right)_{O^{\prime}}\right)_{r}=-r_{P}^{\prime} \dot{\theta}^{2}=-r_{P}^{\prime} \omega^{2} ((aP)O)θ=rPθ¨=rPω˙,((aP)O)r=rPθ˙2=rPω2

注意 ω \boldsymbol{\omega} ω ω ˙ \dot\boldsymbol{\omega} ω˙ 垂直于平面运动(也就是 ω \boldsymbol{\omega} ω 可以改变大小而不是速度),可以将加速度向量写成:
( a P ) O ′ = ω ˙ × r P ′ + ω × ( ω × r P ′ ) \left(\boldsymbol{a}_{P}\right)_{O^{\prime}}=\dot{\boldsymbol{\omega}} \times \boldsymbol{r}_{P}^{\prime}+\boldsymbol{\omega} \times\left(\boldsymbol{\omega} \times \boldsymbol{r}_{P}^{\prime}\right) (aP)O=ω˙×rP+ω×(ω×rP)

已知对于任意三个向量 A \boldsymbol{A} A, B \boldsymbol{B} B C \boldsymbol{C} C,有 A × ( B × C ) = ( A ⋅ C ) B − ( A ⋅ B ) C \boldsymbol{A} \times(\boldsymbol{B} \times \boldsymbol{C})=(\boldsymbol{A} \cdot \boldsymbol{C}) \boldsymbol{B}-(\boldsymbol{A} \cdot \boldsymbol{B}) \boldsymbol{C} A×(B×C)=(AC)B(AB)C。因此 ω × ( ω × r P ′ ) = ( ω ⋅ r P ′ ) ω − ω 2 r P ′ = − ω 2 r P ′ \boldsymbol{\omega} \times\left(\boldsymbol{\omega} \times \boldsymbol{r}_{P}^{\prime}\right)=\left(\boldsymbol{\omega} \cdot \boldsymbol{r}_{P}^{\prime}\right) \boldsymbol{\omega}-\omega^{2} \boldsymbol{r}_{P}^{\prime}=-\omega^{2} \boldsymbol{r}_{P}^{\prime} ω×(ω×rP)=(ωrP)ωω2rP=ω2rP最终,得到公式:
v P = v O ′ + ω × r P ′ a P = a O ′ + ω ˙ × r P ′ + ω × ( ω × r P ′ ) \begin{aligned} &\boldsymbol{v}_{P}=\boldsymbol{v}_{O^{\prime}}+\boldsymbol{\omega} \times \boldsymbol{r}_{P}^{\prime} \\ &\boldsymbol{a}_{P}=\boldsymbol{a}_{O^{\prime}}+\dot{\boldsymbol{\omega}} \times \boldsymbol{r}_{P}^{\prime}+\boldsymbol{\omega} \times\left(\boldsymbol{\omega} \times \boldsymbol{r}_{P}^{\prime}\right) \end{aligned} vP=vO+ω×rPaP=aO+ω˙×rP+ω×(ω×rP)

2.1 公式推导

光流假设之一:小运动----->(简化为)小旋转

  • 假设在时间 t t t 时,点的 3D 位置为 P P P
  • 那么在时间 t + 1 t+1 t+1 时,点的 3D 位置为 R P + T RP+T RP+T

现在考虑较短的时间段(如两个视频帧之间的时间= 1/30秒)。可以假设在这段时间内旋转一个小角度。做一个小的角度近似,重写位移。在极限(无穷小的时间周期),就可以得到速度。
已知:
R z , ψ = [ c o s ψ − s i n ψ 0 s i n ψ c o s ψ 0 0 0 1 ] , R y , θ = [ c o s θ 0 s i n θ 0 1 0 − s i n θ 0 c o s θ ] , R x , ϕ = [ 1 0 0 0 c o s ϕ − s i n ϕ 0 s i n ϕ c o s ϕ ] \begin{aligned} \mathbf{R}_{z, \psi} &=\left[\begin{array}{ccc} cos \psi & -sin \psi & 0 \\ sin \psi & cos \psi & 0 \\ 0 & 0 & 1 \end{array}\right], \mathbf{R}_{y, \theta} &=\left[\begin{array}{ccc} cos \theta & 0 & sin \theta \\ 0 & 1 & 0 \\ -sin \theta & 0 & cos \theta \end{array}\right], \mathbf{R}_{x, \phi}=\left[\begin{array}{ccc} 1 & 0 & 0 \\ 0 & cos \phi & -sin \phi \\ 0 & sin \phi & cos \phi \end{array}\right] \end{aligned} Rz,ψ=cosψsinψ0sinψcosψ0001,Ry,θ=cosθ0sinθ010sinθ0cosθ,Rx,ϕ=1000cosϕsinϕ0sinϕcosϕ

相乘得 z y x zyx zyx 形式的转换矩阵:
R b n ( Θ ) : = R z , ψ R y , θ R x , ϕ R b n ( Θ ) − 1 = R n b ( Θ ) = R x , ϕ ⊤ R y , θ ⊤ R z , ψ ⊤ R b n ( Θ ) = [ c o s ψ c o s θ − s i n ψ c o s ϕ + c o s ψ s i n θ s i n ϕ s i n ψ s i n ϕ + c o s ψ c o s ϕ s i n θ s i n ψ c o s θ c o s ψ c o s ϕ + s i n ϕ s i n θ s i n ψ − c o s ψ s i n ϕ + s i n θ s i n ψ c o s ϕ − s i n θ c o s θ s i n ϕ c o s θ c o s ϕ ] \begin{array}{l} \mathbf{R}_{b}^{n}(\Theta):=\mathbf{R}_{z, \psi} \mathbf{R}_{y, \theta} \mathbf{R}_{x, \phi} \quad \mathbf{R}_{b}^{n}(\Theta)^{-1}=\mathbf{R}_{n}^{b}(\Theta)=\mathbf{R}_{x, \phi}^{\top} \mathbf{R}_{y, \theta}^{\top} \mathbf{R}_{z, \psi}^{\top} \\ \mathbf{R}_{b}^{n}(\Theta)=\left[\begin{array}{ccc} \mathrm{cos} \psi \mathrm{cos} \theta & -\mathrm{sin} \psi \mathrm{cos} \phi+\mathrm{cos} \psi \mathrm{sin} \theta \mathrm{sin} \phi & \mathrm{sin} \psi \mathrm{sin} \phi+\mathrm{cos} \psi \mathrm{cos} \phi \mathrm{sin} \theta \\ \mathrm{sin} \psi \mathrm{cos} \theta & \mathrm{cos} \psi \mathrm{cos} \phi+\mathrm{sin} \phi \mathrm{sin} \theta \mathrm{sin} \psi & -\mathrm{cos} \psi \mathrm{sin} \phi+\mathrm{sin} \theta \mathrm{sin} \psi \mathrm{cos} \phi \\ -\mathrm{sin} \theta & \mathrm{cos} \theta \mathrm{sin} \phi & \mathrm{cos} \theta \mathrm{cos} \phi \end{array}\right] \end{array} Rbn(Θ):=Rz,ψRy,θRx,ϕRbn(Θ)1=Rnb(Θ)=Rx,ϕRy,θRz,ψRbn(Θ)=cosψcosθsinψcosθsinθsinψcosϕ+cosψsinθsinϕcosψcosϕ+sinϕsinθsinψcosθsinϕsinψsinϕ+cosψcosϕsinθcosψsinϕ+sinθsinψcosϕcosθcosϕ

在小角度情况下:
c o s ( x ) ≈ 1 , s i n ( x ) ≈ x , s i n ( x ) c o s ( y ) ≈ 0 cos(x)\approx1, \quad sin(x)\approx x, \quad sin(x)cos(y)\approx0 cos(x)1,sin(x)x,sin(x)cos(y)0

因此,上面矩阵中的小角度近似可简化为:
R ≈ [ 1 − ψ θ ψ 1 − ϕ − θ ϕ 1 ] = I + [ 0 − ψ θ ψ 0 − ϕ − θ ϕ 0 ] = I + S R \approx\left[\begin{array}{ccc} 1 & -\psi & \theta \\ \psi & 1 & -\phi \\ -\theta & \phi & 1 \end{array}\right]=I+\left[\begin{array}{ccc} 0 & -\psi & \theta \\ \psi & 0 & -\phi \\ -\theta & \phi & 0 \end{array}\right]=I+S R1ψθψ1ϕθϕ1=I+0ψθψ0ϕθϕ0=I+S
在小角度近似的条件下,可得位移:
d i s p l a c e m e n t = R P + T − P = ( I + S ) P + T − P = S P + T displacement = RP + T - P = (I+S)P + T - P = SP+T displacement=RP+TP=(I+S)P+TP=SP+T

注意, S P = [ ϕ , θ , ψ ] T × P SP=[\phi, \theta, \psi]^T\times P SP=[ϕ,θ,ψ]T×P
在极限下,位移变成了速度:
V = T + ω × P V=T+\omega\times P V=T+ω×P

其中 ω = [ ω x , ω y , ω z ] T \omega=[\omega_x, \omega_y, \omega_z]^T ω=[ωx,ωy,ωz]T,这里的 T T T 与上面的公式不同 ---- 不是位移而是速度。

这里的符号取正负都可以,它取决于你想要认为运动是由于摄像机还是由于场景。

3. 运动场和光流

运动场(Motion Field): 三维相对矢量在二维图像平面上的投影
光流(Optical Flow): 在图像中观察到的亮度图案(brightness patterns)的二维位移

现在将问题转变为:从图像序列来估计运动场,即从空间和时间上的图像变化来估计运动场

3.1 图像亮度一致性方程

在大多数情况下,运动物体的视亮度保持不变,即 E ( x , y , t ) = E ( x + u , y + v , t + 1 ) E(x,y,t)=E(x+u,y+v,t+1) E(x,y,t)=E(x+u,y+v,t+1)
在这里插入图片描述图像亮度 E E E,应该被看做图像平面的空间坐标 x x x, y y y 和时间的函数,也就是 E = E ( x , y , t ) E=E(x,y,t) E=E(x,y,t)。已知亮度一致性: d E d t = 0 \frac{dE}{dt}=0 dtdE=0,通过链式法则求导得:
d E ( x ( t ) , y ( t ) , t ) d t = ∂ E ∂ x d x d t + ∂ E ∂ y d y d t + ∂ E ∂ t = 0. \frac{d E(x(t), y(t), t)}{d t}=\frac{\partial E}{\partial x} \frac{d x}{d t}+\frac{\partial E}{\partial y} \frac{d y}{d t}+\frac{\partial E}{\partial t}=0 . dtdE(x(t),y(t),t)=xEdtdx+yEdtdy+tE=0.

图像亮度的偏空间导数只是空间图像梯度的分量, ∇ E \nabla E E时间导数 d x / d t dx/dt dx/dt, d y / d t dy/dt dy/dt—两个均为运动场 v \boldsymbol{v} v 分量。

上式可以重写为以下式子,其中下标 t t t 代表关于时间的偏微分:
( ∇ E ) T v + E t = 0 (\nabla E)^T\boldsymbol{v}+E_t=0 (E)Tv+Et=0

3.2 孔径问题(The Aperture Problem)

孔径问题 指在运动估计中无法通过单个算子(计算某个像素值变化的操作,如:梯度)准确无误地评估物体的运行轨迹。原因是每一个算子只能处理它所负责局部区域的像素值变化,然而同一种像素值变化可能是由物体的多种运行轨迹导致。

运动场也是如此,它只能得到其空间图像梯度方向的分量 v n \boldsymbol{v_n} vn,该分量为垂直分量,因为空间图像梯度与沿图像光强保持不变的空间方向是垂直的。由上式 ( ∇ E ) T v + E t = 0 (\nabla E)^T\boldsymbol{v}+E_t=0 (E)Tv+Et=0 可得:
− E t ∥ ∇ E ∥ = ( ∇ E ) ⊤ v ∥ ∇ E ∥ = v n -\frac{E_{t}}{\|\nabla E\|}=\frac{(\nabla E)^{\top} \mathbf{v}}{\|\nabla E\|}=\boldsymbol{v_{n}} EEt=E(E)v=vn

图中的黑线和灰线相同图像线在连续两帧下的不同位置。在(a)中通过小孔径 v n \boldsymbol{v_{n}} vn 所感知到的像速度只是(b)中显示的真实像速度 v \boldsymbol{v} v 的像梯度的平行分量。

3.3 光流一致性方程的有效性

已知一致性方程是在亮度不变性下得到的结论。现在要评估这个平行分量怎么样,此时引入估计的方程与真实值之间的差 Δ v \Delta v Δv。为此,需要引入一个成像模型,它与场景中的照明以及表面反射率有关。

在这里插入图片描述
Lambertian 模型:每个表面点从所有的观察方向看都有相同的亮度。
为了这个讨论的目的,我们将条件限制在了一个 Lambertian surface S S S,由一个点光源在无限远离相机处照明----这样就可以忽略掉光度畸变(photometric distortion),这样我们可以将图像亮度 E E E(image brightness1) 写成:
E = ρ I T n E=\rho \boldsymbol{I}^T\boldsymbol{n} E=ρITn

其中 ρ \rho ρ 为表面反射率(surface albedo),与表面的材料有关; I \boldsymbol{I} I 为发光亮度(illumination1)的光强和方向(入射光方向和总量); n \boldsymbol{n} n 为点 P \boldsymbol{P} P 在表面 S S S 的单位法向量。

将等式两边对时间求导。右侧只有表面法向量与时间有关:
d n d t = ω × n \frac{d \mathbf{n}}{dt}=\omega \times \mathbf{n} dtdn=ω×n

求导后等式变为了(左侧同 ( ∇ E ) T v + E t = 0 (\nabla E)^T\boldsymbol{v}+E_t=0 (E)Tv+Et=0获得方式):
∇ E ⊤ v + E t = ρ I ⊤ ( ω × n ) \nabla E^{\top} \mathbf{v}+E_{t}=\rho \mathbf{I}^{\top}(\omega \times \mathbf{n}) Ev+Et=ρI(ω×n)

通过3.3中的方程可以得到,真实值与估计出来的差值为:
∣ Δ v ∣ = ρ ∣ I ⊤ ω × n ∣ ∥ ∇ E ∥ |\Delta v|=\rho \frac{\left|\mathbf{I}^{\top} \omega \times \mathbf{n}\right|}{\|\nabla E\|} Δv=ρEIω×n

可以发现,即使在简化版 Lambertian 反射的假设下, Δ v \Delta v Δv 仅在做纯运动或刚体运动发光方向平行于角速度时为0。另外需要注意的是,在空间梯度大小增加时,估计差 Δ v \Delta v Δv 降低。这表明,具有高空间图像梯度的点的位置,在该位置上的运动场可以通过图像亮度一致性得到最好的估计结果。

在一般情况下, ∣ Δ v ∣ |\Delta v| Δv 不可能恒为0,图像亮度的视运动总是不等于运动场。为了避免混淆,我们把视运动称为光流

3.4 总结

光流定义:光流是一个受制于函数: ( ∇ E ) T v + E t = 0 (\nabla E)^T\boldsymbol{v}+E_t=0 (E)Tv+Et=0 的矢量场,它粗略地定义为图像亮度图案的视运动。

光流是运动场的近似,可以从时变图像序列中计算得到。
在简化的假设下:

  • Lambertian surface;
  • 无穷远的逐点光源;
  • 无光度失真

这种近似得到的误差:

  • 在点有高空间梯度时,误差较小;
  • 只在平移运动或任何刚体运动的照明方向平行于角速度时,误差为零;

  1. 发光亮度(Luminance)和亮度(Brightness)的区别

    很多时候,容易将Luminance和Brightness两个概念混淆。Luminance指的是投射在固定方向和面积上面的发光强度,发光强度是一个可测量的属性,单位是“每立方米坎德拉”(cd/m2)。所以,不同的显示器可以通过测量获取cd/m2,调整至相同的cd/m2而获取相同发光强度。

    Brightness亮度是光的主观属性,显示器从暗到亮之间可以调节成不同程度等级的亮度,亮度一般作为感知存在,而不能通过测量来客观评估(但可以说成比例,如50%的亮度)。 ↩︎ ↩︎

  • 12
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泠山

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值