本發(fā)明涉及影像密集匹配技術(shù),特別是一種基于光流模型的視頻衛(wèi)星影像密集匹配方法及系統(tǒng)。
背景技術(shù):
經(jīng)過30多年發(fā)展,我國航天技術(shù)取得了巨大進(jìn)步,已形成資源、氣象、海洋、環(huán)境、國防系列等構(gòu)成的對地觀測遙感衛(wèi)星體系。特別是在“高分辨率對地觀測系統(tǒng)”國家科技重大專項建設(shè)的推動下,通過在平臺傳感器研制、多星組網(wǎng)、地面數(shù)據(jù)處理等方面的創(chuàng)新,我國遙感衛(wèi)星的空間分辨率、時間分辨率、數(shù)據(jù)質(zhì)量大幅提升,為我國現(xiàn)代農(nóng)業(yè)、防災(zāi)減災(zāi)、資源環(huán)境、公共安全等重要領(lǐng)域提供了信息服務(wù)和決策支持。隨著遙感應(yīng)用的深入,應(yīng)用需求已從定期的靜態(tài)普查向?qū)崟r動態(tài)監(jiān)測方向發(fā)展,利用衛(wèi)星對全球熱點(diǎn)區(qū)域和目標(biāo)進(jìn)行持續(xù)監(jiān)測,獲取動態(tài)信息已經(jīng)成為迫切需求。由于視頻衛(wèi)星可獲得一定時間范圍內(nèi)目標(biāo)的時序影像,具備了對運(yùn)動目標(biāo)的持續(xù)監(jiān)視能力,視頻衛(wèi)星成像技術(shù)已成為遙感衛(wèi)星發(fā)展的一大熱點(diǎn)。
影像密集匹配在機(jī)器人視覺、視頻監(jiān)控、導(dǎo)彈制導(dǎo)、無人機(jī)偵察等許多領(lǐng)域中都得到了廣泛應(yīng)用,是模式識別與計算機(jī)視覺中的研究熱點(diǎn)。使用視頻衛(wèi)星影像進(jìn)行密集匹配技術(shù)是一個對精度和實(shí)時性都要求較高的高科學(xué)技術(shù),盡管人們對它的研究已經(jīng)取得了不錯的成績,但是在很多性能指標(biāo)上仍然有待提高。在自然場景不斷變化時,從三維世界空間投影到二維圖像空間會造成目標(biāo)信息丟失,因此設(shè)計一個魯棒的密集匹配方法是非常困難的。因此,如何提高密集匹配方法的適應(yīng)性,滿足對精度和實(shí)時性的要求,對保障視頻衛(wèi)星在動態(tài)觀測領(lǐng)域的應(yīng)用效果具有十分重要的意義。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種基于光流模型的視頻衛(wèi)星影像密集匹配方法及系統(tǒng),本發(fā)明可實(shí)現(xiàn)高精度和高可靠性的匹配。
本發(fā)明思路為:
結(jié)合sgm粗匹配策略和pmvs精匹配方法,利用視頻衛(wèi)星影像多幀影像間的幾何關(guān)系,使用光流模型對匹配過程進(jìn)行約束。
本發(fā)明的技術(shù)方案為:
一、基于光流模型的視頻衛(wèi)星影像密集匹配方法,包括:
步驟1,采用sgm匹配法對視頻衛(wèi)星影像進(jìn)行粗匹配,本步驟進(jìn)一步包括:
1.1對視頻衛(wèi)星影像逐像素視差計算得到視差影像;
1.2計算各像素的最小視差路徑,即各像素的正確匹配,以此作為二維約束匹配;
1.3在子步驟1.2所得二維約束匹配下,對子步驟1.1所得視差影像進(jìn)行sgm匹配,完成視頻衛(wèi)星影像左右影像同名點(diǎn)的匹配,獲得匹配點(diǎn);
步驟2,采用pmvs匹配法對視頻衛(wèi)星影像進(jìn)行精匹配,本步驟進(jìn)一步包括:
2.1對影像劃分格網(wǎng),在各格網(wǎng)的匹配點(diǎn)中選取興趣值為局部極大值的點(diǎn)作為特征點(diǎn);
2.2將視頻衛(wèi)星影像中各影像輪流作為參考影像,其他影像中選出主光軸與參考影像間夾角小于60°的影像,記為計算影像,基于特征點(diǎn)將參考影像分別與計算影像匹配,并生成種子patch集合;
2.3判斷種子patch的鄰域中是否存在與種子patch距離小于一個像素的patch或已存在平均相關(guān)系數(shù)大于閾值的patch,若有,則不向鄰域擴(kuò)散,對下一種子patch執(zhí)行本步驟;否則,將種子patch向種子patch的鄰域擴(kuò)散;采用擴(kuò)散后的新patch對參考影像和計算影像進(jìn)行匹配;所述的閾值為經(jīng)驗值;
步驟3,采用光流法精化步驟2的匹配結(jié)果,本步驟進(jìn)一步包括:
3.1構(gòu)建相鄰兩幀影像間的光流方程:
其中,vx和vy分別表示x和y方向上的光流向量;q1,q2,…,qn表示特征點(diǎn)(x,y)鄰域內(nèi)的像素點(diǎn);ix(q1)、ix(q2)、……ix(qn)表示第t幀影像上像素點(diǎn)q1,q2,…,qn的灰度值在x方向上的偏導(dǎo)數(shù);iy(q1)、iy(q2)、……iy(qn)表示第t幀影像上像素點(diǎn)q1,q2,…,qn的灰度值在y方向上的偏導(dǎo)數(shù);it(q1)、it(q2)、……it(qn)表示第t幀影像上像素點(diǎn)q1,q2,…,qn的灰度值關(guān)于時間t的偏導(dǎo)數(shù);
3.2對各影像,基于光流方程分別迭代計算其與相鄰影像各匹配點(diǎn)間的光流向量;
3.3計算各光流向量的模長d(vt),統(tǒng)計影像上所有光流向量的模長的中誤差,設(shè)閾值w為三倍中誤差,將所有誤差大于閾值w的匹配點(diǎn)作為粗差剔除。
步驟1.1具體為:
分別計算p′i和其左臨近點(diǎn)p′i-1、右臨近點(diǎn)p′i+1的中點(diǎn)的灰度值
其中,pi和p′i分別表示左右掃描線上的像素,il(pi)表示左掃描線上點(diǎn)pi處的灰度,ir(p′i)表示經(jīng)過右掃描線上對采樣點(diǎn)線性內(nèi)插得到的p′i的灰度值。
步驟1.2具體為:
對各像素p,在其周圍設(shè)置若干方向的路徑,分別計算各路徑上的視差路徑,若干路徑的視差路徑之和為各像素p的視差路徑,以最小的視差路徑作為各像素p的正確匹配。
步驟1.3具體為:
1.3a在半分辨率下進(jìn)行sgm匹配,獲得匹配后的視差影像;
1.3b提高分辨率,在當(dāng)前分辨率下對當(dāng)前視差影像進(jìn)行sgm匹配;
1.3c不斷提高分辨率,并重復(fù)步驟(2)直至分辨率達(dá)到原始分辨率。
步驟1還包括剔除誤匹配的步驟,具體為:
利用右影像中同名點(diǎn)匹配左影像中同名點(diǎn),如果兩次匹配得到的視差不同,則該同名點(diǎn)視為無效匹配并剔除。
步驟2.2具體為:
2.2a對參考影像上各特征點(diǎn)f,尋找其在計算影像上的候選匹配點(diǎn)f′;
2.2b每一對(f,f′)前方交會獲得模型點(diǎn),計算各模型點(diǎn)與參考影像攝像機(jī)中心的距離,按距離由近到遠(yuǎn)對模型點(diǎn)排序,參考影像攝像機(jī)后文簡記為參考相機(jī);
2.2c按模型點(diǎn)排序順序,取模型點(diǎn)輪流初始化匹配面元patch的中心c(p),patch的一條邊與參考相機(jī)的x軸平行,patch的單位法向量n(p)為由中心c(p)指向參考相機(jī)中心的單位向量;初始化后的patch應(yīng)符合要求:n(p)和patch所在光線的夾角小于60度,且patch投影到計算影像和參考影像之間的相關(guān)系數(shù)大于預(yù)設(shè)的第一相關(guān)系數(shù)閾值;若不符合要求,該模型點(diǎn)失效,取下一個模型點(diǎn)重新執(zhí)行本步驟;否則,執(zhí)行步驟2.2d;第一相關(guān)系數(shù)閾值為經(jīng)驗值;
2.2d優(yōu)化patch的中心坐標(biāo)和單位法向量,使patch投影到各計算影像和參考影像之間的相關(guān)系數(shù)的平均值最大;若優(yōu)化后,patch的平均相關(guān)系數(shù)大于第一相關(guān)系數(shù)閾值,則認(rèn)為成功生成patch,將所有影像劃分格網(wǎng),將patch投影到影像,記錄patch所在格網(wǎng)的坐標(biāo),同時去掉patch所在格網(wǎng)中所有特征點(diǎn),考慮下一個模型點(diǎn),重新執(zhí)行步驟2.2c;否則放棄該patch,考慮下一個模型點(diǎn)重新執(zhí)行步驟2.2c。
7、如權(quán)利要求1所述的基于光流模型的視頻衛(wèi)星影像密集匹配方法,其特征是:
步驟2.3中所述的采用擴(kuò)散后的新patch對參考影像和計算影像進(jìn)行匹配,具體為:
擴(kuò)散后的新patch初始的單位法向量和種子patch的單位法向量相同,新patch的中心為通過種子patch鄰域格網(wǎng)中心的光線與種子patch所在平面的交點(diǎn);
優(yōu)化新patch的中心坐標(biāo)和單位法向量,使新patch投影到各計算影像和參考影像之間的相關(guān)系數(shù)的平均值最大;采用優(yōu)化后的新patch對計算影像和參考影像進(jìn)行匹配,若匹配的計算影像數(shù)大于預(yù)設(shè)的數(shù)量閾值,則認(rèn)為成功擴(kuò)散了一個patch,否則失敗,跳過該失效patch,對下一個種子patch執(zhí)行步驟2.3。
步驟2還包括對匹配結(jié)果進(jìn)行濾波,具體為:
(1)過濾掉同一格網(wǎng)中平均相關(guān)系數(shù)差異大于0.6的patch;
(2)找出格網(wǎng)中深度最小的patch,過濾掉格網(wǎng)中與該patch的距離大于平均距離、且與該patch的法向量夾角大于90°的patch,這里平均距離指該patch和格網(wǎng)中所有patch的距離的平均值;
(3)將patch和其鄰域的patch擬合二次曲面,過濾掉鄰域patch殘差之和大于殘差閾值的patch,殘差閾值為經(jīng)驗值;
(4)根據(jù)patch在物方的相互距離對格網(wǎng)中patch聚類分組,去掉patch數(shù)小于預(yù)設(shè)數(shù)量閾值的patch分組,數(shù)量閾值為經(jīng)驗值。
步驟3.2具體為:
對相鄰兩幀影像,分別在x、y、t方向上求灰度梯度;設(shè)置原始光流場為零,采用光流方程循環(huán)迭代計算各匹配點(diǎn)的光流向量;當(dāng)兩次迭代中匹配點(diǎn)的光流向量誤差小于預(yù)設(shè)的誤差閾值,結(jié)束迭代。
二、基于光流模型的視頻衛(wèi)星影像密集匹配系統(tǒng),包括:
(1)粗匹配模塊,用來采用sgm匹配法對視頻衛(wèi)星影像進(jìn)行粗匹配;
所述的粗匹配模塊進(jìn)一步包括:
視差計算模塊,用來對視頻衛(wèi)星影像逐像素視差計算得到視差影像;
二維約束匹配模塊,用來計算各像素的最小視差路徑,即各像素的正確匹配,以此作為二維約束匹配;
sgm匹配模塊,用來在二維約束匹配下,對視差影像進(jìn)行sgm匹配,完成視頻衛(wèi)星影像左右影像同名點(diǎn)的匹配,獲得匹配點(diǎn);
(2)精匹配模塊,用來采用pmvs匹配法對視頻衛(wèi)星影像進(jìn)行精匹配;
所述的精匹配模塊進(jìn)一步包括:
特征點(diǎn)檢測模塊,用來對影像劃分格網(wǎng),在各格網(wǎng)的匹配點(diǎn)中選取興趣值為局部極大值的點(diǎn)作為特征點(diǎn);
種子patch集合生成模塊,用來將視頻衛(wèi)星影像中各影像輪流作為參考影像,其他影像中選出主光軸與參考影像間夾角小于60°的影像,記為計算影像,基于特征點(diǎn)將參考影像分別與計算影像匹配,并生成種子patch集合;
pmvs匹配模塊,用來判斷種子patch的鄰域中是否存在與種子patch距離小于一個像素的patch或已存在平均相關(guān)系數(shù)大于閾值的patch,若有,則不向鄰域擴(kuò)散,對下一種子patch執(zhí)行本步驟;否則,將種子patch向種子patch的鄰域擴(kuò)散;采用擴(kuò)散后的新patch對參考影像和計算影像進(jìn)行匹配;所述的閾值為經(jīng)驗值;
(3)精化匹配模塊,用來采用光流法精化步驟2的匹配結(jié)果;
所述的精化匹配模塊進(jìn)一步包括:
光流方程構(gòu)建模塊,用來構(gòu)建相鄰兩幀影像間的光流方程:
其中,vx和vy分別表示x和y方向上的光流向量;q1,q2,…,qn表示特征點(diǎn)(x,y)鄰域內(nèi)的像素點(diǎn);ix(q1)、ix(q2)、……ix(qn)表示第t幀影像上像素點(diǎn)q1,q2,…,qn的灰度值在x方向上的偏導(dǎo)數(shù);iy(q1)、iy(q2)、……iy(qn)表示第t幀影像上像素點(diǎn)q1,q2,…,qn的灰度值在y方向上的偏導(dǎo)數(shù);it(q1)、it(q2)、……it(qn)表示第t幀影像上像素點(diǎn)q1,q2,…,qn的灰度值關(guān)于時間t的偏導(dǎo)數(shù);
光流向量計算模塊,用來對各影像,基于光流方程分別迭代計算其與相鄰影像各匹配點(diǎn)間的光流向量;
粗差剔除模塊,用來計算各光流向量的模長d(vt),統(tǒng)計影像上所有光流向量的模長的中誤差,設(shè)閾值w為三倍中誤差,將所有誤差大于閾值w的匹配點(diǎn)作為粗差剔除。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點(diǎn)和有益效果:
(1)基于光流模型,估計衛(wèi)星視頻影像多幀之間幾何關(guān)系,對影像匹配結(jié)果進(jìn)行約束,可以極大提高匹配可靠性。
(2)結(jié)合sgm和pmvs兩種密集匹配算法,選擇sgm算法粗匹配、然后進(jìn)行pmvs算法精匹配的形式,盡可能發(fā)揮兩者的優(yōu)勢,從精度和效率兩方面提高影像數(shù)據(jù)的處理能力。
附圖說明
圖1為sgm匹配路徑選擇示意圖,其中,圖(a)表示所有最小路徑的最終累加結(jié)果,圖(b)表示每個像素上最小路徑選擇方向示意圖;
圖2為pmvs匹配流程圖;
圖3為光流法多幀約束算法流程圖。
具體實(shí)施方式
下面結(jié)合附圖進(jìn)一步說明本發(fā)明的具體實(shí)施方式,步驟如下:
步驟1,采用sgm匹配法對視頻衛(wèi)星影像進(jìn)行粗匹配。
sgm(semi-globalmatching)是一種產(chǎn)生在計算機(jī)視覺領(lǐng)域的影像匹配法,利用互信息描述同名像點(diǎn)間復(fù)雜的對應(yīng)關(guān)系,以實(shí)現(xiàn)影像匹配。sgm影像匹配的基本思想是:首先,基于互信息執(zhí)行逐像素視差計算;然后,利用多方向上的一維約束近似二維約束。
本步驟進(jìn)一步包括:
步驟1.1,對視頻衛(wèi)星影像逐像素視差計算得到視差影像。
視差函數(shù)d(pi,p′i,il,ir)定義如下:
視差函數(shù)表示兩像素為同名像點(diǎn)的可能性,其中,pi和p′i分別表示左右掃描線上的像素。視差計算時,p′取值范圍在p′i左右1/2個像素。i表示對應(yīng)像素處的灰度值,左掃描線上點(diǎn)pi處的灰度定義為il;ir則是經(jīng)過右掃描線上對采樣點(diǎn)線性內(nèi)插得到的p′i的灰度值。
因為分段線性函數(shù)的極值點(diǎn)一定是斷點(diǎn),因此視差d的計算非常容易。實(shí)際視差d的計算過程中,根據(jù)其極值點(diǎn)的性質(zhì)優(yōu)化如下:
首先,計算p′i和左臨近點(diǎn)p′i-1的中點(diǎn)的灰度值
式(2)中,ir(p′i)和
同樣的,計算p′i和右臨近點(diǎn)p′i+1的中點(diǎn)的灰度值
式(3)中,ir(p′i)和
得到y(tǒng)i左右1/2個像素鄰域內(nèi)的最小灰度值
步驟1.2,用一維約束近似二維約束。
對于一種匹配可能,最小視差路徑函數(shù)lr(p,d)定義為:
lr(p,d)=c(p,d)+min(lr(p-r,d),lr(p-r,d±1)+p1,minlr(pi-r,i)+p2)(4)
像素p的周圍,以45°為間隔設(shè)置16個路徑。通過16個路徑分別計算各路徑上的最小視差路徑lr(p,d),d表示子步驟1.1中計算的視差d(pi,p′i,il,ir),r表示路徑方向。
式(4)中:
第一項c(p,d)表示對像素p,視差為d時的不相似性代價;
第二項min(lr(p-r,dp),lr(p-r,d±1)+p1,minlr(pi-r,i)+p2),如圖1所示,視差路徑函數(shù)在16個方向進(jìn)行累加。每條累積路徑上,像素p當(dāng)前視差的累積視差路徑與像素p視差以及路徑上前一個像素的累積視差路徑相關(guān)。因此從前一個像素的視差和像素p的視差做差,取為0、1或大于1三種情況中挑出最小者作為像素p的累積量:
(1)如果結(jié)果為0,像素p的累積量為前一像素的視差路徑lr(p-r,d);
(2)如果結(jié)果為1,像素p的累積量為前一像素的視差路徑lr(p-r,d±1)和懲罰因子p1之和;
(3)如果結(jié)果大于1,像素p的累積量為前一像素所有視差路徑的最小者minlr(pi-r,i)和懲罰因子p2之和,pi表示像素p的前一像素,i表示前一像素的路徑方向。
對于每一像素,最后的視差路徑為16個方向的視差路徑和。視差路徑和最小的路徑被認(rèn)為當(dāng)前像素的正確匹配。以此來近似二維約束匹配計算。
步驟1.3,視差迭代計算。
本發(fā)明采用一種多級匹配策略,即首先從半分辨率情況下開始sgm匹配,將得到的視差影像作為初始值;然后,遞歸地利用上一次的視差影像再次進(jìn)行sgm匹配,這一過程中不斷提高分辨率直至原始分辨率。從而將每一級匹配范圍限制在一定的限度內(nèi),通過逐級傳遞,自適應(yīng)確定每個像素的匹配視差范圍??稍跍p少內(nèi)存的需求的同時,加快匹配的速度,并減少匹配的粗差。
步驟1.4,誤匹配的剔除。
左右影像同名點(diǎn)匹配完成后,利用右影像中同名點(diǎn)匹配左影像中同名點(diǎn)。如果兩次匹配得到的視差不相同,則該同名點(diǎn)視為無效匹配并剔除。
步驟2,采用pmvs匹配法對視頻衛(wèi)星影像進(jìn)行精匹配。
pmvs是一個多視立體匹配方法,由一組照片以及相機(jī)參數(shù),重建出照片中物體或場景的三維結(jié)構(gòu)。pmvs只重建剛性結(jié)構(gòu),它會自動忽略非剛性結(jié)構(gòu),如建筑物前的行人。軟件輸出一組帶方向的三維點(diǎn),估計了每個點(diǎn)的三維坐標(biāo)和法向量。
pmvs的匹配思路是:先找到穩(wěn)健的、能可靠匹配的特征點(diǎn),然后再按照區(qū)域增長的思路進(jìn)行匹配傳播。整個流程如附圖2,具體過程如下:
步驟2.1,特征點(diǎn)提取。
每張影像上畫格網(wǎng),格網(wǎng)大小為32×32pixels。從步驟1中通過sgm粗匹配得到的匹配點(diǎn)中在每個格網(wǎng)中選η=4個興趣值為局部極大值的點(diǎn),作為特征點(diǎn)。
步驟2.2,特征點(diǎn)匹配,生成種子patch集合。
每張影像輪流作為參考影像r(p),在其他影像中選出主光軸與r(p)間夾角小于60°的影像i(p),記為計算影像,將參考影像和計算影像匹配,具體為:
(1)對參考影像上每個特征點(diǎn)f,尋找其在計算影像上的候選匹配點(diǎn)f′,f′組成集合f。要求f′在離同名核線兩個像素的范圍之內(nèi),同名核線即同一核面與左右影像相交形成的兩條核線,其中核面指物方點(diǎn)與攝影基線所確定的平面。
(2)每一對(f,f′)前方交會獲得模型點(diǎn),計算各模型點(diǎn)與參考影像攝像機(jī)(后文簡記為“參考相機(jī)”)中心的距離,按距離由近到遠(yuǎn)對模型點(diǎn)排序。
(3)按模型點(diǎn)排序順序,取模型點(diǎn)輪流初始化匹配面元patch。匹配面元patch是近似于物體表面的局部正切平面,包括中心c(p)、法向量n(p)、參考影像r(p)。patch的一條邊與參考相機(jī)的x軸平行。patch上有μ×μ的格網(wǎng),μ一般為5或7。
其中,patch的中心c(p)為模型點(diǎn),單位法向量n(p)為由中心c(p)指向參考相機(jī)中心的單位向量。要求patch的法向量和patch所在光線的夾角要小于60度,且patch投影到計算影像和參考影像之間的相關(guān)系數(shù)要大于第一相關(guān)系數(shù)閾值。如果不滿足要求,該模型點(diǎn)失敗,跳過該點(diǎn)考慮下一個模型點(diǎn)。第一相關(guān)系數(shù)閾值為經(jīng)驗值,本實(shí)施例中,第一相關(guān)系數(shù)閾值取為0.4。
(4)優(yōu)化patch的中心坐標(biāo)和法向量,具體為:細(xì)微調(diào)整中心坐標(biāo)和法向量,使平均相關(guān)系數(shù)最大化,即最大化patch的參考影像與計算影像之間的相關(guān)系數(shù)的平均值。該優(yōu)化過程需要把patch的中心固定在參考影像的光線上,優(yōu)化自由度為3。
如果優(yōu)化后,patch的平均相關(guān)系數(shù)大于第一相關(guān)系數(shù)閾值,則認(rèn)為成功生成了patch。在所有影像上打上大小為2×2pixels的格網(wǎng)cellsci(x,y),把patch投影到影像上,記錄patch所在的格網(wǎng)坐標(biāo),格網(wǎng)坐標(biāo)即格網(wǎng)在像片坐標(biāo)系中坐標(biāo)。每個格網(wǎng)有兩個存儲patch的集合qi(x,y)和qi*(x,y),分別存儲投影到空間參考坐標(biāo)系v(p)和像方坐標(biāo)系v*(p)的patch。同時去掉patch所在格網(wǎng)中所有特征點(diǎn),接下來考慮下一個模型點(diǎn)。否則放棄該patch,考慮下一個模型點(diǎn)。
待所有影像的patch計算過程完成后,將這些patch放入種子patch集合中。
步驟2.3,匹配傳播,由種子patch向種子patch所在格網(wǎng)的鄰域擴(kuò)散,若鄰域中已存在與種子patch距離小于一個像素的patch或鄰域中已存在一個平均相關(guān)系數(shù)大于第二相關(guān)系數(shù)閾值的patch,則不向該鄰域擴(kuò)散。第二相關(guān)系數(shù)閾值為經(jīng)驗值,本實(shí)施例中,第二相關(guān)系數(shù)閾值取為0.6。
擴(kuò)散后的新patch初始的單位法向量和種子patch的單位法向量相同,新patch的中心為通過鄰域格網(wǎng)中心的光線與種子patch所在平面的交點(diǎn)。優(yōu)化新patch的中心坐標(biāo)和單位法向量,并采用優(yōu)化后的新patch對計算影像和參考影像進(jìn)行匹配,若匹配的計算影像數(shù)大于預(yù)設(shè)的數(shù)量閾值,則認(rèn)為成功擴(kuò)散了一個patch,否則失敗,跳過該失效patch對下一種子patch進(jìn)行鄰域擴(kuò)散。
重復(fù)步驟2.3,直到無法擴(kuò)散。
步驟2.4,匹配結(jié)果濾波。
匹配結(jié)果濾波包括以下四種情況:
(1)過濾掉同一格網(wǎng)中平均相關(guān)系數(shù)差異大于0.6的patch;
(2)找出格網(wǎng)中深度最小的patch,過濾掉格網(wǎng)中與該patch的距離大于平均距離、且與該patch的法向量夾角大于90°的patch,這里平均距離指該patch和格網(wǎng)中所有patch的距離的平均值。深度指物點(diǎn)與攝像機(jī)中心間的距離投影到主光軸方向上的長度。
(3)將patch和其八鄰域中的neighborspatches擬合二次曲面,過濾掉neighborspatches殘差之和大于殘差閾值的patch,殘差閾值為經(jīng)驗值。
(4)過濾掉數(shù)量較小的patch分組,具體為:根據(jù)patch在物方的相互距離對格網(wǎng)中patch聚類分組,去掉patch數(shù)小于20的patch分組。
步驟3,基于步驟2得到的匹配點(diǎn),按照光流模型分別計算匹配點(diǎn)的光流向量,重復(fù)迭代然后得到所有匹配點(diǎn)的光流向量并統(tǒng)計其均值與中誤差,根據(jù)結(jié)果將超出閾值的匹配點(diǎn)作為誤匹配點(diǎn)剔除,得到最后的匹配點(diǎn)。
參考附圖3,具體步驟如下:
步驟3.1,使用稀疏光流法估計步驟2獲得的特征點(diǎn)的運(yùn)動狀態(tài)估計參數(shù)。光流法是一種估計圖像序列中像素點(diǎn)在連續(xù)幀中運(yùn)動情況的方法,稀疏光流法只需要處理圖像中的某些像素,并不計算圖像所有像素的光流估計,從而計算量要相對小。
假設(shè)相鄰兩幀影像之間僅存在微小的變化量,從而建立如下光流方程:
式(5)中:
vx和vy分別表示x和y方向上的光流向量,x方向為影像像素列方向,y方向為影像像素行方向;
q1,q2,…,qn表示特征點(diǎn)(x,y)鄰域內(nèi)的像素點(diǎn);
ix(q1)、ix(q2)、……ix(qn)表示第t幀影像上像素點(diǎn)q1,q2,…,qn的灰度值在x方向上的偏導(dǎo)數(shù);
iy(q1)、iy(q2)、……iy(qn)表示第t幀影像上像素點(diǎn)q1,q2,…,qn的灰度值在y方向上的偏導(dǎo)數(shù);
it(q1)、it(q2)、……it(qn)表示第t幀影像上像素點(diǎn)q1,q2,…,qn的灰度值關(guān)于時間t的偏導(dǎo)數(shù)。
令v=(vx,vy),vx和vy表示vx和vy中的元素,可通過最小二乘法獲得近似解:
式(6)中,wi是點(diǎn)qi的權(quán)值,權(quán)值的初始值設(shè)為1。
步驟3.2,對各影像,分別迭代計算其與相鄰影像各匹配點(diǎn)間的光流向量。
本步驟具體為:
讀取多幀相鄰原始影像,分別在x、y、t方向上求灰度梯度;設(shè)置原始光流場為零,采用光流方程循環(huán)迭代計算各匹配點(diǎn)的光流向量;當(dāng)兩次迭代中匹配點(diǎn)的光流向量誤差小于預(yù)設(shè)的誤差閾值,結(jié)束迭代。
步驟3.3,計算各光流向量的模長d(vt),并統(tǒng)計影像上所有光流向量的模長的均值和中誤差,設(shè)閾值w為三倍中誤差,將所有誤差大于閾值w的匹配點(diǎn)作為粗差剔除。
最終所得的匹配點(diǎn)即為本方法獲得的結(jié)果。