• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      圖像二值化處理硬件加速引擎的設計

      2021-12-10 04:07:08宋宇鯤張多利
      關鍵詞:流水線像素點亮度

      陽 欣, 魏 可, 宋宇鯤, 張多利

      (合肥工業(yè)大學 微電子學院,安徽 合肥 230601)

      0 引 言

      圖像二值化處理是一種用于分離圖像背景和前景的數(shù)字圖像處理方法,被廣泛應用于機器視覺、醫(yī)學影像、文本提取等領域[1-3]。圖像二值化處理的關鍵在于獲取合適的閾值,獲取閾值通常需要處理大量圖像數(shù)據(jù),而處理器僅訪問內(nèi)存就需要3個以上時鐘周期[4],計算過程耗時長,無法滿足某些實時性要求高的場合。

      針對低成本、高實時性等嵌入式系統(tǒng)需求,本文提出了一種圖像二值化處理硬件加速架構(gòu),并完成了基于該架構(gòu)的硬件電路設計。所設計的硬件電路作為處理器的從設備實現(xiàn)多種規(guī)格、不同環(huán)境下的圖像二值化處理,具有電路面積小、加速效率高等優(yōu)點。

      1 算法原理

      圖像二值化處理又稱為圖像閾值處理,主要實現(xiàn)方法有全局閾值算法和自適應閾值算法。全局閾值算法對整幅圖像的像素點運算獲取最佳閾值,其算法通用性好,但是對圖像噪聲敏感[5],而且內(nèi)存開銷大;自適應閾值算法將原始圖像分割成若干個子圖像并分別求子圖像的最優(yōu)閾值,它能夠減小圖像噪聲的影響,但是計算過程相對復雜[6]。

      綜合考慮處理效果、硬件成本以及算法復雜度等因素,本文將Box Filter算法引入到圖像二值化處理過程中。這是一種自適應閾值算法,以待處理像素點為中心、(2r+1)為邊長的正方形框作為閾值窗口,閾值窗口內(nèi)所有像素點亮度值的數(shù)學期望是該像素點的閾值T(x,y)[7]?;谠撍惴ǖ挠布娐分恍枰?圖像寬度×閾值窗口寬度)字節(jié)圖像緩存,具有算法復雜度低、抗噪聲能力強等優(yōu)點[8]。

      1.1 處理流程

      圖像像素點按照從左到右、從上到下順序依次輸入。針對以上特點,首先計算閾值窗口內(nèi)圖像的第i列像素點的亮度和C(i),即

      (1)

      其中:g(i,y+j)為橫坐標為i、縱坐標為y+j的像素點的亮度值;y為閾值窗口中心像素點的縱坐標;r為閾值窗口的半徑。

      閾值窗口內(nèi)所有像素點的亮度和R(x,y)是其每列像素點亮度和的累加,即

      (2)

      其中:x為閾值窗口中心像素點的橫坐標;r為閾值窗口的半徑。

      隨著閾值窗口向圖像右方移動,當前閾值窗口與前一個閾值窗口大部分像素點是相同的,閾值窗口所有像素點的亮度和R(m,n)的計算公式為:

      R(m-1,n)+C(m+r)-C(m-r-1)

      (3)

      其中:R(m-1,n)為前一個閾值窗口所有像素點的亮度和;C(m-r-1)為閾值窗口前一列像素點的亮度和;C(m+r)為閾值窗口最新一列像素點的亮度和。

      像素點對應的閾值T(x,y)等于閾值窗口所有像素點的亮度和R(x,y)除以閾值窗口的像素點總個數(shù)(2r+1)2,即

      (4)

      二值圖像b(x,y)由閾值偏置參數(shù)σ、待處理像素點的亮度值g(x,y)和對應的閾值T(x,y)的數(shù)值大小決定,即

      (5)

      1.2 閾值窗口空白部分填充

      當閾值窗口的中心像素點是圖像邊沿或靠近邊沿時,可能會出現(xiàn)部分閾值窗口在圖像有效區(qū)外的情況。

      閾值窗口空白部分的填充步驟如圖1所示。

      當窗口半徑r=2、中心像素點坐標為(0,0)時,閾值窗口的像素點分布如圖1a所示,圖1中的陰影部分在圖像有效區(qū)外。以圖1a為例,本文填充閾值窗口空白部分的具體步驟如下:

      (1) 使用圖像的邊沿行像素點擴展圖像的高度,如圖1b所示。

      (2) 復制擴展后的圖像邊沿列像素點填充閾值窗口的剩余空白部分,如圖1c所示。

      2 系統(tǒng)架構(gòu)

      圖像二值化處理加速引擎、處理器、靜態(tài)隨機存取存儲器(static random access memory,SRAM)等分立的硬件單元,通過高級高性能總線(advanced high preformance bus,AHB)互聯(lián)成一個系統(tǒng),如圖2所示。

      圖像二值化加速引擎包括內(nèi)存控制、圖像緩存和圖像運算等模塊。其中,圖像緩存模塊由(2r+1)個行緩存單元構(gòu)成,每個行緩存單元存儲1行像素點;內(nèi)存控制模塊是圖像緩存模塊的控制中樞,其主要作用是將像素點g(x,y)存儲在對應行緩存的子存儲單元中,并輸出閾值窗口像素點;圖像運算模塊根據(jù)(1)~(5)式計算閾值并輸出二值圖像。

      總線接口包括AHB slave和AHB master。AHB slave收發(fā)圖像二值化處理的工作參數(shù)和控制命令,如圖像大小、閾值偏置參數(shù)σ以及圖像二值化處理開始、結(jié)束等信息;AHB master將二值圖像傳輸?shù)綊燧d在AHB總線上的SRAM中。

      3 圖像二值化加速引擎的實現(xiàn)

      3.1 圖像緩存模塊的控制算法

      本文采用循環(huán)行緩存讀寫算法控制行緩存單元[9],其主要思想是:將第1行像素點同時存儲在行緩存0,1,2,…,r中,實現(xiàn)圖1b擴展圖像高度的功能,圖像其他行像素點按照輪換規(guī)則對應唯一的行緩存,即

      (6)

      其中:N為行緩存的序號;y為輸入像素點在圖像中的縱坐標;r為閾值窗口的半徑;%為取余運算。

      相比于存儲整幀圖像,本算法優(yōu)勢在于圖像緩存模塊只存儲包含閾值窗口的整行像素點,大大減少了圖像緩存的數(shù)量。

      行緩存讀寫控制如圖3所示。圖3的縱坐標V為行緩存的序號,橫坐標U為行緩存的子存儲單元,每個子單元對應唯一的存儲地址,像素點在行緩存中的存儲地址是其在圖像中的橫坐標。為了加快圖像讀寫速率,分步輸出閾值窗口內(nèi)的像素點,由圖3可知,當閾值窗口的1列像素點緩存完成后,下一個時鐘節(jié)拍將整列像素點輸出到圖像運算模塊。

      圖3 行緩存讀寫控制

      3.2 運算流水線

      圖像運算模塊數(shù)據(jù)運算量大,因此其處理速度直接決定了整個電路的性能。本文采用流水線結(jié)構(gòu)分級計算閾值并輸出二值圖像,提高圖像運算模塊的主頻[10]。

      運算流水線結(jié)構(gòu)如圖4所示,運算流水線由分級運算單元和計數(shù)器構(gòu)成。每輸入1列圖像像素點計數(shù)器的值加1,計數(shù)到圖像的行尾時歸0,其作用是計算輸入列像素點在圖像中的橫坐標。

      圖4 運算流水線結(jié)構(gòu)

      運算單元分為累加、移位緩存等不同步驟,每級流水線的原理介紹如下。

      (1) 第1級流水線由若干個加法器和寄存器構(gòu)成,采用嵌套子流水線的方式,分步計算由圖像緩存模塊輸入的閾值窗口整列像素點的亮度和C(i)。

      (2) 第2級流水線由(2r+3)個寄存器buffer(0)、buffer(1)、buffer(2)……buffer(2r+1)、buffer(2r+2)組成。其中:buffer(0)緩存閾值窗口前一列像素點的亮度和;buffer(1)、buffer(2)……buffer(2r+1)依次緩存閾值窗口內(nèi)每列像素點的亮度和;buffer(2r+2)緩存圖像最后一列像素點的亮度和C(w)。當圖像第1列像素點的亮度和C(0)輸入時,將其同時存儲在buffer(2r+1)、buffer(2r)、buffer(2r-1)……buffer(r)中,實現(xiàn)填補閾值窗口左半部分空白區(qū)域的功能。

      (3) 第3級流水線由加法器、減法器和寄存器構(gòu)成,計算閾值窗口所有像素點的亮度和R(x,y)。① 當閾值窗口的中心像素點位于圖像的第1列時,根據(jù)(2)式對閾值窗口內(nèi)每列像素點亮度和求和;② 閾值窗口在圖像其他位置時,根據(jù)(3)式計算R(x,y)。其中,寄存器緩存前一個閾值窗口所有像素點的亮度和R(x-1,y),閾值窗口前一列像素點的亮度和C(x-r-1)緩存在buffer(0)中。一般情況下,閾值窗口最新一列像素點的亮度和C(x+r)緩存在buffer(2r+1)中。當閾值窗口右半部分在圖像有效區(qū)外時,使用圖像最后一列像素點將空白部分補全,圖像最后一列像素點的亮度和C(w)緩存在buffer(2r+2)中。

      (7)

      其中:an=0或1;Mτ為近似值。

      (5) 第5級流水線由加法器和比較器構(gòu)成,根據(jù)(5)式比較g(x,y)+σ的和與閾值T(x,y)的數(shù)值大小,并輸出二值圖像。

      3.3 圖像二值化加速引擎的具體實現(xiàn)

      圖像二值化加速引擎的具體實現(xiàn)如圖5所示。

      圖5 圖像二值化加速引擎的具體結(jié)構(gòu)

      內(nèi)存控制模塊分為主控制器、行緩存選通單元以及地址選通單元。主控制器根據(jù)圖像緩存模塊輸入像素點和輸出像素點的時序關系,產(chǎn)生讀寫圖像緩存模塊的控制信號。行緩存選通單元由計數(shù)器構(gòu)成,當像素點輸入時,根據(jù)(6)式產(chǎn)生該像素點對應行緩存的選通信號。地址選通單元也由計數(shù)器構(gòu)成,計算輸入、輸出像素點在圖像中的橫坐標,并產(chǎn)生像素點對應子存儲單元的選通信號。

      圖像運算模塊由圖4介紹的運算流水線和待處理像素點計數(shù)器構(gòu)成。待處理像素點計數(shù)器計算待處理像素點對應的行緩存及其存儲地址,并從圖像緩存模塊中讀取待處理像素點的亮度值。

      結(jié)合圖2與以上敘述,圖像二值化加速引擎的工作流程概括如下:① 處理器通過AHB slave啟動圖像二值化加速引擎并配置其工作參數(shù);② 將輸入像素點存儲在對應的行緩存的子存儲單元中;③ 閾值窗口的整列像素點存儲完成后,立即將它們輸出;④ 圖像運算單元分步計算閾值窗口的閾值,并通過AHB master將二值圖像寫入到SRAM中;⑤ 當前圖像處理結(jié)束后,圖像二值化加速引擎配置AHB slave中表示圖像處理結(jié)束的寄存器,并等待下一幀圖像二值化處理。

      4 實驗結(jié)果分析

      4.1 FPGA原型驗證

      本文使用Xilinx XC5VLX110T FPGA開發(fā)板驗證圖像二值化加速電路的正確性。電路經(jīng)過優(yōu)化、綜合后由FPGA的邏輯單元配置而成,FPGA測試平臺如圖6所示。

      圖6 FPGA測試平臺

      圖6中,控制單元一方面發(fā)出圖像二值化處理的工作參數(shù)和控制命令,另一方面控制存儲單元有序地讀寫。亮度圖像由外部導入開發(fā)板的存儲單元內(nèi),圖像二值化處理結(jié)束后,將處理結(jié)果存儲為文本文件,并使用Matlab查看處理效果。不同閾值窗口半徑r和閾值偏置參數(shù)σ的圖像二值化處理效果如圖7所示。

      圖7 不同窗口半徑和閾值參數(shù)的處理效果

      本文提出的架構(gòu)(r=5、r=10)與文獻[12]圖像二值化處理架構(gòu)FPGA實現(xiàn)的處理性能和資源消耗見表1所列,測試圖像的分辨率為280×265。

      表1 不同架構(gòu)處理性能和資源消耗對比

      文獻[12]采用Ostu全局閾值算法,需要緩存整張圖像像素點的亮度值。由表1可知:① 文獻[12]的處理速度比本文架構(gòu)約快11.5%,但本文架構(gòu)(r=10時)消耗的內(nèi)存(BRAMs)只有其47.7%,當圖像分辨率增大到640×480時,該比例將減至12%以下;② 由于流水線處理結(jié)構(gòu),窗口半徑r的大小對架構(gòu)的性能幾乎沒有影響,但資源消耗隨著r的增大而增加。在150 MHz時鐘頻率下,每s能處理240張640×480分辨率的圖片。

      4.2 系統(tǒng)測試

      本文提出的圖像二值化處理加速架構(gòu)經(jīng)過寄存器傳輸級(register transfer level,RTL)描述、FPGA驗證、版圖驗證等步驟后,已被集成于某款QR碼識別芯片。芯片的制造工藝是SMIC 110 nm,面積為14.975 63 mm2,工作時鐘頻率的范圍為120~220 MHz,當時鐘頻率為150 MHz時,其功耗為55.744 mW。芯片的部分版圖如圖8所示,由于圖像二值化處理加速電路屬于數(shù)字集成電路,其分散在系統(tǒng)的版圖中。

      圖8 芯片的部分版圖

      芯片測試平臺和測試結(jié)果如圖9所示。由圖9a可知,QR碼識別芯片將攝像頭采集的圖像轉(zhuǎn)換成二值圖像,并通過處理器對二值圖像譯碼,解碼信息通過UART接口傳輸?shù)焦芾碓O備。

      當時鐘頻率為120 MHz時,由圖9b可知,采用圖像二值化加速電路的QR碼識別芯片每s能精確地識別6張QR碼圖像,具有較高的識別精度和實時性。加速電路有效地壓縮了圖像處理的時間,同時也達到了低功耗處理的目的。

      圖9 芯片測試平臺和測試結(jié)果

      5 結(jié) 論

      針對低成本、高實時性等嵌入式系統(tǒng)需求,本文對圖像二值化處理的原理和特點進行了深入研究,并設計了一種圖像二值化處理的硬件加速電路。該加速電路采用循環(huán)行緩存讀寫算法減小圖像緩存、增大圖像讀寫速率,并通過流水線處理等方式提高處理性能。在完成FPGA驗證等步驟后,該加速電路已應用于某款QR碼識別芯片,并取得了良好的處理效果。

      猜你喜歡
      流水線像素點亮度
      Gen Z Migrant Workers Are Leaving the Assembly Line
      流水線
      亮度調(diào)色多面手
      基于canvas的前端數(shù)據(jù)加密
      亮度一樣嗎?
      基于逐像素點深度卷積網(wǎng)絡分割模型的上皮和間質(zhì)組織分割
      基于斬波調(diào)制的LED亮度控制
      人生的亮度
      報廢汽車拆解半自動流水線研究
      基于Node-Cell結(jié)構(gòu)的HEVC幀內(nèi)編碼
      電視技術(2014年11期)2014-12-02 02:43:28
      望谟县| 吉安市| 喀喇沁旗| 绥芬河市| 兴国县| 定西市| 德兴市| 三台县| 三河市| 彭泽县| 江北区| 洛宁县| 清新县| 灵台县| 卓尼县| 新源县| 西和县| 仁化县| 独山县| 从化市| 玉龙| 五常市| 承德县| 紫阳县| 阳朔县| 乐业县| 松潘县| 柘荣县| 乌海市| 青铜峡市| 尼玛县| 栾川县| 靖远县| 黄梅县| 连云港市| 吐鲁番市| 蒲江县| 榆社县| 乌鲁木齐县| 正安县| 托克托县|