Automatic Generation of Bio-inspired Retina-Like

processed. The reference [6] can be considered for consulting the overall hard- ware scheme. A typical class of filters used to mathematically describe retinal.
210KB taille 3 téléchargements 274 vues
Automatic Generation of Bio-inspired Retina-Like Processing Hardware Antonio Mart´ınez1 , Leonardo M. Reyneri3 , Francisco J. Pelayo1 , na Pino1 Samuel F. Romero2 , Christian A. Morillas1 , and Bego¨ 1

Dept. Architecture and Computer Technology, C/Periodista Daniel Saucedo Aranda s/n E-18071, Spain [email protected] 2 Dept. of Computer Science, School of Computing, Edif. A3, 133, University of Jaen. Campus las Lagunillas, s/n [email protected] 3 Dept. of Electronics, Politecnico di Torino, Corso Duca degli Abruzzi 24, 10129 Turin, Italy [email protected]

Abstract. This paper describes a tool devised for automatic design of bioinspired visual processing models using reconfigurable digital hardware. The whole system is indicated for the analysis of vision models, especially those with real–time requirements. We achieve a synthesizable FPGA/ASIC design starting from a high level description of a retina, which is made and simulated through an ad-hoc program. Our tool allows a thorough simulation of the visual model at different abstraction levels, from functional simulation of the visual specifications up to hardwareoriented simulation of the developed FPGA model. The main objective of this work is to build a portable and flexible system for a visual neuroprosthesis and to stimulate efficiently an array of intra–cortical implanted microelectrodes. A set of parameters can be adjusted in every step of the design flow in order to maximize the design flexibility of the model. Furthermore these parameters allow the different scientists who have to deal with the development to modify a well known characteristic.

1

Introduction

Visual rehabilitation of vision impaired people is one of the major challenges in biomedical engineering, and specially in the field of neuroengineering, more oriented to the development of neural prosthetic systems. The work presented here is being carried out within the EC project CORTIVIS (QLK6–CT–2001– 00279) (see [1]), which has as a main objective the development of a cortical visual neuroprosthesis for the blind. A project of this kind opens up a large interface where different sciences must coexist and interact with the design of the visual system. We present a work which deals with this large interface and performs a top–down design flow J. Cabestany, A. Prieto, and D.F. Sandoval (Eds.): IWANN 2005, LNCS 3512, pp. 527–533, 2005. c Springer-Verlag Berlin Heidelberg 2005

528

A. Mart´ınez et al.

(see fig. 1) taking into account the plurality of sciences and different levels of abstraction. Although available for a large number of computer vision schemes, we focus our attention to the development of a visual bio–inspired neuroprosthesis. The result is a general system for specification, simulation and testing of general–purpose computer vision models. 1.1

Justification of the Selected Implementation

The huge computing requirements for real–time retina–like digital processing of visual information forced us to work with the FPGA hardware technology in order to achieve the required real–time specifications of a bio–inspired visual system. FPGA technology allows an easy projection of a vision functional model onto reconfigurable hardware platforms. This technology also brings the opportunity of modeling our particular system adapting the real biological parallelism schemes for processing the visual information. The characteristics of a portable neuro–prosthesis ask for a very configurable system able to be adapted to every individual implanted. In that way, the possibility of changing the main processing parameters of the final hardware system is very important to syntonize with every patient peculiarity. 1.2

Modeling the Visual System

We have used Retiner (see [2]), a tool for modeling, simulating, testing and comparing vision models developed by some of the authors during the CORTIVIS project. This program is primarily written in Matlab and allows us to test the results of different computer vision models (therefore retina schemes) with many types of inputs, from static images (in standard formats like BMP, JPEG, PNG, TIFF, . . . ) up to live video (using a normal webcam) or a simple AVI video file. The main purpose of Retiner is to offer the physicians and neuro-physiologists a test-bench to essay retina models and check them against biological experimental data. Our work in this paper has been to adapt Retiner to be inserted in the top– down design flow displayed in fig. 1, which spans from a functional specification to a real hardware representation of the system.

2

Tool Description

The software structure of the tool is designed following a component model in order to a better debugging and organization of every task. We present both, the simulation and synthesis schemes of our tool. In this paper we focus our attention in the medical purpose of the tool. We present the simulation and synthesis schemes that are used to perform our tasks. Fig. 1 represents the design flow that is being managed compared to the typical abstraction layers in the design of integrated circuits area. We start the design from Retiner which allows us to easily make high level descriptions of image processing retina-like operations. Once we check that the

Automatic Generation of Bio-inspired Retina-Like Processing Hardware

529

Abstraction layers Proposed design flow

Specifications Retiner & Simulink

Behavior Tool & CodeSimulink

RTL

Logic Comercial Synthesizers

Circuit

Layout

Fig. 1. Typical design flow using our tool

design is giving coherent results, we can proceed to run the tool that is described in this paper, to automatically obtain a hardware design in a standard description language (VHDL) that can be later used to program a real–time working circuit implementing our design, by means of third party commercial FPGA programming tools. The well–known AlphaData RC1000 PCI board, which contains a VirtexE 2000 FPGA chip, is being using to test the tool. 2.1

Synthesis Tasks

Fig. 2 represents the synthesis scheme that follows our tool. Another example of applications that allow a high level specification of a system using Simulink blocks which can be translated into hardware can be consulted in [3, 4]. This work is in the context of a larger translation strategy (see [5]) but in this paper we are very interested in the way biomedical specialists from the project CORTIVIS can obtain a suitable artificial retina in reconfigurable hardware. From a retina–like description defined by Retiner in a mathematical way we start the translation routines of our tool. After determining the desired mathematical behavior of the retina, a certain number of spatio–temporal filters can be selected to define any Matlab-compatible mathematical expression. Up to this state of the work, a linear weighted combination of the filters can be properly processed. The reference [6] can be considered for consulting the overall hardware scheme. A typical class of filters used to mathematically describe retinal functions is the Difference of Gaussians (DoG): ∆

DoG(X1 , X2 , Q1 , Q2 ) = X1 ⊗ Q1 − X2 ⊗ Q2

(1)

where ⊗ indicates convolution, while Q1 and Q2 are two appropriate filter kernels. The DoG operator is available in Retiner software. In this way a general retina description could have this look: F1 = DoG(R + G, B; . . .)

(2)

530

A. Mart´ınez et al.

F2 = DoG(R + B, G; . . .) F3 = DoG(I, I; . . .) .. . Fn = DoG(. . .) Retina = a × F1 + b × F2 + c × F3 + . . .

(3) (4) (5) (6) (7)

with R, G, B, I standing for red, green and blue color channels, I standing for light intensity channel and a, b, c ∈