本發(fā)明屬于無人機(jī)技術(shù)領(lǐng)域,尤其涉及一種基于縫合線的無人機(jī)航拍圖像拼接方法。
背景技術(shù):
圖像拼接技術(shù)通過將若干部分重疊的圖像進(jìn)行匹配融合,形成一幅寬視角、高分辨率的無縫拼接圖像,在遙感、航拍圖像處理中有著廣泛應(yīng)用,是計(jì)算機(jī)視覺、模式識(shí)別和圖像處理等領(lǐng)域的熱點(diǎn)研究方向。近年來無人機(jī)作為一種靈活機(jī)動(dòng)的遙感平臺(tái),其航拍圖像獲得廣泛的應(yīng)用。無人機(jī)航拍圖像的拼接技術(shù)可以有效解決單幅航拍圖像對(duì)應(yīng)場(chǎng)景區(qū)域小,不利于準(zhǔn)確、全面的觀察和分析地面場(chǎng)景的問題,被廣泛地用于危險(xiǎn)區(qū)域偵查、戰(zhàn)場(chǎng)實(shí)時(shí)性偵查、海洋環(huán)境監(jiān)測(cè)、自然災(zāi)害監(jiān)測(cè)與評(píng)估等,成為圖像處理研究的熱點(diǎn)?;诳p合線的圖像拼接技術(shù),相比加權(quán)函數(shù)融合、多分辨率塔式分解融合和基于小波變換融合等方法,能夠有效地避免鬼影現(xiàn)象,且拼接效果能夠真實(shí)的反映地物情況,從而在無人機(jī)航拍圖像拼接中得到了廣泛的應(yīng)用。現(xiàn)有縫合線檢測(cè)算法,如基于圖割的縫合線檢測(cè)方法、基于蟻群的縫合線檢測(cè)方法以及基于動(dòng)態(tài)規(guī)劃的縫合線檢測(cè)算法等,在航拍圖像拼接中均具有較好的效果,然而由于無人機(jī)航拍圖像通常為非正射影像圖,且易受拍攝地區(qū)地勢(shì)地貌、相機(jī)畸變、圖像配準(zhǔn)和幾何變換誤差等的影響,這些方法在拼接無人機(jī)航拍圖像時(shí)存在縫合線兩側(cè)圖像拼接不連續(xù)、易產(chǎn)生局部‘錯(cuò)位’現(xiàn)象等問題。例如,基于dijkstra的最優(yōu)縫合線檢測(cè)方法,通過求解最小代價(jià)路徑作為縫合線,實(shí)現(xiàn)包含運(yùn)動(dòng)物體的圖像拼接,然而,此算法拼接的圖像仍存在局部不連續(xù)現(xiàn)象,且計(jì)算復(fù)雜度較高。為降低縫合線搜索復(fù)雜度,將dijkstra算法簡(jiǎn)化為貪心算法,對(duì)局部最優(yōu)路徑進(jìn)行選擇,拼接效果易受迭代收斂性的影響,且依然存在局部‘錯(cuò)位’現(xiàn)象。最大流求解圖最小割的方法,搜索最佳縫合線,取得不錯(cuò)的拼接效果,但計(jì)算復(fù)雜度較高。采用twinsnake算子自動(dòng)選擇圖像縫合線,不能保證其選擇的縫合線為最優(yōu)縫合線。chon提出通過最小化最大誤匹配的方法,動(dòng)態(tài)搜索縫合線,改善縫合線上圖像拼接不連續(xù)的現(xiàn)象,但算法的計(jì)算量隨著縫合線長(zhǎng)度的增加以指數(shù)級(jí)增長(zhǎng),時(shí)效性較差。
綜上所述,現(xiàn)有技術(shù)存在的問題是:由非正射投影、圖像配準(zhǔn)誤差等引起的拼接圖像局部不連續(xù)現(xiàn)象,即局部‘錯(cuò)位’問題;計(jì)算復(fù)雜度較高,時(shí)效性較差,不能保證高效率處理大量的圖像數(shù)據(jù)時(shí),圖像拼接算法必須具有較好的時(shí)效性的需要。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)存在的問題,本發(fā)明提供了一種基于縫合線的無人機(jī)航拍圖像拼接方法。
本發(fā)明是這樣實(shí)現(xiàn)的,一種基于縫合線的無人機(jī)航拍圖像拼接方法,所述基于縫合線的無人機(jī)航拍圖像拼接方法通過消除跨重疊區(qū)域遮擋,剔除配準(zhǔn)誤差較大的像素點(diǎn),求解縫合線所在的最小連通子區(qū)域;并在連通區(qū)域內(nèi),利用遞歸回溯搜索最短路徑方式,生成一條縫合線實(shí)現(xiàn)圖像拼接;
所述求解縫合線所在最小連通子區(qū)域包括:
計(jì)算誤匹配度量矩陣cost;設(shè)置起始閾值;計(jì)算分割矩陣tcost,并計(jì)算其二值化矩陣tcost_b;對(duì)tcost_b矩陣,判斷起點(diǎn)終點(diǎn)是否在同一個(gè)連通分量中,若不在,則存在跨重疊區(qū)域的遮擋,查找并減小遮擋區(qū)域誤匹配量值,即令cost(x,y)=cost(x,y)-δth,其中(x,y)∈s,s為跨重疊區(qū)域的遮擋區(qū)域;
所述縫合線所在連通區(qū)域再小化包括:計(jì)算兩幅圖像的距離矩陣,設(shè)distance等于0;計(jì)算二值矩陣nbh、tcost_dist;由起點(diǎn)開始深度遍歷,判斷在矩陣tcost_dist為1的區(qū)域,是否存在一條起點(diǎn)到終點(diǎn)連通通路,若不存在,則擴(kuò)大等距線鄰域?qū)挾?,即增加distance,令distance=distance+δd。
進(jìn)一步,所述縫合線采用消除跨重疊區(qū)域遮擋求解最小連通域的方法,具體包括:
1)采用閾值分割的方法將圖像分為兩部分,高量值區(qū)和低量值區(qū),閾值代價(jià)準(zhǔn)則定義如式(2)(3):
其中為cost(x,y)公式(1)求得的誤匹配度量矩陣,δ·thmax是圖像分割閾值,其中thmax為重疊區(qū)域的最大誤匹配量值,δ為固定常量,δ∈(0,0.2);tcost_b為tcost的二值化矩陣;
2)判斷縫合線的起點(diǎn)和終點(diǎn)是否均在低量值區(qū)(tcost_b=0)且位于同一連通分量,即判斷起點(diǎn)終點(diǎn)間是否存在一條路徑;若不存在,表示圖中存在一條或多條跨重疊區(qū)域的遮擋;查找跨重疊區(qū)域的遮擋,并逐步減小此遮擋區(qū)域的量值,直到不存在跨重疊區(qū)域的遮擋,使起點(diǎn)和終點(diǎn)位于同一連通分量?jī)?nèi);此時(shí)起點(diǎn)終點(diǎn)所在的連通區(qū)域,即求解的縫合線最小連通域。
進(jìn)一步,所述遞歸回溯最短縫合線搜索通過計(jì)算各像素點(diǎn)四鄰接點(diǎn)到縫合線終點(diǎn)的距離,確定入棧順序,即搜索方向,并在最小連通域內(nèi)遞歸回溯搜索最短縫合線,入棧順序dir_idx由式(4)計(jì)算出的索引值確定:
dir_idx=index(sort(dist(ad_jpoint(x,y),endpoint))(4)
其中,adj_point(x,y)表示像素點(diǎn)的四個(gè)鄰接點(diǎn)坐標(biāo),endpoint表示縫合線終點(diǎn)坐標(biāo),dist()為歐氏距離,sort()表示對(duì)四個(gè)距離值降序排列,index()為排序的索引值;依據(jù)棧先進(jìn)后出的原則,降序入棧,則每次出棧時(shí),將會(huì)優(yōu)先選取距離縫合線終點(diǎn)最近的點(diǎn)。
進(jìn)一步,所述縫合線的優(yōu)化方法包括:針對(duì)縫合線上每個(gè)像素點(diǎn),判斷縫合線上其鄰接像素點(diǎn)的個(gè)數(shù),若大于2個(gè),則表示存在局部回路,此時(shí),按鄰接像素點(diǎn)在縫合線上出現(xiàn)的順序,消除從第一個(gè)到最后一個(gè)鄰接像素點(diǎn)間的像素點(diǎn),遍歷縫合線消除所有小回路,得到一條無回路路徑,即優(yōu)化后的縫合線。
進(jìn)一步,所述縫合線連通域再小化包括:
求解兩幅圖像中各像素到邊界的最小距離,生成距離矩陣,并對(duì)兩個(gè)距離矩陣進(jìn)行比較,按式(5)(6)計(jì)算等距線的鄰域:
tcost_dist=nbh&(~tcost)(6)
其中,dist1、dist2分別表示兩幅圖像的距離矩陣,distance表示擴(kuò)展鄰域的寬度,其初始值為0,此時(shí)nbh為等距線;逐步增大distance,,直到由式(6)計(jì)算的tcost_dist矩陣為1的區(qū)域存在起點(diǎn)到終點(diǎn)的連通通路。
本發(fā)明的另一目的在于提供一種應(yīng)用所述基于縫合線的無人機(jī)航拍圖像拼接的無人機(jī)。
本發(fā)明的優(yōu)點(diǎn)及積極效果為:針對(duì)現(xiàn)有方法在無人機(jī)航拍圖像拼接中存在的上述問題,本發(fā)明提出最小連通域內(nèi)遞歸回溯的縫合線搜索算法,通過消除跨重疊區(qū)域遮擋,剔除配準(zhǔn)誤差較大的像素點(diǎn),求解縫合線所在的最小連通子區(qū)域;并在連通區(qū)域內(nèi),利用遞歸回溯搜索最短路徑方式,生成一條縫合線實(shí)現(xiàn)圖像拼接;改善縫合線融合圖像局部‘錯(cuò)位’現(xiàn)象。該算法在取得較好拼接效果的同時(shí),具有線性時(shí)間復(fù)雜度,時(shí)效性較高。
本發(fā)明通過最大化剔除誤匹配的像素點(diǎn),求解縫合線所在的最小連通子區(qū)域;并在最小連通域內(nèi)通過遞歸回溯搜索最短路徑的方式搜索縫合線,實(shí)現(xiàn)圖像拼接;采用等距線鄰域搜索方法,進(jìn)一步縮小縫合線所在的最小連通子區(qū)域,減少計(jì)算量,提高算法效率。實(shí)驗(yàn)結(jié)果表明,本發(fā)明算法可有效改善縫合線融合時(shí)出現(xiàn)的局部‘錯(cuò)位’現(xiàn)象,能夠在獲得準(zhǔn)確拼接圖像的同時(shí),提高拼接效率。
附圖說明
圖1是本發(fā)明實(shí)施例提供的基于縫合線的無人機(jī)航拍圖像拼接流程圖。
圖2是本發(fā)明實(shí)施例提供的跨區(qū)域遮擋示意圖。
圖3是本發(fā)明實(shí)施例提供的最小連通域示意圖;
圖中:(a)重疊區(qū)域量值矩陣;(b)本發(fā)明的效果圖;(c)chon的算法效果圖;(d)最小連通域算法;(e)chon的最小最大誤匹配算法。
圖4是本發(fā)明實(shí)施例提供的搜索方向順序圖。
圖5是本發(fā)明實(shí)施例提供的遞歸回溯搜索縫合線流程圖。
圖6是本發(fā)明實(shí)施例提供的縫合線搜索示意圖。
圖7是本發(fā)明實(shí)施例提供的縫合線局部放大示意圖。
圖8是本發(fā)明實(shí)施例提供的縫合線搜索結(jié)果示意圖(實(shí)線為本文算法搜索的縫合線,虛線為chon提出的動(dòng)態(tài)搜索縫合線)。
圖9是本發(fā)明實(shí)施例提供的等距線鄰域示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
下面結(jié)合附圖對(duì)本發(fā)明的應(yīng)用原理作詳細(xì)的描述。
如圖1所示,本發(fā)明實(shí)施例提供的基于縫合線的無人機(jī)航拍圖像拼接包括以下步驟:
s101:輸入圖像,計(jì)算圖像重疊區(qū)域、起點(diǎn)和終點(diǎn);
s102:求解縫合線所在最小連通子區(qū)域;
s103:縫合線所在連通區(qū)域再小化;
s104:求解的最小連通域內(nèi),遞歸回溯搜索最短縫合線;
s105:遍歷路徑,消除局部小回路,優(yōu)化縫合線;
s106:按縫合線對(duì)兩幅圖像進(jìn)行融合拼接。
下面結(jié)合附圖對(duì)本發(fā)明的應(yīng)用原理作進(jìn)一步的描述。
1、縫合線搜索原理
1.1圖像誤匹配度量準(zhǔn)則
為評(píng)估圖像配準(zhǔn)效果,需要對(duì)重疊區(qū)域像素點(diǎn)進(jìn)行度量,尋找最優(yōu)縫合線。理想中的縫合線,縫合線兩側(cè)圖像配準(zhǔn)誤差為零,即縫合線上的點(diǎn)及其周圍的點(diǎn)一一對(duì)應(yīng),此時(shí)縫合線上像素點(diǎn)的灰度值和梯度也一一對(duì)應(yīng)。因此本發(fā)明采用像素灰度差和梯度差作為圖像錯(cuò)誤匹配度量準(zhǔn)則,度量函數(shù)定義如式(1):
cost(x,y)=|c(i1(x,y))-c(i2(x,y))|+|d(i1(x,y))-d(i2(x,y))|(1)
其中c(i(x,y))表示圖像的3×3鄰域均值矩陣,d(i(x,y))表示圖像的梯度矩陣,采用如下5×5高斯梯度算子計(jì)算:
將度量矩陣中像素看作節(jié)點(diǎn),度量值看作節(jié)點(diǎn)的帶權(quán)路徑長(zhǎng)度,則縫合線搜索即為最優(yōu)路徑求解問題,本發(fā)明算法的核心演化為通過繞開遮擋區(qū)域?qū)ふ易疃搪窂?,搜索縫合線。
1.2跨重疊區(qū)域遮擋
由于無人機(jī)航拍圖像為非正射影像圖,同一地物在不同圖像上的投影不同,并受相機(jī)畸變、圖像配準(zhǔn)和幾何變換誤差等的影響,使待拼接圖像中對(duì)應(yīng)像素灰度存在差異。其中對(duì)應(yīng)像素灰度差異較大的區(qū)域(式(1)計(jì)算的度量矩陣中量值較大的區(qū)域)稱之為高量值區(qū),即遮擋區(qū)域。通過遮擋區(qū)域的縫合線會(huì)具有明顯的拼接痕跡,產(chǎn)生局部‘錯(cuò)位’現(xiàn)象。縫合線檢測(cè)實(shí)質(zhì)上是尋找一條避開遮擋區(qū)域路徑的過程。當(dāng)起點(diǎn)和終點(diǎn)之間不存在路徑時(shí),表示存在遮擋跨越整個(gè)重疊區(qū)域。判斷跨重疊區(qū)域遮擋的方法如下:
第一,確定重疊區(qū)域邊界,由起點(diǎn)和終點(diǎn)將邊界劃分為邊edge1和邊edge2兩部分(如圖2)。第二,對(duì)邊edge1上的高量值點(diǎn),判斷其連通域內(nèi)是否存在邊edge2上的點(diǎn),若存在,則此連通域?yàn)榭缰丿B區(qū)域的遮擋;若不存在,則此連通區(qū)域不是跨重疊區(qū)域的遮擋。
如圖2,重疊區(qū)域分為兩部分,淺色表示低量值區(qū),深色表示高量值區(qū)。依次遍歷邊edge1上高量值點(diǎn)所在的連通區(qū)域,其中,a點(diǎn)所在的連通區(qū)域a中,存在點(diǎn)c落在edge2上,則a所在連通區(qū)域?yàn)榭缰丿B區(qū)域的遮擋;而b點(diǎn)所在的連通區(qū)域,不存在位于edge2上的點(diǎn),所以此區(qū)域不是跨重疊區(qū)域的遮擋。
2、圖像縫合線檢測(cè)方法
縫合線檢測(cè)是基于縫合線的圖像拼接算法的關(guān)鍵,良好的縫合線,能有效避免縫合線兩側(cè)圖像融合時(shí)出現(xiàn)視覺可見的不連續(xù)現(xiàn)象,使圖像拼接過渡平滑。首先,對(duì)待拼接的兩幅圖像進(jìn)行圖像配準(zhǔn),確定重疊區(qū)域、縫合線的起點(diǎn)及終點(diǎn)(重疊區(qū)域邊界線的交點(diǎn));其次,對(duì)重疊區(qū)域誤匹配度量,剔除配準(zhǔn)誤差較大的像素點(diǎn),求解縫合線最小連通域;在求解的連通區(qū)域內(nèi),遞歸回溯搜索一條最短路徑作為縫合線,并沿縫合線進(jìn)行圖像拼接。
2.1縫合線最小連通域
為使融合時(shí)縫合線兩側(cè)圖像平滑過渡,本發(fā)明通過消除跨重疊區(qū)域遮擋的方法,求解縫合線所在最小連通子區(qū)域,避免圖像融合時(shí)局部‘錯(cuò)位’現(xiàn)象。
最小化縫合線上最大誤匹配的算法,通過漫水法剔除配準(zhǔn)誤差較大的區(qū)域,避免局部‘錯(cuò)位’的現(xiàn)象,并降低求解最小代價(jià)路徑的計(jì)算量??紤]到航拍圖像的特點(diǎn),受非正射影像、鏡頭畸變等因素的影響,通常圖像邊緣區(qū)域比中心區(qū)域配準(zhǔn)誤差大。而縫合線的起點(diǎn)和終點(diǎn)恰好落在圖像邊界上,其鄰域的配準(zhǔn)誤差值相對(duì)較高,采用漫水法進(jìn)行閾值分割,不能有效地剔除誤匹配較大的區(qū)域,算法實(shí)用性較差,如圖3(c)。
為避免這一現(xiàn)象,本發(fā)明采用減小跨重疊區(qū)域的遮擋區(qū)域的度量值,而不是降低分割閾值的方式,剔除更多配準(zhǔn)誤差較大的像素點(diǎn),求解最小連通域。算法如下:
1)采用閾值分割的方法將圖像分為兩部分,高量值區(qū)和低量值區(qū),閾值代價(jià)準(zhǔn)則定義如式(2)(3):
其中為cost(x,y)公式(1)求得的誤匹配度量矩陣,δ·thmax是圖像分割閾值,其中thmax為重疊區(qū)域的最大誤匹配量值,δ為固定常量,δ∈(0,0.2);tcost_b為tcost的二值化矩陣;當(dāng)tcost_b=tcost=0,即低量值區(qū)域,cost(x,y)≤δ·thmax,經(jīng)過此區(qū)域的縫合線視覺上將得到良好的拼接效果。
2)判斷縫合線的起點(diǎn)和終點(diǎn)是否均在低量值區(qū)(tcost_b=0)且位于同一連通分量,即判斷起點(diǎn)終點(diǎn)間是否存在一條路徑。若不存在,表示圖中存在一條或多條跨重疊區(qū)域的遮擋。按1.1節(jié)所述方法查找跨重疊區(qū)域的遮擋,并逐步減小此遮擋區(qū)域的量值,直到不存在跨重疊區(qū)域的遮擋,使起點(diǎn)和終點(diǎn)位于同一連通分量?jī)?nèi)。此時(shí)起點(diǎn)終點(diǎn)所在的連通區(qū)域,即求解的縫合線最小連通域。如圖3(a),a所在的區(qū)域視為跨重疊區(qū)域的遮擋,由圖可以看出,點(diǎn)a位于起點(diǎn)到終點(diǎn)的必經(jīng)之處,逐步降低a所在連通區(qū)域的量值,使點(diǎn)a位于低量值區(qū),進(jìn)而使起點(diǎn)終點(diǎn)位于同一連通域內(nèi)(如圖3(b))。
采用降低遮擋區(qū)域量值的方法求解縫合線所在最小連通子區(qū)域,連通域內(nèi)除一些必需較大量值點(diǎn)外(如點(diǎn)a),大部分像素點(diǎn)量值均小于δ·thmax,而在此區(qū)域搜索縫合線,將會(huì)得到較佳的拼接效果。
圖3(a)、圖3(b)、圖3(c)為重疊區(qū)域量值矩陣效果圖,淺色為低量值區(qū),深色為高量值區(qū),顏色越深表示量值越大,實(shí)線為預(yù)計(jì)求解的縫合線??梢钥闯?,b處較c處具有更高度量值,因此圖3(b)經(jīng)過c處的縫合線將比圖3(c)經(jīng)過b處的縫合線得到更好地拼接效果。圖3(d)、圖3(e)為兩幅航拍圖像重疊區(qū)域誤匹配像素點(diǎn)的剔除結(jié)果,圖3(d)為本發(fā)明最小連通域算法處理結(jié)果,圖3(e)為chon的最小最大誤匹配算法處理結(jié)果,其中黑色的點(diǎn)表示剔除的配準(zhǔn)誤差較大的點(diǎn)??梢钥闯?,本發(fā)明算法可以剔除更多錯(cuò)誤配準(zhǔn)量值較大的像素點(diǎn),進(jìn)一步縮小了縫合線所在連通區(qū)域。
2.2遞歸回溯最短縫合線搜索
2.2.1遞歸回溯最短縫合線搜索
為進(jìn)一步求取最小連通域內(nèi)起點(diǎn)終點(diǎn)之間的縫合線,本發(fā)明提出了以縫合線終點(diǎn)為導(dǎo)向的遞歸回溯縫合線搜索算法。通過計(jì)算各像素點(diǎn)四鄰接點(diǎn)到縫合線終點(diǎn)的距離,確定入棧順序,即搜索方向,并在最小連通域內(nèi)遞歸回溯搜索最短縫合線。入棧順序dir_idx由式(4)計(jì)算出的索引值確定:
dir_idx=index(sort(dist(ad_jpoint(x,y),endpoint))(4)
其中,adj_point(x,y)表示像素點(diǎn)的四個(gè)鄰接點(diǎn)坐標(biāo),endpoint表示縫合線終點(diǎn)坐標(biāo),dist()為歐氏距離,sort()表示對(duì)四個(gè)距離值降序排列,index()為排序的索引值。依據(jù)?!冗M(jìn)后出’的原則,降序入棧,則每次出棧時(shí),將會(huì)優(yōu)先選取距離縫合線終點(diǎn)最近的點(diǎn)。
依據(jù)式(4)的計(jì)算結(jié)果,優(yōu)化后當(dāng)前像素的四鄰域像素的入棧順序如圖4所示。其中,以縫合線終點(diǎn)為原點(diǎn),將二維平面均分為八部分,每一部分對(duì)應(yīng)一種入棧順序。如此,拼接時(shí),在確定縫合線終點(diǎn)坐標(biāo)后,即可得到重疊區(qū)域各像素點(diǎn)的入棧順序,遞歸回溯求解路徑。
縫合線搜索流程圖如圖5所示,在2.1節(jié)求解的最小連通域內(nèi),由起點(diǎn)遞歸回溯搜索縫合線,若存在tcost_b=0的鄰接點(diǎn),則按圖4所示的入棧順序入棧;若不存在,即tcost_b=1,則表示當(dāng)前路徑不能到達(dá)目標(biāo)節(jié)點(diǎn),回退出棧到上一分支處;如此不斷地入棧出棧操作,直到到達(dá)目標(biāo)節(jié)點(diǎn),搜索得到一條最短縫合線結(jié)束??p合線搜索的時(shí)間復(fù)雜度為o(n),其中n為最小連通域內(nèi)像素點(diǎn)的個(gè)數(shù)。理想情況中,即不存在配準(zhǔn)誤差,tcost_b為全0矩陣時(shí),求解的縫合線為起點(diǎn)與終點(diǎn)的連線(虛線);當(dāng)連線上存在遮擋時(shí),縫合線將自行繞行(實(shí)線),如圖6所示。
2.2.2縫合線優(yōu)化
縫合線實(shí)質(zhì)上為一條無回路路徑,而由2.2.1求解的縫合線上可能存在局部小回路,影響圖像的拼接效果,從而需要對(duì)縫合線進(jìn)行優(yōu)化處理。對(duì)遞歸回溯搜索求解縫合線上的像素點(diǎn)進(jìn)行分析,發(fā)現(xiàn)僅存在如下兩種情況,a)四鄰接點(diǎn)中僅有2個(gè)鄰接點(diǎn)位于當(dāng)前所求縫合線上,此時(shí)無回路;b)四個(gè)鄰接點(diǎn)有多于或等于3個(gè)鄰接點(diǎn)位于當(dāng)前所求縫合線上,此時(shí)有回路。如圖7所示。
為消除回路優(yōu)化縫合線,算法對(duì)縫合線上每個(gè)像素點(diǎn),判斷縫合線上其鄰接像素點(diǎn)的個(gè)數(shù),若大于2個(gè),則表示存在局部小回路,此時(shí),按鄰接像素點(diǎn)在縫合線上出現(xiàn)的順序,消除從第一個(gè)到最后一個(gè)鄰接像素點(diǎn)間的像素點(diǎn)(即回路),遍歷縫合線直到消除所有小回路,得到一條無回路路徑,即優(yōu)化后的縫合線。
圖8為按本發(fā)明遞歸回溯縫合線搜索方法和chon提出的動(dòng)態(tài)搜索縫合線方法,在圖3(d)、圖3(e)求解的連通域內(nèi)搜索縫合線的結(jié)果。從圖中橢圓區(qū)域看出,本發(fā)明算法求解的縫合線(實(shí)線),能很好地繞開高量值區(qū)域,而chon算法求解的縫合線(虛線)貫穿高量值區(qū),可能出現(xiàn)局部‘錯(cuò)位’現(xiàn)象。
2.3、縫合線連通域再小化
為進(jìn)一步縮小了縫合線所在的連通區(qū)域面積,提高計(jì)算效率,本發(fā)明在等距線的鄰域搜索縫合線(圖9)。求解兩幅圖像中的像素到邊界的最小距離,生成距離矩陣,并對(duì)兩個(gè)距離矩陣進(jìn)行比較,按式(5)(6)計(jì)算等距線的鄰域:
tcost_dist=nbh&(~tcost)(6)
其中,dist1、dist2分別表示兩幅圖像的距離矩陣,distance表示擴(kuò)展鄰域的寬度,其初始值為0,此時(shí)nbh為等距線。逐步增大distance,,直到由式(6)計(jì)算的tcost_dist矩陣為1的區(qū)域存在起點(diǎn)到終點(diǎn)的連通通路。本發(fā)明在等距線鄰域搜索路徑,尋找縫合線,減少計(jì)算量的同時(shí),達(dá)成了平衡重疊區(qū)域分割的目的。
2.4、縫合線搜索算法流程
根據(jù)最小連通域求解方法與遞歸回溯搜索最短路徑方法,總結(jié)本發(fā)明圖像拼接縫合線搜索算法如下:
step1.輸入圖像,計(jì)算圖像重疊區(qū)域、起點(diǎn)和終點(diǎn);
step2.求解縫合線所在最小連通子區(qū)域;
step2.1計(jì)算誤匹配度量矩陣cost;
step2.2設(shè)置起始閾值δ·thmax(thmax為最大值);
step2.3計(jì)算分割矩陣tcost,并計(jì)算其二值化矩陣tcost_b。
step2.4對(duì)tcost_b矩陣,判斷起點(diǎn)終點(diǎn)是否在同一個(gè)連通分量中,若不在,則存在跨重疊區(qū)域的遮擋,查找并減小遮擋區(qū)域誤匹配量值,即令cost(x,y)=cost(x,y)-δth(其中(x,y)∈s,s為跨重疊區(qū)域的遮擋區(qū)域),返回步驟step2.3;
step3.縫合線所在連通區(qū)域再小化;
step3.1.計(jì)算兩幅圖像的距離矩陣,設(shè)distance等于0;
step3.2計(jì)算二值矩陣nbh,tcost_dist;
step3.3由起點(diǎn)開始深度遍歷,判斷在tcost_dist矩陣為1的區(qū)域,是否存在一條起點(diǎn)到終點(diǎn)連通通路,若不存在,則擴(kuò)大等距線鄰域?qū)挾龋丛黾觗istance,令distance=distance+δd,返回step3.2;
step4.在求解的最小連通域內(nèi),遞歸回溯搜索最短縫合線;
step5.遍歷路徑,消除局部小回路,優(yōu)化縫合線;
下面結(jié)合實(shí)驗(yàn)對(duì)本發(fā)明的應(yīng)用效果作詳細(xì)的描述。
1、實(shí)驗(yàn)結(jié)果分析
為驗(yàn)證本發(fā)明提出的縫合線檢測(cè)算法性能,將本發(fā)明算法與chon提出的最小最大誤匹配的縫合線檢測(cè)算法進(jìn)行對(duì)比,實(shí)驗(yàn)采用了三組圖像進(jìn)行拼接,第一組是某郊區(qū)航拍圖像,第二組是某水泥廠周邊航拍圖像,第三組是某平原航拍圖像。
為定量評(píng)價(jià)圖像的拼接效果,本發(fā)明采用chon提出的visualdiscordance(visd)評(píng)價(jià)準(zhǔn)則,將其平均值(avisd)作為評(píng)價(jià)縫合線優(yōu)劣的度量準(zhǔn)則。avisd計(jì)算過程見式(7)(8):
cost'=sortdec{cost(x,y)|(x,y)∈path}(7)
其中cost為式(1)求解的誤匹配度量矩陣,cost'是縫合線上像素點(diǎn)量值的降序排列,n為小于路徑長(zhǎng)度的常量。則繞開遮擋區(qū)域的縫合線具有較小的avisd,該評(píng)價(jià)準(zhǔn)則能較好的反映縫合線的拼接效果。
表1給出了本發(fā)明方法和兩種對(duì)比方法在三組圖像上的拼接結(jié)果實(shí)驗(yàn)數(shù)據(jù)。對(duì)比表中方法a和b,可以看出,本發(fā)明提出的最小連通域算法較chon提出的最小最大誤匹配方法,更好地避免了拼接‘錯(cuò)位’現(xiàn)象,降低了avisd值,拼接效果更佳。同時(shí)由于本發(fā)明方法剔除了更多的像素點(diǎn),降低了計(jì)算量,因此搜索時(shí)間較短。對(duì)比分析方法b和方法c,本發(fā)明的縫合線搜索算法在視覺上取得了良好的拼接效果,同時(shí)算法降低了縫合線搜索的時(shí)間復(fù)雜度,縮短了搜索時(shí)間,提高了拼接效率。
表1三組航拍圖像拼接實(shí)驗(yàn)數(shù)據(jù)對(duì)比(n表示重疊區(qū)域面積)
針對(duì)基于縫合線的圖像拼接方法在無人機(jī)航拍圖像拼接處理時(shí)存在的局部‘錯(cuò)位’現(xiàn)象,本發(fā)明通過消除跨重疊區(qū)域遮擋,求解縫合線最小連通域的方式,減少縫合線上視覺可見的不連續(xù)現(xiàn)象。由于最小連通域算法計(jì)算復(fù)雜度較低,且在此連通域內(nèi)搜索縫合線,計(jì)算量減少的同時(shí)具有較低的avisd值,因此本發(fā)明方法可以取得較好的拼接效果。針對(duì)無人機(jī)系統(tǒng)處理大量的圖像數(shù)據(jù)時(shí),要求圖像拼接算法具有較高的時(shí)效性這一問題,本發(fā)明進(jìn)一步提出遞歸回溯的最短縫合線搜索方法,主動(dòng)繞開配準(zhǔn)誤差較大的區(qū)域,有效減少了視覺可見的不連續(xù)現(xiàn)象,較之所有路徑中搜索最短路徑作為縫合線的想法,避免了最優(yōu)問題求解,降低了計(jì)算復(fù)雜度,具有較好的時(shí)效性。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。