Brought to you by:
Paper

Global activity shaping strategies for a retinal implant

, , , and

Published 23 January 2019 © 2019 IOP Publishing Ltd
, , Citation Martin J Spencer et al 2019 J. Neural Eng. 16 026008 DOI 10.1088/1741-2552/aaf071

This article is corrected by 2019 J. Neural Eng. 16 059601

1741-2552/16/2/026008

Abstract

Objective. Retinal prostheses provide visual perception via electrical stimulation of the retina using an implanted array of electrodes. The retinal activation resulting from each electrode is not point-like; instead each electrode introduces a spread of retinal activation that may overlap with activations from other electrodes. With most conventional stimulation strategies this overlap leads to image blur. Here we propose a 'shaping' algorithm that uses multiple electrodes to manipulate the current between electrodes in a desired way. Approach. We assume a forward model for the conversion of electrode strengths to retinal activation. Three alternative global shaping algorithms are developed by calculating reverse models under different assumptions: linear inversion using singular value decomposition to produce the pseudoinverse, a linearly constrained quadratic program, and a binary quadratic program to partition the target pattern. The algorithms were assessed using both the mean squared error between the resulting images and desired images, as well as their adherence to the maximum allowed electrode currents. Main results. Under wide activation spreads the linear inversion algorithm gave improved solutions but faced two limitations: under low-noise conditions the electrode amplitudes exceeded their set limit; the set of solutions did not include the possibility of using negative local currents to induce retinal activation. The linearly constrained quadratic program and binary quadratic program respectively addressed these problems, but required much greater computation time. Significance. This provides a framework for improving the resolution of future retinal implants, especially those with high density electrode arrays.

Export citation and abstract BibTeX RIS

Introduction

Retinal prostheses are devices that restore a sense of vision in people with profound retinal degeneration. They use electrode arrays to activate the neural cells of the retina to create a particular visual percept [16]. The activation of each electrode via a biphasic current or pulse induces a single spatially localized patch of retinal activation referred to as a phosphene. A positive electrode current refers to a cathodic first pulse, and a negative electrode current refers to an anodic first pulse. Loss of rod and cone cells is followed by remodelling and degeneration of the retinal circuitry [7]. Consequently, the ultimate target for electrical stimulation is the retinal ganglion cells. It is only the direct electrical activation of retinal ganglion cells that is modelled in this study. Electrical stimulation of retinal ganglion cells is caused by current entering through the membrane at the site of spike initiation, which is usually the sodium channel band of the axon initial segment [8, 9]. An important limitation in recreating a particular pattern of activation on the retina is the spread of electric currents in the retinal tissue. The extent of activation spread is related to electrode size, the electrical conductivity of the tissues and the distance between the electrode array and the neurons of the retina [10, 11]. Under narrow activation spread conditions, stimulation of the retina takes the form of a matrix-like array of localized phosphenes. Under wide activation spread conditions, the influence of each electrode overlaps with neighboring electrodes and leads to a perceived blurred image. The wide activation spread conditions are found in any retinal prostheses with high electrode densities whether they are suprachoroidal, epi-retinal, or subretinal implants. Available literature indicates that most devices fall into the wide current spread regime. Future devices are expected to have higher electrode densities and are therefore more likely to have wide current spread relative to the electrode spacing.

A number of strategies have been proposed to achieve a desired target pattern of retinal activation. The conventional stimulation strategy sets electrode amplitudes to correspond to the desired target activations at their locations on the retina [1219]. Under this strategy, the electrode activation pattern is simply a down-sampled (pixelated) version of the desired retinal activation pattern, with the amplitude typically scaled between the threshold and maximum allowed levels. The conventional approach is a one-to-one strategy in that each electrode is assumed to influence one region of the retinal activation pattern. It is rapid to compute and produces predictable and reproducible patterns of stimulation. Under narrow activation spread conditions, this conventional approach leads to a retinal activation pattern that is a matrix of phosphenes, with the position and spread of each determined by the electrode positions and properties. We show that in narrow spread conditions, this is the optimal outcome possible. Using the conventional algorithm, the accuracy of the retinal activation pattern is limited by the intrinsic spread of current in the retinal tissue, and this in turn leads to an upper limit on the useful electrode density in the implanted array [10].

Multipolar strategies are used when the activation spreads from electrodes overlap, referred to here as wide activation spread conditions. Multipolar strategies attempt greater control over the spread and position of retinal activation by using multiple electrodes together to manipulate a single point of retinal activation, a many-to-one strategy. Multipolar stimulation uses a group of two or more electrodes activated at varying ratios to manipulate the position of a 'virtual' phosphene situated at a point between the electrodes [20]. If a single electrode's current is increased then the peak retinal activation will move its position closer to that electrode. Focused multipolar stimulation attenuates the spread of current resulting from a central electrode by using a group of surrounding electrodes of opposite polarity [21, 22]. This results in more confined virtual phosphenes. These solutions are intended to improve upon the limitations of the conventional solution under wide activation spread conditions by providing the ability to manipulate the position and spread of each phosphene. However the result is still a phosphene-matrix, and each phosphene now requires multiple electrodes.

Under a global current steering strategy, each electrode current amplitude is jointly and simultaneously dependent on the whole target pattern of retinal activation. This is a many-to-many strategy. The problem is not framed in terms of phosphenes, and the result is not a matrix of phosphenes. Each electrode plays a role in creating the whole pattern of retinal activation; any point in the pattern is, in principle, influenced by the setting of every electrode. The strength of a given electrode can be influenced by remote features in the target retinal activation pattern. This global current steering for retinal activity shaping strategy has been applied in the case of trans-cranial direct current stimulation [23], cochlear implants to restore hearing [24, 25], and in retinal implants [2628].

The model we adopt is simple enough to be useful in stimulation strategies, in contrast to volume conductor models, but accurate, as demonstrated experimentally [9, 26, 2933]. The model includes a quantitative representation of the electrical receptive field (ERF), which is the pattern of electrical stimulation on the electrodes that leads to activation of each neuron. These ERFs could be measured experimentally using the same array as is used for electrical stimulation. The activation spread can be thought of as the inverse equivalent of the ERF. It is the pattern of retinal activation that results from the current from a single electrode.

The present investigation adds to existing work by exploring the fact that both positive and negative current induces retinal activity, allowing a new set of solutions. It also explicitly considers the consequences of variation in the influence of each electrode on the neural tissue and noise in the measurement of these activation spreads. In addition we address the selection of eigenvectors to reduce over-fitting, and explicitly investigate the dependence of solution quality upon the density of electrodes.

Three alternative global current shaping strategies were explored and compared to the conventional strategy. We began with an assumed forward model, which describes the effect of each electrode on the retinal activation. This model was inverted to create an algorithm that gives a set of electrode activations intended to re-create a target pattern of retinal activity. The inversions were completed under different assumptions and with different requirements. Qualitative results were examined to discover any artifacts that may create a disproportionately large perceptual effect that could be underweighted by a purely quantitative approach.

Methods

Forward model of electrical stimulation of the retina

Accurate quantifiable analysis of alternative global shaping strategies initially requires a forward model to calculate retinal activations resulting from a particular pattern of electrode settings. The model will use scaled units with S—spikes, T—time, I—electric current, L—length.

We first define a desired set of retinal activations, $\vec {r}_{{\rm d}}^{*}[{\rm S}{{{\rm T}}^{-1}}]$ , and a modeled set of retinal activations ${{\vec {r}}_{{\rm d}}}~[{\rm S}{{{\rm T}}^{-1}}]$ that result from a given set of electrode current amplitudes, $\vec {s}~[{\rm I}]$ . The retinal activation vectors $\vec {r}_{{\rm d}}^{*}$ and ${{\vec {r}}_{{\rm d}}}$ represent the set of values associated with ${{N}_{{\rm d}}}$ discrete retinal locations. The current amplitude vector, $\vec {s}$ , represents the values associated with ${{N}_{{\rm e}}}$ electrode locations. These sets of retinal activations and current amplitudes could be spatially configured in an arbitrary way, for example the set of electrodes could be configured as hexagonal arrays. However, in the present investigation, the retinal and electrode configurations take the form of square arrays of dimensions ${{n}_{{\rm d}}}$ , and ${{n}_{{\rm e}}}$ respectively, such that ${{N}_{{\rm d}}}=~n_{{\rm d}}^{2}$ , and ${{N}_{{\rm e}}}=~n_{{\rm e}}^{2}$ and the spatial width of the array is ${{L}_{{\rm e}}}[L]$ is set to be 1. A ground electrode is assumed to be distal, as is the case for most retinal implants. We also define the generator signal, $\vec {G}~\left[ I \right]$ which is an intermediate variable used to calculate retinal activations, with the same length, ${{N}_{{\rm d}}}$ , as the retinal activation vector. In the present investigation, the generator signal at any given location in the retinal tissue is the total local current at that location, which is the sum of the currents resulting from each electrode activation.

The forward model that converts electrode amplitudes, $\vec {s}$ , to retinal activations, ${{\vec {r}}_{{\rm d}}}$ , is defined in two steps: first, a linear step that maps the vector of electrode amplitudes, $\vec {s}$ , to a vector of generator signal values, $\vec {G}$ ,

Equation (1)

And, second, a nonlinear step that acts on each element of the generator vector, $\vec {G}$ , to give the retinal activation vector, ${{\vec {r}}_{{\rm d}}}$ ,

Equation (2)

In the retina, the biophysical basis for the utility of a linear-nonlinear model and electrical receptive field have been demonstrated experimentally [9, 26, 2933] and loosely correspond to the subthreshold membrane current, spike generation threshold, and field of network inputs, respectively. The functions $f$ and $g$ are defined below.

The function $g$ in equation (1) is a transfer matrix:

Equation (3)

where, ${{{\bf W}}_{{\bf d}}}$ is a matrix of dimensions ${{N}_{{\rm e}}}\times {{N}_{{\rm d}}}$ , and gives the magnitude of the current at each retinal location resulting from the activation of each electrode. The rows of the matrix ${{{\bf W}}_{{\bf d}}}$ are the ERFs for each retinal patch, and the columns contain the retinal activation spread for each stimulating electrode. Gaussian electrode activation patterns were chosen to approximate the activation spread resulting from each electrode [12], with each element, ${{W}_{{\rm d},ij}}$ , given by:

Equation (4)

where $({{x}_{i}},{{y}_{i}})~[L,L]$ is the spatial positions of the $i$ th retinal patch, ${{\vec {r}}_{{\rm d},i}}$ , and $({{x}_{j}},{{y}_{j}})~[L,L]$ the jth electrode, ${{\vec {s}}_{j}}$ ; $\sigma ~[L]$ is the spread of current, $\rho $ is the magnitude of variation in the activation spread, and ${{\xi }_{ij}}$ is a random number equally distributed between  −1 and 1. The additive variation, $\rho {{\xi }_{ij}}$ , represents deviations in the Gaussian shape due to heterogeneity in the retinal tissue.

In its general form, the function $f$ (equation (2)) is the two-sided sigmoid function illustrated by the red line in figure 1(a) [9, 28]. With appropriate limits placed on the range of retinal activations and by appropriate linear scaling, the function $f$ can be approximated by a modulus $\left| {{G}_{i}} \right|$ , as illustrated by the solid black line in figure 1(a). Using this approximation and equation (3), the final forward model described in equations (1) and (2) is now given by

Equation (5)

where $k[{\rm S}{{{\rm T}}^{-1}}\,{{{\rm I}}^{-1}}]$ is set to 1. This forward model is illustrated in one dimension in figures 1(b)(e). However, in general, these spatial interactions take place in two-dimensions, giving the retinal activation pattern.

Figure 1.

Figure 1. Schematic depictions of the forward model described by equations (1)–(5). (a) Model of retinal activation as a function of the generator signal as used in the binary quadratic program, ${{r}_{{\rm d},i}}=\left| {{G}_{i}} \right|$ (2), (black line). This is compared to a hypothetical function in which the retinal activation saturates at higher values in the generator signal (red line). For the linear inversion and linearly constrained quadratic program, the relation ${{r}_{{\rm d},i}}={{G}_{i}}$ is assumed (dashed line). (b) Example of five electrode amplitudes in one-dimension. (c) Activation spreads due to each individual electrode. (d) Generator signal. (e) Retinal activations (f) The overlap parameter $\gamma $ as a function of the activation spread ($\sigma $ ) and electrode number (${{n}_{{\rm e}}}$ ).

Standard image High-resolution image

The units of the elements of each the vectors, ${{\vec {r}}_{{\rm d}}}$ and $\vec {s}$ , and the matrix, ${{{\bf W}}_{{\bf d}}}$ , were scaled such that an electrode stimulus amplitude value of $1\,[{\rm I}]$ results in a peak generator signal value of $1\,[{\rm I}]$ , which in turn results in a retinal activation of $1\,[{\rm S}{{{\rm T}}^{-1}}]$ (figure 1(a)). In real implants, there is a limit on the maximum current $\vec {b}\,[{\rm I}]$ deliverable by each electrode for both power and safety reasons.

There are two regimes in which the model can operate: the 'narrow' activation spread regime, in which the influence of neighboring electrodes is isolated and does not significantly overlap, and the 'wide' activation spread regime, in which the retinal activation at any given point is the result of significant contributions from multiple electrodes. In the present investigation, the overlap parameter, $\gamma $ , was defined by the ratio between one standard deviation in activation spread and the distance between neighboring electrodes in the square array, $\gamma =\frac{\sigma }{{{L}_{{\rm e}}}/{{n}_{{\rm e}}}}=\frac{\sigma {{n}_{{\rm e}}}}{{{L}_{{\rm e}}}}$ , and since we choose units with ${{L}_{{\rm e}}}=1$ , then $\gamma =~\sigma {{n}_{{\rm e}}}$ . This parameter was used to quantify the overlap, where $\gamma =1$ approximately denotes the boundary between the narrow and wide activation spread regimes. The quantity, $\gamma $ , and its dependence on $\sigma $ , and ${{n}_{{\rm e}}}$ is illustrated in figure 1(f).

Global shaping model development and testing

The next stage in the development of the model requires derivation of an inverse model as illustrated in figure 2(a). From the forward model's matrix ${{{\bf W}}_{{\bf d}}}$ equation (5), (figure 2(b)) of size ${{N}_{{\rm d}}}\times {{N}_{{\rm e}}}$ we derive 'measured' activation spreads ${{{\bf W}}_{{\bf t}}}$ (figure 2(c)) of dimension ${{N}_{{\rm t}}}\times {{N}_{{\rm e}}}$ . This is a lower resolution and noisy version of ... The matrix ${{{\bf W}}_{{\bf t}}}$ is intended to represent an experimentally obtained ERF model and is the matrix used in the inverse model while the matrix ${{{\bf W}}_{{\bf d}}}$ is intended to model the actual retinal activation that results from a given pattern of electrodes. Separating these two models is a conservative check on the results obtained by the methods proposed in this investigation. ${{{\bf W}}_{{\bf t}}}$ was modeled by downsampling each of the 2D electrical receptive fields contained in ${{{\bf W}}_{{\bf d}}}$ from ${{N}_{{\rm d}}}$ elements to ${{N}_{{\rm t}}}$ elements using the MATLAB 2017a (Mathworks, MA, USA) function 'interp2', and then simulating additive noise by adding a quantity $ \newcommand{\e}{{\rm e}} \eta {{\xi }_{ij}}$ to each element of the resulting activation spreads, where $ \newcommand{\e}{{\rm e}} \eta $ is the magnitude of the 'estimation noise' and ${{\xi }_{ij}}$ is a random number between  −1 and 1. This quantity represents errors in measuring the true activation spreads. This estimation noise is critical in assessing the quality of the algorithms because, unlike the conventional method, shaping methods are susceptible to over-fitting under certain conditions, which can lead to artifacts in the resulting retinal activation pattern.

Figure 2.

Figure 2. Schematic depiction of the process used in the present investigation. (a) A desired retinal activation pattern $\vec {r}_{{\rm d}}^{*}$ (defined at ${{N}_{{\rm d}}}$ spatial locations) is down-sampled to give a target retinal activation pattern $\vec {r}_{{\rm t}}^{*}$ (defined at fewer; ${{N}_{{\rm t}}}$ spatial locations). An inverse model is used to calculate the electrode strengths $\vec {s}$ to induce this pattern. (b) The error, ${{\varepsilon }_{{\rm t}}}$ , calculated using ${{W}_{{\rm t}}}$ is used to develop the inverse model in (a). (c) The error, ${{\varepsilon }_{{\rm d}}}$ , used to assess the outcome of each of the models calculated using ${{{\bf W}}_{{\bf d}}}$ .

Standard image High-resolution image

All parameters are defined in table 1.

Table 1. List of parameters and their units of measurement. T—time, L—length, S—spikes, V—voltage, I—current.

Parameters
Electrode amplitudes (${{N}_{{\rm e}}}$ ) $\vec {s}\,[{\rm I}]$
Maximum electrode amplitude ${{s}_{\max }}\,[{\rm I}]$
Electrode array width, 1 ${{L}_{{\rm e}}}=1\,[{\rm L}]$
'True' transfer matrix (${{N}_{{\rm d}}}\times {{N}_{{\rm e}}}$ ) ${{{\bf W}}_{{\bf d}}}\,[{\rm S}{{{\rm T}}^{-1}}\,{{{\rm I}}^{-1}}]$
Desired retinal array dimensions ${{n}_{{\rm d}}}$
Desired retinal vector length, $n_{{\rm d}}^{2}$ ${{N}_{{\rm d}}}$
Desired retinal activations (${{N}_{{\rm d}}}$ ) $\vec {r}_{{\rm d}}^{*}\,[{\rm S}{{{\rm T}}^{-1}}]$
Modelled desired retinal activations (${{N}_{{\rm d}}}$ ) ${{\vec {r}}_{{\rm d}}}\,[{\rm S}{{{\rm T}}^{-1}}]$
Mean squared error, $\left\Vert \vec {r}_{{\rm d}}^{*}-\vec {r}_{{\rm d}}^{2} \right\Vert$ ${{\varepsilon }_{{\rm d}}}\,[{{{\rm S}}^{2}}\,{{{\rm T}}^{-2}}]$
Current spread $\sigma \,[{\rm L}]$
Variation magnitude in ${{{\bf W}}_{{\bf d}}}$ $\rho $
Target transfer matrix (${{N}_{{\rm t}}}\times {{N}_{{\rm e}}}$ ) ${{{\bf W}}_{{\bf t}}}$
Target retinal array dimensions ${{n}_{{\rm t}}}$
Target retinal vector length, $n_{{\rm t}}^{2}$ ${{N}_{{\rm t}}}$
Target retinal activations (${{N}_{{\rm t}}}$ ) $\vec {r}_{{\rm t}}^{*}\,[{\rm S}{{{\rm T}}^{-1}}]$
Modelled target retinal activations (${{N}_{{\rm t}}}$ ) ${{\vec {r}}_{{\rm t}}}\,[{\rm S}{{{\rm T}}^{-1}}]$
Mean squared error, $\left\Vert {{{\vec {r}}}_{{\rm t}}}^{*}-{{{\vec {r}}}_{{\rm t}}}^{2} \right\Vert$ ${{\varepsilon }_{{\rm t}}}\,[{{{\rm S}}^{2}}\,{{{\rm T}}^{-2}}]$
Estimation noise magnitude in ${{{\bf W}}_{{\bf t}}}$ $ \newcommand{\e}{{\rm e}} \eta $
Binary partitioning vector (${{N}_{{\rm t}}}$ ) $\vec {\varphi }$
Diagonal matrix form of $\vec {r}_{{\rm t}}^{*}$ (${{N}_{{\rm t}}}\times {{N}_{{\rm t}}}$ ) ${{{\bf R}}^{*}}\,[{\rm S}{{{\rm T}}^{-1}}]$
Maximum allowed electrode amplitudes $\vec {b}\,[{\rm I}]$
Electrode array dimensions ${{n}_{{\rm e}}}$
Electrode vector length, $n_{{\rm e}}^{2}$ ${{N}_{{\rm e}}}$
Neural activation constant $k=1\,[{\rm S}{{{\rm T}}^{-1}}\,{{{\rm I}}^{-1}}]$
Electrode locations $\left( {{x}_{j}},~{{y}_{j}} \right)\,[{\rm L},{\rm L}]$
Retinal locations $\left( {{x}_{i}},~{{y}_{i}} \right)[{\rm L},{\rm L}]$
Linear model $g$
Nonlinear model $f$
Random value $ \newcommand{\e}{{\rm e}} \xi \epsilon (-1,1)$
Generator function values (${{N}_{{\rm t}}}$ ) $\vec {G}\,[{\rm I}]$
Current overlap parameter, $\sigma {{n}_{{\rm e}}}/{{L}_{{\rm e}}}$ $\gamma $
Linear inversion objective function ${{\Theta }_{{\rm lin}}}\,[{{{\rm S}}^{2}}\,{{{\rm T}}^{-2}}]$
Quadratic program objective function ${{\Theta }_{{\rm quad}}}~[{{{\rm S}}^{2}}{{{\rm T}}^{-2}}]$
Binary partition objective function ${{\Theta }_{{\rm bin}}}\,[{{{\rm S}}^{2}}\,{{{\rm T}}^{-2}}]$
Eigenvalue fraction ${{F}_{{\rm eig}}}$
Left eigenvectors, retina (${{F}_{{\rm eig}}}{{N}_{{\rm e}}}\times {{N}_{{\rm t}}}$ ) ${\bf P}$
Right eigenvectors, electrode (${{N}_{{\rm e}}}\times {{F}_{{\rm eig}}}{{N}_{{\rm e}}}$ ) ${\bf Q}$
Eigenvalues (${{F}_{{\rm eig}}}{{N}_{{\rm e}}}\times {{F}_{{\rm eig}}}{{N}_{{\rm e}}}$ ) ${\bf D}$
Pseudoinverse of ${{{\bf W}}_{{\bf t}}}$ (${{N}_{{\rm e}}}\times {{N}_{{\rm t}}}$ ) ${\bf W}_{{\bf t}}^{+}$
Mean error over 32 images ${{\varepsilon }_{{\rm d}32}}\,[{{{\rm S}}^{2}}\,{{{\rm T}}^{-2}}]$
Partitioned retinal activity, ${{{\bf R}}^{*}}\vec {\varphi }$ (${{N}_{{\rm t}}}$ ) $\vec {p}_{{\rm t}}^{*}\,[{\rm S}{{{\rm T}}^{-1}}]$

The mean squared error, ${{\varepsilon }_{{\rm t}}}\,[{{{\rm S}}^{2}}\,{{{\rm T}}^{-2}}]$ , (figure 2(b)) quantifies the magnitude of the error between a target retinal activation, $\vec {r}_{{\rm t}}^{*}$ , and the retinal activation resulting from electrical stimulation, ${{\vec {r}}_{{\rm t}}}$ :

Equation (6)

This is used as an objective function, and each inverse model is developed by attempting to minimize this objective function under different assumptions.

As a test of the results of each inverse model, the electrode patterns are applied using equation (5), and the resulting pattern compared to the desired pattern to give ${{\varepsilon }_{{\rm d}}}\,[{{{\rm S}}^{2}}\,{{{\rm T}}^{-2}}]$ :

Equation (7)

This process is illustrated in figure 2(c). The procedure is intended to replicate the real conditions by confirming that elements of the retina that are not included in ${{{\bf W}}_{{\bf t}}}$ remain constrained by the inverse models that we develop.

In this investigation, 32 images were used as the basis for the desired retinal activation patterns. These images are shown in figure 3. The mean value of ${{\varepsilon }_{{\rm d}}}$ over over these 32 images was defined as ${{\varepsilon }_{{\rm d}32}}$ . The images were downsampled to give the desired retinal activation points ${{N}_{{\rm d}}}$ , and the target retinal activation points ${{N}_{{\rm t}}}$ . This was done using the MATLAB 2017a (MathWorks, MA, USA) function 'imresize' with the 'antialiasing' option, which uses a low-pass filter adapted to the resolution of the desired array dimensions.

Figure 3.

Figure 3. The 32 images used during the investigation in the calculation of ${{\varepsilon }_{{\rm d}32}}$ .

Standard image High-resolution image

The conventional algorithm

The conventional approach to calculating electrode activations in retinal implants is to simply downsample the desired activation pattern to give an array of retinal activation 'pixels' with the same dimensions as the electrode array. This is completed using the MATLAB function 'imresize' with the 'antialiasing' option. These electrode values, which are between 0 and 1 may lead to oversaturation of the retina, especially in the case of wide activation spread ($\gamma >1$ ). To normalize the retinal activation, the initial electrode settings are provided to the forward model to calculate an initial set of retinal activations. The ratio of the resulting total mean retinal activation and the target total mean retinal activation is then used to scale the initial set of electrodes.

Linear inversion algorithm

In calculating the inverse model we make an approximation in which the modulus in equation (5) can be removed, and choose $k=1$ . The inverse model will then operate using the assumption that ${{r}_{{\rm i}}}={{G}_{{\rm i}}}$ , the dashed line in figure 1(a). The consequences of this approximation are discussed below. Replacing the true set of activation spreads, ${{{\bf W}}_{{\bf d}}}$ , with the measured set of activation spreads, ${{{\bf W}}_{{\bf t}}}$ , this approximation means that equation (5) becomes ${{\vec {r}}_{{\rm t}}}={{{\bf W}}_{{\bf t}}}\vec {s}$ . The error, ${{\varepsilon }_{{\rm t}}}$ equation (6), can then be re-written as an objective function, ${{\Theta }_{{\rm lin}}}[{{{\rm S}}^{2}}\,{{{\rm T}}^{-2}}]$ :

Equation (8)

The solution of this equation, $\vec {r}_{{\rm t}}^{*}={{{\bf W}}_{{\bf t}}}\vec {s}$ , can be arranged to give $\vec {s}={\bf W}_{{\bf t}}^{-1}\vec {r}_{{\rm t}}^{*}$ . However a true inverse of the matrix ${{{\bf W}}_{{\bf t}}}$ is not possible because in general it is a non-square matrix, and we must use a pseudo-inverse, ${\bf W}_{{\bf t}}^{+}$ .

The pseudo-inverse of ${{{\bf W}}_{{\bf t}}}$ is calculated using singular value decomposition (SVD). Under SVD, ${{{\bf W}}_{{\bf t}}}={\bf PD}{{{\bf Q}}^{T}}$ , where the matrices P and Q are unitary and contain the left and right eigenvectors of Wt; these are associated with the generator signal pattern and the electrode pattern, respectively. D is a rectangular diagonal matrix and contains the eigenvalues associated with those eigenvectors. The pseudo-inverse of Wt can then be calculated as ${\bf W}_{{\bf t}}^{+}={\bf Q}{{{\bf D}}^{-1}}{{{\bf P}}^{T}}$ , and the electrode activation currents are given by

Equation (9)

The number of eigenvectors used in the inversion can be varied, as explained in the results, and the fraction of eigenvectors used is defined as ${{F}_{{\rm eig}}}$ .

Quadratic program

The linear inversion algorithm does not place constraints on electrode amplitudes. High electrode amplitudes can be avoided by using a quadratic program with linear constraints approach, which has the benefit of allowing the imposition of an explicit limit on the electrode current amplitudes.

A second inverse model can be developed by substituting ${{\vec {r}}_{{\rm t}}}={{{\bf W}}_{{\bf t}}}\vec {s}$ in equation (6), and ignoring the constant term $\vec {r}_{{\rm t}}^{*T}\vec {r}_{{\rm t}}^{*}$ in the subsequent quadratic expansion. The error, ${{\varepsilon }_{{\rm t}}}$ equation (6), can then be re-written as an objective function, ${{\Theta }_{{\rm quad}}}[{{{\rm S}}^{2}}\,{{{\rm T}}^{-2}}]$ :

Equation (10)

This equation fits the form of the standard quadratic program minimization, $\left( \min \left( {{c}^{T}}\vec {v}+\frac{1}{2}{{{\vec {v}}}^{T}}{\bf M}\vec {v} \right);{\bf A}\vec {v}<\vec {b} \right)$ , with ${\bf M}=2{\bf W}_{{\bf t}}^{\boldsymbol{T}}{{{\bf W}}_{\boldsymbol{t}}}$ and ${{c}^{T}}=-2\vec {r}_{{\rm t}}^{*T}{{{\bf W}}_{{\bf t}}}$ . The problem is convex because $2{\bf W}_{{\bf t}}^{\boldsymbol{T}}{{{\bf W}}_{{\bf t}}}$ is positive semi-definite. Each element of the vector of electrode strengths, $\vec {s}$ , must be limited to conform to the maximum allowed electrode amplitudes. To achieve this two-sided boundary, A is set to be a pseudo identity matrix with values of 1 in the top left quadrant and values of  −1 in the bottom right quadrant, and $\vec {b}$ is the vector of the limits on the electrode strength magnitudes. With these substitutions, the MATLAB 2017a (Mathworks, MA, USA) function 'quadprog' was used to solve equation (10). This function uses an interior point convex method [34, 35].

It is important to note that removing the modulus from the forward model (equation (5)) in order to derive the two inverse models (the linear inversion model (equation (9)) and the quadratic programming model (equation (10))) prevents these inverse models from finding solutions where negative generator signal could have been utilized to induce retinal activation. A binary quadratic program approach restores the modulus to the inverse model allowing it to discover these negative generator signal solutions.

Binary quadratic program

The modulus in equation (5), which was removed in calculating the linear inversion and quadratic program inverse models, can be retained in the calculation of the inverse model. Using equation (5) with $k=1$ , and Wd replaced with Wt, we wish to solve $\vec {r}_{{\rm t}}^{*}=\left| {{\boldsymbol{W}}_{{\bf t}}}\vec {s} \right|$ for $\vec {s}$ . This is equivalent to:

Equation (11)

where ${{{\bf R}}^{*}}$ is a diagonal matrix containing the vector, $\vec {r}_{{\rm t}}^{*}$ , and $\vec {\varphi }={\rm sgn} ({{{\bf W}}_{{\bf t}}}\vec {s})$ , which is here referred to as the binary partitioning vector. We use ${{\vec {p}}_{{\rm t}}}$ [${{{\rm S}}^{1}}\,{{{\rm T}}^{-1}}$ ] as the notation for the partitioned retinal activation resulting from a set of electrode amplitudes, and its target value $\vec {p}_{{\rm t}}^{*}$ [${{{\rm S}}^{1}}\,{{{\rm T}}^{-1}}$ ] is given by

Equation (12)

The solution to equation (11) is $\vec {s}={\bf W}_{{\bf t}}^{+}{{{\bf R}}^{*}}\vec {\varphi }$ , and so the resulting partitioned retinal activation will be

Equation (13)

Using the partitioned form of retinal activation the error can be defined as

Equation (14)

Substituting equations (12) and (13) into (14) gives

Equation (15)

The minimization of this quantity is then performed over the partitioning vector $\vec {\varphi }$ , by introducing the objective function, ${{\Theta }_{\rm bin}}\left[ {{S}^{2}}{{T}^{-2}} \right]:$

Equation (16)

Constant elements in this equation that do not vary with sign changes in elements of $\vec {\varphi }$ can be removed from the equation without affecting the minimization. Since $ \newcommand{\e}{{\rm e}} {{\vec {\varphi }}_{i}}\epsilon \{-1,1\}$ , the diagonal elements of ${{\Theta }_{{\rm bin}}}$ will contain $\vec {\varphi }_{i}^{2}=1$ , a constant that will not influence the minimization over $\vec {\varphi }$ . This allows us to remove all diagonal elements of ${{\Theta }_{{\rm bin}}}$ ; i.e. the identity matrix I is removed, and PPT is replaced with with ${\bf P}{{{\bf P}}^{{\bf T}}}-{\bf diag}\left( {\bf P}{{{\bf P}}^{\boldsymbol{T}}} \right)$ giving

Equation (17)

Since $ \newcommand{\e}{{\rm e}} {{\vec {\varphi }}_{i}}\epsilon \{-1,1\}$ this equation fits the form of the binary optimization problem, ${{\vec {v}}^{T}}\mathbf{M}\vec {v}$ , with ${\bf M}={{{\bf R}}^{*}}({\bf diag}\left( {\bf P}{{{\bf P}}^{\boldsymbol{T}}} \right)-{\bf PP}{{{\bf }~ }^{{\bf T}}}){{{\bf R}}^{*}}$ and $\vec {v}$   =  $\vec {\varphi }$ . There are ${{2}^{{{N}_{{\rm t}}}}}$ possible solutions to this equation. The binary optimization problem is NP-hard even when M is positive definite, with solutions often falling into local minima and unable to 'escape' to a globally optimum solution.

Our approach to solving the local minima problem is to use a Hopfield network in which the weights between the neurons are given by the values contained in the matrix M. The initial values of the vector $\vec {\varphi }$ are chosen to be random and then updated according to the rule, ${\rm sgn} ({\bf M}{{\vec {\varphi }}_{k}})\to {{\vec {\varphi }}_{k+1}}$ . This process is iterated until the vector $\vec {\varphi }$ is static.

In initial investigations using the Hopfield network, it was observed that solutions frequently fell into local minima, with many unnecessary and detrimental partitions between positive and negative current regions resulting in high value of ${{\varepsilon }_{{\rm d}}}$ . To mitigate this problem, simulated annealing was applied. Elements of the vector $\vec {\varphi }$ were randomly 'flipped' on each cycle before that vector was used as the initial conditions of a new Hopfield network optimization. The number of annealing cycles was set to 12 000, with an initial probability that any given element of $\vec {\varphi }$ would be flipped set at 0.5. This probability was linearly reduced so that it reaches $1/N_{{\rm t}}^{2}$ as the iterations reach 12 000. For each of the images this process was repeated 10 times and the solution with lowest value of ${{\tilde{\varepsilon }}_{{\rm t}}}$ selected as the output.

Results

Linear inversion using SVD to calculate the pseudoinverse

The conventional and linear inversion algorithms were applied to calculate electrode strengths for a particular desired retinal activation pattern (figure 4). Then the forward model equation (5) was used to convert those electrode strengths into their retinal activation patterns (figure 4).

Figure 4.

Figure 4. The results of the conventional model compared to the linear inversion model. (a) The desired retinal activation pattern. (b) The stimulation patterns showing the electrode strengths calculated by the conventional and linear inversion algorithms. (c) The resulting retinal activation patterns. In producing these results: ${{n}_{{\rm d}}}=200$ , ${{n}_{{\rm t}}}=40$ , ${{n}_{{\rm e}}}=8$ , $ \newcommand{\e}{{\rm e}} \sigma =0.15,\rho =0.05,\eta =0.05,{{F}_{{\rm eig}}}=1.$ Image © Khoury—used with permission.

Standard image High-resolution image

The conventional algorithm stimulation pattern consisted of entirely positive values. This is expected given that it is simply a downsampled and intensity-scaled version of the original image. The linear inversion algorithm produced a stimulation pattern with relatively high electrode amplitudes of both polarities. These higher amplitude electrode strengths summate to produce a similar overall level of retinal activation as the conventional strategy, but with sharper contrast. This qualitative difference is the benefit of a global shaping strategy.

In the results shown in figure 4 the linear inversion algorithm utilized all eigenvectors associated with the pseudoinverse of ${{{\bf W}}_{{\bf t}}}$ in equation (9). The use of different numbers of eigenvectors leads to different solutions (figure 5).

Figure 5.

Figure 5. Effect of varying the fraction of eigenvectors, ${{F}_{{\rm eig}}}$ . The value of ${{F}_{{\rm eig}}}$ and the associated number of eigenvectors is shown above each column. (a) The electrode pattern, $\vec {s}$ . (b) the predicted retinal pattern, ${{\vec {r}}_{{\rm d}}}$ . The parameters used are otherwise the same as those used figure 3: ${{n}_{{\rm d}}}=200$ , ${{n}_{{\rm t}}}=40$ , ${{n}_{{\rm e}}}=8$ , $ \newcommand{\e}{{\rm e}} \sigma =0.15,\rho =0.05,\eta =0.05$ .

Standard image High-resolution image

It can be seen (figure 5(b)) that the use of fewer eigenvectors resulted in a retinal activation pattern of higher error (${{\varepsilon }_{{\rm d}}}=0.031$ ) and lower spatial frequency, while the use of more eigenvectors created a retinal activation pattern of lower error (${{\varepsilon }_{{\rm d}}}=0.015$ ) and with features of higher spatial frequency.

Figure 6 explores the effects on the solution of different numbers of eigenvectors. It shows the form of eigenvalues and eigenvectors under four different parameter combinations as a function of ${{F}_{{\rm eig}}}$ (figures 6(a)(c)). The normalized value of ${{\varepsilon }_{{\rm d}32}}$ under 648 parameter combinations as a function of ${{F}_{{\rm eig}}}$ is also shown (figure 6(d)). These parameter combinations are intended to represent different device conditions as explained below.

Figure 6.

Figure 6. Selection of eigenvectors associated with the SVD of ${{{\bf W}}_{{\bf t}}}$ that appears in equation (9). ${{n}_{{\rm d}}}=100$ , ${{n}_{{\rm t}}}=40$ , ${{n}_{{\rm e}}}=8$ (a) the contents of ${\bf P}$ for ${{F}_{{\rm eig}}}=~$ 0.016 (1/64 eigenvectors), 0.156 (10/64), 0.297 (19/64), 0.438 (28/64), 0.578 (37/64), 0.719 (46/64), 0.859 (55/64), 1.000 (64/64). (b) The magnitude of each eigenvalue contained in the matrix D associated with each parameter combination. (c) The 'right' eigenvectors associated with the pattern of electrode activation. (d) Grey lines show different parameter combinations for $\sigma $ , $\rho $ , and $ \newcommand{\e}{{\rm e}} \eta $ . Each are given six values over their range ($216$ conditions for each of the 3 electrode densities). The curves show the value of the ${{\varepsilon }_{d32}}$ at each value of ${{F}_{{\rm eig}}}$ as a ratio with the smallest ${{\varepsilon }_{{\rm d}32}}$ for all ${{F}_{{\rm eig}}}$ at that parameter combination and electrode density. This is referred to as the 'normalized ${{\varepsilon }_{{\rm d}32}}$ '. The two black curves in each plot show the maximum and median normalized ${{\varepsilon }_{{\rm d}32}}$ for all parameter combinations. The point highlighted in the 3rd plot shows that if ${{F}_{{\rm eig}}}$ is chosen to be 0.6, then this gives a maximum of 10% worse outcome for certain parameter combinations than if another value of ${{F}_{{\rm eig}}}$ was used for those combinations.

Standard image High-resolution image

In principle, the greater the number of eigenvectors used in the calculation of the pseudoinverse the more accurate the result will be. However, in practice there are two limiting factors to the number of eigenvectors used. First, if the matrix Wt is affected by noise, then some eigenvectors will be corrupted, and their inclusion in the calculation of the pseudo-inverse will lead to overfitting. Second, some eigenvectors require very large changes in the amplitude of electrodes to make a significant change in retinal activation. Both these limitations apply to eigenvectors associated with small eigenvalues. Under SVD, the eigenvectors are ordered by the magnitude of their associated eigenvalues. When using a reduced number of eigenvectors we chose to remove those associated with the smallest eigenvalues first.

The left eigenvectors (figure 6(a)) are the retinal activation pattern that results from the electrode amplitude pattern contained in the associated right eigenvectors (figure 6(c)). The eigenvalue magnitudes (figure 6(b)) can be interpreted as the ratio of the amplitude of the associated pair of left and right eigenvectors. In other words, if an eigenvalue is relatively small then the associated electrode pattern (right eigenvector) will have to be of relatively higher amplitude if it is to have as much impact on amplitude of the generator signal pattern. It is also apparent that generator signal patterns with higher spatial frequency are associated with small eigenvalues (figure 6(a)), and as mentioned above, it is the small eigenvalues that are removed first. Given these observations, it is possible to predict that reducing the fraction of eigenvectors used, ${{F}_{{\rm eig}}}$ , will lead to solutions of lower spatial frequency and low electrode amplitudes, and this is exactly what was observed (figure 5). In a device with wide activation spreads, $\sigma =0.2$ , no variation, $\rho =0$ , and no noise, $ \newcommand{\e}{{\rm e}} \eta =0$ (parameter combination 4 in figure 6(a)), the lowest magnitude eigenvalues have smaller values than with the other parameter combinations shown. Therefore, using the fact that lower eigenvalues predict higher electrode amplitudes, it can be predicted that linear inversion will create higher amplitude electrode patterns under these conditions. With narrower activation spreads, the smallest eigenvalues increase in magnitude (parameter combination 3 in figure 6(a)) which would reduce the resulting electrode pattern's amplitude. With more variation or measurement noise (parameter combinations 3, and 4 in figure 6(a)) the higher eigenvalues also increase in magnitude which again predicts lower electrode amplitudes.

In the presence of ERF variation or measurement noise, the eigenvectors associated with the smallest eigenvalues become spatially unstructured and noisy so that they can no longer contribute to improving the resolution of the evoked retinal activity pattern (figure 6(a), parameter combination 1). This observation implies that over-fitting in the presence of noise could be avoided by excluding eigenvectors associated with eigenvalues of small magnitude in calculating the pseudoinverse. However, as seen in figure 5, the use of fewer eigenvectors can reduce the accuracy of the solution by placing an upper limit on the spatial frequencies of eigenvectors used. It was therefore necessary to test the effect of using a different fraction of eigenvalues under the full range of parameters (figure 6(d)).

Each of the parameters $\rho $ , and $ \newcommand{\e}{{\rm e}} \eta $ were given six values covering the ranges, $0.05<\rho <0.3$ , and $ \newcommand{\e}{{\rm e}} 0.05<\eta <0.3$ , and $\sigma $ was given values such that $1<\gamma <16$ , giving 216 parameter combinations, and these were tested with three different electrode numbers ${{N}_{{\rm e}}}$   =  2, 8, and 32 making a total of 648 different combinations of the four dimensions. These 648 combinations can be thought of as representing potential devices.

For each of these 648 devices, the mean value of ${{\varepsilon }_{{\rm d}}}$ across 32 images, ${{\varepsilon }_{{\rm d}32}}$ , was calculated for each value of ${{F}_{{\rm eig}}}$ and then divided by the smallest ${{\varepsilon }_{{\rm d}32}}$ for all ${{F}_{{\rm eig}}}$ for that combination of parameters. This is referred to as the 'Normalized ${{\varepsilon }_{{\rm d}32}}$ '. Each parameter combination can be thought of as creating the conditions for a specific device. The normalization was undertaken because the aim was to find the best choice of ${{F}_{{\rm eig}}}$ for a given device, independent of the absolute value of ${{\varepsilon }_{{\rm d}32}}$ for that device for different values of ${{F}_{{\rm eig}}}$ .

It was found that the choice of ${{F}_{{\rm eig}}}$   =  0.6 led to an acceptable result under all devices explored (figure 6(d)). In the worst case device, it led to a 27% increase in the ${{\varepsilon }_{d32}}$ compared to the best choice of ${{F}_{{\rm eig}}}$ for that device (figure 6(d)). This value of ${{F}_{{\rm eig}}}$ was used for all other calculations in the present investigation.

Figure 7 compares the linear inversion and conventional algorithms under different activation spread conditions by varying the values of $\sigma $ and ${{n}_{{\rm e}}}$ . The conventional and linear inversion algorithms gave different results for different electrode overlaps. For narrow activation spreads (first row in figure 7), an increase in electrode density for both the conventional and linear inversion algorithms reduced error, ${{\varepsilon }_{{\rm d}}}$ , in the resulting retinal activation patterns. However, the same does not apply under wide activation spreads (last row, figure 7).

Figure 7.

Figure 7. Qualitative comparison of the conventional and linear inversion algorithms under different activation spread conditions and electrode densities. ${{n}_{{\rm d}}}=200$ , ${{n}_{{\rm t}}}=60$ , $ \newcommand{\e}{{\rm e}} \rho =0.05,\eta =0.05,{{F}_{{\rm eig}}}=0.6$ . (a) For ${{n}_{{\rm e}}}=2$ three different values of $\sigma $ were used. For each value of $\sigma $ the three plots show the outcome using the conventional approach (left) and linear inversion approach (middle), and a quantitative comparison of the mean retinal activation across the image (right) (b) ${{n}_{{\rm e}}}=8$ . (c) ${{n}_{{\rm e}}}=32$ .

Standard image High-resolution image

The conventional algorithm's error value does not change with the number of electrodes $({{\varepsilon }_{{\rm d}}}=0.043)$ . In contrast, the linear inversion algorithm can utilize additional electrodes to shape the total current (${{\varepsilon }_{{\rm d}}}=0.043\to {{\varepsilon }_{{\rm d}}}=0.030$ ). This apparent difference between the conventional and linear inversion algorithms was also explored quantitatively; the parameters $\sigma $ , $\rho $ , and $ \newcommand{\e}{{\rm e}} \eta $ were given three values covering the previous ranges, giving 27 parameter combinations. The value of ${{\varepsilon }_{{\rm d}32}}$ for the conventional and linear inversion algorithms was calculated for electrode numbers (${{n}_{{\rm e}}}$ ) between 2 and 32 (figures 8(a) and (b)).

Figure 8.

Figure 8. Quantitative comparison of the conventional and linear inversion algorithms under 27 different activation spread conditions and electrode densities. ${{n}_{{\rm d}}}=100$ , ${{n}_{{\rm t}}}=40$ , ${{n}_{{\rm e}}}=8$ , ${{F}_{{\rm eig}}}=0.6$ . (a) The ${{\varepsilon }_{{\rm d}32}}$ for the conventional algorithm and (b) the linear inversion algorithm. (c) The ${{\varepsilon }_{{\rm d}32}}$ of the linear inversion algorithm divided by the ${{\varepsilon }_{{\rm d}32}}$ of the conventional algorithm for each parameter combination. In each plot the dashed curves are associated with 'narrow spread' conditions (γ  <  1). The solid curves show 'wide spread' conditions (γ  >  1). Note that changes in either $\rho $ or $ \newcommand{\e}{{\rm e}} \eta $ do not influence the outcome of the conventional algorithm; this leads to degeneracy and the 27 simulations overlap, leaving the three lines associated with the three values of $\sigma $ , two of these lie an indistinguishable distance from one another (a). This effect is not seen in the linear inversion algorithm, which is sensitive to variation, noise, and activation spread (b).

Standard image High-resolution image

The accuracy of the conventional algorithm appears to improve with increasing number of electrodes until the stimulation overlap reaches a certain level and then the improvement ceases (figure 8(a)). In contrast, the linear inversion algorithm shows reducing improvement in ${{\varepsilon }_{{\rm d}32}}$ with increasing number of electrodes (figure 8(b)).

The ratio of the ${{\varepsilon }_{{\rm d}32}}$ for the conventional and linear inversion algorithms (figure 8(c)) demonstrates that, for γ  >  1, the linear inversion algorithm provides lower ${{\varepsilon }_{{\rm d}32}}$ in most circumstances. The exception is under the highest activation spread, $\sigma =1$ , and highest measurement noise, $ \newcommand{\e}{{\rm e}} \eta =0.3$ , parameter combination.

Quadratic program with linear constraints on the electrode amplitudes

Figure 9 shows the results of linear inversion under a range of noise and current-spread conditions. In the case with no noise, $ \newcommand{\e}{{\rm e}} \eta =0$ , the linear inversion algorithm produces a solution in which the electrodes take high amplitudes. For illustration purposes, we select a value of 2 as the maximum value, ${{s}_{\max }}$ , twice the value of 1, which produces the maximum retinal activation of 1. So each element of $\vec {b}$ is set to be 2. With this selection it can be seen that under certain parameter combinations the electrodes exceed this maximum (box in figure 9). This is because wide activation spread and low noise conditions lead to very small eigenvalues being used in the pseudoinverse (figure 5(a), parameter combination 4). Use of a quadratic program with linear constraints on the electrode amplitudes can eliminate the high electrode amplitudes that arise using linear inversion seen in figure 9.

Figure 9.

Figure 9. The effects of wide activation spread in low estimation noise and low variation ($\rho =0$ ) conditions. ${{n}_{{\rm d}}}=100$ , ${{n}_{{\rm t}}}=60$ , ${{n}_{{\rm e}}}=16$ , ${{F}_{{\rm eig}}}=0.6$ . The box indicates the case where the linear inverstion algorithm produces electrode strengths higher than the maximum allowed amplitude of 2 (The dark grey and light grey values that exceed the  +2 and 22122 values, respectively).

Standard image High-resolution image

Figure 10 compares the linear inversion and quadratic program solutions at both high noise, $ \newcommand{\e}{{\rm e}} \eta =1$ , and low noise, $ \newcommand{\e}{{\rm e}} \eta ={{10}^{-5}}$ , conditions.

Figure 10.

Figure 10. Performance of the Linear Inversion and Quadratic Program algorithms under low estimation noise, and zero variability conditions. (a) Qualitative results showing the electrode activation pattern and the retinal activation pattern. The dark grey and light grey values that exceed the  +2 and  −2 values, respectively. The dark blue and dark red colors represent electrodes equal to  +2 and  −2, respectively. (b) Quantitative results ${{\varepsilon }_{{\rm d}32}}$ and ${{s}_{\max }}$ of the Linear Inversion and Quadratic Program algorithms as a function of the estimation noise. The horizontal line shows the maximum allowable electrode amplitude, ${{s}_{\max }}$   =  2. ${{n}_{{\rm d}}}=100$ , ${{n}_{{\rm t}}}=40$ , ${{n}_{{\rm e}}}=16$ , $\rho =0,\sigma =0.2,{{F}_{{\rm eig}}}=0.6$ .

Standard image High-resolution image

In the case of the linear inversion algorithm, low estimation noise and wide activation spread led to the selection of high-amplitude electrodes (figure 10(a)). However under the same conditions, the quadratic program avoided high electrode amplitudes while the value of $E$ increased only marginally, (${{\varepsilon }_{{\rm d}}}=0.012\to {{\varepsilon }_{{\rm d}}}=0.014$ ), (figure 10(b)). These results were examined quantitatively across the same range using the value ${{\varepsilon }_{{\rm d32}}}$ (figure 10(b)). It can be seen (dashed red line in figure 10(b)) that the quadratic program avoids the increase in electrode amplitude with reduced noise, $ \newcommand{\e}{{\rm e}} \eta <0.05$ . In both the qualitative (figure 10(a)) and quantitative (figure 10(c)) analyses it can be seen that increase in ${{\varepsilon }_{{\rm d32}}}$ that results from limiting the electrode amplitude is small. It can also be seen that outside these low-noise circumstances the quadratic program gives an identical outcome to the linear inversion algorithm by using the same restricted eigenvalue version of ${{{\bf W}}_{{\bf t}}}$ , with ${{F}_{{\rm eig}}}=0.6$ . The quadratic program avoids overfitting in the case of high noise wide activation spread conditions and also places an explicit limit on the amplitudes of the electrodes, avoiding overstimulation in low noise, wide activation spread conditions.

The limitation of the quadratic program approach is computational cost. In MATLAB, the process of calculating the electrode pattern for a single image using the quadratic program inverse model was ~1 s, which compares to the linear inversion time of ~ $1$ ms, and the conventional algorithm time of ~10 ms.

Binary quadratic program for partitioning the target retinal activation pattern

In calculating the linear inversion and the quadratic program solutions, the modulus operation in equation (5) was removed to allow for simple linear inversion equation (9). This decision limited those two algorithms to use only positive generator signal values to induce retinal activation (positive values of ${{G}_{i}}$ in figure 1(A)). Partitioning the target retinal activation pattern into positive and negative regions restores the modulus present in equation (5), allowing for retinal activation to be induced by either a positive or negative generator signal (figure 1(a)).

Figures 11(a)(d) shows examples of target retinal activity patterns, $\vec {r}_{{\rm t}}^{*}$ , potential beneficial partitions of these patterns, $\vec {p}_{{\rm t}}^{*}$ , and the resulting retinal activation pattern using linear inversion, ${{\vec {r}}_{{\rm t}}}$ . Borders between positive and negative regions of the generator signal pattern appear in the retinal activation pattern as closed loops of zero retinal activity. This is because the generator signal values must pass through zero between regions of positive and negative values, for example see figure 11(c).

Figure 11.

Figure 11. Schematic illustration of the effects of partitioning of the target retinal activation pattern. The four columns show a target retinal activity patterns, $\vec {r}_{{\rm t}}^{*}$ , then a potential partitioned target pattern, $\vec {p}_{{\rm t}}^{*}$ , and the resulting retinal activation pattern for each case, ${{\vec {r}}_{{\rm t}}}$ . The resulting activity is after applying the modulus in equation (5), so the result is ${{\vec {r}}_{{\rm t}}}$ , not ${{\vec {p}}_{{\rm t}}}$ . In the partition, $\vec {p}_{{\rm t}}^{*}$ , red and blue indicate the polarity of the partitioned target generator signal. (a) and (b) Two beneficial partitions. (c) and (d) Potential beneficial partitioned target retinal activations that lead to artifacts or ambiguity in the solution.

Standard image High-resolution image

The fractures in the solutions derived from a partitioned target can lead to lower ${{\varepsilon }_{{\rm d}32}}$ in cases where the original target possesses such features (figures 11(a) and (b)). However, there are two ways in which partitioning could create ambiguities and artefactual features in the solution. In the first case, a partition assists to more accurately create an unclosed line of zero retinal activity in the target activation pattern, but the partition border must be a closed loop, and this leads to an artifact by creating a line of zero retinal activity where none exists (figure 11(c)). In the second case, the configuration of a closed loop in the target image may allow for a beneficial partition, but fails to do the same in an equivalent line (figure 11(d)). In target retinal activation patterns based on natural images, these two problems may not be encountered frequently. For example, in natural images, the algorithm may take advantage of ambiguities in the target patterns (figure 11(b)).

The binary quadratic program, solved using a Hopfield network with simulated annealing, was applied to the same 32 images throughout this investigation. Figures 12(a)(e) compares a sample of the lowest and highest ${{\varepsilon }_{{\rm d}}}$ outcomes of using partitions to the results without a partition. Figure 12(e) shows the histogram of the difference in ${{\varepsilon }_{{\rm d}}}$ for each of the 32 images used.

Figure 12.

Figure 12. The results of using a binary quadratic program to partition the target retinal activation pattern before applying linear inversion. (a) Desired retinal activation pattern. (b) Target retinal activation pattern without partitioning. (c) Partitioned target retinal activation pattern. Red and blue indicated the polarities of the target generator signal (same as figure 10). (d) The model retinal activation pattern based on the unpartitioned target. (e) The model retinal activation pattern based on the partitioned target. (f) The % change in E with the application of partitioned target retinal activation pattern. ${{n}_{{\rm d}}}=100$ , ${{n}_{{\rm t}}}=20$ , ${{n}_{{\rm e}}}=6$ , $ \newcommand{\e}{{\rm e}} \rho =0.05,\eta =0.05,\sigma =0.2,{{F}_{{\rm eig}}}=0.6$ .

Standard image High-resolution image

In 6 out of the 32 images the partition led to a detrimental outcome as measured by ${{\varepsilon }_{{\rm d}}}$ . In 15 out of the 32 images the best outcome resulted from an unpartitioned target pattern. However improvements in ${{\varepsilon }_{{\rm d}}}$ were found 11 out of 32 images (figure 12). Examination of the most detrimental partitions, as measured by the value of ${{\varepsilon }_{{\rm d}}}$ (figures 12(a)(e) bottom two rows), reveals that in qualitative terms, the result of partitioning is not necessarily worse than without.

The process of simulated annealing cycles of the Hopfield network for each image requires a large computational investment of ~100 s in MATLAB for each image.

Discussion

Using global shaping algorithms under wide activation spread conditions (γ  >  1) it was found that the performance parameter, ${{\varepsilon }_{{\rm d}32}}$ , was substantially reduced over a range of device parameters when compared to the conventional algorithm. In contrast to the conventional algorithm, global shaping approaches improve the accuracy of the results even at high electrode densities. This result is significant because it demonstrates that, in principle, there is no intrinsic limit on the electrode spread relative to electrode spacing. Under the conventional algorithm, the resolution of the retinal activation pattern approaches the limit set by the current spread associated with each electrode (figure 8(A)) and, under global current-shaping, the limit is set by the spacing between electrodes (figure 8(B)). This means that the approach proposed in this paper allows calculation of the benefits of increasing electrode density. This information can then be balanced against the associated costs of large numbers of electrodes.

The linear inversion algorithm has a low computation requirement; calculation of the pseudoinverse is made for a given device, and subsequent image-by-image calculation is a simple matrix multiplication. The algorithm was made robust to noise by selection of the eigenvectors used in the pseudoinverse. However, linear inversion was susceptible to a low-noise condition in which it provided electrode settings of extremely high amplitude. The quadratic program could be used under these conditions to explicitly limit the electrode amplitudes, however the image-by-image calculation requires significantly more computation than linear inversion. Consequently, in the case with low-estimation noise and wide activation spread, the quadratic program should be used. However, if the estimation noise is high, linear inversion combined with eigenvalue selection may be sufficient, and requires much less computational resources.

The binary quadratic program creates an initial partition of the target retinal activation pattern by an NP-hard optimization algorithm for each image. This is a very significant computational investment. The benefit of this choice is access to a new set of solutions that cannot be found by the linear inversion or quadratic program. These solutions are those that include high-contrast lines or fractures. It is likely that the value of this approach varies with the device parameters set, and this parameter exploration is a topic for future investigation. Our approach to solving this problem involved the use of a Hopfield network combined with a systematic cycle of simulated annealing. However, this problem may also be amenable to solution using an artificial neural network trained using a target retinal activation vector as input and the partitioning vector as output. The benefit of using an artificial neural network is that the final trained network would be able to partition images with higher computational speed.

The selection of eigenvectors influences the capacity of the pseudoinverse to fit electrodes to spatial frequencies in the target retinal activity patterns (figure 5). This influences the accuracy of some target patterns more than others. For example, with fewer eigenvectors, target patterns with high spatial frequencies will not be as easily achieved as those with low spatial frequencies. Future work on eigenvalue selection could examine how the statistics of the spatial frequencies in natural images compare to the statistics of the spatial frequencies in the eigenvectors in the SVD associated with different devices.

The number of eigenvectors used was selected to be a constant ${{F}_{{\rm eig}}}=0.6$ independent of the device parameters (figure 5(D)). This was done for simplicity in the present investigation. However, for further reductions in ${{\varepsilon }_{{\rm d32}}}$ the eigenvalue selection could be made device specific by developing a function $ \newcommand{\e}{{\rm e}} {{F}_{{\rm eig }~ }}({{n}_{{\rm e}}},\sigma ,\eta ,\varphi)$ . Exploration of device-dependent eigenvalue selection is a useful topic for future investigation.

In the present investigation, natural image intensities were used as the basis for target retinal activation. This was sufficient for a proof of principle in the current investigation. It is observed that many subpopulations of retinal cells are not sensitive to the overall image intensity, but to edges in perceived images [36]. A potential model of this effect would use natural images passed through a whitening filter as the target retinal activation pattern. These kind of target images typically contain large regions of low retinal activity punctuated by filaments of high retinal activity. These patterns are associated with high spatial frequencies, and so may benefit from the inclusion of high spatial frequency eigenvectors in calculating the pseudoinverse. This process merits careful future exploration due to the fact that the present investigation suggests that eigenvectors containing high spatial frequencies are those that are corrupted by noise and also lead to high amplitude electrode solutions. In addition, the partitioning approach taken using the binary quadratic program seems unsuited to these kind of filamented target patterns. This is because that partitioning approach allows solutions that have thin sections of low retinal activity between wide areas of high-activity. However, these whitened images that emphasize edges may still be useful in conveying more useful information than unwhitened images.

This paper used a rate code model of retinal activation rather than a temporal code. However, electrical stimulation of the retina does not create a straightforward temporal step change in retinal activation [37]. This is partly due to the fact that there is both direct electrical activation of retinal ganglion cells, as well as network effects that create temporal dynamics through subsequently generated activation of the retinal ganglion cells at a lower amplitude. These temporal effects may lead to the transfer matrix being a function of time, ${{{\bf W}}_{{\bf d}}}(t)$ . There are also differential effects on separate populations of neurons within the retina [38]. This could be modeled as a set of population-dependent and time-dependent transfer matrices and a set of population-dependent and time-dependent target patterns {(${{\boldsymbol{W}}_{{\bf d},1}},{{\boldsymbol{W}}_{{\bf d},2}}\ldots $ ), ($\vec {r}_{\boldsymbol{d},1}^{*},\vec {r}_{\boldsymbol{d},2}^{*},~\ldots $ )}. In the present investigation these time-dependent and population-dependent factors were put aside to investigate the global-current shaping aspects of the problem. This decision was justified because (a) a shaping model that does include these elements will depend upon the results of the current investigation; (b) it is expected that even ignoring these other factors, the results of the present investigation could be applied with some success.

The influence of each electrode on the retinal activation was modeled as circular 2D-Gaussians with small perturbations. In a more realistic model these functions could be more complex shapes and each electrode could be given a unique spread based on retinal activation measurements made by the stimulating array itself. This would be particularly useful to model the elongated generator signal patterns that may arise due to the fact that the retinal tissue is anisotropic [39]. The electrode locations too could be varied to reflect some designs in which hexagonal patterns are used. Though these variations were not part of the current investigation, equation (4) could be easily modified to include these effects in construction of the matrix ${{\boldsymbol{W}}_{{\bf d}}}$ .

An additional consideration was the fact that the use of Gaussians implies the activation spread from each electrode extends indefinitely. This is part of what leads to very small eigenvalues, and consequently the production of extremely high amplitude electrode settings under low-noise conditions when using linear inversion. An alternative model could avoid this if it is justifiable to accurately model the true influence of each electrode using spatially limited functions that terminate to 0 amplitude at some distance from the electrode.

In the forward model, it was assumed that the sigmoidal nonlinearity $f({{x}_{i}})$ (figure 1(A)) could be modeled as a rectified linear function. This over-estimates the effect of each electrode under high generator signal values where it results in unrealistically high retinal activation values. This apparently large discrepancy does not result in large errors because the target retinal activation pattern has a maximum value of 1, limiting the function $f({{x}_{i}})$ to the regime in which the difference between the sigmoidal curve and the rectified linear curve are small. Despite this, the rectified linear curve assumption does prevent the use of high generator signal values to induce values of retinal activation close to 1. This may mean that the solutions provided in this paper spend effort unnecessarily attenuating the generator signal towards 1, when much higher values would have been acceptable under the 'true' sigmoidal nonlinearity. In addition, in some cases, nonmonotonic activation functions have been observed [40]. These do not present a problem for the methods presented in this paper if, within a low generator function amplitude domain, the nonmonotonic response can be approximated by a rectified linear function.

In some experimental measurements the final nonlinearity $f({{x}_{i}})$ shown in figure 1(A) is not symmetrical; negative currents induce a different retinal activation than positive total currents of the same magnitude [31]. This consideration does create a problem in the case of the binary quadratic program, since this partition approach does assume symmetry. It may be that the asymmetry is small in which case the partition approach can continue to be used; otherwise, an alternative form of 'quantitative partition' or filter could be used. For example a quadratic program could be used to calculate both the sign and magnitude of the filter to apply to the target before applying linear inversion.

Global shaping intrinsically requires simultaneous stimulation by all electrodes to achieve the shaping effect. In addition, under wide activation spread conditions the amplitudes of the individual electrode activations is typically higher than those associated with the conventional algorithm. These two qualities require high power throughput to the device; if a global shaping strategy is used then this cost will have to be balanced against the perceptual benefits provided by the algorithm.

This investigation used the RMS error ${{\varepsilon }_{{\rm d}}}$ as the basis for assessment of the success of the outcomes. The methods themselves were developed using another RMS error function ${{\varepsilon }_{{\rm t}}}$ . In some circumstances this approach can produce distracting artifacts (figures 10(c) and (d)). An alternative approach would use a measure of visual saliency in an attempt to capture the impact of particular features of the target retinal activation pattern that are present in the modeled outcome and vice versa.

Acknowledgments

This project was supported by the Australian Research Council's Discovery Projects funding scheme (Project DP140104533). HM acknowledges funding from the Australian Research Council Centre of Excellence for Integrative Brain Function (Project CE140100007). HM, TK, DBG, and ANB acknowledge partial support of NHMRC Project grant 1106390.

Please wait… references are loading.
10.1088/1741-2552/aaf071