一種ASIC硬件圖像匹配最大互相關(guān)算法的設(shè)計和實現(xiàn)
圖像匹配是指通過一定的匹配算法在兩幅或多幅圖像之間識別同名點,如二維圖像匹配中通過比較目標(biāo)區(qū)和搜索區(qū)中相同大小的窗口的相關(guān)系數(shù),取搜索區(qū)中相關(guān)系數(shù)最大所對應(yīng)的窗口中心點作為同名點。其實質(zhì)是在基元相似性的條件下,運(yùn)用匹配準(zhǔn)則的最佳搜索問題。圖像匹配技術(shù)是近代信息處理,特別是圖像信息處理領(lǐng)域中極為重要的技術(shù)。圖像匹配就是要根據(jù)參考圖像和實時圖像來選定某些特征、相似性準(zhǔn)則及搜索策略進(jìn)行相關(guān)運(yùn)算,以確定匹配的最佳空間對應(yīng)點。它主要研究的問題有特征空間、相似性度量和搜索策略三個方面。圖像匹配關(guān)鍵是要確定有效的匹配方法,要求匹配概率高、誤差小、速度快且適時性好。 圖像匹配的方法一般分為基于灰度的匹配方法和基于特征的匹配方法兩大類。
圖像匹配是圖像處理和模式識別領(lǐng)域中的一個非常關(guān)鍵問題,同時也是眾多計算機(jī)視覺理論與應(yīng)用的基礎(chǔ),它的研究成果廣泛應(yīng)用于目標(biāo)識別、遙感測量、自動導(dǎo)航、虛擬現(xiàn)實、醫(yī)學(xué)診斷、生產(chǎn)自動化及軍事等方面。由于圖像具有很強(qiáng)的結(jié)構(gòu)性,而圖作為一種描述數(shù)據(jù)的工具可以保留結(jié)構(gòu)、區(qū)域之間的相互關(guān)系,是一個非常重要而有效的結(jié)構(gòu)特征信息的表示方式,因此,用圖來描述圖像的結(jié)構(gòu)特征并且應(yīng)用圖匹配來研究圖像特征之間的匹配問題受到了越來越多的關(guān)注,成為了目前模式識別等領(lǐng)域的研究熱點問題。
圖像匹配一般可采用如下幾種方式實現(xiàn):①軟件;②高速DSP;③面向算法的專用ASIC器件。軟件方法靈活,可大大降低計算量,但它必須以高速DSP硬件平臺為基礎(chǔ),才可能滿足高實時性要求;高速DSP方法簡單靈活,能夠滿足高實時性要求,如TI公司的TMS320C6X系列高速DSP芯片,速度高達(dá)1600MIPS[4],單片機(jī)就可實現(xiàn)高速實時處理系統(tǒng)。以這高速DSP芯片組成的硬件結(jié)構(gòu)應(yīng)是圖像匹配計算機(jī)首選的硬件實現(xiàn)結(jié)構(gòu)。但對應(yīng)用于尖端科技的這些高速DSP芯片,西文發(fā)達(dá)國家對我國采取禁售策略,這使我國的某些科技領(lǐng)域受到很大的制約,因此在我國必須另辟途徑以避免禁售策略的制約。面向算法的專用ASIC器件方法,采用大量的并行功能單元,速度高、可以滿足嵌入式應(yīng)用中的高速實時計算要求,而且結(jié)構(gòu)簡單、軟件編程簡單、硬件實現(xiàn)容易、體積小、成本低,特別適應(yīng)我國國情。因此開發(fā)研究專用ASIC組成的高速圖像匹配計算機(jī)實現(xiàn)結(jié)構(gòu)具有重要的意義。
1 圖像匹配最大互相關(guān)算法分析
基于灰度的圖像匹配算法有許多種,其中最基本的有最小絕對差算法、最小平方差算法,最小卷積算法、最大互相關(guān)算法、不變矩算法等十幾種。它們各有優(yōu)缺點,其中最大互相關(guān)算法具有去直流噪聲、匹配位置準(zhǔn)確等特點,因而成為圖像匹配采用的主要方法。它的原始公式為:
由于原始公式中的變量X(i,j),Y(i+u,j+v)為去均值后的圖像數(shù)據(jù),不是原始圖像象素數(shù)據(jù),這樣的算法結(jié)構(gòu)有正有負(fù)、中間結(jié)果量多、計算量大、規(guī)律性差,不利于專用硬件實現(xiàn)[3],因此必須對原始公式進(jìn)行變換。把(2)和(3)式代入原始公式(1)中,變換后的公式為:
由于在圖像匹配搜索過程中基準(zhǔn)圖是已知的,可預(yù)先對基準(zhǔn)圖子圖數(shù)據(jù)進(jìn)行均值和平方均值計算,然后預(yù)先裝配在相關(guān)計算機(jī)上。在圖像匹配過程中可不記其所需時間,因此圖像匹配所需時間主要為求實時圖數(shù)據(jù)和基準(zhǔn)子圖數(shù)據(jù)的卷積。這一結(jié)論也可通過實際圖像匹配運(yùn)算得到。在TI公司TMS320C30DSP(33M)上,采用公式(4)對不同象素數(shù)的實時圖和參考圖進(jìn)行全搜索圖像匹配,其運(yùn)算時間如表1所示(匯編程序、程序放置在片內(nèi)存儲器,數(shù)據(jù)片外零等待存儲器)。
從表1可看出,圖像匹配的最大互相關(guān)算法主要歸結(jié)為卷積運(yùn)算,因此采用專用的硬件卷積電路必將大大加快圖像匹配運(yùn)算速度。
表1 采用互相變換公式圖象匹配運(yùn)算周期數(shù)和時間
項 目 | 公式(4) | 公式(4)鄭項所占比例 | |||
實時圖 | 參考圖 | 總運(yùn)算周期數(shù) | 卷積項周期數(shù) | 約需時間(ms) | |
36×36 | 128×128 | 51443810 | 51354910 | 3081 | 99.83% |
64×64 | 128×128 | 89362992 | 89308446 | 5362 | 99.93% |
36×36 | 150×150 | 77423252 | 77291458 | 4645 | 99.83% |
64×64 | 150×150 | 160078800 | 159994050 | 9605 | 99.95% |
2 以TMS320C30和專用ASIC器件LS9501組成的圖像匹配計算機(jī)結(jié)構(gòu)介紹
ASIC是Application Specific Integrated Circuit的英文縮寫,在集成電路界被認(rèn)為是一種為專門目的而設(shè)計的集成電路。目前,在集成電路界ASIC被認(rèn)為是一種為專門目的而設(shè)計的集成電路。是指應(yīng)特定用戶要求和特定電子系統(tǒng)的需要而設(shè)計、制造的集成電路。ASIC的特點是面向特定用戶的需求,ASIC在批量生產(chǎn)時與通用集成電路相比具有體積更小、功耗更低、可靠性提高、性能提高、保密性增強(qiáng)、成本降低等優(yōu)點。[!--empirenews.page--]
2.1 專用圖像匹配器件LS9501介紹
LS9501[2]是西安微電子技術(shù)研究所根據(jù)圖像匹配的特點研制成功的一個高速[20M]二維具有3x3內(nèi)核的卷積器,它的主要功能是可同時對9對象素值實現(xiàn)乘加運(yùn)算,即實現(xiàn):.LS9501的輸入是二維無符號8位的圖像數(shù)據(jù),輸出是無符號20位卷結(jié)果和二維串行移位無符號8位的圖像數(shù)據(jù)。其內(nèi)部結(jié)構(gòu)采用流水線并行技術(shù),主要的功能單元有寄存器組、快速乘法器、加法器和控制電路,如圖2所示。電路中設(shè)置的兩組寄存器A和B由9個8位的移位寄存器構(gòu)成,可存放9個圖像象素數(shù)據(jù)。9個快速乘法器可保證在每一個時鐘內(nèi)同時進(jìn)行9對圖像數(shù)據(jù)相乘。其工作原理為:向A寄存器輸入9個實時圖象素數(shù)據(jù)后,再向B寄存器輸入入九個基準(zhǔn)圖像素數(shù)據(jù),當(dāng)9對象素值輸入完后,經(jīng)過一定時間延遲,即可得到卷積結(jié)果。此后,如A寄存器的數(shù)據(jù)不變,B寄存器繼續(xù)輸入數(shù)據(jù),則每輸入一個數(shù)據(jù),即可獲得一個9個圖像象素數(shù)據(jù)卷積結(jié)果。如果將多個LS9501卷積器級連起來,可實現(xiàn)更多對象素數(shù)據(jù)的卷積運(yùn)算。例如,將4個LS9501級連,可實現(xiàn)36對象素數(shù)據(jù)的卷積,但要將4個卷積器的結(jié)果加起來,才能得到最后的結(jié)果。為此,西安微電子技術(shù)研究所研制了級連加法器LS9502,它的功能是在60ns內(nèi)將4LS9501的輸出結(jié)果求和。
3 圖像匹配計算機(jī)結(jié)構(gòu)
將4個卷積器LS8501和級連加法器LS9501組合起來作為TMS320C30數(shù)字信號處理器的快速協(xié)處理器部件,可組成一種高速的單DSP+多ASIC系統(tǒng)結(jié)構(gòu)的嵌入式計算機(jī),如圖3所示。其工作過程為:首先TMS320C30按一定次序把36個實時圖象素數(shù)據(jù)從實時圖存儲器中取出并輸入LS9501的A寄存器中,然后,從基準(zhǔn)圖存儲中將基準(zhǔn)圖像素數(shù)據(jù)輸入B寄存器。輸入36個基準(zhǔn)圖像素數(shù)據(jù)后,經(jīng)過一定時間延遲,即可讀出第一個36對圖像象素數(shù)據(jù)卷積結(jié)果。此后即建立起流水,每輸入一個基準(zhǔn)圖數(shù)據(jù)可得到相應(yīng)36對圖像象素數(shù)據(jù)卷積結(jié)果,直至對整個基準(zhǔn)圖匹配計算完。當(dāng)實時圖比較大時,可把實時圖分成若干子圖,然后對每一個子圖分別進(jìn)行卷積運(yùn)算,最后再把它們的結(jié)果加在一起。這樣,工作量最大的匹配計算任務(wù)由LS8501完成,TMS320C30將各個圖匹配結(jié)果進(jìn)行累加,求最大互相關(guān)值,并對卷器控制輸入8位灰度圖像數(shù)據(jù)。
4 圖像匹配結(jié)果與討論
在上述圖像匹配計算機(jī)中,采用美國TI公司的TMS320C30(33M)DSP芯片主為處理器,4片關(guān)并行的LS9501和級連加法器LS9502組成圖像匹配協(xié)處理器,外部圖像存儲器讀寫為零等待狀態(tài)。根據(jù)組成的計算機(jī)系統(tǒng)結(jié)構(gòu),把36x36的實時圖分成36個4x9的子圖,然后計算每一子圖與相應(yīng)基準(zhǔn)圖子圖卷積,最后把各個子圖卷積結(jié)果累加在一起。通過編寫TMS320C30匯編程序,對不同大小實時圖和基準(zhǔn)圖進(jìn)行搜索(即匹配所有(M-N+1)2個子圖)最大互相差匹配運(yùn)算,運(yùn)算結(jié)果匹配位置正確。匹配運(yùn)算時間如表2所示(對基準(zhǔn)圖像素數(shù)據(jù)預(yù)處理,不計運(yùn)算時間)。
表2 實時圖和基準(zhǔn)圖匹配運(yùn)算時間
圖像大小 | 運(yùn)算時間/ms | ||
實時較 | 基準(zhǔn)圖 | 由單DSP執(zhí)行 | 由DSP+ABIC執(zhí)行 |
36×36 | 128×128 | 3081 | 623 |
36×36 | 150×150 | 4645 | 946 |
從表2可看出,采用專用集成電路LS9501可大大加快圖像匹配運(yùn)算速度,而且編程比較簡單,實現(xiàn)容易,實測結(jié)果令人滿意的。
本研究為國家"九五"預(yù)研項目"高速數(shù)字信號處理機(jī)技術(shù)"的一部分,已通過國家驗收,并已應(yīng)用于高速圖像相關(guān)計算機(jī)中。這一研究的成功使我們看到了打破西方禁售策略的一種簡單可行的方法。在實驗中我們發(fā)現(xiàn)LS9501具有非常大的提高其實時性的潛力,現(xiàn)分析如下:
在實驗中發(fā)現(xiàn),LS9501內(nèi)部圖像數(shù)據(jù)移位寄存器時鐘和3級加法器寄存器時鐘不為同一時鐘,這使得卷積模塊的并行效率大為降低。如果將其改進(jìn)為同一時鐘,那篤在圖3所示單機(jī)系統(tǒng)結(jié)構(gòu)中,對(36x36)實時圖與(128x128)或(150x150)基準(zhǔn)圖圖像匹配時間將分別為394ms和592ms,圖像匹配速度提高約1倍(軟件模擬)。另外在實驗的單機(jī)系統(tǒng)結(jié)構(gòu)中,卷積模塊完全靠TMS320C30控制,其時鐘輸入依賴TMS320C30讀寫信號,而且TMS329C30對外部存儲器連續(xù)時讀寫信號不變化[1],必須加NOP指令以使讀寫信號變化。這樣LS9501的性能沒有得到完全發(fā)揮,而且TMS320C30也不能處理其它任務(wù),二者依賴性太大,相互制約,并行度和實時性難以得到提高。卷積模塊發(fā)展為智能卷積處理器,那么硬件結(jié)構(gòu)右發(fā)展為主從式雙機(jī)計算機(jī)系統(tǒng)結(jié)構(gòu):主機(jī)為DSP,從機(jī)為卷積處理器。這種系統(tǒng)結(jié)構(gòu)可使DSP與卷積器的依賴 性降到最低,提高任務(wù)級并行性,也可最大限揮LS9501的性能,從而提高圖像匹配的速度。在不增加單芯片實現(xiàn)的卷積規(guī)模條件下,開發(fā)更高速度的LS9501,同樣可提高圖像匹配的速度。不容質(zhì)疑,提高單芯片實現(xiàn)的卷積規(guī)模必將較大地提高圖像匹配的速度。
由實驗結(jié)構(gòu)及以上分析可以預(yù)見,圖像匹配最大互相關(guān)的專用ASIC實現(xiàn)方法是一個簡單可行的方法,并具有很好的發(fā)展前景,完全可以開發(fā)體積小、成本低、速度與TI公司C6000系列高性能DSP的速度相比美的卷積處理器。