本發(fā)明涉及一種圖像拼接方法,尤其涉及一種基于局部配準(zhǔn)的圖像拼接方法。
背景技術(shù):
圖像拼接算法是最早研究和廣泛使用的計(jì)算機(jī)視覺技術(shù)。圖像拼接技術(shù)被廣泛于視頻防抖、視頻摘要和全景圖生成等領(lǐng)域。比如錄像機(jī)中的防抖功能就是通過相鄰幀之間的配準(zhǔn)算法來實(shí)現(xiàn)的。如今的百度地圖上的360度無死角的街景圖和衛(wèi)星地圖也都是通過圖像拼接技術(shù)來生成的。圖像拼接技術(shù)主要包括兩部分:圖像配準(zhǔn)和圖像融合。其中圖像配準(zhǔn)解決的是找出圖像間的重疊區(qū)域問題,是圖像拼接技術(shù)的核心和關(guān)鍵,而圖像融合技術(shù)是解決已配準(zhǔn)的圖像的最終畫出問題,目的是消除縫合線以及光度和色度的影響??梢詮倪@兩個(gè)步驟尋求解決圖像拼接問題的方法,但是關(guān)鍵點(diǎn)是圖像配準(zhǔn)步驟,圖像融合技術(shù)只是一種輔助手段。
傳統(tǒng)的圖像配準(zhǔn)方法是在由輸入圖像間匹配好的特征點(diǎn)估計(jì)出一個(gè)全局的二維映射,然后用這個(gè)映射對圖像進(jìn)行配準(zhǔn)。典型二維映射是投影變換,用單應(yīng)性矩陣H表示。但是這類全局的投影變換對輸入圖像的場景有嚴(yán)格的要求,即輸入圖像的場景應(yīng)該位于同一平面上,而且圖像間必須只發(fā)生了相機(jī)的旋轉(zhuǎn)運(yùn)動(dòng),有視差的圖像是不能接受的。傳統(tǒng)拼接技術(shù)中對于場景的要求過于苛刻,我們?nèi)粘I钪信臄z的照片經(jīng)常不滿足這樣的條件,所以需要對傳統(tǒng)的算法進(jìn)行改進(jìn),以適應(yīng)各種場景的要求。
由于投影變換模型固有的缺陷,投影變換不能夠?qū)植康钠钸M(jìn)行很好的擬合,也就是說當(dāng)場景中出現(xiàn)多個(gè)深度層時(shí),由所有匹配特征點(diǎn)估計(jì)出來全局的投影變換對局部的某些特征點(diǎn)的擬合效果不好。近年來出現(xiàn)了一些隨空域變化的變換方法,例如盡可能的投影變換方法,它建立了一個(gè)新的模型對局部的匹配特征點(diǎn)進(jìn)行了很好的擬合,克服了這個(gè)投影變換的缺陷。此類方法能較好地處理同時(shí)發(fā)生了旋轉(zhuǎn)變化和較大平移變化的圖像間的配準(zhǔn),能有效的在復(fù)雜場景下完成拼接,大大減小了圖像拼接對場景的限制,能處理一定視差下的圖像拼接問題,但是大視差下會(huì)失效。
現(xiàn)有的一些圖像拼接算法大視差下的效果很差。這是因?yàn)樵诖笠暡钕拢矬w的空間相對位置關(guān)系發(fā)生了改變,無論怎么樣都達(dá)不到很好的全局配準(zhǔn)。針對這個(gè)問題,有學(xué)者公開了一種結(jié)合了隨機(jī)搜索和配準(zhǔn)質(zhì)量評價(jià)的局部配準(zhǔn)算法:視差容忍方法。這個(gè)算法并不是對整個(gè)重疊區(qū)域進(jìn)行配準(zhǔn),而是只在重疊區(qū)域內(nèi)找到一塊局部區(qū)域進(jìn)行配準(zhǔn),最后合成為拼接結(jié)果。此方法能處理一些大視差情況下的圖像拼接問題,但是當(dāng)輸入圖像中出現(xiàn)了大量顯著度高的圖像結(jié)構(gòu)時(shí),此方法并不能找到一塊合適的區(qū)域進(jìn)行局部配準(zhǔn),這是由于算法中的隨機(jī)搜索算法的局限性造成的。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提出一種配準(zhǔn)區(qū)域更準(zhǔn)確、魯棒性更好的局部配準(zhǔn)圖像拼接方法。該方法能有效處理大視差下的圖像拼接問題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供一種基于局部配準(zhǔn)的圖像拼接方法。
一種基于局部配準(zhǔn)的圖像拼接方法,包括以下步驟:
步驟1:特征點(diǎn)檢測與匹配:首先進(jìn)行特征點(diǎn)檢測,提取輸入圖像I0和I1的特征點(diǎn),并對特征點(diǎn)進(jìn)行匹配,得到N組匹配點(diǎn);
步驟2:設(shè)來自輸入圖像I0和I1上的匹配點(diǎn)集合的編號m為0;
步驟3:圖像局部配準(zhǔn):當(dāng)前匹配點(diǎn)集合m即為局部區(qū)域,對這個(gè)局部區(qū)域進(jìn)行配準(zhǔn),得到對應(yīng)的3×3單應(yīng)性映射矩陣Hm;
步驟4:判斷當(dāng)前局部單應(yīng)性映射矩陣Hm的配準(zhǔn)誤差是否小于配準(zhǔn)閾值,或者是否收斂,如果是,則轉(zhuǎn)向步驟6,否則轉(zhuǎn)向步驟5;
步驟5:匹配點(diǎn)集合調(diào)整:先利用運(yùn)動(dòng)矢量調(diào)整匹配點(diǎn)集合,再利用視差概率調(diào)整匹配點(diǎn)集合,得到新的匹配點(diǎn)集合,并把當(dāng)前匹配點(diǎn)集合的編號m加1,轉(zhuǎn)向步驟3;
步驟6:圖像合成:根據(jù)映射矩陣Hm,計(jì)算縫隙,最后生成拼接結(jié)果。
上述步驟5所述的匹配點(diǎn)對集合調(diào)整方法,包括以下步驟:
步驟5-1:利用運(yùn)動(dòng)矢量調(diào)整匹配點(diǎn)對集合:
計(jì)算匹配點(diǎn)對集合m中每一對匹配點(diǎn)(fi0,fi1)的運(yùn)動(dòng)矢量v:
其中fi0→1是輸入圖像I0的特征點(diǎn)fi0經(jīng)過單應(yīng)性矩陣Hm變換后得到的在輸入圖像I1坐標(biāo)系上的坐標(biāo)。設(shè)置運(yùn)動(dòng)矢量偏移閾值,然后根據(jù)計(jì)算得到的運(yùn)動(dòng)矢量的結(jié)果,在匹配點(diǎn)對集合m中剔除運(yùn)動(dòng)矢量的模大于運(yùn)動(dòng)矢量偏移閾值的匹配點(diǎn)對。
步驟5-2:利用視差概率調(diào)整匹配點(diǎn)對集合:
計(jì)算匹配點(diǎn)對集合m中每一對匹配點(diǎn)(fi0,fi1)的視差概率,具體方法為:
(1)初始化視差概率:
對于出現(xiàn)在輸入圖像I0的特征點(diǎn)fi0來說,把圖像I0經(jīng)過單應(yīng)性矩陣Hm變換映射到得到圖像I0',并且得到映射后的特征點(diǎn)fi0→1,以fi0→1為中心在圖像I0'上構(gòu)建大小為Ω的顏色塊I0'(fi0→1;Ω);相應(yīng)地在圖像I1上構(gòu)建塊I1(fi1;Ω),則點(diǎn)fi0→1視差概率為;
其中,σc和σl分別為控制顏色和位置距離的標(biāo)準(zhǔn)差。位于圖像I1上匹配點(diǎn)的視差概率初始化操作同理。
(2)優(yōu)化視差概率:
采用一種基于圖的優(yōu)化框架對初始化的標(biāo)簽結(jié)果進(jìn)行改善。構(gòu)建一個(gè)局部的無向圖來對所有匹配點(diǎn)的視差概率建立聯(lián)系,圖中的節(jié)點(diǎn)即表示某個(gè)特征點(diǎn),然后通過解一個(gè)優(yōu)化方程得到最終標(biāo)簽結(jié)果,具體步驟是:
a)構(gòu)建無向圖
首先,空域上,位于同一張圖像上的點(diǎn)兩兩相連,它們之間的相似度為:
其中,zij0為特征點(diǎn)fi0和特征點(diǎn)fj0之間的相似度,c(fi0)是點(diǎn)fi0的顏色值。圖像I1上匹配點(diǎn)相似度zij1的設(shè)置與zij0同理。然后,時(shí)域上,位于不同圖像上匹配點(diǎn)對之間相連成邊,它們之間的相似度設(shè)為1。最后將兩個(gè)圖像上的特征點(diǎn)序列fi0,fj1,合成一個(gè)特征點(diǎn)序列fi,并相應(yīng)地把幾個(gè)相似度整合成一個(gè)總相似度zij。
b)解優(yōu)化方程
無向圖構(gòu)建完成后,最后的視差標(biāo)簽概率的結(jié)果可以由在無向圖上解一個(gè)目標(biāo)函數(shù)最小化問題得到,目標(biāo)函數(shù)為:
其中,αi和pi分別為最終標(biāo)簽和初始化標(biāo)簽。ωi是一個(gè)二元指示符,表示初始結(jié)果的可信度。λ是權(quán)重系數(shù)。這是一個(gè)非約束的二次問題,使得目標(biāo)函數(shù)的導(dǎo)數(shù)為0的參數(shù)α即為最終視差結(jié)果。最后,設(shè)置視差閾值,根據(jù)得到的最終視差結(jié)果,在匹配點(diǎn)對集合m中剔除視差大于視差閾值的匹配點(diǎn)對。
上述步驟6所述的圖像合成方法,是指根據(jù)所得到的映射矩陣Hm,把圖像I0映射到圖像I1上,接著把圖像融合的縫隙控制在所找到的局部區(qū)域上,最后根據(jù)縫隙的計(jì)算結(jié)果進(jìn)行圖像合成,生成拼接結(jié)果。其中縫隙控制具體步驟是:
對所有位于匹配點(diǎn)集合m中的點(diǎn)fi0和fi1,計(jì)算點(diǎn)fi0經(jīng)過Hm映射后的點(diǎn)fi0→1以及fi1的矩形外包絡(luò),并對包絡(luò)進(jìn)行一定的膨脹運(yùn)算,得到的最終包絡(luò)即為所找到的局部區(qū)域,最后通過控制配準(zhǔn)后圖像的掩膜把縫隙限定在該區(qū)域上。
本發(fā)明與已有技術(shù)相比較,具有如下顯而易見的突出實(shí)質(zhì)性特點(diǎn)和顯著優(yōu)點(diǎn):
能夠處理大遮擋下存在視差的場景的圖像拼接,利用局部配準(zhǔn)的方法進(jìn)行拼接,最后的拼接結(jié)果無結(jié)構(gòu)失真,沒有重影和變形,符合人眼習(xí)慣,并且比現(xiàn)有方法的魯棒性高,擴(kuò)大了圖像拼接技術(shù)可處理的場景的范圍。
附圖說明
圖1為本發(fā)明的流程圖。
圖2為本實(shí)施例中的輸入兩幅圖像。
圖3為本實(shí)施例中兩幅輸入圖像的匹配結(jié)果。
圖4為本實(shí)施例中局部匹配點(diǎn)對選擇結(jié)果。
圖5為本實(shí)施例中圖像拼接結(jié)果。
具體實(shí)施方式
以下結(jié)合附圖表對本發(fā)明的實(shí)施例作詳細(xì)說明。本實(shí)施例以本發(fā)明的技術(shù)方案為前提進(jìn)行實(shí)施,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。
實(shí)施例一:
本發(fā)明實(shí)施例的應(yīng)用環(huán)境如下:參見圖2,圖像采集的場景為一個(gè)商業(yè)廣場,輸入的兩幅圖像I0和圖像I1,由于拍攝時(shí)處在兩個(gè)不同視點(diǎn)而出現(xiàn)大的遮擋,導(dǎo)致畫面中出現(xiàn)大的視差。
參見圖1,一種基于局部配準(zhǔn)的圖像拼接方法,包括以下步驟:
步驟1:特征點(diǎn)檢測與匹配:首先進(jìn)行特征點(diǎn)檢測,提取輸入圖像I0和I1的特征點(diǎn),并對特征點(diǎn)進(jìn)行匹配,得到N組匹配點(diǎn);
步驟2:設(shè)來自輸入圖像I0和I1上的匹配點(diǎn)集合的編號m為0;
步驟3:圖像局部配準(zhǔn):當(dāng)前匹配點(diǎn)集合m即為局部區(qū)域,對這個(gè)局部區(qū)域進(jìn)行配準(zhǔn),得到對應(yīng)的3×3單應(yīng)性映射矩陣Hm;
步驟4:判斷當(dāng)前局部單應(yīng)性映射矩陣Hm的配準(zhǔn)誤差是否小于配準(zhǔn)閾值,或者是否收斂,如果是,則轉(zhuǎn)向步驟6,否則轉(zhuǎn)向步驟5;
步驟5:匹配點(diǎn)集合調(diào)整:先利用運(yùn)動(dòng)矢量調(diào)整匹配點(diǎn)集合,再利用視差概率調(diào)整匹配點(diǎn)集合,得到新的匹配點(diǎn)集合,并把當(dāng)前匹配點(diǎn)集合的編號m加1,轉(zhuǎn)向步驟3;
步驟6:圖像合成:根據(jù)映射矩陣Hm,計(jì)算縫隙,最后生成拼接結(jié)果。
上述步驟5所述的匹配點(diǎn)對集合調(diào)整方法,包括以下步驟:
步驟5-1:利用運(yùn)動(dòng)矢量調(diào)整匹配點(diǎn)對集合:
計(jì)算匹配點(diǎn)對集合m中每一對匹配點(diǎn)(fi0,fi1)的運(yùn)動(dòng)矢量v:
v=fi0'-fi1
其中fi0→1是輸入圖像I0的特征點(diǎn)fi0經(jīng)過單應(yīng)性矩陣Hm變換后得到的在輸入圖像I1坐標(biāo)系上的坐標(biāo)。設(shè)置運(yùn)動(dòng)矢量偏移閾值,然后根據(jù)計(jì)算得到的運(yùn)動(dòng)矢量的結(jié)果,在匹配點(diǎn)對集合m中剔除運(yùn)動(dòng)矢量的模大于運(yùn)動(dòng)矢量偏移閾值的匹配點(diǎn)對。
步驟5-2:利用視差概率調(diào)整匹配點(diǎn)對集合:
計(jì)算匹配點(diǎn)對集合m中每一對匹配點(diǎn)(fi0,fi1)的視差概率,具體方法為:
(1)初始化視差概率:
對于出現(xiàn)在輸入圖像I0的特征點(diǎn)fi0來說,把圖像I0經(jīng)過單應(yīng)性矩陣Hm變換映射到得到圖像I0',并且得到映射后的特征點(diǎn)fi0→1,以fi0→1為中心在圖像I0'上構(gòu)建大小為Ω的顏色塊I0'(fi0→1;Ω);相應(yīng)地在圖像I1上構(gòu)建塊I1(fi1;Ω),則點(diǎn)fi0→1視差概率為;
其中,σc和σl分別為控制顏色和位置距離的標(biāo)準(zhǔn)差。位于圖像I1上匹配點(diǎn)的視差概率初始化操作同理。
(2)優(yōu)化視差概率:
采用一種基于圖的優(yōu)化框架對初始化的標(biāo)簽結(jié)果進(jìn)行改善。構(gòu)建一個(gè)局部的無向圖來對所有匹配點(diǎn)的視差概率建立聯(lián)系,圖中的節(jié)點(diǎn)即表示某個(gè)特征點(diǎn),然后通過解一個(gè)優(yōu)化方程得到最終標(biāo)簽結(jié)果,具體步驟是:
a)構(gòu)建無向圖
首先,空域上,位于同一張圖像上的點(diǎn)兩兩相連,它們之間的相似度為:
其中,zij0為特征點(diǎn)fi0和特征點(diǎn)fj0之間的相似度,c(fi0)是點(diǎn)fi0的顏色值。圖像I1上匹配點(diǎn)相似度zij1的設(shè)置與zij0同理。然后,時(shí)域上,位于不同圖像上匹配點(diǎn)對之間相連成邊,它們之間的相似度設(shè)為1。最后將兩個(gè)圖像上的特征點(diǎn)序列fi0,fj1,合成一個(gè)特征點(diǎn)序列fi,并相應(yīng)地把幾個(gè)相似度整合成一個(gè)總相似度zij。
b)解優(yōu)化方程
無向圖構(gòu)建完成后,最后的視差標(biāo)簽概率的結(jié)果可以由在無向圖上解一個(gè)目標(biāo)函數(shù)最小化問題得到,目標(biāo)函數(shù)為:
其中,αi和pi分別為最終標(biāo)簽和初始化標(biāo)簽。ωi是一個(gè)二元指示符,表示初始結(jié)果的可信度。λ是權(quán)重系數(shù)。這是一個(gè)非約束的二次問題,使得目標(biāo)函數(shù)的導(dǎo)數(shù)為0的參數(shù)α即為最終視差結(jié)果。最后,設(shè)置視差閾值,根據(jù)得到的最終視差結(jié)果,在匹配點(diǎn)對集合m中剔除視差大于視差閾值的匹配點(diǎn)對。
上述步驟6所述的圖像合成方法,是指根據(jù)所得到的映射矩陣Hm,把圖像I0映射到圖像I1上,接著把圖像融合的縫隙控制在所找到的局部區(qū)域上,最后根據(jù)縫隙的計(jì)算結(jié)果進(jìn)行圖像合成,生成拼接結(jié)果。其中縫隙控制具體步驟是:
對所有位于匹配點(diǎn)集合m中的點(diǎn)fi0和fi1,計(jì)算點(diǎn)fi0經(jīng)過Hm映射后的點(diǎn)fi0→1以及fi1的矩形外包絡(luò),并對包絡(luò)進(jìn)行一定的膨脹運(yùn)算,得到的最終包絡(luò)即為所找到的局部區(qū)域,最后通過控制配準(zhǔn)后圖像的掩膜把縫隙限定在該區(qū)域上。
本實(shí)施例基于局部配準(zhǔn)的圖像拼接方法的兩幅輸入圖像參見圖2,最終選取的匹配點(diǎn)對集合參見圖4,拼接完成后的圖像參見圖5??梢娸斎雸D像間由于物體遮擋,存在很大的視差;而局部拼接縫隙完美地避開了這些視差區(qū)域,使得拼接結(jié)果效果較好,無重影、變形等失真問題。