计算机视觉之三维重建(三)(单视图测量)

2023-10-27

2D变换

等距变换

  • 旋转平移
  • 保留形状、面积
  • 通常描述刚性物体运动

相似变换

  • 在等距变换的基础增加缩放特点

射影变换

  • 共线性、四共线点的交比保持不变

仿射变换

  • 面积比值、平行关系等不变
  • 仿射变换是特殊的射影变换

影消点与影消线

2D无穷远点

  • 两直线的交点可由两直线的叉乘得到,表达为 ( x 1 , x 2 , z ) (x_1, x_2, z) (x1,x2,z)。若 z = 0 z=0 z=0,则该点为无穷远点(欧式坐标表示为 ( x 1 z , x 2 z ) (\frac{x_1}{z},\frac{x_2}{z}) (zx1,zx2))。
  • 无穷远点经过射影变换后为有限远点。
  • 无穷远点经过仿射变换后仍为无穷远点。

2D无穷远线

  • 无穷远点集位于一条线上,该线成为无穷远线(可表示为 l i n f = [ 0   0   1 ] l_{inf}=[0 \space 0 \space 1] linf=[0 0 1])。
  • 无穷远点经过射影变换后为有限远点。
  • 无穷远点经过仿射变换后仍为无穷远点。
线的变换

已知 l x = 0 lx=0 lx=0,求解 l ′ H x = 0 l'Hx=0 lHx=0.
推导过程为:
已知方程: l T x = 0 添加逆矩阵: l T H − 1 H x = 0 拆组: ( H − 1 l ) T ( H x ) = 0 可得: l ′ = H − T l = 0 \begin{equation} \begin{split} 已知方程:l^{T}x=0 \\ 添加逆矩阵:l^{T}H^{-1}Hx=0 \\ 拆组:({H^{-1}l})^T(Hx)=0 \\ 可得:l'=H^{-T}l=0 \\ \end{split} \end{equation} 已知方程:lTx=0添加逆矩阵:lTH1Hx=0拆组:(H1l)T(Hx)=0可得:l=HTl=0
无穷远线表示为 [ 0 0 1 ] \begin{bmatrix} 0\\ 0\\ 1 \end{bmatrix} 001

  • 无穷远线透视(射影)变换 H = [ A t v b ] H=\begin{bmatrix} A & t\\ v &b \end{bmatrix} H=[Avtb]后不再为无穷远线。
  • 无穷远线仿射变换 H = [ A t 0 b ] H=\begin{bmatrix} A & t\\ 0 &b \end{bmatrix} H=[A0tb]后为无穷远线。

空间中的点和面

  • 面: a x + b y + c z + d = 0 ax+by+cz+d=0 ax+by+cz+d=0
  • 点: x ∞ = [ a b c 0 ] x_{\infty}=\begin{bmatrix} a\\ b\\ c\\ 0 \end{bmatrix} x= abc0
影消点
  • 三维空间的无穷远点在二维像素平面的投影点 p ∞ = [ a b c ] p_{\infty}=\begin{bmatrix} a\\ b\\ c \end{bmatrix} p= abc
  • 影消点=摄像机内参数 * 直线方向。
影消线
  • 影消点的集合。
  • 识别影消线有助于重构三维场景。

与平面法向量的关系
平面法向量 = 摄像机内参数转置矩阵 * 影消线

无穷远平面

  • 平行平面在无穷远处相较于一条公共线——无穷远线。
  • 2条或多条无穷远直线的集合定义为无穷远平面。

单视图重构

步骤

  • 标定摄像机内参数
  • 恢复三维场景面的信息
  • 重构
    缺点:手动选择影消点与影消线;需要场景先验;场景的实际比例无法恢复。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算机视觉之三维重建(三)(单视图测量) 的相关文章

随机推荐

  • Log4j(三)——Log4j配置文件位置详解

    自动加载配置文件 1 如果采用log4j输出日志 要对log4j加载配置文件的过程有所了解 log4j启动时 默认会寻找source folder下的log4j xml配置文件 若没有 会寻找log4j properties文件 然后加载配
  • H264/AVC-帧内预测

    I宏块使用帧内预测编码压缩数据 根据相邻宏块数据恢复当前宏块信息 值得注意的一点是 帧内预测所参考的相邻宏块数据是deblocking之前的像素值 因为上一宏块的deblocking依赖当前宏块像素值 但当前宏块数据还未重建 1 帧内预测类
  • 微信推送模板消息报错,40001,invalid credential, access_token is invalid

    微信报错 40001 invalid credential access token is invalid or not latest hint BzKHIa0609vr29 最近在搞微信公众号的开发 批量推送推送模板消息 遇到此问题 找了
  • QT将数据写入文件,日志记录

    项目场景 在QT应用中 有时候需要将错误信息记录在log文件里面 或者需要将数据输出到文件中进行比对查看使用 创建log文件 如果文件存在则不创建 QDir dir QCoreApplication applicationDirPath r
  • 使用vue解决vs编辑器格式化分号逗号问题

    添加 插件在设置中搜索 插件 进入之后编写 editor fontSize 18 workbench colorTheme Solarized Light vetur format defaultFormatterOptions prett
  • 国行Filco圣手二代windows连接失效的解决方案

    1 同时按下 Ctrl Alt Fn 配对LED灯 蓝 和低电量显示LED灯 红 约同时亮10秒左右 10秒内 数字键1 4按下任一键选择连接通道 2 配对LED灯 蓝 和低电量显示LED灯 红 来回闪烁约4秒 LED灯熄灭后 按下键盘背面
  • SpringBoot之发送和接收Json格式的HTTP请求

    1 添加fastjson的依赖到pom xml中
  • Windows server 2016——权限管理与数据恢复

    作者简介 一名云计算网络运维人员 每天分享网络与运维的技术与干货 公众号 网络豆 座右铭 低头赶路 敬事如仪 个人主页 网络豆的主页 目录 写在前面 一 SQL server 的安全机制 1 设置 SQL server 权限 2 登录权限设
  • C++(入门基础)缺省参数、函数重载、引用、内联函数

    文章目录 一 命名空间 命名空间定义 命名空间使用 二 缺省参数 备胎 全缺省参数 半缺省参数 三 函数重载 四 引用 引用权限的放大和缩小 引用的特性 常引用 引用的使用 引用和指针的区别 五 内联函数 内联的特性 宏的优缺点 c 有哪些
  • CUDA 入门教程

    CUDA从入门到精通 零 写在前面 在老板的要求下 本博主从2012年上高性能计算课程开始接触CUDA编程 随后将该技术应用到了实际项目中 使处理程序加速超过1K 可见基于图形显示器的并行计算对于追求速度的应用来说无疑是一个理想的选择 还有
  • Redhat7.6中Oracle19c单机版安装

    最近在学习Oracle19c的安装中 借鉴博客 从中遇到了问题并整理 避免踩坑 环境前的配置及oracle应用的安装 转载 redhat7 6Linux安装Oracle19C完整版教程 tomhaha 博客园 在配置数据库实例的时候 转载
  • React合成事件(阻止冒泡stopImmediatePropagation)

    文章目录 一 遇到的问题 问题描述 分析 二 React 合成事件 1 执行顺序 2 合成事件阻止冒泡 2 1e stopPropagation 2 2 e nativeEvent stopImmediatePropagation 3 th
  • java 整合 Elastic 8.

    1 准备工作 使用docker 快速搭建的环境 官网docker compose 方式搭建的集群 设置了密码登录 elastic elastic 需要给jdk 导入证书 找到 证书对应目录 复制到桌面 主要导入下面2个证书 执行如下命令 k
  • 输入学生学号、姓名、三科成绩计算出平均分保存至指定文件中

    include
  • baichuan-53B VS ChatGLM-6B对比

    由于百川智能的内测模型是baichuan 53B 尽管模型大小不一致 为了方便 我们仍然选择百川智能baichuan 53B与ChatGLM 6B内测结果进行对比 其中ChatGLM 6B的结果来自https github com THUD
  • 常见编程错误

    编码示例 内存相关 内存相关 1 scanf d val 读一个整数到一个变量 正确应当传递变量地址 2 bss内存位置 诸如未初始化的全局X变量 总是被加载器初始化为0 但是对于堆内存却并不是这样的 需要程序员显示地将分配的堆内存初始化
  • 【智能时代的颠覆】AI让物联网不再是物联网

    自我介绍 我是秋说 研究人工智能 大数据等前沿技术 传递Java Python等语言知识 主页链接 秋说的博客 学习专栏推荐 MySQL进阶之路 C 刷题集 网络安全攻防姿势总结 欢迎点赞 收藏 留言 如有错误敬请指正 引言 人工智能 AI
  • iscsi删除已失效的链路

    有套rac环境 主机连接存储使用的iscsi方式 使用了一段时间 客户感觉网络设计不合理 需要调整网段vlan和ip地址 首先关闭实例和集群 调整存储端和主机端的ip地址和vlan 调整后可以ping通 使用如下命令配置 两台主机都需要配置
  • MyBatis自动生成实体类(逆向工程)

    mybatis自动生成代码工具 逆向工程 MyBatis自动生成实体类 逆向工程 MyBatis属于一种半自动的ORM框架 它需要我们自己编写sql语句和映射文件 但是编写映射文件和sql语句很容易出错 所以mybatis官方提供了Gene
  • 计算机视觉之三维重建(三)(单视图测量)

    2D变换 等距变换 旋转平移 保留形状 面积 通常描述刚性物体运动 相似变换 在等距变换的基础增加缩放特点 射影变换 共线性 四共线点的交比保持不变 仿射变换 面积比值 平行关系等不变 仿射变换是特殊的射影变换 影消点与影消线 2D无穷远点