Manuscript accepted on :6-Sep-2019
Published online on: 30-09-2019
Plagiarism Check: Yes
Reviewed by: Houda Harkat
Second Review by: Hassan Hassan Elsayyad
Final Approval by: Prof. Juei-Tang Cheng
Varsha Harpale and Vinayak Bairagi
Department of Electronics and Telecommunication Engineering, AISSMS’s-Institute of Information Technology, S. P. Pune University, Pune, India.
Corresponding Author E-mail: varshaks3@gmail.com
DOI : https://dx.doi.org/10.13005/bpj/1785
Abstract
Epilepsy is a brain disorder which produces recurrent seizures as a storm of the electrical activity of the brain. 70 millions of people living with epilepsy in the world and most of them are from developing countries and near about 12 millions of people are residing from India. In rural areas, seizure disorder is not treated seriously so there is a need for awareness and availability of proper medication. Recurring seizures are the major source of diagnosis of epilepsy so real-time prediction using analytical methods is a need of the research in this area. Electroencephalographic (EEG) signals are the rich source of the early diagnosis of epilepsy. The basic objective of the work is to proposed real time architecture which could be included in existing EEG monitoring and measuring instruments to mark the seizure occurrence. This will facilitate medical practitioners monitoring primary status of patients and understanding frequency of seizure occurrence. Thus the proposed work provide real-time architecture or improved performance reconfigurable solution to contribute in designing real-time seizure detection system. The EEG processing architecture is designed and implemented in this work, which will add values to the existing EEG monitoring and recording system.
Keywords
Electroencephalography (EEG); ANOVA; Epileptic Seizure; Feature Extraction; FPGA-Genetic Algorithm (FPGA-GA)
Download this article as:Copy the following to cite this article: Harpale V, Bairagi V. FPGA Based Architecture Implementation for Epileptic Seizure Detection Using One Way ANOVA and Genetic Algorithm. Biomed Pharmacol J 2019;12(3). |
Copy the following to cite this URL: Harpale V, Bairagi V. FPGA Based Architecture Implementation for Epileptic Seizure Detection Using One Way ANOVA and Genetic Algorithm. Biomed Pharmacol J 2019;12(3). Available from: http://biomedpharmajournal.org/?p=28788 |
Introduction
Most of the population suffers from various neurological disorders and epilepsy is one of the common chronic disorders observed due to an electrical storm in the brain. As per the survey in 2014 [1], about 50 million people in the world are suffering from epilepsy. The prevalence of epilepsy in rural areas is around 6-8 million people due to lack of awareness and lack of medication. Many people with active epilepsy do not get treatment on time because of the unavailability of low-cost seizure detection device, leading to a large treatment gap [2]. In 1999, the epilepsy population in India was 5.5 million [3], in 2014 it was observed as 10 million [1] and in 2015 it was 12 million [2]. Thus previously rate of increase in epileptic patients was slower and in recent years it has increased as 2 million per year. During 1995–2000 and 2007–2012, the epileptic surgeries in India are increased in threefold [4]. This generates a need for research in epilepsy detection and monitoring. The epilepsy is identified by recurring seizures at a certain interval. To monitor these seizures at rural areas there is a need for real-time, high performance, and less complicated systems.
There are various high-performance tools such as. Electroencephalography (EEG), functional Magnetic Resonance Imaging (fMRI), Near Infra-Red Spectroscopy (NIRS) and, Magneto Encephalography (MEG) for brain signal analysis and single-photon emission computerized tomography (SPECT) are there which can help in the diagnosis of epilepsy. But EEG is the most commonly used method for analysis and other methods are used at a later stage of epilepsy for surgery. Electroencephalography (EEG) is a powerful method of measuring equivalent electrical variation generated in the brain with various sensations. Multi-electrodes are placed invasively or non-invasively as per the severity and 10-20 standard of placement. The 10-20 system is the internationally recognized method to select the location of electrodes in EEG recording. The 10-20 refers to the fact that actual distances between electrodes are either 10% or 20% of front-back or right-left distance of the scalp [5]. These EEG signals are pre-processed with the multichannel data acquisition module with a certain sampling rate. The recorded EEG signal is very data intense, time and resource consuming thus it should handle a heavy workload of computations. Thus there is a need for high-performance architectures with low power, size, and computation for epileptic seizure detection and monitoring.
Various researchers in technology have proposed architectures for feature extraction, classification, detection, and prediction of seizures. These architecture needs to handle very huge data which can be optimized using proper feature selection methods. The architecture if proposed using Genetic algorithm for optimized feature selection.
Initially, the four basic steps of FPGA implementation of Genetic Algorithm (GA) were proposed by Man F. So et.al. [6] and Tu Lei et.al[7]. This architecture includes a block matching algorithm for image processing application. The next work was based on customizable IP implementation of GA on Vertex II type of advanced FPGA [8]. In further research, GA was implemented FPGA such as probability vector based compact GA [9], cellular compact GA [10], GA used for frequency estimation in power application and special evolving hardware using GA for real-time devices [11].
In epileptic seizure detection, GA was implemented using FPGA by Castellaro et.al [12] to provide wearable wireless hardware for epileptic patients. The system is designed using 64 EEG channels with 2048 sampling rate. Wei Ming Chen et.al [13] designed power efficient and compact size system on chip (SoC) for seizure detection with 92% of accuracy using entropy and spectrum based features. Similarly Altaf et.al [14] designed 1083uJ SoC for seizure classification. Digital Signal Processor (DSP) and ARM core-based real-time embedded system were proposed by B. Meng et. al [15], for seizure detection with 96.36% accuracy. Keito Ito et.al. [16] invented front end LSI chip and motherboard for neuro-signal processing and recording. This can be used in various applications such as Brain Machine Interface (BMI) and disease detection. Genetic algorithm is also used for seizure detection by R. Dhiman et. al. [17] and E. Bou Assi et.al. [18] with wavelet transform features and minimum redundancy and maximum relevance (mRmR) algorithm respectively.
The paper is organized further as section two describes the dataset and method implemented implemented by proposed system. The section three covers the performance analysis by demonstating system result. Section four concludes the work.
Material and Methods
Dataset
The standard database provided by the Department of Epileptology [19], is considered for experimentation of this research work. The five epileptic patients and five healthy people are involved in this research. The EEG signals recorded are preprocessed signals from data acquisition system having specification as 12-bit resolution, 0.5Hz to 85 Hz bandwidth, 40Hz low pass filter with the sampling frequency of 173.61Hz. This signal was recorded with 100 single channel for 23.6 sec and used 10-20 standard electrode placement method for channel location. The database comprises of five set A-E out of which set A and B are 100 recordings each from five healthy persons with eyes open and closed respectively and C-E are 100 recordings of epileptic patients. The experimentation performs feature extraction, feature selection and analysis of features for further implementation using software tool MATLAB but architecture verification are done only with a single file at a time. The architecture proposed here currently not supporting but has only optimized feature selection on the basis of genetic algorithm. Fig. 1 shows reconstructed EEG signals for healthy and unhealthy or epileptic persons using MATLAB and shows a clear distinction in signals.
Proposed Methodology
EEG signals are having artifacts such as chewing, eye blink or any motory action of muscles. So firstly artifacts are removed from the database using Independent Component Analysis (ICA) [20]. The independent componenents are extracted and artifacts are manually rejected or automatically rejected by EEGLAB tool. The updated database is saved. The updated database is used for further feature extraction, feature selection, dimensionality reduction of feature vector and classification in seizure, pre-seizure and non-seizure state. Fig 2 shows the proposed EEG architecture for dimensionality reduction of feature vectors. Initial feature extraction and selection is implemented using MATLAB Tool and it is all features are analysed to find highly relevant features. The features will be calculated and EEG processor architecture is implemented on FPGA.
Figure 1: Construction of EEG signal for a) Healthy Person b) Epileptic Patient |
Feature Extraction and Selection
The epileptic seizure signal and Normal EEG signals has different characteristics such as amplitude variation, increase in frequency component and rate of synchronization in various channels. Thus time and frequency domain features extracted from preprocessed EEG signals and are analysed for differentiating in a normal and abnormal state. Fig. 2 shows the flow of feature extraction and selection. Firstly time and frequency features are extracted then vertically features space analyzed and reduced using ANOVA test and horizontally reduced by Genetic algorithm.
Prof. John Holland in 1960 proposed Genetic Algorithm(GA) the work extended with the survival of the best fittest principle. GA is a natural evolutionary theory used for search and optimization techniques. Such an approach gives very effective solutions for a complex and high computational problem. Chaikla et.al. [25], suggested to use GA for feature selection with various fitness function. It is observed that simple model of GA for feature selection can be implemented with corrleation fitness function and roulette wheel selection.[24] R. Faraji et. al. [21] implemented the basic genetic algorithm on Field Programmable Gate Arrays (FPGA) with crossover and parallel processing. This increases the speed of execution of the algorithm as compared to software implementation. This FPGA architecture can be appended with existing measurement system to improve the performance.
Results and Discussion
Artifact Removal
EEGLAB is a MATLAB toolbox made available by Mathworks for processing brain signals data processed by electroencephalography (EEG), Magneto-encephalography (MEG), and any other electrophysiological method. Along with the basic processing, EEGLAB implements various analysis algorithm and artifact rejection and methods of data visualization. EEGLAB supports various file formats and allows users to group data from several subjects, and to cluster their independent components. Independent component gives frequency selective data with the removed artifact as shown in Fig. 3
Time and Frequency Feature Extraction and Selection
Average Mean value is a measure of EEG signal power, variation is measured from variance and coefficient of variation and synchronization is characterized by cross-correlation between the channels. Fig. 4a-4e shows time and frequency domain features and specifically Fig. 4e shows power spectral density (PSD) feature extracted from normal subjects (PSD_n), offset PSD value of epileptic subject during offset state (PSD_off) and PSD value of epileptic subject during onset seizures (PSD_s).
Figure 2: Implementation Flow of Feature Extraction, Selection and Classification. |
Figure 3: Spatial Mapping of Independent Component after Artifact Removal [20] |
This shows that PSD value during the three states has significant difference thus can be used for seizure detection. Thus all features are tested on the basis of dissimilarities in three states by ANOVA testing and only selected features are adopted for the classification model.
Figure 4: Feature extracted for Offset, Seizure and Normal state 4a) Average Mean Value(AVM), 4b) Kurtosis, 4c) Root Mean Square (RMS), 4d) Zero Crossing Rate(ZCR) and 4e) Power Spectral Density (PSD) |
Feature selection is adaptively finding sensitive features to be considered for further classification. There are various methods of feature selection such as mRmR and hypothesis testing like ANOVA testing. The proposed algorithm uses ANOVA testing for feature selection using similarity index and selects features has the highest variation or lowest P-value as shown in Table I for PSD value of signal considering offset, seizure and normal state. All the above features are hypothetically tested to find its relevance and importance for classification.
Table 1: ANOVA Calculation For PSD Values Of EEG Signal In Offset, Seizure And Normal States
Anova: Single Factor SUMMARY | ||||||
Source of Variation | SS | Df | MS | F | P-value | F crit |
Between Groups | 87103.67 | 2 | 43551.84 | 112.8514 | 3.5E-37 | 3.026153 |
Within Groups | 114618.8 | 297 | 385.9219 | |||
Total | 201722.5 | 299 |
ANOVA test with reference to features of seizure EEG signal shows that features RMS, ZCR, and PSD are most relevant and useful features to classify EEG signal. Table II shows RMS, ZCR, and PSD has minimum P-value and maximum F-Score thus can be used for classification. Thus overall feature selection due to ANOVA will reduce feature dimension space from “window size samples (N/Fs)*100 files x5 Features * States(3)” to “window size samples(N/Fs)*100 files x 3 Features * States(3)”. Thus total features space is vertically reduced by a factor of 2.
Table 2: ANOVA Test Parameters for All Features
Features | AVM | Kurtosis | RMS | ZCR | PSD |
P-Value | 0.086394 | 0.001104 | 2.54E-60 | 1.83E-36 | 3.5E-37 |
F-Score | 2.469135 | 6.967053 | 225.6502 | 109.9567 | 112.8514 |
An optimized solution called Genetic Algorithm (GA) is a well-known heuristic search tool proposed by Charles Darwin considering the theory of evolution. The GA is the composition of five phases initialization of population, selection of appropriate fitness function, selection of fittest value, crossover and mutation phase. The feature vector constructed after ANOVA is as given below
Fi ={ RMSi , ZCRi, PSDi}
Where ‘i’ is a number of data samples for each of the features i= 1,2,3…..300 and Fi will be chromosome with individual feature genes. There are three genes due to three features in each chromosome. But looking at PSD values accuracy is more so only PSD is considered for architecture development. The PSD feature extracted from normal and epileptic patients are as shown in Fig.5
Population matrix will be of 300 x 3 and each of the features will be passed through a genetic algorithm to select the fittest chromosome during offset, seizure and normal state. This is consider to be initial population and then parents are selected with best relevance with class by finding its relation with class features. The fitness function used is correlation function and selected features then provided to crossover. The crossover is a genetic operator used for recombination of the parents to generate new population.
Hardware Architecture of Genetic Algorithm designed on FPGA
The basic Genetic Algorithm implementation is proposed by Thorbole et. al [22] and further work is extended to EEG processor architecture as shown in Fig. 6. Features from the MATLAB tools are transmitted through RS 232 and hyper terminal of PC to FPGA. The designed is verified by implementing on Xilinx Spartan 6 FPGA based Altys board. The processor is designed with 10byte transmission and reception in one clock cycle and the byte are first stored in block RAM. One frame is of 512 bytes and then the processing starts in EEG-GA processor architecture. The architecture is designed with DATAPATH and CONTROL blocks as shown in Fig. 6.
Figure 5: PSD features extracted for Normal and Epileptic Patients. |
Hardware Architecture of Genetic Algorithm designed on FPGA
The basic Genetic Algorithm implementation is proposed by Thorbole et. al [22] and further work is extended to EEG processor architecture as shown in Fig. 5. Features from the MATLAB tools are transmitted through RS 232 and hyper terminal of PC to FPGA. The designed is verified by implementing on Xilinx Spartan 6 FPGA based Altys board. The processor is designed with 10byte transmission and reception in one clock cycle and the byte are first stored in block RAM. One frame is of 512 bytes and then the processing starts in EEG-GA processor architecture. The architecture is designed with DATAPATH and CONTROL blocks as shown in Fig. 5.
Figure 6: Datapath and Control architecture of dimensionality reduction architecture on FPGA |
Figure 7: FSM Controller Diagram For Total System |
It is divided in three main part viz. firstly communication module for transferring features to FPGA and receiving reduced features from FPGA to PC through RS 232 or UART communication with 8bit frame size and 174, 8-bit data samples buffer size. Harpale et. al. [23] published UART architecture with buffer implementation on FPGA and the work thus further extended for dimensionality reduction using GA. Secondly, datapath architecture including clock generation, reading buffer into block RAM and processing through the genetic algorithm process with separate process control unit and uploading the processed data with transmitting buffer to PC. Lastly, each of the blocks is invoked or controlled by controller designed using Finite State Machine (FSM) as shown in Fig. 7. FSM controller designed uses control word give below to control the total process execution.
Control block has 8-bit control word with the following details:
Control Word
DB7 | DB6 | DB5 | DB4 | DB3 | DB2 | DB1 | DB0 |
Finish | 0 | S/E Xmit | S/E up | S/E Proc | S/E Dwn | S/E Rec | SW0 |
The data path is designed to handle the flow of data. It includes input buffer, block RAM, EEG-GA processor block and an output buffer. It read features from PC sequentially and serially data will be received in the input buffer and Block RAM will be enabled till it receives 174 bytes as one frame and then EEG-GA process initiated to calculate its significance. The block-wise FPGA implementation results with RTL and its simulation results are as shown in Fig. 8.
Figure 8: Device Utilization Summary of FPGA Implementation |
Figure 8 : 8a) RTL block of Crossover Function 8b) RTL Block of Mutation Function, 8c) RTL Block Fitness Function 8d) Simulation result of Fitness, Crossover and Mutation. |
The device utilization summary for Xilinx-SPARTAN 6 FPGA platform is as shown in Fig. 8 with 37mWatts and 18.76 seconds execution time.
Features selected from MATLAB passes through this design and the dimension of the overall features related to seizure state of EEG signal. The feature has the significance of seizure state are selected and transmitted to PC signifies detection of seizures. The seizure detection with the proposed methodology improves accuracy and sensitivity. Thus facilitate to use in real time ASIC solution but performance related to the speed of execution and computation cost is platform specific. The received optimized features are classified using Support Vector Machine(SVM) Classifier and WEKA tool is used to evaluate the performance of the classifier. The performance metric observed here is as mentioned in Table III.
Table 3: Performance Parameters of Proposed Method
Performance
Methods |
Feature Space | % reduction in feature Space | Classification Accuracy |
Time and Frequency Domain Features | 23x100x3x5 features = 6900×5 | NA | 87.44% |
Feature Selection using ANOVA | 23x100x3x3 features = 6900×3 | 40 % reduction | 92.81% |
Optimized ANOVA+FPGA based GA | [460( Non- seizure Features)+ 2070 ( Seizure Features)] x 3=2530 x 3
( Considered Maximum Value) |
78 % reduction. | 96.54% |
Conclusion
For EEG analysis for seizure detection feature extraction and feature selection is an important requirement to avoid high dimensional space for data management. The proposed EEG-GA architecture facilitates to use it in a real-time system as an ASIC solution. The system can achieve accuracy of about 96% for seizure detection. Dimensionality reduction is observed about 40% of total dimensions with ANOVA and a hybrid model of ANOVA+GA gives 78% reduction of feature space. The design could provide low power (37mWatt) and less complexity or improved performance platform specific reconfigurable solution to contribute to designing real-time seizure detection system. The system will be significant in seizure monitoring of epileptic patient as well as detection of seizures to avoid an accident. This work concludes the basic EEG-GA architecture is designed with high performance for seizure detection and can be further extended to prediction of seizures.
Acknowledgments
Not Applicable
Funding source
Its Non-funded work.
References
- Santhosh, Nandanavana Subbareddy, Sanjib Sinha, and Parthasarathy Satishchandra. Epilepsy: Indian Perspective. Annals of Indian Academy of Neurology. Dec. 2017; 1: S3–S11.
- Amudhan, Senthil, Gopalkrishna Gururaj, and Parthasarathy Satishchandra. Epilepsy in India I: Epidemiology and Public Health. Annals of Indian Academy of Neurology 2017; 18: 263–277.
- Sridharan, R. and Murthy, B. N. Prevalence and Pattern of Epilepsy in India. Epilepsia 1999; 40(5); 631-636.
- Ramshekhar N. Menon, Kurupath Radhakrishnan. A survey of epilepsy surgery in India. In Seizure 2015; 26: 1-4.
- Hsu, Kai-Cheng, and Sung-Nien Yu. Detection of seizures in EEG using nonlinear subband parameters and genetic algorithm. Computers in Biology and Medicine 2015; 40(10): 823-830.
- F. So, and A. Wu. FPGA implementation of four-step genetic search algorithm Electronics, Circuits, and Systems, Proceedings of ICECS ’99. The 6th IEEE International Conference on, 1999: 2; 1143-1146.
- Tu Lei, Zhu Ming-cheng, and Wang Jing-xia. The hardware implementation of a genetic algorithm model with FPGA. 2002 IEEE International Conference on Field-Programmable Technology, 2002. (FPT). Proceedings. 2002: 374-377.
- R. Fernando, S. Katkoori, D. Keymeulen, R. Zebulum, and A. Stoica. Customizable FPGA IP Core Implementation of a General-Purpose Genetic Algorithm Engine. IEEE Transactions on Evolutionary Computation. 2010: 14(1); 133-149.
- C. Oliveira and V. P. Junior. An Implementation of Compact Genetic Algorithm on FPGA for Extrinsic Evolvable Hardware. 2008 4th Southern Conference on Programmable Logic. 2008: 187-190.
- Jewajinda, and P. Chongstitvatana. FPGA Implementation of a Cellular Compact Genetic Algorithm. 2008 NASA/ESA Conference on Adaptive Hardware and Systems. 2008: 385-390.
- A. Souza, M. Oleskovicz, D. V. Coury, T. V. Silva, A. C. B. Delbem, and E. V. Simoes. FPGA implementation of Genetic Algorithms for frequency estimation in power systems. 2008 IEEE Power and Energy Society General Meeting – Conversion and Delivery of Electrical Energy in the 21st Century. 2008: 1-6.
- Castellaro, G. Favaro, G. Salemi, M. Sarto and N. Rizzo. Hardware for seizure prediction: Towards wearable devices to support epileptic people. 2011 Annual International Conference of the IEEE Engineering in Medicine and Biology Society. 2011: 1628-1631.
- M. Chen et al. A Fully Integrated 8-Channel Closed-Loop Neural-Prosthetic CMOS SoC for Real-Time Epileptic Seizure Control. IEEE Journal of Solid-State Circuits. 2014: 49(1); 232-247.
- A. Bin Altaf and J. Yoo. A 1.83 $mu$J/Classification, 8-Channel, Patient-Specific Epileptic Seizure Classification SoC Using a Non-Linear Support Vector Machine. IEEE Transactions on Biomedical Circuits and Systems. 2016: 10(1); 49-60.
- Boying Meng , Qijia Jiang , Jeffrey Guo , Robin Liu, and Tom Wang. Embedded Real-Time Seizure Detection & Prediction Device. Report by Team Epilepsy submitted to Rice ECE Department. 2015
- Ito, K. , Tani, T. , Iwagami, T. , Nishino, S. , Kiyoyama, K. And Tanaka, T. Development of Biosignal Recording Board System with Agile Control of Circuit Characteristics for Various Biosignals. Electron Comm Jpn., 2018: 101; 47-54.
- Rohtash Dhiman, J.S. Saini, Genetic algorithms tuned the expert model for detection of epileptic seizures from EEG signatures. Applied Soft Computing. 2014:19; 8-17.
- B. Assi, M. Sawan, D. K. Nguyen, and S. Rihana. A hybrid, mRMR-genetic-based selection method for the prediction of epileptic seizures. 2015 IEEE Biomedical Circuits and Systems Conference (BioCAS). 2015: 1-4.
- Andrzejak RG, Lehnertz K, Rieke C, Mormann F, David P, Elger CE. Indications of nonlinear deterministic and finite dimensional structures in time series of brain electrical activity: Dependence on recording region and brain state. 2001: Phys. Rev. E, 64, 061907
- Harpale V.K. and Bairagi V.K. Significance of Independent Component Analysis (ICA) for Epileptic Seizure Detection Using EEG Signals. In: Satapathy S., Bhateja V., Joshi A. (eds) Proceedings of the International Conference on Data Engineering and Communication Technology. Advances in Intelligent Systems and Computing. 2017: 469.
- Rasoul Faraji, Hamid Reza Naji. An efficient crossover architecture for hardware parallel implementation of genetic algorithm. Neurocomputing. 128: 316-327.
- Thorbole, P. S., Kalbhor, S. D., Harpale, V. K., and Bairagi, V. K. (2017). Hardware Implementation of Genetic Algorithm for Epileptic Seizure Detection and Prediction. Proceeding of International Conference on Computing, Communication, Control and Automation (ICCUBEA). 2017.
- Harpale, V. K., Bairagi, V. K., and Pujari, S. S. Real-Time SoC architectures for Analysis of EEG. Proceeding of International Conference on Computing, Communication, Control and Automation (ICCUBEA), 2017
- Jingwei Too. Genetic Algorithm for Feature Selection. 2019: (https://www.mathworks.com/matlabcentral/fileexchange/71547-genetic-algorithm-for-feature-selection). MATLAB Central File Exchange.
- Chaikla, N., & Yulu Qi. Genetic algorithms in feature selection. IEEE SMC’99 Conference Proceedings. 1999 IEEE International Conference on Systems, Man, and Cybernetics (Cat. No.99CH37028).