《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于FPGA的自適應(yīng)閾值Harris角點(diǎn)檢測(cè)硬件實(shí)現(xiàn)
基于FPGA的自適應(yīng)閾值Harris角點(diǎn)檢測(cè)硬件實(shí)現(xiàn)
2016年微型機(jī)與應(yīng)用第19期
潘聰,,黃魯
中國(guó)科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院,,安徽 合肥 230026
摘要: 基于FPGA實(shí)現(xiàn)了一種自適應(yīng)閾值Harris角點(diǎn)檢測(cè),,用于解決低成本ARM處理器無(wú)法實(shí)時(shí)檢測(cè)到目標(biāo)角點(diǎn)的問(wèn)題。該算法首先對(duì)整幀像素點(diǎn)進(jìn)行預(yù)篩選,,將篩選通過(guò)的點(diǎn)進(jìn)行Harris角點(diǎn)檢測(cè),,通過(guò)設(shè)置容忍距離剔除偽角點(diǎn),,得到最終角點(diǎn)并通過(guò)LCD屏實(shí)時(shí)顯示,。采用自適應(yīng)閾值方法來(lái)解決單一閾值不適應(yīng)于多樣化環(huán)境的問(wèn)題,,使每幀(分辨率為480×272)都能檢測(cè)到大約120個(gè)角點(diǎn),在低成本FPGA芯片Spartan6 XC6SLX45上驗(yàn)證實(shí)現(xiàn),。實(shí)驗(yàn)結(jié)果表明,,該實(shí)現(xiàn)方法處理速度為115 f/s,能高效準(zhǔn)確地檢測(cè)到目標(biāo)角點(diǎn),,滿(mǎn)足精度,、穩(wěn)定性和實(shí)時(shí)性要求。
Abstract:
Key words :

  潘聰,,黃魯

 ?。ㄖ袊?guó)科學(xué)技術(shù)大學(xué) 信息科學(xué)技術(shù)學(xué)院,安徽 合肥 230026)

       摘要:基于FPGA實(shí)現(xiàn)了一種自適應(yīng)閾值Harris角點(diǎn)檢測(cè),,用于解決低成本ARM處理器無(wú)法實(shí)時(shí)檢測(cè)到目標(biāo)角點(diǎn)的問(wèn)題,。該算法首先對(duì)整幀像素點(diǎn)進(jìn)行預(yù)篩選,,將篩選通過(guò)的點(diǎn)進(jìn)行Harris角點(diǎn)檢測(cè),,通過(guò)設(shè)置容忍距離剔除偽角點(diǎn),得到最終角點(diǎn)并通過(guò)LCD屏實(shí)時(shí)顯示,。采用自適應(yīng)閾值方法來(lái)解決單一閾值不適應(yīng)于多樣化環(huán)境的問(wèn)題,,使每幀(分辨率為480×272)都能檢測(cè)到大約120個(gè)角點(diǎn),在低成本FPGA芯片Spartan6 XC6SLX45上驗(yàn)證實(shí)現(xiàn),。實(shí)驗(yàn)結(jié)果表明,,該實(shí)現(xiàn)方法處理速度為115 f/s,能高效準(zhǔn)確地檢測(cè)到目標(biāo)角點(diǎn),,滿(mǎn)足精度,、穩(wěn)定性和實(shí)時(shí)性要求。

  關(guān)鍵詞:角點(diǎn)檢測(cè),;預(yù)篩選,;自適應(yīng)閾值,;FPGA

0引言

  圖像處理中角點(diǎn)有多種定義,如圖像邊界上曲率足夠大的點(diǎn)[1],、圖像邊界上曲率變化明顯的點(diǎn)[2],、圖像邊界方向變化不連續(xù)的點(diǎn)[3]、圖像中梯度值和梯度變化率都很高的點(diǎn)[4]等,。

  Harris角點(diǎn)檢測(cè)算法在計(jì)算機(jī)視覺(jué)領(lǐng)域中應(yīng)用廣泛,,是很關(guān)鍵的前期步驟,如果角點(diǎn)檢測(cè)的精度或者速度達(dá)不到要求,,將直接導(dǎo)致后期處理無(wú)法正常進(jìn)行,。低成本的ARM處理器很難達(dá)到實(shí)時(shí)角點(diǎn)檢測(cè)的效果,綜合考慮,,低成本FPGA芯片實(shí)現(xiàn)Harris角點(diǎn)檢測(cè)是最佳方案,。本文設(shè)計(jì)的基于FPGA的Harris角點(diǎn)檢測(cè)實(shí)現(xiàn)方案相比于傳統(tǒng)方法,增加了角點(diǎn)預(yù)篩選步驟和自適應(yīng)閾值的步驟,,在XC6SLX45芯片為主的硬件平臺(tái)上得到了驗(yàn)證,。實(shí)驗(yàn)結(jié)果證明,檢測(cè)到角點(diǎn)的精度和實(shí)時(shí)效果都能達(dá)到工程要求,。

1Harris角點(diǎn)檢測(cè)原理

  Harris算子步驟[5]如下:

 ?。?)利用水平、豎直相鄰像素值之差求得Ix,、Iy,,進(jìn)而求得M矩陣中4個(gè)元素的值。

  QQ圖片20161214224251.png

 ?。?)對(duì)M的4個(gè)元素進(jìn)行高斯濾波,,得到新的矩陣N。

  QQ圖片20161214224254.png

  QQ圖片20161214224258.png

       (3)計(jì)算每個(gè)像素的角點(diǎn)響應(yīng)值R,,公式如下:

  QQ圖片20161214224302.png

  選取k為0.04,。

  (4)R大于閾值且滿(mǎn)足容忍距離的點(diǎn)認(rèn)為是角點(diǎn),。

2系統(tǒng)設(shè)計(jì)方案

  2.1硬件環(huán)境

  FPGA芯片通過(guò)I2C接口對(duì)攝像頭的寄存器進(jìn)行配置,,采集30 f/s幀頻、分辨率為480×272的灰度圖像,。由于光照對(duì)角點(diǎn)檢測(cè)影響很大,,需要先對(duì)采集進(jìn)來(lái)的圖像做直方圖均衡,將均衡后的圖像通過(guò)DPRAM進(jìn)行4行緩存后進(jìn)行Harris角點(diǎn)檢測(cè)邏輯運(yùn)算,,將檢測(cè)到的角點(diǎn)在原圖上以黑色點(diǎn)的形式實(shí)時(shí)顯示在LCD上,,如圖1所示。

圖像 001.png

       2.2硬件實(shí)現(xiàn)

  本文的實(shí)現(xiàn)思路如下:(1)對(duì)直方圖均衡后的圖像進(jìn)行預(yù)篩選;(2)對(duì)篩選通過(guò)的像素點(diǎn)進(jìn)行角點(diǎn)檢測(cè)運(yùn)算,,將R大于閾值的像素點(diǎn)記為角點(diǎn),;(3)采用容忍距離剔除偽角點(diǎn),得到最終角點(diǎn),。自適應(yīng)閾值的思路是:第一幀圖像的閾值人為設(shè)定,,從第二幀開(kāi)始閾值由其前一幀的最大R值和角點(diǎn)數(shù)目得到。

  硬件實(shí)現(xiàn)方法分為4個(gè)模塊:角點(diǎn)預(yù)篩選模塊,、高斯濾波模塊,、角點(diǎn)剔除模塊、自適應(yīng)閾值模塊,。具體實(shí)現(xiàn)電路如圖2所示,。

圖像 002.png

       2.2.1角點(diǎn)預(yù)篩選模塊

  角點(diǎn)預(yù)篩選模塊包括窗口生成邏輯,x/y方向?qū)?shù)計(jì)算邏輯,,角點(diǎn)預(yù)篩選邏輯,。窗口生成邏輯利用16個(gè)8 bit寄存器和3個(gè)深度為476、寬度為8的DPRAM構(gòu)成,,如圖3所示,。

圖像 003.png

  x/y方向?qū)?shù)邏輯分別計(jì)算x、y方向上的導(dǎo)數(shù),,計(jì)算方法是分別將4×4方形窗口的相鄰兩個(gè)像素相減(如圖4所示),。

  對(duì)圖像進(jìn)行預(yù)篩選能有效提高算法的處理速度。預(yù)篩選邏輯的思想為:如果中心點(diǎn)像素的灰度值之差的絕對(duì)值小于閾值t,,則判定中心點(diǎn)與周邊像素點(diǎn)相似,,否則認(rèn)為與周邊像素點(diǎn)差異較大。一般情況下當(dāng)兩個(gè)黑白圖像中的點(diǎn)的像素灰度差值小于像素灰度最大值的10%~15%時(shí),,人眼難以分辨[6],。本文選取閾值為35,預(yù)篩選實(shí)現(xiàn)電路如圖5所示,。

圖像 004.png

圖像 005.png

  2.2.2高斯濾波模塊

  乘2,、乘4利用簡(jiǎn)單的移位操作,除16則直接去掉低4位作為計(jì)算結(jié)果,。避免使用乘法器和除法器,,節(jié)省了大量的硬件資源,。對(duì)這3個(gè)系數(shù)同時(shí)進(jìn)行高斯濾波(如圖6)能最大程度地發(fā)揮并行優(yōu)勢(shì),,提高運(yùn)算速度。

  2.2.3角點(diǎn)剔除模塊

  角點(diǎn)剔除模塊包括角點(diǎn)響應(yīng)值計(jì)算邏輯,,R值比較邏輯,,偽角點(diǎn)篩選邏輯。

  

圖像 006.png

為了方便實(shí)現(xiàn),現(xiàn)將k值取5/128,,乘以5的計(jì)算邏輯可以轉(zhuǎn)化為左移兩位的移位寄存器和一個(gè)加法器,,除以128可以直接去掉低7位作為計(jì)算結(jié)果。

  R值比較邏輯是為了得到每幀圖像計(jì)算得到的最大R值,,實(shí)現(xiàn)電路如圖7所示,。

圖像 007.png

  如果大于閾值則認(rèn)為該像素點(diǎn)是角點(diǎn)(其中包含很多偽角點(diǎn))。在一定區(qū)域范圍內(nèi)只允許有一個(gè)角點(diǎn),,本文利用寄存器和linebuffer設(shè)置25個(gè)像素點(diǎn)的容忍距離,,當(dāng)feature信號(hào)的25 bit按位或非取值為1時(shí)表示該像素點(diǎn)為最終角點(diǎn)。圖8為角點(diǎn)剔除邏輯實(shí)現(xiàn)電路,。

圖像 008.png

  2.2.4自適應(yīng)閾值模塊

  傳統(tǒng)方法設(shè)置單一的常量閾值,,無(wú)法滿(mǎn)足多樣化環(huán)境,本文采用自適應(yīng)閾值的方法來(lái)解決這個(gè)問(wèn)題,。只有第一幀圖像的閾值是人為設(shè)置,,其余幀的閾值則是由前一幀的最大角點(diǎn)響應(yīng)值Rmax和檢測(cè)到的角點(diǎn)數(shù)目來(lái)得到(如表1)。

圖像 011.png

  選取一系列多種環(huán)境下的圖像進(jìn)行實(shí)驗(yàn),,不斷調(diào)整設(shè)定的p值[7]來(lái)適應(yīng)絕大多數(shù)圖像,,經(jīng)數(shù)據(jù)統(tǒng)計(jì)發(fā)現(xiàn)p取1.5×10-7~2.5×10-7時(shí),基本上能檢測(cè)到所有角點(diǎn),,且錯(cuò)誤角點(diǎn)和漏檢角點(diǎn)都較少,。本文最終選取的p值為2.3×10-7,約為2-22,。

3實(shí)驗(yàn)結(jié)果

  硬件平臺(tái)角點(diǎn)檢測(cè)實(shí)時(shí)效果見(jiàn)圖9,,局部放大效果見(jiàn)圖10。

圖像 009.png

圖像 010.png

  3.1資源占用分析

  FPGA資源消耗如表2,。

圖像 012.png

  3.2實(shí)時(shí)性分析

  本文提出了采用50 MHz時(shí)鐘頻率作為系統(tǒng)時(shí)鐘,,Harris角點(diǎn)檢測(cè)算法處理每幀圖像(檢測(cè)大約120個(gè)角點(diǎn))消耗時(shí)間為8.7 ms左右。經(jīng)過(guò)測(cè)試,,在檢測(cè)相同角點(diǎn)數(shù)目的情況下,,PC耗時(shí)大約是15 ms,ARM系統(tǒng)上耗時(shí)大約是120 ms,。相比較可以知道,,本文提出的實(shí)現(xiàn)方案能夠很好地滿(mǎn)足后續(xù)處理的實(shí)時(shí)性要求。

4結(jié)論

  本文提出了一種基于FPGA的自適應(yīng)Harris角點(diǎn)檢測(cè)實(shí)現(xiàn)方法,,試驗(yàn)結(jié)果表明此方法能檢測(cè)到足夠數(shù)目的有效角點(diǎn),,充分發(fā)揮FPGA硬件平臺(tái)的并行優(yōu)勢(shì),相比于傳統(tǒng)的算法運(yùn)算速度有大幅度提高,,能很好地滿(mǎn)足實(shí)時(shí)性要求,。因此,,此硬件實(shí)現(xiàn)方案,在精度和速度上都可滿(mǎn)足實(shí)際工程應(yīng)用需要,。

  參考文獻(xiàn)

 ?。?] SMITH S M, BRADY J M. SU SAN—a new approach to low level image processing [ J]. International Journal of Computer Vision, 1997, 23(1): 45-78.

  [2] ZUNIGA O A,HARALICK R M. Corner detection using the facet model[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Piscataway , USA: IEEE, 1983: 30-37.

 ?。?] SHEU H T, HU W C. A rotationally invariant two phase scheme for corner detection [J]. Pattern Recognition, 1996, 29(5): 819-828.

 ?。?] WU Z Q, ROSENFELD A. Filtered projections as an aid in corner detection[J]. Pattern Recognition, 1983,16(1):31-38.

  [5] 李博. 圖像的不變特征檢測(cè)與描述研究[D]. 重慶:重慶大學(xué),2007.

 ?。?] 周大偉,耿金玲,鄭繼明,,等.一種基于人眼視覺(jué)特性的ROI漸進(jìn)圖像傳輸算法[J].計(jì)算機(jī)應(yīng)用,2007,27(7):1654 1656,1673.

  [7] 沈士喆,張小龍,衡偉,,等.一種自適應(yīng)閾值的預(yù)篩選Harris角點(diǎn)檢測(cè)方法[J].數(shù)據(jù)采集與處理,2011,26(2):207-213.


此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。