首页 > 编程知识 正文

像素坐标系转换为世界坐标系,相机坐标系转世界坐标系

时间:2023-05-06 17:18:52 阅读:153900 作者:1591

单击上面的“计算机视觉工作室”,然后选择“星形标记”

晾的衣服第一小时送到

亲爱的同学们,我们的世界是3D世界,我们的眼睛可以观测三维信息,让我们感知距离,导航避开障碍,在天地间飞翔。 当今世界是一个智能化的世界,我们的科学家们探索各种机器智能技术,使机器能够具有人类的三维感知能力,并希望在速度和精度上超越人类。 如自动驾驶导航中的定位导航、无人机自动避障、测量仪中的三维扫描等,都是智能化机器智能技术在3D视觉上的具体实现。

立体视觉是三维重建领域的重要方向,以模拟人眼结构、两台摄像机模拟双眼、透视投影、三角测量为基础,通过逻辑复杂的同名寻点算法来恢复场景中的三维信息。 其应用十分广泛,在自动驾驶、导航避障、文物重建、人脸识别等诸多高科技应用中均有重要身影。

本课程将带大家深入了解立体视觉的理论和实践知识。 从坐标系到摄像机标定,从被动立体到主动立体,再从深度恢复到网格的构建和处理,感兴趣的朋友们,来和我一起探索立体视觉的魅力吧。

因为这门课程是电子资源,所以文章没有太多的框框限制,但目标是逻辑性和易懂性,水平有限。 如有不足,请不要吝惜指导。

用3358www.Sina.com/公众号“http://www.Sina.com/http://www.Sina.com/”,在后台回复“http://www.Sina.com /”

随课代码地址:针孔型号Pinhole mode

坐标系概要

图像坐标系

照相机坐标系

内参矩阵

世界坐标系

外参矩阵

投影矩阵

总结

练习作业

计算机科学研究中,一个现象的内部过程总是复杂而难以看清,但聪明的学者们总是用最简单的模型进行初始描述,提出比较简单的模型。 成像过程也不例外。 他们用一个几何模型描述将三维世界坐标点映射到二维图像平面的过程。 这个模型有很多种,其中最简单的叫做针孔模型。

针孔图像的原理是大家都学到的,在现实世界中,来自物体的光通过针孔,作为倒立的图像投影到底板上。 如图1所示:

图1针孔机型1

当针孔模型与成像过程相对应时,现实世界中的物体成为三维空间的成像对象,针孔是摄像机的中心,阴影的成像平面成为二维图像平面。 如图2 (左)所示,用简单的线描绘这种关系,从照相机中心到成像平面的距离称为焦距ff。 但是,倒立的图像形成总觉得有违和感,所以进行变换,将图像平面拿到照相机的前方,保持焦距为ff。 从成像过程可以看出,图像此时并不是倒立的,而是解放了大家的脖子。 请参见图2 (右)。

图2针孔型号2

从针孔模型中,可以找到一个特征。 它是现实世界的任意点、其在成像平面上的投影点、照相机的中心在一条直线上。 该特征称为中心投影或透视投影,也是成像分析的基础。 透视投影是将三维空间投影到二维平面上,降低等级的空间透射变换。

通过视觉工坊针孔模型,我们了解了成像过程。 似乎非常简单,但此时只是图像,提供感官上的理解。 要在此基础上完成复杂的3D测量,就必须借助一系列啪啪让人又爱又恨的公式。 公式的基础是坐标系,具体来说是笛卡尔坐标系。 如果你不知道什么是笛卡尔坐标系,我想你也不会打开我的博客看这里,所以我不做介绍。

我想你们已经掌握了一个前提知识。 立体视觉的三个关键坐标系是影像坐标系、摄像机坐标系、世界坐标系。 如果没有,我会把这个概念强加给你。

坐标系与相机参数

图3图像坐标系

关于上述像主点,没有特别说明,是从摄像中心到成像平面的垂直点,是非常重要的点。

为了便于矩阵运算,采用矩阵形式。

公式两边的3维矢量是将3维设定为1,用3维矢量表示2维矢量的齐次表现,具有通过矩阵运算可以从3维变换为2维的优点。 为什么要做这个转换呢? 由于xy坐标系和摄像机坐标系的紧密联系,同学们向后看。

文章目录摄像机坐标系是三维空间坐标系,是非常重要的坐标系,负责图像坐标系和世界坐标系的构建

间联系的重任。所以前人们在建立相机坐标系时,有一个很关键的考量是如何能更好的把影像坐标系和世界坐标系之间联系起来。

两个三维坐标系(相机和世界)之间的转换用旋转和平移就可以方便表达,重点是三维的相机坐标系和二维的影像坐标系之间如何更好转换。方案是这样的:相机坐标系的原点在相机中心,XY轴和影像xy坐标系的xy轴平行,Z轴垂直于像平面且朝向像平面,Z轴和像平面的交点正是影像xy坐标系的原点(像主点)。如图4所示。

图4 相机坐标系

在此方案下,像平面上的所有像素点在相机坐标系下的ZZ坐标等于焦距f,XY坐标和影像xy坐标系下的值相等,即若像素点p在影像xy坐标系下的坐标为(x,y),则其在相机坐标系下的坐标为(x,y,f)。

根据中心投影的特征,假设像素点p是空间点P的投影点,那么如何建立两兄弟之间的坐标关系呢?

图5 相机坐标系2

为了便于矩阵运算,我们会写成矩阵形式:

还记得上一节,我们把xy坐标系转换成uv坐标系,结合上式,便可以把相机坐标系转换成uv坐标系,即

内参矩阵

额外需要了解的一点是,由于制造工艺的偏差,像素不是绝对的矩形(图6左),而是一个平行四边形(图6右)。

图6 倾斜像素

世界坐标系

世界坐标系是一个固定的三维坐标系,是一个绝对坐标系,它旨在将空间中的所有点都统一到同一个坐标系下表达,在不同的应用场景中,世界坐标系的定义并不一样,比如大地测量中,将水准原点当做世界坐标系的原点;在相机标定中,将标定板的某个角点作为世界坐标系。
                             

图7 世界坐标系

世界坐标系和相机坐标系都是三维坐标系,它们之间可以用旋转平移来做转换  

图8 坐标系之间的旋转平移

或者写成另一种形式:

我们把旋转矩阵 R和平移矢量 t称为相机的外参矩阵。

外参矩阵

外参矩阵也是相机的关键参数之一,由一个3x3的单位正交旋转矩阵 R 和3x1的平移矢量 t 组成,它们描述的是世界坐标系到相机坐标系之间的转换关系。需要提一点的是,在不同学科中外参矩阵会有一些定义区别,比如在摄影测量学科中,将相机坐标系转换到世界坐标系的旋转矩阵 R 以及摄影中心在世界坐标系中的位置 C 作为外参。它们目的一致,都是为了描述相机和世界坐标系之间的转换关系。

同样用一个简单表达式来描述世界坐标系到相机坐标系的变换:

投影矩阵

虽然我们花很多篇幅介绍了相机坐标系,但是在实践过程中,最直接接触的却是影像uv坐标系和世界坐标系,在影像三维重建中,通常前者是输入,后者是输出,所以将世界坐标系转换成uv坐标系是很关键的转换。

上文已经得到了世界到相机,相机到uv的转换公式,因此世界到uv并没有什么难度:

世界坐标系到影像坐标系的转换实际上表达的是透视投影中空间点到像点的投影关系,所以把该转换矩阵叫做投影矩阵M,通过矩阵运算可知投影矩阵是一个3x4的矩阵,它是内参矩阵和外参矩阵的乘积。

同样用一个简单表达式来表达这种转换:

总结

本节我们通过针孔模型引入以透视投影为基本原理的相机成像模型,并对一切公式推导的源头:三大坐标系(影像/相机/世界) 做了详细的介绍,在深入了解坐标系的过程中,几类关键的相机参数(内参/外参)也缓缓而出。用图示加公式推导,让大家直观且有逻辑性的掌握这方面的知识,希望能够给入门的同学一些帮助,下一节我们再见。

练习作业

这里为大家准备了一些练习题,可以通过实践加深理解:

练习:写一个Camera类(基于Eigen库 ),用内参矩阵K、旋转矩阵R、平移矩阵t(或相机中心C)来构造
实现接口:

世界坐标系到相机坐标系的转换 W2C

相机坐标系到世界坐标系的转换 C2W

相机坐标系到图像坐标系的转换 C2I

世界坐标系到图像坐标系的转换 W2I

有深度作为参数,图像坐标系到相机坐标系的转换I2C

有深度作为参数,图像坐标系到世界坐标系的转换I2W

参考答案地址:在公众号「计算机视觉工坊」,后台回复「Camera答案」,即可直接下载。

备注:作者系我们「3D视觉从入门到精通」特邀嘉宾:一个超干货的3D视觉学习社区

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「计算机视觉工坊」公众号后台回复:深度学习,即可下载深度学习算法、3D深度学习、深度学习框架、目标检测、GAN等相关内容近30本pdf书籍。

下载2

在「计算机视觉工坊」公众号后台回复:计算机视觉,即可下载计算机视觉相关17本pdf书籍,包含计算机视觉算法、Python视觉实战、Opencv3.0学习等。

下载3

在「计算机视觉工坊」公众号后台回复:SLAM,即可下载独家SLAM相关视频课程,包含视觉SLAM、激光SLAM精品课程。

重磅!计算机视觉工坊-学习交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的成就的柚子聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。