脑与认知科学双目测深实验实验报告.doc
脑与认知科学双目立体测深实验报告2013- 2014学年 第 1 学期专业:智能科学与技术班级:智能1101学号:06113029姓名:田伟明时间:2013年12月10/12日 14:3016:15 双目立体测深一、实验目的: 目标物距离测算在各个领域应用都很广泛,其应用包括移动机器人的自主导航系统,航空及遥感测量,工业自动化系统等。使用两台性能相同、相对位置固定的CCD 摄像头,获取同一目标物的两幅图像,计算空间点在两幅图像中的“视差(disparity) ”,并依据平行双目视觉原理可以简单快速的确定目标物的距离信息。二、 实验原理:1. 双目立体视觉:用双目立体视觉方法进行三维重建,在计算机视觉中是指由两幅二维图像恢复物体三维可见表面几何形状的方法。对生物视觉系统,人们早就注意到,几乎所有具有视觉的生物都有两个眼睛。用两个眼睛同时观察物体时,会有深度或远近的感觉。立体电影之所以有逼真的深度感,也是仿照了立体视觉原理。在立体电影拍摄中,用两个摄像机同时拍摄,而在放映时,将两个摄像机拍摄的图像同时投影到屏幕上,并利用偏振光的原理,使人的双眼分别看到左右摄像机拍摄的图像,从而使人感到真实三维场景的立体感。 双目立体视觉就是仿照这个原理,由不同位置的两台或一台摄像机经过移动或旋转拍摄同一幅场景,然后利用三维重建原理,由计算机重建景物的三维形状,恢复出物体的空间位置信息。我们主要讨论平行双目视觉。(1)平行双目视觉模型 双目成像可获得同一场景的两幅不同图像,当两个摄像头参数(摄像头的焦距f ) 相同且光心平行放于一条直线上时,构成平行双目立体视觉系统,通过对各个部分的几何关系的分析,可以获取目标物的距离信息。图1 是一个典型的双目视觉测量系统。两台摄像头沿基线相距B ,其光轴平行于Z 轴,图像平面与x y平面平行。假设三维空间一点V ( X , Y , Z) 在左、右两个像平面上的投影分别是Pl ( x1 , y1 ) 和Pr ( x2 , y2 ) ,则视差定义为d = | pl - p r| = | x2 - x1 | 。由相似三角形关系可得到: 其中d x 表示每一像素在X 轴方向上的物理单位。Z 即是点V 到摄像头的距离2 (即物体到两个摄像头中心连线的距离) 。 图1 平行双目测量图示三、 实验步骤:(1)、如下给出两张左右眼的视图: (2)、在matlab中把图像二值化,变成黑白图,代码码如下: I=imread(' ImageL6.bmp'); J=imread(' ImageR6.bmp'); G=im2bw(I,0.6); F=im2bw(J,0.6); imshow(G) imshow(F) 二值化后图形如下: (3)、用matlab处理图像确定图片边框,程序代码如下:<<I = imread('2L.bmp');I1 = im2bw(I, graythresh(I);I1 = I1;figure; imshow(I, 'border', 'tight');L = bwlabel(I1);stats = regionprops(L, 'BoundingBox');hold on;for i = 1 : length(stats) rectangle('Position', stats(i).BoundingBox, 'edgecolor', 'r');End<<a=ginput(1);>> aa = 208.8931 138.7905>> I = imread('2R.bmp');I1 = im2bw(I, graythresh(I);I1 = I1;figure; imshow(I, 'border', 'tight');L = bwlabel(I1);stats = regionprops(L, 'BoundingBox');hold on;for i = 1 : length(stats) rectangle('Position', stats(i).BoundingBox, 'edgecolor', 'r');end>> a=ginput(1);>> aa = 288.1994 152.6691(4)、并用用ginput函数确定两张图片上同一点坐标。(下图中取左上角第一个的左下角)(5) 、由程序结果易知,两个坐标分别为:a 1= 208.8931 138.7905,a2=288.1994 152.6691 我们可以算出图片上两点距离(即视差)x=80.5255。因为,比例尺为1:20,所以在现实中的距离为x=4.0263cm。 已知焦距F=0.8mm,双目间距离(摄像机)B=30cm。所以,由上述公式: 可知,深度Z=5.9608cm。四、实验心得:通过本次实验我了解了双目测深的基本原理,在实验中要用到matlab的一些知识,所以平时我们应该有一些基本的数字图像知识。实验中最难的就是视差的确定了,其实视差就是利用摄像头标定得到的内外参数进行图像矫正和校正,校正后的两幅图像对应特征点的纵坐标一致,横坐标有异,横坐标的差值就是视差,两幅图像对应点的视差形成视差图。通过视差图和外参数,利用简单的几何知识(相似三角形)就可以得到特征点的深度。通过这次测试技术的实验,使我学到了不少实用的知识,更重要的是,做实验的过程, 思考问题的方法,这与做其他的实验是通用的,真正使我们受益匪浅。