前端:An iterative image registration technique with an application to stereo vision

本文主要是介绍前端:An iterative image registration technique with an application to stereo vision,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这篇论文主要记录Lucas 光流法,KLT光流跟踪的基础。图像点定位的方法,即图像的局部匹配,将图像匹配问题,从传统的滑动窗口搜索方法变为一个求解偏移量d的过程

【摘要】 主要讲了图像配准的一种方法–利用图像的空间强度梯度和牛顿迭代法找到好的匹配。此方法更快(仅从较少的匹配中筛选)且适用于旋转、尺度、裁剪等变换。

【简介】 现存的方法代价大且不能处理旋转或者其他变形的情况,提出了一种新的技术–采用空间强度梯度信息找到最佳匹配。这样就可以利用更多图像信息找到两幅图的最佳匹配。这种方法比按固定顺序计算可能的配准位置需要比较的次数更少。此法利用了许多应用中两幅图已经近似配准了,且可以处理任何线性形变。
【配准问题介绍】
给定函数F(x)和G(x),分别表示各自在两幅图中的像素值,x是个向量。要求一个视差矢量h,使F(x+h)和G(x)的某些距离测度最小,其中x属于区域R。
在这里插入图片描述
三种典型的距离度量:
在这里插入图片描述

本文将提出一种更通用的图像差度度量方法,L2 norm和归一化相关都是该方法的特例。L1 norm可以看做是L2 norm的一种合理逼近。
【现存技术】
一种最显而易见的图像配准方法就是穷举搜索h的可能值空间,计算其距离。但非常低效。根据上次的h计算其附近可以使函数值下降的h作为下个h值,这样迭代。但可能会陷入局部最优。序贯想相似性检测算法(SSDA)。SSDA通过人为设定一个固定阈值,及早地终止在不匹配位置上的计算,以此减小计算量,达到提高运算速度的目的。选取一个误差准则,设定一个不变阈值。在子图象中随机选取一点,计算它与模板中相应点的绝对误差值, 将每一随机点对的误差累加起来,若累加到第r次时误差超过设定阈值,则停止累加。停止准则主要由这个固定阈值和累加次数r。
一些配准算法采用了一种由粗到细的策略。先用上面的某种方法在低分辨率下找到最佳配准,然后将其作为高分辨率中的可能匹配位置的约束。一些利用金字塔的图像理解系统采用了这种方法。
上面这些方法有些可以互相结合使用。爬山法和穷举搜索只解决了如何找到最佳匹配,SSDA解决了计算差异函数的方法。因此,可以用SSDA和爬山法或者穷举搜索结合,也可以用由粗到细策略。

本文介绍了搜索h空间的顺序。具体讲,先确定一个初始h,再用每一点的空间强度梯度修正当前h,直到达到最优匹配。迭代过程采用的是牛顿迭代法。该配准方法可以和coarse-fine策略结合。
【配准算法】
本节先介绍一种针对一维配准问题的直接方法,再介绍另外一种可以推广到多维的方法。然后介绍怎么将此技术推广到其他类型配准。最后讨论算法应用和性能。

1. 一维问题
我们希望在F(x)和G(x)=F(x+h)之间找到一个水平视差h。
在这里插入图片描述
根据对x附近的F(x)进行线性逼近。对于很小的h,
在这里插入图片描述

当h足够小,逼近就可以写成等号。后面会介绍通过平滑图像扩大h的范围,这样就可以直接写等号了。
将x一点的情况推广到多点:
在这里插入图片描述

当F(x)接近线性时,(1)线性逼近得很好;反之当|F”(x)|很大时则逼近不好。根据这个关系,可以对上式进行改进,再根据公式(4),可以设计一个计算权重的方法,就是公式(5)。|F”(x)|越小,权重越大。从图2可以看出,当x为两条曲线交叉点时,按(2)算出的h是0,但是因为此时G’(x)和F’(x)的差很大,所以权重很小,这就符合逻辑了。最终的h是公式(6)。
在这里插入图片描述

得到h的估计值,就可以将F(x)移动h的距离,重复这一过程得到一系列的牛顿迭代。理想情况下h会收敛到一个最优值。迭代表示为
在这里插入图片描述

2. 另一种推导
上面的推导不能直接推广到二维情况,因为二维线形逼近形式不同。另一个原因是(2)中分母可能为0。因此,将(1)改为
在这里插入图片描述
求得h
在这里插入图片描述

这个除了权重系数为和公式(6)基本相同。当且仅当对任意x,F’(x)=0时,分母为0,而此时h没有定义。
对应的迭代公式
在这里插入图片描述

  1. 性能
    相比于没有权重的方法,该方法能在更广的范围更快收敛。

这篇关于前端:An iterative image registration technique with an application to stereo vision的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/785976

相关文章

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

【 html+css 绚丽Loading 】000046 三才归元阵

前言:哈喽,大家好,今天给大家分享html+css 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 📚一、效果📚二、信息💡1.简介:💡2.外观描述:💡3.使用方式:💡4.战斗方式:💡5.提升:💡6.传说: 📚三、源代码,上代码,可以直接复制使用🎥效果🗂️目录✍️

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

【VUE】跨域问题的概念,以及解决方法。

目录 1.跨域概念 2.解决方法 2.1 配置网络请求代理 2.2 使用@CrossOrigin 注解 2.3 通过配置文件实现跨域 2.4 添加 CorsWebFilter 来解决跨域问题 1.跨域概念 跨域问题是由于浏览器实施了同源策略,该策略要求请求的域名、协议和端口必须与提供资源的服务相同。如果不相同,则需要服务器显式地允许这种跨域请求。一般在springbo

HTML提交表单给python

python 代码 from flask import Flask, request, render_template, redirect, url_forapp = Flask(__name__)@app.route('/')def form():# 渲染表单页面return render_template('./index.html')@app.route('/submit_form',

Java 后端接口入参 - 联合前端VUE 使用AES完成入参出参加密解密

加密效果: 解密后的数据就是正常数据: 后端:使用的是spring-cloud框架,在gateway模块进行操作 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>30.0-jre</version></dependency> 编写一个AES加密

vue2 组件通信

props + emits props:用于接收父组件传递给子组件的数据。可以定义期望从父组件接收的数据结构和类型。‘子组件不可更改该数据’emits:用于定义组件可以向父组件发出的事件。这允许父组件监听子组件的事件并作出响应。(比如数据更新) props检查属性 属性名类型描述默认值typeFunction指定 prop 应该是什么类型,如 String, Number, Boolean,