肖得勝,劉桂華
(西南科技大學(xué) 信息工程學(xué)院,四川 綿陽(yáng) 621010)
圖像角點(diǎn)檢測(cè)是圖像處理領(lǐng)域中的經(jīng)典研究方向。Harris[1]角點(diǎn)檢測(cè)算子以其計(jì)算簡(jiǎn)單、角點(diǎn)檢測(cè)效果好的優(yōu)點(diǎn)得到了廣泛的運(yùn)用。但是,Harris角點(diǎn)檢測(cè)算子不具有尺度不變性。Mikolajczyk和 Schmid[2]將Harris角點(diǎn)檢測(cè)算子與高斯尺度空間相結(jié)合,在多個(gè)尺度上進(jìn)行Harris角點(diǎn)的檢測(cè),使其具有尺度不變性。
多尺度Harris角點(diǎn)檢測(cè)雖然克服了Harris算子只能在單一尺度下檢測(cè)角點(diǎn)的缺點(diǎn),但是卻大大增加了計(jì)算量和計(jì)算時(shí)間,難以進(jìn)行實(shí)時(shí)處理。通過(guò)分析發(fā)現(xiàn),雖然多尺度Harris角點(diǎn)檢測(cè)計(jì)算量很大,但是其結(jié)構(gòu)相對(duì)簡(jiǎn)單,適合利用現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA,F(xiàn)ield Programmable Gate Array)來(lái)實(shí)現(xiàn)以提高處理速度[3-4]。本文充分考慮FPGA的結(jié)構(gòu)及多尺度角點(diǎn)提取原理[5-6],對(duì)算法進(jìn)行改進(jìn),在FPGA上實(shí)現(xiàn)了圖像的多尺度角點(diǎn)檢測(cè)。
(1)高斯尺度空間的構(gòu)建
圖像通過(guò)與不同標(biāo)準(zhǔn)差高斯函數(shù)的卷積得到不同尺度的高斯圖像,一系列不同尺度的高斯圖像就構(gòu)成了高斯尺度空間。
(2)位置、尺度空間響應(yīng)值計(jì)算[7]多尺度Harris角點(diǎn)檢測(cè)二階矩如下:
其中,g (σI)表示標(biāo)準(zhǔn)差為的高斯函數(shù),符號(hào)“ ? ”表示卷積,(x,y,) 和(x,y,) 表示圖像經(jīng)標(biāo)準(zhǔn)差為σD的高斯函數(shù)g() 卷積后,在x和y方向的微分圖像。Mikolajczyk和 Schmid建議取σD=0.7×σI。
位置空間響應(yīng)值計(jì)算公式為:
det表示矩陣的行列式,trace表示矩陣的跡。α是取值于0.04~0.06的參數(shù)。
尺度空間響應(yīng)值計(jì)算公式為:
(3)多尺度Harris角點(diǎn)檢測(cè)
位置空間大于閾值的局部極大值點(diǎn)若在尺度空間也大于閾值且大于相鄰兩層對(duì)應(yīng)點(diǎn)尺度響應(yīng)值,那么此點(diǎn)為多尺度Harris角點(diǎn)。
多尺度Harris角點(diǎn)檢測(cè)算法的計(jì)算量主要集中在高斯尺度空間的建立、微分計(jì)算及響應(yīng)值計(jì)算。
在FPGA實(shí)現(xiàn)中,采用不同權(quán)值的高斯模版(矩形窗口)替代高斯函數(shù)。給定標(biāo)準(zhǔn)差 sigma和模板大小n×n,用matlab計(jì)算高斯模版對(duì)應(yīng)數(shù)值核心代碼如下:
高斯函數(shù)標(biāo)準(zhǔn)差越大,高斯函數(shù)值越分散,為了設(shè)計(jì)的精度,對(duì)應(yīng)高斯模板也應(yīng)該取的越大,但大窗口的高斯模板不易于FPGA的實(shí)現(xiàn),為減少高斯函數(shù)標(biāo)準(zhǔn)差,后一尺度圖像通過(guò)前一尺度圖像經(jīng)高斯卷積得到,同時(shí)卻增加了FPGA實(shí)現(xiàn)時(shí)的延時(shí)。
在充分考慮精度與FPGA器件延時(shí)情況下,前3個(gè)尺度圖像采用直接由原始圖像經(jīng)過(guò)高斯卷積得到,后三個(gè)尺度圖像則采用由其前一個(gè)尺度圖像經(jīng)過(guò)高斯卷積得到。
在設(shè)計(jì)中,涉及圖像x和y方向的一階、二階微分運(yùn)算。FPGA中采用圖像與微分模塊的卷積來(lái)實(shí)現(xiàn)。x方向一階微分模版為:[-1 0 1;-2 0 2;-1 0 1];y方向一階微分模版為:[-1 -2 -1;0 0 0;1 2 1];x方向二階微分模版為:[1 0 -2 0 1;4 0 -8 0 4;6 0 -12 0 6;4 0 -8 0 4;1 0 -2 0 1];y方向二階微分模版為:[1 4 6 4 1;0 0 0 0 0;-2 -8 -12 -8 -2;0 0 0 0 0;1 4 6 4 1]。
公式(2)中包含參數(shù)α,α的取值有些任意,不太令人滿(mǎn)意??紤]到FPGA實(shí)現(xiàn)多尺度Harris角點(diǎn)檢測(cè)時(shí),先構(gòu)建尺度空間圖像,然后計(jì)算差分,再將差分后的圖像數(shù)據(jù)與高斯函數(shù) g (σD) 相卷,對(duì)多尺度Harris角點(diǎn)響應(yīng)計(jì)算函數(shù)進(jìn)行改進(jìn),改進(jìn)后的響應(yīng)函數(shù)如下:
其中:
為提高搜索速度,在FPGA實(shí)現(xiàn)過(guò)程中,同時(shí)對(duì)位置空間和尺度空間響應(yīng)值點(diǎn)進(jìn)行搜索。先將各層圖像的位置、尺度空間響應(yīng)值經(jīng)先進(jìn)先出緩存器(FIFO,F(xiàn)irst Input First Output)緩存對(duì)齊,每層圖像響應(yīng)值均經(jīng)過(guò)3×3窗口模板并行輸出3×3領(lǐng)域的響應(yīng)值。并行比較每個(gè)位置空間響應(yīng)值與它所在尺度的8個(gè)相鄰位置響應(yīng)值、尺度空間響應(yīng)值與它相鄰兩層對(duì)應(yīng)點(diǎn)的尺度響應(yīng)值。
根據(jù)上面的多尺度Harris角點(diǎn)FPGA實(shí)現(xiàn)分析,F(xiàn)PGA整體結(jié)構(gòu)框圖如圖1所示。初始圖像與不同標(biāo)準(zhǔn)差的高斯函數(shù)卷積得到不同尺度的圖像,然后將尺度圖像數(shù)據(jù)與微分模板相卷得到圖像微分?jǐn)?shù)據(jù),再利用圖像微分?jǐn)?shù)據(jù)求得圖像各像素點(diǎn)在位置、尺度空間的響應(yīng)值,最后將各個(gè)響應(yīng)值經(jīng)FIFO緩存后同步并行輸出,通過(guò)并行比較位置、尺度空間的響應(yīng)值,快速檢測(cè)出圖像的多尺度Harris角點(diǎn)。
圖1 多尺度Harris角點(diǎn)檢測(cè)框架
采用 Altera公司 Cyclone Ⅲ系列 EP3C120 F484C7芯片實(shí)現(xiàn),測(cè)試圖像為8位灰度圖,分辨率為256×256,采用50 MHz時(shí)鐘頻,整個(gè)設(shè)計(jì)處理時(shí)間約為1.4 ms。用ModelSim進(jìn)行仿真驗(yàn)證,功能仿真結(jié)果如圖2所示。
圖2 ModelSim功能仿真結(jié)果
直接觀(guān)察波形很難看出角點(diǎn)提取的效果,將ModelSim的仿真結(jié)果存入文本中,然后通過(guò)Matlab讀取文本中的角點(diǎn)信息,將角點(diǎn)在原圖中顯示如圖3,其中符號(hào)“*”表示角點(diǎn)在圖中的位置。
圖3 多尺度Harris角點(diǎn)檢測(cè)圖
本文根據(jù)多尺度Harris角點(diǎn)檢測(cè)原理,通過(guò)對(duì)高斯函數(shù)、角點(diǎn)響應(yīng)值計(jì)算函數(shù)、角點(diǎn)搜索方法的改進(jìn),提出了改進(jìn)多尺度Harris角點(diǎn)的FPGA實(shí)現(xiàn)方案,通過(guò) ModelSim驗(yàn)證了角點(diǎn)檢測(cè)的正確性,并在FPGA芯片上得到實(shí)現(xiàn),從處理時(shí)間可以看出,本文設(shè)計(jì)能夠滿(mǎn)足多尺度Harris角點(diǎn)提取實(shí)時(shí)性的需求,在實(shí)時(shí)圖像處理領(lǐng)域具有很好的應(yīng)用價(jià)值。
[1] HARRIS C, STEPHENS M. A Combined Corner and Edge Detector[C].UK: Manchester University Press, 1988:147-151.
[2] MIKOLAJCZYK K, SCHMID C. Scale & Affine Invariant Interest Point Detectors[J].International Journal on Computer Vision,2004,60(01):63-86.
[3] 王剛,卿粼波,滕奇志.基于嵌入式平臺(tái)的實(shí)時(shí)雙目視覺(jué)測(cè)量系統(tǒng)[J].通信技術(shù),2011,44(10):55-57.
[4] 雷明,馬游春,李錦明,等.基于 FPGA的多通道圖像采集存儲(chǔ)系統(tǒng)設(shè)計(jì)[J].通信技術(shù),2010,43(04):204-207.
[5] 楊金孝,趙強(qiáng),楊百平,等.一種改進(jìn)型SUSAN算法的FPGA實(shí)現(xiàn)[J].信息安全與通信保密,2010(03):57-59.
[6] 張怡,馮飛,宋冠群.基于 FPGA的圖像預(yù)處理縮放算法[J].信息安全與通信保密,2007(01):77-78,81.
[7] 王永明,王貴錦.圖像局部不變特征與描述[M].北京:國(guó)防工業(yè)出版社,2010:53-56.
[8] 王渝,王剛,梅員.基于FPGA的改進(jìn)Harris角點(diǎn)檢測(cè)方法[J].通信技術(shù),2010,43(04):158-160.