本次记录是学习了 B站视频的学习笔记,参考 深度/RGB-D相机简介相机的标定配准

1、什么是深度图?

在这里插入图片描述
像这种,随着鼠标的移动,坐标位置xy和一个value的值会变化,这个value的值就代表着深度,也就是当前的相机距离被测量物体的距离。深度图一般是16比特的(一般的图像是8bit的)

可以使用ImageJ查看工具来查看深度图。(这个工具很强大,可以调节对比度,输出多种图像格式等)

物理距离 = 像素值value/尺度因子,不同相机的尺度因子是不一样的,可以查看手册或者标定得到。

深度相机和RGBD相机的区别:

深度相机就是能够直接输出深度的相机,或者是能够通过软件间接计算出深度,或者通过物理方法直接测量深度。
RGBD相机就是特指通过物理方式测距的。得到的是RGB图+深度图。

深度相机还包括以下:
在这里插入图片描述
单目结构光:有一个发射器,一个接收器
双目结构光:一个发射器,两个接收器,得到是两个红外图

RGB-D相机的分类:

分成两类:
一类是结构光法,比如Kinect v1、Iphone X;
结构光法是为了解决双目匹配问题产生的,解决对环境光照敏感问题,是红外光,晚上也可以用,不依赖光照和纹理。
其中Kinect v1是最早的结构光法,是以色列的PrimeSense公司,后来被苹果收购了,用于Iphone X,人脸解锁非常稳定。在空间上的分辨率是3mm,深度上的分辨率是1cm。(2m距离)

一类是飞行时间(ToF)法,比如Kinect v2、Phab 2 Pro。
飞行时间法就是发射一束光脉冲(一般为不可见光),然后经过物体反射回去,再接收到光脉冲。通过探测飞行的这段时间来计算被测物体离相机的距离。
TOF的测量精度不会随着测量距离的增大而降低,而且抗干扰能力比较强,适合测量距离要求比较远的场合,比如无人驾驶、AR等等。但是他的功耗比较大,分辨率较低、深度图的质量较差。

RGB-D相机有哪些坑?

深黑色物体的影响: 白光中存在光的互补,即:黄光和蓝光经过一定比例进行混合会得到白光。而物体对光的选择性吸收决定了物体本身的颜色。比如一束白光经过一个溶液,溶液吸收掉黄光,那么透出溶液的就是蓝光,溶液表现的颜色也就是蓝色。深黑色物体可以吸收大量的红外光所以会导致测量不准,这就使接收到的红外光很少。

在这里插入图片描述
表面光滑物体的影响:
漫反射是多个角度清晰成像的基础
镜面反射容易发生过曝光和欠曝光,比如金属表面、反光表面等

在这里插入图片描述
上图中桌面是深黑色以及镜面物体,深度相机测量失败;而椅背虽然也是深黑色物体,但是表面是漫反射,所以深度图中是能够测量出来的。

(半)透明物体的影响:
半透明物体会经过两次反射,如果是透明物体,就会直接穿过了,导致深度测量不准。
在这里插入图片描述
玻璃透射导致接收不到红外光。

视差的影响
结构光深度相机的红外发射端和接收端有一定的距离,因此在物体的边缘有明显视差。

规避纯视觉技术的弱点
在这里插入图片描述

总结一下RGBD相机的缺点:

(1)不适合室外使用
(2)受到深黑色物体、半透明物体、镜面反射物体、视差的影响
(3)功耗大
(4)分辨率比较低
(5)深度图质量和硬件关系密切
(6)成本较高,比双目相机贵

2、深度相机采集

3、立体匹配计算

使用RGBD相机进行实验的时候,存在三个问题:
(1)图像畸变?存在畸变的话,要进行标定
(2)深度图像的深度值是否正确?要进行深度值的校准
(3)怎么把RGB图像中的某一点和深度图像的value对应起来?要进行图像配准(对齐)
在这里插入图片描述

在这里插入图片描述

内外参的标定

在这里插入图片描述
然后物理成像平面和相机坐标平面并不是这样平行的关系,存在一个平移和缩放的关系。
在这里插入图片描述
整理一下得到下面的公式:
在这里插入图片描述
这四个参数fx、fy、Cx、Cy就叫做相机的内参
fx,fy为焦距,一般情况下,二者相等。Cx、Cy为主点坐标(相对于成像平面),也就是坐标原点平移的距离。
相机的外参:也就是相机坐标系到世界坐标系的一个转换,就是一个旋转矩阵和平移矩阵
当然,相机还会存在畸变的问题,也就是畸变参数
径向畸变:

在这里插入图片描述
切向畸变:
在这里插入图片描述

总结:

相机的外参矩阵:从世界坐标系是怎样经过旋转和平移,然后落到另一个摄像机坐标上的
相机的内参矩阵:从摄像头坐标系是怎样经过摄像头,通过针孔成像、电子转化等落到照片(像素)坐标系的
相机的畸变矩阵:告诉你为什么上面那个实际像素点并没有落在理论计算该落在的位置上,还产生了一定的偏移和变形

棋盘格标定

深度校准

图像配准

把深度图叠加到RGB图像中
在这里插入图片描述

4、数据集

TUM RGBD数据集,德国一个数据集,提供了多种情况下的视频数据、标定参数、ground truth、工具等。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐