论文阅读笔记|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)∼(H11H12H13H21H22H23H31H32H33)(uv1)\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) ⎝⎛​u′v′1​⎠⎞​∼⎝⎛​H11​H21​H31​​H12​H22​H32​​H13​H23​H33​​⎠⎞​⎝⎛​uv1​⎠⎞​其中,uuu、vvv表示变换前XY方向上的坐标,u′u^{\prime}u′、v′v^{\prime}v′表示变换后XY方向上的坐标,∼\sim∼表示比例。
直接使用单应性矩阵的向量形式来作为回归的标签是不合理的,因为单应性矩阵是由旋转、平移等混合组成的,无法量化,直接用来回归会很不稳定,且无法直观地理解。
一种替代的方法是使用图像的四个顶点的位置,设Δu1=u1′−u1\Delta u_{1}=u_{1}^{\prime}-u_{1}Δu1​=u1′​−u1​为第一个变换后的顶点位置与原顶点位置的偏移量,4点参数化可以这样表示
H4point=(Δu1Δv1Δu2Δv2Δu3Δv3Δu4Δv4)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点参数化作为回归的标签,更容易进行学习,理解起来也更加直观。

数据集生成


图示为生成数据集的一个样本的方法,主要分为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的四个顶点的偏移量H4pointH_{4 p o i n t}H4point​,即Step2中的随机扰动值。

网络结构


回归网络的结构如图所示,可以看出这是一个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。

论文阅读笔记|Deep Image Homography Estimation相关推荐

  1. 论文阅读笔记--Monocular Human Pose Estimation: A Survey of Deep Learning-based Methods 人体姿态估计综述

    趁着寒假有时间,把之前的论文补完,另外做了一点点笔记,也算是对论文的翻译,尝试探索一条适合自己的论文阅读方法. 这篇笔记基本按照原文的格式来,但是有些地方翻译成中文读起来不太顺,因此添加了一些自己的理 ...

  2. [论文阅读笔记]Deep Neural Networks are Easily Fooled:High Confidence Predictions for Unrecognizable Images

    Deep Neural Networks are Easily Fooled:High Confidence Predictions for Unrecognizable Images(CVPR201 ...

  3. 论文阅读笔记--Deep Visual Saliency on Stereoscopic Images

    文章完整信息: 标题:Deep Visual Saliency on Stereoscopic Images 作者:Anh-Duc Nguyen ; Jongyoo Kim ; Heeseok Oh ...

  4. 论文阅读笔记:Deep Chain HDRI: Reconstructing a HDR Image from a Single LDR Image

    Lee, S., An, G. H., & Kang, S. J. (2018). Deep chain HDRI: Reconstructing a high dynamic range i ...

  5. 【论文阅读】DEEP GRAPH INFOMAX(DGI)

    DEEP GRAPH INFOMAX(DGI) 摘要 1 Introduction 2 相关工作 2.1 对比方法 2.2 抽样战略 2.3 预测编码 3 DGI Methodology 3.1 基于 ...

  6. DCP(Deep Closest Point)论文阅读笔记以及详析

    DCP论文阅读笔记 前言 本文中图片仓库位于github,所以如果阅读的时候发现图片加载困难.建议挂个梯子. 作者博客:https://codefmeister.github.io/ 转载前请联系作者 ...

  7. 论文阅读笔记——VulDeePecker: A Deep Learning-Based System for Vulnerability Detection

    本论文相关内容 论文下载地址--Engineering Village 论文中文翻译--VulDeePecker: A Deep Learning-Based System for Vulnerabi ...

  8. 论文阅读笔记:Improving Attacks on Speck32 / 64 using Deep Learning

    论文阅读笔记:Improving Attacks on Speck32 / 64 using Deep Learning 本文通过神经网络利用了减少轮数的 Speck 的差分性质.为此,作者对神经网络 ...

  9. 论文阅读笔记——A deep tree-based model for software defect prediction

    本论文相关内容 论文下载地址--Web Of Science 论文中文翻译--A deep tree-based model for software defect prediction 论文阅读笔记 ...

  10. VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION(VGG网络)-论文阅读笔记

    VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION VGG网络 论文阅读笔记 //2022.4.11上午9:53开始阅 ...

最新文章

  1. 如何进行高效的时间管理?
  2. MVC控件类型-HtmlHelper类
  3. Left,Right,Outer和Inner Joins有什么区别?
  4. Exercise Physiology (运动生理学)
  5. 升级Springboot版本异常:HateoasConfiguration required a single bean, but 3 were found
  6. 月薪5K的运维小白如何成为月薪5W的高级架构师?
  7. 局域网屏幕共享_ShareMouse for Mac(鼠标键盘共享)
  8. 安装JAVA8要登录_JDK8的安装及环境配置
  9. 【C语言】第九章 复杂数据类型与结构体 题解
  10. OpenJudge NOI 1.2 05:填空:类型转换2
  11. STM32 资料整理贴
  12. Linux 挂载华为存储,linux扫描挂载存储
  13. 测试的重要性:蚊子让快递柜的触摸失灵
  14. vcm驱动芯片原理_手机Cam和era模组及VCM与VCMDriver介绍.pptx
  15. 欧拉回路和Hanmilton回路
  16. 力扣刷题 DAY_61 回溯
  17. 读书笔记:“Python Programming: An Introduction to Computer Science”
  18. C语言atan2()函数:求y/x的反正切值
  19. 如何通俗理解Word2Vec
  20. 2022年智能手机市场概括

热门文章

  1. ubuntu下安装flash插件解决视频播放功能
  2. ODOO_posbox_打印出的小票(收据)如何修改?
  3. 数据结构_静态链表(C语言)
  4. 使用Photoshop分解gif
  5. smb协议讲解_SMB协议操作共享文件
  6. lora网关采集温室大棚温湿度数据案例
  7. 地理坐标系与经纬度转换
  8. 2021年数学建模国赛A题优秀论文(Word)(FAST”工作抛物面的优化设计)
  9. mybatis-缓存
  10. 特来电支付中心总体介绍