摘??要: 在充分研究第一代視覺假體功能的基礎(chǔ)上,利用細胞神經(jīng)網(wǎng)絡(luò)(CNN)的圖像處理能力,結(jié)合生物視覺中信息加工與編碼的原理,設(shè)計了一款符合第一代視覺假體功能的仿生眼電路系統(tǒng)。
關(guān)鍵詞: 細胞神經(jīng)網(wǎng)絡(luò); 生物視覺; 電路系統(tǒng)
?
眼是人類接收外界信息的主要窗口,人所接收的70%的外界信息來自于人的眼睛,。但一些疾病如視網(wǎng)膜色素變性(RP)、老年黃斑變性(AMD)以及一些外傷所導(dǎo)致的失明,,目前缺乏有效的治療措施[1],,仿生眼是唯一可以使這些RP和AMD或者外傷失明的人恢復(fù)基本感知功能的方法。在仿生眼的實現(xiàn)中,,除了視網(wǎng)膜信號處理以及信息編碼的研究外,,用數(shù)字信號處理方法建立視覺信號的并行、快速處理的數(shù)學(xué)模型和快速算法,,實現(xiàn)圖像信號和視神經(jīng)纖維上動作電位的轉(zhuǎn)換,,是對信息科學(xué)中信號處理提出的一個新的挑戰(zhàn)[2]。第一代視覺仿生眼的預(yù)期功能是讓患者能進行慢速的閱讀,識別一些簡單的物體,,完成一些簡單的視覺任務(wù)[2],。本文采用基于CNN[3-4]的數(shù)學(xué)模型以及相關(guān)的數(shù)字指令來建立一個能并行、快速處理視覺信號的數(shù)字CNN信號處理系統(tǒng),。在研究視網(wǎng)膜信號處理以及信息編碼時,,把視網(wǎng)膜作為控制論中的“黑箱”來看待,根據(jù)其輸入與輸出進行對照分析,,初步得到視網(wǎng)膜信息處理和編碼的結(jié)果,,并利用具體電路加以實現(xiàn)以完成圖像信號和視神經(jīng)纖維上的動作電位轉(zhuǎn)換,最終完成一款能實現(xiàn)第一代仿生眼功能的數(shù)字電路系統(tǒng)模型,。
1 仿生眼系統(tǒng)及其關(guān)鍵技術(shù)
本文研究的仿生眼通過視神經(jīng)與大腦相連,,因此其基本結(jié)構(gòu)框圖如圖1所示,眼外部分的攝像頭將圖像信號轉(zhuǎn)化為電信號,,視覺處理系統(tǒng)將圖像信號經(jīng)過一定的圖像處理算法,,送到刺激器以形成符合一定模式的信號序列來刺激視神經(jīng),在圖1的框圖中,,圖像處理算法以及圖像編碼(即信號序列的產(chǎn)生)是兩個重要的模塊,。下面將分別介紹這兩個模塊的設(shè)計中涉及到的一些基本技術(shù)或原理。
?
?
1.1 細胞神經(jīng)網(wǎng)絡(luò)
由生理解剖學(xué)可知,,當(dāng)視神經(jīng)纖維的動作電位序列作為視網(wǎng)膜的最終輸出信號傳向中樞時,,它們已經(jīng)是經(jīng)過初步加工和處理的信息了,而且這種處理是一種并行,、快速的處理過程[5],。而細胞神經(jīng)網(wǎng)絡(luò)(CNN)是一種能實時、高速并行處理信號的大規(guī)模非線性模擬電路,,具有易于VLSI實現(xiàn),、能高速并行處理信息的優(yōu)點,因此CNN非常適合用于仿生眼中的圖像信息處理[6],,在這里將簡單回顧一下CNN的基本原理。
圖2為一個簡單的二維m×n的CNN結(jié)構(gòu)圖,。C(i,j)表示第i行,、第j列的神經(jīng)元,它只同周圍r范圍內(nèi)的神經(jīng)元相連,,而同其他的神經(jīng)元不連接,。細胞神經(jīng)網(wǎng)絡(luò)是一個大的動態(tài)系統(tǒng),它的每個神經(jīng)元細胞可用下面的狀態(tài)方程描述:
其中xij(t)指t時刻各細胞的狀態(tài),,ykl(t)是細胞的輸出,,ukl是細胞的初始輸入值,A,、B,、I分別是反饋模板,、控制模板和閾值電流,CNN神經(jīng)元細胞陣列的不同圖像處理功能主要取決于反饋模板A,、控制模板B以及閾值I的不同設(shè)置,。
1.2? 視覺信息編碼
當(dāng)改變落在視網(wǎng)膜上的圖像時,新的視覺信息就會被編成神經(jīng)沖動傳進大腦,,在迅速的視覺處理中,,神經(jīng)編碼的本質(zhì)目前尚不清楚,還處在摸索中?,F(xiàn)在通常把視網(wǎng)膜作為控制論中的“黑箱”來看待,,只對它的輸入(相當(dāng)于作用于視網(wǎng)膜的光刺激)和它的輸出(相當(dāng)于由視神經(jīng)傳出的動作電位序列)進行對照分析,這樣探索視網(wǎng)膜信息處理和編碼方式,。第一代視覺假體的預(yù)期功能是讓患者能進行慢速的閱讀,,識別一些簡單的物體,并不是為了恢復(fù)患者的所有視覺,,因此本文更關(guān)注的是視網(wǎng)膜中對圖像空間信息的編碼,。從對脊椎動物的實驗可知,可以用兩種特性來描述視網(wǎng)膜中神經(jīng)節(jié)細胞對圖像空間信息的反應(yīng),,一種是從圖像刺激到神經(jīng)節(jié)細胞輸出第一個脈沖的時間間隔,,稱為脈沖延時,另外一種就是輸出的總脈沖數(shù)[7-10],。從一些感覺系統(tǒng)的實驗中可以得到以下結(jié)論:更強的刺激意味著更短的脈沖延時和更多的脈沖數(shù)(脈沖數(shù)有例外情況)[7],,因此可以把脈沖延時作為空間編碼的主要特性。本文中的圖像編碼模塊的設(shè)計正是基于此原理,。
2 圖像處理及編碼模塊的設(shè)計
本文的仿生眼系統(tǒng)處理的圖像主要為最簡單的數(shù)字圖像(二值圖像),,若為灰度級圖像則不加處理直接進行圖像編碼傳送到眼內(nèi)部的解碼模塊或?qū)叶燃増D像先進行二值化處理,下面對具體模塊的設(shè)計加以介紹,。
2.1 圖像處理模塊的設(shè)計
圖像處理模塊主要利用CNN強大的圖像處理能力[6],,但CNN本身是模擬電路,因此在噪聲,、精確度,、魯棒性以及芯片間的通信、參數(shù)調(diào)整等方面存在一些不足[11-13],,因此本文采用數(shù)字CNN電路,。所謂數(shù)字CNN電路即以數(shù)字架構(gòu)來仿效實現(xiàn)CNN功能的芯片,該設(shè)計方式使用數(shù)字的方法來仿效實現(xiàn)CNN的微分方程式,計算結(jié)果是比較容易用電路實現(xiàn)的,且電路功能也是可測試的[14-15],。在數(shù)字電路中,,進行數(shù)據(jù)處理的場所主要是運算器(算術(shù)邏輯運算單元ALU),因此在數(shù)字CNN電路中,每個像素處理單元的硬件電路就類似于一個ALU結(jié)構(gòu),該ALU結(jié)構(gòu)的相關(guān)運算組合能實現(xiàn)類似狀態(tài)方程(1)和(2)的運算結(jié)果,例如對于模擬CNN并行陣列,,水平線檢測的A,、B模板和閾值I分別為:
將相應(yīng)參數(shù)代入線性方程(1)和(2),可得到的Cij輸出Yij為:
由水平檢測的模板可以看出,,神經(jīng)元Cij的最終輸出只與其左右邊單元的輸入以及本身的輸入和輸出有關(guān),。由水平檢測的結(jié)果可以看出,若用0來代替白色像素的取值,,1代替黑色像素的取值,,則通過輸入與輸出的真值表,可以得到水平線檢測相當(dāng)于邏輯表達式:
上面的例子代表了類似圖3(a)模板的數(shù)字實現(xiàn)方式,,圖3(b)模板的數(shù)字實現(xiàn)方式類似圖3(a)模板的實現(xiàn)方式,,例如對于左陰影檢測的模板如圖3(c),相應(yīng)的輸出輸入關(guān)系式為:
?
只是需要一直執(zhí)行上面的“或”指令,,直到Y(jié)i,,j-1 不再變化,即Yij也不再變化,,只要所有神經(jīng)元的輸出都不再變化,,指令便可停止執(zhí)行,左陰影檢測即可完成,。
經(jīng)過上面的分析,,對一些常用的模板的運算結(jié)果進行真值表化簡后,可以得出只要具備表1的算術(shù)邏輯指令,,就可以實現(xiàn)二值(黑白)圖像相應(yīng)的圖像處理功能[16-18],,至于灰度圖像的處理,則需要先對灰度圖像進行二值化處理,。
在完成了上面的分析以后本文具體對CNN細胞單元進行了設(shè)計,,圖4為其結(jié)構(gòu)框圖。
?
2.2 圖像編碼模塊的設(shè)計
由1.2節(jié)的內(nèi)容可知,圖像的空間信息可以用脈沖延時以及脈沖個數(shù)兩個特征來編碼,,而且刺激越大,,脈沖延時越短,脈沖個數(shù)越多,。根據(jù)這個原理,,本文利用硬件描述語言對圖像編碼模塊進行了具體設(shè)計,圖5為其結(jié)構(gòu)框圖,。其基本工作原理如下:當(dāng)CLK信號上升沿到來時接收來自圖像處理模塊的輸出,并將其數(shù)值轉(zhuǎn)化為表征刺激程度的數(shù)字量作為預(yù)置計數(shù)器的初始計數(shù)值,,預(yù)置計數(shù)器計數(shù)溢出時產(chǎn)生一個小脈沖作為脈沖序列產(chǎn)生器的觸發(fā)脈沖,,脈沖序列產(chǎn)生器每接收到一個脈沖時其輸出取反。脈沖延時以及脈沖個數(shù)的產(chǎn)生依賴于CLK、CLK1以及初始計數(shù)值的取值,,這3個參數(shù)的取值主要根據(jù)實驗數(shù)值來設(shè)置,,并可做相應(yīng)調(diào)整。
?
3 系統(tǒng)仿真
在確定了圖像處理以及編碼模塊的設(shè)計思路及相關(guān)框圖以后,,本文具體用硬件描述語言對相關(guān)模塊進行描述并仿真,。在圖像處理模塊上本文具體設(shè)計了一個8×8的數(shù)字CNN陣列,并對其圖像處理功能進行了仿真,,實驗結(jié)果證明,該數(shù)字CNN陣列可以對二值圖像進行特征提取等操作,,圖6為水平檢測以及圖像腐蝕的效果圖。圖7為圖像編碼模塊的輸出,,由圖7可以看出,,不同的刺激程度,直接決定了圖像編碼模塊的脈沖延時以及脈沖數(shù),,圖7(a)的刺激,,脈沖延時大約為0.53 μs(CLK1的上升沿到最近右邊pulseout邊沿的距離),脈沖數(shù)為3個(1個CLK1周期內(nèi),pulseout脈沖的個數(shù)),,圖7(b)的刺激,,脈沖延時為0.033 μs,脈沖數(shù)為4個。以上數(shù)據(jù)只證明圖像編碼電路的原理是正確的,,具體參數(shù)的設(shè)計還需要根據(jù)實驗觀測數(shù)據(jù)加以調(diào)整,。從仿真結(jié)果可以證實,本文的圖像處理以及編碼模塊的設(shè)計是成功的,。
到目前為止筆者對視覺系統(tǒng)的認識還比較有限,,在視神經(jīng)的編碼方式、視覺信息的處理等方面,,還有許多內(nèi)容需要去探討研究,,隨著時間的推移,對這些領(lǐng)域的認知將會不斷增多,,利用電路系統(tǒng)實現(xiàn)的仿生眼將會更精確,。本文主要是利用目前對視覺系統(tǒng)的了解,建立一個電路模型,,下一步的工作將對該電路模型進行進一步的優(yōu)化和改進,,并進行實際應(yīng)用的研究。
參考文獻
[1] ?KRUMPASZKY H G, KLAUSS V. Epidemiology of blindness and eye disease. Ophthalmological[J],1996,210(1):1.
[2]?喻瑋. 基于DSP的人工視覺圖像處理系統(tǒng)[D].?上海:上海交通大學(xué), 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].?廈門:廈門大學(xué)電子工程系, 2004:28-35.
[17]?郭東輝. CNN 并行處理器視覺圖像處理指令集[M].?廈門大學(xué)EDA實驗室內(nèi)部技術(shù)資料,,2003.
[18]?郭東輝. CNN并行處理器視覺圖像處理擴展指令集[M]. 廈門大學(xué)EDA實驗室內(nèi)部技術(shù)資料,,2003.