图像配准之HomographyNet

news2024/11/25 20:37:47

        文章名称:Deep Image Homography Estimation,论文地址:https://arxiv.org/pdf/1606.03798.pdf,代码地址:GitHub - mazenmel/Deep-homography-estimation-Pytorch: Deep homography network with Pytorch

1、背景介绍

        单应性原理被广泛应用于图像配准,全景拼接,机器人定位SLAM,AR增强现实等领域,下图为单应矩阵在图像拼接中的应用示例。

2、核心思想

        HomographyNet是发表在CVPR 2016的一种用深度学习计算单应性变换的网络,即输入两张图,直接输出单应性矩阵H。核心思想为:

        a、用最简单的方式来理解,就是取参考帧图像和待配准图像相同大小的ROI区域。

        b、以参考帧图像ROI矩形的四个顶点为特征点,找到待配准图像ROI区域上对应这个4个点坐标位置。

        c、利用这4对匹配点,直接求解出单应性矩阵H,得到配准数据。

3、模型结构

        整体网络结构如下,输入为两张图,输出单应矩阵估计。

        使用cnn来求解单应性矩阵,通过两种方式,把它看成拟合或者分类问题。

3.1、分类方式预测

        使用cnn来求解单应性矩阵,通过两种方式,把它看成拟合或者分类问题:

3.2、回归方式预测(优)

4、数据生成

        数据生成示意图如下:

        a、参考帧图像非边缘区域随机选择框一个矩形ROI(step1 蓝色框位置),表示为patchA;

        b、蓝色框4个顶点以自身为中心,x,y坐标都在−ρ , ρ 范围内随意移动(也就是step2上那4个黄色框范围);

        c、根据移动后4个顶点(step3上绿色框),和原来的4个顶点(step3上蓝色框),组合成4对匹配的特征点,求解并应用单应性矩阵HAB,生成需要的待配准图像(step4所示图像);

        d、待配准图像上4个特征点,反向应用单应性矩阵Hba, 生成新的4个坐标点(step4上绿色框),得到和参考帧图像对应的patchB;

        e、最终得到的patchA和patchB就表示为网络输入,step3上绿色框和蓝色框稍的4对点坐标相对位置,就可以理解为网络训练的gt。

训练集生成:

        a、所有输入都转换为320x240大小灰度图;

        b、使用上一步提到的gt数据生成方式,得到500000组128x128大小的训练数据块。

测试集生成:

        a、随机选择5000张图像,都转换为640x480大小灰度图;

        b、每张图取256x256 patch块,ρ取64,生成对应测试数据。

5、实验测试

        在存在大量无纹理区域,导致传统算法找不到足够特征点,或者说特征点分布明显不均匀情况下,本文方法有明显优势;但是,纹理丰富场景时,并无明显优势。

        一些简单场景可以考虑简化使用,毕竟网络结构简单,易实现,可通过训练弥补特征点方法的不足。测试误差,略优于传统方法。但实际上,基于深度学习的方法,均存在泛化问题,场景纹理丰富时,还有优先考虑基于特征点的方法。

参考资料:

1、单应性Homography估计:从传统算法到深度学习

单应性Homography估计:从传统算法到深度学习 - 知乎

2、Keras = 2.1.2 代码实现

GitHub - 4nthon/HomographyNet_Keras: Implementation of homographiynet with keras

3、pytorch=1.6 代码实现

GitHub - mazenmel/Deep-homography-estimation-Pytorch: Deep homography network with Pytorch

4、图像配准:从SIFT到深度学习

图像配准:从SIFT到深度学习 | 码农家园

5、西安电子科技大学权老师报告

未来之星 | 基于深度学习的遥感影像配准研究(视频)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1449305.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

maven创建webapp+Freemarker组件的实现

下载安装配置maven Maven官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘123云盘为您提供Maven最新版正式版官方版绿色版下载,Maven安卓版手机版apk免费下载安装到手机,支持电脑端一键快捷安装https://www.123pan.com/s/9QRqVv-TcUY.html链接为3.6.2-3.6.3的版本 下载解…

【C++】类和对象(四)

前言:在类和对象中,我们走过了十分漫长的道路,今天我们将进一步学习类和对象,类和对象这块荆棘地很长,各位一起加油呀。 💖 博主CSDN主页:卫卫卫的个人主页 💞 👉 专栏分类:高质量&a…

《小强升职记:时间管理故事书》阅读笔记

目录 前言 一、你的时间都去哪儿了 1.1 你真的很忙吗 1.2 如何记录和分析时间日志 1.3 如何找到自己的价值观 二、无压工作法 2.1 传说中的“四象限法则 2.2 衣柜整理法 三、行动时遇到问题怎么办? 3.1 臣服与拖延 3.2 如何做到要事第一? 3.…

【碎片知识点】安装Linux系统 VMware与kali

天命:VMware就是可以运行操作系统的载体,kali就是Linux的其中一个分支 天命:Linux有两个分支版本:centos与ubuntu,kali底层就是ubuntu(所有Linux用起来都差不多,没啥区别) 天命&…

linux系统zabbix自动发现主机

自动发现主机 新的主机浏览器配置创建发现规则创建发现主机后动作 新的主机 rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm# yum clean allyum install zabbix-agentvim /etc/zabbix/zabbix_agentd.conf Server10.12.153.1…

C语言:内存分配---栈区、堆区、全局区、常量区和代码区

一、C语言内存分区 C语言内存分区示意图如下: 1. 栈区 栈区介绍 栈区由编译器自动分配释放,由操作系统自动管理,无须手动管理。栈区上的内容只在函数范围内存在,当函数运行结束,这些内容也会自动被销毁。栈区按内存…

微服务中台架构的设计与实现

本文将探讨微服务中台架构的设计与实现,介绍如何通过微服务的方式进行系统拆分和组合,构建灵活、可扩展且易于维护的中台架构,以加速企业的数字化转型和提升竞争力。 ## 1. 引言 随着企业规模的不断扩大和业务的日益复杂化,传统…

山西电力市场日前价格预测【2024-02-12】

日前价格预测 预测说明: 如上图所示,预测明日(2024-02-12)山西电力市场全天平均日前电价为127.42元/MWh。其中,最高日前电价为369.24元/MWh,预计出现在18:45。最低日前电价为0.00元/MWh,预计出…

库函数strlen的实现

目录 一、原理二、思路三、实现 一、原理 库函数strlen的功能是求字符串长度,统计的是字符串中 \0 之前的字符的个数。 函数原型如下: size_t strlen ( const char * str );二、思路 参数str接收⼀个字符串的起始地址,然后开始统计字符串中…

WEB APIs(1)

变量声明const(修饰常量) const优先,如react,基本const, 对于引用数据类型,可用const声明,因为储存的是地址 何为APIs 可以使用js操作HTML和浏览器 分类:DOM(文档对象…

C# Winform .net6自绘的圆形进度条

using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms;namespace Net6_GeneralUiWinFrm {public class CircularProgressBar : Control{private int progress 0;private int borderWidth 20; // 增加的边框宽度public int Progr…

全闭环直播推流桌面分享远控系统

直播推流涉及多协议,多端技术栈和知识点,,想要做好并不容易,经过几年时间的迭代,终于小有成就,聚集了媒体服务器,实时会议sfu,远控kvm等功能。可以做一个音视频应用的瑞士小军刀。主…

为什么说技术进步很慢? —— 技术的先进性与其当下价值的不匹配

一、背景 技术进步是否缓慢是一个相对的概念,需要在不同的领域和时间段内进行分析。以下是一些不同领域中可能造成技术进步看似缓慢的原因: 1. **基础研究瓶颈**:许多先进技术的发展依赖于基础科学的突破,而这些突破往往需要长时…

openGauss学习笔记-219 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-网络

文章目录 openGauss学习笔记-219 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-网络219.1 查看网络状况 openGauss学习笔记-219 openGauss性能调优-确定性能调优范围-硬件瓶颈点分析-网络 获取openGauss节点的CPU、内存、I/O和网络资源使用情况,确认这些资源…

论文阅读-面向机器学习的云工作负载预测模型的性能分析

论文名称:Performance Analysis of Machine Learning Centered Workload Prediction Models for Cloud 摘要 由于异构服务类型和动态工作负载的高变异性和维度,资源使用的精确估计是一个复杂而具有挑战性的问题。在过去几年中,资源使用和流…

【机器学习笔记】3 逻辑回归

分类问题 分类问题监督学习最主要的类型,主要特征是标签离散,逻辑回归是解决分类问题的常见算法,输入变量可以是离散的也可以是连续的 二分类 先从用蓝色圆形数据定义为类型1,其余数据为类型2;只需要分类1次&#x…

ElasticSearch分词器和相关性详解

目录 ES分词器详解 基本概念 分词发生时期 分词器的组成 切词器:Tokenizer 词项过滤器:Token Filter 停用词 同义词 字符过滤器:Character Filter HTML 标签过滤器:HTML Strip Character Filter 字符映射过滤器&#x…

【Linux技术宝典】深入理解Linux基本指令:命令行新手指南

📷 江池俊: 个人主页 🔥个人专栏: ✅数据结构冒险记 ✅Linux技术宝典 🌅 有航道的人,再渺小也不会迷途。 文章目录 一、Linux下基本指令1. ls 指令2. pwd指令3. clear指令4. cd指令什么是家目录&#xf…

2023全球云计算市场份额排名

关注卢松松,会经常给你分享一些我的经验和观点。 最近Synergy研究院发布了最新的全球云计算市场份额排名。 亚马逊依旧是以31%的的市场份额排名第一,微软azure24%排名第二,Google云11%排名第三,阿里云4%排名第四。腾讯云和IBM、…

thinkphp5.0提示不支持redis,not support: redis

安装PHP扩展 例如宝塔,其他环境请用命令行,安装 redis配置完成以后,修改php.ini把redis扩展打开即可,重启环境