三维重建的前景
- CV两大任务物体识别、三维重建
- 自动驾驶、VR、AR核心
- 古建筑修复与重建时三维重建的一个具有代表性的应用
- 比自动驾驶更难(三维感知)
通常提到的计算机视觉,会想到物体识别,(识别一张图片是猫还是狗)(行为分类任务:人是坐着还是站着)都属于计算机视觉的物体识别。
计算机视觉的目标:对图像进行理解
研究目的:从图像中获取视觉特征。
三维重建的发展进程
- 1987年在伦敦举办的第一届国际计算机视觉大会ICCV
- 计算机视觉的目标事对图像进行理解
- 研究目的事从图像中获取视觉特征
- 80年代,人人都在做以edge为主的边缘提取,1986年Canny edge detection
- 90年代,人们对三维重建愈加重视,一维的edge不适合几何计算,几何最本质的元素是点
- 1992年,Olive Faugeras 和 Richard Hartle 各自独立地解决了非标定相机两张图像下的三维重建问题
三维重建分类(主动式、被动式)
- 立体视觉(双目立体视觉重建)
- 深度图像
学习步骤
- 图像处理相关知识:图像特征提取(霍夫变换、D2-Net、SIFT)
- 相机模型学习(三维空间到二维的映射):相机标定、优化加速
- 三维重建:双目系统、立体匹配(SIFT、pathmatch、结构光)
- Structure from motion(极线几何、本质矩阵)
- 刚体变换
学习方向
- 高精度的三维重建
- 大规模的三维重建
- 非刚体的Structure from motion
- 动态三维重建
如何获取物体表面的三维数据?
- 建模软件,精细结构(软件操作复杂/自动化程度低、建模周期长、不规则物体重建真实感不高)
- 激光设备、深度扫描仪(比较精确、简单方便、建模周期短、昂贵、携带不方便)
-利用视频或图像来进行三维重建(成本低、效率高、灵活性强、所需设备简单)
立体视觉的研究目标
立体视觉的研究目标就是通过模仿人类的视觉机理,使机器人具有通过多副图像认知周围环境信息的能力。(仿生学)
立体视觉三维重建
两幅或多幅二维图像恢复三维可见表面性质方法
双目立体视觉重建
在计算机立体视觉系统中,也可以利用摄像机从不同角度获取同一景物的两幅图像,然后利用三维重建原理,由计算机重建景物的三维形状,恢复出物体的空间位置信息。
双目视觉三维重建基本原理
- 图像获取(取决于应用场合和目的、考虑视点差异、光照条件、摄像机性能、景物特定)
- 摄像机标定(成像模型、摄像机位置和属性参数,空间坐标系同它的像点对应[像]=M[物])
- 特征提取(同一物点在不同图像的对应关系,合适的图像特征进行匹配)
- 立体匹配(映射点对应出来,得到视差图像(为了之后得到深度图像),有诸多因素的干扰,比较困难,选择正确的匹配特征,寻找特征间的本质属性,建立稳定的算法进行立体匹配)
- 三维重建(任一点在两个图像中的坐标、两摄像机参数矩阵,通过约束关系,求得图像点,做完这些后,最重要的部分在三维重建中就是让三维点云结构有轮廓纹理方面信息)
相机标定
- 空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型。
- 这些几何模型参数就是相机参数
- 这个求解参数的过程就称之为相机标定(或摄像机标定)
坐标系转换
- 世界坐标系(由于摄像机与被摄物体可以放置在环境中任意位置,这样就需要在环境中建立一个坐标系,来表示摄像机和被摄物体的位置,这个坐标系就成为世界坐标系)
- 相机坐标系(也是一个三维直角坐标系,原点位于镜头光心处,x、y轴分别与相面的两边平行,z轴为镜头光轴,与像平面垂直)
世界坐标系到相机坐标系
- 旋转(旋转的表示有很多种:旋转矩阵、欧拉角、四元数、轴角、李群与李代数)
- 旋转的应用场景(惯性导航、机器人学(机械臂运动学、无人机姿态估计、SLAM等))
- 先旋转对齐,再平移
关于左乘还是右乘
- 左乘–相对于固定坐标系进行变换(固定坐标系=变换*需变换坐标系)
- 右乘-相对于自身(活跃)坐标系进行变换(固定坐标系=需变换坐标系*变换)
世界坐标系到相机坐标系
-
为啥要把世界坐标系变到相机坐标系?
因为我们相机坐标系可以将图像的世界点联系起来。 -
啥是世界点?
一般情况下我们是需要测量物体到机器人的距离和位置关系,因此世界坐标系一般定在机器人上,或者是机器人工作的场景中。 -
世界坐标系与相机坐标系的关系就是相机的外参。
像素坐标系
- 像素坐标系uov是一个二维直角坐标系,反映了相机CCD/CMOS芯片中像素的排列情况。
- 原点o位于图像的左上角,u轴、v轴分别于像面的两边平行。
- 像素坐标系中坐标轴的单位是像素(整数)。
图像坐标系
- 像素坐标系不利于坐标转换,因此需要建立图像坐标系XOY。
- 其坐标轴的单位通常为毫米(mm),原点是相机光轴与相面的交点(称为主点),即图像的中心点。
- X轴、Y轴分别与u轴、v轴平行。故两个坐标系实际是平移关系,即可以通过平移就可得到。
图像坐标系转换为像素坐标系
针孔成像原理
空间任意一点P与其图像点p之间的关系,P与相机光心o的连线为oP。oP与像面的角点p即为空间点P在图像平面上的投影。
该过程为透视投影,如下矩阵表示:
世界坐标系转换为像素坐标系
畸变系数(distortion parameter)
- 在几何光学和阴极射线管(CRT)显示中,畸变是对直线投影(rectilinear projection)的一种偏移。
- 简单来说直线投影是场景内的一条直线投影到图片上也保持为一条直线。
- 那畸变简单来说就是一条直线投影到图片上不能保持为一条直线了,这是一种光学畸变(optical aberration)
- 畸变一般可以分为两大类,包括径向畸变和切向畸变。主要的一般径向畸变有时也会有轻微的切向畸变。
径向畸变来自于透镜形状。
切向畸变来自于整个摄像机的组装过程。
径向畸变(Radial distortion)
- 实际摄像机的透镜总是在成像仪的边缘产生显著的畸变,这种现象来源于“筒形”或“鱼眼”的影响。
- 光线在远离透镜中心的地方比靠近中心的地方更加弯曲。对于常用的普通透镜来说,这种现象更加严重。
- 对于径向畸变,成像仪中心(光学中心)的畸变为0,随着向边缘移动,畸变越来越严重。
- 径向畸变分为筒形畸变、枕形畸变和胡子畸变。(筒形畸变在便宜的网络摄像机中非常厉害,但在高端摄像机中不明显,因为这些透镜系统做了很多消除径向畸变的工作。)
切向畸变
- 切向畸变是由于透镜制造上的缺陷使得透镜本身于图像平面不平行而产生的。
- 切向畸变可分为:薄透镜畸变、离心畸变。
(当透镜不完全平行图像平面时候产生切向畸变)
本文为自己的学习笔记,方便自己查看,借鉴bilibili的视频(PP_AI)及上网查找的许多资料。