【计算机视觉】Lecture 16:平面单应变换

2024-05-11 07:58

本文主要是介绍【计算机视觉】Lecture 16:平面单应变换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

动机:在平面上的点

在这里插入图片描述

回顾:正向投影

在这里插入图片描述

世界坐标系到相机坐标系的变换

在这里插入图片描述

透视矩阵方程(相机坐标系到成像坐标系)

在这里插入图片描述

成像坐标系到像素坐标系

从成像坐标(x,y)到像素坐标(u,v)的二维仿射变换Maff

在这里插入图片描述

平面上点的投影

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

单应性矩阵H(平面投影变换)

在这里插入图片描述

单应性矩阵H(平面投影变换)
对于平面,3D到2D的透视投影降为2D到2D的变换。,并且此变换是可逆的

特殊情况:正平面

如果平面垂直于光轴(相机坐标系的Z轴),怎么办?

世界坐标系旋转矩阵简化为:

在这里插入图片描述

所以正平面的单应性简化为:

在这里插入图片描述是一个相似变换

转换到像素坐标系

在这里插入图片描述

平面投影图

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

总结:平面投影

在这里插入图片描述

应用单应性变换去除透视畸变

在这里插入图片描述针对平面建筑面,4组匹配点对足以

鸟瞰图的单应性变换

在这里插入图片描述

图像拼接的单应性变换

在这里插入图片描述

两个实际问题

  1. 给定四个或更多匹配点对,如何估计对应的单应性矩阵(将会用最小二乘法推导)

  2. 如何(反向)映射图像像素值以生成新图片(上一节课讲的)

估计单应性矩阵

矩阵形式:

在这里插入图片描述

方程形式:

在这里插入图片描述

自由度?

在这里插入图片描述

这里有有个变量 h11,…,h33,所以自由度是9?

并不是。
注意,我们可以将所有 hij 乘以非零常数 k,而不必改变方程组

在这里插入图片描述

采用8自由度

一种方法:设 h33 = 1

在这里插入图片描述

第二方法:增加单位向量约束

在这里插入图片描述

单位向量约束:

在这里插入图片描述

代数距离的最小二乘

设 h33 = 1 :

在这里插入图片描述

乘以分母:

在这里插入图片描述

整理:

在这里插入图片描述

在这里插入图片描述

线性方程:

在这里插入图片描述

解:

在这里插入图片描述

Matlab:

在这里插入图片描述

注意:数值调节

R.Hartley: “In Defense of the Eight Point Algorithm”
八点法Eight Point Algorithm

观察:根据点对应关系对射影变换参数进行线性估计时,常常会遇到矩阵条件差(poor “conditioning” )的问题。这意味着这样的解法对对应点的噪声敏感(即使没有外点)。

为了得到更好的答案,通过对每个点集进行规范化来对矩阵进行预处理,方法是:

  1. 将点集质心平移为原点
  2. 缩放,使点集与原点的平均距离为sqrt(2)。
  3. 对每个点集独立进行标准化

Hartley的预处理

在这里插入图片描述

更一般的方法

设 h33 = 1 可能会产生什么问题?

如果 h33 实际上等于0,我们就不能得到正确的答案。

代数距离,||h||=1

||h||=1:

在这里插入图片描述

乘以分母:

在这里插入图片描述

整理:

在这里插入图片描述

在这里插入图片描述

齐次方程:

在这里插入图片描述

解:

在这里插入图片描述

设 h 为与矩阵 D 中最小特征值相关联的矩阵 U 的列(也就是单位特征向量)
(注:如果只有4个点,则该特征值为0)

这篇关于【计算机视觉】Lecture 16:平面单应变换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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

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

【JavaScript】LeetCode:16-20

文章目录 16 无重复字符的最长字串17 找到字符串中所有字母异位词18 和为K的子数组19 滑动窗口最大值20 最小覆盖字串 16 无重复字符的最长字串 滑动窗口 + 哈希表这里用哈希集合Set()实现。左指针i,右指针j,从头遍历数组,若j指针指向的元素不在set中,则加入该元素,否则更新结果res,删除集合中i指针指向的元素,进入下一轮循环。 /*** @param

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

Verybot之OpenCV应用二:霍夫变换查找圆

其实我是想通过这个程序来测试一下,OpenCV在Verybot上跑得怎么样,霍夫变换的原理就不多说了,下面是程序: #include "cv.h"#include "highgui.h"#include "stdio.h"int main(int argc, char** argv){cvNamedWindow("vedio",0);CvCapture* capture;i

java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频)

这是什么系统? 资源获取方式在最下方 java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频) 停车管理信息系统是为了提升停车场的运营效率和管理水平而设计的综合性平台。系统涵盖用户信息管理、车位管理、收费管理、违规车辆处理等多个功能模块,旨在实现对停车场资源的高效配置和实时监控。此外,系统还提供了资讯管理和统计查询功能,帮助管理者及时发布信息并进行数据分析,为停车场的科学

16 子组件和父组件之间传值

划重点 子组件 / 父组件 定义组件中:props 的使用组件中:data 的使用(有 return 返回值) ; 区别:Vue中的data (没有返回值);组件方法中 emit 的使用:emit:英文原意是:触发、发射 的意思components :直接在Vue的方法中声明和绑定要使用的组件 小炒肉:温馨可口 <!DOCTYPE html><html lang="en"><head><

《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~

1 定义         从哲学角度看:特征是从事物当中抽象出来用于区别其他类别事物的属性集合,图像特征则是从图像中抽取出来用于区别其他类别图像的属性集合。         从获取方式看:图像特征是通过对图像进行测量或借助算法计算得到的一组表达特性集合的向量。 2 认识         有些特征是视觉直观感受到的自然特征,例如亮度、边缘轮廓、纹理、色彩等。         有些特征需要通

react笔记 8-16 JSX语法 定义数据 数据绑定

1、jsx语法 和vue一样  只能有一个根标签 一行代码写法 return <div>hello world</div> 多行代码返回必须加括号 return (<div><div>hello world</div><div>aaaaaaa</div></div>) 2、定义数据 数据绑定 constructor(){super()this.state={na

【python计算机视觉编程——7.图像搜索】

python计算机视觉编程——7.图像搜索 7.图像搜索7.1 基于内容的图像检索(CBIR)从文本挖掘中获取灵感——矢量空间模型(BOW表示模型)7.2 视觉单词**思想****特征提取**: 创建词汇7.3 图像索引7.3.1 建立数据库7.3.2 添加图像 7.4 在数据库中搜索图像7.4.1 利用索引获取获选图像7.4.2 用一幅图像进行查询7.4.3 确定对比基准并绘制结果 7.

参会邀请 | 第二届机器视觉、图像处理与影像技术国际会议(MVIPIT 2024)

第二届机器视觉、图像处理与影像技术国际会议(MVIPIT 2024)将于2024年9月13日-15日在中国张家口召开。 MVIPIT 2024聚焦机器视觉、图像处理与影像技术,旨在为专家、学者和研究人员提供一个国际平台,分享研究成果,讨论问题和挑战,探索前沿技术。诚邀高校、科研院所、企业等有关方面的专家学者参加会议。 9月13日(周五):签到日 9月14日(周六):会议日 9月15日(周日