hi 小伙伴们,人啊,很容易有惰性,好久不跟新了,不作笔记了,现在“良心发现”,毕业以后第一次更新博客。固然仍是学习,整合分享给更多的人!ios
相信关注我博客和微信公众号的人不少都是作点云处理,那么使用的传感器不是激光就是相机,这里将介绍一下双目立体视觉微信
双目立体视觉,在百度百科里的解释是这样解释的:双目立体视觉(Binocular Stereo Vision)是机器视觉的一种重要形式,它是基于视差原理并利用成像设备从不一样的位置获取被测物体的两幅图像,经过计算图像对应点间的位置误差,来获取物体三维几何信息的方法。app
我相信将来的世界必定是三维感知的世界,毕竟二维世界不少状况下不能知足要求的,学习
一 视差 Disparity与深度图spa
那么提到双目视觉就不得不提视差图:双目立体视觉融合两只眼睛得到的图像并观察它们之间的差异,使咱们能够得到明显的深度感,创建特征间的对应关系,将同一空间物理点在不一样图像中的映像点对应起来,这个差异,咱们称做视差(Disparity)图像。3d
对于视差的理解本身能够体验一下:将手指头放在离眼睛不一样距离的位置,并轮换睁、闭左右眼,能够发现手指在不一样距离的位置,视觉差也不一样,且距离越近,视差越大。blog
那么提到视差图,就有深度图,深度图像也叫距离影像,是指将从图像采集器到场景中各点的距离(深度)值做为像素值的图像。获取方法有:激光雷达深度成像法、计算机立体视觉成像、坐标测量机法、莫尔条纹法、结构光法。ip
那么这里引伸一下深度图与点云的区别,点云:当一束激光照射到物体表面时,所反射的激光会携带方位、距离等信息。若将激光束按照某种轨迹进行扫描,便会边扫描边记录到反射的激光点信息,因为扫描极为精细,则可以获得大量的激光点,于是就可造成激光点云。ci
深度图像通过坐标转换能够计算为点云数据;有规则及必要信息的点云数据能够反算为深度图像。 二者在必定条件下是能够相互转化的,以前的博客里,有使用PCL库实现过点云提取深度图,固然给出相机参数也是能够由深度图转为点云的。截图一个深度图:博客
因此深度与视差的关系以下
好比绝对差值法 绝对差值图的计算方法以下:
D=|L-R|
式中,L、R和D分别表明左视图、右视图和对应的绝对差值图的亮度值。绝对差值图并非严格意义上的视差图,可是它的计算方法最为简单,速度快,它给出的结果能够做为参考
那么咱们知道视差又有另一个概念就是UV-disparity mapping,简单的给个图表示:
是怎么获得这个结果的呢?原来是统计统计视差的个数,好比V-disparity Map中的第一行分别统计视差为0,1,2,3,4,5的个数,因此获得了V-disparity Map的第一行分别为
0,2,0,1,1,1,那么在真实的图喜好那个中获得的结果以下:
那么利用视差能够作不少有用的功能,好比列举一篇文章 UV disparity based obstacle detection and pedestrian classification in urban traffic scenarios
二 Rays
ray就是链接图像上一点到光心造成的一条射线。这个也是以后的对极约束的基础。
那么创建世界坐标系,咱们的两条rays是相交的。如I下图所示,接下来就是利用rays的相交关系,来解释対极几何(Epipolar geometry )了。
以上的图文说明明了对极几何(Epipolar Geometry)描述的是两幅视图之间的内在射影关系,与外部场景无关,只依赖于摄像机内参数和这两幅试图之间的的相对姿态。
有如下几种概念
1. 基线(baseline):直线Oc-Oc'为基线。
2. 对极平面束(epipolar pencil):以基线为轴的平面束。
3. 对极平面(epipolar plane):任何包含基线的平面都称为对极平面。
4. 对极点(epipole):摄像机的基线与每幅图像的交点。好比,上图中的点e和e'。
5. 对极线(epipolar line):对极平面与图像的交线。好比,上图中的直线l和l'。
6. 5点共面:点x,x',摄像机中心Oc Oc',空间点X是5点共面的。
7. 极线约束:两极线上点的对应关系。
说明:直线l是对应于点x'的极线,直线l'是对应于点x的极线。极线约束是指点x'必定在对应于x的极线l'上,点x必定在对应于x'的极线l上。
根据以上原理就得出了基础矩阵F和本质矩阵E等,网上有不少资料的
这里直接将推导公式贴出来就行了
本质矩阵E的基本性质:秩为2,且仅依赖于外部参数R和T。其中,P表示世界坐标点矢量,p表示像素点矢量
那么基础矩阵求法:因为本质矩阵E并不包含相机内参信息,且E是面向相机坐标系的。实际上,咱们更感兴趣的是在像素坐标系上去研究一个像素点在另外一视图上的对极线,这就须要用到相机内参信息将相机坐标系和像素坐标系联系起来。假设和
是世界坐标值,其对应的像素坐标值为
和
,相机内参矩阵为M,那么
。根据
,那么
。令基础矩阵
,那么
也就是咱们在下图的第一幅图找到一个特征点,经过以上対极几何的知识推导出,该点在第二幅图位于图喜的哪一个位置
举个例子,好比kinect
不管是双目仍是kinect都是相似的原理
f=Focal length
b=Baseline
d=Disparity value
ps=Pixel size
D=Depth
Focal length Baseline
Pixel size Disparity value
备注:(Pixel size)像素大小是图像传感器中单个像素的大小。像素大小用微米表示。因为立体视觉系统使用两个摄像机,图像传感器的像素大小必须相同。随着像素尺寸的减少,系统的深度范围增大。
(Disparity value)视差是指在两个摄像机图像之间的像素位置的差别。假设立体视觉相机中的左图像在位置(1,30)具备像素,而且相同的像素在右图像中的位置(4,30)存在,视差值或差值为(4-1)=3。视差值与上述公式的深度成反比。
好了,就这样了
有兴趣的小伙伴能够关注微信公众号,加入QQ或者微信群,和你们一块儿交流分享吧