Weekend Prosjekt: Ta en Tour of Open Source Eye-Tracking Software

Høyre dette sekund, du
ser på en nettleser. Minst, de er oddsen. Men mens det er mildt interessant å meg
, detaljerte data om hvor brukerne ser (og hvor lenge) er virksomhetskritisk. Webdesignere vil vite om de besøkende blir distrahert fra innholdet på siden. Programutviklere ønsker å vite om brukerne har problemer med å finne de viktige verktøy og funksjoner på skjermen. Plus, for tilgjengeligheten samfunnet, å kunne spore øyet bevegelse lar deg gi skriving og kontroll over markøren til folk som standard IO-enheter kan ikke operere. La oss ta en titt på hva åpen kildekode er ute for å spore øynene og gjøre den om til nyttige data.

De kategoriene nevnt ovenfor gjør en ganske ren jobb med å dele opp eye-tracking prosjekter. Noen er primært designet for bruk i brukeratferd studier, som du kan finne i et laboratorium setting. Noen er ment å fungere som en del av en inngang rammeverk for mennesker med nedsatt funksjonsevne. Men selv innenfor de grunnleggende kategorier, finner du massevis av variasjon og fleksibilitet.

For eksempel er det eye-tracking-prosjekter utviklet for å fungere med standard, kjøre-of-the-mill Webkameraer (som de som kommer beleilig knyttet til den øverste kanten av så mange bærbare datamaskiner), og de er ment å brukes sammen med en spesialitet, leder montert apparat.

Mange prosjekter har en bestemt bruk-saken i bakhodet, men med klar tilgjengeligheten av Webkameraer, utviklere utforsker alternative anvendelser egnet for gaming, gest-inngang, og alle slags sprø ideer. I tillegg, uansett hvordan du fange eye-tracking data, det krever spesiell programvare for å tolke det på en nyttig måte.

Tracking Eye Movement Med et webkamera

På billig slutten av hardware spekteret er de prosjekter som implementerer øye-sporing ved hjelp av en standard-utgaven Webcam.

OpenGazer er uten tvil den enkleste slikt prosjekt for å komme i gang med. Koden er utviklet som en akademisk forskningsinnsatsen, som har den uheldige bivirkning av å gjøre offentlige utgivelser sporadisk. Tarballen linket til fra prosjektets hjemmeside er et par år gammel, men det er mye nyere koden tilgjengelig på GitHub, sammen med kompilering og installering.

OpenGazer er lisensiert under GPLv2, og inkluderer en Python applikasjon kalt HeadTracker som sporer hodet bevegelse for å begrense synsfeltet som OpenGazer klokker for øyebevegelser. Hvilken som helst USB Webcam støttes av Linux vil fungere.

To mer tilbudene er utformet for å fungere med USB Webkameraer, men de er begge skrevet for Windows. Lisensene gjøre tillate dem å være tilpasset Linux og andre operativsystemer, men. Gaze Tracker er en GPLv3 verktøy med et GUI og en innebygd kalibrering aide. Den støtter både video og infrarød Webkameraer.

TrackEye er lisensiert under kode Prosjekt Open License, som synes å være unik for forfatterens fiendtlig sted. Spesielt, de eneste begrensningene det pålegger ikke er på gjenbruk eller omfordeling av programvaren, men på å endre den medfølgende dokumenter
. Gitt valget, en standard, er akseptert lisens alltid å foretrekke, men TrackEye kan være verdt å studere.

Tracking Eye Movement med spesialitet utstyr

Det er to open source eye-tracking verktøy som krever spesial hodeplagg - beslektet med et glass ramme med en miniatyr webkamera festet, rettet mot øynene. Det ser kanskje ikke kul, men begrensningen sparer CPU-sykluser ved å sikre at brukerens øyne er alltid i-frame, og ingen kode er nødvendig for å først finne øyet før spore bevegelsen.

openEyes er et prosjekt som produserer tre separate verktøy. cvEyeTracker er en frittstående, real-time eye-tracking program, bygget på toppen av OpenCV datamaskinen visjon bibliotek. Men det er designet for å fungere med to videokameraer festet, og ser ut til å forvente dem begge å være Firewire. Synlig Spectrum Starbust er et verktøy for å plukke opp øyebevegelser i en videofil registrert separat, noe som kan være en enklere løsning for de uten tilgang til Firewire maskinvare som trengs av cvEyeTracker.

Den tredje pakken, Starburst, er en frittstående elev-anerkjennelse verktøy; algoritmen er den samme som brukes av både av de andre programmene – det er bare pakket separat for enklere gjenbruk. Alle de openEyes kode er lisensiert under GPLv2. Prosjektet omfatter også planer om å bygge videoopptak maskinvare som brukes av programmene.

EyeWriter prosjektet er et forsøk på å bygge en brukbar eye-bevegelsen input system for en bruker med lammelser. Imidlertid er koden den har produsert er generell nok til å bli brukt til andre prosjekter. Den er designet for å fungere med Playstation Eye, en off-the-sokkel komponent beslektet med den mer allment kjent Microsoft Kinect.

Eye-Driven Input og Pointer kontroll

Ved hjelp av eye-tracking programvare som et tilgjengelighetsverktøy (som EyeWriter prosjektet gjør) omfatter ikke bare identifisere iris og elev i et videobilde, men oversette den bevegelse som den oppdager inn i skrivebordsmiljøet innspill system.

GNOME musefelle er en komponent designet å gjøre dette. Takket være sin integrasjon med skrivebordsmiljøet GNOME, er det relativt enkelt å komme i gang med (faktisk mange distribusjoner allerede pakke det). Men musefelle er avhengig av en eldre versjon av OpenCV. Det er en patch for å oppdatere koden for de siste endringene, men GNOME 3 er fortsatt i ferd med å oppdatere brukervennlighet verktøyene som finnes i GNOME 2.x, slik at du kan oppleve andre inkompatibilitet.

eViacam er en nyere Prosjektet – fortsatt aktivt utviklet – som bruker head-tracking for å flytte musepekeren. I oktober 2011 diskuterte GNOME-prosjektet muligheten for å bruke eViacam som en moderne erstatning for musefelle, men besluttet at for tiden, det var ikke en god passform på grunn av sin ikke-GNOME avhengigheter.

SITPLUS er en multi-input system som støtter eye tracking samt motion capture gjennom Nintendo Wii fjernkontroller og flere andre mekanismer. Det er en GPLed rammeverk for utforming av interaktive applikasjoner – prosjektets hovedmål synes å være fremme aktivitet for mennesker med cerebral parese og andre motoriske vansker, men det har andre potensielle bruker også.

OpenGazer (nevnt i Webcam avsnittet ovenfor) inneholder en ansikts-gest anerkjennelse motor som også kan brukes som en inngang system for Dasher bevegelses drevet skriving system; men her igjen du kan ha å gjøre noe arbeid for å integrere den med systemet.

Til slutt er det to hardware-sentriske prosjekter verdt å nevne. Den Eyeboard er en billig maskinvareenhet som bruker elektro okulografi (påvisning av øyebevegelser med elektroder, snarere enn gjennom video mønstergjenkjenning) og en spesiell skriving ramme for å tillate brukere å skrive ved å fokusere på skjermen.

The Eye Gaze er en person-til-person-kommunikasjon enhet som bruker en " vinduskarmen " å spore bokstaver og tall valgt av brukeren. Som wiki artikkelen forklarer imidlertid kommersielle enheter som Eye Gaze er ofte dyre – men de trenger ikke å være, og deres enkelhet gjør dem lett kan brukes med vanlige Nettkamera

Processing Eye-Movement data

I kontrast, ". usability studie " bruke saken for eye-tracking data krever programvare for å kartlegge øyebevegelser – slik at de kan legges over på et nettsted eller applikasjon design til følge øye bevegelse, eller for å generere en varme kart over hva regioner fange mest oppmerksomhet. Foreløpig synes det ikke å være noen øyebevegelser analyse eller visualisering programvare utviklet for Linux, men det er noen vellykkede verktøy for andre plattformer som kan danne grunnlaget for levedyktige porter.

CARPE (for Computational og Algorithmic Representasjon og foredling av Eye-bevegelser) er en GPLv3 bibliotek for å visualisere øye bevegelsesdata. Det kan skaperen konturkart, varmekart, klase tomter, og flere andre visualiseringer, og kan legge data inn video for enklere analyse. Det er Windows-bare i øyeblikket, selv om den bruker OpenCV under panseret.

Ogama (for Open Gaze og mus Analyzer) er en annen Windows-basert verktøykasse. Det er også GPLv3, og det er skrevet i C #. Det inkluderer en live eye-motion opptak komponent i tillegg til analyse og visualisering komponenter. Programvaren kan behandle rå eye tracking data for å finne interessante, beregne statistikk for ekstern analyse, og skape flere visualisering.

RITcode er en øye-bevegelsesanalyse rammeverk utviklet av Rochester Institute of Technology Visual Perception Lab. Den er utviklet for Mac OS X, selv om kodebasen ikke er blitt oppdatert i noen tid.

Flere verktøy med godt omdømme har, uansett grunn, er gjort tilgjengelig under vanskelige eller uforenlig konsesjonsvilkår. For eksempel eye-bevegelsen klassifiseringsverktøy ved Texas State University Oleg Komogortsev tallet. Dr. Komogortsev sier han ønsker at de skal være tilgjengelig for samfunnet, men de er bare brukbare ved å be om et passord direkte fra forskerne.

Det finnes et lignende situasjon for Eye-Tracking Universal Driver og MyEye prosjektet, begge er kun tilgjengelig under uspesifikk " freeware " vilkår. For alle praktiske formål, disse lisensierings situasjoner begrense programvarens bruk betraktelig, og vil fortsette å gjøre det med mindre forfatterne har en forandring i hjertet og vedta standardlisenser.

Ser Ahead

For Linux-brukere da er det eye-tracking markedsplass litt av en blandet bag. Det er nok av " råstoff " – inklusive øye-bevegelsen fange programvare, rammer for bruk av øye bevegelse som input, og algoritmer for å analysere og visualisere bevegelsesdata. Problemet er at det meste er enten utviklet kun for Windows, eller det er opprettholdt som et frittstående prosjekt som gjør integrering med annen programvare vanskelig.

Dette betyr ikke at situasjonen er ille, men. GNOME tilgjengelighet team, for eksempel, er fortsatt forfølger eye-tracking på sine hackfests samt utforske flere av det selvstendige arbeidet nevnt ovenfor. Ikke altfor lenge siden, som inkluderte møte opp med de nevnte OpenGazer prosjektet, blant andre.

Hva er mindre klart er der Linux-fans kan samarbeide med dataanalyse og visualisering prosjekter. De største brukerne av slik teknologi er i menneske-maskin interaksjon (HCI) og UI design samfunn, noe som utgjør en liten gruppe innenfor det større Linux-universet. Likevel, det er tydelig nok kunnskap der ute - og lisens-kompatibel programvare tilgjengelig – at en interessert part kunne plukke opp bitene og sette sammen en høy kvalitet, åpen kildekode-løsning. Økningen i populariteten til Microsoft Kinect (spesielt OpenKinect gratis programvaredrivere) kunne blåse liv interesse i eye-tracking, til alles fordel. Anmeldelser