双目立体视觉.docx

上传人:b****2 文档编号:746268 上传时间:2023-04-30 格式:DOCX 页数:13 大小:219.72KB
下载 相关 举报
双目立体视觉.docx_第1页
第1页 / 共13页
双目立体视觉.docx_第2页
第2页 / 共13页
双目立体视觉.docx_第3页
第3页 / 共13页
双目立体视觉.docx_第4页
第4页 / 共13页
双目立体视觉.docx_第5页
第5页 / 共13页
双目立体视觉.docx_第6页
第6页 / 共13页
双目立体视觉.docx_第7页
第7页 / 共13页
双目立体视觉.docx_第8页
第8页 / 共13页
双目立体视觉.docx_第9页
第9页 / 共13页
双目立体视觉.docx_第10页
第10页 / 共13页
双目立体视觉.docx_第11页
第11页 / 共13页
双目立体视觉.docx_第12页
第12页 / 共13页
双目立体视觉.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

双目立体视觉.docx

《双目立体视觉.docx》由会员分享,可在线阅读,更多相关《双目立体视觉.docx(13页珍藏版)》请在冰点文库上搜索。

双目立体视觉.docx

双目立体视觉

计算机双目立体视觉

双目立体视觉技术是仿照人类利用双目线索感知深度信息的方法,实现对三维信息的感知。

为解决智能机器人抓取物体、视觉导航、目标跟踪等奠定基础。

双目立体视觉(BinocularStereoVision)是机器视觉的一种重要形式,它是基于视差原理并利用成像设备从不同的位置获取被测物体的两幅图像,通过计算图像对应点之间的位置偏差,来获取物体三维几何信息的方法。

融合两只眼睛获取的图像并观察它们之间的差别,使我们可以获得明显的深度感,建立特征间的对应关系,将同一空间物理点在不同图像中的映像点对应起来,这个差别,我们称作为视差(Disparity)图像。

双目立体视觉系统

立体视觉系统由左右两部摄像机组成,如图,世界空间中的一点A(X,Y,Z)在左右摄像机的成像面

上的像点分别为

这两个像点是世界空间中同一个对象点A的像,称为“共轭点”。

知道了这两个共轭像点,分别作它们与各自相机的光心

的连线,即投影线

,它们的交点即为世界空间中的对象点A。

这就是立体视觉的基本原理。

双目立体视觉智能视频分析技术

恢复场景的3D信息是立体视觉研究中最基本的目标,为实现这一目标,一个完整的立体视觉系统通常包含六个模块:

图像获取、摄像机标定、特征提取、立体匹配、三维恢复和视频分析(运动检测、运动跟踪、规则判断、报警处理)。

图像获取(ImageAcquisition)

数字图像的获取是立体视觉的信息来源。

常用的立体视觉图像一般为双目图像,有的采用夺目图像。

图像的获取方式有很多种,主要有具体运用的场合和目的决定。

立体图像的获取不仅要满足应用要求,而且考虑视点差异、光照条件、摄像机的性能和场景特点等方面的影像。

摄像机标定(CameraCalibration)

图像上每一点的亮度反映了空间物体表面某点反射光的强度,而该点在图像上的位置则与空

间物体表面相应点的几何位置有关。

这些位置的相互关系由摄像机成像几何模型来决定。

该几何模型的参数称为摄像机参数,这些参数必须由实验与计算来确定,实验与计算的过程称为摄像机定标。

立体视觉系统摄像机标定是指对三维场景中对象点在左右摄像机图像平面上的坐标位置

与其世界空间坐标A(X,Y,Z)之间的映射关系的确立,是实现立体视觉三维模型重构中基本且关键的一步。

特征提取(FeatureAcquisition)

特征提取的目的是获取匹配得以进行的图像特征,图像特征的性质与图像匹配的方法选择有着密切的联系。

目前,还没有建立起一种普遍适用的获取图像特征的理论,因此导致了立体视觉研究领域中匹配特征的多样化。

像素相位匹配是近二十年才发展起来的一类匹配算法。

相位作为匹配基元,本身反映着信号的结构信息,对图像的高频噪声有很好的一直作用,适于并行处理,能获得亚像素级精度的致密视差。

但存在相位奇点和相位卷绕的问题,需加入自适应滤波器解决。

或者是像素的集合,也可以是它们的抽象表达,如图像的结构、图像的目标和关系结构等。

常用的匹配特征主要有点状特征、线装特征和区特征等几种情形。

一般而言,尺度较大的图像特征蕴含较多的图片信息,且特征本身的数目较少,匹配效率高;但特征提取和描述过程存在较大的困难,定位精度也较差。

而对于尺度较小的图像特征来说,对其进行表达和描述相对简单,定位的精度高;但由于特征本身数码较多,所包含的图像信息少,在匹配时需要采用较为严格的约束条件和匹配策略,一尽可能的减少匹配歧义和提高匹配效率。

总的来说,好的匹配特征应该具有要可区分性、不变性、唯一性以及有效解决匹配歧义的能力。

图像匹配(ImageMatching)

在立体视觉中,图像匹配是指将三维空间中一点A(X,Y,Z)在左右摄像机的成像面

上的像点

对应起来。

图像匹配是立体视觉中最重要也是最困难的问题,一直是立体视觉研究的焦点。

当空间三维场景经过透视投影(PerspectiveProjection)变换为二维图像时,同一场景在不同视点的摄像机图像平面上成像会发生不同程度的扭曲和变形,而且场景中的光照条件、被测对象的几何形状和表面特性、噪声干扰和畸变、摄像机特性等诸多因素的影响都被集中体现在单一的图像灰度值中。

显然,要包含了如此之多不利因素的图像进行精准的匹配是很不容易的。

根据匹配基元的不同,立体视觉匹配算法分为三大类:

区域匹配、特征匹配和相位匹配。

这三类算法因匹配基元的不同,它们判断对应点匹配的理论依据也有所不同,同时匹配基元的稳定性、致密性和歧义性程度直接决定了各类算法的基本特性。

另一方面,对于不同的匹配基元,相似性测度的算法模型可以是通用的,比如都可以用距离测度来进行匹配度量。

而且,各类匹配算法中不乏一些共有的约束条件。

特征点的定位视差测距原理

当摄像机的几何位置固定时,视差就只与d有关

三维恢复(3DReconstruction)

在完成立体视觉系统的摄像机标定和图像匹配工作以后就可以进行被测对象表面点的三维信息恢复。

影响三维测量精度的因素主要有摄像机标定误差、CCD成像设备的数字量化效应、特征提取和匹配定位精度等。

视频分析(运动检测、运动跟踪、规则判断、报警处理)

通过视差计算,得到全屏幕的视差图像后,采用背景建模的方式,得到运动前景物的视差图像,再进行膨胀和腐蚀算法进行图像的预处理,得到完整的可供分析的前景运动物体视差图。

采用运动跟踪算法,全屏实时检测物体的大小、运动轨迹,并与事先设置的规则进行对比,如果有人进入或者离开设置的报警区域,系统则实时报警。

视差:

I1=rgb2gray(imread('scene_left.jpg'));

I2=rgb2gray(imread('scene_right.jpg'));

subplot(131);imshow(I1);

subplot(132);imshow(I2);

d=disparity(I1,I2);

subplot(133);imshow(d);

 

I1=rgb2gray(imread('scene_left.jpg'));

I2=rgb2gray(imread('scene_left.jpg'));

subplot(131);imshow(I1);

subplot(132);imshow(I2);

d=disparity(I1,I2);

subplot(133);imshow(d);

 

极线:

极平面与图像平面的交线;

极平面:

空间点、两像机光心决定的平面;

epipolarLine计算两幅图像的极线

loadstereoPointPairs

[fLMedS,inliers]=estimateFundamentalMatrix(matchedPoints1,matchedPoints2,'NumTrials',4000);

I1=imread('scene_left.jpg');

figure;

subplot(121);imshow(I1);title('InliersandEpipolarLinesinFirstImage');

holdon;

plot(matchedPoints1(inliers,1),matchedPoints1(inliers,2),'go');

epiLines=epipolarLine(fLMedS',matchedPoints2(inliers,:

));

pts=lineToBorderPoints(epiLines,size(I1));

line(pts(:

[1,3])',pts(:

[2,4])');

%showtheinliersinthesecondimage.

I2=imread('scene_right.jpg');

subplot(122);imshow(I2);title('InliersandEpipolarLinesinsecondImage');

holdon;

plot(matchedPoints2(inliers,1),matchedPoints2(inliers,2),'go');

epiLines=epipolarLine(fLMedS',matchedPoints1(inliers,:

));

pts=lineToBorderPoints(epiLines,size(I2));

line(pts(:

[1,3])',pts(:

[2,4])');

truesize;

对应点的估计基础矩阵estimateFundamentalMatrix

左右两幅图像相对应的点之间的关系可以通过本质矩阵或是基础矩阵来表明。

本质矩阵是摄像机标定的情况下用的,公式:

其中

分别是两个齐次摄像机的坐标向量。

本质矩阵是奇异矩阵,并有两个相等的非零奇异值,秩为2.

本质矩阵是摄像机非标定的情况下用的,公式:

基础矩阵的秩为2.

loadstereoPointpairs

F=estimateFundamentalMatrix(matchedPoints1,matchedPoints2)

I1=imread('scene_left.jpg');

I2=imread('scene_right.jpg');

cvexShowImagePair(I1,I2,'matchedPointsinLeftImage','matchedPointsinRightImage','MultipleColors',matchedPoints1,matchedPoints2);

问题:

cvexShowImagePair在matlab中找不到源程序...所以无法显示匹配的点

>>four

F=

0.00000.0000-0.0209

-0.00000.0000-0.0214

0.02020.01900.9992

极点:

基线与两摄像机图像平面的交点;

基线:

左右两相机光心的连线;

判断图像是否包含极点isEpipoleInImage

loadstereoPointPairs

F=estimateFundamentalMatrix(matchedPoints1,matchedPoints2);

imageSize=[200300];

[isIn,epipole]=isEpipoleInImage(F,imageSize)

isIn=

0

epipole=

114.8720222.6113

isIn说明的是图像是否包含极点,epipole标准极点的位置。

基于双目立体视觉的物体深度信息提取系统研究

摄像机标定,图像预处理,立体匹配以及深度信息提取

摄像机标定

图像上每一个像素的灰度反映了空间物体表面某点的反射光的强度,而该点在图像上的位置则与空间物体表面对应点的几何位置有关。

这些位置的相互关系,由摄像机成像系统的几何投影模型所决定。

 

I1=rgb2gray(imread('cup_left.jpg'));

subplot(321);imshow(I1);

I2=rgb2gray(imread('cup_right.jpg'));

subplot(322);imshow(I2);

%检测特征点

pts1=detectSURFFeatures(Iin);

Pts2=detectSURFFeatures(Iout);

[featuresIn,validPtsIn]=extractFeatures(I1,pts1);

[featuresOut,validPtsOut]=extractFeatures(I2,pts2);

%匹配特征点

indexPairs=matchFeatures(features1,features2);

matchedPts1=validPts1(indexPairs(:

1));

matchedPts2=validPts2(indexPairs(:

2));

subplot(323);showMatchedFeatures(Iin,Iout,matchedPts1,matchedPts2);

title('MatchedSURFpoints,includingoutliers');

%Excludetheoutliersandcomputethetransformationmatrix

[tform,inlierPtsOut,inlierPtsIn]=estimateGeometricTransform(...

matchedPts2,matchedPts1,'similarity');

subplot(324);showMatchedFeatures(Iin,Iout,inlierPts1,inlierPts2);

title('Matchedinlierpoints');

%RecovertheoriginalimageIfromIout

outputView=imref2d(size(I1));

Ir=imwarp(I2,tform,'OutputView',outputView);

subplot(325);imshow(Ir);

returnsanimagethatisSCALEtimesthesizeofA,whichisagrayscale,RGB,orbinaryimage.

SURFPoints,extractFeatures,matchFeatures,

detectBRISKFeatures,detectFASTFeatures,detectHarrisFeatures,

detectMinEigenFeatures,detectMSERFeatures

detectSURFFeatures

 

loadstereoPointPairs

[fLMedS,inliers]=estimateFundamentalMatrix(...

matchedPoints1,matchedPoints2,'NumTrials',2000);

%Loadthestereoimages.

I1=rgb2gray(imread('cup_left.jpg'));

I2=rgb2gray(imread('cup_right.jpg'));

%Showtheputativelymatchedpoints.

figure;

showMatchedFeatures(I1,I2,matchedPoints1,matchedPoints2,...

'montage','PlotOptions',{'ro','go','y--'});

title('Putativepointmatches');

%Showtheinlierpoints.

figure;

showMatchedFeatures(I1,I2,matchedPoints1(inliers,:

),...

matchedPoints2(inliers,:

),...

'montage','PlotOptions',{'ro','go','y--'});

title('Pointmatchesafteroutlierswereremoved');

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2