一、重点单词理解
underlying 根本的,潜在,基础
correspondence 通信,相似
Vertical 垂直的
retrieval 检索
paramount 重要的
restricted 限制
interval 间隔
radically 根本地
impracticable 不可行的
formulation 制定
mount 安装
hypothetical 假设的
variants 变种
projection 投影
registration 登记
cone 圆锥体
eliminate 消除
dominate 控制
二.《City-Scale Localization for Cameras with Known Vertical Direction》
在该论文中,作者将定位问题作为常规姿势估计问题来解决,核心是处理异常值的能力,通过先进的设备,可以假设重力矢量的方向是已知的。即通过减少参数空间来简化问题,作者证明这可以为城市规模的定位提供准确的算法。作者提出了多项式时间算法,在以下两种设置用于中执行异常值去除和姿态估计。首先,当相对于3D模型的相机高度已知时;其次,当高度被限制到某个给定的间隔时。
作者的主要贡献是:①提出了一种快速的近似异常值的解决方案,使得能够处理具有大量的具有异常值的数据集。②构建了在多项式时间内运行的异常值最小化的最佳算法。
作者指出,现在已经有很多通过2D-3D匹配的方法来解决定位问题,重点在于开发复杂的匹配启发式,来避免异常的对应关系。比如之前有很多的方法是基于RANSAC(RANDOM SAMPLE CONSENSUS)方法及其变种的鲁棒性估计方法,我通过查阅资料了解到RANSAC算法,其在视觉中一般用来解决误匹配问题。文中也指出该算法的缺陷,就是没法确定一个最好的解决方案,并且找到一个高概率的解决方案所需的迭代次数对于异常值率不可行。而作者的方法是采用了允许匹配方案生成无论对错的对应关系,来确保不会错过良好的对应关系,重点在于能够以可靠和易处理的方式处理大量异常值。
(1)问题制定以及方法概述
作者假设具有城市的大型3D模型,每个3D点配备描述其局部外观的描述符向量。给定来自同一场景的新图像,任务是精确定位摄像机在捕获图像时的位置和方向。
作者对相机几何进行以下假设。首先,相机校准是已知的。其次,相机已经知道相对于3D模型的垂直方向。最后,作者还假设地平面大致位于3D模型中。
选择一个坐标系,使z轴指向上方。令3维向量U表示3D点,v是图像中的假设对应关系,由齐次坐标表示。,相机和点之间的相对取向可取决于z轴和平移的旋转。在无噪音的情况下,每个通信应满足以下表达式: λ v = R ‾ U + t (公式1) \lambda v = \overline RU+t \tag{公式1} λv=RU+t(公式1)
R ‾ = ( R 0 0 1 ) (公式2) \overline R = \begin{pmatrix} R&0\\0& 1 \end{pmatrix} \tag{公式2} R=(R001)(公式2)
其中λ是标量,R是旋转矩阵,t是3维矢量,是对位置的相机姿态进行编码。为了解决对应关系困难的问题,作者采用简单优化局内点的数量,即选取低于阈值的重投影误差的局内点。
如图1所示,找到3D平移参数t和平面旋转参数R,以使3D点 U i U_i Ui位于圆锥体Ci上或圆锥体内。旋转3D点并将其平移到相机坐标系,在 R 3 R^3 R3中,产生小于阈值的重投影误差的点集形成圆锥C,如果3D点中的一个内点U满足以下公式,则说明U是局内点: U ′ = R ‾ U + t (公式3) U'=\overline RU+t \tag{公式3} U′=RU+t(公式3)
因此,相机姿势问题可以看作是一种注册配准(registration)问题,即将3D点 U i U_i Ui注册到相应的圆锥上 C i C_i Ci的问题。

(2)误差值快速剔除
作者提出一种剔除异常值对应的快速方法,同时确保不改变最优解。
假装相对于3D模型的相机高度 h c h_c hc是已知的。为了便于表示,作者可以在不失一般性的情况下假设,而摄像机和世界坐标之间的未知旋转和平移通过以下公式表示:
R ‾ = ( R 0 0 1 ) , t = ( t x t y 0 ) (公式4) \overline R= \begin{pmatrix} R&0\\0& 1 \end{pmatrix} ,t= \begin{pmatrix}t_x \\ t_y \\ 0 \end{pmatrix} \tag{公式4} R=(R001),t=⎝⎛txty0⎠⎞(公式4)
作者指出,由于此变换不会更改给定3D点 U = ( U x , U y , h ) T U=(U_x,U_y,h)^T U=(Ux,Uy,h)T的高度h,因此它只能与 Z = h Z=h Z=h中的相应圆锥相交,可以将锥约束限制在这个平面上而不是锥形,从而得到圆锥截面。如图2所示。3D点的第三个坐标仅确定圆锥曲线部分,因此之后可以删除掉此坐标,表达式变为 U = ( U x , U y ) T U=(U_x,U_y)^T U=(Ux,Uy)T,并且有了有一个2D-2D注册点到圆锥曲面的实例,之后可以利用2D-2D注册点来完成快速抛弃异常值。

作者给出两个问题,问题1是给定2D点 U i U_i Ui和相应区域 C i ⊂ R 2 C_i \subset R^2 Ci⊂R2找到一个旋转R和平移t满足以下等式,并得到尽可能多的对 ( u i , C i ) (u_i,C_i) (ui,Ci): R u i + t ∈ C i (公式5) Ru_i+t \in C_i \tag{公式5} Rui+t∈Ci(公式5)
问题2是给定索引K,找到一个旋转参数R,使得R,K满足以下等式,并得到尽可能多的 u i u_i ui点。然后作者通过定理1:如果 u k u_k uk是问题1的局内点,则问题2的局内点和问题1一样多。来证明得到如果使用相同的R,就可以使用问题2来得到问题1的内部数量的界限,这样的优点是问题2只有一个未知参数(旋转角度),简化的计算思维,并且可以通过以下方式有效地求解: R u i + t ∈ C i ((公式6)) Ru_i+t\in C_i \tag{(公式6)} Rui+t∈Ci((公式6))
R ( u k − U k ) − ( c i − C k ) = ( R u i + t − c i ) − ( R u i + t − c i ) ∈ C ‾ i (公式7) R(u_k-U_k)-(c_i-C_k)=(Ru_i+t-c_i)-(Ru_i+t-c_i)\in\overline C_i \tag{公式7} R(uk−Uk)−(ci−Ck)=(Rui+t−ci)−(Rui+t−ci)∈Ci(公式7)
接着作者就去寻找一个旋转角度θ,该角度θ是能够最大程度地增加了对应组中包含的点的数量的参数。通过对所有区间边界进行排序,并通过排序列表,可以找到θ的最佳选择,时间复杂度为 ( n 2 log n ) (n^2 \log n) (n2logn)具体的计算步骤以及计算成本,见如图3所示。

如果相机高度不固定, ± Δ \pm \Delta ±Δ 存在不确定性,这意味着一个点的相对高度限制为一个区间为 [ h + Δ , h − Δ ] [h+ \Delta, h-\Delta] [h+Δ,h−Δ],为了使这个3D点成为一个局内点,我们需要将其注册到这两个级别的圆锥截点处。在椭圆形情况下,投影形状是高度 h − Δ h- \Delta h−Δ的圆锥截面的凸包,高度为 h + Δ h+ \Delta h+Δ的圆锥截面。作者指出由于它们由线性和二次曲线组成,因此可以在异常值拒绝步骤中使用这些凸包,但为了保持几何简单,我们改为使用封闭的四边形。投影后,就已将问题转移到2D配准问题,可以使用上文所叙述的算法剔除异常值。
(3)搜索关键点
作者期望找到一种相机姿态(R,t),使得局内点数量最大化,即最大化重投影误差的 r i ( R , t ) ≤ θ r_i(R,t)\leq \theta ri(R,t)≤θ 2D3D对应数量。可以在关键点中找到最优解,即满足KKT条件的局部最优问题的最优解公式为: m i n R 2 f ( R , t ) (公式7) min_{R_2}f(R,t)\tag{公式7} minR2f(R,t)(公式7)
r i ( R , t ) ≤ θ f o r a l l i ∈ B (公式8) r_i(R,t)\leq \theta for \ all \ i\in B \tag{公式8} ri(R,t)≤θfor all i∈B(公式8)
其中B是自由度数≤4的所有子集,f是辅助目标函数,可以任意选择。所有4元组的对应关系中彻底改变B.更具体地说,所有关键点可以通过如下4个准则来计算。①给定4个对应关系(|B|=4)来计算所有满足 r i ( R , t ) = θ r_i(R,t) = \theta ri(R,t)=θ ,并且 i ∈ B i \in B i∈B的点(R, t)。②给定 3个对应关系(|B|=3)来计算所有使得 r i = θ , i ∈ B r_i = \theta , i \in B ri=θ,i∈B,并且{
∇ f , ∇ r i \nabla f, \nabla r_i ∇f,∇ri}梯度是线性相关的点。③给定 2 个对应关系(|B|=2),计算所有使得 r i = θ , i ∈ B r_i = \theta , i \in B ri=θ,i∈B,并且梯度是线性相关的点。④给定 1 个对应关系(|B|=1),计算所有使得 r i ( R , t ) = θ , i ∈ B r_i(R,t) = \theta , i \in B ri(R,t)=θ,i∈B,并且梯度是线性相关的点。作者为所有案例开发了专门的解决方案。以这种方式产生的解决方案点之一在最大化内部数量方面将是最佳的。
对于3D U i U_i Ui点,残差约束 r i = θ r_i = \theta ri=θ可以表示为一种锥约束:
U ′ T C i U ′ = 0 , U i = R ‾ U i + t (公式9) U{'^T}C_iU'=0,\qquad U_i=\overline RU_i+t \tag{公式9} U′TCiU′=0,Ui=RUi+t(公式9)
其中是一个 C i C_i Ci对称(无限) 3 × 3 3 \times 3 3×3矩阵,表示摄像机坐标系中的圆锥。之后作者介绍了2中解决方法,分别是四点求解器和三点求解器,着重分析一下前者。
对于四点求解器,参数空间可以通过以下2个公式设置嵌入 R 5 R^5 R5中:
t = ( t x , t y , t x ) T (公式10) t=(t_x,t_y,t_x)^T \tag{公式10} t=(tx,ty,tx)T(公式10)
R = ( c o s θ − s i n θ s i n θ c s o s θ ) = ( a − b b − a ) (公式11) R=\begin{pmatrix} cos\theta & -sin\theta \\ sin\theta &csos\theta \end{pmatrix}=\begin{pmatrix} a &-b \\ b &-a \end{pmatrix} \tag{公式11} R=(cosθsinθ−sinθcsosθ)=(ab−b−a)(公式11)
并添加嵌入约束 a 2 + b 2 = 1 a^2+b^2=1 a2+b2=1。作者通过固定坐标系来简化这一点,以便第一点位于原点。为了构造系统的作用矩阵,作者将五个方程与所有单项式的总和等于3的乘积相乘。这给出了一个大型方程组,涉及280个五度多项式,式子写为: A 280 × 252 w × 252 × 1 = 0 A_{280 \times 252w \times 252 \times 1}=0 A280×252w×252×1=0
其中A仅包含基于测量图像数据的条目,并且w涉及未知单项式,使用QR分解从A构造动作矩阵,然后从动作矩阵的特征值分解中找到解。
对于三点求解器,为了获得尽可能简单的方程,作者使用线性目标函数,便于 ∇ f = [ 10000 ] T \nabla f=\begin{bmatrix} 10000 \end{bmatrix}^T ∇f=[10000]T。嵌入约束的梯度简单地为 [ 2 a 2 b 000 ] T \begin{bmatrix} 2a2b000 \end{bmatrix}^T [2a2b000]T,三个约束的梯度具有未知数的线性条目,因为原始是二阶方程,则这些梯度都应该是线性相关的,可以消除一个五阶方阵。算法2显示了异常值最小化算法的步骤,如图4所示。由于小于4 的集合数量是 O ( n 4 ) O(n^4) O(n4),作者针对较少对应关系进行的采样,与效率相关的是异常值的数量。如果优先考虑速度而不是最优性,则另一种选择是在剔除步骤之后将RANSAC算法和普通的最小求解器一起使用。

(4)总结
作者提出了一种姿态估计框架,可以处理数据中的大量异常值,并提供了一个可证明的最优算法,以及一个更实用的异常值去除算法,可以消除低阶多项式时间内的大多数异常值。框架假设了解相机相对于地平面的方向。该信息可容易地用于许多实际应用,并且通过实验表明,该信息显着提高了定位精度和异常值的鲁棒性。
(5)个人的思考
该论论文的创新是在定位问题中提出了快速剔除异常值算法以及在多项式时间运行中的最小化异常值算法。以及在该文的相关工作章节中,作者指出了RANSAC及其创新变种对姿态定位的贡献,在查阅相关资料简要了解并学习该算法后,RANSAC算法实质上是通过迭代得到优化(不一定是最优)的模型,在视觉领域中当特征匹配要是遇到误匹配时,可以使用RANSAC算法进行过滤,这就让我联系到上一周所学习的3个特征图片算法以及我实现的代码,因此我可以在未来的时间内去继续完善,加入RANSAC误匹配,进行对比,更直观的学习该知识。