人有两只眼睛
人有两只眼睛的原因是需要对距离进行估计,通过在两只眼球的视网膜上成像并融合,人的大脑可以提取场景的三维信息。
通过双目视觉,可以对场景进行重建,同时由于三维比二维包含的信息多,可以更好的完成识别和图像分割任务。
从图像点恢复点的三维坐标
已知两幅图像上的一个点对,那么可以恢复三维坐标。即从光心出发,通过每个图像点的射线,所相交的交点,就是三维空间中的点。
difficult:
1.两条射线不会恰好相交
2.如何求取相匹配的点对
最小二乘法拟合
两条空间直线不相交,说明其不在同一个子空间内。用最小二乘法将两条直线投影到同一个子空间,可以获取场景点的最优估计。
zp=MP
z′p′=M′P
p×MP=0
p′×M′P=0
([p×]M[p′×]M′)P=0
左侧矩阵已知,奇异值分解等算法可以给出P的估计值。
图像校正
如果对于图像中的每一个点,都要反解投影矩阵,工作量太大。不妨建立和光心连线平行的某投影平面,将图像投影至该投影平面上。
由于点与光心组成的三角形构成平面,图像点都在这个平面上,故两个图像点在新投影平面上的像处于一条平行线上。同时点与投影平面的距离和投影平面上两个对应点的距离成反比。
如图所示,三角形的高相当于场景点到投影平面的距离,对于距离投影平面相同的场景点有:三角形的底(像素差)相等。p′1(u,v),p′2(u′,v):d=u−u′ 。
Z0=Zd−ZB
ZBB=Zdd=k
于是可以求出图像点深度d
对于点的横,纵坐标有
wX=k∗cX
wX 为非齐次世界坐标
cX 为齐次图像坐标
双目融合
双目融合的过程是寻找两幅图相匹配的点的过程。一幅图像中很多点看起来都能匹配上,所以如何建立可靠准确的双目融合算法是获取三维图像的重点。
匹配要求
1.一致性
图像上黑点对应的应该是黑点,而不是亮点
2.唯一性
算法获取的点对应为一一对应
3.连续性
一连串的周围点都能对应上
相关算法
求两幅图像素之间相关性,利用领域灰度值生成相关向量。
多尺度的边缘匹配
算法:
Created with Raphaël 2.1.2图1,图2不同尺度的高斯平滑沿水平线获取边缘梯度匹配梯度方向大小匹配点周围大尺度匹配结束匹配
版权声明:本文为博主原创文章,未经博主允许不得转载。