[计算机视觉] (六)三维空间重建
目录
空间点重建
最小二乘求点坐标
一种理想的空间点重建模型
空间直线重建
空间曲线重建
空间点重建
假如我们能得到物体表面上所有点的三维坐标,则三维物体的形状与位置就是唯一确定的。在有些简单的场合,例如三维物体是一个多面体,我们只需要知道它的各个顶点的三维坐标与相邻关系,则该多面体的形状与位置也是唯一确定的。因此,用立体视觉的方法获取三维点的坐标(我们称之为基于点的三维重建)是最基本的,也是最简单的。我们假定,空间任意点x在两个摄像机O1与O2上的图像点x1与x2已经从两个图像中分别检测出来,即已知x1与x2为空间同一点x的对应点。
图1 空间点重建
我们还假定,O1与O2摄像机已标定,它们的投影矩阵分别为M1与M2。于是有两个相机的映射公式:
(式1)
(式2)
其中,与
分别为x1与x2点在各自图像中的齐次坐标。
为x点在世界坐标系下的齐次坐标。
在上式中消去或
,得到关于
、
和
的四个线性方程:
(式3)
(式4)
由解析几何知,三维空间的平面方程为线性方程,两个平面方程的联立为空间直线的方程(该直线为两个平面的交线),式3的几何意义是O1x1直线,式4的几何意义是O2x2直线。
由于空间点x是O1x1与O2x2的交点,它必然同时满足式6与式7。因此,我们可以将式4与式5联立求出x点的坐标,事实上,式6与式7为包含三个变量的四个线性方程,我们只需要其中三个就可以解出
。也就是说,式6与式7中,只有三个独立方程,这是因为我们已经假设x1与x2点是空间同一点x的对应点,因此已经假设了直线O1x1与直线O2x2一定相交,或者说,四个方程必定有解,而且解是唯一的。
在实际应用中,由于数据总是有噪声的,我们可用最小二乘法求出。
最小二乘求点坐标
上面所述的式(6)和式(7)确定的两条线,由于实际应用中的噪声作用,可能出现不相交的情况,这时可以通过最小二乘法求取近似的空间点坐标:找和两条线的垂直距离之和最小的空间。
一种理想的空间点重建模型
假设图2一种简单的双目相机模型,满足z轴平行,x轴重合的关系,即可以简单的通过平移实现两个相机坐标的重合,换句话说,两个相机坐标只相差x轴上的一个平移向量,假设该向量的长度为b,即相机的基线为b。
图2 一种理想化的双目相机模型
如图2所示,极线E1和E2是平行于O1O2(O1O2的连线即x轴),且E1和E2完全重合,由针孔模型的归一化成像平面模型:(见:https://blog.csdn.net/simonyucsdy/article/details/100603687)
可得:
式(5)
式(6)
式(5)和式(6)的结合,得到的就是式(3)和式(4)的结合的简化(相机模型被简化了)。
对式(5)和式(6)进行求解:
式(7)
式(8)
式(9)
上面的结果表明,可以由匹配的两点求出空间点坐标,式中的称为视差,是一对对应点在x轴上的偏差,式(9)表明,当空间点距离越远(z1越大),视差越小,实际上,当P点趋于无穷远时,O1P和O2P趋于平行,视差也就趋近于0了。
当然,这种理想化配置的相机模型在实际应用中是不可能的,我们需要求解任意的模型就不可能使用这么简单的计算,它只是作为一种理想化模型来对空间点重建加深理解而已。
空间直线重建
如图2所示,若空间有一条直线S,由C1与C2两个摄像机观察到S的两个图像s1与s2。
图2 空间直线的三维重建模型
则空间直线S为由O1与s1组成的平面S1与由O2与s2组成的平面S2的交线,设已知双摄像机的投影矩阵M1与M2,s1与s2对应于空间同一条直线S(称s1与s2为对应直线),已知s1与s2在图像坐标系下的方程为
(式10)
(式11)
其中,u1,u2分别为直线s1与s2上点的齐次坐标,=
与
=
称为直线s1与s2的直线坐标。将表示C1摄像机投影关系的式(1)两边左乘
得到:
(式12)
式12对空间任何点都是成立的,若空间点x(它的坐标在世界坐标系下是)位于S1平面上,则它在图像上的投影点就必然在直线s1上(见图2),因此式12的左边就等于零。于是由式10可以得到:
(式13)
上式为关于x的线性方程。由于上式的成立是假定x点位于S1平面上,因此,上式就是S1平面的方程。同理,我们可以得到S2平面的方程为
(式14)
由于S是S1平面与S2平面的交线,所以,式13与式14联立就是S在世界坐标系下的表达。可见,在已知的直线s1与s2的方程与投影矩阵M1与M2后,不需解方程,就可以得到S在世界坐标系下的表达,我们也可看到,在用立体视觉重建三维点或三维直线时,无需求取双目相机的内外参数。
空间曲线重建
如图3所示,若空间有一条曲线Q,由C1与C2两个摄像机观察到Q的两个图像Q1与Q2。
图3 空间曲线的三维重建模型
在图像和
,二次曲线Q1与Q2可表达为方程:
(式15)
(式16)
其中,u1、u2分别为曲线Q1与Q2上任意点的齐次坐标,=
与
=
。
和
对3*3对称矩阵,目标是由
和
得到Q曲线的表达式。
由空间点投影关系(式(1)和式(2)表达式)结合式(15)和式(16)得到:
(式17)
(式18)
若空间点x的投影在曲线和
上,则其坐标符合上述表达式,可想而知,不只是
和
,x点只要落在O1Q1和O2Q2锥面上,就可以符合上述表达式,因此式17和式18也就是两个锥面的表达式。
Q曲线就是两个锥面的交线。
[计算机视觉] (六)三维空间重建相关推荐
- 项目需求|室内场景三维空间重建项目
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 项目名称:室内场景三维空间重建项目 需求内容:依托移动端设备(或特定机型)实现室内场景三维重建,生成真 ...
- <计算机视觉 六> 深度学习目标检测模型的评估标准
鼠标点击下载 项目源代码免费下载地址 <计算机视觉一> 使用标定工具标定自己的目标检测 <计算机视觉二> labelme标定的数据转换成yolo训练格式 <计算机 ...
- 六大维度让你彻底明白机器视觉与计算机视觉的区别!
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:新机器视觉 今天从知乎上看到这样的问题,机器视觉与计算机 ...
- 机器视觉与计算机视觉的区别?
来源:https://www.zhihu.com/question/23183532 编辑:深度学习与计算机视觉 声明:仅做学术分享,侵删 作者:飘哥 https://www.zhihu.com/qu ...
- 【MEME Tuesday 】重建光辉城市
2021-11-16 MEME TUESDAY活动纪实 主持: 曹寅 数字文艺复兴基金会 董事总经理 阿秋 D1 Ventures创始合伙人 嘉宾: Xuanch Illustrator / ...
- <计算机视觉四> pytorch版yolov3网络搭建
鼠标点击下载 项目源代码免费下载地址 <计算机视觉一> 使用标定工具标定自己的目标检测 <计算机视觉二> labelme标定的数据转换成yolo训练格式 <计算机 ...
- 机器视觉与计算机视觉的区别
机器视觉(Machine Vision, MV)与计算机视觉(Computer Vision, CV)两者既有联系又有区别.机器视觉与计算机视觉有很多相似之处,在架构上都是基础层+技术层+应用层:并且 ...
- 【计算机视觉】计算机视觉与深度学习-01-计算机视觉相关介绍-北邮鲁鹏老师课程笔记
计算机视觉与深度学习-01-计算机视觉相关介绍 前言 图像处理 vs 计算机视觉 图像处理 计算机视觉 相关课程 计算机视觉简介 计算机视觉顶级会议 计算机视觉的目标 图像中的信息 三维场景的结构信息 ...
- 超干货3D视觉技术分享+人才内推!独角兽奥比中光与你相约VALSE 2021
10月8日至10日,一年一度的VALSE大会(视觉与学习青年学者研讨会)将在杭州国际博览中心举办.行业领先的3D视觉感知领域整体技术方案提供商奥比中光金牌赞助本届VALSE大会,并以"感知· ...
最新文章
- “我的开源项目被威胁了!”
- Sql 先进先出计算积分
- 一位Python初学者的自白:Python小白眼中的装饰器
- DevOps的几个场景
- 和显卡驱动要配套吗_天天学渲染,你的显卡驱动用对了吗?
- css响应式布局_用 CSS Grid 布局制作一个响应式柱状图
- Java中一个逐渐被遗忘的强大功能,强到你难以置信!
- 基于android的电影院订票影院售票系统app
- DES、3DES、AES以及RSA加密介绍
- STEAM无法打开创意工坊或成就页面
- 余弦函数导数推导过程_三角函数公式篇
- Java解析富文本rtf中文乱码
- 天价球鞋事件中,得物在扮演哪种身份?
- 解决VS2015提示未能加载项目文件。缺少根元素的错误
- Web前端开发十日谈
- 计算机使用技巧爆文,自媒体原创(伪原创)爆文的写作技巧
- 为什么很少有单片机机构?培训班一般多少费用?
- 网络工程师的python之路pdf_网络工程师的Python之路:网络运维自动化实战
- MTK 轨迹球(JOG_BALL)
- PostgreSQL in amp; = any (values|array)