劉青正,韋艷霞
(廣西科技大學(xué) 電氣與信息工程學(xué)院,廣西 柳州 545006)
隨著數(shù)字多媒體技術(shù)的不斷發(fā)展,數(shù)字圖像處理技術(shù)被廣泛應(yīng)用于可視電話、電視會(huì)議、監(jiān)控系統(tǒng)等各種民用、商用及工業(yè)生產(chǎn)領(lǐng)域中,同時(shí)對(duì)圖像采集系統(tǒng)的要求日益提高。其中,這些產(chǎn)品中核心的技術(shù)就是實(shí)時(shí)圖像的采集和處理,圖像采集的速度、質(zhì)量直接影響到產(chǎn)品的整體效果。圖像特征提取是將是計(jì)算機(jī)視覺應(yīng)用的根本基礎(chǔ)[1]。眾所周知,視頻圖像數(shù)字化后數(shù)據(jù)量非常龐大,對(duì)如此大量高速的數(shù)據(jù)進(jìn)行實(shí)時(shí)處理是計(jì)算機(jī)應(yīng)用領(lǐng)域中技術(shù)難度最大的部分。圖像特征提取是圖像識(shí)別的關(guān)鍵步驟,圖像特征提取的效果如何,直接決定著圖像識(shí)別的效果,如何從原始圖像中提取具有較強(qiáng)表示能力的圖像特征是智能圖像處理的一個(gè)研究熱點(diǎn)。
圖像特征提取現(xiàn)實(shí)意義巨大。例如工業(yè)生產(chǎn)中通過物體的特征檢測(cè)與形狀分析,特征其提取,可以實(shí)現(xiàn)物體的識(shí)別和具體的分類,或完成物體質(zhì)量監(jiān)控,實(shí)現(xiàn)標(biāo)準(zhǔn)檢測(cè)等。特征提取處理技術(shù)的應(yīng)用領(lǐng)域相當(dāng)廣泛,因此研究其理論,完成其實(shí)踐具有相當(dāng)重要的意義。
為了實(shí)現(xiàn)具體的圖像特征提取,采用相應(yīng)的圖像特征分析處理算法尤其必要。本設(shè)計(jì)中主要采用了以下理論方法。
去噪聲濾波器的設(shè)計(jì):噪聲在圖像處理中被看成一個(gè)高頻信號(hào),圖像去噪功能可由線性卷積實(shí)現(xiàn)。卷積過程中,依賴于高斯濾波算子。通過高斯濾波能有效地濾除掉圖像中的較小的噪點(diǎn)和邊緣形狀上細(xì)小的曲折,這種與多通道處理相結(jié)合的濾波方法更能有效地提高彩色圖像的信噪比。
邊緣檢測(cè)的算法設(shè)計(jì):Prewitt算子是一種一階微分算子的邊緣檢測(cè),利用像素點(diǎn)上下、左右相鄰點(diǎn)的灰度差,在邊緣處達(dá)到極值檢測(cè)邊緣,去掉部分偽邊緣,對(duì)噪聲具有平滑作用。其原理是在圖像空間利用兩個(gè)方向模板與圖像進(jìn)行鄰域卷積來完成的,這兩個(gè)方向模板一個(gè)檢測(cè)水平邊緣,一個(gè)檢測(cè)垂直邊緣。
極值抑制設(shè)計(jì):圖像平滑濾波的主要目的是消除噪聲,但邊緣作為高頻成分也將被部分平滑掉,這就需要進(jìn)行非極大值抑制處理,將擴(kuò)散的邊緣細(xì)化。考慮到數(shù)字圖像像素排列的特點(diǎn),進(jìn)行極值抑制時(shí)只考慮垂直和水平兩個(gè)方向。當(dāng)像素點(diǎn)P(x,y)不滿足極大值條件,需要被抑制,即衰減。
彩色圖像邊緣檢測(cè)綜合算法:彩色圖像邊緣檢測(cè)算法都是基于一定的顏色空間,數(shù)字彩色圖像通常是以RGB方式存儲(chǔ)與表達(dá),對(duì)圖像進(jìn)行顏色空間的非線形轉(zhuǎn)換會(huì)損失原有圖像的信息,并且使變換后的圖像對(duì)于噪聲十分敏感。并且實(shí)驗(yàn)證明在RGB空間中進(jìn)行邊緣檢測(cè)能取得的次最優(yōu)并極接近最優(yōu)的結(jié)果[2]。
周長計(jì)算:區(qū)域的周長定義為區(qū)域的邊界長度。區(qū)域的周長在區(qū)別具有簡單或復(fù)雜形狀物體時(shí)特別有用,即形狀特征[3]。一個(gè)形狀簡單的物體用相對(duì)較短的周長來包圍它所占有的面積。通常,測(cè)量這個(gè)距離時(shí)包含了許多90°的轉(zhuǎn)彎,從而擴(kuò)大了周長值。
三基色均值計(jì)算:三種基色是相互獨(dú)立的,任何一種基色都不能有其它兩種顏色合成。紅綠藍(lán)是三基色,這三種顏色合成的顏色范圍最為廣泛[4]。三種基色是彩色圖像區(qū)別于灰度圖像的一種特征,不同圖像三基色的組成都不一樣,因此有必要對(duì)圖像三基色均值進(jìn)行計(jì)算。
該系統(tǒng)結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)圖Fig.1 Structure diagram of system
系統(tǒng)中包括的硬件電路主要有控制器部分(供電電源)、顯示電路部分、存儲(chǔ)電路部分和按鍵控制電路部分。
控制器選擇主要考慮性能和成本的雙結(jié)合,選定基于Cortex-M3內(nèi)核的STM32F103ZET6為主處理器。該處理器是STM103系列中最高配置32位處理器,72M主頻,LQFP144封裝,片內(nèi)Flash容量是512k,片內(nèi)SRAM容量是64k。該處理器最小系統(tǒng)電路包括主時(shí)鐘電路、實(shí)時(shí)時(shí)鐘電路和復(fù)位電路[5]。
控制電路。配置按鍵4個(gè)。4個(gè)按鍵分別與控制器單元的PA0,PC13,PA8和PD3 4個(gè)GPIO管腳連接。當(dāng)按鍵按下時(shí),對(duì)應(yīng)的GPIO腳為低電平;反之,當(dāng)沒有按鍵按下時(shí),對(duì)應(yīng)的GPIO管腳為高電平。獨(dú)立式按鍵電路,保證可靠的前提下簡單易操作。按鍵鍵碼的程序讀取采用定時(shí)掃描,順序讀取的方式。
存儲(chǔ)器擴(kuò)展主要考慮了圖像數(shù)據(jù)量較大,系統(tǒng)必須有足夠的數(shù)據(jù)存儲(chǔ)空間,因此外擴(kuò)存儲(chǔ)器。設(shè)計(jì)中選用了128MB的Nand Flash作為存儲(chǔ)圖像數(shù)據(jù)的存儲(chǔ)空間。通過FSMC總線實(shí)現(xiàn)對(duì)存儲(chǔ)器的讀與寫控制。Nand Flash選型為HY27UF081G2A,其具有8位總線寬度、復(fù)用的地址/數(shù)據(jù)線的NAND接口,以(2K+64)字節(jié)的頁控制管理,隨機(jī)、順序、頁編程模式的頁讀/編程時(shí)序控制模式。Nand的就緒/繁忙信號(hào)連接至FSMC_INT2,作為中斷源使用。有效的保證了高速CPU在Nand閃存操作的等待周期內(nèi)執(zhí)行其他的任務(wù)。
顯示電路的選擇考慮了通用性和操作可行性,選擇設(shè)基于ILI9320控制器的3.2寸TFT LCD屏,分辨率為320×240,是16位真彩顯示。處理器與TFT LCD屏的信號(hào)連接通過插座實(shí)現(xiàn)。
軟件設(shè)計(jì)和硬件設(shè)計(jì)是密切結(jié)合的,軟件設(shè)計(jì)是否優(yōu)化直接影響到系統(tǒng)的性能。圖像特征的提取系統(tǒng)需要處理的是大量的圖像數(shù)據(jù),在有限的硬件資源下對(duì)軟件設(shè)計(jì)的優(yōu)化要求很高。因此,軟件設(shè)計(jì)對(duì)系統(tǒng)能否實(shí)現(xiàn)十分重要。
系統(tǒng)軟件設(shè)計(jì)采用MDK4.5為開發(fā)環(huán)境[6],基于C語言的嵌入式編程,STM32的庫函數(shù)調(diào)用與寄存器直接操作相結(jié)合的編程方法,實(shí)現(xiàn)軟件的驅(qū)動(dòng)編寫。
模塊化編程的軟件設(shè)計(jì)系統(tǒng)結(jié)構(gòu)圖如圖2所示。
圖2 軟件設(shè)計(jì)系統(tǒng)結(jié)構(gòu)圖Fig.2 Diagram of the software design system
主函數(shù)模塊:完成在main函數(shù)的具體功能實(shí)現(xiàn)。主要內(nèi)容包括初始化使用到的外部硬件,例如,初始化定時(shí)器、初始化串口、初始化NAND、初始化TFT LCD屏控制器和初始化按鍵的GPIO工作模式等,并且根據(jù)滴答時(shí)鐘的SYSTICK實(shí)現(xiàn)定時(shí)掃描按鍵功能。根據(jù)按鍵功能控制TFT LCD實(shí)現(xiàn)不同顯示界面的切換。
輸入檢測(cè)模塊:主要完成基于獨(dú)立I/O端口操作的按鍵的按下與松開的識(shí)別。設(shè)計(jì)中采用定時(shí)掃描的方式進(jìn)行按鍵掃描,以實(shí)現(xiàn)CPU的釋放與多任務(wù)。按鍵工作GPIO端口工作模式由初始化程序設(shè)定為GPIO_Mode_IPU方式,即輸入上拉模式。這樣,在無按鍵操作的情況下,該GPIO口讀入電平為高電平。只有按鍵按下后才通過按鍵端口的下拉為GND實(shí)現(xiàn)既定功能。該模塊具備4個(gè)按鍵,分別設(shè)定功能為“算法選擇”“圖片選擇”“返回”“確定”,從而實(shí)現(xiàn)不同圖片、不同算法的功能切換。
顯示驅(qū)動(dòng)模塊:主要完成對(duì)TFT液晶屏的控制,輸出顯示各種交互式界面,包括菜單選擇項(xiàng)、原圖像展示功能及圖像處理后效果展示功能。由于屏幕的尺寸限制,無法實(shí)現(xiàn)單屏原圖對(duì)比功能。
存儲(chǔ)驅(qū)動(dòng)模塊:主要用來實(shí)現(xiàn)對(duì)Flash存儲(chǔ)器的接口驅(qū)動(dòng),讀取/寫入圖片數(shù)據(jù),進(jìn)行數(shù)據(jù)保存。在研究兩幅既定圖像的特征提取和分析。其一是圖像處理中經(jīng)典圖像lena圖;其二是包括剪刀、小刀和指甲剪在內(nèi)的混合日用品圖。
算法處理模塊:主要實(shí)現(xiàn)不同處理算法的具體內(nèi)容,其中包括基于Prewitt一階微分算子的邊緣檢測(cè)、基于Krisch多方向微分算子的邊緣檢測(cè)以及邊緣檢測(cè)前需要高斯噪聲濾波處理算法。最后,根據(jù)邊緣檢測(cè)結(jié)果,通過計(jì)算周長、計(jì)算三基色均值等方法,實(shí)現(xiàn)彩色圖像邊緣檢測(cè)綜合算法,進(jìn)行指定的日用品圖像中物體的特征進(jìn)行提取。
程序的執(zhí)行過程,主要依據(jù)主函數(shù)模塊中按鍵的掃描決定圖片的選擇和算法函數(shù)的調(diào)用,并執(zhí)行圖像處理后圖像的顯示。
軟件設(shè)計(jì)的流程圖如圖3所示。
圖3 軟件設(shè)計(jì)的流程圖Fig.3 Flow chart the software design
本設(shè)計(jì)主要完成工作包括:
1)深入理解圖像的特征提取計(jì)算方法,實(shí)現(xiàn)多種特征提取算法的理論研究。
2)掌握硬件及軟件開發(fā)技術(shù),并結(jié)合理論研究成果,實(shí)現(xiàn)算法的硬件程序編寫。
3)完成基于ARM為核心的控制電路設(shè)計(jì),實(shí)現(xiàn)圖形數(shù)據(jù)的存取與讀寫、提取算法的功能切換以及TFT LCD顯示屏圖形化形式直觀反映研究成果。
該特征分析設(shè)計(jì)具體的成果為靜態(tài)既定圖像的特征局部提取。
通過這些特征展示,可以明顯觀察到物體的特征不同。系統(tǒng)設(shè)計(jì)中完成了基于Prewitt算子的邊緣檢測(cè),并針對(duì)日用品的特征進(jìn)行提取和顯示,進(jìn)一步為物體的自動(dòng)識(shí)別和分類現(xiàn)代化發(fā)展提供一個(gè)方案。為了能更好的對(duì)圖片的邊緣進(jìn)行提取,為計(jì)算周長和計(jì)算三基色均值奠定良好的邊緣效果,設(shè)計(jì)中采用彩色圖像邊緣檢測(cè)綜合算法進(jìn)行邊緣檢測(cè),最終實(shí)現(xiàn)對(duì)多種特征局部提取方法的對(duì)比研究。
設(shè)計(jì)研究的具體成果之一邊緣特征提取效果如圖4所示。
圖4 邊緣特征提取結(jié)果Fig.4 Result of edging feature extraction
該系統(tǒng)采用STM32控制器作為處理器單元,充分利用了STM32控制器的資源,通過對(duì)圖像進(jìn)行高斯噪聲檢測(cè)、圖像邊緣檢測(cè)、閾值處理和二值化等不同算法的具體處理過程,分析圖像的特性,驗(yàn)證了圖像特征提取的思路,實(shí)現(xiàn)了既定的研究目標(biāo),并為工業(yè)、生活等方面進(jìn)行圖像特征提取提供了一個(gè)很好的方案。但在系統(tǒng)的設(shè)計(jì)研究過程也發(fā)現(xiàn)了例如動(dòng)態(tài)圖像的捕捉、任意圖像特征的智能提取與識(shí)別等需要進(jìn)一步深入研究和改進(jìn)的問題。
[1]徐望明,石漢路.圖像多角度局部特征提取及相似性匹配技術(shù)研究[J].電子設(shè)計(jì)工程,2013(2):148-150.XU Wang-ming,SHI Han-lu.On image multi-view local feature extraction and similaritymatching[J].Electronic Design Engineering,2013(2):148-150.
[2]陳傳波,金先級(jí).數(shù)字圖像處理[M].北京:機(jī)械工業(yè)出版社,2004.
[3]王志瑞,閆彩良.圖像特征提取方法的綜述[J].吉首大學(xué)學(xué)報(bào):自然科學(xué)版,2011(9):43-46.WANG Zhi-rui,YAN Cai-liang.Image feature extraction methods summary[J].Journal of Jishou University:Natural Science Edition,2011(9):43-46.
[4]陳云平.數(shù)字圖像識(shí)別在人臉檢測(cè)中的應(yīng)用[J].計(jì)算機(jī)時(shí)代,2012(5):38-40.CHEN Yun-ping.The application of digital image recognition in face detection[J].Computer ERA,2012(5):38-40.
[5]陳志旺.STM32嵌入式微控制器快速上手[M].北京:電子工業(yè)出版社,2012.
[6]任哲,張永忠.嵌入式系統(tǒng)基礎(chǔ)—ARM與Realview MDK(Keil for ARM)[M].北京:北京航空航天大學(xué)出版社,2012.