本發(fā)明涉及圖像位置配準(zhǔn)方法,特別涉及一種基于改進(jìn)霍夫變換的圖像位置配準(zhǔn)方法。
背景技術(shù):
圖像配準(zhǔn)技術(shù)是將不同視角下,對(duì)同一場(chǎng)景采集得到的兩幅或多幅圖像進(jìn)行位置配準(zhǔn)的過(guò)程,是圖像處理領(lǐng)域的基本問(wèn)題之一。同時(shí),圖像配準(zhǔn)技術(shù)也是立體視覺(jué)、運(yùn)動(dòng)分析、圖像融合等技術(shù)的基礎(chǔ),因此有著重要的應(yīng)用價(jià)值。
圖像位置配準(zhǔn)旨在尋求圖像之間的平移運(yùn)動(dòng)關(guān)系?,F(xiàn)有學(xué)者已經(jīng)針對(duì)不同應(yīng)用環(huán)境提出了多種圖像位置配準(zhǔn)方法,并在時(shí)效性、魯棒性和配準(zhǔn)精度等方面取得了明顯效果。根據(jù)圖像配準(zhǔn)理論,可將現(xiàn)有的圖像位置配準(zhǔn)算法分為如下三類:
(1)基于特征點(diǎn)跟蹤的圖像位置配準(zhǔn)方法。該類方法的基本原理是在當(dāng)前圖像和基準(zhǔn)圖像上分別選取一系列的特征點(diǎn)作為標(biāo)識(shí),基于已建立的特征點(diǎn)對(duì)應(yīng)關(guān)系,來(lái)求解圖像之間的位置變換參數(shù)。
(2)基于光流的圖像位置配準(zhǔn)方法。該方法是利用圖像灰度在時(shí)間與空間上的相關(guān)性,建立由圖像每個(gè)像素瞬時(shí)運(yùn)動(dòng)矢量所組成的光流場(chǎng),進(jìn)而得到圖像運(yùn)動(dòng)矢量。
(3)基于灰度信息匹配的圖像位置配準(zhǔn)方法。該類方法是使用最廣泛的圖像位置配準(zhǔn)方法,其核心思想是在當(dāng)前圖像上以一定的方式選取某一類型的灰度信息,以一定的匹配準(zhǔn)則在基準(zhǔn)圖像上尋找最佳匹配位置,進(jìn)而確定圖像位置運(yùn)動(dòng)信息。
然而,目前的圖像位置配準(zhǔn)方法中仍然存在如下問(wèn)題:
(1)基于特征點(diǎn)跟蹤的圖像位置配準(zhǔn)方法和基于光流的圖像位置配準(zhǔn)方法雖然配準(zhǔn)精度較高,但算法復(fù)雜、計(jì)算量大,無(wú)法適用于對(duì)配準(zhǔn)實(shí)時(shí)性要求較高的場(chǎng)合。
基于灰度信息匹配的圖像位置配準(zhǔn)方法雖然有著計(jì)算復(fù)雜度低、易于硬件實(shí)現(xiàn)的優(yōu)點(diǎn),但對(duì)于灰度信息單一或存在運(yùn)動(dòng)前景的圖像,其算法魯棒性差。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是為了解決現(xiàn)有技術(shù)算法復(fù)雜、實(shí)時(shí)性差、計(jì)算量大以及算法魯棒性差的問(wèn)題,而提出的一種基于改進(jìn)霍夫變換的圖像位置配準(zhǔn)方法。
上述的發(fā)明目的是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的:
步驟一、對(duì)相機(jī)采集到的分辨率為M*N的圖像進(jìn)行灰度化,得到當(dāng)前灰度圖像;
步驟二、對(duì)步驟一得到的當(dāng)前灰度圖像中均勻選擇m個(gè)匹配塊;并對(duì)得到的匹配塊進(jìn)行篩選;其中,匹配塊的大小為s*t像素;
步驟三、基于圖像金字塔和改進(jìn)六邊形搜索算法確定步驟二得到的篩選后的每個(gè)匹配塊在基準(zhǔn)圖像上的最佳匹配位置,得到每個(gè)匹配塊的局部運(yùn)動(dòng)估計(jì)矢量;
步驟四、對(duì)步驟三得到的每個(gè)局部運(yùn)動(dòng)估計(jì)矢量,采用改進(jìn)霍夫變換方法,對(duì)錯(cuò)誤的局部運(yùn)動(dòng)估計(jì)矢量進(jìn)行剔除得到霍夫變換篩選后的局部運(yùn)動(dòng)估計(jì)矢量;
步驟五、對(duì)經(jīng)過(guò)步驟四得到的霍夫變換篩選后的局部運(yùn)動(dòng)估計(jì)矢量,求取局部運(yùn)動(dòng)估計(jì)矢量平均值作為運(yùn)動(dòng)估計(jì)結(jié)果;依據(jù)運(yùn)動(dòng)估計(jì)結(jié)果,得到當(dāng)前圖像和基準(zhǔn)圖像的位置配準(zhǔn)關(guān)系。
發(fā)明效果
1)由于采用圖像金字塔和改進(jìn)的六邊形搜索算法,本發(fā)明提出的圖像位置配準(zhǔn)算法的有效運(yùn)動(dòng)估計(jì)范圍可達(dá)到45像素。
2)在Intel Core i5-5200U,C++編程環(huán)境下,針對(duì)分辨率為480X640的灰度圖像,本發(fā)明提出的圖像位置配準(zhǔn)算法的配準(zhǔn)時(shí)間優(yōu)于50ms,滿足了實(shí)時(shí)配準(zhǔn)要求。相對(duì)于其他位置配準(zhǔn)算法,本發(fā)明提出的算法相對(duì)簡(jiǎn)單易于實(shí)現(xiàn)。
附圖說(shuō)明
圖1是具體實(shí)施方式一中基于改進(jìn)霍夫變換的圖像位置配準(zhǔn)方法的流程圖;
圖2是具體實(shí)施方式三中利用降采樣的方法對(duì)原始圖像建立的三層灰度金字塔示意圖。
圖3是具體實(shí)施方式三中,在基準(zhǔn)圖像上,采用改進(jìn)六邊形搜索算法,尋找與當(dāng)前圖像中各個(gè)待匹配塊的最佳匹配位置的搜索過(guò)程示意圖。
具體實(shí)施方式
具體實(shí)施方式一:結(jié)合圖1本實(shí)施方式的一種基于改進(jìn)霍夫變換的圖像位置配準(zhǔn)方法,具體是按照以下步驟制備的:
步驟一、對(duì)相機(jī)采集到的分辨率為M*N的圖像進(jìn)行灰度化,得到當(dāng)前灰度圖像。
步驟二、對(duì)步驟一得到的當(dāng)前灰度圖像中均勻選擇m個(gè)匹配塊;并對(duì)得到的匹配塊進(jìn)行篩選。其中,匹配塊的大小為s*t像素;
步驟三、基于圖像金字塔和改進(jìn)六邊形搜索算法確定步驟二得到的篩選后的每個(gè)匹配塊在基準(zhǔn)圖像上的最佳匹配位置,得到每個(gè)匹配塊的局部運(yùn)動(dòng)估計(jì)矢量;
步驟四、對(duì)步驟三得到的每個(gè)局部運(yùn)動(dòng)估計(jì)矢量,采用改進(jìn)霍夫變換方法,對(duì)錯(cuò)誤的局部運(yùn)動(dòng)估計(jì)矢量進(jìn)行剔除得到霍夫變換篩選后的局部運(yùn)動(dòng)估計(jì)矢量;
步驟五、對(duì)經(jīng)過(guò)步驟四得到的霍夫變換篩選后的局部運(yùn)動(dòng)估計(jì)矢量,求取局部運(yùn)動(dòng)估計(jì)矢量平均值作為運(yùn)動(dòng)估計(jì)結(jié)果;依據(jù)運(yùn)動(dòng)估計(jì)結(jié)果,得到當(dāng)前圖像和基準(zhǔn)圖像的位置配準(zhǔn)關(guān)系。
本實(shí)施方式效果:
由于采用圖像金字塔和改進(jìn)的六邊形搜索算法,本實(shí)施方式提出的圖像位置配準(zhǔn)算法的有效運(yùn)動(dòng)估計(jì)范圍可達(dá)到45像素。
在Intel Core i5-5200U,C++編程環(huán)境下,針對(duì)分辨率為480X640的灰度圖像,本實(shí)施方式提出的圖像位置配準(zhǔn)算法的配準(zhǔn)時(shí)間優(yōu)于50ms,滿足了實(shí)時(shí)配準(zhǔn)要求。相對(duì)于其他位置配準(zhǔn)算法,本實(shí)施方式提出的算法相對(duì)簡(jiǎn)單易于實(shí)現(xiàn)。
具體實(shí)施方式二:本實(shí)施方式與具體實(shí)施方式一不同的是:步驟二中對(duì)步驟一得到的當(dāng)前灰度圖像中均勻選擇m個(gè)匹配塊,并對(duì)得到的匹配塊進(jìn)行篩選的具體步驟如下:
步驟二一、在當(dāng)前灰度圖像上均勻選擇m個(gè)匹配塊;均勻選擇原則如下:塊匹配位置應(yīng)該均勻分布于圖像平面,匹配塊的大小為s*t;數(shù)量m按如下數(shù)學(xué)表達(dá)式進(jìn)行選擇:
步驟二二、求取其步驟二一得到的每一個(gè)匹配塊的均方根對(duì)比度;
步驟二三、將步驟二二得到的每個(gè)匹配塊的均方根對(duì)比度與預(yù)設(shè)閾值0.01進(jìn)行比較,如果匹配塊的均方根對(duì)比度大于預(yù)設(shè)閾值,則將該匹配塊保留;否則,則剔除該匹配塊。其它步驟及參數(shù)與具體實(shí)施方式一相同。
具體實(shí)施方式三:結(jié)合圖2和圖3本實(shí)施方式與具體實(shí)施方式一或二不同的是:步驟二二中所述均方根對(duì)比度的數(shù)學(xué)表達(dá)式為:
式中,I(u+i,v+j)為匹配塊在位置(u+i,v+j)處的灰度值,坐標(biāo)(u,v)表示當(dāng)前圖像中待匹配塊的中心位置,表示匹配塊內(nèi)像素灰度的平均值,i和j分別表示-t/2到t/2和-s/2到s/2之間的整數(shù)。其它步驟及參數(shù)與具體實(shí)施方式一或二相同。
具體實(shí)施方式四:本實(shí)施方式與具體實(shí)施方式一至三之一不同的是:步驟二中s*t=31*31。其它步驟及參數(shù)與具體實(shí)施方式一至三之一相同。
具體實(shí)施方式五:本實(shí)施方式與具體實(shí)施方式一至四之一不同的是:步驟三中基于圖像金字塔和改進(jìn)六邊形搜索算法確定步驟二得到的篩選后的每個(gè)匹配塊在基準(zhǔn)圖像上的最佳匹配位置,得到每個(gè)匹配塊的局部運(yùn)動(dòng)估計(jì)矢量的具體處理方法和步驟如下:
步驟三一、利用降采樣的方法建立當(dāng)前圖像和基準(zhǔn)圖像的三層灰度金子塔,其中,底層圖像為原圖像,而構(gòu)建中間層圖像和頂層圖像的數(shù)學(xué)表達(dá)式如下:
式中,f(l)(x,y)表示第l層圖像中位置(x,y)處的像素灰度值p,q;p,q取0或1。
步驟三二、對(duì)步驟三一得到的當(dāng)前圖像和基準(zhǔn)圖像的頂層圖像,采用改進(jìn)六邊形搜索算法,在基準(zhǔn)圖像上,尋找與當(dāng)前圖像中各個(gè)待匹配塊的灰度相關(guān)性最大的位置,即為最佳匹配位置。
步驟三三、將上一步得到的各個(gè)匹配塊在基準(zhǔn)圖像頂層上的最佳匹配位置傳遞給基準(zhǔn)圖像中間層,得到匹配塊在基準(zhǔn)圖像中間層中的粗匹配位置;并在粗匹配位置的3像素鄰域范圍內(nèi)進(jìn)行搜索,確定各匹配塊在基準(zhǔn)圖像中間層上灰度相關(guān)性最大的位置,即為中間層的最佳匹配位置。
步驟三四、將步驟三三得到的各個(gè)匹配塊在基準(zhǔn)圖像中間層上的最佳匹配位置傳遞給基準(zhǔn)圖像底部層,得到匹配塊在基準(zhǔn)圖像中間底層中的粗匹配位置;并在粗匹配位置的3像素鄰域范圍內(nèi)進(jìn)行搜索,確定各匹配塊在基準(zhǔn)圖像底層上灰度相關(guān)性最大的位置,即為底層的最佳匹配位置。
步驟三五、利用步驟三四得到的底層的最佳匹配位置,求取當(dāng)前圖像與基準(zhǔn)圖像的每一個(gè)對(duì)應(yīng)匹配塊的局部運(yùn)動(dòng)估計(jì)矢量;
步驟三六、利用步驟三四得到的底層的最佳匹配位置,求取當(dāng)前圖像與基準(zhǔn)圖像的每一個(gè)對(duì)應(yīng)匹配塊的局部運(yùn)動(dòng)估計(jì)矢量的數(shù)學(xué)表達(dá)式如下:
(△xi,△yi)=(u-u′,v-v′)
式中,(△xi,△yi)表示第i個(gè)匹配塊的局部運(yùn)動(dòng)估計(jì)矢量。其它步驟及參數(shù)與具體實(shí)施方式一至四之一相同。
具體實(shí)施方式六:本實(shí)施方式與具體實(shí)施方式一至五之一不同的是:步驟三二中所述改進(jìn)后的六邊形搜索算法的具體為:首先,采用相鄰搜索位置的距離為12像素的九宮格模板對(duì)頂層圖像的匹配位置進(jìn)行粗定位;將九個(gè)位置中的最佳位置(最佳的位置根據(jù)灰度相關(guān)性,由上面的計(jì)算公式確定)定位作為初始位置;最后,采用六邊形搜索法(六邊形搜索算法是已知的一種搜索算法,它是通過(guò)計(jì)算初始位置周圍六邊形上的灰度相關(guān)性并將計(jì)算結(jié)果與初始位置比較,找出最大相關(guān)性的位置,將此位置重新設(shè)置為初始位置,重復(fù)執(zhí)行,直到找出最佳位置)進(jìn)行搜索,找到待匹配塊的最佳匹配位置。其它步驟及參數(shù)與具體實(shí)施方式一至五之一相同。
具體實(shí)施方式七:本實(shí)施方式與具體實(shí)施方式一至六之一不同的是:步驟三二中待匹配塊的灰度相關(guān)性的數(shù)學(xué)表達(dá)式如下:
式中,Ipre為當(dāng)前圖像,Iref為基準(zhǔn)圖像;坐標(biāo)(u,v)表示當(dāng)前圖像中待匹配塊的中心位置,(u′,v′)表示基準(zhǔn)圖像中被搜索的位置;r為匹配塊的半徑;表示當(dāng)前圖像中待匹配塊內(nèi)像素灰度的平均值,表示基準(zhǔn)圖像中被搜索匹配塊內(nèi)的像素灰度平均值;Iref(u+a,v+b)為基準(zhǔn)圖像Iref第u+a行第v+b列位置上的灰度值;Ipre(u+a,v+b)為當(dāng)前圖像Ipre第u+a行第v+b列位置上的灰度值。其它步驟及參數(shù)與具體實(shí)施方式一至六之一相同。
具體實(shí)施方式八:本實(shí)施方式與具體實(shí)施方式一至七之一不同的是:步驟四中對(duì)步驟三得到的每個(gè)局部運(yùn)動(dòng)估計(jì)矢量,采用改進(jìn)霍夫變換方法,對(duì)錯(cuò)誤的局部運(yùn)動(dòng)估計(jì)矢量進(jìn)行剔除具體處理方法和步驟如下:
步驟四一、對(duì)步驟三得到的各匹配塊的局部運(yùn)動(dòng)估計(jì)矢量(△xi,△yi),求取△xi的最大值△xmax和最小值△xmin,以及△yi的最大值△ymax和最小值△ymin。
步驟四二、利用步驟四一得到的局部運(yùn)動(dòng)估計(jì)矢量各分量的最大值和最小值,建立以△x和△y為參數(shù)的二維平面坐標(biāo)系,并將范圍為△xmin≤△x≤△xmax,△ymin≤△y≤△ymax的平面細(xì)分為固定大小的單元格;
步驟四三、利用步驟四二得到的單元格,將每一個(gè)局部運(yùn)動(dòng)估計(jì)矢量歸類到相應(yīng)的單元格里,并統(tǒng)計(jì)各單元格中局部運(yùn)動(dòng)估計(jì)矢量的個(gè)數(shù);保留個(gè)數(shù)最大的單元格中的局部運(yùn)動(dòng)估計(jì)矢量,其余的直接剔除。其它步驟及參數(shù)與具體實(shí)施方式一至七之一相同。
具體實(shí)施方式九:本實(shí)施方式與具體實(shí)施方式一至八之一不同的是:步驟四二中單元格的尺寸為:2×2像素。其它步驟及參數(shù)與具體實(shí)施方式一至八之一相同。