欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于掩膜矩陣和快速傅立葉變換的模板圖像全局搜索方法

文檔序號(hào):10687629閱讀:566來源:國知局
基于掩膜矩陣和快速傅立葉變換的模板圖像全局搜索方法
【專利摘要】本發(fā)明公開了一種基于掩膜矩陣和快速傅立葉變換的模板圖像全局搜索方法。主要解決了現(xiàn)有模板搜索方法運(yùn)算復(fù)雜度過高的問題。本發(fā)明包括拷貝模板圖和全圖,利用模板圖生成掩膜圖,用掩膜圖處理原始模板圖,計(jì)算模板圖能量,擴(kuò)展模板圖和掩膜圖,模板擴(kuò)展圖和全圖做循環(huán)卷積,計(jì)算全圖的能量矩陣,帶入模板匹配公式,找出最大響應(yīng)位置,實(shí)現(xiàn)全圖搜索的步驟。本發(fā)明通過模板圖的擴(kuò)展和掩膜圖的生成,實(shí)現(xiàn)了一次計(jì)算出響應(yīng)矩陣;實(shí)現(xiàn)了稠密匹配;通過傅里葉變換計(jì)算循環(huán)卷積,降低模板搜索運(yùn)算復(fù)雜度,并大大降低運(yùn)算時(shí)間;通過共軛保證了循環(huán)卷積的“循環(huán)方向”。本發(fā)明可應(yīng)用于視頻跟蹤,模板位置搜索,機(jī)械零件定位等情形。
【專利說明】
基于掩膜矩陣和快速傅立葉變換的模板圖像全局搜索方法
技術(shù)領(lǐng)域:
[0001] 本發(fā)明屬于圖像處理技術(shù)領(lǐng)域,主要涉及圖像匹配,更進(jìn)一步說是在一個(gè)較大圖 中搜索較小的模板圖的方法,具體是一種使用掩膜矩陣在全圖中一次搜索出模板圖的方 法。本發(fā)明可應(yīng)用于視頻跟蹤,模板位置搜索,機(jī)械零件定位等情形。
【背景技術(shù)】:
[0002] 模板圖的搜索有著重要的工程價(jià)值,比如對(duì)目標(biāo)的跟蹤,又比如對(duì)機(jī)械零件的定 位,利用模板圖在全圖中搜索,以便盡快得到要搜索的區(qū)域或目標(biāo)。模板圖代表了要搜索的 目標(biāo),一般為一張較小的圖;全圖代表整個(gè)搜索的范圍,在全圖中存在著某一個(gè)或者某幾個(gè) 小的區(qū)域,這些小的區(qū)域是與模板圖相同或相似的目標(biāo),模板圖搜索就是要盡快的在全圖 中找出與模板圖相似的小區(qū)域。
[0003] 模板搜索算法是數(shù)字圖像處理領(lǐng)域使用十分頻繁的算法之一。現(xiàn)有的方法主要是 掃窗法和基于掃窗法的各種變形。在該方法中,該方法的目的就是找出在全圖中與模板圖 相似的目標(biāo)的位置。該方法的原理主要是通過滑窗,不斷的比較模板圖和全圖中被窗口選 中的同樣大小的一塊圖。當(dāng)固定好窗口位置后,比較這兩個(gè)圖可以使用平方差法,將兩幅圖 的像素值相減后求平方再求和;也可以使用相關(guān)系數(shù)法,把這兩幅圖當(dāng)做兩個(gè)向量,根據(jù)余 弦定理的原理計(jì)算這兩個(gè)向量之間的相關(guān)度。在滑動(dòng)窗口的過程中,可以滑動(dòng)一個(gè)像素的 距離也可以滑動(dòng)幾個(gè)像素的距離。有的方法不采用按順序掃窗的方法,而采用隨機(jī)數(shù)來尋 找窗口位置。還有方法通過當(dāng)前窗口的匹配度值來確定下一個(gè)窗口要跳過的像素?cái)?shù)。也有 算法首先將全圖和模板圖均轉(zhuǎn)化為特征圖,再運(yùn)用上述方法進(jìn)行搜索。
[0004] 但是,這些基于掃窗法的算法都有一個(gè)共同的問題,算法復(fù)雜度過高。掃窗法本身 導(dǎo)致了重復(fù)計(jì)算。并且這些重復(fù)計(jì)算無法被多次利用。掃窗法本身屬于稠密匹配,但很多跳 過像素來節(jié)省時(shí)間的改進(jìn)方法會(huì)損失一定的計(jì)算精度。將圖像轉(zhuǎn)化為特征圖能提高精度, 但在此基礎(chǔ)上繼續(xù)使用掃窗法會(huì)降低使用特征圖的優(yōu)勢。

【發(fā)明內(nèi)容】

[0005] 本發(fā)明在于克服掃窗法計(jì)算復(fù)雜度過高的不足,提出一種基于掩膜矩陣和快速傅 立葉變換的模板圖像全局搜索方法。本發(fā)明通過使用掩膜和循環(huán)卷積,實(shí)現(xiàn)了在不改變精 確度的情況下,降低搜索算法復(fù)雜度,提高運(yùn)算速度的目的。
[0006] 為了實(shí)現(xiàn)上述目的,本發(fā)明采用了如下的技術(shù)方案:
[0007] 本發(fā)明是一種基于掩膜矩陣和快速傅立葉變換的模板圖像全局搜索方法,其特征 在于,包括有以下步驟:
[0008] (1)拷貝模板圖和全圖:讀取原始模板圖和全圖數(shù)據(jù),其中原始模板圖的大小小于 全圖;
[0009] (2)利用原始模板圖生成掩膜圖:
[0010] (2a)生成一個(gè)與原始模板圖一樣大小的全1陣,即是掩膜圖;
[0011] (2b)在需要去除目標(biāo)背景影響的時(shí)候可以將該掩膜矩陣中代表背景區(qū)域的位置 處的元素置0;
[0012] (3)用掩膜圖處理原始模板圖:將掩膜圖與原始模板圖點(diǎn)乘,得到處理后的原始模 板圖,稱為模板圖;
[0013] (4)計(jì)算模板圖能量:將模板圖與自身點(diǎn)乘并求和得到模板圖的能量;
[0014] (5)擴(kuò)展模板圖和掩膜圖:
[0015] (5a)將模板圖擴(kuò)展到和全圖矩陣一樣大小,新擴(kuò)展的位置處均賦值為0,稱為模板 擴(kuò)展圖;
[0016] (5b)將掩膜圖擴(kuò)展到和全圖矩陣一樣大小,新擴(kuò)展的位置處均賦值為0,稱為掩膜 擴(kuò)展圖;
[0017] (6)模板擴(kuò)展圖和全圖做循環(huán)卷積,得到模板全圖相關(guān)矩陣:
[0018] (6a)使用快速傅里葉變換將模板擴(kuò)展圖變換到頻域中,將得到的矩陣稱為模板擴(kuò) 展圖的頻域矩陣;
[0019] (6b)對(duì)模板擴(kuò)展圖的頻域矩陣進(jìn)行共輒處理;
[0020] (6c)使用快速傅里葉變換將全圖矩陣變換到頻域中,將得到的矩陣稱為全圖的頻 域矩陣;
[0021] (6d)將模板擴(kuò)展圖的頻域矩陣和全圖的頻域矩陣進(jìn)行點(diǎn)乘,得到模板全圖相關(guān)矩 陣的頻域矩陣;
[0022] (6e)對(duì)(6d)的結(jié)果即模板全圖相關(guān)矩陣的頻域矩陣進(jìn)行快速傅里葉反變換,得到 步驟(6)的輸出結(jié)果,稱其為模板全圖相關(guān)矩陣;
[0023] (7)計(jì)算全圖的能量矩陣:
[0024] (7a)使用快速傅里葉變換將掩膜擴(kuò)展圖變換到頻域中,將得到的矩陣稱為掩膜擴(kuò) 展圖的頻域矩陣;
[0025] (7b)對(duì)掩膜擴(kuò)展圖的頻域矩陣進(jìn)行共輒處理;
[0026] (7c)使用快速傅里葉變換將全圖與自身的點(diǎn)乘變換到頻域中,將得到的矩陣稱為 全圖與自身點(diǎn)乘的頻域矩陣;
[0027] (7d)將掩膜擴(kuò)展圖的頻域矩陣與全圖與自身點(diǎn)乘的頻域矩陣進(jìn)行點(diǎn)乘,得到全圖 的能量矩陣的頻域矩陣;
[0028] (7e)對(duì)(7d)的結(jié)果即全圖能量矩陣的頻域矩陣進(jìn)行快速傅里葉反變換,得到步驟 (7)的輸出結(jié)果,稱為全圖的能量矩陣;
[0029] (8)帶入模板匹配公式:將步驟(4)(6)(7)輸出的模板圖能量、模板全圖相關(guān)矩陣、 全圖的能量矩陣帶入匹配公式,得到代表模板圖在全圖中匹配度的響應(yīng)矩陣,其中,匹配公 式或是平方差法公式,或是相關(guān)系數(shù)法公式;
[0030] (9)找出最大響應(yīng)位置:從上一步得出的響應(yīng)矩陣中找出代表最大響應(yīng)的位置,
[0031] (9a)當(dāng)采用平方差法時(shí):找到響應(yīng)矩陣的最小值的位置,即可得到模板圖在全圖 中的位置;如果全圖中存在兩個(gè)目標(biāo),則再找出響應(yīng)矩陣中第二小的值的位置,以此類推;
[0032] (9b)當(dāng)采用相關(guān)系數(shù)法時(shí):找到響應(yīng)矩陣的最大值的位置,即可得到模板圖在全 圖中的位置;如果全圖中存在兩個(gè)目標(biāo),則找出響應(yīng)矩陣中第二大的值的位置,以此類推;
[0033] (10)完成在全圖中搜索原始模板圖的任務(wù)。
[0034] 本發(fā)明提供了一種在平方差法、相關(guān)系數(shù)法或類似原理下的快速搜索模板圖的解 決方案,也可用于很多基于其他原理的匹配計(jì)算。
[0035] 本發(fā)明與現(xiàn)有技術(shù)相比較,具有如下優(yōu)點(diǎn):
[0036] 第一:由于本發(fā)明使用和擴(kuò)展了掩膜矩陣,使得在計(jì)算全圖的能量矩陣時(shí)不但能 通過卷積來計(jì)算,更能進(jìn)一步的通過快速傅里葉變換來加速這個(gè)卷積計(jì)算,克服了各種掃 窗法逐個(gè)計(jì)算能量值的復(fù)雜性,提高了本發(fā)明的計(jì)算速度;
[0037] 第二:由于本發(fā)明擴(kuò)展了模板圖,使得本發(fā)明中計(jì)算模板全圖相關(guān)矩陣的循環(huán)卷 積可變換到頻域計(jì)算,節(jié)省了處理時(shí)間;
[0038] 第三:由于本發(fā)明在第(6)步計(jì)算模板擴(kuò)展圖和全圖的循環(huán)卷積時(shí)使用了共輒,在 第(7)步計(jì)算掩膜擴(kuò)展圖與全圖和自身點(diǎn)乘后得到矩陣的循環(huán)卷積也使用了共輒,改變了 傳統(tǒng)循環(huán)卷積中矩陣的"循環(huán)方向",使得輸出結(jié)果中的最大響應(yīng)值直接對(duì)應(yīng)于匹配后的正 確位置;
[0039] 第四:由于本發(fā)明的計(jì)算過程均為整個(gè)矩陣的操作,實(shí)現(xiàn)了稠密匹配,所以在步驟 (8)中達(dá)到了一次計(jì)算出所有響應(yīng)值的目的。
[0040] 第五:由于本發(fā)明中的掩膜矩陣可以在有需求的情況下將部分區(qū)域置零,所以實(shí) 現(xiàn)了去除匹配圖像中的背景的影響,擴(kuò)大了本發(fā)明的應(yīng)用范圍。
[0041] 第六:由于本算法原理上的適應(yīng)性,可以把本算法當(dāng)做框架使用,比如將圖像轉(zhuǎn)化 為特征圖或者使用其他可用的原理,均可使用本算法框架。
【附圖說明】
[0042]圖1為本發(fā)明的流程圖;
[0043]圖2是一個(gè)Iena的全圖圖像;
[0044] 圖3是一個(gè)原始模板圖;
[0045] 圖4是一個(gè)響應(yīng)矩陣圖;
【具體實(shí)施方式】
[0046] 實(shí)施例1
[0047] 針對(duì)數(shù)字圖像處理領(lǐng)域的模板搜索方法存在算法復(fù)雜度過高,重復(fù)計(jì)算無法被多 次利用,損失一定的計(jì)算精度等問題,本發(fā)明提出一種基于掩膜矩陣和快速傅立葉變換的 模板圖像全局搜索方法,參見圖1,包括有以下步驟:
[0048] (1)拷貝模板圖和全圖:讀取原始模板圖和全圖數(shù)據(jù),其中原始模板圖如圖3,其大 小小于全圖,全圖圖像是圖庫中Iena的圖像參見圖2。
[0049] (2)利用原始模板圖生成掩膜圖:
[0050] (2a)生成一個(gè)與原始模板圖一樣大小的全1陣,即是掩膜圖;
[0051] (2b)在不需要匹配目標(biāo)背景的時(shí)候?qū)⒃撗谀ぞ仃囍写肀尘皡^(qū)域的位置處的元 素置0,此步驟可以去除圖像匹配中背景的影響,可以使匹配更準(zhǔn)確。
[0052] (3)用掩膜圖處理原始模板圖:將掩膜圖與原始模板圖點(diǎn)乘,得到處理后的原始模 板圖,稱為模板圖。
[0053] (4)計(jì)算模板圖能量:將模板圖與自身點(diǎn)乘并求和得到模板圖的能量。
[0054] (5)擴(kuò)展模板圖和掩膜圖:
[0055] (5a)將模板圖擴(kuò)展到和全圖矩陣一樣大小,新擴(kuò)展的位置處均賦值為0,稱為模板 擴(kuò)展圖;由于擴(kuò)展了模板圖,使得本發(fā)明中計(jì)算模板全圖相關(guān)矩陣的循環(huán)卷積可變換到頻 域計(jì)算,節(jié)省了處理時(shí)間;
[0056] (5b)將掩膜圖擴(kuò)展到和全圖矩陣一樣大小,新擴(kuò)展的位置處均賦值為0,稱為掩膜 擴(kuò)展圖,由于擴(kuò)展了掩膜圖,使得本發(fā)明中計(jì)算全圖能量矩陣的循環(huán)卷積可變換到頻域計(jì) 算,節(jié)省了處理時(shí)間。
[0057] (6)模板擴(kuò)展圖和全圖做循環(huán)卷積,得到模板全圖相關(guān)矩陣:
[0058] (6a)使用快速傅里葉變換將模板擴(kuò)展圖變換到頻域中,將得到的矩陣稱為模板擴(kuò) 展圖的頻域矩陣。
[0059] (6b)對(duì)模板擴(kuò)展圖的頻域矩陣進(jìn)行共輒處理,改變了傳統(tǒng)循環(huán)卷積中矩陣的"循 環(huán)方向"。
[0060] (6c)使用快速傅里葉變換將全圖矩陣變換到頻域中,將得到的矩陣稱為全圖的頻 域矩陣。
[0061] (6d)將模板擴(kuò)展圖的頻域矩陣和全圖的頻域矩陣進(jìn)行點(diǎn)乘,得到模板全圖相關(guān)矩 陣的頻域矩陣。
[0062] (6e)對(duì)(6d)的結(jié)果即模板全圖相關(guān)矩陣的頻域矩陣進(jìn)行快速傅里葉反變換,得到 步驟(6)的輸出結(jié)果,稱其為模板全圖相關(guān)矩陣。
[0063] (7)計(jì)算全圖的能量矩陣:
[0064] (7a)使用快速傅里葉變換將掩膜擴(kuò)展圖變換到頻域中,將得到的矩陣稱為掩膜擴(kuò) 展圖的頻域矩陣。
[0065] (7b)對(duì)掩膜擴(kuò)展圖的頻域矩陣進(jìn)行共輒處理,改變了傳統(tǒng)循環(huán)卷積中矩陣的"循 環(huán)方向"。
[0066] (7c)使用快速傅里葉變換將全圖與自身的點(diǎn)乘變換到頻域中,將得到的矩陣稱為 全圖與自身點(diǎn)乘的頻域矩陣。
[0067] (7d)將掩膜擴(kuò)展圖的頻域矩陣與全圖與自身點(diǎn)乘的頻域矩陣進(jìn)行點(diǎn)乘,得到全圖 能量矩陣的頻域矩陣。
[0068] (7e)對(duì)(7d)的結(jié)果即全圖能量矩陣的頻域矩陣進(jìn)行快速傅里葉反變換,得到步驟 (7)的輸出結(jié)果,稱為全圖的能量矩陣。
[0069] (8)帶入模板匹配公式:將步驟(4)(6)(7)輸出的模板圖能量、模板全圖相關(guān)矩陣、 全圖的能量矩陣帶入匹配公式,得到代表模板圖在全圖中匹配度的響應(yīng)矩陣,參見圖4。其 中,匹配公式或是平方差法公式,或是相關(guān)系數(shù)法公式,本步驟可一次計(jì)算出所有的響應(yīng) 值,實(shí)現(xiàn)了稠密匹配,并且速度遠(yuǎn)快于掃窗法;
[0070] (9)找出最大響應(yīng)位置:從上一步得出的代表模板圖在全圖中匹配度的響應(yīng)矩陣 中找出代表最大響應(yīng)的位置,
[0071] (9a)當(dāng)采用平方差法時(shí):找到響應(yīng)矩陣的最小值的位置,在圖4中,處于渲染區(qū)域 中的尖點(diǎn),是最大響應(yīng)位置,也是模板圖所在的位置。
[0072] (9b)當(dāng)采用相關(guān)系數(shù)法時(shí):找到響應(yīng)矩陣的最大值的位置。
[0073] (10)找到原始模板圖在全圖中的位置,完成在全圖中一次搜索出原始模板圖的任 務(wù)。
[0074] 本發(fā)明在模板搜索過程中使用和擴(kuò)展了掩膜矩陣,使得在計(jì)算全圖的能量矩陣時(shí) 不但能通過卷積來計(jì)算,更能進(jìn)一步的通過快速傅里葉變換來加速這個(gè)卷積計(jì)算,克服了 各種掃窗法逐個(gè)計(jì)算能量值的復(fù)雜性,提高了本發(fā)明的計(jì)算速度,解決了模板搜索方法存 在算法復(fù)雜度過高的技術(shù)難題。本發(fā)明還可套用各種基于平方差法、相關(guān)系數(shù)法等的改進(jìn) 方法。
[0075] 本發(fā)明可應(yīng)用于視頻跟蹤中;當(dāng)給定一個(gè)目標(biāo)時(shí),本發(fā)明可以快速搜索出該目標(biāo) 在全圖中的位置;當(dāng)目標(biāo)被隱藏后,本發(fā)明能夠在目標(biāo)重新出現(xiàn)時(shí)快速找出目標(biāo);在機(jī)械自 動(dòng)組裝時(shí),本發(fā)明能夠以很快的速度定位零件的位置。
[0076] 實(shí)施例2
[0077] 基于掩膜矩陣和快速傅立葉變換的模板圖像全局搜索方法同實(shí)施例1,步驟(6)中 所述的模板擴(kuò)展圖和全圖做循環(huán)卷積是采用公式表示如下:
[0078] corr = F-, ' JC[F,{img')\
[0079] 其中,F(xiàn)1代表快速傅里葉反變換,C代表取共輒,F(xiàn)代表快速傅里葉變換,下標(biāo)2代表 二維的變換,t_ext代表模板擴(kuò)展圖,img代表全圖,corr為輸出的模板全圖相關(guān)矩陣。
[0080] 實(shí)際工程中可以使用matlab語言實(shí)現(xiàn),若使用matlab實(shí)現(xiàn),則以上公式可以用函 數(shù)式表示為:
[0081 ] corr = ifft2(conj(fft2(t_ext)) .*fft2( img))
[0082] 其中,fft2為matlab中的快速二維傅里葉變換函數(shù),ifft2為快速二維傅里葉反變 換函數(shù),con j為取共輒函數(shù),corr為輸出的模板全圖相關(guān)矩陣。
[0083]實(shí)際工程中還可以使用C++語言實(shí)現(xiàn),若使用C++實(shí)現(xiàn),可以自己編寫工具函數(shù),比 如根據(jù)數(shù)學(xué)原理,編寫了快速二維傅里葉變換函數(shù),命名為my_fTt2(),快速二維傅里葉反 變換函數(shù),命名為my_ifft2〇,取共輒函數(shù),命名為my_conj(),點(diǎn)乘函數(shù),命名為multi(), t_ext為指向模板擴(kuò)展圖矩陣的指針,img為指向全圖矩陣的指針,corr為指向模板全圖相 關(guān)矩陣的指針,矩陣大小用全局變量表示,則本例可用函數(shù)式表示如下:
[0084] corr=my_ifft2(my_conj (multi(my_fft2(t_ext)) ,my_fft2( img)))
[0085] 從而計(jì)算得出模板全圖相關(guān)矩陣。
[0086] 工程中,還有其他編程語言也可實(shí)現(xiàn)。
[0087] 實(shí)施例3
[0088] 基于掩膜矩陣和快速傅立葉變換的模板圖像全局搜索方法同實(shí)施例1-2,步驟(7) 中所述的計(jì)算全圖的能量矩陣采用公式表示如下:
[0089]
[0090] 其中,F(xiàn)1代表快速傅里葉反變換,C代表取共輒,F(xiàn)代表快速傅里葉變換,下標(biāo)2代表 二維的變換,mask_ext代表掩膜擴(kuò)展圖,img代表全圖,img_energy代表輸出的全圖能量矩 陣。
[0091] 如果使用matlab語言的話,以上公式可以表示為:
[0092] img_energy = ifft2(conj(fft2(mask_ext)).*fft2(img.*img))
[0093] 其中,fft2為matlab中的快速二維傅里葉變換函數(shù),ifft2為快速二維傅里葉反變 換函數(shù),conj為取共輒函數(shù),從而計(jì)算得到全圖的能量矩陣。
[0094] 如果使用c++語言的話,可以自己編寫工具函數(shù),比如我根據(jù)數(shù)學(xué)原理,編寫了快 速二維傅里葉變換函數(shù),命名為my_fft2(),快速二維傅里葉反變換函數(shù),命名為my_ifft2 (),取共輒函數(shù),命名為11^_(3011」(),點(diǎn)乘函數(shù),命名為皿111:;[(),其中11^81^_611:為指向掩膜擴(kuò) 展圖矩陣的指針,img為指向全圖矩陣的指針,img_energy為指向全圖能量矩陣的指針,矩 陣大小用全局變量表示,則本例可用函數(shù)式表示如下:
[0095] img_energy=my_ifft2(my_conj(multi(my_fft2(mask_ext))t2(img. * img)))也能計(jì)算得到全圖的能量矩陣。
[0096] 以上是用matlab和c++編程實(shí)現(xiàn),工程中還可使用其他各種編程語言實(shí)現(xiàn)。
[0097] 實(shí)施例4
[0098] 基于掩膜矩陣和快速傅立葉變換的模板圖像全局搜索方法同實(shí)施例1 - 3,步驟(8) 中帶入模板匹配公式,得到代表模板圖在全圖中匹配度的響應(yīng)矩陣,具體表示如下:
[0099] 匹配公式有兩種,一種是平方差法匹配公式,另一種是相關(guān)系數(shù)法匹配公式,
[0100] (8.1)當(dāng)匹配公式采用原理為平方差時(shí):
[0101] (8.1.a)模板圖能量值與全圖的能量矩陣相加得到一個(gè)和;
[0102] (8. l.b)用(8.1.a)得到的和減去2倍的模板全圖相關(guān)矩陣,得到代表模板圖在全 圖中匹配度的響應(yīng)矩陣;
[0103] 用公式表示如下:
[0104] response = t_energy+img_energy-2*corr
[0105] 在matlab語言中,以上公式可以用函數(shù)式表示為
[0106] response = t_energy+img_energy-2*corr
[01 07] 其中,response代表響應(yīng)矩陣,t_energy代表模板圖能量,img_energy代表全圖能 量矩陣,corr代表模板全圖相關(guān)矩陣,從而計(jì)算得出響應(yīng)矩陣。
[0108] 如果使用c++語言的話,自己定義加法函數(shù)add(),定義乘法函數(shù)multi(),定義減 法函數(shù)subO,那么以上公式可以用函數(shù)式表示為:
[0109] response=sub(add(t_energy,img_energy),multi(2,corr))
[0110] 其中,response為指向響應(yīng)矩陣的指針,t_energy為指向模板圖能量的指針,img_ energy為指向全圖能量矩陣的指針,corr為指向模板全圖相關(guān)矩陣的指針,矩陣大小用全 局變量表示,所以使用c++也可計(jì)算得出響應(yīng)矩陣。
[0111] (8.2)當(dāng)匹配公式采用原理為相關(guān)系數(shù)法時(shí),具體表示如下:
[0112] (8.2.a)將模板圖能量值開方;
[0113] (8.2.b)將全圖能量矩陣開方;
[0114] (8.2.幻將(8.2.&)的結(jié)果和(8.2.13)的結(jié)果相乘 ;
[0115] (8.2.d)用模板全圖相關(guān)矩陣點(diǎn)除(8.2.c)的結(jié)果,得到代表模板圖在全圖中匹配 度的響應(yīng)矩陣;
[0116] 用公式表示如下:
[0117]
[0118]其中response代表本步驟輸出的響應(yīng)矩陣,t_energy代表(4)輸出的模板圖能量, img_energy為(7)輸出的全圖能量矩陣,corr為(6)輸出的模板全圖相關(guān)矩陣。
[0119] 在matlab語言中,以上公式可以用函數(shù)式表示為
[0120] response = corr/(sqrt(t_energy).*sqrt(img_energy))
[0121] 其中,sqrtO為開方函數(shù);
[0122] 用c++語言的話,可以自己定義函數(shù),sqrt()為開平方函數(shù),為點(diǎn)乘函數(shù), div〇為除法函數(shù),以上公式可用函數(shù)式表示為:
[0123] response = div(corr,mult i(sqrt(t_energy),sqrt(img_energy)))
[0124] 其中,corr為指向模板全圖相關(guān)矩陣的指針,t_energy為指向模板圖能量的指針, img_energy為指向全圖能量矩陣的指針,矩陣大小用全局變量表示。
[0125] 實(shí)施例5
[0126] 基于掩膜矩陣和快速傅立葉變換的模板圖像全局搜索方法同實(shí)施例1-4,實(shí)施平 臺(tái)為matIab平臺(tái),包括以下步驟:
[0127] (1)拷貝模板圖和全圖:讀取原始模板圖和全圖,在matlab中其矩陣名分別為t_ old^Pimg;
[0128] (2)利用原始模板圖生成掩膜圖:通過sizeO函數(shù)求得原始模板圖的大小,將該大 小輸入到〇nes()函數(shù)中生成應(yīng)全1陣,將不需要進(jìn)行匹配的位置置零,作為掩膜圖,其矩陣 名為mask;
[0129] (3)用掩膜圖處理模板圖:將掩膜圖與原始模板圖點(diǎn)乘,得到處理后的原始模板 圖,稱為模板圖;
[0130] (4)擴(kuò)展模板圖和掩膜圖:使用size()函數(shù)獲取全圖img的大小,將高度賦給變量 a,將寬度賦給變量b,對(duì)mask矩陣的(a,b)處賦0,對(duì)t矩陣的(a,b)處賦0,即可完成預(yù)計(jì)的矩 陣擴(kuò)展,分別賦值給mask_exi^Pt_ext;
[0131] (5)計(jì)算模板圖能量:將模板圖與自身點(diǎn)乘并求和,計(jì)算出模板圖的能量賦給t_ energy,注意matlab中的sum函數(shù)只對(duì)一維求和,所以此處對(duì)而且矩陣求和要使用兩次sum;
[0132] (6)模板擴(kuò)展圖和全圖做循環(huán)卷積,得到模板全圖相關(guān)矩陣:使用之前設(shè)計(jì)好的公 式計(jì)算該相關(guān)矩陣,
[0133] corr = ifft2(conj(fft2(t_ext)) .*fft2( img))
[0134] 此處的結(jié)果:corr矩陣是需要求的相關(guān)矩陣,也是模板擴(kuò)展圖和全圖的循環(huán)卷積。
[0135] (7)計(jì)算全圖的能量矩陣:使用之前設(shè)計(jì)好的公式計(jì)算全圖的能量矩陣,
[0136] img_energy = ifft2(conj(fft2(mask_ext)).*fft2(img.*img))
[0137] 此處的結(jié)果即是全圖的能量矩陣。
[0138] (8)帶入模板匹配公式:使用之前設(shè)計(jì)好的平方差法公式計(jì)算響應(yīng)矩陣,
[0139] out = t_energy+img_energy_2氺corr
[0140] 即可計(jì)算出響應(yīng)矩陣,附圖4為可視化的響應(yīng)矩陣,為了便于觀察,將該響應(yīng)矩陣 取負(fù)處理。
[0141] (9)找出最大響應(yīng)位置:由于(8)中使用了平方差法公式,所以此步應(yīng)該用minO函 數(shù)找出最小值,命名為m;然后利用findO函數(shù),BP
[0142] [y ,x] =f ind(out= =m)
[0143] findO函數(shù)得出的值為一組坐標(biāo),將縱坐標(biāo)存到y(tǒng)變量中,橫坐標(biāo)存到x中,得到模 板圖在全圖中的位置。
[0144] (10)完成在全圖中搜索原始模板圖的任務(wù)。
[0145] 在matlab平臺(tái)下,本實(shí)施例只需要0.0034秒即可搜索出模板圖位置,而普通的掃 窗法要0.61秒才能搜索到模板圖位置。在這個(gè)實(shí)例中,本發(fā)明將搜索速度提高了近180倍, 相比其他各種改進(jìn)掃窗法,本發(fā)明也有很高的加速比。
[0146] 簡而言之,本發(fā)明公開的一種基于掩膜矩陣和快速傅立葉變換的模板圖像全局搜 索方法。主要解決了現(xiàn)有模板搜索方法運(yùn)算復(fù)雜度過高的問題。本發(fā)明針對(duì)現(xiàn)有模板搜索 中掃窗法的不足,設(shè)計(jì)了一種將模板圖和全圖這兩個(gè)不同大小的圖進(jìn)行卷積的方法,包括 拷貝模板圖和全圖,利用模板圖生成掩膜圖,用掩膜圖處理原始模板圖,計(jì)算模板圖能量, 擴(kuò)展模板圖和掩膜圖,模板擴(kuò)展圖和全圖做循環(huán)卷積,計(jì)算全圖的能量矩陣,帶入模板匹配 公式,找出最大響應(yīng)位置,實(shí)現(xiàn)全圖搜索的步驟。本發(fā)明通過模板圖的擴(kuò)展和掩膜圖的生 成,實(shí)現(xiàn)了一次計(jì)算出響應(yīng)矩陣;實(shí)現(xiàn)了稠密匹配;通過傅里葉變換計(jì)算循環(huán)卷積,降低模 板搜索運(yùn)算復(fù)雜度,并大大降低運(yùn)算時(shí)間;通過共輒改變了傳統(tǒng)循環(huán)卷積中矩陣的"循環(huán)方 向"。本發(fā)明可應(yīng)用于視頻跟蹤,模板位置搜索,機(jī)械零件定位等情形。
【主權(quán)項(xiàng)】
1.基于掩膜矩陣和快速傅立葉變換的模板圖像全局搜索方法,其特征在于,包括有以 下步驟: (1) 拷貝模板圖和全圖:讀取原始模板圖和全圖數(shù)據(jù),其中原始模板圖的大小小于全 圖; (2) 利用原始模板圖生成掩膜圖: (2a)生成一個(gè)與原始模板圖一樣大小的全1陣,即是掩膜圖; (2b)在需要去除目標(biāo)背景影響的時(shí)候?qū)⒃撗谀ぞ仃囍写肀尘皡^(qū)域的位置處的元素 置〇; (3) 用掩膜圖處理原始模板圖:將掩膜圖與原始模板圖點(diǎn)乘,得到處理后的原始模板 圖,稱為模板圖; (4) 計(jì)算模板圖能量:將模板圖與自身點(diǎn)乘并求和得到模板圖的能量; (5) 擴(kuò)展模板圖和掩膜圖: (5a)將模板圖擴(kuò)展到和全圖矩陣一樣大小,新擴(kuò)展的位置處均賦值為0,稱為模板擴(kuò)展 圖; (5b)將掩膜圖擴(kuò)展到和全圖矩陣一樣大小,新擴(kuò)展的位置處均賦值為0,稱為掩膜擴(kuò)展 圖; (6) 模板擴(kuò)展圖和全圖做循環(huán)卷積,得到模板全圖相關(guān)矩陣: (6a)使用快速傅里葉變換將模板擴(kuò)展圖變換到頻域中,將得到的矩陣稱為模板擴(kuò)展圖 的頻域矩陣; (6b)對(duì)模板擴(kuò)展圖的頻域矩陣進(jìn)行共輒處理; (6c)使用快速傅里葉變換將全圖矩陣變換到頻域中,將得到的矩陣稱為全圖的頻域矩 陣; (6d)將模板擴(kuò)展圖的頻域矩陣和全圖的頻域矩陣進(jìn)行點(diǎn)乘,得到模板全圖相關(guān)矩陣的 頻域矩陣; (6e)對(duì)模板全圖相關(guān)矩陣的頻域矩陣進(jìn)行快速傅里葉反變換,得到模板全圖相關(guān)矩 陣; (7) 計(jì)算全圖的能量矩陣: (7a)使用快速傅里葉變換將掩膜擴(kuò)展圖變換到頻域中,將得到的矩陣稱為掩膜擴(kuò)展圖 的頻域矩陣; (7b)對(duì)掩膜擴(kuò)展圖的頻域矩陣進(jìn)行共輒處理; (7c)使用快速傅里葉變換將全圖與自身的點(diǎn)乘變換到頻域中,將得到的矩陣稱為全圖 與自身點(diǎn)乘的頻域矩陣; (7d)將掩膜擴(kuò)展圖的頻域矩陣與全圖與自身點(diǎn)乘的頻域矩陣進(jìn)行點(diǎn)乘,得到全圖能量 矩陣的頻域矩陣; (7e)對(duì)全圖能量矩陣的頻域矩陣進(jìn)行快速傅里葉反變換,得到全圖的能量矩陣; (8) 帶入模板匹配公式:將模板圖能量、模板全圖相關(guān)矩陣、全圖的能量矩陣帶入匹配 公式,得到代表模板圖在全圖中匹配度的響應(yīng)矩陣,其中,匹配公式或是平方差法公式,或 是相關(guān)系數(shù)法公式; (9) 找出最大響應(yīng)位置:從代表模板圖在全圖中匹配度的響應(yīng)矩陣中找出代表最大響 應(yīng)的位置,該位置就是模板圖所在位置; (10)完成在全圖中搜索原始模板圖的任務(wù)。2. 根據(jù)權(quán)利要求1中所述的基于掩膜矩陣和快速傅立葉變換的模板圖像全局搜索方 法,其特征在于,步驟(6)中所述的模板擴(kuò)展圖和全圖做循環(huán)卷積是采用公式表示如下: corr 二 1 ?f [Z7,(/ - )]產(chǎn)/^(//;設(shè))] 其中,F(xiàn)1代表快速傅里葉反變換,C代表取共輒,F(xiàn)代表快速傅里葉變換,下標(biāo)2代表二維 的變換,t_ext代表模板擴(kuò)展圖,img代表全圖,corr為輸出的模板全圖相關(guān)矩陣。3. 根據(jù)權(quán)利要求1中所述的基于掩膜矩陣和快速傅立葉變換的模板圖像全局搜索方 法,其特征在于步驟(7)中所述的計(jì)算全圖的能量矩陣采用公式表示如下: img F\ 1}C\F.(mask _ext)]*^ F\(img.^img)J 其中,F(xiàn)1代表快速傅里葉反變換,C代表取共輒,F(xiàn)代表快速傅里葉變換,下標(biāo)2代表二維 的變換,mask_ext代表掩膜擴(kuò)展圖,img代表全圖,img_e代表輸出的全圖能量矩陣。4. 根據(jù)權(quán)利要求1中所述的基于掩膜矩陣和快速傅立葉變換的模板圖像全局搜索方 法,其特征在于,步驟(8)中所述的帶入模板匹配公式,得到代表模板圖在全圖中匹配度的 響應(yīng)矩陣,具體表示如下: (8.1) 當(dāng)采用原理為平方差時(shí): (8.1.a)模板圖能量值與全圖的能量矩陣相加得到一個(gè)和; (8. l.b)用(8.1.a)得到的和減去2倍的模板全圖相關(guān)矩陣,得到代表模板圖在全圖中 匹配度的響應(yīng)矩陣; 用公式表示如下: response = t_energy+img-e_2*corr (8.2) 當(dāng)采用原理為相關(guān)系數(shù)法時(shí),具體表示如下: (8.2.a)將模板圖能量值開方; (8.2.b)將全圖能量矩陣開方; (8.2. c)將(8.2.a)的結(jié)果和(8.2.b)的結(jié)果相乘; (8.2.d)用模板全圖相關(guān)矩陣點(diǎn)除(8.2.c)的結(jié)果,得到代表模板圖在全圖中匹配度的 響應(yīng)矩陣; 用公式表示如下:其中response代表本步驟輸出的響應(yīng)矩陣,t_energy代表(4)輸出的模板圖能量,img_ e為(7)輸出的全圖能量矩陣,corr為(6)輸出的模板全圖相關(guān)矩陣。
【文檔編號(hào)】G06K9/62GK106056158SQ201610390207
【公開日】2016年10月26日
【申請(qǐng)日】2016年6月3日
【發(fā)明人】李云松, 王康康
【申請(qǐng)人】西安電子科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
鄯善县| 奎屯市| 舒兰市| 嘉义市| 嘉义市| 蒲城县| 宜城市| 九龙坡区| 勐海县| 嘉兴市| 若羌县| 大竹县| 太保市| 岳西县| 鹤峰县| 隆安县| 蒲城县| 浦东新区| 壤塘县| 三穗县| 靖州| 成武县| 正阳县| 乌恰县| 郸城县| 武清区| 临潭县| 新绛县| 安仁县| 英吉沙县| 莱西市| 大竹县| 洛隆县| 宜丰县| 静海县| 昌都县| 汝阳县| 定结县| 峨山| 五常市| 马龙县|