本發(fā)明屬于計算機視覺領(lǐng)域,具體涉及一種面向森林防火的全景拼接方法。
背景技術(shù):
隨著國內(nèi)外圖像拼接技術(shù)研究的興起,更多的國內(nèi)外學(xué)界對其研究也逐漸得到發(fā)展。在國外,2007年提出了對一組無序圖像采用概率模型從而得到順序圖像并且檢測出其中的噪聲圖像,實現(xiàn)了自動拼接圖像。隨后有人提出了基于sift的圖像序列拼接算法,算法通過一個概率模型驗證全景圖像序列,通過假設(shè)圖像特征點不變的基礎(chǔ)上實現(xiàn)全自動圖像拼接。近幾年又提出了基于能量譜技術(shù)消除拼接后的重影,該技術(shù)通過使用人眼更加關(guān)注顯著特征這一特點,計算圖像的灰度提到和能量譜,還原并放大縫隙處的特征點,然后根據(jù)人眼視覺特點消除重影。在國內(nèi),有人分析了harris算子的實現(xiàn)原理及其不足,提出了一種改進harris角點檢測算法提取圖像的特征點,提高了角點的定位精度,增強了算法抗噪性能,還減少了計算量,圖像融合采用的是像素加權(quán)的方法,該算法能有效提高配準精確性,具有較好的使用價值。2010提出了基于surf特征配準的pcb圖像拼接算法,在拼接過程中引入surf配準來完成pcb圖像融合,實現(xiàn)了pcb局部小圖像間的無縫拼接,成像質(zhì)量較高。2010年改進了圖像拼接算法中的特征點匹配問題,他使用雙向順序搜尋的方法得到圖像間的最大相關(guān)性角點,有效地提高了圖像拼接的精度和速度。
從圖像拼接理念的提出到現(xiàn)在,圖像拼接技術(shù)得到了極大的重視和較多的研究,國內(nèi)外研究者提出并設(shè)計了多種多樣的圖像拼接方法,拼接技術(shù)獲得了長足的發(fā)展。但是目前現(xiàn)有的拼接技術(shù),基本上都是針對近距離以及鏡頭焦距基本固定的場景。在森林防火中攝像頭監(jiān)測的距離達到了5公里以上,監(jiān)測范圍的變化以及檢測場景的復(fù)雜為全景拼接帶來了各種新的挑戰(zhàn),如攝像頭的變焦帶來的圖像模糊,監(jiān)測范圍內(nèi)大量植物、山區(qū)的相似性引發(fā)的特征提取的困難等。通過分析研究全景圖像拼接的發(fā)展現(xiàn)狀可知,圖像拼接技術(shù)依然面臨一些需要解決的問題。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)中存在的上述技術(shù)問題,本發(fā)明提出一種面向森林防火的全景拼接方法,設(shè)計合理,克服了現(xiàn)有技術(shù)的不足,具有良好的效果。
在面向森林防火復(fù)雜大場景的全景圖像拼接過程中,由于現(xiàn)在要拼接的對象是從攝像頭獲取的連續(xù)圖像幀,待拼接圖像數(shù)量較大,需要匹配速率較快的算法,直接從視頻中得到待拼接的圖像的話,相鄰兩幀的圖像重疊部分太多,會降低匹配速率,所以本發(fā)明中每隔n幀來拼接,n的選擇由攝像機旋轉(zhuǎn)角度等參數(shù)決定,以使相鄰兩幀圖像重疊部分在一半左右為宜;場景復(fù)雜,對應(yīng)的拼接算法時要滿足多種場景的拼接,包括森林、天空、道路、湖泊等復(fù)雜場景的拼接,這就對算法的配準精度提出了更高的要求;監(jiān)測距離超過5公里,整個全景包含的區(qū)域達到了100平方公里,帶來了各種攝像參數(shù)和圖像質(zhì)量的變化,使得全景拼接的算法更為復(fù)雜。
為了實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
1、一種面向森林防火的全景拼接方法,包括如下步驟:
步驟1:啟動用于森林防火監(jiān)控的攝像頭,將沿特定方向轉(zhuǎn)動過程中獲得的視頻幀經(jīng)過預(yù)處理后輸入給拼接線程,具體包括如下步驟:
步驟1.1:啟動拼接線程,在拼接線程啟動的同時啟動預(yù)處理線程,裁剪從攝像頭中獲取的一幀圖像的邊緣部分;
步驟1.2:將步驟1.1預(yù)處理完成的一幀圖像傳送到拼接線程中;
步驟2:對預(yù)處理后的每一幀圖像提取特征點;
步驟3:對于相鄰圖像的每個特征點,使用k-d樹算法尋找最鄰近的匹配特征點;
步驟4:根據(jù)步驟3中找到的匹配特征點,用ransac算法選取4對特征匹配對求解對應(yīng)矩陣;
步驟5:對于步驟4求出的對應(yīng)矩陣,利用捆綁調(diào)整算法估計具有最小誤差的相機參數(shù)值,并以此計算出初步的全景拼接圖像;
步驟6:對于步驟5中所得到的全景拼接圖像,使用多波段融合的方法消除拼接縫隙,得到最終的全景拼接圖像。
優(yōu)選地,在步驟3中,具體包括如下步驟:
步驟3.1:用待拼接圖像的左側(cè)的圖和待拼接圖像的右側(cè)的圖的特征初始化k-d樹;
步驟3.2:對待拼接圖像的左側(cè)圖中的每個特征執(zhí)行優(yōu)先搜索以查找最鄰近的匹配特征點。
優(yōu)選地,在步驟4中,具體包括如下步驟:
步驟4.1:隨機地從所提取的特征點中抽出4對特征點,計算出變換矩陣h,記為模型m;
其中,h的形式為:
其中,hij為從圖像j向圖像i變換時的矩陣;
ki是源圖像的相機模型,
rj、kj是和ri、ki形式相同的參數(shù);
步驟4.2:根據(jù)實際情況設(shè)置一個閾值;
步驟4.3:計算特征點中所有數(shù)據(jù)與模型m的誤差,并判斷誤差與閾值的大??;
若:判斷結(jié)果是誤差小于閾值,則將誤差小于閾值的特征點加入到內(nèi)點集i中;
或判斷結(jié)果是誤差大于閾值,則重復(fù)步驟4.3;
步驟4.4:判斷步驟4.3中內(nèi)點集i中元素個數(shù)與最優(yōu)內(nèi)點集i_optimal中元素個數(shù)的大?。?/p>
若:判斷結(jié)果是步驟4.3中內(nèi)點集i中元素個數(shù)大于最優(yōu)內(nèi)點集i_optimal中元素個數(shù),則更新ioptimal=i,同時更新迭代次數(shù)k;
或判斷結(jié)果是步驟4.3中內(nèi)點集i中元素個數(shù)小于或者等于最優(yōu)內(nèi)點集i_optimal中元素個數(shù),則重復(fù)步驟4.3-步驟4.4;
步驟4.5:判斷迭代次數(shù)k與總迭代次數(shù)k的大??;
若:判斷結(jié)果是迭代次數(shù)k大于總迭代次數(shù)k,則退出;
或判斷結(jié)果是迭代次數(shù)k小于或者等于總迭代次數(shù)k,則迭代次數(shù)k加1,并重復(fù)步驟4.3-步驟4.5,直至迭代次數(shù)k大于總迭代次數(shù)k。
優(yōu)選地,在步驟6中,具體包括如下步驟:
步驟6.1:為每個圖像i分配一個加權(quán)函數(shù)w(x,y)=w(x)w(y);
其中,從中心到邊緣w(x)的值從1到0線性變化;
步驟6.2:對加權(quán)函數(shù)在球形坐標系wi(θ,φ)內(nèi)重新采樣,采樣后的加權(quán)函數(shù)的圖像強度的加權(quán)總和如公式(1)所示:
其中,iliner(θ,φ)是使用線性融合形成的復(fù)合球面圖像;上標i是每個需要融合的圖像的編號,i的取值范圍為[1n],n是需要融合的圖像的總數(shù)量;wi(θ,φ)是圖像i的權(quán)重;θ、
步驟6.3:通過找到圖像最有用的點集來初始化每個圖像的混合權(quán)重,混合權(quán)重表示如下:
這些最大權(quán)值的映射連續(xù)混合形成了每個波段的混合權(quán)值,所呈現(xiàn)圖像的高通版本形式如下:
其中,gσ(θ,φ)是標準偏差為σ的高斯分布;*操作符表示卷積;ii(θ,φ)為第i個圖像在球形坐標系wi(θ,φ)中的表示,i的取值范圍為[1n],n是需要融合的圖像的總數(shù)量;
通過模糊這幅圖像的最大權(quán)值映射,形成融合權(quán)值,表示如下:
其中,
步驟6.4:對每個波段,使用對應(yīng)的融合權(quán)值線性合并重疊的圖像,如下所示:
其中,下標k指的是各個波段;
這會引起高頻段在小范圍內(nèi)的融合,低頻段在大范圍內(nèi)的融合。
本發(fā)明所帶來的有益技術(shù)效果:
本發(fā)明使用特征點匹配時使用ransac算法和捆綁調(diào)整相結(jié)合的算法、多波段融合的算法適應(yīng)森林防火項目中復(fù)雜場景的拼接;本發(fā)明拼接圖像數(shù)量大,包含的場景范圍達到了100平方公里以上,并且拼接效率較高。
附圖說明
圖1為面向森林防火拼接方法的流程圖。
圖2為用k-d樹算法尋找最近鄰特征點匹配的流程圖。
圖3為用ransac算法求區(qū)單應(yīng)矩陣的流程圖。
具體實施方式
下面結(jié)合附圖以及具體實施方式對本發(fā)明作進一步詳細說明:
為了滿足森林防火項目中待拼接圖像數(shù)量大并且適合多種復(fù)雜大場景的圖像拼接,在一定程度上提高圖像拼接速率,本發(fā)明提出了一種面向森林防火復(fù)雜大場景的全景拼接方法。該方法主要包括兩部分:特征點的匹配和圖像匹配。點的匹配涉及發(fā)明內(nèi)容中的步驟(3),變換矩陣的求解涉及發(fā)明內(nèi)容的步驟(4)至步驟(5)。首先對于相鄰圖像的每個特征點,使用k-d樹算法尋找最近鄰的匹配特征點,然后根據(jù)上面找到的匹配特征點用ransac算法選取4對特征匹配對求解對應(yīng)矩陣,然后使用捆綁調(diào)整算法對所得到的對應(yīng)矩陣中的參數(shù)調(diào)制以達到最小的誤差。下面展開具體說明。
由于sift特征在旋轉(zhuǎn)和尺度變化時是不變的,所以可以處理方向和大小變化的圖像,這是傳統(tǒng)的特征匹配技術(shù)不能實現(xiàn)的,例如harris角點圖像修補的相關(guān)性。傳統(tǒng)的相關(guān)性在圖像旋轉(zhuǎn)是是發(fā)生變化的,harris角點在改變圖像尺度時也是變化的。
在這里假設(shè)相機繞光學(xué)中心旋轉(zhuǎn),圖像的變換群是一個對應(yīng)矩陣的特殊群。由一個旋轉(zhuǎn)矢量θ=[θ1,θ2,θ3]和焦距f把每個攝像頭參數(shù)化,就給出了成對的對應(yīng)矩陣
4參數(shù)的相機模型定義為:
旋轉(zhuǎn)使用指數(shù)表示,旋轉(zhuǎn)參數(shù)ri用對數(shù)表示:
在這個變換群中,理想條件下將會使用不變的圖像特征。
在圖像坐標中對于小的變換表示如下:
或者等價于
其中,
從所有n個圖像提取特征點后,需對特征點進行匹配。由于多個圖像可能重疊在一個單一的光線上,在特征空間內(nèi)每個特征點需和它最近的4個領(lǐng)域點匹配,通過使用k-d樹算法找到近似最近的領(lǐng)域點,時間復(fù)雜度為o(nlogn)。k-d樹是一種軸對齊的二進制空間劃分,它在平均最高方差遞歸劃分特征空間。
下面來詳細地展開利用k-d樹的最近鄰搜索算法尋找匹配特征點x,也就是尋找與根結(jié)點距離最近的葉子結(jié)點x的過程。具體的實施方法如下:
(1)從根結(jié)點出發(fā),遞歸地向下訪問k-d樹。如果目標點x當前維的坐標小于切分點的坐標,則移動到左子結(jié)點,否則移動到右子結(jié)點。直到子節(jié)點為葉結(jié)點為止。
(2)以此葉結(jié)點為“當前最近點”。
(3)遞歸地向上回退,在每個結(jié)點進行以下操作:
(a)如果該結(jié)點保存的實際點比當前最近點距離目標點更近,則以該實例點為“當前最近點”。
(b)當前最近點一定存在于該結(jié)點的一個子結(jié)點對應(yīng)區(qū)域。檢查該子結(jié)點的父結(jié)點的另一個子結(jié)點對應(yīng)的區(qū)域是否有更近的點。具體地,檢查另一個子結(jié)點對應(yīng)的區(qū)域是否與以目標點為球心、以目標點與“當前最近點”間的距離為半徑的超球體相交。如果相交,可能在另一個子結(jié)點對應(yīng)的區(qū)域內(nèi)存在距離目標點更近的點,移動到另一個子結(jié)點。接著,遞歸地進行最近鄰搜索;如果不相交,向上回退。
(4)當回退到根結(jié)點時,搜索結(jié)束,最后的“當前最近點”即為x的最近鄰點。
具體的流程圖如圖2所示。
2.面向森林防火的圖像匹配
圖像匹配的目標是找到所有匹配圖像,然后匹配連通成為全景圖。在面向森林防火的整個圖像拼接過程中,得到的是有序的圖像序列。從上面的特征匹配的步驟中,找到大量匹配點的圖像。對于當前圖像,將m幅圖像作為可能的匹配圖像,這m幅圖像與當前圖像有最大數(shù)量的匹配特征點。首先,使用ransac算法選擇一系列和圖像間對應(yīng)矩陣包含的內(nèi)點。ransac算法是使用最少的一組隨機采樣匹配點的一種魯棒估計過程,用來估計圖像變換參數(shù),并找到與數(shù)據(jù)具有最好一致性的解決方案。在全景圖的情況下,選擇r=4對匹配特征點,使用直接線性變換方法計算圖像間的對應(yīng)矩陣h。該算法的具體步驟圖3所示。
然而考慮到圖像間的幾何一致性匹配集,需要捆綁調(diào)整解決所有相機參數(shù)的問題,這是重要的一個步驟,由于成對對應(yīng)矩陣拼接將會造成累計誤差,忽略圖像間的多重約束。圖像一個一個被添加到捆綁調(diào)節(jié)器,最佳匹配圖像在每一步被添加,新圖像用與最佳匹配圖像具有相同的旋轉(zhuǎn)和焦距長度初始化,然后相機參數(shù)使用l-m算法被更新。
當然,上述說明并非是對本發(fā)明的限制,本發(fā)明也并不僅限于上述舉例,本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明的實質(zhì)范圍內(nèi)所做出的變化、改型、添加或替換,也應(yīng)屬于本發(fā)明的保護范圍。