基于ransac算法的sift特征匹配研究OpenCV+VS朱万革最终版.docx
《基于ransac算法的sift特征匹配研究OpenCV+VS朱万革最终版.docx》由会员分享,可在线阅读,更多相关《基于ransac算法的sift特征匹配研究OpenCV+VS朱万革最终版.docx(54页珍藏版)》请在冰豆网上搜索。
![基于ransac算法的sift特征匹配研究OpenCV+VS朱万革最终版.docx](https://file1.bdocx.com/fileroot1/2023-1/27/33a4fcd1-538c-4862-97d1-19a925a16e73/33a4fcd1-538c-4862-97d1-19a925a16e731.gif)
基于ransac算法的sift特征匹配研究OpenCV+VS朱万革最终版
SHANGHAIJIAOTONGUNIVERSITY
学士学位论文
THESISOFBACHELOR
基于ransac算法的sift特征匹配研究(OpenCV+VS2010)
上海交通大学
毕业设计(论文)学术诚信声明
本人郑重声明:
所呈交的毕业设计(论文),是本人在导师的指导下,独立进行研究工作所取得的成果。
除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品成果。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律结果由本人承担。
作者签名:
日期:
年月日
上海交通大学
毕业设计(论文)版权使用授权书
本毕业设计(论文)作者同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权上海交通大学可以将本毕业设计(论文)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本毕业设计(论文)。
保密□,在年解密后适用本授权书。
本论文属于
不保密□。
(请在以上方框内打“√”)
作者签名:
指导教师签名:
日期:
年月日日期:
年月日
视频图像跟踪系统
摘要
图像(Image)--是客观世界的景物通过光学系统作用后产生的影像。
图像直观地反映了场景中物体的颜色、亮度等特征,从而使我们能清晰分辨他们的形状、大小和空间位置。
近30年来人们试图研究基于计算机的视觉系统,并且试图利用其系统来代替工业农业上的有害劳动。
这样的视觉系统渐渐地进入我们的生活,让我们的生活变得很丰富,并且我们现在享受着图像处理这学问的成果。
在世界上的先进的国家都设立了图像处理研究所,研究解决国防部门所要的问题。
本文将介绍基于OpenCV(OpenSourceComputerVisionLibrary)的视频图像匹配、拼接、融合和目标跟踪的算法以及方法。
说到图像拼接,本文中所用的图像拼接算法是高效的SIFT特征算法。
首先,用两个通用的USB摄像头来实时地进行采集图像,并对这两幅图像提取SIFT特征点。
然后,进行粗匹配。
最后用RANSAC算法对所提取出来的SIFT特征点匹配对进行提纯以及估计模型参数。
最后把两幅图像拼接成一幅完整的图像,并且用加权平均算法进行无缝拼接。
再进行摄像头标定,求出两个通用摄像头的内外参数,最后进行测距以及跟踪。
最终取得了令人满意的结果。
关键词:
SIFT,匹配,拼接,配准,RANSAC
VIDEOTRACKINGSYSTEM
ABSTRACT
Formanyyears,peoplehavebeenstudyinghowtomaketherobotorthecomputerabletoidentifytargetsandobtaininformationaboutthesurroundingenvironment.Wepeoplecaneasilyseeandidentifyeverykindofobjects,butforcomputersorrobots,thisisaverydifficulttaskanditisaprocessthatinvolvesalotofscientificknowledge.Themainpartofobjectrecognitionisdigitalimageprocessing.Aftertheinventionofthecomputer,peoplebegantodirecttheirresearchonhowtomakethecomputermorepowerfulanduseful.Forthispurpose,manyscientistshavededicatedtheirlifeforthedevelopmentofcomputer.Therapiddevelopmentofcomputercausesaveryfastdevelopmentofdigitalimageprocessing.Whywepeoplestudyscience?
Ofcoursetheanswerwillbetomakeourlifeeasier,andtobeabletoliveinourdreamlife,sothatwecanenjoythelifeincomfortandhappiness.
Nowadays,Imageprocessingtechnologyiseverywherearoundus,butsometimesbecauseweareusedtothistechnologysowedon’tpayattention.Forexample,thephone'shandwritinginputmethod,companyentrancefingerprintidentificationsystem,licenseplaterecognitionsystem,roboticssystemprogramforexploringthelunar,medicalimagingtechnology,facialrecognitionsystems,andsatelliteimagingsystemandsoon.Inthelastthreedecades,imageprocessingtechnologyhasmadearapiddevelopment,whichisinseparablefromthedevelopmentofcomputers,andmoreinseparablefromthedevelopmentofmaterialsscience.Wecannoticethatsciencenowhavepenetratedintoeveryprofessionalimageprocessingandtheimagecomestomanyareas.Thesedaysimageprocessingtechnologyisdirectlyrelatedtoourstandardlife,thistechnologyinvolvesimagerecognition,imageanalysisandimagestitching,etc.Imageprocessingisnowfacingenormouschallenges,duetothedevelopmentofmaterialsprocessingindustry,CNCmachinetoolsandcontroltheory,imageprocessingtechnologyrequirementsareveryhigh,Therefore,manyscientistshavespenttheirlifestudyingimageprocessingtechnology,tryingtodevelopmoreflexible,morereliable,moreaccurateimageprocessingtechnologyandimageprocessingalgorithms.
Videotrackingsystemincludestheimagestitchingtechnology,whenwementionimagestitchingtechnology,wehavetotalkaboutimagematchingandimageregistration,becausethesetwomodulesarethecorepartsoftheimagestitching.
Inthisstudy,IusedScale-invariantfeaturetransform(SIFT)algorithm,thisalgorithmfeaturesrepeatability,unique,localized,quantitative,accuracyandefficiency.
Firstfromthetwocameras(peopleleftandrighteye)insynchronousreadstheimagesequence,andIappliedtheseimagesequencesRANSACalgorithmbasedonSIFTfeaturematchingandobtainedagoodimagestitching.Thenthisimagewithanimagetemplatematchingofimagerecognitionandtracking(basedonSIFT),whilesupportingthebinocularmeasurementstoobtaindistanceinformation.Typically,abouttwoamomenttoreadthetwocameraimageswithalotSIFTfeaturepoint,sotheneedtopurifythedatausingtheRANSACalgorithm,likethatfilter,however,sothereisstillasmallamountoffilteredwrongmatchingpairs.SoweuseRANSACmethodparameterestimationperspectivematrix.Theso-calledRANSACmethodisawidelyusedmodelparameterestimationalgorithm.Isthefirstofseveralrandomlymatchedpairs(thethesismustselectatleastfourpairsabove),weseeitasinteriorpoint,andthenestimatetheparameters,findoutifyoumeetenoughmatrixmatchingpairs,thenwethinkthatthismodeliscorrect.Ifthereisnotenoughtomeetmorethanamatchfor,orverylittle,thenwegiveup,andthenrandomlyselectedafewmatchesagainstrepeatedtheaboveprocedure.Experimentalresultsshowthatseeksoutsuchaperspectivematrixisright.
Thispaperdescribesthestepsaccordingtotheabovevideotrackingsystemdevelopedandusedbytheprocess;Ihaveimprovedalgorithmandexperimentalresults.
Keywords:
SIFT,OpenCV,matching,RANSAC,videoimage
目录
第一章绪论1
1.1论文研究背景2
1.2国内外研究现状3
1.3论文任务和工作4
第二章SIFT特征算法5
2.1有关SIFT算法的术语5
2.2SIFT综述6
2.3尺度空间和高斯滤波7
2.4关键点检测12
2.5特征点方向确定以及SIFT特征向量的生成15
2.6SIFT特征点匹配16
2.7本章小结19
第三章基于RANSAC算法的图像拼接系统设计20
3.1对开源库OpenCV的简单的介绍20
3.2开发环境的搭建(VS2010+OpenCV2.3.1)20
3.3实时采集图像21
3.4图像变换模型(矩阵)22
3.5基于RANSAC的图像拼接23
3.6本章小结27
第四章基于OpenCV的摄像头标定以及测距28
4.1摄像机标定一般模型(针孔相机模型)28
4.2基于OpenCV的测距原理30
4.3两个摄像头的标定以及测距33
4.4本章小结41
第五章总结以及未来的展望42
参考文献42
谢辞44
第一章绪论
很多年来,人们一直研究怎么样才能够让机器人或者计算机识别目标、认知周围环境。
在我们看来很简单的物体,计算机或者机器人很难辨别出来。
这是一个很艰难的任务,也是一个涉及到很多科学的学问。
我们所说的图像处理主要部分是数字图像处理。
计算机的发明以后,人们开始着重研究怎么样让计算机的功能更强大更加具有实用性,随着岁月的流逝,很多科学家为了计算机的发展奉献了自己的一生。
计算机的飞速发展给图像处理带来了飞速的发展。
人类为什么要研究科学?
无疑是为了让我们的生活更加滋润,让我们活在我们所设想过的梦幻里。
这样我们舒舒服服的享受生活,幸福快乐地过着人生。
数字图像处理技术无处不在。
只不过我们习惯了没注意而已。
比如说,手机的手写输入法、公司门口的指纹识别系统、交通统计时用到的车牌识别系统、探月机器人系统、医学成像技术、脸部识别系统和卫星拍摄系统等等。
图像处理技术近三十年来得到了飞速的发展,这离不开电脑发展的伴随,更加离不开材料科学的发展。
可见,现在科学的每个专业都渗透到图像处理,而且图像涉及到的领域很多。
到哪儿都能感觉到图像处理技术的强大。
图像处理技术的应用方面很广,小到我们所用的智能手机里,大到国防工业。
在战争的时候,敌机发现是个很关键的问题,因为早发现可以早点做好战斗准备。
用雷达发现敌机是主动的,所以容易被发现,但是,如果开发一个双目跟踪系统(利用两个已标定好的摄像头)的话,不会被敌机发现,也就是说被动跟踪方式。
这样的系统是降低成本,而且不会被敌机发现,所以,其利用价值是无可限量的。
图像处理技术有图像识别、图像分析和图像拼接等等。
图像处理现在面临巨大的挑战,随着材料加工业、数控机床和控制理论的发展,各领域对图像处理技术的要求非常的高。
所以,很多科学家用自己的一生去研究图像处理技术,试图研发出更灵活、更加可靠、更高精度的图像处理技术以及图像处理算法。
作为处理图像的图像处理数学工具,MATLAB和MATHCAD不可缺少。
此外,C,C++和Java是目前为止最受欢迎的视觉系统实现语言,这是因为它们在集成高级和低级功能方面力量强大而且编译能力强。
[1,11]除此以外OpenCV开源库作为强大的图像处理开源库得到了广泛的应用。
之所以得到了众多科学家开发人员的好评,是因为它是开放的,也就是说免费的,任何人都可以去用,其次呢,是因为它所拥有的图像处理功能非常之强大。
比起其他图像处理软件,OpenCV的强大表现在它有很多封装好的函数,这些函数各个都是一个功能,比如说要是用visualc++中实现的功能,在OpenCV上用简单的几个函数来实现。
下面着重介绍本论文的研究背景、国内外研究现状以及论文内容和组织结构。
1.1论文研究背景
数字图像处理起源于20世纪20年代,当时通过海底电缆从英国的伦敦到美国的纽约采用数字压缩技术传输了第一张数字照片。
之后的发展有点缓慢,知道第三代计算机的问世,才开始迅速的发展。
[3,6]
作为图像处理软件,OpenCV近十年来一直被人瞩目,一直被很多图像处理科学家们收到宠爱。
虽然MATLAB具有很强大的科学计算功能和图像处理功能,但在图像处理功能方面超不过OpenCV的。
麻省理工学院计算机科学与人工智能实验室的WilliamT.Freeman曾说过“OpenCV库对从业人员而言非常有用,对初涉该领域的新手而言不失为一个优秀工具。
正如其广而告之的那样,它是一套高效的计算机视觉算法。
”
OpenCV是一个开源的计算机视觉库,是英特尔公司资助的两大图像处理利器之一。
作为一个跨平台的计算机视觉库,它为图像处理、模式识别、三维重建、物体跟踪、机器学习和线性代数提供了各种各样的算法。
截止2009年8月,在网站的OpenCV下载次数超过2,200,000次。
[4]过去一周(从2013-05-16到2013-05-22),在的OpenCV下载次数超过了32,942次,这数字仅仅是一周的下载次数。
OpenCV开源库至今更新到OpenCV2.4.5。
本人在论文中所提到的算法都是用VisualStudio2010和OpenCV2.3.1的搭建下写程序编译通过的。
虽然OpenCV开源库是给大家开放的图像处理算法库,但是,在国内有关OpenCV的书籍和文献极少,针对初涉该领域的新手们的教程只有两本——“学习OpenCV”(中文版),“OpenCV教程——基础版”。
在网上有与OpenCV有关的资料,但是,也是很少,而且相当零散。
这种现象造成了很多喜欢玩OpenCV的人很难系统的学到OpenCV。
不过,在互联网的飞速的发展的情况下,这样的现象渐渐地少了很多。
因为互联网上有关OpenCV的论坛很多,喜欢跟OpenCV打交道的人们可以通过互联网上的论坛或者贴吧互相交流互相帮助。
这样在某种程度上形成了OpenCV培训所。
写这篇论文之前,本人也在互联网上得到了很多人们的帮助,也帮助过很多人们。
但是,这也是一定的范围内进行的,也就是说局限在简单的程序语法或者特定的函数用法等等。
本人在论文中用到的算法是尺度不变特征点(SIFT)算法,尺度不变特征点具有可重复性、独特性、局部性、数量型、准确性和高效性。
下面看看国内外研究现状。
1.2国内外研究现状
OpenCV的更新换代地升级给我们带来了很多好处,以前要写很长的代码完成某功能的操作不需要了,因为OpenCV的版本越高里面嵌在的函数的封装性越来越好。
这给了我们极大地好处,只要我们能够了解怎么调用这些函数和图像处理的基础理论就好办了。
视频图像跟踪系统其本身包含了图像拼接技术这领域,说道图像拼接技术不得不提起图像匹配和图像配准。
因为这两个模块是图像拼接的主要核心部分。
现在被广泛使用的匹配有特征匹配和模板匹配等等。
其中特征匹配是本论文所利用的。
特征匹配的最后效果好坏取决于特征空间的选取,所谓的特征空间就是由参与匹配的图像特征构成的。
特征点的类型很多:
比如原始灰度、显著特征点、边缘轮廓、统计特征、局部描述符、高层结构特征等。
其中SIFT特征点几年来最为被广泛使用。
利用SIFT特征空间的匹配大致分为三个步骤。
第一步是特征提取,第二步是特征匹配。
所谓的特征提取是指从具有共同部分的两幅图像提取共有的特征。
特征匹配是对从两幅图像中提取出来的共有的特征点进行对应。
Movarac在1980年提出了关于角点的最初算法。
在这基础上1988年Harris把这个初始想法正式形式化为称为结构张量的两个特征值性质的问题。
从此以后很多科学家加入到了这领域开始研究各种算法。
Triggs和Kenney提出了广义角点度量。
这时候的算法都有着致命的弱点,那就是对广义的视角的匹配效果并不好,就不适用。
为了克服这问题,1995年,张正友提出了用兴趣点附近的图像区域进行匹配的方法。
但他的算法无法解决图像旋转、尺度变化、投影变化等问题。
直到2004年Lowe完善了根据1999年基于Lindeberg的图像尺度空间理论提出的SIFT(ScaleInvariantFeatureTransform——尺度不变特征)算法。
之所以SIFT特征空间被广泛使用,是因为它对缩放、旋转、平移和投影变换等等具有不变性。
SIFT特征点匹配算法具有较强的鲁棒性,而且算法速度高、精度高。
1.3论文任务和工作
近几年来SIFT特征算法成为了很多科学家以及研究员的研究热点。
它以自身的优势渐渐地成为了图像匹配的主流算法。
本论文围绕着如何将SIFT特征算法应用于视频图像跟踪系统中,实现从两个usb摄像头中读取的两幅图像进行匹配,怎么样提高匹配速度以及精度等问题开展研究。
用SIFT算法进行的特征点的提取和粗匹配后的,效果还是不太理想,因为毕竟存在错误的匹配。
所以,要用RANSAC(随机抽样一致性)算法对粗匹配的匹配对进行提纯工作。
两个通用USB摄像头毕竟存在畸变性,特别是径向畸变厉害,所以,我们需要用OpenCV的自带函数来进行摄像头标定。
在本论文采用的标定方法是张氏法,需要格子板,本论文采用的标定物正是具有9*6=54个角点的格子板标定物。
通过OpenCV自带的标定算法以及相关的函数来求出摄像头的内外参数。
利用求出来的内外参数进行简单的计算得到实际物体到摄像头的距离信息。
利用已经标定好的摄像头进行测距的时候不需要模板匹配,因为只要找到很强的SIFT匹配对,也就是说只要找到正确的匹配对(当然跟目标相关的,其他的丢掉),就可以求出摄像头到物体之间的距离信息。
首要条件是把两个摄像头放置的时候它们的光心轴要平行,以使让最后得出的距离接近实际的距离。
下面来看看本论文理论结构以及各章的中心内容。
下面就是论文主要内容:
第1章:
第一章为绪论,简单的论述了本论文的研究背景和国内外研究现状等。
对图像处理经典算法进行了解剖,并论述了SIFT算法的优越性。
最后给出了本论文的内容结构以及论文内容。
第2章:
第二章主要介绍了有关SIFT算法的知识以及具体实现的方法。
最后还简单的介绍了RANSAC算法的一般原理。
第3章:
第三章是作为本论文的重点,着重介绍了从两个摄像头中读取的两幅图片中怎么样提取SIFT特征点、怎么样构建特征点空间以及怎么样粗匹配,最后介绍了经过RANSAC算法以后图像拼接以及配准原理和方法。
给出了评估模型的一般方法。
第4章:
第四章讲述了基于OpenCV的摄像机标定原理和方法。
针对双目视频跟踪系统的研制开发讲述了摄像机标定的数学原理以及具体实现方法和实验结果。
第5章:
第五章为总结和展望。
第二章SIFT特征算法
作为一种局部描述子,尺度不变形特征变换,Sift(ScaleInvariantFeatureTransformation)被广泛利用着。
它具有尺度不变形,在图像中找出关键点。
从SIFT特征算法的诞生以来,出现了很多有关SIFT的算法,人们为了能够在现实中利用,而试图改进它。
这些局部特征被广泛利用而且被研究的真正原因在于它能够表述统计意义的图像特征。
接下来从下面开始着重看SIFT特征算法具体内容。
2.