论文阅读笔记|Deep Image Homography Estimation

论文阅读笔记|Deep Image Homography Estimation

  • 前言
    • 4点参数化(The 4-point Homography Parameterization)
    • 数据集生成
    • 网络结构
    • 实验

前言

D. DeTone, T. Malisiewicz, and A. Rabinovich. Deep image homography estimation. arXiv preprint arXiv:1606.03798, 2016
传统的单应性估计流程一般使用人工设计的局部特征描述方法(例如SIFT、SURF、ORB等)进行特征提取,对特征进行匹配获取初始匹配点;再利用RANSAC算法从初始匹配点中滤除错误匹配点,获取特征匹配内点;最后使用直接线性变换(DLT)方法从特征匹配内点中计算出单应性矩阵。ORB等局部特征描述方法在纹理丰富的区域能够提取到质量较好的特征,但在纹理不丰富的区域往往效果欠佳。
基于卷积神经网络强大的特征提取能力,本文构造了一个VGG风格的回归网络,可以从两幅图像中直接学习单应性变换的参数,在合成数据集上取得了比ORB更好的效果。
Pytorch源码地址
本文的主要贡献如下:①设计了一个VGG风格的网络来进行单应性估计使用了4点参数化进行单应性估计提出了一个合成数据集的方法。此外,本文还设计了一个分类网络,用来生成单应性的分布,这里不详细讨论,只专注于回归网络。

4点参数化(The 4-point Homography Parameterization)

单应性可以由一个3×3的矩阵表示,如下式所示:
( u ′ v ′ 1 ) ∼ ( H 11 H 12 H 13 H 21 H 22 H 23 H 31 H 32 H 33 ) ( u v 1 ) \left(\begin{array}{l} u^{\prime} \\ v^{\prime} \\ 1 \end{array}\right) \sim\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)\left(\begin{array}{l} u \\ v \\ 1 \end{array}\right) uv1H11H21H31H12H22H32H13H23H33uv1其中, u u u v v v表示变换前XY方向上的坐标, u ′ u^{\prime} u v ′ v^{\prime} v表示变换后XY方向上的坐标, ∼ \sim 表示比例。
直接使用单应性矩阵的向量形式来作为回归的标签是不合理的,因为单应性矩阵是由旋转、平移等混合组成的,无法量化,直接用来回归会很不稳定,且无法直观地理解。
一种替代的方法是使用图像的四个顶点的位置,设 Δ u 1 = u 1 ′ − u 1 \Delta u_{1}=u_{1}^{\prime}-u_{1} Δu1=u1u1为第一个变换后的顶点位置与原顶点位置的偏移量,4点参数化可以这样表示
H 4 p o i n t = ( Δ u 1 Δ v 1 Δ u 2 Δ v 2 Δ u 3 Δ v 3 Δ u 4 Δ v 4 ) H_{4 p o i n t}=\left(\begin{array}{cc} \Delta u_{1} & \Delta v_{1} \\ \Delta u_{2} & \Delta v_{2} \\ \Delta u_{3} & \Delta v_{3} \\ \Delta u_{4} & \Delta v_{4} \end{array}\right) H4point=Δu1Δu2Δu3Δu4Δv1Δv2Δv3Δv4其中, Δ u \Delta u Δu Δ v \Delta v Δv分别为图像的四个顶点在XY方向上的偏移量,总共8个参数。一旦知道了输出的4个点的偏移量,就可以用直接线性变换方法计算出单应性矩阵。可见,以4点参数化作为回归的标签,更容易进行学习,理解起来也更加直观。

数据集生成

论文阅读笔记|Deep Image Homography Estimation_第1张图片
图示为生成数据集的一个样本的方法,主要分为5个步骤:

  1. 在图像上随机裁剪一块区域作为Patch A,如图中蓝色框所示(注意,这里的位置p要进行限定,防止扰动前后的顶点坐标落在图像边界外);
  2. [ − ρ , ρ ] [-\rho, \rho] [ρ,ρ]的范围内对Patch A的四个顶点进行随机扰动;
  3. 根据扰动前后的顶点计算出单应性矩阵HAB(Step3中蓝色框到绿色框的单应性矩阵);
  4. 对图像应用 (HAB)-1=HBA 变换,在位置p处裁剪出Patch B;
  5. 将Patch A和Patch B堆叠作为网络的输入,网络的输出标签是HAB

根据4点参数化,在实际使用中,HAB 应该替换为Patch的四个顶点的偏移量 H 4 p o i n t H_{4 p o i n t} H4point,即Step2中的随机扰动值。

网络结构

论文阅读笔记|Deep Image Homography Estimation_第2张图片
回归网络的结构如图所示,可以看出这是一个VGG风格的网络。
网络的输入是128×128×2的两个堆叠的Patch,网络使用了8个卷积层,每个卷积层的窗口形状为3×3,填充为1,并紧接BatchNorm和ReLU;8个卷积层对应的滤波器数量为64,64,64,64,128,128,128,128。每两个卷积层后使用一个窗口形状为2、步幅为2的最大池化层。全连接层有1024个隐藏单元,输出层单元数为8,在最后一个卷积层之后和全连接层之后使用DropOut。
回归网络的损失函数使用L2损失。

实验

超参数:
(1) 迭代次数: 90k
(2) 初始学习率: 0.005
(3) 学习率衰减: 每30,000次迭代后,学习率乘0.1
(4) Batch size: 64
(5) 优化器: SGD, momentum=0.9

训练用的数据集在MS-COCO训练集上生成,所有的图片缩放至320×240尺寸并转化为灰度图,然后共生成500,000对128×128尺寸的Patch对,Patch的扰动范围 ρ \rho ρ = 32。验证集同理。
测试用的数据集在MS-COCO测试集上生成,所有的图片缩放至640×480尺寸并转化为灰度图,然后共生成5000对256×256尺寸的Patch对,Patch的扰动范围 ρ \rho ρ = 64。这是为了与传统的ORB方法比较,因此在使用网络进行预测时,Patch要再缩放至128×128,相应的4点参数化预测结果要乘2。

你可能感兴趣的:(Homography,Estimation)