各类相机以及图片-SLAM14CP5

——2020.10.20学习

开始学习SLAM。想着从SLAM开始而后作三维重建。前面的李群李代数以及旋转四元数有点复杂。都看过了一遍。但不太理解就先放放。但愿接下去可以顺利进行。数学基础可能不是很好,公式推导书中以及写得十分详细,主要是记录我看SLAM的笔记,以及一些理解。blog

相机经过把三维世界的坐标点映射到二维图像平面。从单位米到单位像素。这个过程可以用一个几何模型进行描述。咱们从最简单的针孔相机模型提及。图片

设O-x-y-z为相机坐标系。O为摄像机的光心,也就是摄像头的针孔。现实世界的空间点的P,通过小孔O投影以后成像P‘。由于成的是倒像因此要加一个负号。咱们对所成的像进行关于O点镜像对称。数学

 

大多数的相机输出的图像都不是倒像——相机自身的软件会帮你反转,因此也就是对称的成像平面。在相机中,咱们最终得到的是一个一个的像素,咱们要对他进行采样以及量化。咱们在物理成像平面固定一个像素平面o-u-v。咱们在像素获得P‘的像素坐标。基础

像素坐标系一般的定义方式:原点o’位于图像的左上角,u轴向右,v轴向下。像素坐标系与成像平面直接差了一个缩放和一个原点的平移。软件

上面是关于相机内参的推导方式。上式中的K即是相机内参(内参数矩阵)。相机的内参在出厂后便已经肯定。咱们也能够经过标定的方式来肯定相机内参。除了内参以外还有对应的外参。咱们使用的P是在相机坐标系下的坐标。可是,由于相机是在世界坐标系下运动的,因此,相机的位置须要用相机的旋转矩阵以及位移组成。反射

因此上式中对应的R,t即是相机的外参,随相机的运动而变化。而后咱们对其进行归一化处理以后。获得对应的二维齐次坐标Pc=[x/z,y/z,1]T,即是对应屏幕上的uv坐标。im

为了获得更好的成像效果,咱们须要在镜头前增长一层透镜,这样会致使对图形有影响。也就是会产生畸变。而畸变分为两种一种是径向畸变,第二种就是切向畸变。第一种致使的缘由是光线在穿过透镜的时候会致使光线的折射,致使原先在现实生活中的直线在图像中呈曲线。这种如今越靠近边缘越明显,又由于透镜成中心对称,则在图像中呈径向对称。又分为两种一种是桶形畸变,一种是枕形畸变。桶形是因为图像放大率随着光轴的距离增长而减少,枕形则反之。d3

在相机组装过程当中不能使得透镜和成像平面严格平行会引入切向畸变。margin

咱们能够用数学表达式对其进行表述。能够用笛卡尔坐标系以及极坐标的形式来对屏幕上面的点进行描述。[X,Y]T->[Xcorrected,Ycorrected]T这个过程就是纠正事后的坐标。要注意他们如今是归一化平面上的点,不是像素平面上的点。

上式是对应的径向畸变的坐标调整公式。对于畸变比较小的图像中心区域,畸变主要是k1起做用。对于畸变比较大的边缘区域则是k2起做用。对于畸变比较大的镜头采用k3.下面则是切向畸变对坐标的调整。主要由系数p1,p2进行修正.

 经过咱们学习上面的两个模型,针孔相机模型以及畸变模型。咱们能够把整个过程进行梳理。从相机坐标系(X,Y,Z)->像素平面(u,v)
1.将三维空间点投影到归一化图像平面。
2.对归一化平面上的进行径向畸变和切向畸变纠正。

3.将纠正后的点经过内参数矩阵投影到像素平面。获得该点在图像平面的正确位置。

咱们能够选择先对图像进行去畸变,而后讨论他在空间中的位置。也能够先考虑图像中的某个点。进行去畸变,而后讨论他在空间中的位置。

双目相机模型
经过左右摄像机获得视差来判断物体距离咱们的位置,计算获得视差以后估计每个像素的深度。

 

 

在左右摄像机,咱们能够把他们当作两个针孔相机。他们是水平放置的,意味着两个相机的光圈中心位于x轴上,他们之间的距离称为双目摄像机的基线。如今空间中一点P,在左眼以及右眼中各呈一像。因为基线的存在,两个成像位置不一样,理想状况下,两个像只有在x轴上有差别。

视差与距离成反比,视差越大,距离越远。因为最小视差是一个像素,因而深度具备一个理论最大值。由fb决定。实际上看上去公式十分的简洁,可是d在u行中很差肯定。可能双目估计须要使用GPU或FPGA来计算。

RGB-D相机

1.红外结构光。
2.飞行时间法(ToF)。
RGB-D都须要向探测目标发射一束光线。在结构光中,根据返回的结构光图案,计算物体与自身的距离。飞行时间法,经过计算光线返回时间,ToF能直接对整个图像发射激光获得深度。而不用逐一像素进行发射。RGB-D须要多个相机进行放置,同时由于条件过于苛刻,为了排除户外因素必须在室内,对于透明的物体由于接受不到反射光则没法肯定其位置。

图像咱们从灰度图开始提及。每一个像素位置对应一个灰度值。用一个字节来表示咱们能够用二维矩阵来表示能够设定第一个下标为行,第二个下标为列。而后在像素平面内原点在左上角。但当咱们想记录比颜色更多的信息的时候咱们的一个字节就不够用了。好比说咱们须要记录深度可能须要用十六位整数进行记录。当咱们使用彩色图片的时候,则须要通道的概念此时RGB便须要24位,3个字节。当有透明度的时候则又要增长一位。用通道的方式进行访问。

相关文章
相关标签/搜索