本發(fā)明屬于計算機(jī)視覺技術(shù)領(lǐng)域,尤其涉及一種基于鄰域塊匹配提高三維重建點(diǎn)云稠密程度的方法。
背景技術(shù):
基于圖像序列的三維重建涉及很多學(xué)科,屬于相機(jī)成像原理的逆向過程,研究范圍主要包括:物體目標(biāo)識別,特征檢測,特征匹配等領(lǐng)域。三維重建技術(shù)自誕生以來就成為了計算機(jī)視覺領(lǐng)域的熱點(diǎn)與難點(diǎn)之一。其輸入僅需要一般的彩色圖像,普適性高的特點(diǎn)在對真實世界中的物體建模時,提供了無與倫比的便捷。然而,由于三維重建中有太多需要計算測量的參量,因此如何得到高質(zhì)量的重建模型也成為了其難以攻克的難點(diǎn)。通常,三維重建的核心步驟在于如何得到高質(zhì)量的足夠表達(dá)物體模型信息的點(diǎn)云。通常三維重建分為以下兩種類別:(1)基于圖像序列的三維重建方法?;趫D像序列的三維重建方法通過對物體進(jìn)行環(huán)繞拍攝獲取輸入圖像。根據(jù)圖像中檢測到的特征和圖像之間的特征匹配,獲取兩幀之間的相機(jī)變換方式。通過最小化所有圖像相機(jī)位置的誤差最終確定每一幀圖像拍攝時,相機(jī)相對于世界坐標(biāo)系的旋轉(zhuǎn)和平移,根據(jù)這些信息,能夠確定每一個特征點(diǎn)在空間中的真實位置,從而獲取物體的稀疏點(diǎn)云。然后再通過一些點(diǎn)云增長算法增加獲取得到的點(diǎn)云的稠密度。(2)基于深度相機(jī)的三維重建方法?;谏疃认鄼C(jī)的三維重建方法是通過使用深度相機(jī)實時捕獲圖像和深度圖。即對每一幀圖像來說,都能得到該幀每一個像素點(diǎn)在空間中的位置。而隨著相機(jī)的移動,將下一幀的點(diǎn)云不斷與該幀的點(diǎn)云做匹配,檢測兩幀之間相機(jī)位置的移動,把不同幀的點(diǎn)云融合在一起,得到物體的稠密點(diǎn)云。在以上的方法中,基于圖像序列的三維重建具有輸入數(shù)據(jù)易獲得,具有拍攝環(huán)境要求低,魯棒性強(qiáng)的優(yōu)點(diǎn)。但是由于圖像僅僅能提供二維空間的信息,因此在反向求解三維空間坐標(biāo)時,計算中有很多的誤差和噪聲存在,比如很難得到精確的匹配特征點(diǎn)對,使得得到的點(diǎn)云往往質(zhì)量不夠高,導(dǎo)致最終得到的模型效果不盡人意。而基于深度相機(jī)的方法由于獲取的圖像中,每個像素點(diǎn)都可以被當(dāng)作一個特征點(diǎn),因此能夠得到足夠稠密的特征點(diǎn)。但由于其需要高質(zhì)量的深度相機(jī),并且難以應(yīng)付距離較遠(yuǎn)的拍攝,同時目前民用深度相機(jī)最大范圍約在10m左右,因此該方法對拍攝環(huán)境和設(shè)備的要求過高。而基于圖像序列的三維重建不受此限制,只要物體在圖像中呈現(xiàn)出足夠的特征即可。
綜上所述,基于圖像序列的三維重建得到的點(diǎn)云質(zhì)量不夠高,存在較大的誤差;基于深度相機(jī)的方法對拍攝環(huán)境要求過高,需要高質(zhì)量的深度相機(jī),并且難以應(yīng)付距離較遠(yuǎn)的拍攝。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種基于鄰域塊匹配提高三維重建點(diǎn)云稠密程度的方法,旨在解決基于圖像序列的三維重建得到的點(diǎn)云質(zhì)量不夠高;基于深度相機(jī)的方法對拍攝環(huán)境要求過高,需要高質(zhì)量的深度相機(jī),并且難以應(yīng)付距離較遠(yuǎn)的拍攝的問題。
本發(fā)明是這樣實現(xiàn)的,一種基于鄰域塊匹配提高三維重建點(diǎn)云稠密程度的方法,所述基于鄰域塊匹配提高三維重建點(diǎn)云稠密程度的方法包括以下步驟:
步驟一,使用基于圖像序列的三維重建算法得到粗糙且稀疏的物體點(diǎn)云,得到每一幀圖像拍攝時相機(jī)在三維空間中的變換矩陣;
步驟二,再次對原始圖像進(jìn)行處理,使用基于鄰域的塊匹配算法,對圖像中進(jìn)行稠密特征匹配;
步驟三,接下來根據(jù)得到的相機(jī)在空間中的位置,對得到的稠密特征點(diǎn)對進(jìn)行合法性檢驗,并將符合要求的特征點(diǎn)映射到三維點(diǎn)云中對應(yīng)的位置;
步驟四,使用基于物體輪廓的外點(diǎn)刪除算法對得到的點(diǎn)云進(jìn)行一次外點(diǎn)過濾,并進(jìn)行一次顏色重映射,得到最終質(zhì)量遠(yuǎn)好于原始點(diǎn)云的稠密點(diǎn)云。
進(jìn)一步,所述基于鄰域塊匹配提高三維重建點(diǎn)云稠密程度的方法具體包括以下步驟:
第一步,使用繞拍圖像序列進(jìn)行傳統(tǒng)的三維重建;
第二步,選取相鄰的圖像進(jìn)行基于鄰域的塊匹配的稠密特征生成算法,確定鄰域步長n,即每幅圖像會與其左右各兩幅圖像進(jìn)行稠密特征的計算;
第三步,確定相鄰圖像匹配的步長n后,遍歷整個圖像序列,以每一幅圖像為基準(zhǔn)圖像,與其后方的n幀圖像進(jìn)行基于鄰域的塊匹配算法;在原始圖像中,沿行和列方向每隔多少個像素點(diǎn)取一個點(diǎn)作為需要進(jìn)行匹配的特征點(diǎn),用于基于塊匹配的特征計算;
第四步,確定采樣率r后,對于每一對需要進(jìn)行匹配特征的圖像(P1,P2)即得到了需要計算的P1中的匹配點(diǎn)集Pt;遍歷Pt中所有的特征點(diǎn),以每一個特征點(diǎn)為中心,在其周圍選取X*Y大小的圖像塊,使用插值算法將其行列都擴(kuò)充為原先的8倍,記為Isrc;在P2中,以同樣的坐標(biāo)點(diǎn)為中心,選取M*N大小的圖像塊,同樣使用插值算法將其行列都擴(kuò)充為原先的8倍,記為Idist;
第五步,當(dāng)Idist圖像塊大小足夠大時,能夠找到圖像塊Isrc所對應(yīng)的圖像塊Imatch;此時圖像塊Imatch的中心在圖P2中的位置也就是構(gòu)造圖像塊Isrc時所用的特征點(diǎn)在圖像P2上對應(yīng)的匹配點(diǎn);
第六步,完成特征匹配后,得到了需要的圖相對之間的稠密特征對;對于圖像序列中的每一幀,將和它進(jìn)行過特征匹配計算的圖像記作P2;將拍攝P1和P2時的相機(jī)光心位置分別記作C1和C2;遍歷P1的特征點(diǎn)集Pt中所有的特征點(diǎn)的位置,在三維空間中的相平面上找到它所在的位置Pt1;同時找到Pt1在圖像P2上的匹配點(diǎn)在三維空間中相平面上的位置Pt2’;并在三維空間中做射線C1Pt1’以及C2Pt2’。得到射線L1和L2;
第七步,對于得到的射線L1與L2來說,如果匹配點(diǎn)對Pt1與Pt2是正確的匹配點(diǎn),那么L1與L2在空間中應(yīng)該相交在物體模型的對應(yīng)點(diǎn)上;設(shè)置一個閾值T,當(dāng)這兩條異面直線之間的最近點(diǎn)之間的距離小于T時,這一對匹配點(diǎn)是合法的匹配點(diǎn)對;
第八步,對于得到的合法匹配點(diǎn)對,若所做射線L1與L2交于一點(diǎn),則將交點(diǎn)作為新的特征點(diǎn)補(bǔ)充進(jìn)初始點(diǎn)云中;若L1與L2為最近點(diǎn)距離小于閾值T的異面直線;則取L1和L2的最近點(diǎn)對的中點(diǎn)位置作為新的三維點(diǎn)加入初始點(diǎn)云中;
第九步,進(jìn)行基于物體輪廓的雜點(diǎn)濾除,對于每一幀圖像,提取物體輪廓,通過得到的相機(jī)變換矩陣,將點(diǎn)云反投影至三維空間中相平面的位置,將輪廓區(qū)域內(nèi)的點(diǎn)保留;而反投影過后,在任意一幀中,出現(xiàn)在物體輪廓外部的點(diǎn),都將其從點(diǎn)云刪除。
第十步,把點(diǎn)云反投影到每一幀在空間中的相平面,記錄相平面上每一像素點(diǎn)在反投影時距離它最近的點(diǎn)云中的點(diǎn),將圖像上該像素點(diǎn)的像素值賦值給這個離他最近的點(diǎn)云中的點(diǎn),從而完成點(diǎn)云顏色的重映射。
進(jìn)一步,所述相機(jī)變換矩陣包括了相機(jī)光心位置相對于世界坐標(biāo)系原點(diǎn)的旋轉(zhuǎn)和平移即[R|T],其中R為旋轉(zhuǎn)矩陣,T為平移向量。
進(jìn)一步,所述步驟二中使用每兩幀之間旋轉(zhuǎn)5°的拍攝方式,使用的步長為2。
進(jìn)一步,所述步驟三中使用每隔2行2列取一個像素點(diǎn)的采樣率;選取的像素點(diǎn)數(shù)目和算法的時間開銷成正比。
進(jìn)一步,所述步驟四中M和N的值分別需要大于X和Y;使用X,Y為40,M和N為80的參數(shù)設(shè)置。
進(jìn)一步,所述步驟五中,計算位置(x,y)相關(guān)系數(shù)R的公式如下:
其中:
其中,T(x,y)代表圖像Isrc中坐標(biāo)(x,y)位置的像素值,I(x,y)代表圖像Idist中坐標(biāo)(x,y)位置的像素值。w與h分別代表圖像的寬度和高度。
進(jìn)一步,所述步驟六中,在每一幀的相平面上尋找特征點(diǎn)時,需要使用相機(jī)的變換矩陣[R|T],拍照的焦距為f,某一幀F(xiàn)中,特征點(diǎn)的位置在圖像上為(x,y),其旋轉(zhuǎn)平移矩陣為[R|T],則其在世界坐標(biāo)系中的三維坐標(biāo)(X,Y,Z)的計算公式如下:
進(jìn)一步,所述步驟七中,設(shè)置的認(rèn)為兩射線L1與L2合法的閾值為1e-2;
所述步驟八中,參數(shù)k是5;
所述步驟九中,將點(diǎn)云反投影到第i幀的相平面的方法需要使用相機(jī)的變換矩陣[R|T];點(diǎn)云中一點(diǎn)(X,Y,Z),其投影在第i幀中的坐標(biāo)(u,v)的計算公式為:
其中,f為第i幀的焦距;
所述步驟十中,若多個相平面都將其中的某個點(diǎn)的像素映射到點(diǎn)云中的一個點(diǎn)Pt,則Pt的RGB取這幾個平面的對應(yīng)點(diǎn)的像素均值。
本發(fā)明的另一目的在于提供一種應(yīng)用所述基于鄰域塊匹配提高三維重建點(diǎn)云稠密程度的方法的計算機(jī)視覺系統(tǒng)。
本發(fā)明提供的基于鄰域塊匹配提高三維重建點(diǎn)云稠密程度的方法,對于圖像序列沒有特殊要求,對于參數(shù)的調(diào)整沒有過分的依賴,可以極大程度改善點(diǎn)云的質(zhì)量和稠密度。本發(fā)明在基于圖像序列的三維重建的基礎(chǔ)上,對得到的點(diǎn)云進(jìn)行進(jìn)一步的擴(kuò)充,增加其完整度與稠密度。在現(xiàn)有的三維重建獲取稀疏點(diǎn)云的算法基礎(chǔ)上,大幅度增加點(diǎn)云特征,從而提升最終點(diǎn)云結(jié)果的算法。
本發(fā)明相比與基于SIFT特征的三維重建算法,獲得的點(diǎn)云稠密度,完整度,以及顏色還原度都遠(yuǎn)好于普遍的算法。同時,SIFT對于特征比較平滑的區(qū)域很難提取出正確的特征點(diǎn),而本發(fā)明基于快匹配的方法,能夠最大化利用每個像素點(diǎn)周邊鄰域的信息,盡可能的增加正確的特征點(diǎn)。同時,基于已計算的到的相機(jī)變換矩,消除了傳統(tǒng)快匹配算法不夠精確的缺點(diǎn),能夠大量,精確地將缺失或過于稀疏的點(diǎn)云補(bǔ)充成為質(zhì)量較好的點(diǎn)云。
相比基于深度圖像的方法,由于這種方法需要每一幀對應(yīng)的深度圖像,以及相鄰幀之間位移不能過大,所以在無法獲得深度圖的場景很難具有真實的使用價值。目前民用的高分辨率深度相機(jī)往往僅能探測10米以內(nèi)的深度范圍。而激光探測雖然距離足夠,卻達(dá)不到足夠的精度。本發(fā)明只要能夠獲取簡單的圖像,即可實現(xiàn)高質(zhì)量的模型重建,且兩幀之間的位移沒有基于深度圖像的方法所需要的精確,加大了普適性和易用性;使用繞拍圖像進(jìn)行傳統(tǒng)基于SIFT特征的三維重建;確定鄰域匹配步長n;確定采樣步長即需要進(jìn)行匹配的特征點(diǎn);遍歷圖像序列,對需要計算的圖像對進(jìn)行基于鄰域塊匹配的特征提取;基于1中獲取的相機(jī)矩陣和4中得到的匹配特征,對4中的特征進(jìn)行過濾;基于圖像輪廓對空間中的點(diǎn)云再次進(jìn)行濾除以及顏色矯正。本發(fā)明能夠得到質(zhì)量和稠密都遠(yuǎn)高于傳統(tǒng)算法的點(diǎn)云,能夠大幅度改善原始算法的效果,改進(jìn)重建質(zhì)量;是一種普適性高,魯棒性強(qiáng)的改善三維重建最終點(diǎn)云質(zhì)量的方法。
附圖說明
圖1是本發(fā)明實施例提供的基于鄰域塊匹配提高三維重建點(diǎn)云稠密程度的方法流程圖。
圖2是本發(fā)明實施例提供的實施例1的流程圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
下面結(jié)合附圖對本發(fā)明的應(yīng)用原理作詳細(xì)的描述。
如圖1所示,本發(fā)明實施例提供的基于鄰域塊匹配提高三維重建點(diǎn)云稠密程度的方法包括以下步驟:
S101:使用傳統(tǒng)的基于圖像序列的三維重建算法得到粗糙且稀疏的物體點(diǎn)云,得到每一幀圖像拍攝時相機(jī)在三維空間中的變換矩陣;
S102:再次對原始圖像進(jìn)行處理,使用基于鄰域的塊匹配算法,對圖像中進(jìn)行稠密特征匹配,該特征匹配的方法能夠得到足夠稠密,但精度較低的匹配特征對;
S103:接下來根據(jù)得到的相機(jī)在空間中的位置,對得到的稠密特征點(diǎn)對進(jìn)行合法性檢驗,并將符合要求的特征點(diǎn)映射到三維點(diǎn)云中對應(yīng)的位置;
S104:使用基于物體輪廓的外點(diǎn)刪除算法對得到的點(diǎn)云進(jìn)行一次外點(diǎn)過濾,并進(jìn)行一次顏色重映射,得到最終質(zhì)量遠(yuǎn)好于原始點(diǎn)云的稠密點(diǎn)云。
下面結(jié)合具體實施例對本發(fā)明的應(yīng)用原理作進(jìn)一步的描述。
實施例1:
本發(fā)明實施例提供的基于鄰域塊匹配提高三維重建點(diǎn)云稠密程度的方法包括以下步驟:
步驟1:對目標(biāo)物體進(jìn)行環(huán)繞拍攝,獲取各個角度的圖像。
步驟2:使用傳統(tǒng)的基于SIFT特征匹配算法的三維重建方法進(jìn)行重建,獲取每一幀拍攝時的相機(jī)旋轉(zhuǎn)矩陣。
步驟3:確定進(jìn)行圖像匹配的步長,并使用基于鄰域塊匹配的特征匹配算法,提取稠密的匹配特征點(diǎn)。特征點(diǎn)提取公式在S5的說明中有詳細(xì)描述。
步驟4:獲取稠密的匹配特征點(diǎn)后,在三維空間中對其進(jìn)行合法性的檢驗,將不滿足閾值條件的特征點(diǎn)從點(diǎn)集中刪除,符合閾值條件的計算其在空間中的真實位置。
步驟5:將步驟4中所有的合法點(diǎn)云加入原有點(diǎn)云中,提升原有點(diǎn)云的稠密度和完整度。
步驟6:進(jìn)行基于輪廓的雜點(diǎn)濾除算法和顏色矯正算法,以濾去少量存在的錯點(diǎn),并修正擴(kuò)充的點(diǎn)云的顏色,從而完成整個算法流程。
依據(jù)以上步驟最終得到更加稠密完整的高質(zhì)量點(diǎn)云。
本發(fā)明實施例提供的基于鄰域塊匹配提高三維重建點(diǎn)云稠密程度的方法具體包括以下步驟:
S1使用繞拍圖像序列進(jìn)行傳統(tǒng)的三維重建,由于傳統(tǒng)的三維重建基于SIFT特征算法,而SIFT準(zhǔn)確度較高,能夠進(jìn)行亞像素級別的特征提取,故能夠得到準(zhǔn)確的三維空間中相機(jī)位置的變換矩陣。
S2選取相鄰的圖像進(jìn)行基于鄰域的塊匹配的稠密特征生成算法。首先,確定鄰域步長n,即每幅圖像會與其左右各兩幅圖像進(jìn)行稠密特征的計算。
S3確定相鄰圖像匹配的步長n后,遍歷整個圖像序列,以每一幅圖像為基準(zhǔn)圖像,與其后方的n幀圖像進(jìn)行基于鄰域的塊匹配算法。該算法首先需要確定采樣率r,即在原始圖像中,沿行和列方向每隔多少個像素點(diǎn)取一個點(diǎn)作為需要進(jìn)行匹配的特征點(diǎn),用于基于塊匹配的特征計算。
S4確定采樣率r后,對于每一對需要進(jìn)行匹配特征的圖像(P1,P2)即得到了需要計算的P1中的匹配點(diǎn)集Pt。遍歷Pt中所有的特征點(diǎn),以每一個特征點(diǎn)為中心,在其周圍選取X*Y大小的圖像塊,使用插值算法將其行列都擴(kuò)充為原先的8倍,記為Isrc。在P2中,以同樣的坐標(biāo)點(diǎn)為中心,選取M*N大小的圖像塊,同樣使用插值算法將其行列都擴(kuò)充為原先的8倍,記為Idist。
S5基于假設(shè),認(rèn)為當(dāng)相機(jī)在對圖像進(jìn)行環(huán)繞拍攝時,相鄰兩幀之間的運(yùn)動幅度很小。故在S4中,當(dāng)Idist圖像塊大小足夠大時,能夠在其中找到圖像塊Isrc所對應(yīng)的圖像塊Imatch。而此時圖像塊Imatch的中心在圖P2中的位置也就是構(gòu)造圖像塊Isrc時所用的特征點(diǎn)在圖像P2上對應(yīng)的匹配點(diǎn),由于之前的插值工作,最終進(jìn)行的塊匹配的精度是1/8像素。
S6完成S5中的特征匹配后,得到了需要的圖相對之間的稠密特征對。但由于物體在兩幅圖像之間由于拍照角度的變化,只能做到在Idist中尋找盡可能接近Isrc的圖像塊。因此,這樣提取出來的特征匹配對有較大的噪聲,需要進(jìn)一步處理。在S1中,得到了拍攝圖像每一幀時相機(jī)在三維空間中的位置。在S5中,得到了圖像對之間的匹配特征點(diǎn)對。對于圖像序列中的每一幀,以P1為例,將和它進(jìn)行過特征匹配計算的圖像記作P2。將拍攝P1和P2時的相機(jī)光心位置分別記作C1和C2。遍歷P1的特征點(diǎn)集Pt中所有的特征點(diǎn)的位置,以點(diǎn)Pt1為例,在三維空間中的相平面上找到它所在的位置Pt1’。同時找到Pt1在圖像P2上的匹配點(diǎn)在三維空間中相平面上的位置Pt2’。并在三維空間中做射線C1Pt1’以及C2Pt2’。得到射線L1和L2。
S7對于S6中得到的射線L1與L2來說,如果匹配點(diǎn)對Pt1與Pt2是正確的匹配點(diǎn),那么L1與L2在空間中應(yīng)該相交在物體模型的對應(yīng)點(diǎn)上。然而,由于計算中引入的各種誤差和浮點(diǎn)計算的固有誤差,很難找到真正交于一點(diǎn)的情況。因此,在大多數(shù)情況中,L1與L2是兩條異面直線,而算法中會設(shè)置一個閾值T,當(dāng)這兩條異面直線之間的最近點(diǎn)之間的距離小于T時,就認(rèn)為這一對匹配點(diǎn)是合法的匹配點(diǎn)對。
S8對于S7中得到的合法匹配點(diǎn)對,若所做射線L1與L2交于一點(diǎn),則將交點(diǎn)作為新的特征點(diǎn)補(bǔ)充進(jìn)初始點(diǎn)云中。若L1與L2為最近點(diǎn)距離小于閾值T的異面直線。則取L1和L2的最近點(diǎn)對的中點(diǎn)位置作為新的三維點(diǎn)加入初始點(diǎn)云中。新補(bǔ)充進(jìn)三維點(diǎn)云中的點(diǎn),以其周圍距離最近的k個點(diǎn)色彩的均值作為新點(diǎn)的顏色。這樣得到的點(diǎn)云顏色是有誤差的,具體修正方法見S10。
S9在S8中得到的結(jié)果雖然已經(jīng)濾去了絕大多數(shù)的錯誤匹配點(diǎn),但是仍然有小部分匹配點(diǎn)存在著誤差,因此對其進(jìn)行基于物體輪廓的雜點(diǎn)濾除。對于每一幀圖像,提取物體輪廓。通過S1中得到的相機(jī)變換矩陣,可以將點(diǎn)云反投影至三維空間中相平面的位置。在此之后,將輪廓區(qū)域內(nèi)的點(diǎn)保留。而反投影過后,在任意一幀中,出現(xiàn)在物體輪廓外部的點(diǎn),都將其從點(diǎn)云刪除。
S10目前新增加的點(diǎn)云的顏色還是有誤差的,再次通過S9中的方法把點(diǎn)云反投影到每一幀在空間中的相平面。記錄相平面上每一像素點(diǎn)在反投影時距離它最近的點(diǎn)云中的點(diǎn)。將圖像上該像素點(diǎn)的像素值賦值給這個離他最近的點(diǎn)云中的點(diǎn),從而完成點(diǎn)云顏色的重映射。
所述步驟S1中得到的相機(jī)變換矩陣包括了相機(jī)光心位置相對于世界坐標(biāo)系原點(diǎn)的旋轉(zhuǎn)和平移即[R|T],其中R為旋轉(zhuǎn)矩陣,T為平移向量。
所述步驟S2中選取的匹配步長最大值視相機(jī)拍攝過程中運(yùn)動的幅度大小而定。在本算法中,使用了每兩幀之間旋轉(zhuǎn)5°的拍攝方式,使用的步長為2。每兩幀之間的變化幅度越大,則相應(yīng)的步長應(yīng)該越小,反之亦然。
所述步驟S3中的采樣率會影響最終生成的匹配點(diǎn)的個數(shù)。在本方法中,使用了每隔2行2列取一個像素點(diǎn)的采樣率。選取的像素點(diǎn)數(shù)目和算法的時間開銷成正比。
所述步驟S4中M和N的值分別需要大于X和Y。在算法實驗中,使用了X,Y為40,M和N為80的參數(shù)設(shè)置。
所述S5步驟中,在Idist中尋找圖像塊Isrc使用了基于相關(guān)系數(shù)的圖像匹配算法。即將圖像塊Isrc在圖像塊Idist上從左至右,從上至下移動,計算每一個位置Isrc與其覆蓋的Idist的區(qū)域的圖像塊的相關(guān)系數(shù)R,并選取相關(guān)系數(shù)最大的位置中Isrc所覆蓋的區(qū)域,作為圖像塊Imatch。在滑動Isrc的過程中,將Isrc左上角在Idist中的坐標(biāo)(x,y)記為當(dāng)前位置的坐標(biāo)。計算位置(x,y)相關(guān)系數(shù)R的公式如下:
其中:
其中,T(x,y)代表圖像Isrc中坐標(biāo)(x,y)位置的像素值,I(x,y)代表圖像Idist中坐標(biāo)(x,y)位置的像素值。w與h分別代表圖像的寬度和高度。
步驟S6中,在每一幀的相平面上尋找特征點(diǎn)時,需要使用相機(jī)的變換矩陣[R|T]。具體公式如下,假設(shè)拍照的焦距為f,某一幀F(xiàn)中,特征點(diǎn)的位置在圖像上為(x,y),其旋轉(zhuǎn)平移矩陣為[R|T],則其在世界坐標(biāo)系中的三維坐標(biāo)計算公式如下:
步驟S7中,在試驗中設(shè)置的認(rèn)為兩射線L1與L2合法的閾值為1e-2。
步驟S8中,對于參數(shù)k的選取,在試驗中使用的是5。
步驟S9中,將點(diǎn)云反投影到第i幀的相平面的方法需要使用相機(jī)的變換矩陣[R|T]。假設(shè)點(diǎn)云中一點(diǎn)(X,Y,Z),其投影在第i幀中的坐標(biāo)(u,v)的計算公式為:
其中,f為第i幀的焦距。
步驟S10中,若多個相平面都將其中的某個點(diǎn)的像素映射到點(diǎn)云中的一個點(diǎn)Pt,則Pt的RGB取這幾個平面的對應(yīng)點(diǎn)的像素均值。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。