【Homography Estimation】《Deep Image Homography Estimation》

在这里插入图片描述

arXiv-2016



1 Background and Motivation

单应性Homograph估计:从传统算法到深度学习
在这里插入图片描述

用卷积直接回归单应性矩阵(transformation estimation,homography estimation),8个自由度

The homography is an essential part of monocular SLAM systems in scenarios such as:

  • Rotation only movements
  • Planar scenes
  • Scenes in which objects are very far from the viewer

2 Related Work

3 Advantages / Contributions

利用卷积神经网络学四个点的偏移来进行 Homography Estimation

4 Method

(1)The 4-point homography parameterization
在这里插入图片描述
单应性矩阵把图 ( u , v ) (u,v) (u,v) 映射成了 ( u ′ , v ′ ) (u',v') (u,v)

H11 H12 H21 H22 与旋转有关,H13 H23 和平移有关

Balancing the rotational and translational terms as part of an optimization problem is difficult

单应性矩阵中 9个参数相互组合有实际意义,没有完全解耦干净, 9 个参数共 8 个自由度,作者直接改学图 ( u , v ) (u,v) (u,v) 映射成了 ( u ′ , v ′ ) (u',v') (u,v) 的 4 个坐标的偏移(传统方法也有这么干的)

在这里插入图片描述

学到 4 个坐标的偏移后,利用 OpenCV. 的 getPerspectiveTransform() 方法就可以计算出单应性矩阵了

输入来自源图像的 4 个点和加上偏移的 4 个新点,getPerspectiveTransform 将返回一个(3,3) 矩阵

(2)Data Generation for Homography Estimation

applying random projective transformations to a large dataset(MS COCO)

在这里插入图片描述
在这里插入图片描述
原图上随机选个矩形区域 p,四个顶点随机偏移,根据四个点前后坐标,计算出单应性矩阵,然后把单应性矩阵作用到原图生成新的图,新的图对应的 p 区域 p’ 和 原图的 p 联合送入网络学习原图四个顶点坐标的偏移(step2)进而求出 H A B H^{AB} HAB

import cv2
import numpy as np

im1 = cv2.imread('left.jpg')
im2 = cv2.imread('right.jpg')

src_points = np.array([[581, 297], [1053, 173], [1041, 895], [558, 827]])
dst_points = np.array([[571, 257], [963, 333], [965, 801], [557, 827]])

H, _ = cv2.findHomography(src_points, dst_points)

h, w = im2.shape[:2]

im2_warp = cv2.warpPerspective(im2, H, (w, h))

Managing the training image generation pipeline gives us full control over the kinds of visual effects we want to model

比如加模糊(robust to motion blur),加遮挡(robust to occlusions)

(3)ConvNet Models
在这里插入图片描述
在这里插入图片描述

VGG-style

输入两个单通道 concat, 128 ∗ 128 ∗ 2 128*128*2 1281282

( I A , I B , H A B ) (I_A,I_B,H^{AB}) (IA,IB,HAB) from real images, seemingly infinite dataset

回归网络 the real-valued homography parameters,只有输出结果,无法反应置信度

分类网络 a distribution over quantized homographies and can be used to determine the confidence of an estimated homography

在这里插入图片描述
在这里插入图片描述
把偏移量化输出到 21 个空间(盲猜一手 5x5 去掉 4 个顶点,25-4 = 21)

When evaluating the Classification HomographyNet, the corner displacement with the highest confidence is chosen.

5 Experiments

5.1 Datasets

warped MS-COCO images(resized to 320x240 and converted to grayscale)

训练集

产生 500,000 pairs 数据,patch 大小 128x128(蓝色实框区域),随机偏移的范围 ρ \rho ρ 设置为了 32(虚线黄色框范围)

在这里插入图片描述
测试集

5000,resize 成 640x480,patch 大小为 256x256 区域(主要是方便对比传统方法,作者对比的传统方法中 patch 的区域为 128x128 的话难找到特征点)
在这里插入图片描述

评价指标,预测出的4 个坐标 和 GT 的均方差

5.2 Experiments

在这里插入图片描述
回归的好
在这里插入图片描述
在这里插入图片描述

6 Conclusion

作者 We hope that more geometric problems in vision will be tackled using learning paradigms.

节选一些优秀的博文

(1)【相机标定04】单应矩阵的作用

单应性矩阵 H
在这里插入图片描述

(2)单应性Homograph估计:从传统算法到深度学习

单应性原理被广泛应用于图像配准,全景拼接,机器人定位SLAM,AR增强现实等领域
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

刚体变换:平移+旋转,只改变物体位置,不改变物体形状
仿射变换:改变物体位置和形状,但是保持“平直性”(原来平行的边依然平行)
投影变换:彻底改变物体位置和形状

在这里插入图片描述

为啥 3x3 矩阵只有 8 个自由度???(单应性Homograph估计:从传统算法到深度学习

在这里插入图片描述

(3)仿射变换和单应矩阵有什么本质的区别?

我就看看看看的回答

在这里插入图片描述

gamemonkey的回答

在这里插入图片描述

(4)python在OpenCV里实现投影变换效果

在这里插入图片描述

(5)仿射变换及其变换矩阵的理解

在这里插入图片描述
在这里插入图片描述

(6)推导四对对应点单应矩阵的计算公式? - 水木十三的回答 - 知乎

单应性矩阵主要用来解决两个问题,
一是表述真实世界中一个平面与对应它图像的透视变换。
二是通过透视变换实现图像从一种视图变换到另外一种视图。

在这里插入图片描述
在这里插入图片描述

自由度:
在这里插入图片描述

### 回答1: Homography估计是一种计算机视觉技术,用于在两个平面之间进行几何变换。它可以用于图像配准、图像拼接、虚拟现实等应用中。Homography估计的目标是找到一个3x3的矩阵,将一个平面上的点映射到另一个平面上的点。这个矩阵可以通过多种方法来估计,包括最小二乘法、RANSAC等。 ### 回答2: Homography estimation是一种计算机视觉技术,指的是在图像处理中,通过计算两幅图像之间的变换关系,来实现不同图像之间的几何转换。这种技术可以应用于很多领域,包括但不限于机器人视觉、图像配准、增强现实、虚拟现实和数字图像处理等。 在homography estimation中,我们需要寻找两幅图像之间的变换矩阵。这个变换矩阵被称为幂律映射,可以将一幅图像的特征点集投影到另一幅图像的对应点集,从而实现两幅图像之间的几何变换。其中特征点可以是关键点、角点,也可以是一些其他算法提取出的特征点等。 常见的homography estimation算法有RANSAC和最小二乘法等。RANSAC算法是一种假设-验证的方法,它随机选择几个特征点,通过估计变换矩阵来验证这些点是否符合变换矩阵的假设。最小二乘法是一种基于矩阵代数的方法,通过最小化特征点之间距离的平方和来计算变换矩阵。 homography estimation的一个主要应用是图像配准。在医学影像、航拍影像、卫星影像等领域,需要将多幅图像进行配准,以实现更准确的测量和分析。homography estimation可以帮助我们计算不同图像之间的几何变换关系,从而实现图像的精确配准。 总之,homography estimation是一种重要的计算机视觉技术,它为图像处理和计算机视觉领域带来了很多便利和挑战。未来,随着人工智能和机器学习技术的不断发展,homography estimation将会得到更广泛的应用和深入的研究。 ### 回答3: homography estimation是指在计算机视觉中,通过图像对之间的空间变换关系来估计两个图像之间的投影映射。在计算机视觉领域中,对于单个图像来说,可以通过特征点的匹配关系来建立基础矩阵来描述两个图像之间的外参关系,而对于一组图像来说,则需要使用homography矩阵来描述它们之间的内参数和外参数关系。 homography estimation通常需要使用RANSAC算法来进行随机采样和模型拟合的过程,以确保对噪声和异常点有较好的鲁棒性和准确性。homography estimation主要应用于图像拼接、三维重建、目标跟踪、相机标定等领域,其优点在于适用于对于场景有较大的姿态变化、平面或近似平面场景、易于感知整个场景的视点调整等场景。同时,homography estimation也有其局限性,比如对于物体的旋转、缩放、形状变化等更为复杂的情况,其表现可能并不优秀。 总体来说,homography estimation可以为计算机视觉领域提供一种有效的图像对齐和重建的方法,有着广泛的应用场景和潜在的研究价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值