本發(fā)明屬于圖像信息處理技術領域,涉及圖像拼接技術,尤其涉及一種基于改進光流的圖像拼接方法。
背景技術:
圖像拼接是利用多個攝像機獲取不同角度的圖像并進行拼接形成寬視野圖像的技術。根據(jù)場景不同,可以分為靜止場景的圖像拼接和運動場景的圖像拼接。對于靜止場景,難點在于如何消除靜止視差引起的重影。對于運動場景,不僅包括靜止物體的視差,還有前景移動物體穿越相機時的重影。
為了消除運動目標的拼接重影,如“鬼影”,目前方法大致可分為三類:第一類方法是采用先進的圖像合成技術,如seamcutting(接縫切割)方法,但這類方法在有移動目標經(jīng)過縫合線時,拼接圖像中會出現(xiàn)運動目標斷裂。第二類方法是基于深度信息的配準方法,因為運動區(qū)域和靜止區(qū)域的深度特征區(qū)別較明顯,采用立體匹配方法估計相鄰圖像的深度信息,利用深度信息進行配準,該類方法深度信息的正確估計尤為關鍵,然而,深度估計計算復雜度通常很高。第三類方法是基于運動矢量的配準方法,首先是估計運動矢量(運動大小和運動方向),然后根據(jù)運動矢量匹配相鄰兩幅圖像。
目前先進的運動矢量估計方法為光流法。對于光流估計,一方面,有能量最小化方法,該方法能產(chǎn)生準確、密集的流場,但是對于大位移的運動目標,光流的計算不準確。針對大位移運動目標,相應有特征描述子匹配法,這類方法計算的光流信息非常稀疏,小位移處的光流計算精度有限,由于缺少規(guī)律性約束,存在許多異常值。facebooksurround360采用了能量最小化方法產(chǎn)生密集的光流場,通過實驗發(fā)現(xiàn),對于小位移的運動目標,利用光流信息進行配準,配準精度高,可以消除拼接重影。但對于大視差大位移的運動目標,拼接重影問題沒能得到解決。
故亟需一種圖像拼接方法,能實現(xiàn)重疊區(qū)域既包括大位移運動目標,又包含小位移運動目標時的圖像拼接。
技術實現(xiàn)要素:
本發(fā)明針對重疊區(qū)域既包括大位移運動目標,又包含小位移運動目標時圖像拼接容易出現(xiàn)重影的技術問題,提供了一種基于改進光流的圖像拼接方法,消除了圖像拼接出現(xiàn)的重影現(xiàn)象。
一種基于改進光流的圖像拼接方法,包括:
s1:計算空間相鄰圖像的重合區(qū)域;
s2:基于特征描述符匹配和密集匹配相結合的方法計算光流;
s201:構造由總能量函數(shù)約束的變分模型;總能量約束方式如下:
e(w)=ecolor(w)+αegrad(w)+βesmooth(w)+γematch(w,w1)+δedesc(w1);其中,ecolor(w)為灰度值約束項、egrad(w)為梯度約束、esmooth(w)為平滑度約束、edesc(w1)為描述符匹配約束項、ematch(w,w1)為光流平方差;
s202:特征描述符匹配約束項edesc(w1)求解;
s203:采用連續(xù)方法對變分模型中ecolor(w)為灰度值約束項、egrad(w)為梯度約束、esmooth(w)為平滑度約束、ematch(w,w1)為光流平方差進行求解;
s3:基于上一步驟求得的光流信息對重合區(qū)域進行配準和變換;
具體的,基于s2步驟計算的光流場,對重疊區(qū)域進行配準變換,變換公式如下:
i1(p)=i2(x+u(p),y+v(p))=i2(p′)
其中,i1、i2分別表示左右圖像,p=(x,y)表示左圖像的像素點坐標,u(p)表示p點在x方向的光流,v(p)表示p點在y方向的光流;p′表示右圖像的像素點坐標,即p和p′是根據(jù)光流而對應的兩像素點;
即用單應性矩陣表示為:
s4:對變換后的圖像進行融合,從而得到拼接后圖像;
對變換后的圖像采用漸進漸出圖像融合方法融合重疊區(qū)域,再將非重疊區(qū)域和拼接后的重疊區(qū)域圖像融合,得到最終的全景圖像;漸進漸出融合公式為:
其中r1為左圖像非重疊區(qū)域,r2為右圖像非重疊區(qū)域,r3為左右圖像的圖像重疊區(qū)域,
進一步的,所述s201中,
i1,i2分別是待配準的左圖像和右圖像,x=(x,y)t表示是圖像區(qū)域
首先,加上灰度值約束項ecolor(w)普通約束,即對應點應具有相同的灰度值;約束方式如下:
ecolor(w)=∫ωψ(|i2(x+w(x))-i1(x)|2)dx
函數(shù)
梯度約束egrad(w)約束方式如下:
其中,
平滑度約束esmooth(w)的約束方式如下:
其中,u(x)表示像素點x=(x,y)t在x方向的位移,v(x)表示y方向的位移;
特征匹配法的匹配約束項edesc(w1)約束方式如下:
edesc(w1)=∫δ(x)|f2(x+w1(x))-f1(x)|2dx
其中,w1(x)表示基于描述符匹配法估計的x點的光流;δ(x)的取值為:當左圖像上點x位置有特征點時,δ(x)取值為1,否則為0;f1(x)表示左圖像x點的特征描述符,f2(x+w1(x))表示右圖像的x+w1(x)點的特征描述符;
光流平方差ematch(w,w1)約束方式如下:
ematch(w,w1)=∫δ(x)ρ(x)ψ(|w(x)-w1(x)|2)dx
其中,ρ(x)表示匹配權重,
d1和d2分別表示特征描述符的最佳匹配和第二最佳匹配的歐氏距離;當最佳匹配和第二匹配相差較遠時,ρ(x)匹配權重值大。
進一步的,所述步驟s202中求解匹配約束項edesc(w1)具體包括:
假設δ(x)是左圖像的離散網(wǎng)格,其坐標表示為xi,δ′(x)是右圖像的離散網(wǎng)格,其坐標表示為xj;特征描述符匹配項可以改寫成如下:
由于缺少規(guī)則約束,每一個網(wǎng)格點相互獨立;因此,在優(yōu)化w1時,可以在每一個網(wǎng)格點xi獨立求解;最優(yōu)解w1(xi)=xj-xi,其整體的時間復雜度為ο(mn),其中m、n分別是左圖像和右圖像的網(wǎng)格點數(shù);
s2021:圖像分割;
對重疊區(qū)域左右原圖像進行分割,將重疊區(qū)域左右原圖像分割成若干個區(qū)域;
s2022:對分割后的圖像區(qū)域進行方向梯度直方圖提??;
s2023:區(qū)域匹配;
假設左圖像分割區(qū)域i和右圖像分割區(qū)域j的網(wǎng)格點的坐標分別為xi、xj,兩區(qū)域的匹配分數(shù)為:
d1和d2分別表示特征描述符的最佳匹配和第二最佳匹配的歐氏距離,其中d的計算公式為:
n是i和j的組合總數(shù);
通過匹配分數(shù)選取最優(yōu)相匹配的區(qū)域塊,從而計算該區(qū)域像素點在x方向和y方向的位移,即光流w1的大小。
進一步的,所述s1具體包括:
首先,計算相鄰兩幅圖像的重合角度:
overlapangle=(fovhangle*numcams-360)/numcams
其中,overlapangle為相鄰兩幅圖像的重合角度,fovhangle是指攝像機的水平視角,numcams表示攝像機的個數(shù),numcams數(shù)量的攝像機獲取水平360度場景視頻;
然后,根據(jù)重合角度計算空間相鄰兩幅圖像重合區(qū)域的圖像寬度:
其中,overlapimgwidth指相鄰兩幅圖像重合區(qū)域的圖像寬度,imgwidth表示原圖像的圖像寬度,overlapangle為相鄰兩幅圖像的重合角度,fovhangle是指攝像機的水平視角。
為了消除大位移運動目標的拼接重影,本發(fā)明提出了一種基于改進光流的圖像拼接方法,結合特征描述子匹配和密集光流匹配估計光流信息,該方法對大位移和小位移光流均可精確計算,從而使光流配準精度可以大大提高。同時,光流計算可以充分利用gpu(graphicsprocessingunit,圖形處理器)的并行、高速運算性能,實時性好。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的一種基于改進光流的圖像拼接方法的流程圖;
圖2是本發(fā)明實施例提供的基于特征描述子匹配和密集匹配相結合的光流方法的流程圖;
圖3是本發(fā)明實施例中hog(histogramoforientedgradient,方向梯度直方圖)特征描述子的示意圖。
具體實施方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明了,下面結合具體實施方式并參照附圖,對本發(fā)明進一步詳細說明。應該理解,這些描述只是示例性的,而并非要限制本發(fā)明的范圍。此外,在以下說明中,省略了對公知結構和技術的描述,以避免不必要地混淆本發(fā)明的概念。
本發(fā)明針對重疊區(qū)域既包括大位移運動目標,又包含小位移運動目標時圖像拼接容易出現(xiàn)重影的技術問題,本發(fā)明提供了一種基于改進光流的圖像拼接方法。該方法很好地消除了圖像拼接后出現(xiàn)的重影現(xiàn)象。如圖1所示,該方法包括以下步驟:
s1:計算空間相鄰圖像的重合區(qū)域;
首先,計算相鄰兩幅圖像的重合角度:
overlapangle=(fovhangle*numcams-360)/numcams
其中,overlapangle為相鄰兩幅圖像的重合角度,fovhangle是指攝像機的水平視角,numcams表示攝像機的個數(shù),numcams數(shù)量的攝像機獲取水平360度場景視頻。
然后,根據(jù)重合角度計算空間相鄰兩幅圖像重合區(qū)域的圖像寬度:
其中,overlapimgwidth指相鄰兩幅圖像重合區(qū)域的圖像寬度,imgwidth表示原圖像的圖像寬度,overlapangle為相鄰兩幅圖像的重合角度,fovhangle是指攝像機的水平視角。
s2:基于特征描述符匹配和密集匹配相結合的方法計算光流;
為了準確計算出小位移和大位移運動目標的光流信息,本發(fā)明提出一種基于特征描述符匹配和密集匹配相結合的方法。特征描述符匹配方法對于大位移光流場的計算精確度高,但小位移光流場的精確度有限;密集匹配方法(能量最小化方法)對于小位移運動目標可以得到精確、密集的光流場,但大位移光流場的精確度有限。因此,本發(fā)明提出將兩者結合計算光流用于圖像拼接中。光流計算的流程圖如圖2所示,包括如下步驟:
s201:構造變分模型
設i1,i2分別是待配準的左圖像和右圖像,x=(x,y)t表示是圖像區(qū)域
ecolor(w)=∫ωψ(|i2(x+w(x))-i1(x)|2)dx
與hornandschunck模型相反,這里沒有引入線性化。函數(shù)
由于光照變化,僅匹配顏色或灰度值并不可靠,因此加入梯度約束egrad(w)(灰度變化一致性約束):
其中,
由于最優(yōu)位移場在場景中的對象邊界處具有不連續(xù)性,因此,進一步引入流場的平滑度約束esmooth(w):
其中,u(x)表示像素點x=(x,y)t在x方向的位移,v(x)表示y方向的位移。
以上三個約束組成的密集匹配法,可以處理變形、運動不連續(xù)性和遮擋。但是,對于大位移的估計精度有限。特征描述符匹配法可以用來估計大位移光流,但是它是一種離散估計方法,不能提高子像素的準確度。因此,引入特征匹配法的匹配約束項edesc(w1)加入到上述變分模型中:
edesc(w1)=∫δ(x)|f2(x+w1(x))-f1(x)|2dx
其中,w1(x)表示基于描述符匹配法估計的x點的光流。δ(x)的取值為:當左圖像上點x位置有特征點時,δ(x)取值為1,否則為0。f1(x)表示左圖像x點的特征描述符,f2(x+w1(x))表示右圖像的x+w1(x)點的特征描述符。
假設密集匹配法和特征匹配法估計的光流場都比較精確,那么w1(x)與w(x)應盡可能相似,因此加入兩者的平方差作為另一約束項:
ematch(w,w1)=∫δ(x)ρ(x)ψ(|w(x)-w1(x)|2)dx
其中,ρ(x)表示匹配權重,
d1和d2分別表示特征描述符的最佳匹配和第二最佳匹配的歐氏距離。當最佳匹配和第二匹配相差較遠時,ρ(x)匹配權重值大。
將以上五個約束項組合,得到的總能量函數(shù)為:
e(w)=ecolor(w)+αegrad(w)+βesmooth(w)+γematch(w,w1)
+δedesc(w1)
其中,α、β、γ、δ均為權重系數(shù)。
因此,光流的計算轉換為能量函數(shù)最小化的優(yōu)化問題。通過將特征描述符匹配和密集匹配相結合的方法計算光流,對于小位移和大位移的光流場均可精確計算。
s202:特征描述符匹配約束項edesc(w1)求解;
描述符匹配項求解著重于最小化edesc(w1),其獨立于其余能量約束項,edesc(w1)的最小化為離散優(yōu)化問題。假設δ(x)是左圖像的離散網(wǎng)格,其坐標表示為xi,δ′(x)是右圖像的離散網(wǎng)格,其坐標表示為xj。特征描述符匹配項可以改寫成如下:
由于缺少規(guī)則約束,每一個網(wǎng)格點相互獨立。因此,在優(yōu)化w1時,可以在每一個網(wǎng)格點xi獨立求解。最優(yōu)解w1(xi)=xj-xi,其整體的時間復雜度為ο(mn),其中m、n分別是左圖像和右圖像的網(wǎng)格點數(shù)。本發(fā)明采用簡單有效的最近鄰匹配優(yōu)化求解特征描述符匹配項。
以上的優(yōu)化過程簡單,只需有合理的描述符和有效的網(wǎng)格點。良好的描述符匹配方法的主要在于能夠精確捕獲較小結構的運動,并且描述符具有獨特性,以此來限制錯誤匹配的數(shù)量。本發(fā)明采用基于hog特征的區(qū)域匹配法,包含三個步驟:一是圖像分割、二是hog描述符提取,三是區(qū)域匹配。
s2021:圖像分割;
對重疊區(qū)域左右原圖像進行分割,將重疊區(qū)域左右原圖像分割成若干個區(qū)域,圖像分割是為了將圖像分割成多個塊,用于s2023區(qū)域匹配,區(qū)域匹配比全局匹配速度更快。
本發(fā)明采用的是arbelaez等人提出的owt-ucm算法對圖像進行分割。該方法引入分水嶺變換的新變體orientedwatershedtransform(owt,定向分水嶺變換),用于生成一組輪廓檢測器輸出的初始化區(qū)域,然后從初始區(qū)域的邊界構建一個ultrametriccontourmap(ucm,超度量輪廓圖)。輪廓檢測器采用的是maire等人提出的gpb邊緣檢測器,該邊緣檢測器優(yōu)于簡單的邊緣檢測是有考慮紋理。
s2022:對分割后的圖像區(qū)域進行方向梯度直方圖提??;
得到圖像分割區(qū)域后,本發(fā)明計算密集的方向梯度直方圖(hog),基于7×7的鄰域計算梯度方向直方圖,直方圖包含15個不同方向。
首先,采用gamma校正法對輸入圖像進行顏色空間歸一化,目的是調(diào)節(jié)圖像的對比度,降低圖像局部的陰影和光照變化;然后,用σ=0.8的高斯濾波器進行平滑處理。接著,計算像素點15個不同方向的梯度;再歸一化hog特征向量;最后,如圖3所示,將中心像素點和與之相隔4個像素距離的8個鄰域點的方向梯度直方圖串聯(lián)組成最終的特征向量,即描述符為15*9=135維的向量。
s2023:區(qū)域匹配;
我們定義網(wǎng)格δ(x)來選取hog特征描述符,在x方向和y方向相隔4個像素進行選取,即以降采樣因子16選取特征描述符,從而減少匹配代價。假設左圖像分割區(qū)域i和右圖像分割區(qū)域j的網(wǎng)格點的坐標分別為xi、xj。兩區(qū)域的匹配分數(shù)為:
d1和d2分別表示特征描述符的最佳匹配和第二最佳匹配的歐氏距離,其中d的計算公式為:
n是i和j的組合總數(shù)。
通過匹配分數(shù)選取最優(yōu)相匹配的區(qū)域塊,從而計算該區(qū)域像素點在x方向和y方向的位移,即w1。
s203:變分模型求解;
特征描述符項edesc(w1)求解完之后,總能量函數(shù)的其余部分可采用連續(xù)方法求解。本發(fā)明采用brox等人提出的基于局部優(yōu)化和由粗到精相結合的優(yōu)化方法。
s3:基于s2求得的光流信息對重合區(qū)域進行配準和變換;
基于s2步驟計算的光流場,對重疊區(qū)域進行配準變換,變換公式如下:
i1(p)=i2(x+u(p),y+v(p))=i2(p′)
其中,i1、i2分別表示左右圖像,p=(x,y)表示左圖像的像素點坐標,u(p)表示p點在x方向的光流,v(p)表示p點在y方向的光流。p′表示右圖像的像素點坐標,即p和p′是根據(jù)光流而對應的兩像素點。
即用單應性矩陣表示為:
s4:對變換后的圖像進行融合,從而得到拼接后圖像。
基于光流信息得到變換后的圖像后,對變換后的圖像采用漸進漸出圖像融合方法融合重疊區(qū)域,再將非重疊區(qū)域和拼接后的重疊區(qū)域圖像融合,得到拼接后全景圖像。漸進漸出融合公式為:
其中r1為左圖像非重疊區(qū)域,r2為右圖像非重疊區(qū)域,r3為左右圖像的圖像重疊區(qū)域,
為了消除大位移運動目標的拼接重影,本發(fā)明提出了一種基于改進光流的圖像拼接方法,結合特征描述子匹配和密集光流匹配估計光流信息,該方法對大位移和小位移光流均可精確計算,從而使光流配準精度可以大大提高。同時,光流計算可以充分利用gpu(graphicsprocessingunit,圖形處理器)的并行、高速運算性能,實時性好。
應當理解的是,本發(fā)明的上述具體實施方式僅僅用于示例性說明或解釋本發(fā)明的原理,而不構成對本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。此外,本發(fā)明所附權利要求旨在涵蓋落入所附權利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。