基于数字CNN与生物视觉的仿生眼设计
在充分研究第一代视觉假体功能的基础上,利用细胞神经网络(CNN)的图像处理能力,结合生物视觉中信息加工与编码的原理,设计了一款符合第一代视觉假体功能的仿生眼电路系统。
关键词: 细胞神经网络; 生物视觉; 电路系统
眼是人类接收外界信息的主要窗口,人所接收的70%的外界信息来自于人的眼睛。但一些疾病如视网膜色素变性(RP)、老年黄斑变性(AMD)以及一些外伤所导致的失明,目前缺乏有效的治疗措施[1],仿生眼是唯一可以使这些RP和AMD或者外伤失明的人恢复基本感知功能的方法。在仿生眼的实现中,除了视网膜信号处理以及信息编码的研究外,用数字信号处理方法建立视觉信号的并行、快速处理的数学模型和快速算法,实现图像信号和视神经纤维上动作电位的转换,是对信息科学中信号处理提出的一个新的挑战[2]。第一代视觉仿生眼的预期功能是让患者能进行慢速的阅读,识别一些简单的物体,完成一些简单的视觉任务[2]。本文采用基于CNN[3-4]的数学模型以及相关的数字指令来建立一个能并行、快速处理视觉信号的数字CNN信号处理系统。在研究视网膜信号处理以及信息编码时,把视网膜作为控制论中的“黑箱”来看待,根据其输入与输出进行对照分析,初步得到视网膜信息处理和编码的结果,并利用具体电路加以实现以完成图像信号和视神经纤维上的动作电位转换,最终完成一款能实现第一代仿生眼功能的数字电路系统模型。
1 仿生眼系统及其关键威廉希尔官方网站
本文研究的仿生眼通过视神经与大脑相连,因此其基本结构框图如图1所示,眼外部分的摄像头将图像信号转化为电信号,视觉处理系统将图像信号经过一定的图像处理算法,送到刺激器以形成符合一定模式的信号序列来刺激视神经,在图1的框图中,图像处理算法以及图像编码(即信号序列的产生)是两个重要的模块。下面将分别介绍这两个模块的设计中涉及到的一些基本威廉希尔官方网站
或原理。
1.1 细胞神经网络
由生理解剖学可知,当视神经纤维的动作电位序列作为视网膜的最终输出信号传向中枢时,它们已经是经过初步加工和处理的信息了,而且这种处理是一种并行、快速的处理过程[5]。而细胞神经网络(CNN)是一种能实时、高速并行处理信号的大规模非线性模拟电路,具有易于VLSI实现、能高速并行处理信息的优点,因此CNN非常适合用于仿生眼中的图像信息处理[6],在这里将简单回顾一下CNN的基本原理。
图2为一个简单的二维m×n的CNN结构图。C(i,j)表示第i行、第j列的神经元,它只同周围r范围内的神经元相连,而同其他的神经元不连接。细胞神经网络是一个大的动态系统,它的每个神经元细胞可用下面的状态方程描述:
其中xij(t)指t时刻各细胞的状态,ykl(t)是细胞的输出,ukl是细胞的初始输入值,A、B、I分别是反馈模板、控制模板和阈值电流,CNN神经元细胞阵列的不同图像处理功能主要取决于反馈模板A、控制模板B以及阈值I的不同设置。
1.2 视觉信息编码
当改变落在视网膜上的图像时,新的视觉信息就会被编成神经冲动传进大脑,在迅速的视觉处理中,神经编码的本质目前尚不清楚,还处在摸索中。现在通常把视网膜作为控制论中的“黑箱”来看待,只对它的输入(相当于作用于视网膜的光刺激)和它的输出(相当于由视神经传出的动作电位序列)进行对照分析,这样探索视网膜信息处理和编码方式。第一代视觉假体的预期功能是让患者能进行慢速的阅读,识别一些简单的物体,并不是为了恢复患者的所有视觉,因此本文更关注的是视网膜中对图像空间信息的编码。从对脊椎动物的实验可知,可以用两种特性来描述视网膜中神经节细胞对图像空间信息的反应,一种是从图像刺激到神经节细胞输出第一个脉冲的时间间隔,称为脉冲延时,另外一种就是输出的总脉冲数[7-10]。从一些感觉系统的实验中可以得到以下结论:更强的刺激意味着更短的脉冲延时和更多的脉冲数(脉冲数有例外情况)[7],因此可以把脉冲延时作为空间编码的主要特性。本文中的图像编码模块的设计正是基于此原理。
2 图像处理及编码模块的设计
本文的仿生眼系统处理的图像主要为最简单的数字图像(二值图像),若为灰度级图像则不加处理直接进行图像编码传送到眼内部的解码模块或对灰度级图像先进行二值化处理,下面对具体模块的设计加以介绍。
2.1 图像处理模块的设计
图像处理模块主要利用CNN强大的图像处理能力[6],但CNN本身是模拟电路,因此在噪声、精确度、鲁棒性以及芯片间的通信、参数调整等方面存在一些不足[11-13],因此本文采用数字CNN电路。所谓数字CNN电路即以数字架构来仿效实现CNN功能的芯片,该设计方式使用数字的方法来仿效实现CNN的微分方程式,计算结果是比较容易用电路实现的,且电路功能也是可测试的[14-15]。在数字电路中,进行数据处理的场所主要是运算器(算术逻辑运算单元ALU),因此在数字CNN电路中,每个像素处理单元的硬件电路就类似于一个ALU结构,该ALU结构的相关运算组合能实现类似状态方程(1)和(2)的运算结果,例如对于模拟CNN并行阵列,水平线检测的A、B模板和阈值I分别为:
将相应参数代入线性方程(1)和(2),可得到的Cij输出Yij为:
由水平检测的模板可以看出,神经元Cij的最终输出只与其左右边单元的输入以及本身的输入和输出有关。由水平检测的结果可以看出,若用0来代替白色像素的取值,1代替黑色像素的取值,则通过输入与输出的真值表,可以得到水平线检测相当于逻辑表达式:
上面的例子代表了类似图3(a)模板的数字实现方式,图3(b)模板的数字实现方式类似图3(a)模板的实现方式,例如对于左阴影检测的模板如图3(c),相应的输出输入关系式为:
只是需要一直执行上面的“或”指令,直到Yi,j-1 不再变化,即Yij也不再变化,只要所有神经元的输出都不再变化,指令便可停止执行,左阴影检测即可完成。
经过上面的分析,对一些常用的模板的运算结果进行真值表化简后,可以得出只要具备表1的算术逻辑指令,就可以实现二值(黑白)图像相应的图像处理功能[16-18],至于灰度图像的处理,则需要先对灰度图像进行二值化处理。
在完成了上面的分析以后本文具体对CNN细胞单元进行了设计,图4为其结构框图。
2.2 图像编码模块的设计
由1.2节的内容可知,图像的空间信息可以用脉冲延时以及脉冲个数两个特征来编码,而且刺激越大,脉冲延时越短,脉冲个数越多。根据这个原理,本文利用硬件描述语言对图像编码模块进行了具体设计,图5为其结构框图。其基本工作原理如下:当CLK信号上升沿到来时接收来自图像处理模块的输出,并将其数值转化为表征刺激程度的数字量作为预置计数器的初始计数值,预置计数器计数溢出时产生一个小脉冲作为脉冲序列产生器的触发脉冲,脉冲序列产生器每接收到一个脉冲时其输出取反。脉冲延时以及脉冲个数的产生依赖于CLK、CLK1以及初始计数值的取值,这3个参数的取值主要根据实验数值来设置,并可做相应调整。
3 系统仿真
在确定了图像处理以及编码模块的设计思路及相关框图以后,本文具体用硬件描述语言对相关模块进行描述并仿真。在图像处理模块上本文具体设计了一个8×8的数字CNN阵列,并对其图像处理功能进行了仿真,实验结果证明,该数字CNN阵列可以对二值图像进行特征提取等操作,图6为水平检测以及图像腐蚀的效果图。图7为图像编码模块的输出,由图7可以看出,不同的刺激程度,直接决定了图像编码模块的脉冲延时以及脉冲数,图7(a)的刺激,脉冲延时大约为0.53 μs(CLK1的上升沿到最近右边pulseout边沿的距离),脉冲数为3个(1个CLK1周期内,pulseout脉冲的个数),图7(b)的刺激,脉冲延时为0.033 μs,脉冲数为4个。以上数据只证明图像编码电路的原理是正确的,具体参数的设计还需要根据实验观测数据加以调整。从仿真结果可以证实,本文的图像处理以及编码模块的设计是成功的。
到目前为止笔者对视觉系统的认识还比较有限,在视神经的编码方式、视觉信息的处理等方面,还有许多内容需要去探讨研究,随着时间的推移,对这些领域的认知将会不断增多,利用电路系统实现的仿生眼将会更精确。本文主要是利用目前对视觉系统的了解,建立一个电路模型,下一步的工作将对该电路模型进行进一步的优化和改进,并进行实际应用的研究。
参考文献
[1] KRUMPASZKY H G, KLAUSS V. Epidemiology of blindness and eye disease. Ophthalmological[J],1996,210(1):1.
[2] 喻玮. 基于DSP的人工视觉图像处理系统[D]. 上海:上海交通大学, 2007.
[3] CHUA L O, YANG L. Cellular neural network: theory[J]. IEEE Trans, CAS, 1988, CAS-35:1237-1290.
[4] CHUA L O, YANG L. Cellular neural network: Applications[J]. IEEE Trans on CAS, 1988, CAS-35:1272-1275.
[5] DOWLING J E. The retina: an approachable part of the brain. Cambridge, Mass : Belknap Press of Harvard Univ Press, 1987.
[6] YANG Tao. Cellular image processing[M]. Nova Science Publishers,Inc.Huntington, NY 2001.
[7] GOLLISCHJ T, MEISTER M. Rapid neural coding in the retina with relative spike latencies[J]. Science, 2008,2(319):1108-1110.
[8] KAGAWA K, ISAKARI K, FURUMIYA T, et al. Pixel design of pulsed CMOS image sensor for retinal prosthesis
with digital photosensitivity control[J]. Electronics Letters, 2003,5(39):419-421.
[9] OHTA J, YOSHIDA N, KAGAWA K, et al. Proposal of application of pulsed vision chip for retinal prosthesis[J]. Jpn. J. Appl. Phys. 41,2322(2002).
[10] FURUMIYA T, UEHARA A, ISAKARI K, et al. Pulse-frequency-modulation vision chip with frequency range
control as a retinal prosthesis device[J], Proc. SPIE 4829,969 (2002).
[11] WEN K A, SU J Y, LU C Y. VLSI design of digital cellular neural networks for image processing[J]. Journal of Visual Communication and Image Representation, 1994, 5(2):117-126.
[12] NAGY Z, SZOLGAY P. Configurable multilayer CNN-UM emulator on FPGA[J]. IEEE Trans. Circuits System. I:
Fundamental Theory and Applications, 2003,50(6):774-778.
[13] NAGY Z, SZOLGAY P. Numerical solution of a class of PDEs by using emulated digital CNN-UM on FPGAs[J].
Proc. 16th European Conf. on Circuits Theory and Design, Cracow, Sep. 2003.
[14] KOMURO T, ISHII I, ISHIKAWA M. Vision chip arc tecture using general-purpose processing elements for lms
vision system[J]. Computer Architecture for Machine Perception, 1997:276-279.
[15] KOMURO T, ISHII I, ISHIKAWA M, et al. A digital vision chip specialized for high-speed target tracking[J]. IEEE Transactions on Electron Devices. 2003,50(1).
[16] 雷国伟. CNN图像识别算法及其指令集的研究[D]. 厦门:厦门大学电子工程系, 2004:28-35.
[17] 郭东辉. CNN 并行处理器视觉图像处理指令集[M]. 厦门大学EDA实验室内部威廉希尔官方网站
资料,2003.
[18] 郭东辉. CNN并行处理器视觉图像处理扩展指令集[M]. 厦门大学EDA实验室内部威廉希尔官方网站
资料,2003
0