基于DSP的嵌入式顯微圖像處理系統(tǒng)的設(shè)計
顯微圖像處理是數(shù)字圖像處理的一個重要研究領(lǐng)域,隨著其技術(shù)的不斷發(fā)展,已經(jīng)在材料、生物、醫(yī)學(xué)等領(lǐng)域得到了廣泛應(yīng)用[1][2]。目前的顯微圖像處理通常利用圖像采集系統(tǒng)將顯微圖像采集到計算機(jī)中再進(jìn)行圖像處理,這樣,雖然運(yùn)算速度高,但體積龐大、不便于攜帶,有一定的局限性。因此,采用數(shù)字圖像處理技術(shù)和DSP技術(shù)實(shí)現(xiàn)顆粒顯微圖像的高效、快速、全面的統(tǒng)計與測量,具有重要的實(shí)用價值和廣闊的應(yīng)用前景。
本文引用地址:http://www.ex-cimer.com/article/86241.htm本文提出并設(shè)計了一種基于DSP和FPGA的嵌入式顯微圖像采集處理系統(tǒng),如圖1所示。其中,圖像采集與處理裝置是整個系統(tǒng)的關(guān)鍵部件,它以DSP和FPGA為核心,DSP作為中央處理器負(fù)責(zé)圖像濾波、閾值分割及目標(biāo)的數(shù)目、直徑及面積等統(tǒng)計處理,通過FPGA完成各種接口邏輯和時序匹配,并配以大容量存儲器用于圖像的存儲。DSP芯片體積小,運(yùn)算速度快,使用靈活方便;FPGA具有在系統(tǒng)可編程和控制邏輯實(shí)現(xiàn)靈活的特點(diǎn)。因此,既能夠滿足處理的快速性,又能滿足小型化便于攜帶的要求。
1 系統(tǒng)硬件平臺設(shè)計
基于視頻圖像處理的顯微圖像處理系統(tǒng)的性能,在很大程度上依賴于其硬件處理單元的結(jié)構(gòu)和性能。本系統(tǒng)所采用的硬件結(jié)構(gòu)主要由5大模塊組成:DSP核心處理單元、視頻圖像采集與存儲模塊、字符與圖形迭加單元、通訊與用戶交互接口模塊、電源模塊。系統(tǒng)電路框圖如圖2所示。
圖2 嵌入式顯微圖像處理系統(tǒng)硬件結(jié)構(gòu)框圖
系統(tǒng)的工作過程為:系統(tǒng)上電后,DSP執(zhí)行BOOTLOAD程序,將用戶程序代碼從外部Flash load到內(nèi)部程序存儲器,并執(zhí)行A/D、字符迭加等初始化操作。視頻采集與轉(zhuǎn)換模塊將CCD攝像機(jī)輸出的模擬視頻信號轉(zhuǎn)換為數(shù)字圖像數(shù)據(jù)并存儲在RAM中,在一場圖像采集完畢后,由場同步信號通過FPGA以中斷方式通知DSP,DSP從RAM中讀取圖像,并負(fù)責(zé)完成圖像濾波、分割、測量等各種處理算法,將測量結(jié)果通過字符圖形迭加單元顯示在監(jiān)視器屏幕上,也可以根據(jù)需要由通訊接口模塊傳送給主機(jī)。各種接口邏輯與時序控制通過在FPGA器件內(nèi)部編程實(shí)現(xiàn)。
模擬視頻信號分為兩路:一路經(jīng)A/D轉(zhuǎn)換為數(shù)字圖像信號,另一路則與視頻疊加芯片MAX442和字符疊加芯片μD6453進(jìn)行圖形和字符的疊加顯示。這里采用Philips公司的SAA7111A作為視頻A/D解碼芯片,它將CCD攝像機(jī)輸出的模擬視頻信號轉(zhuǎn)換為數(shù)字圖像數(shù)據(jù),并在FPGA的控制下存儲在RAM中,同時產(chǎn)生行同步信號HS、場同步信號VS、奇偶場標(biāo)志信號RTS0以及像素時鐘信號LLC2。MAX442是一個雙通道視頻信號放大器,增益帶寬高達(dá)140MHz。μPD6453為NEC公司生產(chǎn)的用于視頻設(shè)備中的字符發(fā)生芯片。待顯示的字符和圖形與CCD攝像機(jī)輸出的原始圖像一起疊加顯示在監(jiān)視器屏幕上。
在圖像采集過程中,視頻解碼芯片SAA7111A按像素逐點(diǎn)輸出4:2:2的YUV格式的數(shù)字圖像數(shù)據(jù)。該格式中,每幀圖像的分辨率為720×576,即每行有720個像素點(diǎn),每幀576行,由于一幀圖像是由奇、偶兩場圖像組成的,因此每場圖像有288行。為了處理方便,每場采集的圖像大小為512×256,即每行采集512個像素,每場(奇場或偶場)采集256行,通過在FPGA中編程實(shí)現(xiàn)像素延時和行延時,選擇每行中間的512個像素和每場中間的256行。
2 軟件設(shè)計
傳統(tǒng)的DSP程序多采用單線程順序結(jié)構(gòu)實(shí)現(xiàn),其實(shí)時性較差,資源利用率低,在高速、實(shí)時的圖像處理領(lǐng)域中難以滿足實(shí)際要求。CCS(Code Composer Studio)是一個完整的DSP集成開發(fā)環(huán)境,不僅集成了常規(guī)的開發(fā)工具,如源程序編輯器、代碼生成工具(編譯、鏈接器)以及調(diào)試環(huán)境,還提供了DSP/BIOS開發(fā)工具。DSP/BIOS是一個簡易的嵌入式操作系統(tǒng),它本身僅占用極少的CPU資源,而且是可裁剪的,能大大方便用戶編寫多任務(wù)應(yīng)用程序,增強(qiáng)對代碼執(zhí)行效率的監(jiān)控,提高程序的可讀性,方便用戶應(yīng)用程序的編寫,縮短軟件開發(fā)周期。
2.1 軟件程序框圖
本文在DSP/BIOS的基礎(chǔ)上,設(shè)計開發(fā)了顯微圖像處理系統(tǒng)的DSP應(yīng)用程序。使用混合語言編程,用C語言設(shè)計程序中對運(yùn)行時間影響不大的模塊,用匯編語言設(shè)計嚴(yán)格要求實(shí)時性的核心算法。在這里,程序采用模塊化設(shè)計,各個功能模塊相互獨(dú)立,程序框圖如圖3所示。該程序主要由1個主程序初始化模塊、3個硬件中斷HWI處理模塊、1個軟件中斷SWI處理模塊和4個任務(wù)模塊TSK構(gòu)成。
當(dāng)系統(tǒng)復(fù)位后,DSP執(zhí)行Bootload引導(dǎo)程序,并將程序入口點(diǎn)設(shè)置到c_int00處,DSP/BIOS應(yīng)用程序從該處開始運(yùn)行,執(zhí)行過程為:首先調(diào)用DSP/BIOS初始化模塊,并調(diào)用主函數(shù)main(),由main()函數(shù)負(fù)責(zé)完成硬件資源分配及各種外圍芯片工作方式的初始化設(shè)置;然后啟動DSP/BIOS,并進(jìn)入空閑循環(huán)周期。這時,應(yīng)用程序完全由硬件中斷驅(qū)動,只有產(chǎn)生中斷時,才會執(zhí)行相應(yīng)的功能模塊,執(zhí)行完畢后跳出繼續(xù)執(zhí)行Idle空閑循環(huán)程序。
2.2 圖像處理算法設(shè)計
當(dāng)采集完一場圖像后,F(xiàn)PGA以中斷方式通知DSP,觸發(fā)DSP的INT0中斷。由于一場圖像的時間間隔為20ms,因此每隔20ms觸發(fā)一次該中斷。在中斷處理程序Vs_interrupt()中啟動鍵盤掃描SWI,若有鍵按下,則執(zhí)行相應(yīng)的圖像處理程序。
顯微圖像受光源光照強(qiáng)度的影響很大,采集的圖像往往質(zhì)量較差、亮度不均勻,目標(biāo)區(qū)域不易從背景區(qū)域中分離出來。為此,需要首先對圖像進(jìn)行濾波處理,然后采用自適應(yīng)閾值的辦法將目標(biāo)從背景中提取出來,并利用數(shù)學(xué)形態(tài)學(xué)的方法進(jìn)一步去噪處理,最后完成對圖像中目標(biāo)的統(tǒng)計測量計算。
首先,利用中值濾波進(jìn)行圖像平滑,窗口大小選擇3×3,采用十字狀窗口。中值濾波在保持目標(biāo)圖像邊緣的同時,去除了尖峰干擾,使圖像背景的亮度更均勻,便于進(jìn)一步的圖像分割處理。
由于光源光照強(qiáng)度的影響,背景的灰度值在整幅圖像中存在很大差別,如果只用一個固定的全局閾值對整幅圖像進(jìn)行分割,則由于不能兼顧圖像各處的情況而使分割效果受到影響。為提高分割的精確性,可采用隨背景灰度值緩慢變化的動態(tài)閾值分割的方法,即自適應(yīng)閾值算法。具體做法是:首先將原圖像分解成系列子圖像,由于子圖相對原圖很小,因此受陰影或?qū)Ρ榷瓤臻g變化等問題的影響會比較??;然后對每個子圖計算一個局部閾值;最后通過對這些子圖所得到的閾值進(jìn)行線性插值,就可以得到對原圖中每個像素進(jìn)行分割所需要的合理閾值。分割后的二值圖像再利用數(shù)學(xué)形態(tài)學(xué)變換中的開、閉運(yùn)算并選取合適的算子,便可以很好地消除圖像中仍然存在的少量噪聲點(diǎn),利于下一步的工作。
這里,在局部閾值計算時采用最大類間方差法[6],其計算公式為:
其中:σ2(T)為兩類間最大方差,WA為目標(biāo)概率,μa為目標(biāo)的平均灰度,WB為背景概率,μb為背景平均灰度,μ為圖像總體平均灰度。即閾值T將圖像分成A、B兩部分,使得兩類總方差σ2(T)取最大值的T,即為最佳分割閾值。
為了實(shí)現(xiàn)對顯微圖像中目標(biāo)的數(shù)目以及直徑、面積等幾何特征的統(tǒng)計測量,采用了對二值圖像的目標(biāo)區(qū)域進(jìn)行標(biāo)記歸類的算法[7]。首先對二值圖像的目標(biāo)區(qū)域從左到右、自上而下進(jìn)行掃描,若為目標(biāo)點(diǎn),則對其加以標(biāo)記,并根據(jù)八連通原則將屬于同一個顆粒的目標(biāo)圖像賦予相同的數(shù)值。標(biāo)記歸類算法示意圖如圖4所示。由于目標(biāo)的幾何形狀是不規(guī)則的,一次掃描不能夠把所有目標(biāo)全部區(qū)分開來,因此要對二值圖像進(jìn)行多次掃描。圖4(a)表示二值圖像(黑色區(qū)域?yàn)槟繕?biāo),白色為背景),圖4(b)為對目標(biāo)區(qū)域的一次標(biāo)記,圖4(c)為最后標(biāo)記完成的結(jié)果。其中,數(shù)字1表示1號目標(biāo),數(shù)字2表示2號目標(biāo)。從圖4可以看出,1號目標(biāo)的標(biāo)記經(jīng)過一次掃描就能夠完成,而2號目標(biāo)則需要二次掃描方可完成標(biāo)記。目標(biāo)圖像經(jīng)過標(biāo)記歸類后就可以很方便地對目標(biāo)的數(shù)目及直徑、面積和周長等特征進(jìn)行測量了。
3 實(shí)驗(yàn)結(jié)果
為了驗(yàn)證系統(tǒng)的可靠性,對來自顯微鏡下的油膜顆粒圖像進(jìn)行了大量的采集處理與統(tǒng)計測量實(shí)驗(yàn)。圖5(a)是現(xiàn)場采集的一幅顆粒顯微圖像,圖像大小為512×256,由于光源光照強(qiáng)度的影響,整幅圖像背景不均勻。圖5(b)是采用自適應(yīng)閾值二值化后的圖像,目標(biāo)區(qū)域與背景區(qū)域已經(jīng)分離開,雖然還有少量的噪聲點(diǎn),但是經(jīng)過數(shù)學(xué)形態(tài)學(xué)變換后已經(jīng)能夠準(zhǔn)確地進(jìn)行顆粒的統(tǒng)計計算。
在統(tǒng)計測量過程中,面積小于3個像元的目標(biāo)被當(dāng)作噪聲干擾而略去不計,只對面積大于等于3個像元的目標(biāo)加以統(tǒng)計。為了便于進(jìn)一步的分析和比較,將目標(biāo)按像元數(shù)目分成9個檔次: 3~10、11~20、21~30、31~40、41~50、51~60、61~70、71~80和81以上。對顆粒的數(shù)目、平均面積以及各檔次所占比例進(jìn)行了統(tǒng)計計算,結(jié)果如表1所示。實(shí)驗(yàn)中,在DSP芯片TMS320VC5416工作在最大工作頻率160MHz時,程序的運(yùn)行時間約為15ms。由于視頻采集為PAL制,一場圖像時間為20ms,因此能夠達(dá)到實(shí)時性要求。
本文提出了一種以TMS320VC5416作為圖像處理的核心部件的嵌入式顯微圖像處理系統(tǒng),設(shè)計了基于DSP/BIOS的應(yīng)用程序。利用自適應(yīng)閾值算法對采集的圖像進(jìn)行準(zhǔn)確的分割,并采用掃描標(biāo)記算法對油膜顆粒顯微圖像進(jìn)行了統(tǒng)計測量實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,利用本系統(tǒng)對顆粒顯微圖像進(jìn)行統(tǒng)計,可達(dá)到全面、客觀、方便且自動化程度高的效果,可以應(yīng)用于各種顯微圖像的統(tǒng)計與分析,具有較高的實(shí)用性。
參考文獻(xiàn)
[1] 辛莉,胡茂海,周紹光.水稻花粉顆粒顯微圖像采集與分析系統(tǒng)研究[J].應(yīng)用光學(xué),2004,25(1):43-45.
[2] 尤育賽,于慧敏,劉圓圓.基于粒度測量的重疊圓形顆粒圖像分離方法[J].浙江大學(xué)學(xué)報(工學(xué)版),2005,39(7):962-966.
[3] TMS320VC5416 Fixed-Point Digital Signal Processor Data Manual,SPRS095O[J].Texas Instruments,2005,1.
[4] 清源科技.TMS320C54X DSP硬件開發(fā)教程[M].北京:機(jī)械工業(yè)出版社,2003.
[5] 潘松,黃繼業(yè).EDA技術(shù)實(shí)用教程[M].北京:科學(xué)出版社,2002.
[6] OTSU N.A threshold selection method from gray-level histogram[J].IEEE Trans,1979,SMC-15:652-655.
[7] 陳忠碧,張啟衡.一種適合于多目標(biāo)檢測的圖像分割方法[J].光電工程,2004,31(5):34-37.
評論