《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于鄰域處理器自適應(yīng)圖像分割高速實(shí)現(xiàn)
基于鄰域處理器自適應(yīng)圖像分割高速實(shí)現(xiàn)
2016年電子技術(shù)應(yīng)用第2期
李余錢,蘇光大
清華大學(xué) 電子工程系,北京100084
摘要: 在數(shù)字圖像處理技術(shù)中,圖像分割質(zhì)量直接影響到后續(xù)算法的效果,因此圖像分割技術(shù)作為其主要技術(shù)之一占有重要的地位。針對(duì)非均勻光照下圖像分割問題,采用Sobel算子和Bernsen算法相結(jié)合的自適應(yīng)閾值分割方法,結(jié)合現(xiàn)場(chǎng)可編程門陣列的特點(diǎn),在圖像鄰域處理器實(shí)現(xiàn)了該算法。經(jīng)過實(shí)際測(cè)試驗(yàn)證,該方法能夠很好地實(shí)現(xiàn)對(duì)非均勻光照下圖像的分割問題,而且處理時(shí)間較短,僅為0.308 ms,完全滿足實(shí)際應(yīng)用的需求。
中圖分類號(hào): TP391
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.02.027
中文引用格式: 李余錢,蘇光大. 基于鄰域處理器自適應(yīng)圖像分割高速實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2016,42(2):99-101.
英文引用格式: Li Yuqian,Su Guangda. Fast implementation of adaptive image segmentation based on neighborhood processor[J].Application of Electronic Technique,2016,42(2):99-101.
Fast implementation of adaptive image segmentation based on neighborhood processor
Li Yuqian,Su Guangda
Department of Electronic Engineering,Tsinghua University,Beijing 10084,China
Abstract: Image segmentation is an important part of digital image processing technology, and the quality of image segmentation affects the results of the following algorithm directly. We use an adaptive threshold segmentation method,which consist of Sobel and Bernsen algorithm to solve the problem of non-uniform illumination image segmentation. The algorithm is implemented on field programmable gate array. After the actual test, the method can achieve the segmentation for the non-uniform illumination image. It takes 0.308 ms to meet the needs of the practical application.
Key words : neighborhood processor;adaptive threshold;image segmentation;edge detection

0 引言

    隨著數(shù)字圖像處理及計(jì)算機(jī)技術(shù)的不斷發(fā)展,使得計(jì)算機(jī)視覺的應(yīng)用領(lǐng)域更加廣泛。計(jì)算機(jī)視覺中常用特征提取、目標(biāo)跟蹤、目標(biāo)識(shí)別等關(guān)鍵技術(shù),這些技術(shù)對(duì)圖像分割的質(zhì)量依賴性較強(qiáng)[1]。圖像分割是圖像處理中的重要研究方向,分割質(zhì)量的好壞直接關(guān)系到后續(xù)高級(jí)算法的應(yīng)用效果。

    典型的圖像分割算法可分為基于閾值、基于邊緣和基于區(qū)域等3類,其中,常用的是基于閾值的圖像分割。由于圖像特征和圖像信息不同,可以對(duì)基于閾值的圖像分割算法進(jìn)行分類,可分為基于全局的閾值分割和局部的閾值分割法[2]。

    全局閾值算法中比較典型的代表是最大類間方差法(Otsu法,也稱大津算法),該方法使用聚類思想,按灰度級(jí)把圖像分成兩類,讓這兩類滿足灰度值差異最大,同時(shí)每個(gè)部分之間的灰度差異最小,利用方差來尋找出一個(gè)合適的灰度級(jí)別。但在實(shí)際應(yīng)用中,由于存在一些干擾因素,如噪聲、低對(duì)比度等使得灰度直方圖不一定具有明顯的波峰和波谷,此時(shí)只用圖像的統(tǒng)計(jì)直方圖來判定閾值,可能會(huì)造成錯(cuò)誤的分割。

    局部閾值法的典型代表有均值閾值分割法以及Bernsen算法等。均值閾值法的主要思想是在選取閾值時(shí),將局部區(qū)域內(nèi)像素的平均值作為圖像分割的閾值。均值閾值法具有算法計(jì)算簡(jiǎn)單、速度快的特點(diǎn)。但是該方法僅對(duì)于目標(biāo)與背景相差比較大的圖像,才能達(dá)到理想的結(jié)果。

    由于Bernsen算法具有抑制非均勻光照的優(yōu)點(diǎn),而且Sobel算子計(jì)算操作較為簡(jiǎn)單,但是其閾值需要預(yù)先設(shè)定,不能滿足任意場(chǎng)景的需要,不具備自適應(yīng)性。

    本研究采用自適應(yīng)閾值分割算法,也就是將Bernsen算法和Sobel結(jié)合在一起,即Bernsen算法計(jì)算出窗口中的最大灰度值和最小灰度值的平均值作為分割閾值,可以達(dá)到閾值自適應(yīng)的目的,對(duì)于非均勻光照?qǐng)D像的分割效果較好。同時(shí),在鄰域處理器上實(shí)現(xiàn)了該算法的全過程。經(jīng)過實(shí)際測(cè)試,可以實(shí)現(xiàn)圖像分割的功能,而且算法的時(shí)間開銷較少。

1 自適應(yīng)圖像分割算法

1.1 Sobel算子

    Sobel算子[3]包括水平方向與垂直方向,jsj1-t1.gif大小為3×3模板,如圖1所示。該算子是進(jìn)行圖像邊緣檢測(cè)算法的核心。在邊緣檢測(cè)時(shí),Sobel 算子的兩個(gè)模板分別與3×3的鄰域窗口的像素進(jìn)行卷積運(yùn)算,求出窗口中心的像素點(diǎn)梯度(包括水平梯度dx和垂直梯度dy),再計(jì)算出該像素點(diǎn)梯度的模,并與閾值相比較,進(jìn)行二值化,從而得到圖像的邊緣圖像。

1.2 Bernsen算法

    Bernsen算法[3]將圖像分塊后,每個(gè)圖像塊選取該塊中圖像的最大和最小灰度值的平均值作為閾值,設(shè)像素點(diǎn)處的灰度值是以像素點(diǎn)為中心構(gòu)造一個(gè)的窗口,其中w表示窗口寬度的參數(shù)。則Bernsen算法可以描述為:

    首先,計(jì)算每個(gè)窗口的閾值T(x,y),方法如式(1)所示。

    jsj1-gs1.gif

    其次,將圖像塊的中心點(diǎn)像素的灰度值與上一步計(jì)算的閾值進(jìn)行比較,從而確定該點(diǎn)的灰度值。具體計(jì)算如式(2)所示。

    jsj1-gs2.gif

    本文取的窗口進(jìn)行圖像分割。

1.3 自適應(yīng)圖像分割算法

    自適應(yīng)閾值分割算法是將Bernsen算法和Sobel算法相結(jié)合,將3×3窗口中像素的最大灰度值和最小灰度值的平均值作為Sobel的分割閾值。通過這種方式可以達(dá)到閾值自適應(yīng)的目的,對(duì)于非均勻光照?qǐng)D像的分割效果較好。自適應(yīng)圖像分割的算法框圖如圖2所示。

jsj1-t2.gif

2 自適應(yīng)閾值分割算法硬件實(shí)現(xiàn)

2.1 鄰域圖像處理器

    本研究的實(shí)驗(yàn)平臺(tái)是鄰域圖像并行處理器系統(tǒng)[4-6],該鄰域處理器系統(tǒng)包括視頻采集部分、鄰域存儲(chǔ)器、鄰域處理器、共享存儲(chǔ)器、DSP處理器以及PCI接口等部分。鄰域處理器系統(tǒng)框圖如圖3所示。其中,鄰域存儲(chǔ)器一次可以讀取32個(gè)像素?cái)?shù)據(jù)。Altera公司的EP2C70F896C8型FPGA是鄰域處理器的處理核心,負(fù)責(zé)控制數(shù)據(jù)的讀取以及運(yùn)算等操作。共享存儲(chǔ)器是由兩個(gè)2 MB容量的同步SRAM構(gòu)成,負(fù)責(zé)存儲(chǔ)FPGA運(yùn)算結(jié)果。PCI接口負(fù)責(zé)數(shù)據(jù)傳遞到PC或者將數(shù)據(jù)從PC傳遞到共享存儲(chǔ)器,然后由FPGA進(jìn)行數(shù)據(jù)組合,構(gòu)成鄰域數(shù)據(jù),進(jìn)行下一步處理。

jsj1-t3.gif

    同時(shí),圖像鄰域處理器可以處理攝像機(jī)的視頻圖像或者處理計(jì)算機(jī)中的靜態(tài)圖像。

2.1 鄰域圖像處理器

    自適應(yīng)圖像分割處理系統(tǒng)處理大小512×512灰度圖像。在處理過程中,需要將該圖像劃分成16個(gè)圖像塊,每塊為512行32列。圖像進(jìn)行分割的運(yùn)算操作是按照塊的順序進(jìn)行,依次對(duì)每塊圖像從上到下進(jìn)行處理。每一次訪問存儲(chǔ)體讀出一行圖像數(shù)據(jù),通過流水操作,可以形成n×32的圖像鄰域。在本圖像分割算法中,n取3。

    為了構(gòu)成32個(gè)3×3的鄰域,需要額外增加兩列數(shù)據(jù)。這額外增加的兩列數(shù)據(jù)正是前一圖像塊最右端的兩列,即RAMa與RAMb。這兩個(gè)RAM起到了乒乓內(nèi)存操作的作用,該運(yùn)算結(jié)構(gòu)如圖4所示。

jsj1-t4.gif

    自適應(yīng)圖像分割處理系統(tǒng)的整體實(shí)現(xiàn)結(jié)構(gòu)框圖如圖5所示。

jsj1-t5.gif

    在設(shè)計(jì)實(shí)現(xiàn)自適應(yīng)圖像分割處理系統(tǒng)時(shí),運(yùn)算操作單元是一系列3×3的窗口,即每個(gè)運(yùn)算單元總共是9個(gè)像素點(diǎn)灰度值,運(yùn)算單元計(jì)算流程如圖6所示。

jsj1-t6.gif

    在第1個(gè)時(shí)鐘周期,所有數(shù)據(jù)進(jìn)行兩兩比較并求解水平梯度和垂直梯度。

    在第2個(gè)時(shí)鐘周期,將比較結(jié)果進(jìn)行累加并求解梯度的模。

    在第3個(gè)時(shí)鐘周期,把輸入像素的灰度值存儲(chǔ)到相應(yīng)的順序單元,并緩存模的值。

    在第4個(gè)時(shí)鐘周期,選取最大值和最小值,求解其平均值,同時(shí)緩存模的值。

    在第5個(gè)時(shí)鐘周期,將平均值作為閾值,并與3×3窗口中心像素的梯度模值進(jìn)行比較,從而得到最終的結(jié)果。

    其中,運(yùn)用Bernsen算法求解序列中的最大值和最小值的平均值時(shí),采用了全并行比較排序算法[8]。

    計(jì)算其他窗口的流程也如上所述,最終可得到圖像分割結(jié)果。

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

    根據(jù)前述算法思想,首先在PC(2.83 GHz,core2 Quad CPU,2.98 G內(nèi)存)上使用Matlab2014a軟件計(jì)算進(jìn)行算法驗(yàn)證,結(jié)果如圖7所示。其次,為了對(duì)比自適應(yīng)閾值分割的效果,在Matlab2014a上實(shí)現(xiàn)Sobel的邊緣檢測(cè),如圖8所示。從圖7和圖8的比較來看,自適應(yīng)閾值分割算法較好。

jsj1-t7.gif

jsj1-t8.gif

    同時(shí),在NIPC-3鄰域圖像處理器上實(shí)現(xiàn)了非均勻光照下圖像的分割,處理結(jié)果如圖9所示。其中,F(xiàn)PGA工作頻率為60 MHz。

jsj1-t9.gif

    從圖7、圖8和圖9的結(jié)果中,可計(jì)算出二者結(jié)果的一致性。從實(shí)驗(yàn)結(jié)果上也可以看出自適應(yīng)閾值圖像分割的優(yōu)越性,能有效抑制非均勻光照帶來的影響。

    同時(shí),為了測(cè)試速度性能,還進(jìn)行了時(shí)間上的分析,利用Quartus II的SignalTap工具,在程序中添加計(jì)數(shù)器,計(jì)算程序執(zhí)行時(shí)鐘數(shù),對(duì)于一幅大小為512×512的圖像,處理時(shí)間約為0.137 ms。

4 結(jié)論

    本文提出一種將Sobel算子與Bernsen算法相結(jié)合的自適應(yīng)閾值圖像分割算法,利用該算法可以較好地實(shí)現(xiàn)圖像分割。經(jīng)過實(shí)際測(cè)驗(yàn)分析,該方法不僅能夠?qū)崿F(xiàn)圖像分割,而且能夠有效抑制非均勻光照對(duì)圖像分割帶來的影響。同時(shí),通過利用全并行排序算法,使得求解最大值和最小值的平均值的時(shí)間大幅度下降。通過計(jì)時(shí)器來計(jì)算處理時(shí)間,僅為0.137 ms,能夠滿足實(shí)時(shí)應(yīng)用的需求。

參考文獻(xiàn)

[1] 劉東菊.基于閾值的圖像分割算法的研究[D].北京:北京交通大學(xué),2009.

[2] 李了了,鄧善熙,丁興號(hào).基于大津法的圖像分塊二值化算法[J].微計(jì)算機(jī)信息,2005,21(3):76-77.

[3] 楊勇,范勝利,張蕓蕾,等.一種基于FPGA非均勻光照?qǐng)D像分割方法[J].太原科技大學(xué)學(xué)報(bào),2014,35(6):419-422.

[4] 陳博亞.大鄰域圖像處理系統(tǒng)的研制[D].北京:清華大學(xué),2006.

[5] 劉炯鑫.NIPC-3鄰域圖像并行處理機(jī)的軟件設(shè)計(jì)[D].北京:清華大學(xué),2007.

[6] 蘇光大.鄰域圖像處理中的新型鄰域功能流水線結(jié)構(gòu)[J].電子學(xué)報(bào),2000,27(2):1-4.

[7] 王莉,蘇光大.基于FPGA的實(shí)時(shí)中值濾波器硬件實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2011,37(04):58-60.

[8] 師廷偉,金長(zhǎng)江.基于FPGA的并行全比較排序算法[J].數(shù)字技術(shù)與應(yīng)用,2013(10):126-127.

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