Joint Radiometric Calibration and Feature Tracking System

特征提取和跟踪是许多计算机视觉系统的基本步骤,因为它提供了在空间上将一个图像与另一图像关联的方法。Kanade–Lucas–Tomasi (KLT) 跟踪器因其鲁棒性与效率是最常用的特征跟踪器之一,特别是在处理视频图像序列时。然而,在某一类情况下会给 KLT 跟踪器带来问题。例如,当在捕获高动态范围场景的图像时,为了捕捉自然场景的全亮度范围,同一场景点的值在整个视频序列中变换,打破了 KLT 跟踪器的基本假设(即,场景点的亮度保持恒定)。由此,文章12介绍了一种通过非线性建模图像之间全局的图像亮度变化,同时计算图像之间的空间关系(通过特征跟踪)和辐射关系(通过辐射响应函数和曝光)的系统。

1. Kanade-Lucas-Tomasi (KLT) tracker

首先,先回顾下 KLT 跟踪器34。KLT 跟踪器可以看作是稀疏特征点集合的光流。目标是计算图像序列帧间特征的位移。该算法假设视频图像序列中连续帧之间的特征运动较小,特征表象保持不变。亮度恒定假设如下:

$$ J \Big({\rm x + \frac{dx}2} \Big) - I\Big(\rm x - \frac{dx}2 \Big) = 0 \tag{1.1}\label{1.1} $$

这里的 $J$ 和 $I$ 分别是 $t+1$ 和 $t$ 时刻的图像,${\rm x} = [u, v]^T$ 是图像中的像素坐标,而 ${\rm dx} = [du, dv]^T$ 是位移向量。将方程线性化,并在每一个图像块 $P$ 上最小化误差后,每个特征的位移计算如下5: $$ \begin{align*} \underbrace{\sum_{{\rm x} \in P} \begin{bmatrix} S_u^2 & S_u S_v \newline S_u S_v & S_v^2 \end{bmatrix}}_\Psi \begin{bmatrix} du \newline dv \end{bmatrix} &= 2 \sum _{{\rm x} \in P} \begin{bmatrix} (I({\rm x}) - J({\rm x})) S_u \newline (I({\rm x}) - J({\rm x})) S_v \end{bmatrix} \newline {\text 其中:} \ \ \ \ S_u = J_u + I_u, \quad S_v = J_v + I_v, \quad & J_u = \frac{\partial J({\rm x})}{\partial u}, \ J_v = \frac{\partial J({\rm x})}{\partial v}, \ I_u = \frac{\partial I({\rm x})}{\partial u}, \ I_v = \frac{\partial I({\rm x})}{\partial v} \end{align*} \tag{1.2} \label{1.2} $$ 注意,由于假设特征的局部运动相同,所以在围绕特征图像块 $P$ 上求和。用于跟踪的特征一般是使用具有丰富纹理的区域。均匀区域或者直线边缘不包含足够的运动信息。这意味着选择的特征图像区域中构成式 $\eqref{1.2}$ 标注的 $\Psi$ 矩阵的最小特征值需要足够大(见文章「Harris 角点」)。对于式 $\eqref{1.1}$ 到式 $\eqref{1.2}$ 的推导如下:

  1. 对 $\eqref{1.1}$ 进行一阶泰勒展开 $$ \begin{align*} & J(u,v) + \frac12 J_u du + \frac12 J_v dv - \Big(I(u,v) - \frac12 I_u du - \frac12 I_v dv \Big) \newline =\ &(J(u,v) - I(u,v)) + \frac12( J_u + I_u)du + \frac12(J_v + I_v)dv \end{align*} \tag{1.3.a} \label{1.3.a} $$

  2. 对上式进行最小化误差运算(即,进行最小二乘求解),平方上式然后对 $\rm dx$ 求导数设为零,得 $$ \begin{align*} \text{对}du\text{求导:}\ & (J_u + I_u)^2 du + (J_u + I_u)(J_v + I_v) dv = 2 (I(u,v) - J(u,v))(J_u + I_u) \newline \text{对}dv\text{求导:}\ & (J_u + I_u)(J_v + I_v) du + (J_v + I_v)^2 dv = 2 (I(u,v) - J(u,v))(J_v + I_v) \end{align*} \tag{1.3.b} \label{1.3.b} $$

2. Radiometric Calibration - 辐射标定

辐射响应函数定义了图像辐照度 $E$ 和图像亮度 $I$ 在点 $\rm x$ 处关于曝光 $k$ 的关系如下, $$ I({\rm x}) = f(k E({\rm x})) \tag{2.1} \label{2.1} $$ 假设图像之间对应点的辐照度相等,表示对应点对 $\rm x_1, x_2$ 在图像 $I, J$ 是辐射相关的等式如下所示(由于连续帧之间位移很小因此忽略渐晕效果), $$ g(J({\rm x_2})) - g(I({\rm x_1})) = K \tag{2.2} \label{2.2} $$ 响应函数 $g$ 是辐射响应函数逆的对数 ( $\log f^{-1}$ ),而 $K$ 是两幅图像之间曝光比的对数6。简单起见,下面视 $g$ 为响应函数,视 $K$ 为两幅图像之间曝光差。而一些光度标定的知识可以参考文章「光度标定 - Photometric Calibration」、「在线光度校准」。

3. 联合特征跟踪和辐射标定

下文将一步步的推导介绍,在给定不同曝光视频图像序列,如何通过所提出的算法估计相机的响应函数、帧之间的曝光差、以及帧与帧之间的特征跟踪。首先,介绍当响应函数已知时跟踪特征的方法,然后,继续推导联合特征跟踪和辐射标定的方法。

3.1 已知响应函数的特征跟踪

首先推导相机的响应函数 $g$ (对数域的逆辐射响应函数) 已知时,跟踪特征和估计两幅图像之间曝光差 $K$ 的方法。根据式 $\eqref{1.1}\eqref{2.2}$ 有, $$ g \Big(J \big( {\rm x + \frac{dx}2} \big) \Big) - g \Big(I \big( {\rm x - \frac{dx}2} \big) \Big) = K \tag{3.1}\label{3.1} $$ 对上式中图像部分进行一阶泰勒线性展开(类似式 $\eqref{1.3.a}$ 过程),有 $$ g \Big( J({\rm x}) + \nabla J({\rm x})^T \frac{{\rm dx}}2 \Big) - g \Big( I({\rm x}) - \nabla I({\rm x})^T \frac{{\rm dx}}2 \Big) = K \tag{3.2} \label{3.2} $$ 再对上式响应函数进行一阶泰勒线性展开,有 $$ g(J) + g’(J) \nabla J^T {\rm \frac{dx}2} - \Big[ g(I) - g’(I) \nabla I^T {\rm \frac{dx}2} \Big] - K = 0 \tag{3.3}\label{3.3} $$ 其中令 $J({\rm x}) = J, I({\rm x}) = I$ ,$g’$ 是响应函数 $g$ 的导数。假设每个特征 $P_i$ 周围的图像块上所有的像素的位移相等,则每个特征的位移 $[du_i, dv_i]^T$ 和曝光差 $K$ 可以通过最小化以下误差函数来估计: $$ \begin{gather} E(du_i, dv_i, K) = \sum_{{\rm x} \in P_i} \Big( \beta + a \frac{du_i}2 + b \frac{dv_i}2 - K \Big)^2 \newline \text{其中,}\quad a = g’(J)J_u + g’(I)I_u \ , \quad b = g’(J)j_v + g’(I)I_v \ ,\quad \beta = g(J) - g(I) \end{gather} \tag{3.4} \label{3.4} $$ 当对所有未知数的偏导数为零时,误差函数最小,因此,对每个特征求解如下方程, $$ \begin{gather} \begin{bmatrix} \bf U_i & \bf w_i \newline \bf w_i^T & \lambda_i \end{bmatrix} {\bf z_i} = \begin{bmatrix} \bf v_i \newline m_i \end{bmatrix} \tag{3.5.a}\label{3.5.a} \newline \newline \text{其中,} \quad {\bf U_i} = \begin{bmatrix}\frac12 \sum_{P_i}a^2 & \frac12 \sum_{P_i} ab \newline \frac12 \sum_{P_i} ab & \frac12 \sum_{P_i} b^2 \end{bmatrix} ,\quad {\bf w_i} = \begin{bmatrix} -\sum_{P_i} a \newline - \sum_{P_i} b \end{bmatrix}, \quad \lambda_i = \sum_{P_i} 2 \tag{3.5.b}\label{3.5.b}\newline \quad\ {\bf v_i} = \begin{bmatrix} -\sum_{P_i} \beta a \newline -\sum_{P_i} \beta b \end{bmatrix}, \quad m_i = 2 \sum_{P_i}\beta, \quad {\bf z_i} = \begin{bmatrix} du_i & dv_i & K \end{bmatrix}^T \tag{3.5.c}\label{3.5.c} \end{gather} $$ 注意到所有特征的曝光差 $K$ 是全局的,因此同时可以估计所有特征的位置位移 $\lbrace du_i, dv_i | i= 1 \cdots n \rbrace$ 和曝光 $K$ 通过最小化以下误差, $$ E(du_i, dv_i, \cdots, du_n, dv_n, K) = \sum_{i=1}^n E(du_i, dv_i, K) \tag{3.6} \label{3.6} $$ 由此,通过求解以下线性方程,可以得到未知数 $\bf z$ , $$ \begin{gather} {\bf Az} = \begin{bmatrix} \bf U & \bf w \newline {\bf w}^T & \lambda \end{bmatrix} {\bf z} = \begin{bmatrix} \bf v \newline m \end{bmatrix} \tag{3.7.a}\label{3.7.a} \\ \newline {\text 其中,} \quad {\bf U} = \begin{bmatrix} \bf U_1 & 0 & \cdots & 0 \newline 0 & \bf U_2 & & 0 \newline \vdots & & \ddots & \vdots \newline 0 & & \cdots & \bf U_n \end{bmatrix}, \quad {\bf w} = [{\bf w_1}, \cdots, {\bf w_n}]^T, \quad \lambda = \sum_{i=1}^n \lambda_i \tag{3.7.b}\label{3.7.b} \newline m = \sum_{i=1}^n m_i \ , \quad {\bf v} = [{\bf v_1}, \cdots, {\bf v_n}]^T, \quad {\bf z} = [du_i, dv_i, \cdots, du_n, dv_n, K]^T \tag{3.7.c}\label{3.7.c} \end{gather} $$ 下图为式 $\eqref{3.7.a}$ 的结构。

Solving for the displacements and the exposure : Illustration of Eq.3.7.a

矩阵 $A$ 是一个稀疏矩阵,我们可以利用它的结构找到一个计算效率高的解。通过式 $\eqref{3.7.a}$ 两边同时乘以 $\begin{bmatrix} \bf I & 0 \newline -{\bf w}^T {\bf U}^{-1} & 1 \end{bmatrix}$ 得, $$ \begin{bmatrix} \bf U & \bf w \newline {\bf 0} & -{\bf w}^T {\bf U}^{-1} {\bf w} + \lambda \end{bmatrix} {\bf z} = \begin{bmatrix} \bf v \newline -{\bf w}^T {\bf U}^{-1} {\bf v} + m \end{bmatrix} \tag{3.8}\label{3.8} $$ 这里的 $(-{\bf w}^T {\bf U}^{-1} {\bf w} + \lambda)$ 是矩阵 $\bf U$ 的 Schur 补。因为 $\bf U$ 的逆可以高效地计算,因为它是一个 $2\times2$ 块对角矩阵(这个逆对应于标准 KLT 所需的工作量),而且它的 Schur 补是一个标量,所有式 $\eqref{3.8}$ 可以非常高效的求解。曝光差 $K$ 可以由下式计算得到, $$ (-{\bf w}^T {\bf U}^{-1} {\bf w} + \lambda) K = -{\bf w}^T {\bf U}^{-1} {\bf v} + m \tag{3.9}\label{3.9} $$ 一旦 $K$ 被求出来,我们就可以求解出位移。对于每一个 patch $i$ ,$du_i, dv_i$ 都可以通过回带 $K$ 到下式进行计算。因此,对比标准的 KLT 算法,提出的已知响应函数的特征跟踪估计仅仅额外增加了求解式 $\eqref{3.9}$ 的计算量。 $$ {\bf U_i} \begin{bmatrix} du_i \newline dv_i \end{bmatrix} = {\bf v_i} - K {\bf w_i} \tag{3.10}\label{3.10} $$

3.2 联合响应函数标定的特征跟踪

下面讨论响应函数未知的情况。给定一个视频图像序列,需要自动计算响应函数 $g$ 、帧间的曝光差 $K$ 和特征轨迹。响应函数 $g$ 采用 Grossberg 和 Nayar 引入的响应经验模型 (EMoR, empiric model of response)7。他们通过联合响应函数的理论空间和真实世界的相机响应函数数据库创建了一个 M 阶近似 EMoR , $$ g(I) = g_0(I) + \sum_{k=1}^M c_k h_k(I) \tag{3.11}\label{3.11} $$ 其中, $g_0(I)$ 是平均响应函数,$c_k$ 是基函数 $h_k(I)$ 的系数。在下面算法中,使用三阶近似($M = 3$),因此三阶近似函数以及可以覆盖 $99.6$% 的能量。响应函数的导数列示于基函数的线性组合, $$ g’(I) = g_0’(I) + \sum_{k=1}^M c_k h_k’(I) \tag{3.12}\label{3.12} $$ 将式 $\eqref{3.11} \eqref{3.12}$ 代入式 $\eqref{3.3}$ 中,得到如下等式, $$ d + a \cdot du + b \cdot dv + \sum_{k=1}^M c_k r_k + \sum_{k=1}^M \alpha_k p_k + \sum_{k=1}^M \beta_k q_k - K = 0 \tag{3.13.a} \label{3.13.a} $$

其中, $$ \begin{alignat}{2} a &= \frac{g_0’(J) J_u + g_0’(I) I_u}2 ,&\quad b &= \frac{g_0’(J) J_v + g_0’(I) I_v}2 \newline r_k &= h_k(J) - h_k(I) ,&\quad p_k &= \frac{h_k’(J) J_u + h_k’(I)I_u}2 \newline q_k &= \frac{h_k’(J) J_v + h_k’(I) I_v}2 ,&\quad d &= g_0(J) - g_0(I) \end{alignat} \tag{3.13.b} \label{3.13.b} $$ 未知量是位移 $du$ 和 $dv$ 、响应函数 $\lbrace c_k | k=1, \cdots,M \rbrace$ 、曝光差 $K$ 、以及线性化引入的变量 $\alpha_k = c_kdu$ 和 $\beta_k = c_k dv$ 。同样,假设每个特征周围的像素块所有的像素的位移都是恒定的,并最小化下面的误差函数来求解未知数。 $$ \begin{align*} E & (du_i, dv_i,c_1, \cdots, c_M, \alpha_{i1}, \cdots, \alpha_{iM}, \beta_{i1}, \cdots, \beta_{iM}, K) \newline &= \sum_{P_i} \Big( d + a \cdot du + b \cdot dv + \sum_{k=1}^M c_k r_k + \sum_{k=1}^M \alpha_k p_k + \sum_{k=1}^M \beta_k q_k - K \Big)^2 \end{align*} \tag{3.14} \label{3.14} $$ 将所有对未知数的偏导数设为零,每个特征得到如下方程:

$$ \begin{gather} \begin{bmatrix} \bf U_i & \bf W_i \newline {\bf W_i}^T & \bf \Lambda_i \end{bmatrix} {\bf z_i} = \begin{bmatrix} \bf v_i \newline \bf m_i \end{bmatrix} \tag{3.15.a} \label{3.15.a} \newline \newline \text{其中,} \quad {\bf z_i} = [du_i, dv_i,c_1, \cdots, c_M, \alpha_{i1}, \cdots, \alpha_{iM}, \beta_{i1}, \cdots, \beta_{iM}, K]^T \tag{3.15.b}\label{3.15.b} \newline {\bf U_i} = \sum_{P_i} \boldsymbol{\mu \mu}^T, \quad {\bf W_i} = \sum_{P_i} \boldsymbol{\mu \nu}^T, \quad \boldsymbol{\Lambda_i} = \sum_{P_i} \boldsymbol{\nu \nu}^T \tag{3.15.c}\label{3.15.c} \newline {\bf v_i} = - \sum_{P_i} d \cdot \boldsymbol{\mu}, \quad {\bf m_i} = - \sum_{P_i} d \cdot \boldsymbol{\nu} \tag{3.15.d}\label{3.15.d} \newline \boldsymbol{\mu} = [a, p_1, \cdots, p_M, b, q_1, \cdots, q_M]^T, \quad \boldsymbol{\nu} = [r_1, \cdots, r_M, -1]^T \tag{3.15.e} \label{3.15.e} \end{gather} $$ 现在可以类似于已知响应函数情况,通过下式求解所有特征轨迹和响应函数的全局参数以及曝光差。 $$ \begin{gather} {\bf Az} = \begin{bmatrix} \bf U & \bf W \newline {\bf W}^T & \boldsymbol\Lambda \end{bmatrix} {\bf z} = \begin{bmatrix} \bf v \newline \bf m \end{bmatrix} \tag{3.16.a}\label{3.16.a} \\ \newline {\text 其中,} \quad {\bf U} = \begin{bmatrix} \bf U_1 & 0 & \cdots & 0 \newline 0 & \bf U_2 & & 0 \newline \vdots & & \ddots & \vdots \newline 0 & & \cdots & \bf U_n \end{bmatrix}, \quad {\bf W} = [{\bf W_1}, \cdots, {\bf W_n}]^T \tag{3.16.b}\label{3.16.b} \newline \boldsymbol\Lambda = \sum_{i=1}^n \boldsymbol\Lambda_i \ , \quad {\bf v} = [{\bf v_1}, \cdots, {\bf v_n}]^T, \quad {\bf m} = \sum_{i=1}^n {\bf m_i} \tag{3.16.c}\label{3.16.c} \newline {\bf z} = [\boldsymbol\varphi_1, \cdots, \boldsymbol\varphi_n, c_1, \cdots, c_n, K]^T, \quad \boldsymbol\varphi_i = [du_i, \alpha_{i1}, \cdots, \alpha_{i_M}, dv_i, \beta_{i1}, \cdots, \beta_{iM}]^T \tag{3.16.d}\label{3.16.d} \end{gather} $$ 下图为式 $\eqref{3.16.a}$ 的结构,与式 $\eqref{3.7.a}$ 的结构类似,但其子矩阵模块行列更大。$\bf U_i$ 行列为 $(2M+2)\times(2M+2)$ ,$\bf W_i$ 行列为 $(2M+2)\times(M+1)$ ,$\boldsymbol \Lambda_i$ 行列为 $(M+1)\times(M+1)$ 。

Solving for the radiometric response function (three basis functions), exposures, and the feature displacements: illustration of Eq.3.16.a

通过式 $\eqref{3.16.a}$ 两边同时乘以 $\begin{bmatrix} \bf I & \bf 0 \newline -{\bf w}^T {\bf U}^{-1} & \bf I \end{bmatrix}$ 得, $$ \begin{bmatrix} \bf U & \bf W \newline {\bf 0} & -{\bf W}^T {\bf U}^{-1} {\bf W} + \boldsymbol \Lambda \end{bmatrix} {\bf z} = \begin{bmatrix} \bf v \newline -{\bf W}^T {\bf U}^{-1} {\bf v} + {\bf m} \end{bmatrix} \tag{3.17}\label{3.17} $$ 响应函数和曝光的系数可以通过以下方式求解 $$ (-{\bf W}^T {\bf U}^{-1} {\bf W} + \boldsymbol \Lambda) \vartheta = -{\bf W}^T {\bf U}^{-1} {\bf v} + {\bf m} \tag{3.18} \label{3.18} $$ 其中 $\vartheta = [c_1, \dots, c_M, K]$ 。方程式 $\eqref{3.18}$ 的解具有指数歧义性($\gamma$ 歧义),这意味着如果响应函数 $g$ 和曝光差 $K$ 是问题的解,那么 $\gamma g$ 和 $\gamma K$ 也是问题的解。简单地说,有许多满足不同尺度方程的响应函数和曝光差。由此必须对响应函数或曝光做出假设以固定比例。为了处理这种歧义问题,我们选择将图像值 $128$ 的响应函数的值设置为值 $\tau$ 。通过将以下等式添加到等式 $\eqref{3.18}$ 来完成的约束, $$ \omega \sum_{k=1}^M c_k h_k(128) = \omega(\tau - g_0(128)) \tag{3.19} \label{3.19} $$ 等式中的值 $\omega$ 控制约束强度。然后可以通过求解出来的 $\vartheta$ 带人式 $\eqref{3.15.a}$ 中,求解处每个特征的轨迹, $$ {\bf U_i} \boldsymbol \varphi_i = {\bf v_i} - {\bf W_i} \vartheta \tag{3.20}\label{3.20} $$ 注意到 $\alpha_{ik} \ , \ \beta_{ik}$ 是位移和响应函数系数的乘积 $\alpha_{ik} = c_kdu_i$ 和 $\beta_{ik} = c_k dv_i$ 。由于已经估计了系数 $c_k$ ,因此分解为更简单的形式如下,

Factorization for estimating the tracks. $$ \begin{align*} {\bf Y_i} \begin{bmatrix} du_i \newline dv_i \end{bmatrix} &= {\bf v_i} - {\bf W_i} \vartheta \newline {\bf Y_i}(1:2M+2, 1) &= {\bf U_i}(1:2M+2, 1:M+1) \underline{\bf c}^T \newline {\bf Y_i}(1:2M+2, 2) &= {\bf U_i}(1:2M+2, M+2:2M+2) \underline{\bf c}^T \end{align*} \tag{3.21} \label{3.21} $$

3.3 迭代更新响应函数估计

在上一节中,介绍了在给定视频图像系列中连续两张图像的情况下同时计算响应函数、曝光差、特征轨迹的方式。现在介绍如何使用卡尔曼滤波器对没对图像的响应函数估计进行整合。状态量是响应函数的系数 $(\phi = [c_1, \dots, c_M]^T)$ ,并假设它保持不变。因此,过程噪声协方差设置为零,状态运动方程为 $$ \begin{align*} \hat \phi_k^- &= \hat \phi_{k-1} \newline P_k^- &= P_{k-1} \end{align*} \tag{3.22} \label{3.22} $$ 这里的 $\hat\phi$ 是状态估计量,$P$ 是估计误差的协方差矩阵。测量更新方程为 $$ \begin{align*} \kappa_k &= P_k^- (P_k^- + R)^{-1} \newline \hat \phi_k &= \hat \phi_k^- + \kappa_k ({\rm z}_k - \hat \phi_k^-) \newline P_k &= (I - \kappa_k) P_k^- \end{align*} \tag{3.23} \label{3.23} $$ 其中,$\kappa$ 是卡尔曼增益,${\rm z}_k$ 为测量量是上一节中每一连续帧估计出来的响应函数系数,$R$ 是测量噪声的协方差矩阵。根据式 $\eqref{3.18}$ 令 ${\bf D} = (-{\bf W}^T {\bf U}^{-1} {\bf W} + \boldsymbol \Lambda)$ 和 ${\bf b} = -{\bf W}^T {\bf U}^{-1} {\bf v} + {\bf m}$ ,则协方差矩阵 $R$ 计算如下, $$ R = ({\bf D}^T {\bf D})^{-1} \big( ({\bf D} \vartheta - {\bf b})^T ({\bf D} \vartheta - {\bf b}) \big) \tag{3.24} \label{3.24} $$

3.4 多尺度迭代算法

KLT tracker 的推导是基于帧间特征运动较小的假设。然而,在实践中,运动通常不够小,无法成立假设。为了解决这个问题,KLT 跟踪器和大多数光流算法都采用了多尺度框架。同样,我们还采用了多尺度从粗到精的方法,以支持大运动并提高精度。下面总结了联合特征跟踪和辐射校准的算法。

Overview of algorithm

Input is an image sequence (image[0] to image[N]).

  1. $I \gets$ image[0]
  2. Detect features in $I$
  3. for $i=1$ to $N$ do
  4. $\quad J \gets$ image[i]
  5. $\quad$ Build Gaussian pyramid of $I$ & $J$ (scale 0 to M with 0 being the coarsest scale)
  6. $\quad$ for scale = 0 to M do
  7. $\quad\quad$ repeat
  8. $\quad\quad\quad$ Build matrices $\bf U, W, \Lambda, v$ and $\bf m$ in Eq.$\eqref{3.16.a}$
  9. $\quad\quad\quad$ Compute response coefficients $(c_1, \dots, c_M)$ and exposure difference $K$ (Eq.$\eqref{3.18}$)
  10. $\quad\quad\quad$ Compute displacement $(du_i, dv_i)$ for each feature (Eq.$\eqref{3.21}$)
  11. $\quad\quad$ until convergence
  12. $\quad\quad$ Upsample the feature coordinates to the next scale
  13. $\quad$ end for
  14. $\quad$ Update the feature locations with the computed displacements
  15. $\quad$ Update the response function with the Kalman filter (Section 3.3)
  16. $\quad I \gets J$
  17. end for

4. 实验结果

作者在论文中展示了特征跟踪实验结果。下图中:(a) 标准 KLT,(b) 局部自适应 KLT,(c) 具有已知响应的方法,以及 (d) 具有未知响应的方法。每条线显示特征从前一帧到当前帧的移动。一致的特征位移表示良好的跟踪。矩形突出显示有很多错误的区域。

feature tracking result

其他更为详细的实验结论见作者论文。代码实现:LSXiang/gain_robust_tracker




Reference


  1. Kim, S. J., Frahm, J.-M., & Pollefeys, M. (2007). Joint Feature Tracking and Radiometric Calibration from Auto-Exposure Video. 2007 IEEE 11th International Conference on Computer Vision. ↩︎

  2. Kim, S. J., Gallup, D., Frahm, J.-M., & Pollefeys, M. (2010). Joint radiometric calibration and feature tracking system with an application to stereo. Computer Vision and Image Understanding, 114(5), 574–582. ↩︎

  3. B. D. Lucas, T. Kanade, An iterative image registration technique with an application to stereo vision, Conference on Artificial Intelligence (1981) 674– 659. ↩︎

  4. J. Shi, C. Tomasi, Good features to track, in: Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, 1994, pp. 593–600. ↩︎

  5. S. Birchfield, Klt: An Implementation of the Kanade–Lucas–Tomasi Feature Tracker↩︎

  6. Kim, S. J., & Pollefeys, M. (2008). Robust Radiometric Calibration and Vignetting Correction. IEEE Transactions on Pattern Analysis and Machine Intelligence, 30(4), 562–576. ↩︎

  7. M.D. Grossberg and S.K. Nayar, ”What Is the Space of Camera Response Functions?” IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Vol. 2, 2003. “Modeling the Space of Camera Response Functions” IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 26, No. 10, pp. 1272-1282, Oct. 2004. ↩︎