基于数字CNN及数学形态学的二值图像处理系统

2015-05-30 10:48陈瑞森
智能计算机与应用 2015年4期
关键词:指令

摘 要:本文把二值图像当成二维笛卡儿栅格的一个子集,然后从集合的角度论证了本系统中相关运算(指令集)的完备性。同时本系统在架构上采用了数字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.

猜你喜欢
指令
听我指令:大催眠术
ARINC661显控指令快速验证方法
LED照明产品欧盟ErP指令要求解读
VLIW DSP处理器下复数乘法单元优化方法
杀毒软件中指令虚拟机的脆弱性分析
巧用G10指令实现椭圆轮廓零件倒圆角
中断与跳转操作对指令串的影响
基于汇编指令分布的恶意代码检测算法研究
一种基于滑窗的余度指令判别算法
欧盟修订电气及电子设备等产品安全规定