一種基于surf算法的圖像拼接方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及一種圖像拼接方法,涉及圖像處理技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 現(xiàn)有的圖像拼接方法一般采用SIF T算法和H a r r i S角點(diǎn)算法,采用SIF T算法和 Harris角點(diǎn)算法存在特征點(diǎn)提取速度慢,而且魯棒性低。尤其是在圖像中存在尺度變換、視 角變換、光照變化時(shí),圖像拼接處理效果不理想。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的是提供一種基于SURF算法的圖像拼接方法,以解決采用SIFT算法和 Harris角點(diǎn)算法存在特征點(diǎn)提取速度慢,而且魯棒性低,致使圖像拼接處理效果不理想的 問題。
[0004] 本發(fā)明為解決上述技術(shù)問題采取的技術(shù)方案是:
[0005] -種基于SURF算法的圖像拼接方法,所述方法的實(shí)現(xiàn)過程為:
[0006]步驟一:應(yīng)用Mat lab對(duì)工業(yè)攝像頭進(jìn)彳丁驅(qū)動(dòng),完成攝像頭的標(biāo)定,以使用攝像頭進(jìn) 行視頻錄制;
[0007] 步驟二:應(yīng)用灰色世界法,對(duì)所錄制視頻中每一幀的圖像進(jìn)行白平衡的調(diào)節(jié);
[0008] 步驟三:應(yīng)用SURF算法,對(duì)白平衡調(diào)節(jié)后的同時(shí)刻錄制的兩張照片進(jìn)行特征點(diǎn)提 ??;
[0009] 步驟四:應(yīng)用RANSAC算法,將已經(jīng)標(biāo)出特征點(diǎn)的兩張圖像進(jìn)行誤匹配特征點(diǎn)對(duì)剔 除;
[0010]步驟五:采用插值運(yùn)算,將經(jīng)RANSAC算法處理后的圖像拼接在一起,完成圖像拼 接,獲得視角更大的圖像。
[0011] 步驟一中,在應(yīng)用攝像頭進(jìn)行視頻錄制時(shí),利用多媒體移動(dòng)采集平臺(tái);所述多媒體 移動(dòng)采集平臺(tái)用于同時(shí)承載充電電池、電腦、工業(yè)攝像頭,以實(shí)現(xiàn)攝像頭邊錄制邊移動(dòng)。
[0012] 步驟三中,應(yīng)用SURF算法進(jìn)行特征點(diǎn)提取的過程為:
[0013] 第一步、特征點(diǎn)檢測:
[0014]利用盒子濾波器對(duì)白平衡調(diào)節(jié)后的同時(shí)刻錄制的兩張圖像進(jìn)行卷積,通過改變盒 子濾波器的大小,用不同大小的濾波器在所述兩張圖像的x,y,z三個(gè)方向上作卷積,形成多 尺度空間函數(shù)Dxx,D yy,Dxy,構(gòu)建尺度空間金字塔;
[0015] det Η的含義是Hessian矩陣的行列式,通過下式計(jì)算
[0016] det H=LxxXLyy-Lxy2;
[0017] 在尺度空間金字塔構(gòu)建完畢后,通過下式近似代替det H,
[0018] det H=DxxXDyy-(0.9XDxy)2
[0019] 求取某一特定尺度下的局部極值;在得到局部極值后,需要對(duì)它們在3 X 3 X 3的立 體鄰域內(nèi)進(jìn)行非極大值抑制,把符合條件的點(diǎn)篩選為候選極值點(diǎn),同時(shí)記下位置和尺寸,完 成特征點(diǎn)檢測;
[0020]第二步、特征點(diǎn)描述:
[0021 ]在確定特征點(diǎn)位置之后,利用haar小波對(duì)特征點(diǎn)進(jìn)行主方向的確定以保證特征點(diǎn) 的旋轉(zhuǎn)和尺度不變性,在完成haar小波主方向確定之后,以特征點(diǎn)為中心,將坐標(biāo)軸旋轉(zhuǎn)到 haar小波主方向上,做一個(gè)邊長為20〇的正方形窗口,σ為高斯濾波器的尺度,并將窗口劃分 為16個(gè)大小為5〇X5〇的子窗口區(qū)域;
[0022]以采樣間隔〇,分別計(jì)算每個(gè)子窗口水平和垂直方向上的小波響應(yīng),得到的小波系 數(shù)記為dx和dy;然后對(duì)響應(yīng)系數(shù)求和得到Σ(1Χ和Σ4,再求取響應(yīng)系數(shù)絕對(duì)值之和得到Σ |dx 和Σ |dy| ;因此,每個(gè)子窗口都能夠得到一個(gè)4維向量ν=[ Σ(1Χ,2dy,Σ |dx|,Σ |dy| ],并且 用這個(gè)向量來描述該特征點(diǎn);
[0023]第三步、特征點(diǎn)匹配:
[0024] 完成特征點(diǎn)描述后進(jìn)行特征匹配,特征匹配是指在高維向量空間中尋找出最相似 的特征向量;
[0025] 根據(jù)特征向量之間的歐式距離來衡量特征點(diǎn)的相似度,選取一張圖像中的一個(gè)特 征點(diǎn)與別一張圖像中所有特征點(diǎn)分別求取歐式距離,從中選出最近鄰特征點(diǎn)歐式距離和次 近鄰特征點(diǎn)歐式距離,計(jì)算二者的比值ratio;
[0026] 對(duì)于比值ratio小于某閾值的特征點(diǎn),則認(rèn)為是正確匹配的特征點(diǎn),否則是錯(cuò)誤匹 配的特征點(diǎn),將正確匹配的特征點(diǎn)進(jìn)行連接,
[0027]
(1)
[0028]步驟三中,使用RANSAC算法剔除匹配質(zhì)量較差的點(diǎn)的具體過程為:
[0029] (1)從正確匹配的特征點(diǎn)對(duì)中隨機(jī)選擇m對(duì)特征點(diǎn)來求解單應(yīng)性矩陣模型Hcur;
[0030] (2)將除上述m對(duì)特征點(diǎn)以外的其他特征點(diǎn)對(duì)利用H?r計(jì)算其對(duì)稱變換誤差di,統(tǒng) 計(jì)誤差cU〈T_di St的內(nèi)點(diǎn)的個(gè)數(shù)M;T_dist為指定的一個(gè)閾值,用于表示歐式距離;
[0031] (3)若M>M_inlier,或者M(jìn)=M_inlier,則認(rèn)為Hcur是當(dāng)前最好的模型,并且保存內(nèi) 點(diǎn)M;
[0032] M_inlier為指定的一個(gè)閾值,表示符合單應(yīng)性矩陣模型Hcur的內(nèi)點(diǎn)的個(gè)數(shù);
[0033] (4)利用式(2)計(jì)算循環(huán)次數(shù)N,步驟(1)~(3)執(zhí)行N次,當(dāng)循環(huán)結(jié)束時(shí),得到Μ最大 的對(duì)應(yīng)的單應(yīng)性矩陣模型,得到最優(yōu)的模型矩陣;
[0034]
[0035] 其中ε為外點(diǎn)所占的比例,Ρ表示置信概率。
[0036]置信概率Ρ取值為0.99、m取值為大于或等于4、公式(1)中閾值取0.7時(shí)為最佳的選 擇。
[0037]本發(fā)明的有益效果是:
[0038]利用本發(fā)明方法進(jìn)行圖像拼接時(shí),拼接速度快,魯棒性好,受圖像的尺度變換、視 角變換、光照變化等影響較小,拼接效果好。在工業(yè)攝像頭平臺(tái)下采用灰色世界法(圖象預(yù) 處理)、SURF算法、RANSAC算法,并且使用插值來對(duì)圖像進(jìn)行處理。
[0039] 本發(fā)明解決了在工業(yè)攝像頭平臺(tái)下將攝像頭驅(qū)動(dòng),應(yīng)用灰色世界法對(duì)所拍攝照片 進(jìn)行白平衡處理,并且將相互有重疊的兩幅圖片快速、高效地拼接成大視角、高分辨率無縫 的圖像的問題。本發(fā)明依次采用了 SURF算法、RANSAC算法對(duì)圖像進(jìn)行處理。本發(fā)明尤其是適 用于工業(yè)攝像頭平臺(tái)下的圖像拼接。
【附圖說明】
[0040] 圖1是本發(fā)明中多媒體移動(dòng)采集平臺(tái)的結(jié)構(gòu)示意圖,圖中:1_滑輪、2-底板、3-立 桿、4-攝像頭安裝件、5-抽屜,抽屜5上部用于承載電腦、雷達(dá)等,平臺(tái)下部可以承載電池等; 圖2是白平衡處理前的圖像,圖3是白平衡處理后的圖像,圖4是利用SURF算法特征匹配結(jié)果 圖,圖5是利用RANSAC算法進(jìn)憲剔除誤匹配的結(jié)果圖,圖6是基于本發(fā)明方法進(jìn)行圖像拼接 的結(jié)果圖。
【具體實(shí)施方式】
【具體實(shí)施方式】 [0041] 一:本實(shí)施方式所述的一種基于SURF算法的圖像拼接方法,所述方 法的實(shí)現(xiàn)過程為:
[0042]步驟一:應(yīng)用Mat lab對(duì)工業(yè)攝像頭進(jìn)彳丁驅(qū)動(dòng),完成攝像頭的標(biāo)定,以使用攝像頭進(jìn) 行視頻錄制;
[0043]步驟二:應(yīng)用灰色世界法,對(duì)所錄制視頻中每一幀的圖像進(jìn)行白平衡的調(diào)節(jié);
[0044]步驟三:應(yīng)用SURF算法,對(duì)白平衡調(diào)節(jié)后的同時(shí)刻錄制的兩張照片進(jìn)行特征點(diǎn)提 ??;
[0045] 步驟四:應(yīng)用RANSAC算法,將已經(jīng)標(biāo)出特征點(diǎn)的兩張圖像進(jìn)行誤匹配特征點(diǎn)對(duì)剔 除;
[0046]步驟五:采用插值運(yùn)算,將經(jīng)RANSAC算法處理后的圖像拼接在一起,完成圖像拼 接,獲得視角更大的圖像。
[0047] 針對(duì)上述實(shí)施方式中出現(xiàn)的技術(shù)手段進(jìn)行如下闡述:
[0048] 1多媒體移動(dòng)采集平臺(tái):設(shè)計(jì)一個(gè)多媒體移動(dòng)圖像采集設(shè)備并制作。設(shè)備設(shè)計(jì)圖 如圖1所示,小車下部可以承載充電電池,上部可以承載筆記本電腦、工業(yè)攝像頭、以及西科 激光雷達(dá),利用人眼惰性的原理,將拍攝到的照片一幀幀播放形成視頻,從而實(shí)現(xiàn)邊錄制邊 移動(dòng)的功能。
[0049] 2攝像頭標(biāo)定:用于獲得攝像頭的焦距,主點(diǎn)坐標(biāo),像素等內(nèi)部參數(shù)。攝像頭標(biāo)定 所利用的原理是用攝像機(jī)拍攝到的圖像來還原空間物體,找到三維世界和二維圖形之間的 映射關(guān)系。在這里,可以假設(shè)攝像機(jī)拍攝的圖像與三維空間中的物體之間存在一種簡單的 線性關(guān)系,即[像]=M[像]。這里,矩陣Μ可以看成是攝像機(jī)成像的幾何模型.Μ中的參數(shù)就是 攝像機(jī)參數(shù)。通常,這些參數(shù)是要通過實(shí)驗(yàn)與計(jì)算來得到的,這個(gè)求解參數(shù)的過程就稱為攝 像機(jī)標(biāo)定。
[0050] 3 SURF特征的提取:SURF特征提取的第一步是尺度空間極值檢測,SURF在進(jìn)行特 征點(diǎn)極值檢測時(shí)需要先構(gòu)建尺度空間金字塔并且確定候選極值點(diǎn)。進(jìn)行多尺度空間構(gòu)建 時(shí),SURF算法使用的是盒子濾波器,并且在進(jìn)行圖像卷積的過程中應(yīng)用了積分圖像的技巧。 通過改變盒子濾波器的大小,用不同大小的濾波器在原始圖像的x,y,z三個(gè)方向上做卷積, 即可形成多尺度空間函數(shù)〇^,〇",〇^構(gòu)建尺度空間金字塔。在尺度空間金字塔構(gòu)建完畢 后,需要求取某一特定尺度下的局部極值。在得到局部極值后,需要對(duì)它們在3 X 3 X 3的立 體鄰域內(nèi)進(jìn)行非極大值抑制,把符合條件的點(diǎn)篩選為候選極值點(diǎn),同時(shí)記下位置和尺寸。在 確定特征點(diǎn)位置之后,為了保證特征點(diǎn)的旋轉(zhuǎn)和尺度不變性,需要利用haar小波對(duì)特征點(diǎn) 進(jìn)行主方向的確定。
[0051 ]在檢測到SURF特征之后,接下來要做的就是進(jìn)行特征匹配。特征匹配是指在高維 向量空間中尋找出最相似的特征向量。特征點(diǎn)的相似度是根據(jù)特征向量之間的歐式距離來 衡量的。基于最近鄰與次近鄰比的特征點(diǎn)匹配方法是指在圖像的樣本特征點(diǎn)中,尋找與它 距離最近和次近的特征點(diǎn),然后計(jì)算這兩個(gè)特征點(diǎn)與樣本點(diǎn)之間歐式距離的比值。對(duì)于比 值小于某閾值的特征點(diǎn),則認(rèn)為是正確匹配的特征點(diǎn),否則是錯(cuò)誤匹配的特征點(diǎn)。公式(1) 如下:
[0052]
(3)
[0053]經(jīng)大量實(shí)驗(yàn)證明閾值為0.7時(shí)為最佳的選擇。
[0054] 4 RANSAC算法:由于特征點(diǎn)提取時(shí)存在一定的精度誤差,提取出的特征點(diǎn)會(huì)比求 解方程式所需的多很多。另外,自動(dòng)提取和匹配得到的匹配點(diǎn)集中也難免存在一些誤匹配 點(diǎn),因此需要一種容錯(cuò)能力很強(qiáng)的算法來優(yōu)化匹配點(diǎn)集。本文使用RANSAC算法剔除匹配質(zhì) 量較差的點(diǎn)。RANSAC算法要求在一定的置信概