freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于ransac算法的sift特征匹配研究opencvvs終版(文件)

2025-07-15 18:25 上一頁面

下一頁面
 

【正文】 因?yàn)榛ヂ?lián)網(wǎng)上有關(guān)OpenCV的論壇很多,喜歡跟OpenCV打交道的人們可以通過互聯(lián)網(wǎng)上的論壇或者貼吧互相交流互相幫助。本人在論文中用到的算法是尺度不變特征點(diǎn)(SIFT)算法,尺度不變特征點(diǎn)具有可重復(fù)性、獨(dú)特性、局部性、數(shù)量型、準(zhǔn)確性和高效性。視頻圖像跟蹤系統(tǒng)其本身包含了圖像拼接技術(shù)這領(lǐng)域,說道圖像拼接技術(shù)不得不提起圖像匹配和圖像配準(zhǔn)。特征匹配的最后效果好壞取決于特征空間的選取,所謂的特征空間就是由參與匹配的圖像特征構(gòu)成的。第一步是特征提取,第二步是特征匹配。在這基礎(chǔ)上1988年Harris把這個(gè)初始想法正式形式化為稱為結(jié)構(gòu)張量的兩個(gè)特征值性質(zhì)的問題。為了克服這問題,1995年,張正友提出了用興趣點(diǎn)附近的圖像區(qū)域進(jìn)行匹配的方法。SIFT特征點(diǎn)匹配算法具有較強(qiáng)的魯棒性,而且算法速度高、精度高。用SIFT算法進(jìn)行的特征點(diǎn)的提取和粗匹配后的,效果還是不太理想,因?yàn)楫吘勾嬖阱e(cuò)誤的匹配。通過OpenCV自帶的標(biāo)定算法以及相關(guān)的函數(shù)來求出攝像頭的內(nèi)外參數(shù)。下面來看看本論文理論結(jié)構(gòu)以及各章的中心內(nèi)容。第2章 :第二章主要介紹了有關(guān)SIFT算法的知識(shí)以及具體實(shí)現(xiàn)的方法。第4章 :第四章講述了基于OpenCV的攝像機(jī)標(biāo)定原理和方法。它具有尺度不變形,在圖像中找出關(guān)鍵點(diǎn)。 有關(guān)SIFT算法的術(shù)語本節(jié)論述本論文常用的一些術(shù)語以及概念。因?yàn)樘卣鼽c(diǎn)的領(lǐng)域所表現(xiàn)出來的是某個(gè)物體的邊緣或者特定的角點(diǎn),所以特征點(diǎn)的領(lǐng)域?qū)ξ覀兒罄m(xù)的研究有很大的幫助。因?yàn)槲覀內(nèi)祟愃鶕碛械难坨R,也就是說人類的視覺系統(tǒng)是具有極高的全局特征辨別能力,不過,讓計(jì)算機(jī)或者機(jī)器人能夠認(rèn)知這些全局特征,需要耗費(fèi)很大的精力和資金的投入。(4) 仿射變換:他所指的是兩個(gè)互不相同的坐標(biāo)下的矢量之間的邊換。David局部影像特征的描述與偵測可以幫助辨識(shí)物體,SIFT使用SIFT算法的特點(diǎn)有:1)SIFT所查找到的關(guān)鍵點(diǎn)是一些十分突出,不會(huì)因光照,仿射變換和噪音等因素而變化的點(diǎn),如角點(diǎn)、邊緣點(diǎn)、暗區(qū)的亮點(diǎn)及亮區(qū)的暗點(diǎn)等。通過高斯微分函數(shù)來識(shí)別潛在的對于尺度和旋轉(zhuǎn)不變的興趣點(diǎn)。3.關(guān)鍵點(diǎn)描述:在每個(gè)關(guān)鍵點(diǎn)周圍的鄰域內(nèi),在選定的尺度上測量圖像局部的梯度。因此,尺度空間的很多處理算子跟哺乳動(dòng)物視網(wǎng)膜和視覺系統(tǒng)有著極高的相似性。 圖像的金字塔化圖像的金字塔化所指的是對圖像進(jìn)行低通濾波操作。不多,它雖然能夠表達(dá)出圖像在多尺度下的描述,但它缺少扎實(shí)的理論背景,很難分析圖像中物體的各種尺度。WItkin對尺度空間理論最重要的貢獻(xiàn)之一就是把這些表達(dá)與信號(hào)在不同尺度上的結(jié)構(gòu)用系統(tǒng)方法關(guān)聯(lián)在一起,從而將尺度這個(gè)維度很自然的加入到尺度空間表達(dá)中,使得跨尺度圖像結(jié)構(gòu)的某些行為能夠被捕獲。高斯模糊所用到的函數(shù)就是高斯函數(shù)(正態(tài)分布)計(jì)算模糊模板。如二維模板大小為m*n,則模板上的元素(x,y)對應(yīng)的高斯計(jì)算公式為: (22)在二維空間中,這個(gè)公式生成的曲面的等高線是從中心開始呈正態(tài)分布的同心圓。這樣進(jìn)行模糊處理比其它的均衡模糊濾波器更高地保留了邊緣效果。 根據(jù)σ的值,計(jì)算出高斯模板矩陣的大小(+1)*( +1),使用公式(12)計(jì)算高斯模板矩陣的值,與原圖像做卷積,即可獲得原圖像的平滑(高斯模糊)圖像。高斯模板是中心對稱的。尺度是自然存在的,不是認(rèn)為創(chuàng)造的,高斯尺度空間只是表現(xiàn)尺度空間的一種形式??偟膩碚f,要滿足視覺不變性。下面我們來看尺度空間如何表示.一幅圖像的尺度空間,定義為具有一個(gè)變化尺度的高斯函數(shù)與原圖像I(x,y)的卷積。指的是尺度空間參數(shù)。接下來要構(gòu)建金字塔,第一步首先利用上述的公式對原圖像進(jìn)行多尺度的高斯模糊,第二部再進(jìn)行采樣后得到一系列多尺度下的高斯金字塔。而且看圖片就可以不難發(fā)現(xiàn)每次濾波的尺度參數(shù)值就是前一個(gè)參數(shù)值的兩倍,而每次采樣時(shí)候我們采納了降采樣,就是個(gè)點(diǎn)采樣一次。它是多尺度的高斯函數(shù)和原圖像卷積后得到的。我們只要看出圖像上的像素點(diǎn)變化情況就可以了,也就是說如果像素值變了就說明那個(gè)像素點(diǎn)和其領(lǐng)域內(nèi)存在特征點(diǎn),如果沒有發(fā)生什么變化,那就說明沒有特征點(diǎn)。使用DoG對LoG金絲帶來的好處是顯而易見的。將圖像金字塔共分O組(Octave),每組共有S層(Level),下一組的圖像由上一組圖像按照隔點(diǎn)降采樣得到,這樣做的目的是為了減少卷積運(yùn)算的工作量。以此類推,能夠得到高斯金字塔對應(yīng)的DoG圖像金字塔。這樣獲取的極值點(diǎn)并不是真正意義上的極值點(diǎn),原因是所得到的極值點(diǎn)畢竟是采樣點(diǎn),所以我們得到的極值點(diǎn)附近肯定存在連續(xù)圖像上的極值點(diǎn)。這樣就很正確的定位特征點(diǎn)的位置。這樣得出來的描述子就可以具備旋轉(zhuǎn)不變性。下面的兩個(gè)式就是(x,y)點(diǎn)地圖的模值和角度(方向)。峰值大小為主峰值的百分之八十的就是該特征點(diǎn)對應(yīng)的輔方向。這樣得到了關(guān)鍵點(diǎn)(特征點(diǎn))的維數(shù)為128維,因?yàn)槊總€(gè)點(diǎn)具有8個(gè)方向信息,那么每個(gè)特征點(diǎn)就對應(yīng)著128維的向量。接下來我們要采用特征點(diǎn)特征向量的歐氏距離來作為兩幅待匹配的圖像中特征點(diǎn)(關(guān)鍵點(diǎn))的相似性進(jìn)行比較。下一步要進(jìn)行匹配,具體的匹配方法在一節(jié)中詳細(xì)介紹。只靠最近鄰次近鄰距離比法確定粗匹配關(guān)系是可以的,而且已經(jīng)有很多經(jīng)典算法問世以后被廣泛利用著。對特征點(diǎn)集進(jìn)行各種計(jì)算的時(shí)候,常常會(huì)用到窮盡搜索、分層搜索、牛頓法、最速下降法、動(dòng)態(tài)規(guī)劃法、遺傳算法、方向加速發(fā)和神經(jīng)網(wǎng)絡(luò)等。根據(jù)左右特征點(diǎn)之間的距離值,從小到大排序。所以我們要用RANSAC算法精確提純數(shù)據(jù)并且計(jì)算正確地模型后,最后要進(jìn)行圖像配準(zhǔn)。在實(shí)驗(yàn)中證實(shí)了這理論。1)RANSAC算法的概述:輸入:包含很多局外點(diǎn)(噪聲,感染。然后用這子集進(jìn)行相關(guān)的擬合來計(jì)算模型參數(shù)(或者估計(jì)函數(shù))。這樣的運(yùn)算進(jìn)行N次,然后進(jìn)行比較,如果第M(MN)次運(yùn)算求出來的模型滿足的觀測數(shù)據(jù)足夠多的話,我們視為最終正確的模型(或者稱之為正確地?cái)M合函數(shù))。這樣可能會(huì)節(jié)約計(jì)算額外參數(shù)的時(shí)間。然而參數(shù)k(迭代次數(shù))可以從理論結(jié)果推斷。 (1 ? w n )k 表示算法永遠(yuǎn)都不會(huì)選擇到n個(gè)點(diǎn)均為局內(nèi)點(diǎn)的概率,它和1p相同。 為了得到更可信的參數(shù),標(biāo)準(zhǔn)偏差或它的乘積可以被加到k上。RANSAC只有一定的概率得到可信的模型,概率與迭代次數(shù)成正 比。所以經(jīng)常在計(jì)算機(jī)視覺方面被廣泛利用,特別是圖像配準(zhǔn)和立體攝像機(jī)內(nèi)外參數(shù)估計(jì)。第三章 基于RANSAC算法的圖像拼接系統(tǒng)設(shè)計(jì)本章將介紹從左右兩個(gè)攝像頭中拍下來的圖片的無縫拼接過程,以及用OpenCV開源庫來設(shè)計(jì)拼接系統(tǒng)的時(shí)候所利用和改進(jìn)的各種算法,以及遇到的困難和克服的方法。他輕量級(jí)而且高效由一系列C函數(shù)和少量C++雷構(gòu)成,同時(shí)提供了Python、Ruby、Matlab等語言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多同用算法。2000年6月,第一個(gè)開源版本OpenCV alpha 3發(fā)布。2009年9月,OpenCV ()發(fā)布。2012年4月2日,發(fā)布OpenCV .OpenCV提供的視覺處理算法非常豐富,并且它部分以C語言編寫,加上其開源的特性,處理得當(dāng),不需要添加新的外部支持也可以完整的編譯鏈接生成執(zhí)行程序,所以很多人用它來做算法的移植,OpenCV的代碼經(jīng)過適當(dāng)改寫可以正常的運(yùn)行在DSP系統(tǒng)和單片機(jī)系統(tǒng)中。第二部:屬性頁下面的VC++里設(shè)置好包含目錄和庫目錄。兩個(gè)攝像頭的像素?cái)?shù)均為2MEGA pixel。CvCapture* cap1;CvCapture* cap2;利用cvCreateCameraCapture函數(shù)從攝像頭讀取每個(gè)幀信息。 圖像變換模型(矩陣)從兩幅圖像的SIFT特征空間中找到包含少量局外點(diǎn)的觀測數(shù)據(jù)(粗匹配的特征匹配對集)中,我們要用變換模型來求出兩幅圖像之間的關(guān)系。這樣,我們能夠?qū)崿F(xiàn)統(tǒng)一視點(diǎn)下的圖像。這矩陣的自由度為3,理論上選擇至少兩隊(duì)點(diǎn)就可以確定H矩陣了。變換矩陣為如下: ()可見,上面的矩陣具有8個(gè)自由度。圖像拼接算法流程如下:右攝像頭左攝像頭圖像預(yù)處理圖像預(yù)處理SIFT特征點(diǎn)提取SIFT特征點(diǎn)提取進(jìn)行特征點(diǎn)匹配 獲取粗匹配后的特征點(diǎn)粗匹配對集利用RANSAC算法進(jìn)行透視矩陣參數(shù)估計(jì)利用求出來的透視矩陣進(jìn)行圖像配準(zhǔn) OpenCV提供了良好的通用算法。利用OpenCV里面的cvtColor函數(shù)來對已采集的兩幅(左右)圖像進(jìn)行預(yù)處理,這兒的預(yù)處理就是把已經(jīng)讀入進(jìn)來的兩幅彩色圖像轉(zhuǎn)換成灰度圖。首先聲明SiftFeatureDetector類的類變量。然后用detector變量的成員函數(shù)detect來檢測第一幅和第二幅圖像的SIFT特征點(diǎn)。用SiftDescriptorExtractor類,聲明extractor變量,然后利用其變量的成員函數(shù)pute進(jìn)行描述符的產(chǎn)生(兩個(gè)圖像的描述字存儲(chǔ)在descriptor1,descriptor1里面)。得到vectorDMatch模板類變量matches。為了讓讀取粗匹配數(shù)據(jù),首先要使用Point2f型變量Point1,Point2存儲(chǔ)matches里的粗匹配對信息。如果其動(dòng)態(tài)為0表示外點(diǎn),如果是1表示內(nèi)點(diǎn)。在這兒不用再敘述。250次反復(fù)進(jìn)行以后根據(jù)滿足模型的內(nèi)點(diǎn)數(shù)來評估模型的好壞程度。如果要能夠順利求解,要進(jìn)行檢查線性方程組系數(shù)矩陣的對角線的元素是否等于零。這樣的錯(cuò)誤可以優(yōu)化代碼來實(shí)現(xiàn),而且已經(jīng)實(shí)現(xiàn)了。前向插值法是一個(gè)點(diǎn)的色度值映射在其映射點(diǎn)周圍四個(gè)點(diǎn)上,這樣就容易消掉線條等不均勻現(xiàn)象。還提出了其實(shí)現(xiàn)過程中遇到的問題以及解決方法。該算法具有很高的標(biāo)定精度和計(jì)算效率、良好的跨平臺(tái)移植性,可以滿足雙目視頻跟蹤系統(tǒng)的需要??臻g中某點(diǎn)的三維坐標(biāo)就是(X/W, Y/W, Z/W)。而立體匹配所做的工作,就是在之前的基礎(chǔ)上,求取最后一個(gè)變量:視差d(這個(gè)d一般需要達(dá)到亞像素精度)。如果按照 Learning OpenCV 的例程,直接通過cvStereoCalibrate來實(shí)現(xiàn)雙目定標(biāo),很容易產(chǎn)生比較大的圖像畸變,邊角處的變形較厲害。點(diǎn)P相對于光心Ol的觀察位置為Pl,相對于光心Or的觀察位置為Pr。注意到平面上任意一點(diǎn)x與點(diǎn)a的連線垂直于平面法向量n,即向量 (xa) 與向量 n 的點(diǎn)積為0:(xa)由Pr = R(PlT) 和 RT=R1 可得:(RTPr)T這樣,我們就得到Essential Matrix:E = RS。由于矩陣E并不包含攝像頭內(nèi)參信息,且E是面向攝像頭坐標(biāo)系的。 qrT(Mr1)TE Ml1ql = 0。這個(gè)其實(shí)我也不是很清楚。這里我和maxwellsdemon討論下來的結(jié)果是,估計(jì)書上Q表達(dá)式里的這個(gè)負(fù)號(hào)就是為了抵消T向量的反方向所設(shè)的,但在實(shí)際寫OpenCV代碼的過程中,卻沒有把這個(gè)負(fù)號(hào)加進(jìn)去。因此, 版中cvStereoRectify新增了4個(gè)參數(shù)用于調(diào)整雙目校正后圖像的顯示效果,分別是 double alpha, CvSize newImgSize, CvRect* roi1, CvRect* roi2。(2)alpha:圖像剪裁系數(shù),取值范圍是0~1。 在實(shí)際測量中,由于攝像頭擺放的關(guān)系,左右攝像頭的f, cx, cy都是不相同的。Alpha取值為1時(shí),OpenCV自動(dòng)進(jìn)行縮放和平移。如果輸入為(0,0),則是與原圖像大小一致。cvStereoRectify 的主要工作就是完成上述操作,校正后的顯示效果如圖14(c) 所示。因此,用作校準(zhǔn)的時(shí)候,要把這個(gè)向量的三個(gè)分量符號(hào)都要換一下,最后求出的距離才會(huì)是正的。并有 qrTFql = 0。在(1)中,pl和pr是像素坐標(biāo)值,假設(shè)對應(yīng)的物理坐標(biāo)值為ql和qr,攝像頭內(nèi)參矩陣為M,則有:p=M1q。進(jìn)一步地,由 pl = fl*Zl/Pl 和 pr = fr*Zr/Pr 我們可以得到點(diǎn)P在左右視圖上的成像pl和pr應(yīng)滿足的極線約束關(guān)系為:(pr)TEpl = 0。另一方面,向量的叉積又可表示為矩陣與向量的乘積,記向量T的矩陣表示為S,得:PlT = SPl。在Ol坐標(biāo)系中,光心Or的位置為T,則P、Ol和Or確定的對極平面可由下式表示:(PlT)T假設(shè)右攝像頭相對于左攝像頭的相對位置關(guān)系由旋轉(zhuǎn)矩陣R和平移向量T表示,則可得:Pr = R(PlT)。這樣定標(biāo)所得參數(shù)才比較準(zhǔn)確,隨后的校正也不會(huì)有明顯的畸變。在清楚了上述原理之后,我們也就知道了,所有的這幾步:標(biāo)定、校準(zhǔn)和匹配,都是圍繞著如何更加精確獲得f、d、Tx、Cx、Cy而設(shè)計(jì)的。如果還需要獲得X坐標(biāo)和Y坐標(biāo)的話,那么還需要額外知道左右像平面的坐標(biāo)系與立體坐標(biāo)系中原點(diǎn)的偏移Cx和Cy。 . 雙攝像頭模型俯視圖, 雙攝像頭模型立體視圖圖1解釋了雙攝像頭測距的原理,書中Z的公式如下: (41) (42) 在OpenCV中,f的量綱是像素點(diǎn),Tx的量綱由定標(biāo)棋盤格的實(shí)際尺寸和用戶輸入值確定,一般總是設(shè)成毫米,d=xlxr的量綱也是像素點(diǎn)。最后著重介紹了本論文所采取的配準(zhǔn)方法。所以,要采取加權(quán)平均算法來解決拼接后容易看出的縫條。所謂的無縫拼接無疑是進(jìn)行插值來消掉線條(圖像變形而導(dǎo)致的)。所以,本人在這問題上,為了能夠進(jìn)行求解,在理論上主對角線上等于零的行跟不為零的行進(jìn)行交換,這樣的交換對整個(gè)計(jì)算過程起不了什么作用,而且這樣求出來的解仍然不失一般性,符合要求的。 用RANSAC算法后的圖像拼接用OpenCV來編程設(shè)計(jì)匹配系統(tǒng)的時(shí)候遇到過的問題以及解決的方法:1. 確保建立的線性方程組系數(shù)矩陣的秩為8.隨機(jī)抽取四對匹配對后建立8元一次線性方程組。隨機(jī)抽取四對匹配點(diǎn)檢查是否存在任意的三個(gè)點(diǎn)共線
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1