Za´padoˇceska´ univerzita v Plzni Fakulta aplikovany´ch vˇed Katedra informatiky a vy´poˇcetn´ı techniky
Diplomov´ a pr´ ace Ust´ alen´ e vizu´ aln´ı evokovan´ e potenci´ aly (SSVEP) a jejich aplikace v syst´ emu BCI
Plzeˇ n 2012
Martin Fornbaum
Prohl´ aˇ sen´ı Prohlaˇsuji, ˇze jsem diplomovou pr´aci vypracoval samostatnˇe a v´ yhradnˇe s pouˇzit´ım citovan´ ych pramen˚ u. V Plzni dne 9. kvˇetna 2012 Martin Fornbaum
Abstract This dissertation deals with SSVEP application in the field of BCI. There are analyzed methods of measure brain waves, the principles of evoked potentials and how we can process EEG data in the first part. The next section is designed the BCI on the principle of SSVEP. It is about the control of robotics car which turned there where the user concentrates their attention. It was necessary to take into consideration principles of the brain and the individual differences of each person during the measuring and design modules of the system by sufficiently robust manner. Implementation of modules needed for the BCI is described in subsequent chapters. This includes modules for retrieval of the data, processing the EEG and classification. The last part of the dissertation includes an validation of the individual functions of each modules and the evaluation of the results.
Obsah ´ 1 Uvod 2 Elektroencefalografie 2.1 Elektroencefalograf . . . . . . . . 2.1.1 Elektrody . . . . . . . . . 2.2 Sn´ım´an´ı sign´alu EEG . . . . . . . 2.2.1 Frekvence v EEG z´aznamu 2.2.2 Artefakty . . . . . . . . .
1
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
3 Evokovan´ e potenci´ aly 3.1 Princip vzniku evokovan´eho potenci´alu . . . . 3.2 Vizu´aln´ı evokovan´e potenci´aly . . . . . . . . . 3.2.1 Stimulace zrakov´e dr´ahy . . . . . . . . 3.2.2 Ust´alen´e vizu´aln´ı evokovan´e potenci´aly 3.3 Sluchov´e evokovan´e potenci´aly . . . . . . . . . 3.3.1 Faktory ovlivˇ nuj´ıc´ı z´aznam . . . . . . . 3.4 Somatosenzorick´e evokovan´e potenci´aly . . . . 3.5 Motorick´e evokovan´e potenci´aly . . . . . . . . 3.6 Endogenn´ı evokovan´e potenci´aly . . . . . . . . 3.6.1 Stimulace . . . . . . . . . . . . . . . . 4 Zpracov´ an´ı EEG dat 4.1 Z´akladn´ı zpracov´an´ı sign´alu . . . . . . . . . 4.1.1 Vzorkov´an´ı sign´alu . . . . . . . . . . 4.1.2 Zpracov´an´ı kan´al˚ u . . . . . . . . . . 4.2 Fourierova tranformace . . . . . . . . . . . . 4.2.1 Diskr´etn´ı Fourierova transformace . . 4.2.2 Rychl´a Fourierova transformace . . . 4.2.3 Kr´atkodob´a Fourierova transformace
. . . . . . .
. . . . .
. . . . . . . . . .
. . . . . . .
. . . . .
. . . . . . . . . .
. . . . . . .
. . . . .
. . . . . . . . . .
. . . . . . .
. . . . .
. . . . . . . . . .
. . . . . . .
. . . . .
. . . . . . . . . .
. . . . . . .
. . . . .
. . . . . . . . . .
. . . . . . .
. . . . .
. . . . . . . . . .
. . . . . . .
. . . . .
. . . . . . . . . .
. . . . . . .
. . . . .
2 2 3 4 4 8
. . . . . . . . . .
9 9 10 10 13 14 15 16 16 17 17
. . . . . . .
18 18 18 20 21 21 23 24
OBSAH
OBSAH
5 Klasifikace dat 5.1 Pˇr´ıznakov´e rozpozn´av´an´ı . . 5.1.1 Diskriminaˇcn´ı funkce 5.1.2 Pˇr´ıznakov´ y vektor . . 5.1.3 Klasifik´atory . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
25 25 26 26 28
6 N´ avrh a implementace BCI 6.1 Souˇca´sti BCI . . . . . . . . . . . . . . . . . . 6.2 Modul pro stimulaci . . . . . . . . . . . . . . 6.2.1 Popis programu Presentation . . . . . 6.2.2 Poˇzadavky na sc´en´aˇr . . . . . . . . . . 6.2.3 Implementace sc´en´aˇre . . . . . . . . . 6.3 Modul pro naˇc´ıt´an´ı dat EEG . . . . . . . . . . 6.3.1 Naˇc´ıt´an´ı ze souboru . . . . . . . . . . . 6.3.2 Naˇc´ıt´an´ı v re´aln´em ˇcase . . . . . . . . 6.4 Modul pro zpracov´an´ı dat . . . . . . . . . . . 6.4.1 Uloˇzen´ı dat . . . . . . . . . . . . . . . 6.4.2 Transformace kan´al˚ u . . . . . . . . . . 6.4.3 DFT a FFT . . . . . . . . . . . . . . . 6.5 Modul pro klasifikaci . . . . . . . . . . . . . . 6.5.1 Implementace klasifik´atoru . . . . . . . 6.6 Modul pro v´ ybˇer vhodn´e stimulaˇcn´ı frekvence 6.6.1 Algoritmus v´ ybˇeru frekvenc´ı . . . . . . 6.7 Modul ovl´ad´an´ı modelu auta . . . . . . . . . . 6.8 Demonstraˇcn´ı programy . . . . . . . . . . . . 6.8.1 Program pro naˇc´ıt´an´ı dat ze souboru . 6.8.2 Program pro real-time komunikaci . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
31 31 32 34 36 37 40 40 42 45 45 45 46 47 47 50 51 51 51 53 56
. . . . . . . .
62 62 62 63 64 66 66 66 70
7 Ovˇ eˇ ren´ı funkˇ cnosti modul˚ u 7.1 Naˇc´ıt´an´ı EEG dat . . . . . 7.2 Zpracov´an´ı EEG dat . . . 7.2.1 FFT a DFT . . . . 7.3 Klasifikace . . . . . . . . . 7.4 Celkov´ y test . . . . . . . . 7.4.1 Popis experimentu 7.4.2 Zpracov´an´ı dat . . 7.4.3 Z´avˇer experimentu
. . . . . . . .
. . . .
. . . . . . . .
8 Z´ avˇ er
. . . .
. . . . . . . .
. . . .
. . . . . . . .
. . . .
. . . . . . . .
. . . .
. . . . . . . .
. . . .
. . . . . . . .
. . . .
. . . . . . . .
. . . .
. . . . . . . .
. . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
71
4
´ 1 Uvod Jiˇz od vynalezen´ı prvn´ıch stroj˚ u bylo zapotˇreb´ı je nˇejak ovl´adat. Po mnoho stolet´ı se jednalo o ovl´ad´an´ı ˇcistˇe manu´aln´ı. Pˇr´ıchod poˇc´ıtaˇc˚ u vˇsak tento zp˚ usob zmˇenil a zaˇcaly se vym´ yˇslet nov´e zp˚ usoby pro ovl´adan´ı vˇsech moˇzn´ ych zaˇr´ızen´ı. Prvn´ı myˇslenka, kter´a vˇetˇsinu lid´ı napadne, je ovl´adat stroje pˇrirozenou ˇreˇc´ı. Komu vˇsak tohle nestaˇc´ı, m˚ uˇze v myˇslenk´ach plout do vod m´enˇe prob´adan´ ych, ˇc´ımˇz je napˇr´ıklad ovl´ad´an´ı stroj˚ u pˇr´ımo pomoc´ı mozku. Ovl´ad´an´ı zaˇr´ızen´ı pomoc´ı mozku m˚ uˇze zn´ıt trochu jako ze sci-fi knihy, ale pravdou je, ˇze nˇekter´e z tˇechto syst´em˚ u jsou jiˇz spolehliv´e a pˇripraven´e k re´aln´emu nasazen´ı. Samozˇrejmˇe, ˇze se nejedn´a o ˇr´ızen´ı vˇec´ı myˇslenkou, ale jsou pro to vyuˇz´ıv´any zn´am´e principy fungov´an´ı mozku. Vˇsechny tyto syst´emy jsou souhrnnˇe oznaˇcov´any zkratkou BCI (brain computer interface). C´ılem t´eto pr´ace je navrhnout syst´em BCI pro ovl´ad´an´ı robotick´eho voz´ıtka pomoc´ı ust´alen´ ych vizu´aln´ıch evokovan´ ych potenci´al˚ u. Pro vytvoˇren´ı cel´eho syst´emu je zapotˇreb´ı prostudovat principy a zp˚ usob zpracov´av´an´ı ust´alen´ ych vizu´aln´ıch evokovan´ ych potenci´al˚ u a n´aslednˇe naimplementovat potˇrebn´e moduly. Podobn´e syst´emy na tˇechto principech na sv´e re´aln´e vyuˇzit´ı zat´ım ˇcekaj´ı, ale lze pˇredpokl´adat, ˇze postupem ˇcasu budou BCI syst´emy bˇeˇzn´ ym pomocn´ıkem pro tˇelesnˇe hendikapovan´e. Probl´emem zde st´ale z˚ ust´av´a nutnost pˇr´ıtomnosti elektrod na skalpu, coˇz v´ yraznˇe ovlivˇ nuje pohodlnost pouˇzit´ı.
1
2 Elektroencefalografie Elektroencefalografie patˇr´ı k z´akladn´ım metod´am pro vyˇsetˇren´ı mozku. Prvn´ı zachycen´ı elektrick´e aktivity mozku bylo provedeno uˇz na konci 19. stolet´ı, pˇriˇcemˇz zaloˇzen´ı skuteˇcn´e elektroencefalografie se odehr´alo ve 20. letech 20. stolet´ı. V pr˚ ubˇehu dalˇs´ıch let doˇslo k velk´emu rozvoji elektroencefalografie a ve 30. letech uˇz byly zn´amy z´akladn´ı patologie. Postupem ˇcasu se vyv´ıjela zaˇr´ızen´ı pro mˇeˇren´ı EEG, zejm´ena s rozvojem v´ ypoˇcetn´ı techniky pˇriˇsly velk´e zmˇeny, nicm´enˇe z´akladn´ı kˇrivka z˚ ust´av´a vizualizov´ana stejn´ ym zp˚ usobem jako na poˇca´tku. Toto vyˇsetˇren´ı patˇr´ı k tzv. neinvazivn´ım vyˇsetˇren´ım a pouˇz´ıv´a se jako z´akladn´ı vyˇsetˇren´ı vˇsech poruch mozku v neurologii a ve vˇetˇsinˇe pˇr´ıpad˚ ui v psychiatrii. Z´aznam zachycen´ y pˇri elektroencefalografii se naz´ yv´a elektroencefalogram (EEG) a odr´aˇz´ı se v nˇem mozkov´a aktivita - r˚ uzn´e f´aze sp´anku a stavy vˇedom´ı, projevy metabolick´ ych poruch, vlivy drog ˇci toxick´ ych l´atek. [8]
2.1
Elektroencefalograf
Elektroencefalograf je pˇr´ıstroj slouˇz´ıc´ı k z´ısk´an´ı EEG. Jelikoˇz jeho v´ yvoj zaˇcal jiˇz na konci 19. stolet´ı, nemohla b´ yt vyuˇzita ˇc´ıslicov´a technika a jednalo se o pˇr´ıstroj plnˇe analogov´ y. Aˇz v 80. letech pˇriˇsel nov´ y model, kter´ y se pouˇz´ıv´a dodnes. Analogov´e pˇr´ıstroje vyuˇz´ıvaly k zobrazov´an´ı osciloskopickou obrazovku s jedn´ım a pozdˇeji i v´ıce kan´aly. Z´aznam prob´ıhal na pap´ır pˇr´ımo p´ıˇs´ıc´ımi galvanometry s inkoustem. ˇ ıslicov´ C´ y elektroencefalograf je rozdˇelen na dvˇe hlavn´ı ˇca´sti (obr´azek 2.1). V tzv. head boxu je cel´a vlastn´ı elektronika a b´ yv´a um´ıstˇen co nejbl´ıˇze k hlavˇe pacienta. V t´eto ˇca´sti doch´az´ı k zes´ılen´ı sign´alu, filtraci a k digitalizaci sign´alu. Dalˇs´ı ˇca´st je samotn´ y poˇc´ıtaˇc, ve kter´em doch´az´ı k zobrazov´an´ı dat pomoc´ı softwaru od v´ yrobce.
2
Elektroencefalografie
Elektroencefalograf
Obr´azek 2.1: Sch´ema elektroencefalografu
2.1.1
Elektrody
Pro r˚ uzn´e typy vyˇsetˇren´ı jsou pouˇz´ıv´any r˚ uzn´e druhy elektrod. Elektrody lze napˇr´ıklad rozdˇelit takto: • Povrchov´e - kovov´e deskov´e elektrody nebo such´e elektrody (izolovan´e/neizolovan´e); • Podpovrchov´e - jehlov´e elektrody vpichov´e nebo implantabiln´ı elektrody; • Mikroelektrody - kapil´arn´ı elektrody pro sn´ım´an´ı z bunˇek nebo implantabiln´ı elektrody (sn´ım´an´ı z mozku); Jak jiˇz bylo ˇreˇceno, elektroencefalografie je neinvazivn´ı vyˇsetˇren´ı, tud´ıˇz se pouˇz´ıvaj´ı povrchov´e elektrody. Elektrody mus´ı b´ yt nepolarizovateln´e, ˇcemuˇz odpov´ıdaj´ı vz´acn´e kovy (zlacen´e elektrody) nebo nejˇcastˇeji pouˇz´ıvan´e elektrody typu AgCl, kter´e se skl´adaj´ı z vrstvy ˇcist´eho stˇr´ıbra pokryt´eho tenkou vrstvou chloridu stˇr´ıbrn´eho. Tyto elektrody se mus´ı kombinovat s vodiv´ ymi gely. [4]
Vodiv´ e pasty a gely Pro dobr´e vodiv´e spojen´ı mezi elektrodou a tˇelem se pouˇz´ıvaj´ı vodiv´e gely, kter´e vypln´ı prostor mezi elektrodou a tˇelem pacienta (obr´azek 2.2).
3
Elektroencefalografie
Sn´ım´an´ı sign´alu EEG
Obr´azek 2.2: Sch´ema elektroencefalografu
2.2
Sn´ım´ an´ı sign´ alu EEG
Jelikoˇz jsou elektrody pˇriloˇzeny na lebku pacienta, jsou amplitudy mozkov´ ych vln tlumeny pr˚ uchodem pˇres vrchn´ı ˇca´st lebky na u ´rovˇen ˇ ˇr´adovˇe des´ıtek mikrovolt. Dalˇs´ım probl´emem je, ˇze EEG sign´al vznik´a jako v´aˇzen´a sumace velk´eho mnoˇzstv´ı neuron˚ u, takˇze nelze odliˇsit akˇcn´ı potenci´al jednotliv´ ych bunˇek. D˚ usledkem b´ yv´a na prvn´ı pohled nepravideln´ y pr˚ ubˇeh, ve kter´em jsme schopni pozorovat pouze sign´aly s urˇcitou periodou. [2] Rozloˇzen´ı elektrod na povrchu lebky vypl´ yv´a z definovan´ ych m´ıst na lebce a n´asledn´em rozdˇelen´ı vˇsech vzd´alenost´ı po 10 % a 20 %. Tento zp˚ usob rozloˇzen´ı elektrod se naz´ yv´a syst´em 10-20 (obr´azek 2.3) a definuje um´ıstˇen´ı 19-ti z´akladn´ıch mˇeˇr´ıc´ıch elektrod. Sn´ım´an´ı vˇetˇs´ım poˇctem elektrod definuje syst´em 10-10 a pro experiment´aln´ı u ´ˇcely lze pouˇz´ıt aˇz 128 elektrod. [8]
2.2.1
Frekvence v EEG z´ aznamu
EEG sign´al je tvoˇren vlnami sinusov´eho tvaru a dˇel´ı se podle frekvenc´ı. Kaˇzd´a z tˇechto frekvenc´ı se objevuje za urˇcit´e situace a v z´avislosti na stavu subjektu. Nejˇcastˇeji se objevuj´ı mozkov´e vlny Delta, Theta, Alfa, Beta a Gama. 4
Elektroencefalografie
Sn´ım´an´ı sign´alu EEG
Obr´azek 2.3: Syst´em rozloˇzen´ı elektrod 10-20 Kaˇzd´ y typ mozkov´ ych vln m´a uveden´ y rozsah frekvenc´ı, kter´e se v r˚ uzn´ ych zdroj´ıch literatury nemus´ı shodovat, nebot’ konkr´etn´ı frekvence, na kter´e se vlna vyskytuje se liˇs´ı v z´avislosti na pacientovi a podm´ınk´ach. [1]
Delta Vlny delta jsou mozkov´e vlny o frekvenc´ıch menˇs´ıch neˇz 4 Hz. Tyto vlny se bˇeˇznˇe objevuj´ı u dospˇel´ ych v nejhlubˇs´ı f´azi non-REM sp´anku nebo u dˇet´ı. Na EEG z´aznamu je lze poznat podle vysok´ ych amplitud a n´ızk´e frekvence (viz obr´azek 2.4). Aˇckoliv jsou tyto frekvence zn´amkou tvrd´eho sp´anku, uk´azalo se, ˇze nˇekteˇr´ı lid´e jsou schopni se bˇehem meditace dostat do t´eto f´aze, ba co v´ıc, dokonce v n´ı i komunikovat.
Th´ eta Objevuje se v rozmez´ı mezi 4 - 7 Hz. Bˇeˇznˇe m˚ uˇze b´ yt pozorov´ana u dˇet´ı do 13-ti let nebo u dospˇel´ ych ve stavu ospalosti nebo po probuzen´ı. Th´eta vlny 5
Elektroencefalografie
Sn´ım´an´ı sign´alu EEG
Obr´azek 2.4: Uk´azka delta vln lze naj´ıt i bˇehem meditace. D´ale jsou tyto frekvence spojov´any s kreativitou a intuic´ı, ale tak´e s denn´ım snˇen´ım, u ´zkost´ı nebo depresemi (viz obr´azek 2.5).
Obr´azek 2.5: Uk´azka th´eta vln
Alfa Vyskytuje se na frekvenc´ıch mezi 8 a 12Hz. Tuto aktivitu lze nal´ezt v zadn´ıch ˇc´astech hlavy na obou stran´ach, nicm´enˇe amplitudy b´ yvaj´ı vˇetˇs´ı v dominantn´ı hemisf´eˇre mozku1 . Alfa vlny se vyskytuj´ı v bdˇel´em stavu pˇri zavˇren´ ych oˇc´ıch a bˇehem relaxace (viz obr´azek 2.6).
Obr´azek 2.6: Uk´azka alfa vln 1
V mozkov´e k˚ uˇre se nach´ azej´ı s´ıdla vyˇsˇs´ı nervov´e ˇcinnosti (ˇreˇc, logika...). Dominantn´ı hemisf´erou mozku naz´ yv´ ame hemisf´eru, ve kter´e je tˇechto s´ıdel bud’ v´ıce, nebo jsou v´ıce rozvinut´e. U prav´ ak˚ u zpravidla lev´ a hemisf´era a u lev´ak˚ u prav´a.
6
Elektroencefalografie
Sn´ım´an´ı sign´alu EEG
Beta Beta vlny se vyskytuj´ı na frekvenc´ıch 12 - 30 Hz (viz obr´azek 2.7). Pˇrevl´adaj´ı v norm´aln´ım bdˇel´em stavu a jsou zn´amkou logicko-analytick´eho myˇslen´ı. Jelikoˇz beta vlny se nach´azej´ı ve velk´em rozsahu, jsou d´ale dˇeleny na: • N´ızk´a beta (12 - 15 Hz) - Stav relaxovan´eho soustˇredˇen´ı • Stˇredn´ı beta (15 - 18 Hz) - Stav pohotovosti, nikoliv ale podr´aˇzdˇenosti • Vysok´a beta (nad 18 Hz) - Stav podr´aˇzdˇenosti a ostraˇzitosti
Obr´azek 2.7: Uk´azka beta vln
Gama Gama se vyskytuje na frekvenc´ıch vyˇsˇs´ıch neˇz 30 Hz (viz obr´azek 2.8). Vyskytuj´ı se ve stavech extr´emn´ıho vypˇet´ı, soustˇredˇenosti nebo ve velk´em stresu. Pod´ıl´ı se tak´e na ˇr´ızen´ı mozkov´ ych proces˚ u, fungov´an´ı pamˇeti a podporuje uˇcen´ı.
Obr´azek 2.8: Uk´azka gama vln
7
Elektroencefalografie
2.2.2
Sn´ım´an´ı sign´alu EEG
Artefakty
Kromˇe v´ yˇse popsan´ ych vln se mohou v z´aznamu vyskytovat jeˇstˇe dalˇs´ı vlnov´e tvary, kter´e naz´ yv´ame artefakty. Z´akladn´ı dˇelen´ı artefakt˚ u je na biologick´e a technick´e.
Biologick´ e artefakty Biologick´e artefakty jsou zapˇr´ıˇcinˇeny pacientem (i ne´ umyslnˇe). Jedn´a se napˇr´ıklad o mrk´an´ı, pohyby oˇc´ı, polyk´an´ı nebo tˇreba kaˇsl´an´ı (obr´azek 2.9).
Obr´azek 2.9: Biologick´e artefakty zp˚ usoben´e mrk´an´ım pacienta.
Technick´ e artefakty P˚ uvodem technick´ ych artefakt˚ u jsou elektrody, pˇr´ıstroj nebo napˇr´ıklad vnˇejˇs´ı ruˇsen´ı. U elektrod se m˚ uˇze jednat o vadnou elektrodu nebo ˇspatn´ y kontakt s lebkou pacienta. Pˇr´ıstroj m˚ uˇze b´ yt poˇskozen´ y nebo pokud je nap´ajen ze s´ıtˇe, bude se zcela jistˇe objevovat v datech vlnˇen´ı o frekvenci 50 Hz. 8
3 Evokovan´e potenci´aly Vyˇsetˇren´ı evokovan´ ych potenci´al˚ u je nejmladˇs´ı neurofyziologick´a metoda, kter´a se zaˇcala vyuˇz´ıvat v klinick´e praxi aˇz v posledn´ıch dvaceti letech. Po druh´e svˇetov´e v´alce byly zaznamen´any r˚ uzn´e nepravidelnosti v EEG z´aznamu pˇri r˚ uzn´ ych ˇcinnostech pacient˚ u. Tyto nepravidelnosti vyvolan´e na z´akladˇe podnˇetu byly nazv´any jako evokovan´e potenci´aly. Jelikoˇz je zde nutn´e prov´adˇet pr˚ umˇerov´an´ı velk´eho poˇctu epoch, doˇslo k v´ yrazn´emu rozˇs´ıˇren´ı t´eto oblasti aˇz s rozvojem v´ ypoˇcetn´ı techniky, kter´a tyto u ´kony dok´azala prov´adˇet sama. Kapitola ˇcerp´a z [3]. Postupem ˇcasu se zaˇcaly vyˇsetˇren´ı standardizovat a dnes se v praxi pouˇz´ıv´a nˇekolik druh˚ u vyˇsetˇren´ı: • VEP (visual evoked potentials) - vizu´aln´ı evokovan´e potenci´aly • BAEP (brainstem auditory evoked potentials) - kmenov´e sluchov´e evokovan´e potenci´aly • SEP (somatosensory evoked potentials) - somatosenzorick´e evokovan´e potenci´aly • MEP (motor evoked potentials) - motorick´e evokovan´e potenci´aly • ERP (endogenous event-related cognitive potentials) - endogenn´ı kognitivn´ı evokovan´e potenci´aly Jelikoˇz se pr´ace zab´ yv´a v´ yhradnˇe aplikac´ı vizu´aln´ıch evokovan´ ych potenci´al˚ u, bude tato problematika pops´ana detailnˇeji neˇz ostatn´ı druhy.
3.1
Princip vzniku evokovan´ eho potenci´ alu
Evokovan´ y potenci´al je reakce nervov´e soustavy na stimulaci receptor˚ u. Tato odpovˇed’ m˚ uˇze b´ yt zachycena kdekoliv mezi receptorem a korov´ ym analyz´atorem1 . To znam´en´a, ˇze pˇri stimulaci perifern´ıho nervu m˚ uˇzeme zachytit potenci´al na konˇcetinˇe, na r˚ uzn´ ych m´ıstech m´ıchy a nakonec na skalpu. 1
neurony k˚ ury, seskupen´e do okrsk˚ u, v nichˇz je prov´adˇena anal´ yza a synt´eza informac´ı pˇrich´ azej´ıc´ıch z receptor˚ u
9
Evokovan´e potenci´aly
Vizu´aln´ı evokovan´e potenci´aly
Evokovan´e potenci´aly jsou trif´azick´eho tvaru, kter´ y m´a tzv. P-N-P charakter. Znamen´a to, ˇze isoelektrick´a linie se nejprve vych´ yl´ı do pozitivn´ı deflexe, za kterou n´asleduje dominantn´ı negativn´ı v´ ychylka a n´aslednˇe dalˇs´ı pozitivn´ı. Tento tvar m´a evokovan´a odpovˇed’ tehdy, pokud registraˇcn´ı elektroda je bl´ıˇze ke gener´atoru neˇz elektroda referenˇcn´ı.
3.2
Vizu´ aln´ı evokovan´ e potenci´ aly
Zrakov´ y evokovan´ y potenci´al vznik´a souˇcasnou depolarizac´ı neuron˚ u v optic2 k´ ych oblastech okcipit´aln´ıho laloku.
3.2.1
Stimulace zrakov´ e dr´ ahy
Pro stimulaci zrakov´e dr´ahy se pouˇz´ıvaj´ı dva z´akladn´ı zp˚ usoby. Prvn´ı z nich je stimulace z´ableskem, kter´a se vyuˇz´ıv´a u nespolupracuj´ıc´ıch pacient˚ u. Tato metoda spoˇc´ıv´a ve zmˇenˇe jasu v zorn´em poli. Druh´ y zp˚ usob je stimulace pomoc´ı strukturovan´eho podnˇetu, kter´ y zpravidla obsahuje tmav´e a svˇetl´e plochy. Jednou moˇznost´ı je stimulace obrazcem, kter´ y se objevuje a miz´ı (obr´azek 3.1), ale ˇcastˇeji pouˇz´ıvanou technikou je z´amˇena inverzn´ıch vzor˚ u (obr´azek 3.2). V tomto pˇr´ıpadˇe z˚ ust´av´a celkov´ y jas stejn´ y a podnˇet vyvol´avaj´ı zmˇeny jasu v r˚ uzn´ ych ˇca´stech zorn´eho pole.
Obr´azek 3.1: Stimulace obrazem, kter´ y se objevuje a miz´ı 2
t´ yln´ıho
10
Evokovan´e potenci´aly
Vizu´aln´ı evokovan´e potenci´aly
Obr´azek 3.2: Stimulace inverzn´ım vzorem Technick´ e parametry ovlivˇ nuj´ıc´ı z´ aznam • Velikost stimulaˇcn´ı plochy a prvk˚ u obrazce • Luminance stimulaˇcn´ı plochy • Kontrast mezi prvky • Frekvence stimulace
Velikost stimulaˇ cn´ı plochy a prvk˚ u obrazce je rozhoduj´ıc´ı pro v´ ysledky mˇeˇren´ı. Lze stimulovat cel´e zorn´e pole pacienta (tzv. full-field stimulace) nebo polovinu zorn´eho pole (half-field stimulace). Pˇri stimulaci cel´ ym polem by mˇela b´ yt stimulaˇcn´ı plocha vetˇs´ı neˇz 8◦ (viz obr´azek 3.3). Se zvˇetˇsov´an´ım stimulaˇcn´ı plochy se m´ırnˇe zvyˇsuje aplituda vlny P100. Nejˇcastˇeji je pro stimulaci pouˇz´ıv´an vzor horizont´alnˇe nebo vertik´alnˇe se stˇr´ıdaj´ıc´ıch pruh˚ u nebo ˇctverce tvoˇr´ıc´ı ˇsachovnici. Velikost ˇctverc˚ u v ˇsachovnici je rozhoduj´ıc´ı faktor. Pˇri zmenˇsov´an´ı ˇctverc˚ u ˇsachovnice se zmenˇsuj´ı amplitudy a prodluˇzuj´ı latence vln. Pokud se naopak v´ yraznˇe zvˇetˇs´ı ˇctverce, st´av´a se dominantn´ı sloˇzkou stimulace jas a z´aznam se pˇribliˇzuje tvaru sledovan´eho pˇri stimulaci z´ableskem.
Luminance stimulaˇ cn´ı plochy ovlivˇ nuje z´aznam tak, ˇze pˇri jej´ım sn´ıˇzen´ı se zmenˇsuj´ı amplitudy a prodluˇzuj´ı latence vln. Sn´ıˇzen´ı pr˚ umˇern´e luminance o jednu logaritmickou jednotku zmenˇs´ı amplitudu o 18% a prodlouˇz´ı latenci o 18 ms. [3] 11
Evokovan´e potenci´aly
Vizu´aln´ı evokovan´e potenci´aly
Obr´azek 3.3: Velikost stimulaˇcn´ı plochy pro full-field stimulaci Kontrast mezi svˇetl´ ymi a tmav´ ymi prvky v´ yraznˇe ovlivˇ nuje z´aznam. Vyjadˇruje se v procentech a lze ho vypoˇc´ıtat jako C=
Lmax − Lmim · 100 Lmax + Lmin
(3.1)
pˇriˇcemˇz Lmax je luminance svˇetl´ ych prvk˚ u a Lmin luminance tmav´ ych prvk˚ u. Zvyˇsov´an´ı kontrastu aˇz do p´asma saturace (mezi 20-40%) vede ke zvyˇsov´an´ı amplitud a sniˇzov´an´ı latence vln. Dalˇs´ı zvyˇsov´an´ı kontrastu zvyˇsuje amplitudy jen nepatrnˇe. Byla provedena vyˇsetˇren´ı i s jinou barvou neˇz ˇcern´a a b´ıl´a (napˇr. ˇcerven´aˇcern´a, zelen´a-ˇcerven´a), ale z´aznam byl prakticky stejn´ y. Pˇri pouˇzit´ı r˚ uzn´ ych barev na stimulaci ust´alen´ ych vizu´aln´ıch evokovan´ ych potenci´al˚ u se v´ ysledky liˇs´ı (viz d´ale).
Frekvece stimulace se urˇcuje jako poˇcet zmˇen stimulaˇcn´ıho obrazce za sekundu a ud´av´a se v herz´ıch (Hz). Standardnˇe pouˇz´ıvan´a frekvence je 2 Hz, kdy lze vyhodnocovat jednotliv´e odpovˇedi na stimuly. Pˇri zvyˇsov´an´ı frekvence nad 5 Hz zaˇc´ınaj´ı vlny interferovat a vytv´aˇr´ı tak sinusov´ y pr˚ ubˇeh, kter´ y frekvenˇcnˇe odpov´ıd´a stimulaci. Tento typ z´aznamu se naz´ yva steady-state VEP (SSVEP, ust´alen´e vizu´aln´ı evokovan´e potenci´aly).
Biologick´ e faktory ovlivˇ nuj´ıc´ı z´ aznam • Vˇek 12
Evokovan´e potenci´aly
Vizu´aln´ı evokovan´e potenci´aly
• Zrakov´a ostrost • Tˇelesn´a teplota a pohlav´ı
Vˇ ek pacienta ovlivˇ nuje z´aznam v´ yraznˇeji, pokud jsou pouˇz´ıv´any niˇzˇs´ı luminance a menˇs´ı velikosti ˇctverc˚ u. Asi do 20 let doch´az´ı ke zkracov´an´ı latence P100 a naopak po 50. roku se latence zvˇetˇsuje. ˇ ım je menˇs´ı Zrakov´ a ostrost opˇet ovlivˇ nuje latenci a amplitudu vln. C´ zrakov´a ostrost, t´ım jsou aplitudy P100 niˇzˇs´ı a latence delˇs´ı.
Tˇ elesn´ a teplota nem´a prokazatelnˇe vliv na VEP, nicm´enˇe je to jeden z faktor˚ u, kter´ y pravdˇepodobnˇe m˚ uˇze za rozd´ıly mezi z´aznamem u muˇz˚ u a ˇzen. ˇ Pohlav´ı ovlivˇ nuje jak amplitudu tak latenci vln. Zeny maj´ı pr˚ umˇernˇe niˇzˇs´ı latenci P100. Jako d˚ uvod se uv´ad´ı vyˇsˇs´ı tˇelesn´a teplota a menˇs´ı hlava, tud´ıˇz i kratˇs´ı zrakov´a dr´aha. Aplituda P100 je u ˇzen vyˇsˇs´ı neˇz u muˇz˚ u. Jako d˚ uvod se ud´avaj´ı hormon´aln´ı rozd´ıly.
3.2.2
Ust´ alen´ e vizu´ aln´ı evokovan´ e potenci´ aly
Jak jiˇz bylo ˇreˇceno, ust´alen´e vizu´aln´ı evokovan´e potenci´aly (SSVEP) jsou speci´aln´ım pˇr´ıpadem VEP, kdy je s´ıtnice buzena v periodick´ ych cyklech rychle za sebou, tud´ıˇz nejsou evokov´any jednotliv´e vlny, ale vytv´aˇr´ı se periodick´e sinusov´e vlnˇen´ı o frekvenci stejn´e, jakou je buzena s´ıtnice.
Stimulace Zp˚ usoby stimulace zrakov´e dr´ahy byly pops´any v´ yˇse. Jelikoˇz u SSVEP jsou tˇreba vyˇsˇs´ı frekvence pro stimulaci, plyne z toho omezen´ı zejm´ena pro stimulaci pomoc´ı monitoru. U stimulace pomoc´ı monitoru nar´aˇz´ıme na probl´em, ˇze vˇetˇsina monitor˚ u m´a obnovovac´ı frekvenci 60 Hz, takˇze je tu velk´a limitace, kter´a se t´ yk´a
13
Evokovan´e potenci´aly
Sluchov´e evokovan´e potenci´aly
maxim´aln´ı frekvence. Pokud se tedy bude stˇr´ıdat pozad´ı s nˇejak´ ym obrazcem, dos´ahneme frekvence maxim´alnˇe 30 Hz. U stimulace pomoc´ı diody m˚ uˇze b´ yt naopak probl´em s poˇzadavkem na velikost stimulaˇcn´ı plochy.
Frekvence Frekvence, kter´ ymi je tˇreba pro SSVEP stimulovat se pohybuj´ı mezi 5 Hz a 75 Hz, pˇriˇcemˇz jsou rozdˇeleny do tˇr´ı p´asem. N´ızk´e se uv´adˇej´ı v rozmez´ı do 12 Hz, stˇredn´ı od 12 Hz do 30 Hz a vysok´e nad 30 Hz. Podle [9] nejvyˇsˇs´ı amplitudy jsou kolem 10 Hz a d´ale mezi 16 - 18 Hz. Ve vysok´em p´asmu jsou amplitudy niˇzˇs´ı. Pˇri volbˇe frekvence je tˇreba vyhnout se frekvenc´ım, na kter´ ych m´a pacient p´asmo alfa vln, nebot’ ty se mohou v z´aznamu objevovat bˇeˇznˇe a mohly by b´ yt zamˇenˇeny s odpovˇed´ı na stimulaci.
Barvy U stimulace klasick´ ych VEP bylo ˇreˇceno, ˇze barva nem´a na z´aznam ˇza´dn´ y vliv. To ale neplat´ı pro SSVEP, nebot’ v [9] se uv´ad´ı, ˇze barvy maj´ı vliv na ˇ stimulaci pro r˚ uzn´e frekvence. Cerven´ a barva m´a siln´e odezvy kolem 11 Hz, ale v okol´ı se rychle zmenˇsuj´ı. Oproti tomu modr´a barva m´a na 13 Hz slabˇs´ı odezvu neˇz barva ˇcerven´a, nicm´enˇe nen´ı tolik z´avisl´a na pouˇzit´e frekvenci. ˇ a barva m´a opˇet niˇzˇs´ı amplitudu a menˇs´ı z´avislost na zvolen´e frekvenci. Zlut´
3.3
Sluchov´ e evokovan´ e potenci´ aly
Sluchov´e evokovan´e potenci´aly jsou elektrick´e odpovˇedi na stimulaci zvukov´ ym podnˇetem. Podle latence je lze rozdˇelit na kmenov´e sluchov´e evokovan´e potenci´aly (BAEP) s latenc´ı do 10 ms, sluchov´e evokovan´e potenci´aly se stˇredn´ı latenc´ı 10 - 50 ms od podnˇetu, pomal´e korov´e odpovˇedi (50 - 300 ms) a pozdn´ı korov´e odpovˇedi s jeˇstˇe vˇetˇs´ı latenc´ı. V praxi se pˇri vyˇsetˇren´ı vyuˇz´ıvaj´ı jen BAEP, ostatn´ı jsou vyuˇz´ıv´any pro experiment´aln´ı u ´ˇcely.
14
Evokovan´e potenci´aly
Sluchov´e evokovan´e potenci´aly
Pro stimulaci sluchov´e dr´ahy se pˇrev´aˇznˇe pouˇz´ıv´a cvaknut´ı. M´enˇe pouˇz´ıvan´ y je t´on, kde kromˇe intenzity je tˇreba jeˇstˇe urˇcit frekvenci a d´elku trv´an´ı. Pˇri mˇeˇren´ı BAEP se v prvn´ıch 10 ms nach´az´ı pˇet aˇz sedm vln, kter´e jsou oznaˇcov´any ˇr´ımsk´ ymi ˇc´ıslicemi I - VII (obr´azek 3.4). Gener´ator vlny I je perifern´ı ˇc´ast sluchov´eho nervu. U ostatn´ıch vln nejsou gener´atory zn´am´e.
Obr´azek 3.4: Kmenov´e sluchov´e evokovan´e potenci´aly
3.3.1
Faktory ovlivˇ nuj´ıc´ı z´ aznam
Stejnˇe jako u VEP jsou zde biologick´e a technick´e faktory ovlivˇ nuj´ıc´ı z´aznam. Mezi biologick´e se zde ˇrad´ı vˇek, teplota a pohlav´ı. Z technick´ ych faktor˚ u z´aznam ovlivˇ nuje frekvence stimulace a intenzita. Je prok´az´ano, ˇze dˇeti maj´ı vˇetˇs´ı amplitudy vln pˇri vyˇsetˇren´ı BAEP a odliˇsn´e pomˇery amplitud I a V v porovn´an´ı s dospˇel´ ymi. Velmi mal´e dˇeti maj´ı vyˇsˇs´ı latence vln a k hodnot´am dospˇel´ ych se dost´avaj´ı kolem 1. aˇz 2. roku. ˇ Pohlav´ı m´a vliv na latenci i amplitudy vln. Zeny maj´ı niˇzˇs´ı latenci vln dokonce i po odeˇcten´ı vlivu velikosti hlavy. Zde m´a i tˇelesn´a teplota vliv na z´aznam, jak bylo dok´az´ano bˇehem operac´ı srdce pˇri umˇel´em podchlazen´ı. Pˇri niˇzˇs´ı teplotˇe se prodluˇzuj´ı latence BAEP, a to exponenci´alnˇe. Amplitudy vln se zvyˇsuj´ı do 28◦ C a d´ale pak line´arnˇe klesaj´ı. Pˇri zvyˇsov´an´ı frekvence stimulace nar˚ ust´a latence jednotliv´ ych vln a amplituda se zvˇetˇsuje. Pˇri vyˇsˇs´ıch frekvenc´ıch mohou b´ yt nˇekter´e vlny ˇspatnˇe 15
Evokovan´e potenci´aly
Somatosenzorick´e evokovan´e potenci´aly
rozliˇsiteln´e. Intenzita stimulace m´a z´asadn´ı vliv na BAEP. Pˇri vyˇsˇs´ı intenzitˇe se sniˇzuj´ı latence a zvyˇsuj´ı amplitudy. Vyˇsˇs´ı vliv m´a zvyˇsov´an´ı intenzity na vlnu I neˇz na vlnu V.
3.4
Somatosenzorick´ e evokovan´ e potenci´ aly
SEP vznikaj´ı jako reakce na stimulaci pˇr´ısluˇsn´ ych nerv˚ u. Standardnˇe se pouˇz´ıv´a stimulace pomoc´ı elektrick´eho stimulu. Intenzita stimulu je u kaˇzd´eho jedince individu´aln´ı, ale je tˇreba, aby doˇslo k podr´aˇzdˇen´ı nervov´e dr´ahy. Zde z´aleˇz´ı na tom, jak´ y nerv je stimulov´an. V pˇr´ıpadˇe n. medianus (stˇredov´ y nerv ruky) se za bˇeˇzn´ ych okolnost´ı intenzita stimulu pohybuje okolo 2 - 8 mA. Pokud stimulujeme n. tibialis (holenn´ı nerv), je to obvykle 4 - 8 mA. Obecnˇe intenzita neovlivˇ nuje tvar evokovan´ ych odpovˇed´ı. ˇ ım vˇetˇs´ı Frekvence stimulu na rozd´ıl od intenzity m´a vliv na z´aznam. C´ frekvence stimulace, t´ım menˇs´ı amplitudy vln jsou v z´aznamu. Bˇeˇznˇe pouˇz´ıvan´e frekvence jsou 3 - 5 Hz pro n. medianus a 1 - 5 Hz pro n. tibilis. D´elka vyˇsetˇren´ı pro obˇe konˇcetiny se stimulac´ı bˇeˇznou frekvenc´ı se pohybuje okolo 45 - 60 minut, proto se niˇzˇs´ı frekvence pouˇz´ıvaj´ı jen vyj´ımeˇcnˇe pro experiment´aln´ı u ´ˇcely.
3.5
Motorick´ e evokovan´ e potenci´ aly
Tento druh evokovan´ ych potenci´al˚ u se v´ yraznˇe liˇs´ı od vˇsech pˇredch´azej´ıc´ıch. U pˇredch´azej´ıc´ıch prob´ıhalo mˇeˇren´ı tak, ˇze byly stimulov´any periferie a z´aznam byl odeˇc´ıt´an na skalpu. U MEP je to pˇresnˇe naopak. Stimuluje se mozek nebo m´ıcha a evokovan´e potenci´aly se registruj´ı na periferii. Stimulace m˚ uˇze prob´ıhat bud’ invazivnˇe nebo neinvazivnˇe. Mezi neinvazivn´ı metody patˇr´ı magnetick´a a elektrick´a stimulace. Invazivn´ı stimulace m´ıchy a mozku je vyuˇz´ıv´ana bˇehem operac´ı, zejm´ena neurochirurgick´ ych nebo ortopedick´ ych. Mˇeˇren´ı motorick´ ych evokovan´ ych potenci´al˚ u m˚ uˇze pˇrispˇet k diagnostice r˚ uzn´ ych neurologick´ ych onemocnˇen´ı. 16
Evokovan´e potenci´aly
3.6
Endogenn´ı evokovan´e potenci´aly
Endogenn´ı evokovan´ e potenci´ aly
ERP (event-related potentials) jsou evokovan´e potenci´aly v´az´any na ud´alost. Pokud subjekt oˇcek´av´a nˇejak´ y podnˇet, kter´ y pˇrijde, je amplituda vlny vyˇsˇs´ı neˇz u podnˇetu neoˇcek´avan´eho nebo nezaj´ımav´eho. Nejrozˇs´ıˇrenˇeji pouˇz´ıvan´ y potenci´al je vlna P3 (nˇekdy oznaˇcovan´a jako P300). Typick´ y pr˚ ubˇeh m´a charakter N-P-N-P-N, kde lze identifikovat vrcholy N1, P2, N2, d´ale nejv´ yraznˇejˇs´ı P3 a obˇcas tak´e N4. Pˇri stimulaci vizu´aln´ım podnˇetem se jeˇstˇe nav´ıc vyskytuje vlna P1, kter´a je podobn´a vlnˇe P100 zaznamen´avan´e u VEP. D´ale pˇri vizu´aln´ı stimulaci je vyˇsˇs´ı latence vlny P3.
3.6.1
Stimulace
Tento druh evokovan´ ych potenci´al˚ u lze stimulovat r˚ uzn´ ymi zp˚ usoby. Podnˇety mohou b´ yt vizu´aln´ı, sluchov´e, somatosenzorick´e nebo i kombinovan´e. U stimulace sluchov´ ym podnˇetem se zpravidla pouˇz´ıv´a detekce dvou druh˚ u t´onu. Jeden m´a zpravidla frekvenci 1000 Hz, druh´ y 2000 Hz a jsou prezentov´any v n´ahodn´em poˇrad´ı v pomˇeru 4:1. Niˇzˇs´ı t´on se naz´ yv´a maskovac´ı a vyˇsˇs´ı t´on je naz´ yv´an terˇcov´ y. Subjekt je instruov´an, aby terˇcov´e podnˇety rozpoznal, pˇr´ıpadnˇe je i poˇc´ıtal. U vizu´aln´ı stimulace je pouˇzit stejn´ y postup jako u sluchov´e. Opˇet je zde maskovac´ı a terˇcov´ y podnˇet. Jejich trv´an´ı je obvykle 200 ms a objevuj´ı se v pomˇeru 5:1.
17
4 Zpracov´an´ı EEG dat V t´eto kapitole budou pops´any postupy zpracov´av´an´ı EEG sign´alu, kter´e jsou vyuˇz´ıv´any pˇri hled´an´ı ust´alen´ ych vizu´aln´ıch evokovan´ ych potenci´al˚ u. [6] Existuje nespoˇcet metod zpracov´an´ı sign´alu jako takov´eho a vˇetˇsina z nich m´a ˇsirok´e uplatnˇen´ı i za hranic´ı oblasti EEG. Postupy, kter´e jsou zde pops´any, lze vyuˇz´ıt na libovoln´ y sign´al nebo dokonce pro operace s obrazov´ ymi daty. Prvn´ı podkapitola se zab´ yv´a z´akladn´ım zpracov´an´ım sign´alu. Z EEG ve sv´e podstatˇe z´ısk´av´ame spojit´e sign´aly z kaˇzd´e elektrody. Je jasn´e, ˇze takov´e sign´aly nelze zpracov´avat, nebot’ je tˇreba sign´al nejprve navzorkovat. Kdyˇz je sign´al navzorkovan´ y, st´ale m´ame oddˇelen´e kan´aly a tud´ıˇz pro lepˇs´ı pr´aci s daty je vhodn´e zvolit nˇejak´ y zp˚ usob pro zpr˚ umˇerov´an´ı sign´al˚ u, aby vznikl pouze jedin´ y. Napˇr´ıklad pro zpracov´an´ı vizu´aln´ıch evokovan´ ych potenci´al˚ u je vhodn´e pr˚ umˇerovat pouze hodnoty z elektrod okcipit´aln´ıho laloku a ostatn´ı kan´aly nezapoˇc´ıt´avat v˚ ubec (nebo s malou v´ahou). Dalˇs´ı ˇca´sti t´eto kapitoly se zab´ yvaj´ı samotn´ ym zpracov´an´ım pˇredpˇripraven´eho sign´alu do tvaru, kter´ y jiˇz ˇclovˇeku m˚ uˇze napovˇedˇet, zda mˇeˇren´ı bylo uspˇeˇsn´e a zda se v datech objevuj´ı hledan´e frekvence. Jedn´a se zejm´ena o r˚ uzn´e druhy Fourierovy transformace. Existuje i mnoho dalˇs´ıch metod zpracov´an´ı EEG z´aznamu, kter´e ovˇsem pro dan´e t´ema nemaj´ı v´ yznam, proto zde nebudou uvedeny.
4.1
Z´ akladn´ı zpracov´ an´ı sign´ alu
Jak bylo pops´ano v´ yˇse, prvn´ım krokem k z´ısk´an´ı pouˇziteln´eho sign´alu je vzorkov´an´ı a n´asledn´e pr˚ umˇerov´an´ı jednotliv´ ych kan´al˚ u.
4.1.1
Vzorkov´ an´ı sign´ alu
Pˇri zpracov´an´ı poˇc´ıtaˇcem se vˇzdy setk´av´ame s diskr´etn´ımi daty, nebot’ pamˇet’ poˇc´ıtaˇce nen´ı neomezen´a a ani zpracov´an´ı neprob´ıha nekoneˇcnˇe rychle. Z tohoto d˚ uvodu je tˇreba z´ısk´avan´ y sign´al, kter´ y je spojit´ y, vzorkovat. Vzorkov´an´ı je tedy proces, ve kter´em je spojit´ y sign´al transformov´an na posloup18
Zpracov´an´ı EEG dat
Z´akladn´ı zpracov´an´ı sign´alu
nost diskr´etn´ıch vzork˚ u (viz obr´azek 4.1). Perioda vzorkov´an´ı se oznaˇcuje Ts a oznaˇcuje ˇcas mezi jednotliv´ ymi vzorky. Pˇrevr´acenou hodnotou periody je vzorkovac´ı frekvence. 1 (4.1) fs = Ts
Obr´azek 4.1: Vzorkov´an´ı analogov´eho sign´alu Sign´al je tˇreba vzorkovat s dostateˇcnou vzorkovac´ı frekvenc´ı fs , aby data ztratila co nejm´enˇe informace. Pˇri vzorkov´an´ı se ztr´atˇe informace nelze vyhnout. V pˇr´ıpadˇe ˇspatnˇe zvolen´e vzorkovac´ı frekvence m˚ uˇze doch´azet k aliasingu.
Volba vzorkovac´ı frekvence Pˇri volbˇe vzorkovac´ı frekvence je tˇreba se ˇr´ıdit vzorkovac´ı (Shanonovou) vˇetou, kter´a ˇr´ık´a, ˇze pokud je sign´al x(t) spojit´ y v ˇcase a obsahuje sloˇzky s frekvencemi menˇs´ımi neˇz fmax , pak m˚ uˇze b´ yt rekonstruov´an z posloupnosti diskr´etn´ıch vzork˚ u x(nT ), pokud pro vzorkovac´ı frekvence fs = T1s plat´ı: fs ≥ 2 · fmax Frekvence vence).
fmax 2
(4.2)
se naz´ yv´a Nyquistova frekvence (kritick´a vzorkovac´ı frek-
19
Zpracov´an´ı EEG dat
Z´akladn´ı zpracov´an´ı sign´alu
Aliasing Pokud vzorkovac´ı frekvence je menˇs´ı neˇz Nyquistova frekvence doch´az´ı k aliasingu. Znamen´a to, ˇze v rekonstruovan´em sign´alu se m´ısto p˚ uvodn´ı frekvence objev´ı frekvence jin´a, kter´a poruˇs´ı v´ ysledn´ y sign´al (viz 4.2 vlevo, kde modr´a kˇrivka zn´azorˇ nuje p˚ uvodn´ı sign´al, ˇcern´e teˇcky jsou jednotliv´e vzorky a zelen´a ˇc´arkovan´a ˇca´ra ukazuje sign´al po rekonstrukci). Pokud se dodrˇz´ı Shanonova vˇeta, k aliasingu nedoch´az´ı, jak je vidˇet na obr´azku 4.2 vpravo.
Obr´azek 4.2: Vlevo pˇr´ıklad ˇspatn´eho vzorkov´an´ı. Doch´az´ı ke zkreslen´ı p˚ uvodn´ıho sign´alu. Vpravo vhodn´e vzorkov´an´ı Pouˇz´ıvan´ y pˇr´ıstroj umoˇzn ˇuje z´aznam vzorkovac´ı frekvenc´ı fs = 1000Hz. Jelikoˇz budeme zkoumat mozkov´e vlny maxim´alnˇe o fmax = 50Hz, je tato vzorkovac´ı frekvence v´ıce neˇz dostateˇcn´a a k aliasingu by nemˇelo doch´azet.
4.1.2
Zpracov´ an´ı kan´ al˚ u
Jelikoˇz zdrojov´a data jsou mˇeˇrena nez´avisle na nˇekolika elektrod´ach, je tˇreba z dat vytvoˇrit jeden sign´al. Pro u ´ˇcely SSVEP se vyuˇz´ıvaj´ı zejm´ena elektrody O1 a O2. D´ale lze pouˇz´ıt jeˇstˇe elektrody Pz, P3 a P4, u kter´ ych uˇz nejsou hledan´e odezvy tolik patrn´e. Nejprve se kaˇzd´emu kan´alu pˇriˇrad´ı v´aha, s kterou m´a b´ yt do v´ ysledn´eho sign´alu zapoˇc´ıt´an. V´ ysledn´ y sign´al vznikne vypoˇc´ıt´an´ım v´aˇzen´eho pr˚ umˇeru z tˇechto dat. Oznaˇc´ıme-li tedy sign´al z kaˇzd´e elektrody elk a jednotliv´e v´ahy ak vznikne jednoduch´ y vztah: Pn
el =
ai · eli i=1 ai
i=1
Pn
20
(4.3)
Zpracov´an´ı EEG dat
Fourierova tranformace
S takto upraven´ ym sign´alem lze pracovat daleko pohodlnˇeji. Samozˇrejmˇe jde opˇet o dalˇs´ı ztr´atu informace, ale se spr´avnˇe zvolen´ ymi v´ahami to v dan´e oblasti nehraje v´ yraznou roli.
4.2
Fourierova tranformace
Fourierova transformace slouˇz´ı k pˇrevodu sign´alu do frekvenˇcn´ı oblasti. Vych´az´ı z Fourierov´ ych ˇrad, kter´e umoˇzn ˇuj´ı zapsat libovolnou periodickou funkci pomoc´ı souˇctu goniometrick´ ych funkc´ı. Dle vstupn´ıch dat lze rozdˇelit Fourierovu tranformaci na spojitou a diskr´etn´ı. V praxi se pˇri zpracov´an´ı setk´av´ame v´ yhradnˇe s diskr´etn´ım sign´alem, jak bylo pops´ano v´ yˇse.
4.2.1
Diskr´ etn´ı Fourierova transformace
Diskr´etn´ı fourierova transformace (DFT) je diskr´etn´ı transformace vyuˇz´ıvaj´ıc´ı Fourierovu anal´ yzu. Jak jiˇz n´azev napov´ıd´a, oˇcek´av´a na vstupu diskr´etn´ı sign´al, kter´ y je ˇcasto tvoˇren navzorkovan´ ym spojit´ ym sign´alem. Vstupn´ı sign´al mus´ı m´ıt koneˇcn´ y poˇcet vzork˚ u. Pokud tato podm´ınka nen´ı splnˇena, lze pro v´ ypoˇcet pouˇz´ıt pouze ˇca´st sign´alu, kter´ y uˇz samozˇrejmˇe obsahuje N vzork˚ u. V praxi se zpravidla zpracov´av´a sign´al v oknˇe o urˇcit´e d´elce, kter´e se postupnˇe posouv´a. Pro v´ ypoˇcet N-bodov´e DFT sign´alu s N vzorky lze pouˇz´ıt n´asleduj´ıc´ı vzorce. XDF T [k] =
N −1 X
x(n)e−j2πnk
/N
; k = 0, 1, ..., N − 1
(4.4)
n=0
XDF T [k] =
N −1 X
x(n)[cos(2πnk /N ) − jsin(2πnk /N )]
(4.5)
n=0
Zpˇetn´a transformace je d´ana vztahem: x[n] =
−1 1 NX XDF T [k]ej2πnk N k=0
/N
(4.6)
Jelikoˇz ej2πnk /N je periodick´a funkce, je periodick´a i DFT (pˇr´ıpadnˇe IDFT). Z tohoto d˚ uvodu staˇc´ı poˇc´ıtat vzorky pouze pˇres jednu periodu. 21
Zpracov´an´ı EEG dat
Fourierova tranformace
Symetrie DFT DFT re´aln´eho sign´alu vykazuje komplexnˇe sdruˇzenou symetrii okolo poˇc´atku (viz obr´azek 4.3) tj.: ∗ XDF T [−k] = XDF (4.7) T [k] Jelikoˇz je DFT periodick´e, lze napsat: XDF T [−k] = XDF T [N − k]
(4.8)
Pokud tedy spoˇc´ıt´ame spektrum ze sign´alu o N vzorc´ıch, dostaneme spek-
Obr´azek 4.3: Symetrie DFT pro lich´ y a sud´ y poˇcet vzork˚ u trum soumˇern´e podle stˇredu (N/2). Nen´ı tedy potˇreba poˇc´ıtat DFT pro vˇsech N vzork˚ u, ale staˇc´ı pouze pro N/2 vzork˚ u.
Frekvence v DFT Po v´ ypoˇctu DFT je z´ısk´ana posloupnost N prvk˚ u, kter´e jsou soumˇern´e podle stˇredu. Kaˇzd´e z tˇechto ˇc´ısel ud´av´a ˇcetnost frekvence v sign´alu. Je vˇsak tˇreba zjistit, jak´a frekvence odpov´ıd´a jak´emu prvku posloupnosti. Frekvenci konkr´etn´ıho ˇclenu posloupnosti lze jednoduˇse zjistit, pokud je zn´am´a vzorkovac´ı frekvence fs sign´alu. M´ame-li N vzork˚ u sign´alu a vzorkovac´ı frekvenci fs bude kaˇzd´ y prvek posloupnosti odpov´ıdat frekvenci: f [k] = k ·
fs N
(4.9)
Maxim´aln´ı frekvence, kterou posloupnost DFT m˚ uˇze obsahovat, je polovina vzorkovac´ı frekvence a nach´az´ı se na pozici XDF T [N/2] pro sud´ y poˇcet N. Pro lich´ y je to o prvek bl´ıˇze (viz obr´azek 4.3).
22
Zpracov´an´ı EEG dat
Fourierova tranformace
Jelikoˇz frekvence jsou diskr´etn´ı, m˚ uˇze se st´at, ˇze sign´al obsahuje frekvence, kter´e spektrum neobsahuje (napˇr´ıklad frekvence ve spektru jdou po 1 Hz a sign´al obsahuje frekvenci, kter´a nen´ı celoˇc´ıseln´a). V takov´em pˇr´ıpadˇe doch´az´ı k tzv. prosakov´an´ı ve spektru.
Prosakov´ an´ı ve spektru Vyskytuje se tehdy, pokud u vzorkovan´eho analogov´eho sign´alu poˇc´ıt´ame DFT z N vzork˚ u a v tˇechto vzorc´ıch nen´ı obsaˇzen celoˇc´ıseln´ y poˇcet period sinusoid obsaˇzen´ ych ve v´ ystupn´ım sign´alu. Znamen´a to, ˇze se v DFT vyskytnou spektr´aln´ı ˇc´ary i jinde, neˇz ve frekvenci vstupn´ıho sign´alu (obr´azek 4.4).
Obr´azek 4.4: Na lev´em obr´azku doch´az´ı k prosakov´an´ı ve spektru. V prav´em nikoliv
4.2.2
Rychl´ a Fourierova transformace
Hlavn´ım probl´emem DFT byla sloˇzitost v´ ypoˇctu, kter´ y je O(N 2 ) operac´ı. Rychl´a Fourierova transformace (FFT) optimalizuje v´ ypoˇcet na sloˇzitost O(N logN ). S prvn´ım algoritmem FFT pˇriˇsel v roce 1965 J. W. Cooley a John Tukey a jedn´a se o nejpouˇz´ıvanˇejˇs´ı algoritmus FFT. Z´akladn´ı princip, kter´ y je vyuˇz´ıv´an pro v´ ypoˇcet FFT je rozklad sign´alu na lich´e a sud´e vzorky, z kter´ ych je dˇel´ana transformace zvl´aˇst’. N-bodov´a DFT m˚ uˇze b´ yt totiˇz zaps´ana jako souˇcet dvou N/2 bodov´ ych transformac´ı vytvoˇren´ ych ze sud´ ych a lich´ ych vzork˚ u. 23
Zpracov´an´ı EEG dat
Fourierova tranformace
Malou cenou za efektivitu algoritmu je nutnost poˇc´ıtat FFT vˇzdy z poˇctu vzork˚ u, kter´ y je roven mocninˇe dvou, na rozd´ıl od DFT, kterou lze vypoˇc´ıtat z libovoln´eho poˇctu vzork˚ u. V pˇr´ıpadˇe, ˇze nem´ame spr´avn´ y poˇcet vzork˚ u, lze doplnit sign´al nulami na nejbliˇzˇs´ı mocninu dvou.
4.2.3
Kr´ atkodob´ a Fourierova transformace
Kr´atkodob´a Fourierova transformace je zachycen´ı frekvenˇcn´ıho spektra v ˇcase. Sign´al je rozdˇelen na bloky. Pro kaˇzd´ y blok je vypoˇcteno spektrum a vykresleno do tzv. spektrogramu. V´ ysledn´ y spektogram nejv´ıce ovlivˇ nuje d´elka jednotliv´ ych blok˚ u. Pokud je blok vˇetˇs´ı (v´ıce vzork˚ u pro DFT), je pˇresnˇejˇs´ı urˇcen´ı jednotliv´ ych frekvenc´ı, ale naopak se vytr´ac´ı informace o ˇcasov´em um´ıstˇen´ı dan´ ych frekvenc´ı. Pokud jsou naopak bloky mal´e, lze pˇresnˇe identifikovat ˇcas, ale frekvenˇcn´ı spektrum bude m´ıt menˇs´ı rozliˇsen´ı. Spektrogram m˚ uˇze b´ yt vykreslov´an bud’ v 2D zobrazen´ı, kde intenzitu urˇcuje barva (obr´azek 4.5 vlevo), nebo ve 3D zobrazen´ı, kde je intenzita vynesena na tˇret´ı osu (obr´azek 4.5 vpravo).
Obr´azek 4.5: Vlevo uk´azka 2D spektrogramu, vpravo 3D spektrogramu
24
5 Klasifikace dat Klasifikace dat a rozpozn´av´an´ı je ˇsiroce pouˇz´ıv´an´a oblast v mnoha oborech. Jedn´a se o zaˇrazov´an´ı objekt˚ u re´aln´eho svˇeta do tˇr´ıd. Tyto tˇr´ıdy jsou bud’ pˇredem definov´any (klasifikace) nebo se tˇr´ıdy vytv´aˇrej´ı za bˇehu (rozpozn´av´an´ı). Aby bylo moˇzn´e jednotliv´e objekty od sebe odliˇsit, je tˇreba zvolit vhodn´e veliˇciny, kter´e je charakterizuj´ı. V´ ybˇer vhodn´ ych veliˇcin pouˇzit´ ych pro klasifikaci nebo rozpozn´av´an´ı je u kaˇzd´eho probl´emu jin´ y, vˇzdy z´aleˇz´ı na povaze u ´lohy. Z´akladn´ı dˇelen´ı metod pro klasifikaci a rozpozn´av´an´ı je na pˇr´ıznakov´e a struktur´aln´ı. Pˇr´ıznakov´e vyuˇz´ıvaj´ı tzv. pˇr´ıznakov´ y vektor, kter´ y je sloˇzen´ y z veliˇcin charakterizuj´ıc´ıch objekt. Pˇr´ıznakov´e metody tento vektor porovn´avaj´ı a na z´akladˇe toho se rozhoduj´ı o zaˇrazen´ı do tˇr´ıdy. Struktur´aln´ı metody nejprve nadefinuj´ı mnoˇzinu z´akladn´ıch popisn´ ych element˚ u - primitiv a objekty pomoc´ı nich popisuj´ı. Jelikoˇz pro realizaci t´eto pr´ace nelze vyuˇz´ıt struktur´aln´ı metody, budou pops´any jen pˇr´ıznakov´e. V´ıce informac´ı o klasifikaci v [5].
5.1
Pˇ r´ıznakov´ e rozpozn´ av´ an´ı
Prvn´ım krokem pro realizaci pˇr´ıznakov´eho rozpozn´av´an´ı je vybrat pˇr´ıznaky, charakterizuj´ıc´ı klasifikovan´e objekty. Tyto pˇr´ıznaky se uspoˇra´daj´ı do pˇr´ıznakov´eho vektoru. Na z´akladˇe tohoto pˇr´ıznakov´eho vektoru rozhoduje klasifik´ator o pˇr´ısluˇsnosti objektu k tˇr´ıdˇe. Klasifik´ator lze nastavit dvˇema zp˚ usoby: • Anal´ yzou probl´emu a definov´an´ım rozhodovac´ıho pravidla pˇred klasifikac´ı • Sestaven´ım rozhodovac´ıho pravidla s pouˇzit´ım objekt˚ u, jejichˇz spr´avn´a klasifikace je pˇredem zn´ama. Tomuto zp˚ usobu se ˇr´ık´a uˇcen´ı (nebo tr´enov´an´ı) klasifik´atoru.
25
Klasifikace dat
5.1.1
Pˇr´ıznakov´e rozpozn´av´an´ı
Diskriminaˇ cn´ı funkce
M´ame pˇr´ıznakov´ y vektor xT = [x1 , x2 , ..., xn ] o n prvc´ıch. Pˇr´ıznakov´ y prostor je n-rozmˇern´ y a oznaˇc´ıme jej Λ. Klasifikace prob´ıh´a do R tˇr´ıd a kaˇzd´a tˇr´ıda je oznaˇcena identifik´atorem w1 , w2 , ..., wR . Funkce w = d(x) je rozhodovac´ım pravidlem, kter´e popisuje toto pˇriˇrazen´ı. Rozhodovac´ı pravidlo vymezuje R disjunktn´ıch podprostor˚ u Λ oznaˇcen´ ych Λ1 , Λ2 , ..., ΛR . Nadplochy, kter´e jsou spoleˇcn´e dvˇema mnoˇzin´am Λi , Λj naz´ yv´ame rozdˇeluj´ıc´ı nadplochy. Tyto nadplochy naz´ yv´ame diskriminaˇcn´ı funkce a oznaˇcujeme je gi (x), i = 1, ..., R. Kaˇzd´a diskriminaˇcn´ı funkce je pˇriˇrazena jedn´e z tˇr´ıd. Vektor x zaˇrad´ıme do tˇr´ıdy Λi tehdy, pokud m´a diskriminaˇcn´ı funkce pˇriˇrazen´a t´eto tˇr´ıdˇe pro tento vektor x vyˇsˇs´ı hodnotu neˇz diskriminaˇcn´ı funkce vˇsech ostatn´ıch tˇr´ıd. Pokud by vektor leˇzel na rozdˇeluj´ıc´ı nadploˇse, nelze o pˇr´ısluˇsnosti k tˇr´ıdˇe rozhodnout. Pro n = 2 a R = 3 je vidˇet pˇr´ıklad na obr´azku 5.1.
5.1.2
Pˇ r´ıznakov´ y vektor
Pˇr´ıznakov´ y vektor je vektor, kter´ y je sloˇzen´ y z jednotliv´ ych pˇr´ıznak˚ u popisuj´ıc´ıch objekt. Tyto pˇr´ıznaky jsou z´ısk´any r˚ uzn´ ym zp˚ usobem. Nejjednoduˇsˇs´ı moˇznost je zmˇeˇrit fyzik´aln´ı vlastnosti objekt˚ u (napˇr. velikost, hmotnost, tvar...). Tomuto zp˚ usobu se ˇr´ık´a selekce pˇr´ıznak˚ u. Druhou moˇznost´ı je tzv. extrakce pˇr´ıznak˚ u, kter´a z´ısk´av´a pˇr´ıznaky z p˚ uvodn´ıch pˇr´ıznak˚ u nˇejakou transformac´ı. V mnoha oblastech se pouˇz´ıvaj´ı napˇr´ıklad Fourierovy koeficienty, kter´e vypov´ıdaj´ı o urˇcit´ ych vlastnostech objektu. Nˇekter´e u ´vahy mohou j´ıt smˇerem, ˇze pokud pˇr´ıznakov´ y vektor obsahuje velk´e mnoˇzstv´ı pˇr´ıznak˚ u, je objekt pops´an pˇresnˇeji, tud´ıˇz klasifikace bude prob´ıhat s vyˇsˇs´ı pˇresnost´ı. Tyto u ´vahy nar´aˇz´ı na dva hlavn´ı probl´emy. Prvn´ı z probl´em˚ u je ten, ˇze vyˇsˇs´ı poˇcet pˇr´ıznak˚ u v ˇza´dn´em pˇr´ıpadˇe nezaruˇcuje vyˇsˇs´ı spolehlivost klasifikace, dokonce v mnoh´ ych pˇr´ıpadech spolehlivost sniˇzuje. Druh´ y probl´em nast´av´a v rychlosti, kdy vˇetˇs´ı pˇr´ıznakov´ y vektor znamen´a delˇs´ı ˇcas potˇrebn´ y pro zpracov´an´ı a nav´ıc samotn´a extrakce pˇr´ıznak˚ u trv´a nepochybnˇe d´ele. U klasifikace je vˇzdy nejvˇetˇs´ım probl´emem vybrat spr´avn´e pˇr´ıznaky, nebot’ pro kaˇzdou u ´lohu mus´ı pˇr´ıznaky vyb´ırat ˇclovˇek na z´akladˇe zkuˇsenost´ı, d˚ ukladn´e anal´ yzy probl´emu a mnohdy tak´e intuice.
26
Klasifikace dat
Pˇr´ıznakov´e rozpozn´av´an´ı
Obr´azek 5.1: Dvourozmˇern´ y pˇr´ıznakov´ y prostor se tˇremi tˇr´ıdami
27
Klasifikace dat
5.1.3
Pˇr´ıznakov´e rozpozn´av´an´ı
Klasifik´ atory
Klasifik´ator je stroj, kter´ y zobrazuje pˇr´ıznakov´ y vektor na identifik´ator tˇr´ıdy. Existuje mnoho typ˚ u klasifik´ator˚ u zaloˇzen´ ych na r˚ uzn´ ych principech. Pro naˇsi potˇrebu budou uvedeny jen nejpouˇz´ıvanˇejˇs´ı.
Minim´ aln´ı vzd´ alenost od tˇ eˇ ziˇ stˇ e tˇ r´ıdy Tato metoda klasifikace je jednou z nejjednoduˇsˇs´ıch. Zpravidla je pˇredloˇzena mnoˇzina tr´enovac´ıch dat, kter´e maj´ı urˇcenou pˇr´ısluˇsnost ke sv´e tˇr´ıdˇe. Z tˇechto dat je vypoˇcteno tˇeˇziˇstˇe tˇr´ıdy tT = [t1 , t2 , ..., tn ], kter´e je reprezentov´ano bodem v klasifikaˇcn´ım prostoru. Druhou moˇznost´ı je zadat tˇeˇziˇstˇe pˇr´ımo, pokud zn´ame pˇresn´e hodnoty ide´aln´ıho pˇr´ıznakov´eho vektoru pro konkr´etn´ı tˇr´ıdu. Pˇri klasifikaci je z´ısk´an pˇr´ıznakov´ y vektor objektu a poˇc´ıtaj´ı se vzd´alenosti k tˇeˇziˇst´ım vˇsech tˇr´ıd. Zpravidla je pouˇz´ıvan´a Euklidovsk´a vzd´alenost, ale lze pouˇz´ıt i jin´e metriky. v me =
u n uX t (t
i
− xi )2
(5.1)
i=1
Objekt bude zaˇrazen do tˇr´ıdy, jej´ıˇz tˇeˇziˇstˇe je nejbl´ıˇze pˇr´ıznakov´emu vektoru klasifikovan´eho objektu (obr´azek 5.2).
K-nejbliˇ zˇ s´ıch soused˚ u Metoda k-nejbliˇzˇs´ıch soused˚ u je zobecnˇen´ı v´ yˇse uveden´eho zp˚ usobu klasifikace. Spoˇc´ıv´a v zaˇrazen´ı objektu do tˇr´ıdy dle k nejbliˇzˇs´ıch objekt˚ u z tr´enovac´ı ˇ mnoˇziny. Casto pouˇz´ıvan´a hodnota je k = 1, kde je objekt zaˇrazen do stejn´e tˇr´ıdy jako nejbliˇzˇs´ı v´ yskyt prvku z tr´enovac´ı mnoˇziny. V praxi se pouˇz´ıvaj´ı dalˇs´ı prvoˇc´ısla, ale v´ıce soused˚ u neˇz 13 se bˇeˇznˇe nepouˇz´ıv´a. Pro k > 1 se uvaˇzuje k nejbliˇzˇs´ıch soused˚ u a objekt je zaˇrazen do tˇr´ıdy, kter´a m´a v dan´em okol´ı nejvyˇsˇs´ı zastoupen´ı. Jak je vidˇet na obr´azku 5.3 na volbˇe k z´avis´ı v´ ysledky klasifikace. V tomto pˇr´ıpadˇe pro k = 1 a k = 5 bude objekt zaˇrazen do tˇr´ıdy ˇcerven´ ych, pro k = 3, k = 7 a k = 11 se zaˇrad´ı k tˇr´ıdˇe zelen´ ych.
28
Klasifikace dat
Pˇr´ıznakov´e rozpozn´av´an´ı
ˇ Obr´azek 5.2: Dvourozmˇern´ y pˇr´ıznakov´ y prostor se tˇremi tˇr´ıdami. Ctverce zn´azorˇ nuj´ı tˇeˇziˇstˇe tˇr´ıd. Koleˇcko zn´azorˇ nuj´ıc´ı pˇr´ıznakov´ y vektor objektu je klasifikov´ano do zelen´e tˇr´ıdy dle krit´eria nejmenˇs´ı vzd´alenosti k tˇeˇziˇsti
Obr´azek 5.3: Klasifikace pomoc´ı algoritmu k-nejbliˇzˇs´ıch soused˚ u. V´ ysledky klasifikace jsou rozd´ıln´e pro r˚ uzn´e hodnoty k 29
Klasifikace dat
Pˇr´ıznakov´e rozpozn´av´an´ı
Shlukov´ a anal´ yza Shlukov´a anal´ yza je metoda, kter´a slouˇz´ı k nalezen´ı shluk˚ u v mnoˇzinˇe dat obsahuj´ıc´ı neklasifikovan´e pˇr´ıznakov´e vektory. C´ılem je nal´ezt shluky tˇechto vektor˚ u, tj. skupiny, jejichˇz prvky jsou si vz´ajemnˇe bl´ızk´e.
30
6 N´avrh a implementace BCI BCI (brain computer interface) je jeden ze zp˚ usob˚ u, jak komunikovat s poˇc´ıtaˇcem. Z´akladn´ı zp˚ usob komunikace s poˇc´ıtaˇcem je pomoc´ı kl´avesnice, pozdˇeji se zaˇcalo pracovat na komunikaci v pˇrirozen´em jazyce a nejnovˇejˇs´ı zp˚ usob je komunikace pomoc´ı mozku, kter´a zat´ım nem´a velk´e uplatnˇen´ı, ale lze pˇredpokl´adat velk´ y rozvoj do budoucnosti. Zp˚ usob˚ u, jak´ ymi lze ovl´adat zaˇr´ızen´ı pomoc´ı mozku, je mnoho a z´aleˇz´ı jen na autorovi BCI, jak´ y zvol´ı. Samozˇrejmˇe k volbˇe zp˚ usobu ovl´ad´an´ı je tˇreba zn´at z´akladn´ı fyziologii mozku a diagnostick´e metody - tedy v naˇsem pˇr´ıpadˇe EEG. Tato pr´ace se zab´ yv´a vyuˇzit´ım ust´alen´ ych vizu´aln´ıch evokovan´ ych potenci´al˚ u v BCI. Pro vyuˇzit´ı SSVEP v BCI se nab´ız´ı hned nˇekolik moˇzn´ ych vyuˇzit´ı. Jelikoˇz se bude jednat o rozpozn´av´an´ı nˇekolika frekvenc´ı, kter´e budou prezentov´any, prvn´ı vˇec, kter´a ˇclovˇeka napadne, je ˇr´ızen´ı smˇeru. M˚ uˇze se jednat o ˇr´ızen´ı kurzoru myˇsi na obrazovce, ovl´ad´an´ı jednoduch´e hry a nebo ˇr´ızen´ı modelu auta. Pro pr´aci jsem vybral moˇznost ˇr´ızen´ı modelu auta pomoc´ı SSVEP. Jednotliv´e moduly BCI byly vˇetˇsinou naimplementov´any v javˇe. Jedinou vyj´ımkou je stimulaˇcn´ı sc´en´aˇr, ke kter´emu byl pouˇzit software Presentation. Tyto moduly jsou pouˇz´ıvan´e v r´amci dvou program˚ u, na kter´ ych bylo prov´adˇeno testov´an´ı. Tyto programy obsahuj´ı dalˇs´ı uˇziteˇcn´e funkce pom´ahaj´ıc´ı urˇcit spr´avnou funkcionalitu modul˚ u. Moduly lze jednoduˇse pouˇz´ıt v jin´em programu, nebot’ jsou to samostatn´e tˇr´ıdy, popˇr´ıpadˇe cel´e bal´ıky.
6.1
Souˇ c´ asti BCI
Ku ´spˇeˇsn´emu sestaven´ı BCI je tˇreba nˇekolik souˇc´ast´ı. V prvn´ı ˇradˇe se jedn´a o zaˇr´ızen´ı pro mˇeˇren´ı EEG, kter´e umoˇzn ˇuje real-time zpracov´an´ı ve vytvoˇren´em programu. Dalˇs´ı souˇc´ast´ı je poˇc´ıtaˇc, na kter´em budou EEG data zpracov´av´ana, a z kter´eho bude prezentov´an stimulaˇcn´ı sc´en´aˇr na monitor. D´ale je tˇreba m´ıt bezdr´atovou webkameru, kter´a bude um´ıstˇena na autˇe a bude pos´ılat obraz cesty pˇred autem. Smˇer auta bude ˇr´ızen pomoc´ı bluetooth zaˇr´ızen´ı na autˇe a to bude ovl´adat program v poˇc´ıtaˇci pro zpracov´an´ı EEG dat. Pro lepˇs´ı pˇredstavu je zde obr´azek 6.1.
31
N´avrh a implementace BCI
Modul pro stimulaci
Obr´azek 6.1: Navrˇzen´e BCI V tomto n´avrhu se poˇc´ıt´a s jedn´ım poˇc´ıtaˇcem a jedn´ım programem, kter´ y bude obstar´avat stimulaci i zpracov´an´ı dat. Druhou moˇznost´ı je udˇelat dva nez´avisl´e programy, z nichˇz jeden bude zajiˇst’ovat stimulaci a zobrazovat obraz z webkamery a druh´ y zpracov´avat data a odes´ılat zmˇeny smˇeru j´ızdy.
6.2
Modul pro stimulaci
Modul pro stimulaci by mˇel obsahovat dvˇe z´akladn´ı vˇeci. Jedna z nich je samotn´a stimulace, druh´a zpˇetn´a vazba, kter´a uˇzivateli zobrazuje aktu´aln´ı akci. Modul pro stimulaci nebyl plnˇe implementov´an. Byla implementov´ana pouze ˇc´ast, potˇrebn´a pro testov´an´ı ust´alen´ ych vizu´aln´ıch evokovan´ ych potenci´al˚ u. Pro naˇse potˇreby postaˇcilo naprogramovat sc´en´aˇr v softwaru Presentation.
Stimulace je z´akladn´ı pˇredpoklad pro spr´avnou funkci BCI. Pro stimulaci mohou b´ yt vyuˇzity r˚ uzn´e obrazce, kter´e budou dostateˇcnˇe stimulovat zrakovou dr´ahu uˇzivatele. Um´ıstˇeny by mˇely b´ yt na kraji monitoru, aby se vz´ajemnˇe co nejm´enˇe ovlivˇ novaly. Toto um´ıstˇen´ı je vhodn´e jeˇstˇe z d˚ uvodu, ˇze uˇzivateli snadno napov´ı smˇer. Pokud bude stimul na lev´e ˇca´sti obrazovky, 32
N´avrh a implementace BCI
Modul pro stimulaci
Obr´azek 6.2: N´avrh obrazovky pro stimulaci bude zajiˇst’ovat pohyb doleva. Na monitor lze um´ıstit vˇetˇs´ı mnoˇzstv´ı stimul˚ u, ale je tˇreba si uvˇedomit, ˇze ˇc´ım v´ıce stimul˚ u bude, t´ım v´ıce se mohou ovlivˇ novat a v´ ysledn´a klasifikace nemus´ı b´ yt tolik spolehliv´a. Pro zaˇc´atek je dobrou volbou um´ıstit na kaˇzdou stranu monitoru jeden stimul a ovl´ad´an´ı auta nadefinovat tak, ˇze pojede konstantn´ı rychlost´ı a uˇzivatel bude moci pouze zat´aˇcet doleva nebo doprava. Pro samotnou stimulaci lze vyuˇz´ıt software Presentation. Tento software umoˇzn ˇuje vytvoˇrit celkem ˇsirok´e spektrum sc´en´aˇr˚ u pro stimulaci, ale jeho pouˇzit´ı je limitov´ano naˇs´ım poˇzadavkem na um´ıstˇen´ı obrazu z webkamery na obrazovku. Z tohoto d˚ uvodu m˚ uˇze b´ yt pouˇz´ıv´an u ´spˇeˇsnˇe pro testovac´ı u ´ˇcely, ale pro koneˇcnou verzi BCI nen´ı u ´plnˇe vhodn´ y.
Zpˇ etn´ a vazba je d˚ uleˇzit´a pro uˇzivatele, aby vˇedˇel, zda se vykon´av´a akce, jakou poˇzaduje. Stejnˇe jako u vˇetˇsiny program˚ u v poˇc´ıtaˇci se ikona po klepnut´ı oznaˇc´ı, i zde je tˇreba d´at uˇzivateli najevo, ˇze danou akci provedl nebo prov´ad´ı. V naˇsem n´avrhu je z tohoto d˚ uvodu um´ıstˇena na auto webkamera a jako zpˇetn´a vazba slouˇz´ı obraz z kamery. Uˇzivatel tud´ıˇz vid´ı, zda zat´aˇc´ı nebo ne. Je vˇsak jeˇstˇe nav´ıc vhodn´e vyuˇz´ıt nˇejakou dalˇs´ı signalizaci o zat´aˇcen´ı, napˇr´ıklad um´ıstˇen´ı ˇsipek na obrazovku a zv´ yraznˇen´ı jedn´e z nich v pˇr´ıpadˇe zat´aˇcen´ı. Stimulaˇcn´ı obrazovka by mˇela vypadat jako na obr´azku 6.2.
33
N´avrh a implementace BCI
Modul pro stimulaci
Obr´azek 6.3: Editor softwaru Presentation
6.2.1
Popis programu Presentation
Presentation je komerˇcn´ı software firmy Neurobehavioral Systems. Tento program umoˇzn ˇuje pomoc´ı dvou vestavˇen´ ych jazyk˚ u PCL a SDL programovat r˚ uzn´e sc´en´aˇre pro stimulaci, jak vizu´aln´ı, tak i sluchovou. Podporov´any jsou i nejr˚ uznˇejˇs´ı rozhran´ı pro vstup a v´ ystup. Pro naˇse u ´ˇcely byl pouˇz´ıv´an paraleln´ı port pro pos´ıl´an´ı znaˇcek (tzv. marker˚ u) do EEG z´aznamu. V´ıce informac´ı na [7]. Software presentation obsahuje pˇr´ımo textov´ y editor pro psan´ı k´odu jazyk˚ u PCL a SDL (obr´azek 6.3). Pokud jsou pouˇz´ıv´any nˇejak´e vstupn´ı a v´ ystupn´ı porty, je tˇreba prov´est nastaven´ı v z´aloˇzce Settings.
Souˇ c´ asti sc´ en´ aˇ re Kaˇzd´ y soubor by se mˇel skl´adat ze tˇr´ı ˇc´ast´ı. Prvn´ı z nich je hlaviˇcka, druh´a ˇc´ast je k´od jazyka SDL a tˇret´ı k´od jazyka PCL.
Hlaviˇ cka je um´ıstˇena na zaˇca´tku souboru a definuje z´akladn´ı vlastnosti jako je velikost p´ısma, fontu nebo i nastaven´ı portu. Pokud se nenastav´ı ˇz´adn´e hodnoty, jsou pouˇzity defaultn´ı. 34
N´avrh a implementace BCI
Modul pro stimulaci
K´ od jazyka SDL je dalˇs´ı ˇca´st programu. Nach´az´ı se za pˇr´ıkazem begin; a definuj´ı se v n´ı jednotliv´e prvky stimulace, coˇz mohou b´ yt napˇr´ıklad obr´azky nebo zvuky. Zvl´aˇstn´ım objektem je tzv. trial, kter´ y v sobˇe sdruˇzuje nˇekolik jednoduch´ ych objekt˚ u. SDL nen´ı klasick´ y programovac´ı jazyk, slouˇz´ı pouze k definici objekt˚ u. N´asleduj´ıc´ı pˇr´ıklad definuje dva objekty. Prvn´ı objekt je typu picture a je v nˇem nastavena pouze barva pozad´ı na modrou. Druh´ y objekt je typu bitmap, ve kter´em je nastavena cesta k obr´azku a barva, kter´a m´a b´ yt pr˚ uhledn´a. picture { background_color = 0,0,255; } default; bitmap { filename = "pic1.jpg"; transparent_color = 0,0,0; } pic1;
´sekem K´ od jazyka PCL je uvozen pˇr´ıkazem begin pcl;. Nach´az´ı se za u definice objekt˚ u jazyka SDL. PCL lze oproti SDL povaˇzovat za jednoduch´ y programovac´ı jazyk. PCL obsahuje z´akladn´ı jazykov´e konstrukce jako jsou smyˇcky nebo podm´ınky, m´a nˇekolik datov´ ych typ˚ u a dokonce lze pouˇz´ıvat i pole. Jazyk SDL nadefinuje objekty, kter´e pak jsou v PCL dostupn´e a lze je vyuˇz´ıvat a mˇenit jim nˇekter´e vlastnosti. N´asleduj´ıc´ı pˇr´ıklad ukazuje definici v SDL a n´asledn´e pouˇzit´ı v PCL. V SDL je nadefinov´an obr´azek s n´azvem pic1 a trial s n´azvem trial1. Presentation automaticky vytvoˇr´ı v PCL promˇenn´e pic1 a trial1, pomoc´ı nichˇz PCL manipuluje s objekty. V tomto pˇr´ıpadˇe je nastavena x souˇradnice ˇca´sti obr´azku a n´aslednˇe je trial prezentov´an.[1] begin; trial { picture { bitmap map1; x = 0; y = 0; } pic1; } trial1; 35
N´avrh a implementace BCI
Modul pro stimulaci
Obr´azek 6.4: Rovrˇzen´ı u ´sek˚ u blik´an´ı ohraniˇcen´ ych markery begin_pcl; pic1.set_part_x( 1, 100 ); trial1.present();
6.2.2
Poˇ zadavky na sc´ en´ aˇ r
Jelikoˇz m´a b´ yt sc´en´aˇr vyuˇz´ıv´an zejm´ena pro testov´an´ı, je tˇreba, aby bylo moˇzn´e snadno mˇenit urˇcit´e parametry. Prvn´ı z nich je frekvence stimul˚ u. Jelikoˇz obrazovka je schopna se pˇrekreslovat 60x za sekundu, nejvyˇsˇs´ı moˇzn´a frekvence, kterou lze zobrazit, je 30Hz (1 pˇrekreslen´ı obr´azek a 1 pˇrekreslen´ı zhasnuto). Pokud chceme zachovat stejnou d´elku obr´azku a pauzy, budou pouˇziteln´e frekvence velice omezen´e. I pˇri tˇechto moˇznostech lze pohodlnˇe vybrat vhodn´e frekvence. Tvar a barvy stimul˚ u jsou d˚ uleˇzit´e pro r˚ uzn´e testy. Nejjednoduˇsˇs´ı zp˚ usob, jak je ve sc´en´aˇri mˇenit, je pˇredpˇripravit bitmapov´e obr´azky, kter´e jsou n´aslednˇe do sc´en´aˇre naˇc´ıt´any. Jeden ze z´akladn´ıch poˇzadavk˚ u je m´ıt v´ıce stimul˚ u v jednom sc´en´aˇri. Stimuly mus´ı m´ıt r˚ uzn´e frekvence a r˚ uzn´e pozice na obrazovce. Sc´en´aˇr by mˇel umoˇznit definovat u ´seky blik´an´ı a pauzy pro odpoˇcinek. Kaˇzd´ yu ´sek by mˇel b´ yt oznaˇcen v z´aznamu markery, kter´e lze pos´ılat pˇres paraleln´ı port. Markery v z´aznamu mohou vypadat jako na obr´azku 6.4. Moˇzn´ y sc´en´aˇr, kter´ y lze pˇripravit, m˚ uˇze vypadat jako na obr´azku 6.5.
36
N´avrh a implementace BCI
Modul pro stimulaci
Obr´azek 6.5: Moˇzn´ y sc´en´aˇr splˇ nuj´ıc´ı poˇzadavky
6.2.3
Implementace sc´ en´ aˇ re
Stimulaˇcn´ı sc´en´aˇr je pˇrevzat´ y z [1] a byl jen modifikov´an vˇzdy pro konkr´etn´ı experiment. Inspirac´ı pro sc´en´aˇr byl k´od z webov´ ych str´anek v´ yrobce.
Jazyk SDL Jak jiˇz bylo zm´ınˇeno, je v´ yhodnˇejˇs´ı vytvoˇrit soubor bitmapov´ ych obr´azk˚ u neˇz definovat r˚ uzn´e tvary v k´odu SDL. Kaˇzd´ y obr´azek pouˇzit´ y pro stimulaci je tˇreba na poˇca´tku naˇc´ıst. V pˇr´ıkazu se definuje cesta k souboru s obr´azkem. Naˇcten´ı se provede n´asledovnˇe: bitmap { filename = "obr1\\blue_box.png"; } blueBox; T´ımto zp˚ usobem jsou naˇcteny vˇsechny poˇzadovan´e obr´azky. V ˇc´asti SDL jsou jeˇstˇe nadefinov´any tˇri objekty typu trial. Prvn´ı z nich obsahuje obr´azek a je aktualizov´an pˇri prob´ıhaj´ıc´ı stimulaci z jazyka PCL. Dalˇs´ı z trial˚ u zajiˇstuje pauzu mezi jednotliv´ ymi bloky stimulace. Posledn´ı je v k´odu um´ıstˇen pouze z d˚ uvodu logov´an´ı. Tyto trialy obsahuj´ı objekt stimulus event, kter´ y zajiˇst’uje z´apis pˇresn´ ych ˇcas˚ u spuˇstˇen´ı do logovac´ıho souboru. 37
N´avrh a implementace BCI
Modul pro stimulaci
V n´asleduj´ıc´ım k´odu se nach´azej´ı dva trialy. Prvn´ı je spuˇstˇen bezprostˇrednˇe po skonˇcen´ı blik´an´ı. Do logovac´ıho souboru zap´ıˇse ˇcas spuˇstˇen´ı. Od tohoto okamˇziku trv´a 4999 milisekund. N´aslednˇe je spuˇstˇen druh´ y z trial˚ u, kter´ y zap´ıˇse do logovac´ıho souboru sv˚ uj ˇcas spuˇstˇen´ı, coˇz je milisekunda pˇred zaˇc´atkem blik´an´ı (za t´ımto trialem n´asleduje sekvence blik´an´ı). trial { stimulus_event { picture { background_color = 0, 0, 0; } pic2; code = "stim2"; duration = 4999; } stim2; } trial2; trial { stimulus_event { picture { background_color = 0, 0, 0; } pic3; code = "stim3"; duration = 1; } stim3; } trial3;
Jazyk PCL K´od jazyka PCL se skl´ad´a ze dvou funkc´ı a hlavn´ıho programu. Na poˇc´atku je definov´an paraleln´ı port, za kter´ ym n´asleduj´ı definice pouˇz´ıvan´ ych pol´ı.
Funkce add stim slouˇz´ı k pˇrid´an´ı nov´eho stimulu na obrazovku. Parametry funkce jsou dva obr´azky, pozice x a y, d´elka trv´an´ı jednoho z obr´azk˚ u a posledn´ı je d´elka trv´an´ı obou obr´azk˚ u dohromady. Funguje to tak, ˇze se stˇr´ıdaj´ı definovan´e obr´azky (jeden z obr´azk˚ u m´a zpravidla barvu pozad´ı). Jeden se zobrazuje vˇzdy nˇekolik cykl˚ u po sobˇe dle zadan´e hodnoty parametru. Parametr d´elky trv´an´ı neoznaˇcuje ˇcas, ale poˇcet, kolikr´at za sebou m´a b´ yt jeden obr´azek prezentov´an.
38
N´avrh a implementace BCI
Modul pro stimulaci
Funkce iterate je vol´ana v kaˇzd´em pr˚ uchodu smyˇckou. Projde vˇsechny y m´a b´ yt stimuly pˇridan´e pomoc´ı funkce add stim a nastav´ı jim obr´azek, kter´ prezentov´an.
Hlavn´ı program nejprve pˇrid´a do sc´en´aˇre stimuly vol´an´ım funkce add stim a d´ale se star´a o spouˇstˇen´ı pˇripraven´ ych trial˚ u. Vol´an´ı funkce iterate ve smyˇcce zajiˇst’uje blik´an´ı stimul˚ u dle pˇredchoz´ı definice. add_stim( blueBox, background, -500,0, 10, 5 ); # 6Hz add_stim( blueBox, background, 500,0, 4, 2 ); #15Hz loop int j = 1 until j > 10 begin #hlavn´ ı smyˇ cka, 10 opakov´ an´ ı stim2.set_event_code("konec blikani"); trial2.present(); stim3.set_event_code("zacatek blikani"); trial3.present(); oport.send_code( 1 ); #synchronizaˇ cn´ ı znaˇ cka loop int k~= 1 until k~> 420 begin iterate(); k~= k~+ 1; end; oport.send_code( 2 ); #synchronizaˇ cn´ ı znaˇ cka j = j + 1; end; V pˇr´ıkladu v´ yˇse se nejprve pˇridaj´ı dva stimuly na pozice (-500; 0) a (500; 0). Stimuly maj´ı r˚ uznou frekvenci. U prvn´ıho stimulu je pˇredposledn´ı parametr 10 a posledn´ı 5. Tyto ˇc´ısla ud´avaj´ı poˇcty iterac´ı pro jednotliv´e obr´azky. Znamen´a to, ˇze perioda stimulu bude 10 pˇrekreslen´ı a z toho 5 pˇrekreslen´ı pro jeden z obr´azk˚ u. Pokud tedy probˇehne 60 pˇrekreslen´ı za sekundu, blik´an´ı bude prob´ıhat s frekvenc´ı 6 Hz. Po pˇrid´an´ı stimul˚ u se spust´ı smyˇcka, kter´a probˇehne 10x. Uvnitˇr smyˇcky se spust´ı dva trialy, ve kter´ ych z˚ ustane ˇcern´a obrazovka, jen se zaloguj´ı ˇcasy. Pot´e se vyˇsle synchronizaˇcn´ı znaˇcka a spust´ı se smyˇcka s blik´an´ım. Smyˇcka prob´ıh´a 420x, z ˇcehoˇz pˇri 60 pˇrekreslen´ı za sekundu snadno dopoˇc´ıt´ame ˇcas blik´an´ı, coˇz dˇel´a 7 sekund. Po skonˇcen´ı t´eto smyˇcky se vyˇsle na paraleln´ı port opˇet synchronizaˇcn´ı znaˇcka.
39
N´avrh a implementace BCI
6.3
Modul pro naˇc´ıt´an´ı dat EEG
Modul pro naˇ c´ıt´ an´ı dat EEG
Pro samotn´e ˇr´ızen´ı modelu auta je tˇreba zajistit naˇc´ıt´an´ı dat pˇr´ımo z pˇr´ıstroje a to v re´aln´em ˇcase. Pouˇz´ıvan´ y software od v´ yrobce EEG zaˇr´ızen´ı umoˇzn ˇuje pos´ılat v re´aln´em ˇcase po s´ıti data, kter´a mohou b´ yt zpracov´ana dalˇs´ım programem. Standardn´ı v´ ystup softwaru BrainVision je soubor v definovan´em form´atu, kter´ y lze zpracov´avat zpˇetnˇe aˇz po ukonˇcen´ı mˇeˇren´ı. Tento typ souboru lze vyuˇz´ıt pro testov´an´ı stimul´ator˚ u a nastaven´ı klasifik´ator˚ u. Naˇc´ıt´an´ı dat bylo implementov´ano obˇema zp˚ usoby.
6.3.1
Naˇ c´ıt´ an´ı ze souboru
Jako prvn´ı bylo vytvoˇreno naˇc´ıt´an´ı dat ze souboru, nebot’ se jedn´a o jednoduˇsˇs´ı zp˚ usob. Z´aklad naˇc´ıt´an´ı ze souboru vytvoˇril Martin Prantl, jehoˇz k´ody byly lehce modifikov´any. Naˇc´ıt´an´ı umoˇzn ˇuje kromˇe EEG dat naˇc´ıtat i uloˇzen´e markery, k ˇcemu slouˇz´ı jedna z tˇr´ıd. Tˇr´ıdy se nach´azej´ı v bal´ıc´ıch load a data. Sloˇzen´ı jednotliv´ ych bal´ık˚ u je n´asleduj´ıc´ı: • data – Constants – DataFields • load – FileLoading – Load – LoadEEG – LoadVHDR – LoadVMRK – MyException
40
N´avrh a implementace BCI
Modul pro naˇc´ıt´an´ı dat EEG
Bal´ık data Bal´ık data obsahuje tˇr´ıdu pro ukl´ad´an´ı dat a tˇr´ıdu s konstantami. Obˇe tˇr´ıdy maj´ı jen nˇekolik statick´ ych promˇenn´ ych. Je to z d˚ uvodu viditelnosti tˇechto dat v cel´em projektu. Pˇredpokl´ad´a se, ˇze tyto data budou pouˇz´ıv´ana v pˇrev´aˇzn´e vˇetˇsinˇe tˇr´ıd a pˇred´av´an´ı by bylo nepohodln´e.
Tˇ r´ıda Constants obsahuje konstanty dan´e form´atem naˇc´ıtan´ ych soubor˚ u. Jedn´a se o r˚ uzn´e konstanty t´ ykaj´ıc´ı se marker˚ u, jednotliv´ ych kan´al˚ u a reprezentaci ˇc´ısel. Tyto konstanty jsou pot´e pro vˇetˇs´ı pˇrehlednost pouˇz´ıv´any pˇri naˇc´ıt´an´ı a pr´aci s daty.
Tˇ r´ıda DataFields definuje nˇekolik statick´ ych pol´ı. Do tˇechto pol´ı budou ukl´ad´any kromˇe EEG dat i informace o markerech a dalˇs´ı informace o datech. • eegData – dvourozmˇern´e pole typu short pro data EEG z´aznamu. Obsahuje EEG z´aznam z kaˇzd´e elektrody. Z tˇechto dat jsou d´ale extrahov´any pouze poˇzadovan´e kan´aly. • channelInfos – dvourozmˇern´e pole typu Object nesouc´ı informace o jednotliv´ ych kan´alech (napˇr. n´azev kan´alu) • markerInfos – dvourozmˇern´e pole typu Object uchov´av´a informace o markerech a jejich pozic´ıch • transformedData – pole typu double obsahuje EEG data extrahovan´a z poˇzadovan´ ych kan´al˚ u a pˇripraven´a na dalˇs´ı zpracov´an´ı
Bal´ık load Tˇr´ıdy v bal´ıku load se staraj´ı o naˇc´ıt´an´ı dat. Jedn´a se o naˇc´ıt´an´ı r˚ uzn´ ych typ˚ u soubor˚ u, kter´e dohromady d´avaj´ı kompletn´ı informace o mˇeˇren´ı. Tˇr´ıdy LoadEEG, LoadVMRK a LoadVHDR dˇed´ı od abstraktn´ı tˇr´ıdy FileLoading. Vˇsechny tˇri jsou obsaˇzeny ve tˇr´ıdˇe Load, kter´a se star´a o kompletn´ı naˇcten´ı dat. Diagram tˇr´ıd lze vidˇet na obr´azku 6.6.
41
N´avrh a implementace BCI
Modul pro naˇc´ıt´an´ı dat EEG
Obr´azek 6.6: UML diagram tˇr´ıd pro naˇc´ıt´an´ı dat ze souboru Tˇ r´ıda FileLoading je abstraktn´ı tˇr´ıda a obsahuje metody pro vytvoˇren´ı datov´eho proudu ze souboru. O naˇc´ıt´an´ı konkr´etn´ıho typu souboru se staraj´ı oddˇedˇen´e tˇr´ıdy, kter´e dodefinov´avaj´ı abstraktn´ı metody load a allocateMemForData.
Tˇ r´ıdy LoadEEG, LoadVHDR a LoadVMRK zajiˇst’uj´ı naˇc´ıt´an´ı jednotliv´ ych typ˚ u soubor˚ u. V´ ystupem EEG zaˇr´ızen´ı je totiˇz trojice soubor˚ u. Soubory typu .vhdr a .vmrk jsou textov´e a .eeg je soubor bin´arn´ı. Tyto soubory jsou naˇc´ıt´any a ukl´ad´any do pˇripraven´ ych pol´ı tˇr´ıdy DataFields.
Tˇ r´ıda Load zastˇreˇsuje pˇredchoz´ı tˇr´ıdy. Umoˇzn ˇuje naˇc´ıtat jen konkr´etn´ı soubor, ale v drtiv´e vˇetˇsinˇe pˇr´ıpad˚ u je tˇreba naˇc´ıst veˇsker´a data. K tomuto u ´ˇcelu obsahuje metodu loadAll.
6.3.2
Naˇ c´ıt´ an´ı v re´ aln´ em ˇ case
Naˇc´ıt´an´ı dat v re´aln´em ˇcase umoˇzn ˇuje BrainVision Recorder pomoc´ı s´ıt’ov´e komunikace. Tento zp˚ usob je jiˇz n´aroˇcnˇejˇs´ı neˇz naˇc´ıt´an´ı dat ze souboru. Jelikoˇz je tˇreba naˇc´ıtat data a z´aroveˇ n je nˇejak´ ym zp˚ usobem zpracov´avat, nevyhneme se pr´aci s vl´akny. Z´akladn´ı s´ıt’ovou komunikaci se softwarem BrainVision Recorder vytvoˇril Michal Patoˇcka. K´od na niˇzˇs´ı u ´rovni z˚ ustal zachov´an,
42
N´avrh a implementace BCI
Modul pro naˇc´ıt´an´ı dat EEG
Obr´azek 6.7: UML diagram tˇr´ıd datov´ ych objekt˚ u pˇrepracov´any byly pouze ˇc´asti pro ukl´ad´an´ı dat. Tyto zmˇeny byly nevyhnuteln´e kv˚ uli rozd´ıln´emu zamˇeˇren´ı c´ılov´eho programu. S´ıt’ov´a komunikace prob´ıh´a zp˚ usobem klient-server. Je nadefinov´ano nˇekolik typ˚ u zpr´av. Vˇsechny tyto zpr´avy obaluj´ı tˇr´ıdy z bal´ıku data.objects. K naplnˇen´ı tˇechto datov´ ych objekt˚ u slouˇz´ı tˇr´ıda DataTokenizer z bal´ıku data. Pro komunikaci na niˇzˇs´ı u ´rovni vyuˇz´ıv´a DataTokenizer tˇr´ıdu TCPIPClient, kter´a poskytuje pˇrijat´a data od serveru.
Bal´ık data.objects Bal´ık obsahuje nˇekolik tˇr´ıd, reprezentuj´ıc´ı jednotliv´e typy zpr´av, kter´e server pos´ıl´a. Diagram tˇr´ıd na obr´azku 6.7. uleˇzit´ ych in• RDA Marker – reprezentuje marker. Obsahuje nˇekolik d˚ formac´ı jako je n´azev markeru, k jak´e elektrodˇe patˇr´ı a jak´a je jeho pozice. • RDA MessageData – tˇr´ıda, kter´a kromˇe samotn´ ych dat m˚ uˇze obsahovat jeden i v´ıce marker˚ u. • RDA MessageHeader – hlaviˇcka kaˇzd´eho datov´eho objektu je oznaˇcena unik´atn´ı posloupnost´ı byt˚ u. Tuto hlaviˇcku obsahuj´ı vˇsechny ostatn´ı datov´e objekty kromˇe RDA Marker. Nese informaci o velikosti n´asleduj´ıc´ıho datov´eho bloku. • RDA MessageStart – objekt pos´ılan´ y zpravidla na poˇc´atku s´ıt’ov´e komunikace. Jsou v nˇem informace o vzorkovac´ı frekvenci a seznam jed43
N´avrh a implementace BCI
Modul pro naˇc´ıt´an´ı dat EEG
Obr´azek 6.8: UML diagram tˇr´ıd datov´ ych objekt˚ u notliv´ ych kan´al˚ u s jejich jm´eny. • RDA MessageStop – objekt zas´ılan´ y serverem na konci komunikace. Jelikoˇz se poˇc´ıt´a s pevnˇe zaveden´ ym nastaven´ım, kter´e se nemˇen´ı, je bezpochyby nejd˚ uleˇzitˇejˇs´ı z datov´ ych objekt˚ u RDA MessageData. D´ale lze situaci zjednoduˇsit t´ım, ˇze pˇri pouˇzit´ı v navrˇzen´em BCI nemaj´ı markery v´ yznam, tud´ıˇz zpracov´avat m´a smysl pouze pole s EEG daty.
Bal´ık data Bal´ık data obsahuje ˇctyˇri tˇr´ıdy. Jejich diagram je na obr´azku 6.8.
Tˇ r´ıda TCPIPClient slouˇz´ı pro z´akladn´ı komunikaci se serverem. Nav´aˇze spojen´ı se serverem a pˇrij´ım´a data po bytech. Tyto data ukl´ad´a do tˇr´ıdy SynchronizedLinkedListByte. Aby byla zajiˇstˇena spr´avn´a funkcionalita, bˇeˇz´ı klient ve vl´aknˇe. Z tohoto d˚ uvodu je tˇreba m´ıt zajiˇstˇenou synchronizaci pˇri pˇr´ıstupu k datov´emu u ´loˇzˇsti.
Tˇ r´ıda DataTokenizer vyb´ır´a data uloˇzen´a tˇr´ıdou TCPIPClient a vytv´aˇr´ı z nich datov´e objekty. Tyto objekty jsou n´aslednˇe ukl´ad´any do synchronizovan´eho spojov´eho seznamu typu Object, reprezentovan´eho tˇr´ıdou SynchronizedLinkedListObject. Opˇet je tˇreba m´ıt zajiˇstˇenou synchornizaci, nebot’ DataTokenizer bˇeˇz´ı ve vl´aknu. 44
N´avrh a implementace BCI
6.4
Modul pro zpracov´an´ı dat
Modul pro zpracov´ an´ı dat
Po naˇcten´ı je tˇreba data uloˇzit do vhodn´e struktury, prov´est transformaci jednotliv´ ych kan´al˚ u a n´aslednˇe z nich extrahovat uˇziteˇcn´e pˇr´ıznaky. V naˇsem pˇr´ıpadˇe se jedn´a o frekvence mozkov´ ych vln v z´avislosti na frekvenci stimulace. Pro zjiˇstˇen´ı frekvenˇcn´ıho spektra je tˇreba vyuˇz´ıt Fourierovu transformaci a vybrat vhodn´e Fourierovy koeficienty odpov´ıdaj´ıc´ı pouˇzit´ ym frekvenc´ım (pˇr´ıpadnˇe jejich nejbliˇzˇs´ıho okol´ı).
6.4.1
Uloˇ zen´ı dat
DataTokenizer zajistil uloˇzen´ı vˇsech pˇr´ıchoz´ıch blok˚ u do spojov´eho seznamu. Pro pouˇzit´ı v BCI je tˇreba vybrat ze vˇsech datov´ ych objekt˚ u pouze typy RDA MessageData a uloˇzit je do sktruktury, kter´a bude pro naˇsi potˇrebu ide´aln´ı.
Kruhov´ y buffer byl zvolen jako optim´aln´ı zp˚ usob ukl´ad´an´ı dat. Kruhov´ y buffer je pole o pevnˇe dan´e velikosti, kter´e po sv´em naplnˇen´ı zaˇcne pˇrepisovat od zaˇc´atku sv´a data. Tato vlastnost sice znamen´a ztr´atu dat, ale jsou to zpravidla data, kter´a nejsou aktu´aln´ı. Pokud se tedy poˇc´ıtaˇc pˇri v´ ypoˇctech zdrˇz´ı, dalˇs´ı pr˚ ubˇeh se bude poˇc´ıtat z dat, kter´a jsou nejnovˇejˇs´ı. Kdyby byl pouˇzit standardn´ı buffer, zpracov´avala by se neaktu´aln´ı data a zpoˇzdˇen´ı by d´ale nar˚ ustalo. Kruhov´ y buffer je implementov´an ve tˇr´ıdˇe KruhovyBuffer.
6.4.2
Transformace kan´ al˚ u
Pˇr´ıchoz´ı datov´e objekty obsahuj´ı hodnoty ze vˇsech elektrod. Jelikoˇz n´as zaj´ımaj´ı jen urˇcit´e elektrody, je tˇreba z dat vybrat pouze data z konkr´etn´ıch elektrod a sm´ıchat je dle d˚ uleˇzitosti do jednoho sign´alu. V tˇr´ıdˇe Buffer se nach´az´ı metoda vyberElektrod, kter´a ze zadan´eho pole z objektu RDA MessageData vytvoˇr´ı nov´e pole, kter´e bude obsahovat pouze poˇzadovan´a data. Tyto data jsou ukl´ad´ana do kruhov´eho bufferu, kter´ y tato tˇr´ıda obsahuje (obr´azek 6.9). private double[] vyberElektrod(float[] pole, int o1, int o2, 45
N´avrh a implementace BCI
Modul pro zpracov´an´ı dat
Obr´azek 6.9: UML diagram bufferu int pz, int p3, int p4) { double[] temp = new double[POCET_HODNOT]; for (int i = 0; i < temp.length; i++) { temp[i] = (o1 * pole[O1 + 19 * i] + o2 * pole[O2 + 19 * i] + pz * pole[PZ + 19 * i] + p3 * pole[P3 + 19 * i] + p4 * pole[P4 + 19 * i]) / (o1 + o2 + p3 + p4 + pz); } return temp; } Metoda poˇzaduje nˇekolik argument˚ u. Prvn´ım argumentem je pole s p˚ uvodn´ımi daty. Dalˇs´ı argumenty jsou ˇc´ısla oznaˇcuj´ıc´ı v´ahu, s kterou maj´ı b´ yt zapoˇc´ıt´ana do v´ ysledn´eho pole. Pomoc´ı tˇechto vah je poˇc´ıt´an v´aˇzen´ y pr˚ umˇer. Jsou zde br´any v u ´vahu pouze elektrody, kter´e maj´ı pro SSVEP v´ yznam. S ostatn´ımi elektrodami se nepoˇc´ıt´a. Zpravidla se nastavuje vyˇsˇs´ı v´aha pro elektrody O1 a O2.
6.4.3
DFT a FFT
Rychl´a a diskr´etn´ı Fourierova transformace je pouˇz´ıv´ana pro z´ısk´an´ı pˇr´ıznak˚ u pro klasifikaci. Rychl´a Fourierova tranformace byla pˇrevzata od Nizara Kerkeniho z open-source projektu jEDF a nach´az´ı se ve tˇr´ıdˇe FastFourierTransform. Jelikoˇz vzorkovac´ı frekvence pˇr´ıstroje je 1000 Hz a pro FFT je tˇreba 46
N´avrh a implementace BCI
Modul pro klasifikaci
poˇcet vzork˚ u, kter´ y je roven mocninˇe dvou, nikdy nebudou v´ ysledn´e ˇcleny posloupnosti odpov´ıdat celoˇc´ıseln´ ym frekvenc´ım a doch´azelo by k prosakov´an´ı ve spektru. Z tohoto d˚ uvodu byla naimplementov´ana i DFT, kterou lze spoˇc´ıtat z libovoln´eho poˇctu vzork˚ u a tud´ıˇz lze ovlivnit, jak´ ym frekvenc´ım budou spektr´aln´ı ˇca´ry odpov´ıdat. Nev´ yhodou je samozˇrejmˇe rychlost DFT, ale v naˇsem pˇr´ıpadˇe je dostaˇcuj´ıc´ı. Diskr´etn´ı Fourierova transformace se nach´az´ı ve tˇr´ıdˇe DFT.
6.5
Modul pro klasifikaci
Z charakteru dat je jasnˇe patrn´e, ˇze klasifik´ator bude vytvoˇren na z´akladˇe pˇr´ıznakov´e metody. Pˇr´ıznakov´ y vektor se bude skl´adat z hodnot urˇcen´ ych Fourierov´ ych koeficient˚ u, pˇr´ıpadnˇe jejich druh´ ych mocnin. Pokud tedy budou urˇceny dvˇe frekvence, bude prob´ıhat klasifikace do tˇr´ı tˇr´ıd a klasifikaˇcn´ı prostor bude dvourozmˇern´ y. Moˇznost´ı pro klasifikaci je nˇekolik. Nejjednoduˇsˇs´ı metoda je nastavit ruˇcnˇe prahovou hodnotu, po jej´ıˇz pˇrekroˇcen´ı bude vektor klasifikov´an jako jedna ˇci druh´a frekvence. Pokud prahovou hodnotu nepˇrekroˇc´ı, nebude urˇcena ˇza´dn´a frekvence. Tento zp˚ usob m´a nev´ yhodu, ˇze u kaˇzd´eho ˇclovˇeka se liˇs´ı amplitudy vln a tud´ıˇz nelze urˇcit prahovou hodnotu obecnˇe. Tento probl´em m˚ uˇze ˇreˇsit metoda nejkratˇs´ı vzd´alenosti od tˇeˇziˇstˇe. Subjekt bude instruov´an, aby se zamˇeˇril na jednu frekvenci. N´aslednˇe se poˇr´ıd´ı mnoˇzina tr´enovac´ıch dat. Stejnˇe tak se to udˇel´a pro druhou frekvenci a pak i pro tˇr´ıdu reprezentuj´ıc´ı stav, kdy se subjekt nesoustˇred´ı na ˇz´adnou z frekvenc´ı. Sloˇzitˇejˇs´ı zp˚ usoby klasifikace v tomto pˇr´ıpadˇe nemaj´ı v´ yznam, nebot’ je jasn´e, ˇze klasifikaˇcn´ı prostor bude rozdˇelen velice jednoduˇse, coˇz vych´az´ı ze zcela pr˚ uhledn´eho sloˇzen´ı pˇr´ıznak˚ u.
6.5.1
Implementace klasifik´ atoru
Veˇsker´e tˇr´ıdy pro klasifikaci se nach´az´ı v bal´ıku classification. Jedn´a se o tˇri tˇr´ıdy, kter´e pˇredpokl´adaj´ı real-time naˇc´ıt´an´ı dat do bufferu popsan´eho v´ yˇse. Implementovan´a metoda klasifikace se ˇr´ıd´ı krit´eriem nejmenˇs´ı vzd´alenosti
47
N´avrh a implementace BCI
Modul pro klasifikaci
Obr´azek 6.10: Diagram tˇr´ıd klasifikace tˇeˇziˇst’ tˇr´ıd. Tˇr´ıda VectorCreator se star´a o vytvoˇren´ı tˇeˇziˇstˇe tˇr´ıdy z tr´enovac´ıch dat. Ve tˇr´ıdˇe Klasifikator jsou uloˇzeny jednotliv´e tˇr´ıdy s jejich vektory reprezentuj´ıc´ımi tˇeˇziˇstˇe. Tato tˇr´ıda se d´ale star´a o spouˇstˇen´ı tr´enov´an´ı a spuˇstˇen´ı samotn´e klasifikace. Posledn´ı tˇr´ıda NNKlasifikator m´a za u ´kol samotnou klasifikaci konkr´etn´ıho vektoru do nadefinovan´ ych tˇr´ıd. Diagram tˇr´ıd je na obr´azku 6.10.
Pˇ r´ıznakov´ y vektor Pˇr´ıznakov´ y vektor se skl´ad´a z Fourierov´ ych koeficient˚ u. Jelikoˇz klasifik´ator je udˇel´an obecnˇe pro libovoln´ y poˇcet tˇr´ıd, je zpracov´av´an cel´ y v´ ystup Fourierovy transformace a pˇr´ıznakov´ y vektor je vyb´ır´an aˇz pˇri samotn´e klasifikaci ve tˇr´ıdˇe NNKlasifikator. Je moˇzn´e ponechat jako pˇr´ıznakov´ y vektor cel´ y v´ ystup Fourierovy transformace. Na tento zp˚ usob se v´aˇze velk´e mnoˇzstv´ı chyb, kter´e jsou zapˇr´ıˇcinˇeny n´ahodnou mozkovou aktivitou na frekvenc´ıch nesouvisej´ıc´ıch se stimulac´ı. Nejspolehlivˇejˇs´ı zp˚ usob je pouˇz´ıt jako pˇr´ıznaky frekvence, kter´ ymi se stimuluje. Jelikoˇz m˚ uˇze doch´azet k nepˇresnostem, je vhodn´e jeˇstˇe zapoˇc´ıt´avat i koeficienty okolo s niˇzˇs´ı v´ahou.
Tˇ r´ıda VectorCreator Tato tˇr´ıda m´a za u ´kol z pˇr´ıchoz´ıch dat vytvoˇrit tˇeˇziˇstˇe. Zpravidla se jedn´a o data z´ısk´avan´a za u ´ˇcelem natr´enov´an´ı konkr´etn´ı tˇr´ıdy pro klasifikaci. V´ ypoˇcet tˇeˇziˇstˇe m˚ uˇze prob´ıhat libovolnou dobu v z´avislosti na tom, kolik dat je zapotˇreb´ı. Algoritmus st´ale dokola dˇel´a nˇekolik u ´kon˚ u, kter´e po skonˇcen´ı 48
N´avrh a implementace BCI
Modul pro klasifikaci
zpr˚ umˇeruje. 1. Naˇcten´ı nejnovˇejˇs´ıch n vzork˚ u 2. V´ ypoˇcet DFT 3. Normalizace jednotliv´ ych koeficient˚ u DFT vzhledem k celkov´emu souˇctu koeficient˚ u DFT 4. Souˇcet normalizovan´ ych DFT Po ukonˇcen´ı je n´aslednˇe souˇcet vˇsech normalizovan´ ych DFT vydˇelen poˇctem iterac´ı. V k´odu to m˚ uˇze vypadat n´asledovnˇe: double[] teziste; while (running) { double[] ft = vypocetDFT(nejnovejsiData); //v´ ypoˇ cet DFT double suma = 0; for (int i = 0; i < teziste.length; i++) { suma += ft[i]; //celkov´ y souˇ cet koef. } for (int i = 0; i < teziste.length; i++) { teziste[i] += ft[i] / suma; //normalizace a souˇ cet } counter++; } for (int i = 0; i < vektor.length; i++) { teziste[i] = teziste[i] / counter; //zpr˚ umˇ erov´ an´ ı } Z d˚ uvodu velk´eho poˇctu vektor˚ u se ukl´ad´a jen jejich pr˚ umˇer, reprezentuj´ıc´ı tˇeˇziˇstˇe. Pro klasifikaci dle krit´eria nejbliˇzˇs´ı vzd´alenosti k tˇeˇziˇsti tˇr´ıdy je to dostaˇcuj´ıc´ı, avˇsak znemoˇzn ˇuje to vyuˇz´ıt jin´e metody klasifikace napˇr. klasifikaci dle k nejbliˇzˇs´ıch soused˚ u.
Tˇ r´ıda NNKlasifikator Tato tˇr´ıda zajiˇst’uje klasifikaci aktu´aln´ıch dat do tˇr´ıd, kter´e jsou jiˇz natr´enov´any. V konstruktoru je pˇred´ana HashMapa, obsahuj´ıc´ı stimulaˇcn´ı frekvenci 49
N´avrh a implementace BCI
Modul pro v´ybˇer vhodn´e stimulaˇcn´ı frekvence
jako kl´ıˇc a bod v klasifikaˇcn´ım prostoru reprezentuj´ıc´ı tˇeˇziˇstˇe dan´e tˇr´ıdy, kter´ y je polem re´aln´ ych ˇc´ısel. Tˇr´ıda je opˇet navrˇzena pro real-time zpracov´an´ı, proto je oddˇedˇena od tˇr´ıdy Thread. V metodˇe run cyklicky prob´ıh´a klasifikace, kter´a obsahuje nˇekolik krok˚ u: 1. Naˇcten´ı aktu´aln´ıch dat z bufferu 2. Fourierova transformace a extrakce pˇr´ıznak˚ u 3. V´ ypoˇcet euklidovsk´ ych vzd´alenost´ı vektoru ke vˇsem tˇeˇziˇst´ım tˇr´ıd 4. V´ ybˇer nejmenˇs´ı vzd´alenosti a zaˇrazen´ı do pˇr´ısluˇsn´e tˇr´ıdy
Tˇ r´ıda Klasifikator Klasifikator ˇr´ıd´ı proces tr´enov´an´ı klasifik´atoru a samotn´e klasifikace. Obsahuje HashMapu, kter´a ukl´ad´a tˇeˇziˇstˇe tˇr´ıd a informace o tom, jak´e frekvenci n´aleˇz´ı. Obsahuje metody pro zaˇc´atek a konec tr´enov´an´ı a tak´e metody pro zaˇc´atek a konec klasifikace.
6.6
Modul pro v´ ybˇ er vhodn´ e stimulaˇ cn´ı frekvence
V ˇc´asti zab´ yvaj´ıc´ı se ust´alen´ ymi vizu´aln´ımi evokovan´ ymi potenci´aly bylo ˇreˇceno, ˇze amplitudy vln z´avis´ı na frekvenci stimulace. Aˇckoliv pokusy ukazuj´ı konkr´etn´ı frekvence, na kter´e ˇclovˇek reaguje l´epe nebo jak´e jsou vhodnˇejˇs´ı pro mˇeˇren´ı SSVEP, je zcela nepochybn´e, ˇze na kaˇzd´eho ˇclovˇeka p˚ usob´ı optim´alnˇe jin´e frekvence. Z tohoto d˚ uvodu m˚ uˇze b´ yt souˇc´ast´ı BCI tak´e modul zajiˇst’uj´ıc´ı v´ ybˇer optim´aln´ıch frekvenc´ı. Na rozd´ıl od pˇredchoz´ıch ˇca´st´ı byl tento modul navrˇzen pro zpracov´an´ı z namˇeˇren´eho z´aznamu, nikoliv real-time. Princip z´ısk´an´ı nejvhodnˇejˇs´ıch frekvenc´ı je n´asleduj´ıc´ı. Uˇzivateli jsou postupnˇe prezentov´any podnˇety s r˚ uznou frekvenc´ı (napˇr. od 1 Hz do 20 Hz po 1 Hz). Pro kaˇzdou frekvenci mus´ı b´ yt z´aznam dostateˇcnˇe dlouh´ y pro zpracov´an´ı a kaˇzd´a frekvence mus´ı b´ yt
50
N´avrh a implementace BCI
Modul ovl´ad´an´ı modelu auta
ohraniˇcena markery s identifik´atorem frekvence. Ze z´aznamu se pot´e pomoc´ı algoritmu z´ıskaj´ı frekvence, u kter´ ych mˇely SSVEPy nejvyˇsˇs´ı amplity.
6.6.1
Algoritmus v´ ybˇ eru frekvenc´ı
Pˇredpokl´adejme, ˇze jsou data uloˇzen´a ve spr´avn´em form´atu, obsahuj´ı markery, kter´e ohraniˇcuj´ı vˇzdy dostateˇcnˇe velk´ yu ´sek dat. Nejprve je z´aznam rozsegmentov´an podle marker˚ u a je vypoˇc´ıt´an pr´ah pro kaˇzdou frekvenci. N´aslednˇe se vezme u ´sek dat, kde osoba nebyla stimulovan´a a urˇc´ı se opˇet pr´ah pro kaˇzdou frekvenci. D´ale se spoˇc´ıt´a pro kaˇzdou frekvenci pod´ıl prahu se stimulac´ı a prahu bez, coˇz vypov´ıd´a o velikosti odezvy na stimulaci v˚ uˇci klidov´emu stavu. Pokud m´ame pro kaˇzdou frekvenci urˇcen´ y tento pomˇer, lze vybrat nejvyˇsˇs´ı hodnotu, kter´a odpov´ıd´a nejl´epe rozpoznateln´e frekvenci. Pokud je tˇreba zvolit v´ıce frekvenc´ı, je vhodn´e, aby nebyly harmonick´e. Vybere se tedy frekvence s nejvyˇsˇs´ı odezvou a vyˇskrtne se poloviˇcn´ı a dvojn´asobn´a frekvence. Ze zbyl´ ych frekvenc´ı se opˇet vyb´ır´a frekvence s nejvyˇsˇs´ım pomˇerem. Cel´ y algoritmus v´ ybˇeru frekvenc´ı lze vidˇet na obr´azku 6.11.
6.7
Modul ovl´ ad´ an´ı modelu auta
Po zpracov´an´ı dat klasifik´ator urˇc´ı, do jak´e tˇr´ıdy jsou aktu´aln´ı data zaˇrazov´ana. Pokud jsou tedy tˇri tˇr´ıdy (jedna urˇcuje smˇer vlevo, druh´a smˇer vpravo a tˇret´ı smˇer rovnˇe), lze vyslat aut´ıˇcku pomoc´ı bezdr´atov´eho zaˇr´ızen´ı pokyn pro urˇcit´e chov´an´ı. Pˇredpokl´ad´a se, ˇze model auta jede rovnˇe konstantn´ı rychlost´ı a odes´ıl´any jsou pouze pokyny o zat´aˇcen´ı vlevo a vpravo, na kter´e reaguje odpov´ıdaj´ıc´ım zp˚ usobem. Implementace tohoto modulu nen´ı souˇca´st´ı pr´ace.
6.8
Demonstraˇ cn´ı programy
Pro ovˇeˇren´ı fukˇcnosti jednotliv´ ych modul˚ u byly vytvoˇreny dva programy. Nejedn´a se pˇr´ımo o souˇca´st BCI, ale pro bezchybnou implementaci modul˚ u 51
N´avrh a implementace BCI
Demonstraˇcn´ı programy
Obr´azek 6.11: Sch´ema algoritmu pro v´ ybˇer vhodn´e stimulaˇcn´ı frekvence
52
N´avrh a implementace BCI
Demonstraˇcn´ı programy
Obr´azek 6.12: Um´ıstˇen´ı marker˚ u v z´aznamu bylo zapotˇreb´ı vytvoˇrit tyto programy z d˚ uvodu testov´an´ı. Jeden z program˚ u umoˇzn ˇuje naˇc´ıt´an´ı dat ze souboru a druh´ y je navrˇzen pro real-time komunikaci.
6.8.1
Program pro naˇ c´ıt´ an´ı dat ze souboru
V tomto programu bylo naimplementov´ano nˇekolik funkc´ı. Jedn´a se o naˇcten´ı dat ze souboru, d´ale v naˇcten´ ych datech umoˇzn ˇuje naj´ıt nejv´ yraznˇejˇs´ı frekvence. Z dat lze tak´e natr´enovat klasifik´ator a n´aslednˇe klasifikovat do tˇr´ı tˇr´ıd. Vizu´alnˇe program zobrazuje ˇcasovou osu z´aznamu, frekvenˇcn´ı spektrum a po tr´enov´an´ı zobraz´ı klasifikaˇcn´ı prostor s jednotliv´ ymi tˇr´ıdami, z ˇcehoˇz lze pˇredpokl´adat n´aslednou u ´spˇeˇsnost klasifikace. Pro objektivn´ı testov´an´ı byla pˇrid´ana jeˇstˇe tˇr´ıda pro v´ ypoˇcty u ´spˇeˇsnosti klasifikace.
Form´ at a naˇ cten´ı vstupn´ıch dat Program na vstupu oˇcek´av´a data s pˇresnˇe definovan´ ymi markery. Kaˇzd´ yu ´sek se stimulac´ı mus´ı b´ yt oznaˇcen markery s identifik´atorem charakterizuj´ıc´ım frekvenci (obr´azek 6.12). Markery jsou totiˇz jedin´ y prostˇredek, kter´ y program m´a k rozliˇsen´ı typu dat. Pro naˇcten´ı dat je tˇreba zm´aˇcknou tlaˇc´ıtko Otevrit. N´aslednˇe se otevˇre dialogov´e okno pro v´ ybˇer souboru. Po otevˇren´ı se naˇcte z´akladn´ı rozhran´ı sloˇzen´e z nˇekolika ˇca´st´ı (obr´azek 6.13). 1. Ovl´adac´ı prvky programu
53
N´avrh a implementace BCI
Demonstraˇcn´ı programy
Obr´azek 6.13: Z´akladn´ı rozhran´ı programu 2. Zobrazen´ı frekvenˇcn´ıho spektra ze zvolen´e oblasti 3. Panel zobrazuj´ıc´ı informace o stavu programu a v´ ysledc´ıch klasifikace ˇ 4. Casov´ a osa 5. Markery na ˇcasov´e ose oznaˇcuj´ıc´ı u ´sek stimulace 6. Aktu´aln´ı rozsah dat, ze kter´ ych se vypoˇc´ıt´av´a frekvenˇcn´ı spektrum
Hled´ an´ı optim´ aln´ıch frekvenc´ı Pokud je naˇcten´ y z´aznam, ve kter´em se nach´az´ı vˇetˇs´ı mnoˇzstv´ı u ´sek˚ u dat s r˚ uznou stimulaˇcn´ı frekvenc´ı, lze vybrat frekvenci, kter´a mˇela nejvyˇsˇs´ı odezvu. Po zm´aˇcknut´ı tlaˇc´ıtka Najit frekvence se zobraz´ı dialogov´e okno, kter´e se pt´a, kolik frekvenc´ı je tˇreba vybrat. Po potvrzen´ı m˚ uˇze v´ ypoˇcet chvilku trvat. N´aslednˇe jsou vybran´e frekvence vyps´any v prav´em panelu.
54
N´avrh a implementace BCI
Demonstraˇcn´ı programy
Obr´azek 6.14: Klasifikaˇcn´ı prostor s tˇremi tˇr´ıdami Tr´ enov´ an´ı dat Jsou-li naˇctena tr´enovac´ı data, lze z nich natr´enovat klasifik´ator pomoc´ı tlaˇc´ıtka Naucit z nactenych dat. Po zm´aˇcknut´ı tlaˇc´ıtka je uˇzivatel dot´az´an, kter´e frekvence se budou hledat. Tento klasifik´ator byl navrˇzen pouze pro dvˇe frekvence. Pˇrednastaveny jsou hodnoty 6 Hz a 15 Hz, coˇz jsou hodnoty, s kter´ ymi byla prov´adˇena vˇetˇsina experiment˚ u. Kdyˇz probˇehne u ´spˇeˇsn´e natr´enov´an´ı klasifik´atoru, jsou zobrazeny dvˇe okna zobrazuj´ıc´ı klasifikaˇcn´ı prostor, jednotliv´e v´ yskyty a tˇeˇziˇstˇe. Jedno z oken vyn´aˇs´ı na osy jako pˇr´ıznaky hledan´e frekvence a druh´e jejich prvn´ı harmonick´e frekvence. Jedna z tˇr´ıd je zpravidla pod´el jedn´e osy, druh´a pod´el druh´e osy a tˇret´ı tˇr´ıda reprezentuj´ıc´ı data bez stimulace je pobl´ıˇz poˇc´atku (obr´azek 6.14).
Klasifikace Klasifikaci je moˇzno prov´adˇet na libovoln´ ych datech, pokud je klasifik´ator natr´enovan´ y. Pokud je vˇsak zapotˇreb´ı z´ıskat statistiky o u ´spˇeˇsnosti klasifikace, mus´ı b´ yt data zn´am´a a oznaˇcen´a markery. Klasifikace se spust´ı tlaˇc´ıtkem Analyzovat. Po v´ ypoˇctu je barvami oznaˇcena ˇcasov´a osa a do prav´eho panelu jsou vyps´any informace o u ´spˇeˇsnosti. Ide´aln´ı stav klasifikace je takov´ y, ˇze osa je obarvena pouze mezi dvˇema markery. Relativnˇe u ´spˇeˇsn´a klasifikace na ose
55
N´avrh a implementace BCI
Demonstraˇcn´ı programy
ˇ Obr´azek 6.15: Casov´ a osa po klasifikaci ˇ a barva oznaˇcuje u vypad´a jako na obr´azku 6.15. Zlut´ ´sek dat klasifikovan´ ych ˇ jako 6 Hz, azurov´a barva data klasifikovan´e jako 15 Hz. Cerven´ e ˇca´rky ohraniˇcuj´ı m´ısta se stimulaˇcn´ı frekvenc´ı 6 Hz a zelen´e ˇca´rky m´ısta, kde prob´ıhala stimulace 15 Hz.
Statistiky u ´ spˇ eˇ snosti klasifikace Statistiky poˇc´ıt´a jedna z tˇr´ıd. Je tˇreba ˇr´ıci, ˇze se nejedn´a o testov´an´ı klasifik´atoru, jako sp´ıˇse testov´an´ı experimentu celkovˇe. Data, kter´a jsou klasifikov´ana, nemus´ı b´ yt vˇzdy korektn´ı. Mohou b´ yt ovlivnˇena r˚ uzn´ ymi artefakty a nesoustˇredˇenost´ı osoby. Dalˇs´ım d˚ uvodem je m´ısto v z´aznamu, kde stimulace zaˇc´ın´a nebo konˇc´ı. V tomto m´ıstˇe je velk´a ˇca´st zpracov´avan´ ych dat z u ´seku bez stimulace, tud´ıˇz doch´az´ı k chybn´e klasifikaci na poˇc´atku a na konci kaˇzd´e epochy. Tato chyba vˇsak nen´ı nijak kritick´a pro vyuˇzit´ı v BCI, nebot’ se jen zpozd´ı odpovˇed’ a model auta zatoˇc´ı o nˇeco pozdˇeji. Daleko vˇetˇs´ı chyba je, pokud je v m´ıstˇe bez stimulace klasifikov´ana jedna z frekvenc´ı. Z d˚ uvodu r˚ uzn´e z´avaˇznosti chyb byla do hodnocen´ı u ´spˇeˇsnosti zanesena v´aha jednotliv´ ych chyb. Statistiky vypisuj´ı u ´spˇeˇsnost rozpozn´av´an´ı, kter´a hodnot´ı vˇsechny chyby stejnˇe a tud´ıˇz m´a niˇzˇs´ı hodnoty. Druhou meˇrenou statistikou je tzv. v´aˇzen´a chyba, kter´a rozdˇeluje v´ yˇse popsan´e mal´e“ a velk´e“ chyby. V´ahy tˇechto ” ” chyb lze mˇenit, ale v programu byla nadefinov´ana velk´a chyba jako 1, mal´a chyba jako 0,5 (poloviˇcn´ı chyba) a spr´avn´a klasifikace jako 0.
6.8.2
Program pro real-time komunikaci
Tento program byl vytvoˇren pro otestov´an´ı z´akladn´ı funkˇcnosti real-time komunikace a pro ovˇeˇren´ı pouˇzitelnosti tohoto pˇr´ıstupu pro BCI. M˚ uˇze b´ yt 56
N´avrh a implementace BCI
Demonstraˇcn´ı programy
pouˇzit jako z´akladn´ı kostra pro program ˇr´ıd´ıci BCI. Dalˇs´ı moˇznost´ı je doplnit program o modul pro ˇr´ızen´ı modelu auta a pouˇz´ıt pˇr´ımo tento program. Pokud by byl tento program pouˇzit pro fin´aln´ı BCI, bude obsahovat nˇekolik n´astroj˚ u, kter´e jsou zbyteˇcn´e. Nicm´enˇe pro ovˇeˇren´ı funkˇcnosti byly tyto n´astroje nutn´e.
Naˇ c´ıt´ an´ı dat Naˇc´ıt´an´ı dat prob´ıh´a postupnˇe v z´avislosti na serveru, kter´ y data poskytuje. Postup z´ısk´av´an´ı a ukl´ad´an´ı dat byl pops´an v implementaci modulu pro real-time naˇc´ıt´an´ı dat. Jelikoˇz server vytv´aˇr´ı software BrainVision Recorder bylo by nutn´e veˇsker´e testy prov´adˇet v laboratoˇri. Dokonce i testy modul˚ u nesouvisej´ıc´ıch s naˇc´ıt´an´ım dat. Z tohoto d˚ uvodu byla vytvoˇrena tˇr´ıda Test.
Testovac´ı gener´ ator dat Pro testov´an´ı programu bylo nutn´e vytvoˇrit tˇr´ıdu, kter´a by generovala data. Tyto data jsou generov´ana dle naˇsich poˇzadavk˚ u v z´avislosti na testovan´em modulu. Generovan´a data maj´ı vˇetˇsinou povahu sinusov´eho sign´alu, kter´ y m˚ uˇze b´ yt doplnˇen o urˇcen´e mnoˇzstv´ı ˇsumu. Lze stˇr´ıdat nˇekolik r˚ uzn´ ych frekvenc´ı v urˇcen´ ych ˇcasov´ ych intervalech. Tato tˇr´ıda Test nenahrazuje server, ale generuje data pˇr´ımo do bufferu, ˇc´ımˇz odˇr´ızne celou vrstvu staraj´ıc´ı se o komunikaci se serverem (obr´azek 6.16). V´ yhodou tohoto pˇr´ıstupu je to, ˇze lze odladit vyˇsˇs´ı vrstvy programu na datech, kter´a zcela jistˇe nejsou poˇskozena a pokud pˇri pouˇzit´ı v laboratoˇri doch´az´ı k probl´emu, bude to zcela jistˇe vinou s´ıt’ov´e komunikace.
Vizualizace dat Aktu´aln´ı data, kter´a jsou v bufferu, lze vizualizovat nˇekolika zp˚ usoby. Jedn´a se o norm´aln´ı zobrazen´ı dat z bufferu, zobrazen´ı frekvenˇcn´ıho spektra vytvoˇren´eho pomoc´ı DFT a FFT a tak´e spektrogramu.
57
N´avrh a implementace BCI
Demonstraˇcn´ı programy
Obr´azek 6.16: Sch´ema napojen´ı gener´atoru dat na aplikaci Hrub´ a data zobrazuj´ı v grafu hodnoty z bufferu. Nejsou nijak upravov´ana. Na obr´azku 6.17 je uk´azka dat pro sinus s frekvenc´ı 6 Hz a s 50% ˇsumem.
Frekvenˇ cn´ı spektrum je moˇzno zobrazit dvˇema zp˚ usoby. Jeden zp˚ usob je pomoc´ı FFT a druh´ y pomoc´ı DFT. Rozd´ıl v tˇechto moˇznostech je ten, ˇze kaˇzd´e z tˇechto spekter m´a spektr´aln´ı ˇc´ary na jin´ ych frekvenc´ıch. Pˇri pouˇz´ıvan´e vzorkovac´ı frekvenci 1000 a velikosti bufferu 2000 jsou spektr´aln´ı ˇc´ary DFT po 0,5 Hz, zat´ımco FFT je m´a um´ıstˇen´e mimo hezk´e“ frekvence. Jak lze ” vidˇet na obr´azku 6.18, zat´ımco spektrum z DFT obsahuje spektr´aln´ı ˇc´aru pˇr´ımo na 6 Hz, u FFT se 6 Hz nach´az´ı mezi dvˇemi ˇc´arami, ˇc´ımˇz doch´az´ı k rozlit´ı mezi v´ıce ˇcar, coˇz je neˇza´douc´ı.
Spektrogram Posledn´ı implementovanou moˇznost´ı zobrazen´ı dat je spektrogram. Spektrogram uchov´av´a kromˇe aktu´aln´ıch dat i data starˇs´ı a ukazuje v´ yvoj frekvenc´ı v ˇcase. Implementov´an byl 2D spektrogram, u kter´eho tmavˇs´ı barva znamen´a vyˇsˇs´ı ˇcetnost v´ yskyt˚ u urˇcit´e frekvence. Na obr´azku 6.19 lze vidˇet spektrogram obsahuj´ıc´ı nejprve jen ˇsum, v dalˇs´ı ˇc´asti se pˇrid´av´a 6 Hz frekvence, kter´a je d´ale vystˇr´ıd´ana 10 Hz frekvenc´ı. 58
N´avrh a implementace BCI
Demonstraˇcn´ı programy
Obr´azek 6.17: Vizualizace dat z bufferu
Obr´azek 6.18: Vlevo spektrum vypoˇcten´e metodou DFT, vpravo metodou FFT
59
N´avrh a implementace BCI
Demonstraˇcn´ı programy
Obr´azek 6.19: Spektrogram
Obr´azek 6.20: Tlaˇc´ıtka zn´azorˇ nuj´ıc´ı klasifikaˇcn´ı tˇr´ıdy Tr´ enov´ an´ı klasifik´ atoru Pro natr´enovan´ı klasifik´atoru slouˇz´ı poloˇzky v menu Klasifikace. Pokud je osoba stimulovan´a nˇejakou frekvenc´ı a buffer je dostateˇcnˇe naplnˇen´ y, lze zaˇc´ıt tr´enov´an´ı tlaˇc´ıtkem Zacit uceni. Pro ukonˇcen´ı tr´enov´an´ı dan´e frekvence slouˇz´ı tlaˇc´ıtko Ukoncit uceni. Po ukonˇcen´ı uˇcen´ı se program jeˇstˇe zept´a, k jak´e frekvenci tyto data n´aleˇz´ı. Pokud tr´enujeme data bez stimulace, vypln´ıme pol´ıˇcko ˇc´ıslem 0 nebo -1. T´ımto zp˚ usobem lze nadefinovat libovoln´ y poˇcet tˇr´ıd. U tohoto programu jiˇz neplat´ı omezen´ı na tˇri tˇr´ıdy jako v programu pro naˇc´ıt´an´ı dat ze souboru. Po natr´enovan´ı urˇcit´e frekvence se v prav´e ˇc´asti programu objev´ı tlaˇc´ıtka s identifik´atorem frekvence (obr´azek 6.20). Tyto tlaˇc´ıtka jsou neaktivn´ı. Po zaˇc´atku klasifikace se st´av´a aktivn´ı tlaˇc´ıtko, kter´e odpov´ıd´a aktu´alnˇe klasifikovan´ ym dat˚ um.
60
N´avrh a implementace BCI
Demonstraˇcn´ı programy
Obr´azek 6.21: Klasifikace aktu´aln´ıch dat Klasifikace Pokud probˇehlo u ´spˇeˇsnˇe tr´enov´an´ı klasifik´atoru, lze spustit klasifikaci. Klasifikace se spouˇst´ı tlaˇc´ıtkem Zacit klasifikaci. Po spuˇstˇen´ı klasifikace se otevˇre okno vykresluj´ıc´ı podprostor klasifikaˇcn´ıho prostoru pro dva pˇr´ıznaky a zobrazuje tˇri tˇr´ıdy a pozici aktu´aln´ıch dat. Tento prvek m´a v´ yznam zejm´ena pokud prob´ıh´a klasifikace do tˇr´ı tˇr´ıd. Konkr´etn´ı pˇr´ıklad m˚ uˇze vypadat jako na obr´azku 6.21, kde pˇr´ıznakov´ y vektor aktu´aln´ıch dat spadl do tˇr´ıdy 6 Hz.
61
7 Ovˇeˇren´ı funkˇcnosti modul˚ u Ovˇeˇrov´an´ı funkˇcnosti prob´ıhalo r˚ uzn´ ym zp˚ usobem v z´avislosti na moˇznostech. Jelikoˇz vˇsechny moduly na sobˇe v´ıce ˇci m´enˇe z´avis´ı, byl obˇcas probl´em testovat vˇse jednotlivˇe.
7.1
Naˇ c´ıt´ an´ı EEG dat
Pˇri naˇc´ıt´an´ı dat nelze pˇresnˇe kontrolovat vstup. Ovˇeˇrit spr´avnost lze jen porovn´an´ım se softwarem BrainVision Analyzer, kter´ y lze br´at jako referenˇcn´ı. Druhou moˇznost´ı je ovˇeˇrit ostatn´ı moduly na testovac´ım gener´atoru dat a pˇri v´ ymˇenˇe gener´atoru za modul naˇc´ıt´an´ı dat mus´ı vˇse fungovat stejnˇe jako pˇredt´ım. V opaˇcn´em pˇr´ıpadˇe se zcela jistˇe jedn´a o chybu v naˇc´ıt´an´ı dat. V tomto pˇr´ıpadˇe byla pouˇzita druh´a metoda, nebot’ pˇr´ıstup k softwaru BrainVision Analyzer je omezen´ y a nach´az´ı se na jedin´em poˇc´ıtaˇci v laboratoˇri. Naˇc´ıt´an´ı dat ze souboru se uk´azalo funkˇcn´ı bez jak´ehokoliv probl´emu a klasifikace prob´ıhala relativnˇe spolehlivˇe. Mal´e chyby v klasifikaci nejsou v ˇz´adn´em pˇr´ıpadˇe zp˚ usoben´e naˇc´ıt´an´ım dat. Naˇc´ıt´an´ı dat v re´aln´em ˇcase lze porovn´avat bˇehem mˇeˇren´ı. Pokud sledujeme z´aznam v softwaru BrainVision Recorder a vizualizaci dat v programu, je vidˇet stejn´a kˇrivka. Tento fakt prokazuje spr´avn´e naˇc´ıt´an´ı hodnot, coˇz n´aslednˇe potvrdila i klasifikace. Zde vˇsak obˇcas nast´av´a probl´em se stabilitou, kdy z nezn´am´eho d˚ uvodu pˇrestane pracovat pos´ıl´an´ı dat a je tˇreba spojen´ı znovu obnovit.
7.2
Zpracov´ an´ı EEG dat
Zpracov´an´ı EEG dat v tomto pˇr´ıpadˇe spoˇc´ıv´a v pr˚ umˇerov´an´ı sign´al˚ u z r˚ uzn´ ych elektrod a n´asledn´em zpracov´an´ı pomoc´ı Fourierovy transformace. Pr˚ umˇerov´an´ı jednotliv´ ych kan´al˚ u je zcela pr˚ uhledn´a operace pops´ana v implementaci.
62
Ovˇeˇren´ı funkˇcnosti modul˚ u
7.2.1
Zpracov´an´ı EEG dat
FFT a DFT
Zaj´ımavˇejˇs´ı je to ovˇsem s Fourierovou transformac´ı. Spr´avnost v´ ysledk˚ u lze ovˇeˇrit prostudov´an´ım frekvenˇcn´ıho spektra. Tento krok je ovˇsem spojen´ y s vizualizac´ı a vygenerov´an´ım vhodn´eho sign´alu pro zpracov´an´ı. Jak jiˇz bylo ˇreˇceno, program pouˇz´ıv´a diskr´etn´ı a rychlou Fourierovu transformaci. Pokud bude vygenerov´an sinusov´ y sign´al o frekvenci napˇr´ıklad 6 Hz pˇri vzorkovac´ı frekvenci 1000 Hz a Fourierova transformace bude poˇc´ıt´ana z 2000 vzork˚ u, teoreticky by mˇelo vyj´ıt spektrum n´asledovnˇe.
Pro DFT z˚ ust´avaj´ı vˇsechny parametry tak, jak byly zad´any. Nejprve je tˇreba zjistit po jak´e frekvenci se budou jednotliv´e spektr´aln´ı ˇca´ry vyskytovat. Zad´an´ı pˇr´ıkladu je tedy f [k] = 6Hz, fs = 1000Hz, N = 2000 a k je nezn´am´e. Ze vzorce 4.9 je tedy tˇreba vyj´adˇrit k. k=
f [k] · N fs
Po dosazen´ı vyjde
6 · 2000 = 12 1000 Nyn´ı v´ıme, ˇze jedin´a ˇca´ra cel´eho spektra bude na dvan´act´e pozici, ostatn´ı hodnoty budou nulov´e. k=
Pro FFT nast´av´a oproti DFT jedna zmˇena. Jelikoˇz pro FFT je nutn´e, aby bylo N mocninou 2, bude doplnˇena posloupnost hodnot nulami na d´elku 2048. Vˇsechny hodnoty z˚ ustavaj´ı stejn´e jako v pˇredchoz´ım pˇr´ıpadˇe, jen N = 2048. Po dosazen´ı tedy dostaneme: 6 · 2048 = 12, 288 1000 Jelikoˇz se poˇzadovan´a frekvence nach´az´ı mimo spektr´aln´ı ˇc´aru, bude rozloˇzena do v´ıce ˇcar, nicm´enˇe nejvyˇsˇs´ı amplitudy by mˇela nab´ yvat st´ale dvan´act´a hodnota. k=
V´ ysledky testu Pro oba pˇr´ıpady bylo vykresleno spektrum (obr´azek 7.1). Kromˇe sinusov´eho sign´alu bylo do generovan´ ych dat pˇrid´ano mal´e mnoˇzstv´ı ˇsumu, aby bylo 63
Ovˇeˇren´ı funkˇcnosti modul˚ u
Klasifikace
Obr´azek 7.1: Spektrum DFT vlevo a FFT vpravo moˇzn´e odpoˇc´ıtat spektr´aln´ı ˇca´ry. Test dopadl dle pˇredpoklad˚ u. Pro DFT se nach´az´ı jedin´a spektr´aln´ı ˇca´ra na dvan´act´e pozici. Spektrum FFT se rozlilo okolo dvan´act´e spektr´aln´ı ˇca´ry z d˚ uvodu neceloˇc´ıseln´e hodnoty. Test vyˇsel pˇresnˇe dle pˇredpoklad˚ u, lze tedy povaˇzovat implementaci DFT a FFT za spr´avnou.
7.3
Klasifikace
Klasifik´ator byl testov´an zejm´ena pro periodick´e sign´aly s r˚ uznou u ´rovn´ı ˇsumu. Na re´aln´ ych datech byl testov´an tak´e, ale tam to jiˇz nevypov´ıd´a tolik o kvalitˇe klasifik´atoru jako o celkov´em u ´spˇechu ˇci ne´ uspˇechu experimentu. Jelikoˇz v BCI je tˇreba klasifikace do tˇr´ı tˇr´ıd, z´akladn´ı test byl navrˇzen jako stˇr´ıd´an´ı ˇsumu, 6 Hz sinusovky a 15 Hz sinusovky. Samozˇrejmˇe, ˇze takov´a klasifikace prob´ıh´a naprosto spolehlivˇe. Pˇr´ıznakov´ y vektor tvoˇr´ı aplitudy okol´ı 6 Hz a 15 Hz. Pokud tento pˇr´ıpad bude vynesen do pˇr´ıznakov´eho prostoru, vid´ıme v´ ysledek na obr´azku 7.3 vlevo. Nenach´az´ı se ˇz´adn´ y ˇsum, jednotliv´e tˇr´ıdy leˇz´ı pˇr´ımo na ose a dokonce vˇetˇsina v´ yskyt˚ u dan´e tˇr´ıdy se nach´az´ı pˇr´ımo v nejbliˇzˇs´ım okol´ı tˇeˇziˇstˇe tˇr´ıdy. Stejn´ ym zp˚ usobem funguje klasifikace i pro vˇetˇs´ı procenta ˇsumu v sign´alu s t´ım rozd´ılem, ˇze se zmenˇsuj´ı vzd´alenosti tˇr´ıd. Klasifik´ator funguje zcela spolehlivˇe do velmi vysok´eho procenta ˇsumu. Aˇz kolem 95% ˇsumu nast´avaj´ı obˇcasn´e chyby klasifikace, ale vˇetˇsina dat je i pˇresto klasifikov´ana spr´avnˇe. Z dat s takovou hodnotou ˇsumu jiˇz jen tˇeˇzko pouh´ ym okem rozpoznat o jak´ y sign´al se p˚ uvodnˇe jednalo. Na obr´azku 7.2 je zobrazen sinus s frekvenc´ı 6 Hz. 64
Ovˇeˇren´ı funkˇcnosti modul˚ u
Klasifikace
Obr´azek 7.2: Funkce sinus o frekvenci 6 Hz vlevo bez ˇsumu, vpravo s 95% ˇsumem
Obr´azek 7.3: Pˇr´ıznakov´ y prostor pro 3 tˇr´ıdy bez ˇsumu vlevo a s 95% ˇsumem vpravo
65
Ovˇeˇren´ı funkˇcnosti modul˚ u
Celkov´y test
Vlevo bez ˇsumu, vpravo s 95% ˇsumem. Pokud se pod´ıv´ame na pˇr´ıznakov´ y prostor v tomto pˇr´ıpadˇe (obr´azek 7.3 vpravo), tˇr´ıdy jsou jiˇz daleko bl´ıˇze u sebe neˇz v sign´alu bez ˇsumu. Kromˇe toho nejsou pˇr´ımo na os´ach, nebot’ kv˚ uli ˇsumu je v´ yrazn´ y i pˇr´ıznak, kter´ y by se u urˇcit´e frekvence v˚ ubec nemˇel vyskytovat. Jednotliv´e v´ yskyty maj´ı od tˇeˇziˇstˇe tˇr´ıd vˇetˇs´ı vzd´alenost. Z tohoto d˚ uvodu m˚ uˇze obˇcas doch´azet k chybˇe klasifik´atoru. Klasifik´ator je schopen spr´avnˇe klasifikovat data i s velk´ ym mnoˇzstv´ım ˇsumu. Lze tedy pˇredpokl´adat, ˇze pˇri klasifikaci EEG dat bude u ´spˇeˇsnost relativnˇe vysok´a.
7.4
Celkov´ y test
V tomto testu se jednalo o zjiˇstˇen´ı u ´spˇeˇsnosti klasifikace na re´aln´ ych datech. Testov´an´ı prob´ıhalo na programu pro naˇc´ıt´an´ı dat ze souboru. Jelikoˇz tento program obsahuje stejn´ y zp˚ usob zpracov´an´ı a klasifikace, lze v´ ysledky povaˇzovat za objektivn´ı i v r´amci zpracov´an´ı v re´aln´em ˇcase v druh´em programu.
7.4.1
Popis experimentu
Pro tento experiment byla pouˇzita data namˇeˇren´a na jaˇre roku 2010. Subjekty byli muˇzi ve vˇeku 18 - 25 let. Celkov´ y poˇcet subjekt˚ u byl 5. Kaˇzd´ y z nich sledoval postupnˇe ˇctyˇri sc´en´aˇre. Jednalo se o stimulaci ˇctvereˇckem a ˇsipkou v ˇcerven´e a modr´e barvˇe zobrazovan´ ymi na monitoru poˇc´ıtaˇce. Frekvence blik´an´ı byly 6 Hz a 15 Hz. Pro kaˇzd´ y sc´en´aˇr bylo namˇeˇreno 12 epoch o d´elce 5 - 10 sekund.
7.4.2
Zpracov´ an´ı dat
U namˇeˇren´ ych dat byly kromˇe statistik sledov´any i grafy frekvenˇcn´ıch spekter. Ve vˇsech pˇr´ıpadech by grafy mˇely vypadat pˇribliˇznˇe jako na obr´azc´ıch 7.4, 7.5 a 7.6. V grafu vˇzdy prvn´ı modr´a ˇc´ara oznaˇcuje 6 Hz a druh´a modr´a 15 Hz, coˇz jsou stimulaˇcn´ı frekvence. Zelen´e ˇc´ary jsou jejich prvn´ı harmonick´e frekvence. Na obr´azku 7.4 se jedn´a o stimulaci 6 Hz stimulem. Je vidˇet vysok´a amplituda v okol´ı spektr´aln´ı ˇca´ry 6 Hz a dokonce i na 12 Hz. U obr´azku 7.5 se jedn´a o 15 Hz stimulaci. Amplituda jiˇz nen´ı tak vysok´a. Posledn´ı 66
Ovˇeˇren´ı funkˇcnosti modul˚ u
Celkov´y test
Obr´azek 7.4: Frekvenˇcn´ı spektrum pˇri 6 Hz stimulaci
Obr´azek 7.5: Frekvenˇcn´ı spektrum pˇri 15 Hz stimulaci
67
Ovˇeˇren´ı funkˇcnosti modul˚ u
Celkov´y test
Obr´azek 7.6: Frekvenˇcn´ı spektrum bez stimulace
z obr´azk˚ u 7.6 ukazuje spektrum norm´aln´ıho stavu bez stimulace. Tyto obr´azky demonstruj´ı relativnˇe dobr´a data. U mnoha subjekt˚ u frekvenˇcn´ı spektra pˇri stimulaci nevykazuj´ı ˇza´dn´e pravidelnosti a pouh´ ym okem (vˇetˇsinou ani pomoc´ı klasifik´atoru) nelze dos´ahnout vysok´ ych u ´spˇeˇsnost´ı pˇri klasifikaci. Subjekt 1 Sada dat Tr´enovac´ı data Data 1 Data 2 Data 3 Pr˚ umˇer
´ eˇ Uspˇ snost 0.8265 0.7776 0.6817 0.6971 0.7457
Chyba 0.1735 0.2224 0.3183 0.3029 0.2542
V´ aˇ zen´ au ´ spˇ eˇ snost 0.8874 0.8765 0.8246 0.8291 0.8544
V´ aˇ zen´ a chyba 0.1126 0.1235 0.1754 0.1709 0.1456
Z v´ ysledk˚ u je patrn´e, ˇze osoba reagovala na modr´ y stimul m´enˇe neˇz na ˇcerven´ y. D´ale je tak´e zˇrejm´e, ˇze chyby pˇri klasifikaci jsou vˇetˇsinou mal´e (tzn. neoznaˇcen´ı ˇz´adn´e frekvence bˇehem blik´an´ı), nebot’ v´aˇzen´a u ´spˇeˇsnost rozpozn´av´an´ı je ˇr´adovˇe o 10% vyˇsˇs´ı. Na tomto faktu se velkou mˇerou pod´ıl´ı postupn´ y n´abˇeh a sebˇeh na zaˇca´tc´ıch a konc´ıch epoch. Subjekt 2 Sada dat Tr´enovac´ı data Data 1 Data 2 Data 3 Pr˚ umˇer
´ eˇ Uspˇ snost 0.7234 0.7878 0.6248 0.6835 0.7049
Chyba 0.2766 0.2122 0.3752 0.3165 0.2951
68
V´ aˇ zen´ au ´ spˇ eˇ snost 0.8218 0.8817 0.7126 0.7913 0.8019
V´ aˇ zen´ a chyba 0.1782 0.1183 0.2874 0.2087 0.1982
Ovˇeˇren´ı funkˇcnosti modul˚ u
Celkov´y test
U druh´eho subjektu jsou v´ ysledky velmi podobn´e prvn´ımu. Subjekt 3 Sada dat Tr´enovac´ı data Data 1 Data 2 Data 3 Pr˚ umˇer
´ eˇ Uspˇ snost 0.7858 0.7653 0.7748 0.5563 0.7206
Chyba 0.2142 0.2347 0.2252 0.4437 0.2795
V´ aˇ zen´ au ´ spˇ eˇ snost 0.8819 0.8784 0.8747 0.7604 0.8489
V´ aˇ zen´ a chyba 0.1181 0.1216 0.1253 0.2396 0.1512
Tˇret´ı osoba mˇela dobr´e reakce i na modrou barvu, jak je vidˇet z ˇr´adku Data 2, avˇsak posledn´ı sada dat z˚ ust´av´a v u ´spˇeˇsnosti rozpozn´av´an´ı daleko pod ˇ ostatn´ımi. Slo zˇrejmˇe o nesoustˇredˇenost subjektu. Subjekt 4 Sada dat Tr´enovac´ı data Data 1 Data 2 Data 3 Pr˚ umˇer
´ eˇ Uspˇ snost 0.6846 0.6758 0.6365 0.5953 0.6481
Chyba 0.3154 0.3242 0.3635 0.4047 0.3520
V´ aˇ zen´ au ´ spˇ eˇ snost 0.7673 0.7502 0.6933 0.6700 0.7202
V´ aˇ zen´ a chyba 0.2327 0.2498 0.3067 0.3300 0.2798
U tohoto subjektu jsou celkovˇe u ´spˇeˇsnosti rozpozn´av´an´ı velice n´ızk´e. Subjekt se pravdˇepodobnˇe soustˇredil nespr´avn´ ym zp˚ usobem a syst´em BCI by v tomto pˇr´ıpadˇe selh´aval. Subjekt 5 Sada dat Tr´enovac´ı data Data 1 Data 2 Data 3 Pr˚ umˇer
´ eˇ Uspˇ snost 0.7065 0.7461 0.6615 0.5711 0.6713
Chyba 0.2935 0.2539 0.3382 0.4289 0.3286
V´ aˇ zen´ au ´ spˇ eˇ snost 0.8051 0.8268 0.7617 0.7154 0.7773
V´ ysledky opˇet ukazuj´ı horˇs´ı odezvu subjektu na modrou barvu.
69
V´ aˇ zen´ a chyba 0.1949 0.1732 0.2383 0.2846 0.2228
Ovˇeˇren´ı funkˇcnosti modul˚ u
7.4.3
Celkov´y test
Z´ avˇ er experimentu
Ze z´ıskan´ ych hodnot je jasnˇe patrn´e, ˇze stimulace modrou barvou na vˇetˇsinu subjekt˚ u nep˚ usob´ı tak v´ yraznˇe jako barva ˇcerven´a. D´ale lze pozorovat, ˇze vˇetˇsina klasifikaˇcn´ıch chyb je na zaˇc´atc´ıch a konc´ıch epoch, kde je dlouh´ y n´abˇeh a sebˇeh. Pokud bychom tyto chyby nebrali jako chyby (tj. nastavit parametry v´aˇzen´e chyby na 1; 0; 0), dostali bychom se v nˇekter´ ych pˇr´ıpadech su ´spˇeˇsnost´ı klasifikace aˇz k 95%. Pˇri nastaven´ı, jak´e bylo pouˇzito v tabulk´ach (neoznaˇcen´ı dat, kter´e maj´ı b´ yt oznaˇceny je poloviˇcn´ı chyba), se u ´spˇeˇsnost klasifikace pohybuje u ˇcerven´e barvy od 75% do 90% v z´avislosti na subjektu. U modr´e barvy se pak u ´spˇeˇsnost pohybuje ˇra´dovˇe o 10% n´ıˇze. Pokud se jedn´a o pouˇzitelnost tohoto principu pro oblasti BCI, m˚ uˇze b´ yt syst´em relativnˇe spolehliv´ y. Zejm´ena pokud subjekt bude m´ıt odezvu, zda jeho soustˇredˇen´ı je spr´avn´e nebo ne. Je jasn´e, ˇze kaˇzd´ y ˇclovˇek nedos´ahne vysok´e spolehlivosti hned. Nejvˇetˇs´ı nezn´amou je zde vˇzdy testovan´a osoba.
70
8 Z´avˇer Diplomov´a pr´ace se zab´ yv´a aplikac´ı ust´alen´ ych vizu´aln´ıch evokovan´ ych potenci´al˚ u v oblasti BCI. Jelikoˇz se jedn´a o t´ema zach´azej´ıc´ı ve velk´e m´ıˇre do medic´ıny, bylo zapotˇreb´ı nastudovat mnoˇzstv´ı materi´al˚ u t´ ykaj´ıc´ıch se vyˇsetˇren´ı mozku a evokovan´ ych potenci´al˚ u. Na z´akladˇe tˇechto znalost´ı bylo moˇzn´e pˇripravit stimulaˇcn´ı sc´en´aˇr a n´aslednˇe testovat moduly pro zpracov´an´ı a klasifikaci dat. Tyto moduly byly vyrobeny jako moˇzn´a souˇc´ast pˇripravovan´eho BCI, kde je ovl´ad´ano robotick´e voz´ıtko pr´avˇe pomoc´ı ust´alen´ ych vizu´aln´ıch evokovan´ ych potenci´al˚ u. Pr´ace je ˇclenˇena na osm kapitol. Po kr´atk´em u ´vodu se nach´az´ı kapitola s n´azvem Elektroencefalografie. V t´eto ˇca´sti jsou struˇcnˇe probr´any z´akladn´ı principy mˇeˇren´ı EEG, typy mozkov´ ych vln a tak´e probl´emy, na kter´e lze pˇri mˇeˇren´ı narazit. N´asleduje kapitola Evokovan´e potenci´aly obsahuj´ıc´ı souhrn informac´ı o jednotliv´ ych typech evokovan´ ych potenci´al˚ u. D˚ uraz je pˇredevˇs´ım kladen na vizu´aln´ı evokovan´e potenci´aly, kter´e jsou zde pops´any detailnˇeji. Dalˇs´ı ˇc´ast se zab´ yv´a metodami pro zpracov´an´ı EEG. Jedn´a se zejm´ena o r˚ uzn´e druhy Fourierov´ ych transformac´ı. Posledn´ı kapitola teoretick´e ˇca´sti se zamˇeˇruje na klasifikaci. Kv˚ uli povaze zpracov´avan´ ych dat jsou zde probr´any pouze pˇr´ıznakov´e metody. N´avrh a implementace BCI se zab´ yv´a uˇz vlastn´ım n´avrhem syst´emu ovl´ad´an´ı robotick´eho voz´ıtka pomoc´ı SSVEP. Jsou zde pops´any veˇsker´e postupy pˇri v´ yrobˇe stimulaˇcn´ıho sc´en´aˇre, zpracov´an´ı dat, klasifikace a dalˇs´ı. Jednotliv´e moduly popsan´e v t´eto ˇca´sti jsou v dalˇs´ı kapitole testov´any. Testov´an´ı modul˚ u je zakonˇceno komplexn´ım testem pro ovˇeˇren´ı funkce celkov´eho principu a zjiˇstˇen´ı vyuˇzitelnosti SSVEP v oblasti BCI. Bˇehem implementace a testov´an´ı nenastaly v´ yraznˇejˇs´ı komplikace. Vˇetˇsina modul˚ u pracuj´ıc´ıch s real-time daty byla testov´ana pˇrev´aˇznˇe na generovan´ ych datech, nebot’ propojen´ı s pˇr´ıstrojem pro mˇeˇren´ı EEG bylo moˇzn´e pouze v laboratoˇri. I pˇres tento fakt pˇri n´asledn´em testu v laboratoˇri vˇse fungovalo jak mˇelo a klasifikace prob´ıhala u mˇeˇren´e osoby spolehlivˇe. Program pro naˇc´ıt´an´ı dat ze souboru byl pouˇz´ıv´an pˇri vyhodnocen´ı spolehlivosti klasifik´atoru. Z v´ ysledk˚ u je vidˇet, ˇze klasifikace dosahuje u ´spˇeˇsnosti aˇz 90%. Jelikoˇz tyto testy byly prov´adˇeny na n´ahodn´ ych subjektech bez zpˇetn´e vazby, lze pˇredpokl´adat, ˇze pˇri ovl´ad´an´ı robotick´eho voz´ıtka bude u ´spˇeˇsnost klasifikace jeˇstˇe vyˇsˇs´ı. Diplomov´a pr´ace uk´azala, ˇze lze pouˇz´ıt princip SSVEP pro ovl´ad´an´ı robo71
Z´avˇer
tick´eho voz´ıtka. K realizaci tohoto syst´emu pr´ace pˇrispˇela nˇekolika moduly, kter´e byly ovˇeˇreny a lze je nasadit. Pr´aci lze povaˇzovat za u ´spˇeˇsnou, nebot’ pˇrispˇela k vytvoˇren´ı zaj´ımav´eho BCI syst´emu a splnila veˇsker´e poˇzadavky na ni kladen´e.
72
Literatura [1] FORNBAUM, M. Bakal´aˇrsk´a pr´ace: Ust´alen´e vizu´aln´ı evokovan´e potenci´aly a jejich aplikace v oblasti BCI. Z´apadoˇcesk´a univerzita v Plzni, Fakulta aplikovan´ ych vˇed, Katedra informatiky a v´ ypoˇcetn´ı techniky, 2010. ˇ ´ [2] HERMAN, P. Biosign´aly z pohledu biofyziky. Petr Heˇrman – DULOS, 2006. ˇ ´ P. Evokovan´e potenci´aly v klinick´e praxi. Brno : Institut [3] KANOVSK Y, pro dalˇs´ı vzdˇel´av´an´ı pracovn´ık˚ u ve zdravotnictv´ı, 2000. ´ R, ˇ R. L´ekaˇrsk´a diagnostick´a technika. VUT Brno, 2006. [4] KOLA ˇ ´IK, V. Umˇel´a inteligence 1. Academia Praha, 1993. [5] MAR [6] MAUTNER, P. Pˇredn´aˇsky KIV/AZS. Pˇredn´aˇsky z pˇredmˇetu KIV/AZS. [7] Presentation documentation. Neurobehavioral Systems, 2012. Dostupn´e z: http://www.neurobs.com/presentation/docs. [8] ROZMAN, J. Elektronick´e pˇr´ıstroje v l´ekaˇrstv´ı. Academia, 2006. [9] ZHU, D. A Survey of Stimulation Methods Used in SSVEP - Based BCIs. 2010. Dostupn´e z: http://www.hindawi.com/journals/cin/2010/702357.html.
73