• 【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))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    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)仿射变换及其变换矩阵的理解

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

  • 相关阅读:
    力扣每日一题66:加一
    Linux 常用文件和目录操作 (cat less head tail等)
    以数据赋能,星辰天合推进智慧化校园建设
    C Primer Plus(6) 中文版 第13章 文件输入/输出 13.3 一个简单的文件压缩程序
    promisify 是 Node.js 标准库 util 模块中的一个函数
    RNA-seq 详细教程:count 数据探索(4)
    three.js之Geometry顶点、颜色数据与三角面
    第1关:Hive 的 Alter Table 操作
    腾讯在线文档下载文档html格式
    Linux 基础操作手记四
  • 原文地址:https://blog.csdn.net/bryant_meng/article/details/125811906