Tekoälyn hyödyntäminen aivosähkökäyräpohjaisen aivokäyttöliittymän rakentamisessa

04.12.2023

BCI (aivokäyttöliittymä) on ihmisen ja ulkoisen laitteen välinen suora viestiyhteys aivojen sähkötoimintaa käyttäen. Tätä aivojen sähkötoimintaa voidaan mitata EEG:llä (aivosähkökäyrä) päänahkaan kiinnitettävillä elektrodeilla, joilla mitataan aivotoiminnan aiheuttamia sähköisiä potentiaaleja. EEG:n tulkitseminen moninaisiksi käskyiksi laitteiden ja ohjelmien ohjaamiseen on kuitenkin hankalaa. Koneoppimista hyödyntämällä on kuitenkin mahdollista kouluttaa tekoäly tulkitsemaan EEG:tä.

Tekoälyn kouluttaminen vaatii sen käyttötarkoituksen mukaista opetusdataa, josta se voi oppia tunnistamaan/ennustamaan haluttua lopputulosta. Laadukas opetusdata sisältää runsaasti erilaisia luotettavia esimerkkejä käyttötarkoitukseen liittyen ja tämä varmistetaan käsittelemällä data ennen sen esittämistä tekoälylle. Käsittelyvaiheessa datasta poistetaan virheet ja jos opettaminen on ohjattua, lisätään merkinnät.

Opinnäytetyössä kerättiin tietokonenäkötekniikkaan perustuvan MoveNet Lightning- tekoälymallin tuottamaa asennontunnistusdataa ja samanaikaisesti nauhoitettiin EEG:tä. Tavoitteena oli luoda tekoälylle opetusdataa käyttäen asennon tunnistuksen XY-koordinaatteja merkintöinä EEG-signaaleille.

Yhteensopivat palapelin palat

Opinnäytetyön toteutuksessa asennontunnistusdatan keräämiseen käytettiin Logitechin C922 USB web-kameraa, johon Python-ohjelma yhdistää OpenCV kirjaston avulla. Web-kameran kuvaa syötetään TensorFlow-rajapinnan kautta MoveNet tekoälylle, joka antaa ulos 17 anatomisen pisteen XY-koordinaatit. Vastaavasti EEG:n nauhoittamiseen käytettiin OpenBCI Ultracortex Mark IV EEG-päähinettä ja BrainFlow-rajapintaa.

Kaikki kerättävä data tallennetaan taulukkomuodossa aikaleimattuna, jolloin EEG on helppo sovittaa yhteen samanaikaisten XY-koordinaattien kanssa dataa käsiteltäessä. Pythonin Pandas- ja NumPy- kirjastoilla kerätystä datasta karsitaan ylimääräiset kohdat pois ja SciPy- kirjaston signaalityökaluilla EEG:stä suodatetaan häiriöitä ja kohinaa pois. Lopuksi data jaetaan koulutus-, validointi- ja testidataksi ja se on valmis käytettäväksi tekoälyn kouluttamiseen.

Vain mielikuvitus on rajana

EEG:stä asentoja tulkitsevalle tekoälylle on lukuisia mahdollisia käyttötarkoituksia. Se voi esimerkiksi toimia älykkään raajaproteesin ja kehon välisenä rajapintana. Sitä voisi samalla tavalla myös hyödyntää teollisuusrobottien ohjaamiseen, sekä käyttää liikkeentunnistimien ja ohjaimien korvaajana virtuaalitodellisuuden ratkaisuissa.

Lähde:

Hakala, L. 2023. Turun ammattikorkeakoulun opinnäytetyö.

Artikkelikuva luotu DALL-E 3 tekoälymallilla.