
摘 要:本文把二值圖像當成二維笛卡兒柵格的一個子集,然后從集合的角度論證了本系統中相關運算(指令集)的完備性。同時本系統在架構上采用了數字CNN的并行處理架構以提高處理速度,在指令的實現上結合了數字CNN以及數學形態學的實現方式,因此該系統具有良好的實時圖像處理能力。
關鍵詞:數學形態學;數字CNN;指令;二值圖像
Binary Image Processing System based on Mathematical Morphology and Digital CNN
CHEN Ruisen
(Information Technology Department, Xiamen Ocean Vocational College,Xiamen Fujian 361012,China)
Abstract: In this paper, the binary image is considered as a subset of a two dimensional Cartesian grid, and the completeness of related basic operations (instruction Set) used in this system is demonstrated from the perspective of set. While the digital CNN parallel processing architecture is introduced in this system to increase the processing speed, and the realization way of instructions combines the advantages of the realization ways of mathematical morphology and digital CNN, so this system has good performance in the real-time image processing.
Keywords: Mathematical Morphology; Digital CNN; Instruction; Binary Image
0引 言
圖像處理在模式識別、機器視覺等領域都有著廣泛的應用,已成為現代信息處理領域中一項重要的基礎實踐技術[1]。在圖像處理中,實際的物理過程常常是非線性的,這就使得非線性處理技術日漸受到高度關注,已成為圖像處理的關鍵研究方法之一[2-4]。
在非線性圖像處理技術中,數學形態學以及細胞神經網絡(CNN)獲得了長足進步和可觀發展部[2-3]。數學形態學雖有著堅實的數學基礎和簡潔的基本思想,但當圖像或結構元素的尺寸比較大時,卻表現出較高的計算復雜度,難以滿足實時圖像處理要求。而CNN雖具有實時處理能力,但其模擬實現方式則使其在準確度、噪聲以及芯片間通訊等方面存在一些不足[5]。近來,有不少學者針對如何利用CNN架構來實現二值數學形態學操作進行研究[6-7],但這些研究進展的焦點均集中在于使用CNN模板來實現數學形態學操作,且其具體實現芯片是模擬的,這將帶來兩個方面的問題:一是當結構元素超過3×3時,很難用CNN模板來實現相關操作,另外一個是模擬CNN電路的不足仍將限制這些芯片的拓展應用。基于此,本文的研究目的是建立一個高度并行的可編程通用二值圖像處理系統。本系統的通用性及可編程性主要利用二值數學形態學的數學理論——集合論加以證明;在并行上,本文引入了易于硬件實現的數字CNN并行處理架構[8]。因此本系統算法以及結構都較為簡單,更加適用于實時處理領域。
本文內容具體安排如下:首先簡要介紹了數學形態學以及數字CNN的基本原理,接著從集合的角度證明了本系統相關操作(指令)的完備性,同時介紹了本系統的架構和工作原理,最后對本系統進行了功能仿真和性能分析,進而給出相關結論。
1數學形態學及數字CNN的基本原理
1.1 數學形態學
數學形態學是分析圖像幾何形狀和結構的數學方法,在數學形態學中,用像素的集合來表示圖像。形態學操作涉及兩個圖像;一個是被處理的圖像,用集合A(a1,a2,….,an)表示;另一個稱為結構元素,用集合B(b1,b2,……,bm)表示,每個B可指定一個原點,這個原點可在B內部或外部。數學形態學的基本思想是用具有一定形態的結構元素去量度和提取被處理圖像中的對應形狀以達到對圖像分析和識別的目的。換句話說,不同的結構元素(或同一結構元素指定不同的原點)可以對圖像進行不同的處理。在數學形態學中最基本的操作是膨脹和腐蝕,其余操作均可以由這兩個基本操作的組合變換來實現,例如開和閉操作。集合A被集合B膨脹和腐蝕分別定義為:
A B= (1)
A B= (2)
其中, , .
膨脹及腐蝕操作只涉及到集合的平移、交、并以及反運算,若在二值圖像中這些運算即相當于布爾邏輯中的與、或、非運算。
1.2 細胞神經網絡
細胞神經網絡(CNN)是一種能實時、高速并行處理信號的大規模非線性模擬電路,具有易于VLSI實現的優點。C(i,j)表示CNN中第i行、第j列的神經元,只與其周圍的8個神經元相連,而與其它的神經元并不相連。細胞神經網絡是一個大的動態系統,其中每個神經元細胞可用下面的狀態方程描述:
i=1,…,M j=1,…,N (3)
i=1,…,M j=1,…,N (4)
其中,xij(t)指t時刻各細胞的狀態,ykl(t)是細胞的輸出,ukl是細胞的初始輸入值,A、B、I分別是反饋模板、控制模板和閾值電流,CNN神經元細胞陣列的不同圖像處理功能主要取決于反饋模板A、控制模板B以及閾值I的不同設置。
現在已有不少模擬CNN芯片出現,但研究結果表明使用數字架構來仿效實現CNN狀態方程(3)及輸出方程(4)的功能則是一種更具優勢的方式,因為這種方式使用數字的方法來實現CNN的微分方程式計算過程是比較容易用電路實現的,且電路功能是也可測試的。在二值圖像中,分別用“1”和“0”來代表黑白像素,通過分析微分方程的輸入輸出關系,可以發現每個神經元的輸入輸出關系可以用布爾邏輯函數表達式來表達。
(5)
例如對于左陰影檢測,其模板如方程(5)所示,而其相應的輸入輸出關系可用布爾表達式表示為:
Yij= Uij OR Yi,j-1 (6)
上面的指令需重復執行直到Yi,j-1不再變化,即Yij也不再變化,只要所有神經元的輸出都不再變化,指令便可停止執行,左陰影檢測即可完成。其它的圖像處理都可以采用類似的方式來實現,也就是說,在數字CNN中,基本的布爾操作及其一定的組合就可以完成相關的圖像處理。
2系統設計
在這部分,首先將證明所有的圖像處理均可以利用膨脹和腐蝕的組合來實現,也就是說,在二值圖像中,由與、或、非組成的指令集是完備的,因為由與、或、非操作的組合可實現相應的膨脹及腐蝕操作,即可完成所有的二值圖像處理。在完成了指令集的完備性證明后,將具體介紹本文二值圖像處理系統的架構及具體圖像處理方式。
2.1 指令的完備性證明
對二值圖像A的處理表示為C= 。圖像處理可以分成兩個步驟,一個是對A進行腐蝕,記為 , 另一個是膨脹,記為 ,處理后的圖像C= = 。
定義3: 是集合(A C)的原點移動集合,即M定義為:
定義4: 是集合(C-A)的原點移動集合,即N定義為:
定理: 存在集合 En, Fn, In,Jn ,
證明:(1)設En=
Fn=
則,
=
(2)設G=(C-A) H,其中 H={(-1,0),(0,0),(0,1),(0,-1),(1,0)}
In=
Jn=
則,
=C-A
上述內容證明,所有的二值圖像處理均可以基于腐蝕和膨脹操作的組合來實現。在二值圖像處理中,腐蝕和膨脹操作相當于像素點的與、或、非操作組合,因此本文系統所使用的指令集(AND, OR, NOT)是完備的。上面只證明了利用AND, OR, NOT的組合能實現所有的二值圖像處理,但本系統的實際指令集系統還包括傳送、跳轉以及判斷等指令。
2.2 系統架構及工作原理
在完成了指令集的完備性證明后,本文具體設計了如圖1(a)所示整個系統架構,有關譯碼控制和時序電路的設計在文獻[9][10]中有詳細介紹。系統中的每個處理單元PE(Processing Element)等價于一個算術邏輯運算單元(ALU),其功能模塊如圖1(b)所示。
(a)系統架構 (b)PE的功能框圖
(a) System architecturegon (b) Functional block diagram of PE
圖1系統架構和PE的功能框圖
Fig.1 System architecture and functional block diagram of PE
在本系統中,有規則的圖像處理利用數字CNN的處理方式來實現,表1列出了輪廓提取、左邊界探測、右邊界探測的具體實現方式。關于復雜、不規則的圖像處理則采用數學形態學中的結構元素方式來實現,例如,區域填充可以通過方程(4)的方式來實現
until k=0,1,2,3……..
C= (7)
其中, B={(-1,0),(0,0),(0,1),(0,-1),(1,0)} 是結構元素, A 是待處理圖像, C是處理后圖像, X0 是 A中的任一初始點。
表1 相關圖像處理的實現方式
Tab.1 Method of the related image processing
實例 指令 實現原理
輪廓提取 OR Yij=Uij and(not(Ui-1,j-1 and Ui-1,j and Ui-1,j+1 and Ui,j-1 and Ui,j+1 and Ui+1,j-1 and Ui+1,j and Ui+1,j+1))
左邊界探測 AND
NOT Yij=(Uij AND Uij+1)AND(NOT(Ui,j-1) )
右邊界探測 AND
NOT Yij=(Uij AND Ui,j-1)AND(NOT(Ui,j+1) )
3 仿真及性能分析
在完成了系統架構設計后,本文利用MATLAB軟件對系統的功能進行仿真,同時基于VHDL的8×8PE陣列也被綜合下載驗證。圖2提供了相關原始圖及其對應處理效果圖。
(a) 輪廓提取 (b) 左邊界檢測 (c) 右邊界檢測
(a) Contour extraction (b) Left edge detection (c) Right edge detection
圖2 原始圖及其相應的處理結果圖
Fig.2 Original graph and its corresponding processing results
圖3提供了區域填充時的原始圖、結構元素及填充結果圖。實際的仿真結果顯示本系統圖像處理具有良好的靈活性。
(a) 原始圖 (b) 結構元素 (c) 處理結果
(a) Primitive graph (b) Structure element (c) Processing results
圖3 區域填充的圖像處理過程
Fig.3 Image processing procedure for region filling
在數學形態學中,每個操作的步驟基本上與圖像的分辨率成正比,處理速度達不到實時要求,因此數學形態學適合執行復雜、不規則的圖像處理。在數字CNN中每個操作的步驟非常少,且與圖像的分辨率無關,因此能滿足實時要求。雖然CNN具有并行架構、處理速度快的優勢,但數字CNN的圖像處理是基于像素間的邏輯關系的,使得只適合做簡單的、規則的圖像處理。在本系統中,實現了兩種處理方法優勢的充分結合,因此具有良好的圖像處理性能。
4結束語
本文提出了一個充分結合數學形態學和數字CNN圖像處理優勢的二值圖像處理系統,而且同時具有簡單的架構及高速的圖像處理能力。接下去的工作將致力于使該系統能處理灰度圖像。
參考文獻:
[1] Y.S. Frank. Image Processing and Mathematical Morphology[M]. London, New York:CRC Press, 2009.
[2] J.Goutsias, H.J.Heijmans. Mathematical Morphology[M]. Amsterdam, the Netherlands:IOS Press, 2000.
[3] Tao Yang. Cellular Image Processing[M]. Inc. Huntington,New York:Nova Science Publishers,2001.
[4]BUCHOLCER J. Nonlinear transformation of a complex function[J]. Optical Engineering, 2004,43(8):1904-1907.
[5] A.Murray, L.Tatassenko. Analogue Neural VLSI: A Pulse Stream Approach[M]. London:Chapman and Hall,1994.
[6] ZARANDY A, STOFFELS A, ROSKA T. Implementation of binary and gray-scale mathematical morphology on the CNN universal machine[J]. IEEE Transactions on Circuits and Systems I: Fundamental Theory and Applications, 1998,45(2):163-168.
[7] BRUGGE M H, NIJHUIS J A G, SPAANENBRUY L. Transformational DT-CNN design from morphological specifications[J]. IEEE Transactions on Circuits and Systems I: Fundamental Theory and Applications,1998,45(9):879-888.
[8] PABLO S, PEDRO J, ANDREAS G. A scalable and programmable simplicial CNN digital pixel processor architecture[J]. IEEE Transactions on Circuits and Systems I: Regular Papers,2004,51(5):988-996.
[9] 陳瑞森,郭東輝. 基于CISC/RISC混合架構的嵌入式MCU設計[J].計算機應用研究, 2006,23(8):194-196.
[10] 陳瑞森,郭東輝. 8位高性能低功耗嵌入式MCU的設計[J].高技術通訊,2006,26(8):820-824.