berard - thesis

85
DIPOLE SOURCE LOCALIZATION USING ARTIFICIAL NEURAL NETWORKS FOR A HIGH DEFINITION REALISTIC HEAD MODEL BY STEVEN BERARD A dissertation submitted to the Graduate School in partial fulfillment of the requirements for the degree Master of Science Major Subject: Electrical Engineering New Mexico State University Las Cruces New Mexico December 2013

Upload: steven-berard

Post on 21-Jan-2017

84 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Berard - Thesis

DIPOLE SOURCE LOCALIZATION USING

ARTIFICIAL NEURAL NETWORKS FOR A

HIGH DEFINITION REALISTIC HEAD MODEL

BY

STEVEN BERARD

A dissertation submitted to the Graduate School

in partial fulfillment of the requirements

for the degree

Master of Science

Major Subject: Electrical Engineering

New Mexico State University

Las Cruces New Mexico

December 2013

Page 2: Berard - Thesis

“Dipole Source Localization Using Artificial Neural Networks for a High Definition

Realistic Head Model,” a thesis prepared by Steven Berard in partial fulfillment

of the requirements for the degree, Master of Science, has been approved and

accepted by the following:

Linda LaceyDean of the Graduate School

Dr. Kwong NgChair of the Examining Committee

Date

Committee in charge:

Dr. Kwong Ng, PhD, Chair

Dr. Dr. Nadipuram Prasad, PhD

ii

Page 3: Berard - Thesis

ACKNOWLEDGMENTS

I would like to thank my advisor, Dr. Kwong Ng, for his encouragement,

advice, and support for the last two years, Dr. Prasad for making me believe

that anything is possible, my parents for always believing in me and helping me

succeed even when I would get in my own way, Dr. Ranade, Dr. De Leon, and the

NMSU College of Engineering for the opportunity to work as a TA while I finished

this, all my professors for helping prepare for this moment, and my wonderful EE

161 students for always testing me and giving me something to brag about. I also

want to send out a special thank you to Dr. Gert Van Hoey who helped me find

my way when I was most lost.

iii

Page 4: Berard - Thesis

VITA

January 5, 1985 Born in Lancaster, California

January 2008 - December 2009 B.A. in Finance, New Mexico StateUniversity, Las Cruces, NM

August 2012 - December 2013 Graduate Student, New Mexico StateUniversity, Las Cruces, NM

January 2012 - May 2013 Teaching Assistant, New Mexico StateUniversity, Las Cruces, NM

PROFESSIONAL AND HONORARY SOCIETIES

IEEE Student Member

Eta Kappa Nu

PUBLICATIONS

None

iv

Page 5: Berard - Thesis

ABSTRACT

DIPOLE SOURCE LOCALIZATION USING

ARTIFICIAL NEURAL NETWORKS FOR A

HIGH DEFINITION REALISTIC HEAD MODEL

BY

STEVEN BERARD

Master of Science

New Mexico State University

Las Cruces, New Mexico, 2013

Dr. Kwong Ng, PhD, Chair

It is desired to determine the source of electrical activity in the human brain

with accuracy in real time. Artificial neural networks have been shown do this

in brain-like models, however there are only a limited number of studies on this

subject, and the models used have been of low resolution or simplified geometries.

This paper presents the findings from testing several different neural network

configurations’ ability to source localize within a high fidelity realistic head model

with a resolution of 1 mm × 1 mm × 1 mm with and without noise.

v

Page 6: Berard - Thesis

CONTENTS

LIST OF TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x

LIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv

1 INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 THEORY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2.1 FNS: Finite Difference Neuroelectromagnetic Modeling Software . 3

2.2 Artificial Neural Networks . . . . . . . . . . . . . . . . . . . . . . 4

2.2.1 Backpropagation . . . . . . . . . . . . . . . . . . . . . . . 7

2.2.2 Levenberg-Marquardt Backpropagation . . . . . . . . . . . 8

3 APPROACH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.1 2D Headmodel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2 Realistic Head Model - Homogeneous Brain Region . . . . . . . . 15

3.3 Realistic Head Model - Complex . . . . . . . . . . . . . . . . . . . 17

4 RESULTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.1 2D Head Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.2 Realistic Head Model - Homogeneous Brain Region . . . . . . . . 24

4.3 Realistic Head Model - Complex . . . . . . . . . . . . . . . . . . . 29

4.3.1 32 Sensor Configuration - Grid Pattern Training . . . . . . 29

4.3.2 32 Sensor Configuration - Random Pattern Training . . . . 34

vi

Page 7: Berard - Thesis

4.3.3 64 Sensor Configuration - Grid Pattern Training . . . . . . 41

4.3.4 64 Sensor Configuration - Random Pattern Training . . . . 46

4.3.5 128 Sensor Configuration - Grid Pattern Training . . . . . 53

4.3.6 128 Sensor Configuration - Random Pattern Training . . . 57

5 DISCUSSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

6 CONCLUSION . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

vii

Page 8: Berard - Thesis

LIST OF TABLES

1 Conductivities for Realistic Head Model with Homogeneous Brain

Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2 Results for 2D Head Model Network 32-30-30-4 . . . . . . . . . . 21

3 Results for Realistic Head Model with Homogeneous Brain Region

(No Noise) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4 Results for Realistic Head Model with Homogeneous Brain Region

(30 dB SNR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5 Results for Realistic Head Model with Homogeneous Brain Region

(20 dB SNR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

6 Results for Realistic Head Model with Homogeneous Brain Region

(10 dB SNR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

7 Results for Realistic Head Model - Complex 32 Sensors (No Noise) 30

8 Results for Realistic Head Model - Complex 32 Sensors (30 dB SNR) 30

9 Results for Realistic Head Model - Complex 32 Sensors (20 dB SNR) 32

10 Results for Realistic Head Model - Complex 32 Sensors (10 dB SNR) 32

11 Results for Realistic Head Model - Complex 32 Sensors (No Noise)

Random Training Pattern . . . . . . . . . . . . . . . . . . . . . . 36

viii

Page 9: Berard - Thesis

12 Results for Realistic Head Model - Complex 32 Sensors (30 dB

SNR) Random Training Pattern . . . . . . . . . . . . . . . . . . . 37

13 Results for Realistic Head Model - Complex 32 Sensors (20 dB

SNR) Random Training Pattern . . . . . . . . . . . . . . . . . . . 38

14 Results for Realistic Head Model - Complex 32 Sensors (10 dB

SNR) Random Training Pattern . . . . . . . . . . . . . . . . . . . 39

15 Results for Realistic Head Model - Complex 64 Sensors (No Noise) 41

16 Results for Realistic Head Model - Complex 64 Sensors (30 dB SNR) 42

17 Results for Realistic Head Model - Complex 64 Sensors (20 dB SNR) 42

18 Results for Realistic Head Model - Complex 64 Sensors (10 dB SNR) 44

19 Results for Realistic Head Model - Complex 64 Sensors (No Noise)

Random Training Pattern . . . . . . . . . . . . . . . . . . . . . . 48

20 Results for Realistic Head Model - Complex 64 Sensors (30 dB

SNR) Random Training Pattern . . . . . . . . . . . . . . . . . . . 49

21 Results for Realistic Head Model - Complex 64 Sensors (20 dB

SNR) Random Training Pattern . . . . . . . . . . . . . . . . . . . 50

22 Results for Realistic Head Model - Complex 64 Sensors (10 dB

SNR) Random Training Pattern . . . . . . . . . . . . . . . . . . . 51

23 Results for Realistic Head Model - Complex 128 Sensors (No Noise) 53

24 Results for Realistic Head Model - Complex 128 Sensors (30 dB

SNR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

ix

Page 10: Berard - Thesis

25 Results for Realistic Head Model - Complex 128 Sensors (20 dB

SNR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

26 Results for Realistic Head Model - Complex 128 Sensors (10 dB

SNR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

27 Results for Realistic Head Model - Complex 128 Sensors (No Noise)

Random Training Pattern . . . . . . . . . . . . . . . . . . . . . . 59

28 Results for Realistic Head Model - Complex 128 Sensors (30 dB

SNR) Random Training Pattern . . . . . . . . . . . . . . . . . . . 60

29 Results for Realistic Head Model - Complex 128 Sensors (20 dB

SNR) Random Training Pattern . . . . . . . . . . . . . . . . . . . 61

30 Results for Realistic Head Model - Complex 128 Sensors (10 dB

SNR) Random Training Pattern . . . . . . . . . . . . . . . . . . . 62

x

Page 11: Berard - Thesis

LIST OF FIGURES

1 Example of a Single Neuron . . . . . . . . . . . . . . . . . . . . . 5

2 Example of a Single Layer of Neurons . . . . . . . . . . . . . . . . 6

3 Example of a Three Layer of Neural Network . . . . . . . . . . . . 7

4 Example of a Single Dipole in a 2D Airhead Model . . . . . . . . 13

5 Sensor and Training Dipole Locations for 2D Homogeneous Head

Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

6 FMRI Image Used for Realistic Head Model (ITK-SNAP [13]) . . 16

7 Sensor Placement for 32 Electrodes . . . . . . . . . . . . . . . . . 17

8 Sensor Placement for 64 Electrodes . . . . . . . . . . . . . . . . . 19

9 Sensor Placement for 128 Electrodes . . . . . . . . . . . . . . . . 19

10 Location Error With and Without Added Noise for Airhead 32-

30-30-4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

11 Location Error Distribution With and Without Added Noise for

2D Head Model with Network Configuration: 32-30-30-6 . . . . 23

12 Location Error With and Without Added Noise for Realistic Head

Model with Homogeneous Brain Tissue with Network Configura-

tion: 32-30-30-6. The figures on the right restrict the voxels tested

to a 50 mm radius from the centroid. . . . . . . . . . . . . . . . . 26

xi

Page 12: Berard - Thesis

13 Location Error Distribution With and Without Added Noise for

Realistic Head Model with Homogeneous Brain Tissue with Net-

work Configuration: 32-30-30-6 . . . . . . . . . . . . . . . . . . 28

14 Location Error With and Without Added Noise for Realistic Head

Model with Network Configuration: 32-30-30-6 (Grid Pattern

Training). The figures on the right restrict the voxels tested to

a 50 mm radius from the centroid. . . . . . . . . . . . . . . . . . . 31

15 Location Error Distribution With and Without Added Noise for

Realistic Head Model with Network Configuration: 32-30-30-6

(Grid Pattern Training) . . . . . . . . . . . . . . . . . . . . . . . 33

16 Location Error With and Without Added Noise for Realistic Head

Model with Network Configuration: 32-30-30-6 (Random Pattern

Training). The figures on the right restrict the voxels tested to a

50 mm radius from the centroid. . . . . . . . . . . . . . . . . . . . 35

17 Location Error Distribution With and Without Added Noise for

Realistic Head Model with Network Configuration: 32-30-30-6

(Random Pattern Training) . . . . . . . . . . . . . . . . . . . . . 40

18 Location Error With and Without Added Noise for Realistic Head

Model with Network Configuration: 64-30-30-6 (Grid Pattern

Training). The figures on the right restrict the voxels tested to

a 50 mm radius from the centroid. . . . . . . . . . . . . . . . . . . 43

xii

Page 13: Berard - Thesis

19 Location Error Distribution With and Without Added Noise for

Realistic Head Model with Network Configuration: 64-30-30-6

(Grid Pattern Training) . . . . . . . . . . . . . . . . . . . . . . . 45

20 Location Error With and Without Added Noise for Realistic Head

Model with Network Configuration: 64-30-30-6 (Random Pattern

Training). The figures on the right restrict the voxels tested to a

50 mm radius from the centroid. . . . . . . . . . . . . . . . . . . . 47

21 Location Error Distribution With and Without Added Noise for

Realistic Head Model with Network Configuration: 64-30-30-6

(Random Pattern Training) . . . . . . . . . . . . . . . . . . . . . 52

22 Location Error With and Without Added Noise for Realistic Head

Model with Network Configuration: 128-45-45-6 (Grid Pattern

Training) The figures on the right restrict the voxels tested to a 50

mm radius from the centroid. . . . . . . . . . . . . . . . . . . . . 55

23 Location Error Distribution With and Without Added Noise for

Realistic Head Model with Network Configuration: 128-45-45-6

(Grid Pattern Training) . . . . . . . . . . . . . . . . . . . . . . . 56

24 Location Error With and Without Added Noise for Realistic Head

Model with Network Configuration: 128-30-30-6 (Random Pat-

tern Training). The figures on the right restrict the voxels tested

to a 50 mm radius from the centroid. . . . . . . . . . . . . . . . . 58

xiii

Page 14: Berard - Thesis

25 Location Error Distribution With and Without Added Noise for

Realistic Head Model with Network Configuration: 128-30-30-6

(Random Pattern Training) . . . . . . . . . . . . . . . . . . . . . 63

xiv

Page 15: Berard - Thesis

1 INTRODUCTION

The brain is widely recognized as the main controller of the human body. It

is also extremely hard to study without causing harm to the subject. Electroen-

cephalography (EEG) is a promising method for studying the way the brain works

using only passive means of observation. Unfortunately there is still the problem

of interpreting the data that we receive from EEG readings into accurate data

that we can use.

Source location is a significant problem due to the fact that it is ill posed.

Given a set of potentials for the electrodes there is an infinite number of possible

dipole strengths and locations that could have created this data set. There have

been many proposed solutions to this problem: iterative techniques, beamforming,

and artificial neural networks. Iterative techniques require immense amounts of

computations to arrive at their solutions and are not very robust to noise [2].

Beamformers have been shown to localize well with and without the presence of

noise [4], however they are still rather computationally intensive and are difficult

to impossible to perform in real time. Artificial neural networks (ANNs) could

provide us with a solution that is robust to noise [1][2][10][14][15] and can make

accurate location predictions fast enough to work in real time [10].

The ability to accurately detect brain activity location in real time could

lead to breakthroughs in psychology and thought activated devices. At the time of

1

Page 16: Berard - Thesis

writing I have only found one published article that tests artificial neural networks

with a realistic head model [10]. In said article the model was not as detailed as

models we could create today. While ANNs have been shown to be accurate

enough using simplistic head models, can an ANN show similar results if the head

is more complex, more closely related to our own heads?

2

Page 17: Berard - Thesis

2 THEORY

This paper requires the knowledge of two subjects, the process for which the

forward solution was obtained, Finite Difference Neuroelectromagnetic Modeling

Software (FNS), and the process for which the inverse solution was obtained,

artificial neural networking.

2.1 FNS: Finite Difference Neuroelectromagnetic Modeling Software

The Finite Difference Neuroelectromagnetic Modeling Software (FNS) written

by Hung Dang [3] is a realistic head model EEG forward solution package. It

uses finite difference formulation for a general inhomogeneous anisotropic body

to obtain the system matrix equation, which is then solved using the conjugate

gradient algorithm. Reciprocity is then utilized to limit the number of solutions

to a manageable level.

This software attempts to solve the Poisson equation that governs electric

potential φ:

∇ · (σ∇φ) = ∇ · Ji (1)

where σ is the conductivity and Ji is the impressed current density. It accom-

plishes this using the finite difference approximation for the Laplacian:

3

Page 18: Berard - Thesis

∇ · (σ∇φ)

∣∣∣∣node0

≈6∑

i=1

Aiφi −

(6∑

i=1

Ai

)φ0 (2)

where φi is the potential at node i, and the coefficients Ai depend on conductivities

of the elements and node spacings.

2.2 Artificial Neural Networks

Biological nervous systems are capable of learning and replicating extremely

complex tasks. Artificial neural networks are mathematical models designed to

imitate these biological systems. They are attractive, because they are capable

of establishing input/output relationships with only training data and no prior

knowledge of the system.

An artificial neural network is nothing more than an inter-connected col-

lection of neurons. Each neuron consists of one or more weighted inputs and a bias

that are summed together. This value is then passed through a transfer function.

The transfer function is chosen to satisfy some specification of the problem and

may be linear or nonlinear. Neurons are then organized into layers. A typical

layer contains several neurons that all have the same inputs, however the weights

for these inputs are usually different for each neuron and input. The output for

each layer can be written:

am+1 = fm+1(Wm+1am + bm+1) for m = 0, 1, ...,M − 1,

4

Page 19: Berard - Thesis

The outputs of a layer can be fed into another layer of neurons as many times

as desired. The layer whose output is the network output is called the output

layer and every other layer is called a hidden layer. Some texts use the convention

that the input layer should be counted as a layer when describing the size of a

network, however in this paper the input layer will not be counted in the number

of layers. For example, a neural network with only one hidden layer will be said

to be a two layer network: one for the hidden layer and one for the output layer.

All the networks used in this paper are three layer networks. An example of a

three layer artificial neural network can be seen in Figure 3.

Figure 1: Example of a Single Neuron

Example 2.1. An example of a single neuron can be seen in Figure 1. The 1×R

matrix P contains all the inputs. The R × 1 matrix W contains all the weights.

The variable b is the bias. The scalar a is the output.

5

Page 20: Berard - Thesis

Figure 2: Example of a Single Layer of Neurons

Example 2.2. An example of a single layer of neurons can be seen in Figure 2.

The input matrix P remains a 1×R matrix, however the weight matrix becomes

an R × S matrix where S is the number of neurons in the layer. This is because

even though each neuron receives the same inputs, the weight applied to each

input is different for each neuron/input combination. The 1×S matrix, A, is the

output.

Example 2.3. An example of a three layer multi-input/multi-output artificial

neural network can be seen in Figure 3. As you can see the outputs from one

layer become the inputs for the next layer. The final equation that ties the input

6

Page 21: Berard - Thesis

Figure 3: Example of a Three Layer of Neural Network

matrix, P , to the output matrix, A3, is

A3 = f 3(W 3f 2(W 2f 1(W 1P + b1) + b2) + b3)

2.2.1 Backpropagation

The best part about neural networks is their ability to replicate complex sys-

tems with only knowing input-output combinations. There are basically two ways

for a network to do this, supervised and unsupervised learning. For this paper we

will focus on supervised learning. The most common form of supervised learning

is the backpropagation method [1]. The backpropagation method uses calculus’

Chain Rule to propagate the mean square error of an input-output pair back

7

Page 22: Berard - Thesis

through a network. Weights and biases are then updated such that the mean

square error is reduced.

Definition 2.1. The basic algorithm for the back propagation method is as fol-

lows:

A0 = P (3)

Am+1 = fm+1(Wm+1Am + bm+1) for m = 0, 1, ...,M − 1 (4)

O = AM (5)

sM = −2FM(nM)(T −O) (6)

sm = Fm(nm)(Wm+1)′sm+1, for m = M − 1, ..., 2, 1 (7)

Wm(k + 1) = Wm(k)− αsm(Am−1)′ (8)

bm(k + 1) = bm(k)− αsm (9)

where T is the target vector, O is the output vector, P is the input vector, W is

the weight matrix, b is the bias matrix, and α is the learning rate. Generally the

learning rate is set to a very low number (e.g., α = 0.1 or 0.01).

2.2.2 Levenberg-Marquardt Backpropagation

All the networks in this paper were trained using the Levenberg-Marquardt

backpropagation algorithm. “The Levenberg-Marquardt algorithm is a variation

8

Page 23: Berard - Thesis

of Newton’s method that was designed for minimizing functions that are sums of

squares of other nonlinear functions” [5]. It is a batch learning algorithm that

can adjust its learning rate in order to find the best weights and biases in the

fewest number of iterations. The main problem with this method is the extreme

memory requirement with larger networks. For example Matlab required around

40 gigabytes of virtual memory during the training of each of the 128-30-30-6

networks discussed in this paper.

Definition 2.2. The Levenberg-Marquardt backpropagation algorithm is as fol-

lows:

1. For Q input-output pairs, run all inputs through the network to obtain the

errors, Eq = Tq − AMq . Then determine the sum of squared errors over all

inputs, F (x).

F (x) =

Q∑q=1

(Tq − Aq)′(Tq − Aq) (10)

9

Page 24: Berard - Thesis

2. Determine the Jacobian matrix:

J(x) =

∂e1,1∂w1

1,1

∂e1,1∂w1

1,2

· · · ∂e1,1∂w1

S1,R

∂e1,1∂b11

· · ·

∂e2,1∂w1

1,1

∂e2,1∂w1

1,2

· · · ∂e2,1∂w1

S1,R

∂e2,1∂b11

· · ·

......

......

∂eSM ,1

∂w11,1

∂eSM ,1

∂w11,2

· · ·∂eSM ,1

∂w1S1,R

∂eSM ,1

∂b11· · ·

∂e1,2∂w1

1,1

∂e1,2∂w1

1,2

· · · ∂e1,2∂w1

S1,R

∂e1,2∂b11

· · ·

......

......

(11)

Calculate the sensitivities:

smi,h ≡∂vh∂nm

i,q

=∂ek,q∂nm

i,q

(Marquardt Sensitivity) where h = (q−1)SM +k (12)

SMq = −FM(nM

q ) (13)

Smq = F (nm

q )(Wm+1)′Sm+1q (14)

Sm =

[Sm1 Sm

2 · · · SmQ

](15)

And compute the elements of the Jacobian matrix:

[J ]h,l =∂vh∂xl

=∂ek,q∂wm

i,j

=∂ek,q∂nm

i,q

×∂nm

i,q

∂wmi,j

= smi,h ×∂nm

i,q

∂wmi,j

= smi,h × am−1j,q

for weight xl (16)

[J ]h,l =∂vh∂xl

=∂ek,q∂bmi

=∂ek,q∂nm

i,q

×∂nm

i,q

∂bmi

= smi,h ×∂nm

i,q

∂bmi= smi,h

for bias xl (17)

10

Page 25: Berard - Thesis

Where:

v′ =

[v1 v2 · · · vN

]=

[e1,1 e2,1 · · · eSM ,1 e1,2 · · · eSM ,Q

] (18)

x′ =

[x1 x2 · · · xN

]=

[w1

1,1 w11,2 · · · w1

S1,R b11 · · · b1S1 w21,1 · · · bMSM

] (19)

3. Solve:

∆xk = −[J ′(xk)J(xk) + µkI]−1J ′(xk)v(xk) (20)

4. Compute F (x), Eq (10), using xk + ∆xk. If the result is less than the

previous F (x) divide µ by ϑ, let xk+1 = xk + ∆xk and go back to step 1. If

not, multiply µ by ϑ and go back to step 3. The variable, ϑ, must be greater

than 1 (e.g., ϑ = 10).

11

Page 26: Berard - Thesis

3 APPROACH

The first step to testing out an artificial neural network on a complex realistic

head model was to test on a simplistic homogeneous model and compare the results

to published findings. The next step was to train and test an ANN for a realistic

head model with less complex conductivities. Finally, I trained and tested several

ANNs for a complex realistic head model. Every network is trained to output

location coordinates and a moment vector. The moment vector is essentially the

direction of the dipole. Both the location and moment vector errors are determined

the same way in this paper:

Error =√

(x− x′)2 + (y − y′)2 + (z − z′)2 (21)

where (x, y, z) and (x′, y′, z′) are the network estimated values and the actual

values respectively. For the 2D headmodel the z and z′ terms are equal to zero.

3.1 2D Headmodel

For this step a simple homogeneous circular two dimensional model needed

to be defined. In order to make it similar to an actual human head two regions

are required: the brain area and the scalp area. The brain area would be the area

where dipoles could be present. The scalp area would be where the sensors could

pick up the potentials created by the dipoles. The brain area was determined to

12

Page 27: Berard - Thesis

have a radius of 6.7 cm. The scalp area was determined to have a radius of 8 cm.

The resolution was determined to be 1 mm × 1 mm. If we consider the entirety

of both circles to be filled with only air the equation to determine the potential

at a given sensor point from a dipole would be:

V =(ds) · (R− R′)|R− R′|3

, where s =qd

4πε0or

Id

4πσ(22)

Example 3.1. A visual representations of this “airhead” can be seen in Figure 4.

In this case the dipole has been placed at X = 90 and Y = 100. The dipole is X

directed. This graphic shows the potential from the dipole at every point in the

brain circle and on the outer scalp circle. The potentials on the scalp have been

multiplied by a factor of 10 in order to make the colors distinguishable.

Figure 4: Example of a Single Dipole in a 2D Airhead Model

Thirty-two scalp nodes were chosen semi-randomly to be the sensor loca-

13

Page 28: Berard - Thesis

tions. Training points were determined by choosing dipole locations in a grid

format with a resolution of 5 mm × 5 mm. All training locations and sensor

locations can be seen in Figure 5. This resulted in 567 training locations. Sensor

values were obtained for each of these locations in all four of the cardinal direc-

tions, +X, −X, +Y , and −Y , resulting in 2,268 total training input-output pairs.

Each of these input-output pairs were presented to a 32-30-30-4 network to train.

Figure 5: Sensor and Training Dipole Locations for 2D Homogeneous Head Model

Once trained our network was subjected to multiple tests. Our ultimate

goal was to test accuracy, so the first test was for each possible dipole location to

set the direction of the dipole to face +X and determine how accurate the network

could determine its actual location and direction. Then noise was added such

that SNR = 10 dB, 20 dB, and 30 dB. Then the tests were conducted with 10,000

dipoles with random location and direction. This case is used to characterize the

14

Page 29: Berard - Thesis

general accuracy of the network. In all cases each dipole was required to have the

same magnitude.

3.2 Realistic Head Model - Homogeneous Brain Region

In order to create a truly realistic head model we must start with an FMRI

image such as can be seen in Figure 6. The FMRI image used had a resolution of

1 mm × 1 mm × 1 mm. The image was segmented using the program, FSL [6].

The segmented image was then fed into FNS [3] to obtain the reciprocity data

for all possible dipole locations at the chosen sensor locations. Sensor locations

were chosen according to the International 10-20 system for 32 electrodes. The

placement of these sensors can be seen in Figure 7. In order to make the brain

area homogeneous the conductivity of the white matter was changed to that of

grey matter. The conductivities can be seen in Table 1.

Once the reciprocity data had been obtained training dipole locations and

directions were chosen. Training locations were chosen in a grid format with a

resolution of 5 mm × 5 mm × 5 mm. Training directions were chosen as +X,

−X, +Y , −Y , +Z, −Z, and 4 other random directions. Because dipoles could

only occur in grey matter this yielded 100,340 different input-output pairs. These

training pairs were then presented to the networks for training.

Once the networks were trained the sensor data from 10,000 dipoles with

random locations and directions were presented to the network. The average

15

Page 30: Berard - Thesis

Figure 6: FMRI Image Used for Realistic Head Model (ITK-SNAP [13])

location and direction errors were recorded. Next every grey matter node where

Z = 178 was used as a dipole location with direction +Z. Layer Z = 178 was

chosen because it is a thick area of the brain near the center of mass. The average

location and direction errors are recorded. Noise is then introduced such that

SNR = 10 dB, 20 dB, and 30 dB. The same tests are performed again for any

voxels within 55 mm of the centroid of the layer. This is done, because it has

been noted that neural networks tend to have larger errors when source locating

near the boundary of the training area and would have better average accuracy

near the centroid of the training area [10].

16

Page 31: Berard - Thesis

Figure 7: Sensor Placement for 32 Electrodes

3.3 Realistic Head Model - Complex

The training and testing process for this model was initially conducted in

almost exactly the same way as the previous model with one major difference, the

white matter’s conductivity was set to σ = 0.14. This is important, because the

brain has more than just grey matter in its center. This other tissue has a different

conductivity and as such distorts the dipole signal as it travels to the sensors on

the scalp. This could cause a neural network to be less accurate, and needed to

be tested separately. It is also the closest model to the physical brain presented

in this paper. In addition to the 32 sensor arrangement used in the homogeneous

brain model 64 and 128 sensor arrangements are used for this model and can be

seen in Figures 8 and 9. The locations of the sensors were also chosen according

to the International 10-20 system.

The same sensor configurations were used to train several other networks

17

Page 32: Berard - Thesis

Table 1: Conductivities for Realistic Head Model with Homogeneous Brain Region

Tissue Type σ (S/m)

Scalp 0.44

Skull 0.018

Cerebro-Spinal Fluid 1.79

Gray Matter 0.33

White Matter 0.33

Muscle 0.11

using random dipole locations and directions. Ten thousand random gray matter

locations were chosen. Sensor data was obtained for 5 random directions at each

of the 10,000 training locations yielding 50,000 training pairs. This was done to

simulate possible real-world experimentation.

18

Page 33: Berard - Thesis

Figure 8: Sensor Placement for 64 Electrodes

Figure 9: Sensor Placement for 128 Electrodes

19

Page 34: Berard - Thesis

4 RESULTS

This section details the results obtained from the tests described in the Ap-

proach section.

4.1 2D Head Model

Figure 10 visually shows the results from a 32-30-30-4 artificial neural network

trained to detect the locations of a single dipole present in a circular airhead as

described in the Approach section. As you can see from the two figures that had no

noise introduced to them the average error is less than a millimeter or one voxel

in this case. This means that the network is exactly right in most cases when

it comes to predicting location. As we add noise to the signals received by the

sensors we can see the accuracy drop off as we would expect it to. It is interesting

to note that in every case the network is more error prone as the dipole is moved

toward the edge of the training region away from the center. This is shown by

the left images containing all the voxels from our airhead and the right images

containing only those voxels within 55 mm of the center of the airhead. This is

a normal trait of artificial neural networks. It is also interesting to note that the

accuracy is not uniform throughout the no noise cases. This is due to the random

starting weights and biases for each network.

The average location and moment errors from 10,000 random locations and

20

Page 35: Berard - Thesis

directions can be seen in Table 2. The location error distribution for the same

network can be seen in Figure 11.

Table 2: Results for 2D Head Model Network 32-30-30-4

SNR (dB) Avg. Location Error (mm) Avg. Moment Error (mm)

∞ 13.2539 0.229913

30 13.3412 0.230197

20 13.9437 0.232

10 17.8625 0.246121

21

Page 36: Berard - Thesis

(a) No Noise (b) No Noise, 55mm Radius

(c) 30dB SNR (d) 30dB SNR, 55mm Radius

(e) 20dB SNR (f) 20dB SNR, 55mm Radius

(g) 20dB SNR (h) 20dB SNR, 55mm Radius

Figure 10: Location Error With and Without Added Noise for Airhead 32-30-

30-422

Page 37: Berard - Thesis

(a) No Noise (b) 30dB SNR

(c) 20dB SNR (d) 10dB SNR

Figure 11: Location Error Distribution With and Without Added Noise for 2D

Head Model with Network Configuration: 32-30-30-6

23

Page 38: Berard - Thesis

4.2 Realistic Head Model - Homogeneous Brain Region

Every node on the layer Z = 178 was used as a dipole location with the dipole

directed in the +Z direction. Noise was then added such that SNR at the sensors

was equal to 30, 20, and 10 dBs. Figure 12 shows the results for a network of

configuration 32-45-45-6. As you can see the accuracy increases if we ignore the

outer-most voxels and focus on the center area of the brain.

While all the tissue in this brain model is homogeneous, I only placed

training dipoles in the gray matter area of the brain. Just like the outer-most

areas of the brain, the areas close to white matter tissue are further from dipoles

and tend to have lower accuracy. As with the 2D head model we see that the

average accuracy drops as the noise increases.

Tables 3 through 6 show the average errors from testing 10,000 random

dipole locations and directions for each trained network for this model. Figure

13 shows the error distribution for the same test for the network configuration

32-30-30-6.

24

Page 39: Berard - Thesis

Table 3: Results for Realistic Head Model with Homogeneous Brain Region (No

Noise)

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 32-10-10-6 (1) 21.8264 0.755349

NN 32-20-20-6 (1) 15.7973 0.644345

NN 32-30-30-6 (1) 9.88761 0.538274

NN 32-45-45-6 (1) 7.67768 0.534815

Table 4: Results for Realistic Head Model with Homogeneous Brain Region (30

dB SNR)

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 32-10-10-6 (1) 22.0736 0.755947

NN 32-20-20-6 (1) 16.1947 0.645

NN 32-30-30-6 (1) 10.5581 0.538412

NN 32-45-45-6 (1) 8.56947 0.535629

25

Page 40: Berard - Thesis

Figure 12: Location Error With and Without Added Noise for Realistic Head

Model with Homogeneous Brain Tissue with Network Configuration: 32-30-30-

6. The figures on the right restrict the voxels tested to a 50 mm radius from the

centroid.

26

Page 41: Berard - Thesis

Table 5: Results for Realistic Head Model with Homogeneous Brain Region (20

dB SNR)

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 32-10-10-6 (1) 23.773 0.763351

NN 32-20-20-6 (1) 17.8696 0.648145

NN 32-30-30-6 (1) 14.3609 0.542563

NN 32-45-45-6 (1) 13.2894 0.540446

Table 6: Results for Realistic Head Model with Homogeneous Brain Region (10

dB SNR)

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 32-10-10-6 (1) 34.8025 0.808948

NN 32-20-20-6 (1) 27.3437 0.681496

NN 32-30-30-6 (1) 30.3933 0.572832

NN 32-45-45-6 (1) 30.619 0.577639

27

Page 42: Berard - Thesis

(a) No Noise (b) 30dB SNR

(c) 20dB SNR (d) 10dB SNR

Figure 13: Location Error Distribution With and Without Added Noise for Re-

alistic Head Model with Homogeneous Brain Tissue with Network Configuration:

32-30-30-6

28

Page 43: Berard - Thesis

4.3 Realistic Head Model - Complex

4.3.1 32 Sensor Configuration - Grid Pattern Training

Every node on the layer Z = 178 was used as a dipole location with the

dipole directed in the +Z direction. Noise was then added such that SNR at

the sensors was equal to 30, 20, and 10 dBs. Figure 14 shows the results for a

network of configuration 32-30-30-6 trained with a grid pattern of dipole locations.

Considering the fact that the brain is only slightly longer than 15 cm at its widest

point these results show that when noise is added to this network the results

become extremely inaccurate.

Tables 7 through 10 show the average errors from testing 10,000 random

dipole locations and directions for each trained network for this model. Figure

15 shows the error distribution for the same test for the network configuration

32-30-30-6. It is interesting to see that the network configuration 32-10-10-6 does

not get much worse from 30 dB SNR to 10 db SNR. This is most likely due to the

network being relatively simple compared to the model. It is so generalized that

when presented with data that is significantly different than what it was trained

on it defaults to within the brain region, albeit nowhere near the actual dipole

location. Whereas the other networks are so complex that when presented with

strange data they determine that the dipole is not even in the brain region.

29

Page 44: Berard - Thesis

Table 7: Results for Realistic Head Model - Complex 32 Sensors (No Noise)

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 32-10-10-6 (1) 20.8926 0.815659

NN 32-20-20-6 (1) 20.0345 0.801704

NN 32-30-30-6 (1) 16.9694 0.767548

NN 32-45-45-6 (1) 14.4555 0.755999

NN 32-45-45-6 (2) 16.8214 0.781354

Table 8: Results for Realistic Head Model - Complex 32 Sensors (30 dB SNR)

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 32-10-10-6 (1) 74.6068 1.05411

NN 32-20-20-6 (1) 50.4479 0.805437

NN 32-30-30-6 (1) 64.8371 0.78521

NN 32-45-45-6 (1) 82.575 0.79684

NN 32-45-45-6 (2) 62.8111 0.794551

30

Page 45: Berard - Thesis

Figure 14: Location Error With and Without Added Noise for Realistic Head

Model with Network Configuration: 32-30-30-6 (Grid Pattern Training). The

figures on the right restrict the voxels tested to a 50 mm radius from the centroid.

31

Page 46: Berard - Thesis

Table 9: Results for Realistic Head Model - Complex 32 Sensors (20 dB SNR)

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 32-10-10-6 (1) 84.1472 1.14192

NN 32-20-20-6 (1) 140.044 0.846319

NN 32-30-30-6 (1) 204.745 0.891064

NN 32-45-45-6 (1) 237.588 1.065

NN 32-45-45-6 (2) 177.966 0.875519

Table 10: Results for Realistic Head Model - Complex 32 Sensors (10 dB SNR)

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 32-10-10-6 (1) 87.272 1.17102

NN 32-20-20-6 (1) 377.005 1.08792

NN 32-30-30-6 (1) 448.378 1.2539

NN 32-45-45-6 (1) 525.871 1.84189

NN 32-45-45-6 (2) 475.79 1.23946

32

Page 47: Berard - Thesis

(a) No Noise (b) 30dB SNR

(c) 20dB SNR (d) 10dB SNR

Figure 15: Location Error Distribution With and Without Added Noise for Realis-

tic Head Model with Network Configuration: 32-30-30-6 (Grid Pattern Training)

33

Page 48: Berard - Thesis

4.3.2 32 Sensor Configuration - Random Pattern Training

Every node on the layer Z = 178 was used as a dipole location with the dipole

directed in the +Z direction. Noise was then added such that SNR at the sensors

was equal to 30, 20, and 10 dBs. Figure 16 shows the results for a network of

configuration 32-30-30-6 trained with random training locations.

Tables 11 through 14 show the average errors from testing 10,000 random

dipole locations and directions for each trained network for this model. Figure

17 shows the error distribution for the same test for the network configuration

32-30-30-6.

34

Page 49: Berard - Thesis

Figure 16: Location Error With and Without Added Noise for Realistic Head

Model with Network Configuration: 32-30-30-6 (Random Pattern Training).

The figures on the right restrict the voxels tested to a 50 mm radius from the

centroid.

35

Page 50: Berard - Thesis

Table 11: Results for Realistic Head Model - Complex 32 Sensors (No Noise)

Random Training Pattern

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 32-10-10-6 (1) 22.6025 0.591719

NN 32-10-10-6 (2) 21.0263 0.546079

NN 32-10-10-6 (3) 18.742 0.526827

NN 32-10-10-6 (4) 23.2004 0.632537

NN 32-10-10-6 (5) 23.404 0.639938

NN 32-20-20-6 (1) 21.2664 0.674938

NN 32-20-20-6 (2) 17.6022 0.561501

NN 32-20-20-6 (3) 22.4638 0.632259

NN 32-20-20-6 (4) 16.0037 0.543202

NN 32-20-20-6 (5) 18.8272 0.583457

NN 32-30-30-6 (1) 12.641 0.448957

NN 32-30-30-6 (2) 16.6299 0.562351

NN 32-30-30-6 (3) 14.3923 0.545352

NN 32-30-30-6 (4) 16.3946 0.627741

NN 32-30-30-6 (5) 15.3464 0.548796

36

Page 51: Berard - Thesis

Table 12: Results for Realistic Head Model - Complex 32 Sensors (30 dB SNR)

Random Training Pattern

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 32-10-10-6 (1) 105.63 0.602171

NN 32-10-10-6 (2) 190.326 0.851313

NN 32-10-10-6 (3) 328.953 1.17796

NN 32-10-10-6 (4) 64.4797 0.661202

NN 32-10-10-6 (5) 78.1284 0.663518

NN 32-20-20-6 (1) 58.167 0.698245

NN 32-20-20-6 (2) 70.2551 0.56827

NN 32-20-20-6 (3) 47.3972 0.642494

NN 32-20-20-6 (4) 109.43 0.613526

NN 32-20-20-6 (5) 53.9425 0.591589

NN 32-30-30-6 (1) 175.977 1.06722

NN 32-30-30-6 (2) 79.2474 0.588609

NN 32-30-30-6 (3) 96.7045 0.565338

NN 32-30-30-6 (4) 84.3806 0.651342

NN 32-30-30-6 (5) 80.6535 0.567217

37

Page 52: Berard - Thesis

Table 13: Results for Realistic Head Model - Complex 32 Sensors (20 dB SNR)

Random Training Pattern

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 32-10-10-6 (1) 301.055 0.666173

NN 32-10-10-6 (2) 412.613 1.06911

NN 32-10-10-6 (3) 995.392 2.16258

NN 32-10-10-6 (4) 190.457 0.856056

NN 32-10-10-6 (5) 223.452 0.811432

NN 32-20-20-6 (1) 163.116 0.842883

NN 32-20-20-6 (2) 210.266 0.619929

NN 32-20-20-6 (3) 126.683 0.732775

NN 32-20-20-6 (4) 319.656 0.919337

NN 32-20-20-6 (5) 151.253 0.648156

NN 32-30-30-6 (1) 466.379 2.08674

NN 32-30-30-6 (2) 233.753 0.753264

NN 32-30-30-6 (3) 293.893 0.692741

NN 32-30-30-6 (4) 242.946 0.790716

NN 32-30-30-6 (5) 246.41 0.70903

38

Page 53: Berard - Thesis

Table 14: Results for Realistic Head Model - Complex 32 Sensors (10 dB SNR)

Random Training Pattern

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 32-10-10-6 (1) 674.89 0.88787

NN 32-10-10-6 (2) 583.549 1.24564

NN 32-10-10-6 (3) 1720.67 3.01336

NN 32-10-10-6 (4) 481.091 1.51873

NN 32-10-10-6 (5) 560.727 1.34214

NN 32-20-20-6 (1) 461.83 1.50074

NN 32-20-20-6 (2) 593.233 0.845856

NN 32-20-20-6 (3) 348.284 1.12408

NN 32-20-20-6 (4) 632.736 1.57508

NN 32-20-20-6 (5) 448.925 0.979637

NN 32-30-30-6 (1) 894.21 3.16333

NN 32-30-30-6 (2) 613.684 1.43791

NN 32-30-30-6 (3) 753.991 1.16095

NN 32-30-30-6 (4) 647.24 1.28043

NN 32-30-30-6 (5) 672.8 1.41217

39

Page 54: Berard - Thesis

(a) No Noise (b) 30dB SNR

(c) 20dB SNR (d) 10dB SNR

Figure 17: Location Error Distribution With and Without Added Noise for Re-

alistic Head Model with Network Configuration: 32-30-30-6 (Random Pattern

Training)

40

Page 55: Berard - Thesis

4.3.3 64 Sensor Configuration - Grid Pattern Training

Every node on the layer Z = 178 was used as a dipole location with the dipole

directed in the +Z direction. Noise was then added such that SNR at the sensors

was equal to 30, 20, and 10 dBs. Figure 18 shows the results for a network of

configuration 64-30-30-6 trained with a grid pattern of dipole locations.

Tables 15 through 18 show the average errors from testing 10,000 random

dipole locations and directions for each trained network for this model. Figure

19 shows the error distribution for the same test for the network configuration

64-30-30-6.

Table 15: Results for Realistic Head Model - Complex 64 Sensors (No Noise)

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 64-10-10-6 (1) 21.2667 0.837185

NN 64-20-20-6 (1) 16.7691 0.772504

NN 64-30-30-6 (1) 15.9451 0.770317

NN 64-45-45-6 (1) 12.5213 0.706575

41

Page 56: Berard - Thesis

Table 16: Results for Realistic Head Model - Complex 64 Sensors (30 dB SNR)

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 64-10-10-6 (1) 96.2673 1.2693

NN 64-20-20-6 (1) 101.037 0.943386

NN 64-30-30-6 (1) 32.5327 0.777203

NN 64-45-45-6 (1) 107.468 0.897266

Table 17: Results for Realistic Head Model - Complex 64 Sensors (20 dB SNR)

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 64-10-10-6 (1) 117.047 1.37698

NN 64-20-20-6 (1) 301.492 1.58998

NN 64-30-30-6 (1) 81.4571 0.817222

NN 64-45-45-6 (1) 449.939 1.67507

42

Page 57: Berard - Thesis

(g) 10dB SNR

Figure 18: Location Error With and Without Added Noise for Realistic Head

Model with Network Configuration: 64-30-30-6 (Grid Pattern Training). The

figures on the right restrict the voxels tested to a 50 mm radius from the centroid.

43

Page 58: Berard - Thesis

Table 18: Results for Realistic Head Model - Complex 64 Sensors (10 dB SNR)

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 64-10-10-6 (1) 125.511 1.42438

NN 64-20-20-6 (1) 772.093 2.81019

NN 64-30-30-6 (1) 179.92 0.972

NN 64-45-45-6 (1) 924.377 3.01807

44

Page 59: Berard - Thesis

(a) No Noise (b) 30dB SNR

(c) 20dB SNR (d) 10dB SNR

Figure 19: Location Error Distribution With and Without Added Noise for Realis-

tic Head Model with Network Configuration: 64-30-30-6 (Grid Pattern Training)

45

Page 60: Berard - Thesis

4.3.4 64 Sensor Configuration - Random Pattern Training

Every node on the layer Z = 178 was used as a dipole location with the dipole

directed in the +Z direction. Noise was then added such that SNR at the sensors

was equal to 30, 20, and 10 dBs. Figure 20 shows the results for a network of

configuration 64-30-30-6 trained with a random pattern of dipole locations.

Tables 19 through 22 show the average errors from testing 10,000 random

dipole locations and directions for each trained network for this model. Figure

21 shows the error distribution for the same test for the network configuration

64-30-30-6.

46

Page 61: Berard - Thesis

Figure 20: Location Error With and Without Added Noise for Realistic Head

Model with Network Configuration: 64-30-30-6 (Random Pattern Training).

The figures on the right restrict the voxels tested to a 50 mm radius from the

centroid.

47

Page 62: Berard - Thesis

Table 19: Results for Realistic Head Model - Complex 64 Sensors (No Noise)

Random Training Pattern

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 64-10-10-6 (1) 24.1692 0.635177

NN 64-10-10-6 (2) 20.6486 0.587828

NN 64-10-10-6 (3) 24.6244 0.571931

NN 64-10-10-6 (4) 22.5207 0.587945

NN 64-10-10-6 (5) 25.944 0.593513

NN 64-20-20-6 (1) 15.6139 0.559264

NN 64-20-20-6 (2) 13.4774 0.490579

NN 64-20-20-6 (3) 13.0836 0.504072

NN 64-20-20-6 (4) 16.08 0.565132

NN 64-20-20-6 (5) 15.874 0.534065

NN 64-30-30-6 (1) 14.9085 0.574971

NN 64-30-30-6 (2) 12.6549 0.485122

NN 64-30-30-6 (3) 16.5273 0.527957

NN 64-30-30-6 (4) 13.5579 0.524288

NN 64-30-30-6 (5) 13.0949 0.517222

48

Page 63: Berard - Thesis

Table 20: Results for Realistic Head Model - Complex 64 Sensors (30 dB SNR)

Random Training Pattern

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 64-10-10-6 (1) 27.5132 0.635827

NN 64-10-10-6 (2) 233.082 0.781556

NN 64-10-10-6 (3) 26.4216 0.574001

NN 64-10-10-6 (4) 40.0534 0.590357

NN 64-10-10-6 (5) 26.9238 0.59468

NN 64-20-20-6 (1) 92.1113 0.576248

NN 64-20-20-6 (2) 145.44 1.31693

NN 64-20-20-6 (3) 176.269 0.938542

NN 64-20-20-6 (4) 119.814 0.576287

NN 64-20-20-6 (5) 67.3885 0.560586

NN 64-30-30-6 (1) 73.4353 0.579901

NN 64-30-30-6 (2) 142.21 0.566775

NN 64-30-30-6 (3) 29.937 0.538206

NN 64-30-30-6 (4) 98.0801 0.548388

NN 64-30-30-6 (5) 144.756 0.545153

49

Page 64: Berard - Thesis

Table 21: Results for Realistic Head Model - Complex 64 Sensors (20 dB SNR)

Random Training Pattern

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 64-10-10-6 (1) 44.5813 0.647002

NN 64-10-10-6 (2) 528.359 1.30203

NN 64-10-10-6 (3) 35.3659 0.592638

NN 64-10-10-6 (4) 97.0448 0.60861

NN 64-10-10-6 (5) 32.8335 0.605491

NN 64-20-20-6 (1) 294.733 0.718333

NN 64-20-20-6 (2) 251.349 2.25947

NN 64-20-20-6 (3) 361.881 1.50797

NN 64-20-20-6 (4) 359.352 0.65569

NN 64-20-20-6 (5) 190.559 0.720509

NN 64-30-30-6 (1) 219.919 0.620129

NN 64-30-30-6 (2) 397.02 0.848923

NN 64-30-30-6 (3) 71.2516 0.617658

NN 64-30-30-6 (4) 294.102 0.697646

NN 64-30-30-6 (5) 443.038 0.731188

50

Page 65: Berard - Thesis

Table 22: Results for Realistic Head Model - Complex 64 Sensors (10 dB SNR)

Random Training Pattern

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 64-10-10-6 (1) 113.756 0.726667

NN 64-10-10-6 (2) 821.282 2.06998

NN 64-10-10-6 (3) 58.595 0.685853

NN 64-10-10-6 (4) 268.509 0.722049

NN 64-10-10-6 (5) 52.115 0.667441

NN 64-20-20-6 (1) 917.642 1.39624

NN 64-20-20-6 (2) 338.638 2.88179

NN 64-20-20-6 (3) 591.052 2.08556

NN 64-20-20-6 (4) 904.237 0.970277

NN 64-20-20-6 (5) 418.575 1.08791

NN 64-30-30-6 (1) 632.593 0.845024

NN 64-30-30-6 (2) 801.483 1.35452

NN 64-30-30-6 (3) 158.507 0.925805

NN 64-30-30-6 (4) 736.248 1.17994

NN 64-30-30-6 (5) 1160.84 1.36511

51

Page 66: Berard - Thesis

(a) No Noise (b) 30dB SNR

(c) 20dB SNR (d) 10dB SNR

Figure 21: Location Error Distribution With and Without Added Noise for Re-

alistic Head Model with Network Configuration: 64-30-30-6 (Random Pattern

Training)

52

Page 67: Berard - Thesis

4.3.5 128 Sensor Configuration - Grid Pattern Training

Every node on the layer Z = 178 was used as a dipole location with the dipole

directed in the +Z direction. Noise was then added such that SNR at the sensors

was equal to 30, 20, and 10 dBs. Figure 22 shows the results for a network of

configuration 128-45-45-6 trained with a grid pattern of dipole locations (128-30-

30-6 was corrupted for some reason, however I managed to train a 128-45-45-6

network).

Tables 23 through 26 show the average errors from testing 10,000 random

dipole locations and directions for each trained network for this model. Figure

23 shows the error distribution for the same test for the network configuration

128-45-45-6.

Table 23: Results for Realistic Head Model - Complex 128 Sensors (No Noise)

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 128-45-45-6 (1) 13.1907 0.720498

Table 24: Results for Realistic Head Model - Complex 128 Sensors (30 dB SNR)

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 128-45-45-6 (1) 69.6786 0.835909

53

Page 68: Berard - Thesis

Table 25: Results for Realistic Head Model - Complex 128 Sensors (20 dB SNR)

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 128-45-45-6 (1) 185.398 1.16294

Table 26: Results for Realistic Head Model - Complex 128 Sensors (10 dB SNR)

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 128-45-45-6 (1) 421.55 2.03229

54

Page 69: Berard - Thesis

Figure 22: Location Error With and Without Added Noise for Realistic Head

Model with Network Configuration: 128-45-45-6 (Grid Pattern Training) The

figures on the right restrict the voxels tested to a 50 mm radius from the centroid.

55

Page 70: Berard - Thesis

(a) No Noise (b) 30dB SNR

(c) 20dB SNR (d) 10dB SNR

Figure 23: Location Error Distribution With and Without Added Noise for Real-

istic Head Model with Network Configuration: 128-45-45-6 (Grid Pattern Train-

ing)

56

Page 71: Berard - Thesis

4.3.6 128 Sensor Configuration - Random Pattern Training

Every node on the layer Z = 178 was used as a dipole location with the dipole

directed in the +Z direction. Noise was then added such that SNR at the sensors

was equal to 30, 20, and 10 dBs. Figure 24 shows the results for a network of

configuration 128-30-30-6 trained with a random pattern of dipole locations.

Tables 27 through 30 show the average errors from testing 10,000 random

dipole locations and directions for each trained network for this model. Figure

25 shows the error distribution for the same test for the network configuration

128-30-30-6.

57

Page 72: Berard - Thesis

Figure 24: Location Error With and Without Added Noise for Realistic Head

Model with Network Configuration: 128-30-30-6 (Random Pattern Training).

The figures on the right restrict the voxels tested to a 50 mm radius from the

centroid.

58

Page 73: Berard - Thesis

Table 27: Results for Realistic Head Model - Complex 128 Sensors (No Noise)

Random Training Pattern

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 128-10-10-6 (1) 24.9903 0.602958

NN 128-10-10-6 (2) 19.8442 0.590713

NN 128-10-10-6 (3) 19.3743 0.569592

NN 128-10-10-6 (4) 19.0488 0.550562

NN 128-10-10-6 (5) 20.356 0.594532

NN 128-20-20-6 (1) 22.349 0.721288

NN 128-20-20-6 (2) 11.0142 0.409259

NN 128-20-20-6 (3) 13.6754 0.525906

NN 128-20-20-6 (4) 13.0773 0.498437

NN 128-20-20-6 (5) 15.4137 0.556403

NN 128-30-30-6 (1) 14.2454 0.538284

NN 128-30-30-6 (2) 16.223 0.657255

NN 128-30-30-6 (3) 12.4212 0.486208

NN 128-30-30-6 (4) 13.825 0.550497

NN 128-30-30-6 (5) 14.098 0.563096

59

Page 74: Berard - Thesis

Table 28: Results for Realistic Head Model - Complex 128 Sensors (30 dB SNR)

Random Training Pattern

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 128-10-10-6 (1) 29.7161 0.606106

NN 128-10-10-6 (2) 170.257 0.929202

NN 128-10-10-6 (3) 115.509 0.690298

NN 128-10-10-6 (4) 127.182 0.715711

NN 128-10-10-6 (5) 96.9592 0.667589

NN 128-20-20-6 (1) 40.6717 0.731618

NN 128-20-20-6 (2) 208.034 1.98317

NN 128-20-20-6 (3) 94.1695 0.594092

NN 128-20-20-6 (4) 223.703 0.944804

NN 128-20-20-6 (5) 75.9097 0.590296

NN 128-30-30-6 (1) 100.907 0.593521

NN 128-30-30-6 (2) 47.0984 0.678514

NN 128-30-30-6 (3) 121.101 0.550582

NN 128-30-30-6 (4) 72.91 0.570018

NN 128-30-30-6 (5) 73.1262 0.582688

60

Page 75: Berard - Thesis

Table 29: Results for Realistic Head Model - Complex 128 Sensors (20 dB SNR)

Random Training Pattern

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 128-10-10-6 (1) 46.6862 0.627979

NN 128-10-10-6 (2) 311.115 1.49039

NN 128-10-10-6 (3) 249.215 0.900148

NN 128-10-10-6 (4) 274.673 1.01268

NN 128-10-10-6 (5) 217.485 0.877942

NN 128-20-20-6 (1) 93.7372 0.803654

NN 128-20-20-6 (2) 314.809 2.50561

NN 128-20-20-6 (3) 292.702 0.954744

NN 128-20-20-6 (4) 587.44 1.7615

NN 128-20-20-6 (5) 227.72 0.779227

NN 128-30-30-6 (1) 295.368 0.848571

NN 128-30-30-6 (2) 132.824 0.828996

NN 128-30-30-6 (3) 320.591 0.763234

NN 128-30-30-6 (4) 216.616 0.692932

NN 128-30-30-6 (5) 217.378 0.711431

61

Page 76: Berard - Thesis

Table 30: Results for Realistic Head Model - Complex 128 Sensors (10 dB SNR)

Random Training Pattern

Network Configuration Avg. Distance Error (mm) Avg. Moment Error (mm)

NN 128-10-10-6 (1) 72.602 0.703628

NN 128-10-10-6 (2) 416.702 1.82153

NN 128-10-10-6 (3) 369.277 1.04206

NN 128-10-10-6 (4) 422.009 1.32148

NN 128-10-10-6 (5) 385.392 1.12283

NN 128-20-20-6 (1) 210.895 1.13247

NN 128-20-20-6 (2) 389.712 2.71662

NN 128-20-20-6 (3) 742.408 1.63886

NN 128-20-20-6 (4) 1028.59 2.50361

NN 128-20-20-6 (5) 480.844 1.2388

NN 128-30-30-6 (1) 640.518 1.51339

NN 128-30-30-6 (2) 346.707 1.4336

NN 128-30-30-6 (3) 599.468 1.12513

NN 128-30-30-6 (4) 537.584 1.12938

NN 128-30-30-6 (5) 540.226 1.13756

62

Page 77: Berard - Thesis

(a) No Noise (b) 30dB SNR

(c) 20dB SNR (d) 10dB SNR

Figure 25: Location Error Distribution With and Without Added Noise for Re-

alistic Head Model with Network Configuration: 128-30-30-6 (Random Pattern

Training)

63

Page 78: Berard - Thesis

5 DISCUSSION

To this researcher’s knowledge source localization using this high fidelity of a

head model has not been tried before. Realistic head shapes with realistic sensor

locations have been modelled and tested [10], however the resolution was not as

high as 1 mm × 1 mm × 1 mm, and the recognition of different conductivities in

the grey and white matter tissues was not taken into account. In fact the results

from Tables 3 through 6 confirm the results from previous experiments [10]. It is

of interest to note the differences in results when we do take into account different

conductivities in tissues.

When we compare the results from Tables 3 through 6, the results from our

realistic head model with homogeneous brain area, to Tables 7 through 30, the

results from our more complex realistic head model, we can see a common theme.

For the homogeneous model when we add noise such that the SNR is equal to

30 dB, we only see a jump in average location error of at most 1 mm. This is

completely different in the more complex head model. When we add the same

amount of noise we see jumps in average location error of several centimeters, and

this only gets worse as we add more noise.

Why is this happening? I believe that the reason that a neural network can

source localize a homogeneous head model so well is because of the almost linear

relationship between the dipole and what gets picked up by the sensors on the

64

Page 79: Berard - Thesis

scalp. If a test dipole is a few millimeters from a training dipole the sensor data

would only be slightly different from the training dipole sensor data. This is what

the network sees when you add noise, data that is slightly different from the real

sensor data. In this case the network will believe that the dipole is in a slightly

different location, therefore the location error is slightly off. As we increase noise

we would expect this to get worse and Tables 3 through 6 show this.

However, if a dipole is a few millimeters from a training dipole in the more

complex realistic head model the sensor data may be significantly different from

the training dipole sensor data. This is because the energy will need to pass

through large patches of white matter before it reaches each sensor on the scalp.

As this power travels through each tissue type it is attenuated at different rates.

Slight differences in sensor data could mean large actual differences in location

between two dipoles. Despite this complexity each of the networks trained for

this model show decent average accuracy with none worse than 2.6 cm and most

less than 2 cm. This can be seen by comparing Tables 7, 11, 15, 19, 23, and

27. When these same networks are presented with the exact same test dipoles,

but with slightly noisy sensor data, 30 dB SNR, the networks become extremely

inaccurate as can be seen in Tables 10, 14, 18, 22, 26, and 30. This tells us that

these networks are extremely sensitive to any abnormality to sensor data, and it

only gets worse as we add more noise.

We can also see this disparity when we look at error histograms from two

65

Page 80: Berard - Thesis

networks of the same complexity trained with the exact same grid points. One

network is trained for the homogeneous brain model, Figure 13, and one is trained

for the complex head model, Figure 15. Both networks are 32-30-30-6 in configu-

ration. As you can see for the homogeneous brain model as we increase noise error

values get higher, but in all cases error values remain relatively tightly grouped.

For the complex head model error values are initially tightly grouped but a signif-

icant spread forms when we add noise. This trend continues for each other kind

of network trained as can be seen in Figures 17, 19, 21, 23, and 25.

Another point of note is the locations of where the greatest errors are

occurring in each model. To see this I have chosen a layer of voxels on the Z-

plain, around the center of the brain, Z = 178, and tested each point for dipole

location accuracy. These can be seen in Figures 12, 14, 16, 18, 20, 23, and 25.

It is interesting to note that for the homogeneous brain model without noise the

greatest errors occur at the outermost regions, particularly the frontal lobe area,

and areas where training dipoles were scarce, the edges of white matter regions.

For the complex head model without noise the greatest errors occur in all cases

in the frontal lobe area. This does not mean that the complex head model does

not suffer from the same problem with test dipoles at the edge of white matter

regions. In fact for every case the errors in the frontal lobe areas are so bad that

almost all other errors are drowned out. When we restrict the voxels tested to

only be the ones 50 mm from the center of each figure we see the same if not worse

66

Page 81: Berard - Thesis

error regions than what we see in the homogeneous model.

When we add noise to each case we see something interesting. In the

homogeneous brain model as we increase the noise the greatest errors tend to

occur in the center of the brain. This would be because the signals picked up

from dipoles in the center of the brain would have a much lower power by the

time they reach the sensors, thus making them more susceptible to minor changes

as we would expect. This, however, is not the case with the more complex head

model. In all the cases for the more complex head model the greatest error occurs

in random areas throughout the brain area and gets more random as the noise

increases. This is due to almost all the voxels being very sensitive to noise as

mentioned earlier. And since noise is inherently random we see random error

values everywhere.

67

Page 82: Berard - Thesis

6 CONCLUSION

Several different configurations were trained for different types of head models:

a 2D universally homogeneous circular head model, a high definition realistic head

model with homogeneous brain region, and a high definition realistic head model

with realistic brain region conductivities.

Each of these networks were subjected to a multitude of tests to determine

average location and moment error with and without noise. The first set of tests

was placing a dipole at every possible grey matter voxel for Z = 178 with its

direction +Z. This was repeated for added noise such that the sensor data had

power of 30 dB, 20 dB, and 10 dB. The next set of tests was placing 10,000 dipoles

at random locations with random directions and determining average location and

moment errors in millimeters. This test was repeated for added noise such that

the sensor data had power of 30 dB, 20 dB, and 10 dB. The error distribution

data for a single network of interest is presented for each model as an example.

In all cases each network is able to reliably source localize a single dipole

with accuracy provide there is absolutely no noise in the signal. Unlike the ho-

mogeneous models, in every case the more complex realistic head model networks

became significantly inaccurate when noise was added to the signal. This is due to

the added complexity that needs to be trained into each of these networks. This

complexity makes these networks far more sensitive to noise.

68

Page 83: Berard - Thesis

If we can agree that the more complex realistic head model is a better model

of the human head than the realistic head model with a homogeneous brain region,

then it is the recommendation of this author that the network configurations

trained for this project should not be used for clinical use. It may be possible

to achieve better results by segmenting the brain into regions, training neural

networks to source localize in those regions, and training an overall network to

determine what region the dipole resides in. Another option may be to train a

significantly more complex network, however time, memory, and the possibility

of overfitting are all problems to consider. It also may be possible to capture

the complexity of this problem in the increasing popular field of neural-fuzzy

networking.

69

Page 84: Berard - Thesis

REFERENCES

[1] Abeyratne, Udantha R., Yohsuke Kinouchi, Hideo Oki, Jun Okada, FumioShichijo, and Keizo Matsumoto. ”Artificial Neural Networks for Source Lo-calization in the Human Brain.” Brain Topography 4.1 (1991): 3-21. Print.

[2] Abeyratne, Uduntha R., G. Zhang, and P. Saratchandran. ”EEG Source Lo-calization: A Comparative Study of Classical and Neural Network Methods.”International Journal of Neural Systems 11.4 (2001): 349-59. Print.

[3] Dang, Hung V., and Kwong T. Ng. ”Finite Difference Neuroelectric ModelingSoftware.” Journal of Neuroscience Methods 198.2 (2011): 359-63. Print.

[4] Dang, Hung V. ”Performance Analysis of Adaptive EEG Beamformers.” Diss.New Mexico State University, 2007. Print.

[5] Hagan, Martin T., Howard B. Demuth, and Mark H. Beale. Neural NetworkDesign. Boulder, CO: Distributed by Campus Pub. Service, University ofColorado Bookstore, 2002. Print.

[6] Jenkinson, M., CF Beckmann, TE Behrens, MW Woolrich, and SM Smith.”FSL.” NeuroImage 62 (2012): 782-90. Print.

[7] Kamijo, Ken’ichi, Tomoharu Kiyuna, Yoko Takaki, Akihisa Kenmochi, Tet-suji Tanigawa, and Toshimasa Yamazaki. ”Integrated Approach of an Artifi-cial Neural Network and Numerical Analysis to Multiple Equivalent CurrentDipole Source Localization.” Frontiers of Medical & Biological Engineering10.4 (2001): 285-301. Print.

[8] Lau, Clifford. Neural Networks: Theoretical Foundations and Analysis. NewYork: IEEE, 1992. Print.

[9] Steinberg, Ben Zion, Mark J. Beran, Steven H. Chin, and James H. Howard,Jr. ”A Neural Network Approach to Source Localization.” The Journal of theAcoustical Society of America 90.4 (1991): 2081-090. Print.

[10] Van Hoey, Gert, Jeremy De Clercq, Bart Vanrumste, Rik Van De Walle,Ignace Lemahieu, Michel D’Have, and Paul Boon. ”EEG Dipole Source Lo-calization Using Artificial Neural Networks.” Physics in Medicine & Biology45.4 (2000): 997-1011. IOPscience. Web. 22 May 2013.

[11] Vemuri, V. Rao. Artificial Neural Networks: Concepts and Control Applica-tions. Los Alamitos, CA: IEEE Computer Society, 1992. Print.

70

Page 85: Berard - Thesis

[12] Yuasa, Motohiro, Qinyu Zhang, Hirofumi Nagashino, and Yohsuke Kinouchi.”EEG Source Localization for Two Dipoles by Neural Networks.” Proceedingsof the 20th Annual International Conference of the IEEE Engineering inMedicine and Biology Society 20.4 (1998): 2190-192. Print.

[13] Yushkevich, Paul A., Joseph Piven, Heather Cody Hazlett, Rachel GimpelSmith, Sean Ho, James C. Gee, and Guido Gerig. ”User-guided 3D ActiveContour Segmentation of Anatomical Structures: Significantly Improved Ef-ficiency and Reliability.” NeuroImage 31.3 (2006): 1116-128. Print.

[14] Zhang, Q., X. Bai, M. Akutagawa, H. Nagashino, Y. Kinouchi, F. Shichijo,S. Nagahiro, and L. Ding. ”A Method for Two EEG Sources Localizationby Combining BP Neural Networks with Nonlinear Least Square Method.”Control, Automation, Robotics and Vision, 2002. ICARCV 2002. 7th Inter-national Conference 1 (2002): 536-41. Print.

[15] Zhang, Qinyu, Motohiro Yuasa, Hirofumi Nagashino, and Yohsuke Kinouchi.”Single Dipole Source Localization From Conventional EEG Using BP NeuralNetworks.” Engineering in Medicine and Biology Society, 1998. Proceedingsof the 20th Annual International Conference of the IEEE 4 (1998): 2163-166.Print.

71