Tehnici de detecție a pupilei utilizate în tehnologiile asistive si telemonitorizare medicală [308395]

UNIVERSITATEA TEHNICĂ “GHEORGHE ASACHI” DIN IAȘI

Facultatea de Electronică, Telecomunicaţii şi Tehnologia Informaţiei

Proiect de diplomă

“Tehnici de detecție a pupilei utilizate în tehnologiile asistive si telemonitorizare medicală”

Coordonator: Profesor Doctor Inginer Radu Gabriel Bozomitu

Absolvent: [anonimizat], [anonimizat], omul a [anonimizat].

[anonimizat], pot fi “sparte” cu ajutorul unor programe care generează câteva zeci de mii de combinații posibile pe secundă. [anonimizat].

[anonimizat].

Termenul de biometric se referă la orice trăsătură fiziologică umană (iris,pupilă, [anonimizat]) sau la trăsături de comportament (voce, mișcare, mers și semnătură) care pot fi măsurate. S-[anonimizat], finanțe, verificări la granițe și în instituțiile guvernamentale. [anonimizat], [anonimizat]. [anonimizat]. Totuși, ele necesită metode și algoritmi sofisticați pentru a fi eficiente.

Trăsăturile biometrice pot fi folosite atât pentru identificarea sistemului cât și pentru verificarea sistemului. [anonimizat] o listă de eșantioane din baza de date. [anonimizat] a stabili conformitatea persoanei cu persoana presupusă.

Lucrarea de față își propune să urmărească eficiența și acuratețea unui algoritm pentru detecția pupilei. Au fost introduse multe metode de detectare a pupilei, [anonimizat]:

Metoda “Edge Filtering”;

Metoda Starburst;

Transformarea Hough pentru eplisa sau circulara;

Metoda celor mai mici pătrate;

Metoda RANSAC;

Metoda proiecțiilor dar si altele.

[anonimizat] s-a bazat pe un centru asumat al pupilei.

[anonimizat] o [anonimizat] a fi o metodă invazivă astfel informațiile sunt luate având contact direct cu subiectul.

Pentru realizarea studiului pentru urmărire a [anonimizat].

Figura 1- Dispozitiv de urmărire al ochilor [3].

Figura 2-Dispozitiv de urmărire al ochilor [4].

Motivația lucrării

Având în vedere dezvoltarea atât de rapidă a tehnologiei consider că aceasă temă este una importantă pentru ceea ce urmează în viitor și în același timp foarte interesantă. Am ales această temă din dorința de documentare și pentru a descoperi cât mai multe lucruri practice si importante.

Deși cercetările istorice s-au concentrat pe urmărirea de la distanță, a existat o tendință recentă în algoritmi special concepuți pentru detecția pupilei.

Detecția pupilei este o metodă eficientă și de încredere. În lucrare îmi propun să detectez pupila folosind un algoritm de urmărire în timp real , conceput pentru hardware-ul IR activ montat pe cap. Algoritmul nostru este robust până la elipsele pupilei foarte excentrice și obstrucțiile parțiale ale genelor, ceea ce îl face potrivit pentru utilizarea cu camerele montate aproape de ochi.

În timp ce montarea pe cap simplifică multe sarcini, cum ar fi compensarea mișcării capului, sistemele cu costuri reduse pot avea o calitate de construcție mai mică și, prin urmare, algoritmii nu se pot baza pe variante hardware, cum ar fi pozițiile luminilor pentru sclipiri sau calibrarea perechilor de camere. În plus, apropierea camerelor într-un tracker montat în cap înseamnă că acestea trebuie poziționate într-un unghi mare față de axa vizuală, pentru a nu bloca privirea utilizatorului. Cu cât camera este mai aproape de ochi, cu atât este mai mare acest unghi, ceea ce creează noi provocări în detectarea pupilei: elipsa pupilară devine din ce în ce mai excentrică, iar genele devin din ce în ce mai obstructive.

În ciuda acestor probleme, poate fi de dorit să se monteze camere foarte aproape de ochi. Un exemplu este urmărire a ochilor pe sistemele care plasează o obstrucție în fața ochilor, cum ar fi ochelarii sau display-uri montate pe cap, unde camera de ochi trebuie să fie poziționată între obstrucție și ochi . În astfel de cazuri, algoritmii standard de detectare și urmărire a pupilelor nu găsesc pupila.

Figura 3- Ochelarii din fața ochilor obstrucționează vizionarea normală a ochilor. O cameră montată între ochelari și ochi poate vedea pupila, deși într-un unghi mare față de axa de vizualizare [2].

Obiectivul lucrarii

Se dorește implementarea unui algoritm pentru detecția pupilei pe baza de date CASIA Iris Image Database V3.0 sau Casia-Iris V3 format din 22.035 de imagini ale ochiului, preluate de la peste 700 de persoane pus la dispoziție de către Center for Biometrics and Security Research. Aceasta baza de date include trei subseturi:

CASIA-Iris-Interval;

CASIA-Iris-Lamp;

CASIA-Iris-Twins.

Din cele trei subseturi am folosit baze de date CASIA-Iris-Lamp, toate imaginile sunt cu nivele de gri , cu iluminare infrarosu colectate de la diferite persoane.

Figura 4- Exemple de imagini din Baza de date Iris Casia Lamp [4]

CAPITOLUL II

2.1. Aspecte fiziologice ale ochiului

Ochiul este un organ  a cărui principală funcție este cea de a detecta lumina. Se compune dintr-un sistem sensibil la schimbările de lumină, capabil să le transforme în impulsuri nervoase. Ochiul este unul dintre cele mai importante organe senzoriale – probabil este și cel mai complex dintre toate. Ochiul uman este capabil să sesizeze și să prelucreze zeci de milioane de informații pe secundă.

Figura 5- Imagine detaliată cu ochiul uman [5]

Pupila este punctul negru din mijlocul ochiului uman. Aceasta reacționează la lumină și se adaptează la intensitatea acesteia. Nu pupila, ci irisul face acest lucru posibil. Starea noastră emoțională poate avea de asemenea un impact asupra dimensiunii pupilei. Emoțiile, frica sau o mare bucurie, de exemplu, pot determina dilatarea pupilei, în timp ce alcoolul si drogurile pot provoca, de asemenea schimbarea dimensiunii acesteia.

Figura 6-Imagini cu ochiul uman [5].

2.2. Tehnici pentru detecția pupilei

Tehnologia de urmărire a ochilor ne-a ajutat să obținem o înțelegere mai profundă a cogniției umane, răspunzând la întrebări din psihologie, medicină, cercetare de marketing și multe alte discipline. Odata cu dezvoltarea ochiului mobil, montat pe cap urmărirea numărului de studii efectuate în scenarii din lumea reală, cum ar fi în sport, în timp ce conduci sau în timp ce iți faci cumpărăturile. Astfel de urmăriri constau din doua sau mai multe camere de fotografiat, care înregistrează ochii subiectului din prim-plan și peisajul din perspectiva ego-ului. Cea mai esențiala etapă a analizei datelor înregistrate de astfel de dispozitive este identificarea exactă a centrului pupilei în imaginea camerei.

În 2000, Schnipke și Todd au raportat mai multe dificultăți care apar în aplicațiile de urmărire a ochilor, de exemplu, schimbarea condițiilor de iluminare, intersecția genelor cu imaginea pupilei, ochelarii, etc. Schimbările frecvente de iluminare sunt adesea cauzate de mișcarea ego-ului și rotire, mai ales când se mișcă rapid, de exemplu in timp ce conduci. Reflecțiile sunt cauzate de o varietate de surse de lumină în ochiul subiectului, pe ochelari sau lentile de contact. Un alt factor care poate afecta negativ rata de detectare a pupilei este poziția camerei care înregistrează ochiul subiectului.

Pentru cea mai bună detectare a pupilei, camera trebuie poziționată direct în fața ochiului subiectului. Deoarece acest lucru ar influența comportamentul natural de vizionare, camera este de obicei poziționată la marginea vizualului și, în consecință, imaginile înregistrate sunt foarte off-axiale. În timp, mai multe dintre problemele de mai sus au fost rezolvate pentru detecția pupilelor în condiții de laborator, studiile care utilizează urmărirea ochilor în scenarii din lumea reală raportează în mod regulat detectarea scazuta a ratei pupilelor. Astfel, datele colectate din astfel de studii trebuie prelucrate post-experimental și pupila trebuie să fie etichetată manual în imaginile înregistrate.

Un algoritm popular și robust este Starburst , care se bazează pe calculul contururilor de-a lungul razelor dintr-o presupunere inițială a poziției pupilei din imagine.

În 2012, Swirski a propus un algoritm de urmărire a pupilelor pentru imagini extrem de off-axis. Abordarea lor se bazează pe o aproximare inițială a poziției pupilei folosind Haar Wavelets și o etapă de perfecționare cu montarea elipsă bazată pe RANSAC .

O altă abordare introdusă de Goni se bazează pe tehnica pupilei strălucitoare. Pupila este de așteptat aproape de reflecția corneei si extras folosind histrograme si tehnici bazate pe praguri .

În Long et. Al. imaginile IR sunt pragate folosind un algoritm simetric de centru de masă. Pragul de imagine si calculul centrului de masa sunt de asemenea, în timp ce Valenti utilizează estimarea de curbură a izofotelor și selectează izocentrul maxim ca centru al pupilei. În ciuda abordărilor de mai sus, majoritatea cercetătorilor de urmărire a ochilor utilizează propriii algoritmi de detectare a pupilelor, care sunt special concepute pentru dispozitivele lor și, în mare parte, nepublicate. În conformitate cu cunoștințele noastre, abordările de mai sus au fost evaluate pe seturi de date destul de mici.

Va propunem un algoritm nou, “Edge Filtering” pentru scurt, care este potrivit pentru aplicațiile din lumea reală de urmărire a ochilor, oferind rate mari de detectare si robustețe în imagini în care alți algoritmi nu reusesc.

Algoritmul nostru se bazează pe detectarea contururilor și include o varietate de metode matematice care vizează identificarea punctelor dintr-o imagine digitală la care luminozitatea imaginii se schimbă brusc sau, mai formal, are discontinuități.

Punctele în care luminozitatea imaginii se schimbă brusc sunt de obicei organizate într-un set de segmente de linii curbe denumite muchii. Aceeași problemă de găsire a discontinuităților în semnalele unidimensionale este cunoscută sub numele de detectare în trepte, iar problema găsirii întreruperilor semnalului în timp este cunoscută sub numele de detectare a schimbărilor. Detecția contururilor este un instrument fundamental în procesarea imaginilor, viziunea mașinii și viziunea computerului, în special în domeniile de detectare a caracteristicilor și extragerea caracteristicilor.

Setul de date de evaluare constă în ansamblu 200 de imagini, unde poziția pupilei a fost etichetată manual pe fiecare imagine. Prin urmare, în ciuda contribuției noastre algoritmice, oferim un set de date de evaluare care poate servi drept date de adevăr pentru cercetări suplimentare.

2.3. Avantaje și dezavantaje ale tehnicilor de detecție ale pupilei

Eye tracking reprezintă determinarea direcției privirii cu ajutorul unei camere video. Două tipuri de imagini sunt folosite frecvent în eye tracking: imagini în spectrul vizibil și în spectrul infraroșu.

Procesarea imaginilor în spectrul vizibil reprezintă o abordare pasivă și se bazează pe lumina ambientală reflectată de ochi. Caracteristica urmărită este irisul și în special conturul acestuia. Totuși procesarea este complicată datorită condițiilor de iluminare variabile ce poate determina obținerea unor imagini speculare și difuze. Procesarea imaginilor ochiului în infraroșu elimină aceste neajunsuri. Ochiul este iluminat în mod constant și uniform, imperceptibil pentru utilizator. Un alt avantaj îl reprezintă imaginea pupilei care apare mult mai pronunțată comparativ cu irisul, fiind preferată în procesările de imagine pentru eye tracking.

Dezavantajul constă în faptul ca nu prea poate fi utilizat afară în timpul zilei datorită iluminării ambientale care are o componentă importantă în infraroșu. Sistemul eye tracking în infraroșu utilizează două tehnici: pupilă albă, ori pupilă neagră. Prima se obține atunci când camera este poziționată astfel încât radiația infraroșu este reflectată de retină – fenomenul ochiului de pisică noaptea.

A doua tehnică presupune poziționarea camerei și a sursei de lumină infraroșu astfel încât fenomenul reflexiei pe retină să nu mai fie înregistrat de cameră. În aceste condiții pupila apare ca un punct negru în imagine. În ambele cazuri este întâlnită reflexia corneală și apare în imagine ca fiind punctul cel mai luminos.

Figura 7-Dispozitiv pentru preluarea imagini ochiului (ASISTSYS 2008)[13]

2.4. Tehnici invazive si neinvazive pentru detecția pupilei

Cercetatorii apelează la o gama largă de proceduri, teste si metode pentru detectarea pupilei.

Unele din aceste proceduri sunt mai ușor de realizat și nu foarte complicate pentru oameni, în timp ce altele sunt dificile și prezintă un risc pentru om.

Într-o gamă foarte largă și generală, procedurile pot fi impărțite în două categorii :

proceduri invazive

proceduri neinvazive.

Măsurarea, colectarea și prelucrarea datelor biometrice ale persoanelor implică complicații mari în cazul metodelor invazive: în general, aceste metode sunt realizabile numai cu acordul persoanei respective. Alte tehnici de recunoaștere, bazate pe informații video, au deficiențe din punctul de vedere al timpului de prelucrare al datelor, trebuind să se ajungă la un compromis, întotdeauna defavorabil, între calitatea imaginii și timpul de transmisie al informațiilor.

În schimb, procedurile neinvazive au avantajul că informațiile sunt luate fără contact direct cu persoana implicata , au o calitate mai buna a imaginii și timpul de transmisie al informațiilor este mai scrut.

Pentru procedura neinvaziva putem folosi un tracker de ochi Tobii Pro TX300 cu o rată de eșantionare de 120 Hz și software de urmărire optică Tobii Studio pentru a înregistra și prelucra date de urmărire a ochilor neinvazive (Tobii Technology, Stockholm, Suedia).

Figurile 8 și 9-Imagini cu TOBII[9][10]

Din cauză că ochiul uman se află în mișcare constantă (microsacade de tremor și derivă), detectarea acestor mișcări necesită tehnici invazive sau dispozitive scumpe, cu metode de detecție sofisticate.

Figura 10-Imagine cu camera video pentru captura ochiului [15]

2.5. Tehnici de detecție a pupilei „remote”(dispozitiv de detecție produs de TOBII) tehnici care utilizează o casca cu camera de filmat în infrarosu) si tehnici „head-mounted device” -utilizate de noi)

Modulul de detecție a privirii de tip „remote” (montat pe laptop-ul pacientului). Procedura de lucru este descrisă în cele ce urmează:

Procedura de lucru

Testarea s-a realizat la temperatura de confort (20 grade C), evitându-se temperaturile scăzute/ridicate ce pot influența calitatea măsurătorilor parametrilor fiziologici.

Pacienții se poziționează în decubit dorsal, în stare de relaxare fizică și psihică;

Se atașează modulele pentru detecția direcției privirii pacientului; se reglează focalizarea camerei video în infraroșu;

Se conectează modulul pentru detecția privirii la calculatorul pacientului folosind cablurile specifice;

Se realizează configurarea aplicației software;

Se realizează calibrarea sistemului de detecție a privirii pentru fiecare pacient;

Se pornește interfața pentru pacient.

Timpul de testare

Timpul de desfășurare a testării este compus din:

1. Timpul de învățare a pacientului privind utilizarea sistemului – în funcție de pacient această etapă poate varia între 15 și 30 minute;

2. Timpul de testare propriu-zisă – 15 minute.

Indiferent de etapa în care se află procedura de testare, aceasta va fi întreruptă imediat, dacă pacientul, personalul medical sau tutorele legal solicită acest lucru.

În timpul desfășurării testelor s-a respectat confidențialitatea identității pacientului prin anonimizarea datelor cu caracter personal.

Figura 11- Tehnici de comunicare cu pacientii cu afectiuni neuromotorii folosind o interfata de interactiune om-calculator pe baza detectiei privirii[13]

Pentru funcția de comunicare bazată pe interfața web prin sistemul de detecție a direcției privirii, rata de comunicare depinde de timpul de stagnare în poziție fixă a direcției privirii necesar pentru selecția ideogramei. Pentru utilizatorii avansați timpul necesar este foarte scurt (de exemplu, 300 ms), în timp ce utilizatorii începătorii au nevoie de un timp mai mare (de exemplu, 1000 ms) pentru a gândi, a reacționa și a anula selecția.

Un dispozitiv pentru detecția pupilei este Tobii TX300

Figura 12- Tobii TX300 Eye Tracker [10]

Tobii TX300 Eye Tracker stabilește un nou standard pentru următorii de la distanță. Combinația sa unică de frecvență de eșantionare de 300 Hz și precizie foarte ridicată, urmărire puternică și compensare pentru mișcări mari ale capului extinde posibilitățile de cercetare discretă a funcțiilor oculomotorii și a comportamentului uman.

Studiază mișcările ochilor, cum ar fi sacadele și fixațiile scurte. Captează comportamentul uman natural fără a fi nevoie de o odihnă la bărbie. Tobii TX300 oferă o flexibilitate maximă, cu numeroase configurații de stimulare și opțiuni software.

Tobii TX300 este potrivit pentru:

• Studii de neuroștiință (de exemplu, studii combinând urmărirea ochilor și EEG date);

• Studii de oftalmologie;

• Studii de lectură;

• Cercetarea psihologiei;

• Paradigme de tip Gaze-contingent foarte scazută.

Tobii TX300 Eye Tracker cuprinde o unitate de urmărire a ochilor și un amovibil de 23 ”, 1920×1080 monitor pe ecran lat. Urmărirea ochilor poate fi utilizat împreună cu monitor, sau ca un ochi autonom tracker. Proiectarea modulară a sistemul permite ambii stimuli de prezentare pe monitorul furnizat, și studii asupra suprafețelor plane din lumea reală sau scene cum ar fi ecrane video externe , proiecții.

Tobii TX300 Eye Tracker se execută în rate de eșantionare de 60, 120 sau 300 Hz. În setarea de 300 Hz este un mod special pentru bebeluși.

Studiile vechi pot fi importate cu ușurință și sunt pe deplin compatibile cu Tobii TX300.

O gamă largă de software de cercetare aplicațiile sunt compatibile cu Tobii TX300, inclusiv Tobii Studio, Extensii E-Prime pentru Tobii și Tobii Kit de dezvoltare software (Tobii SDK) inclusiv legături MATLAB gratuite.

Figura 13- Tobii TX300 Eye Tracker [10]

CAPITOLUL III

3.1. Algoritmi pentru detecția pupilei

Procesarea imaginilor ochiului pentru detecția direcției privirii se realizează folosind algoritmul de detecție a direcției privirii implementat în Matlab [Lupu et al., 2017][14]. În general etapele unui algoritm pentru detecția pupilei sunt prezentate în figura :

Figura 14-Algoritmul de determinarea a centrului pupilei[14]

Algoritmul trebuie să ofere o modalitate robustă și rapidă de determinare a centrului pupilei pentru a putea fi folosit într-o aplicație de asistare a persoanelor cu dizabilități neuromotorii.

3.1.1. Algoritm de detecție a direcției privirii bazat pe transformata Hough circulară

Transformata Hough poate fi folosită pentru a determina raza și coordonatele centrului pupilei într-o imagine analizată. Principalul avantaj al acestei metode este faptul că, spre deosebire de alte metode care se bazează pe detecție de contur, transformata Hough este mai puțin afectată de conturul întrerupt determinat de punctele de margine și nu este afectată de imagini zgomotoase (zgomot de tip sare și piper, zone întunecate ale imaginii, zone de supraexpunere etc.).

Ecuația unui cerc este reprezentată de:

=0

unde a și b sunt coordonatele centrului iar r este raza cercului. Astfel, transformata Hough poate fi descrisă prin determinarea spațiului parametric reprezentat de cele 3 necunoscute a, b și r.

3.1.2. Algoritm de detecție a direcției privirii bazat pe transformata Hough pentru elipsă

Transformata Hough pentru elipsă (EHT) este o metodă similară cu CHT din prisma faptului că ambele sunt metode care se bazează pe un vot pentru selecția centrului pupilei. Deosebirea apare din modul în care este construită matricea acumulator în cele două situații, fiind necesar un acumulator 3D pentru CHT și un acumulator 5D pentru EHT (Lu and Tan, 2008). Parametrii care descriu acumulatorul EHT sunt reprezentați de coeficienții geometrici ai ecuației parametrice pentru elipsă:

unde (x0, y0) reprezintă coordonatele centrului elipsei, a și b sunt semiaxele acesteia iar φ reprezintă unghiul de rotație. Din cauza nivelului computațional ridicat al unui astfel de acumulator, ecuația elipsei se simplifică prin eliminarea componentei unghiulare reprezentată de φ, rezultând un acumulator 4D . Astfel, ecuația elipsei se definește astfel:

3.1.3. Algoritm de detecție a direcției privirii bazat pe metoda Starburst

Metoda Starburst de detecție a pupilei este bazată pe combinarea identificării unui model și a trăsăturilor acestuia, în cazul pupilei fiind vorba de forma eliptică a acesteia. Avantajul acestei metode constă în raportul optim între timpul de execuție a algoritmului și acuratețea detecției [Bozomitu et al., 2015][13]. Etapele acestei metode sunt prezentate în Figura:

Figura 15- Etapele metodei Starburst [13]

3.1.4. Algoritm de detecție a privirii bazat pe metoda celor mai mici pătrate

Metoda celor mai mici pătrate de aproximare a formei elipsei presupune identificarea unui set de parametri care minimizează distanța dintre punctele de contur identificate și modelul matematic al unei elipse. Modelul este dat de o funcție conică generală reprezentată de un polinom de gradul doi:

Unde A=

3.1.5 Algoritm de detecție a direcției privirii bazat pe metoda RANSAC

Metoda RANSAC (Random Sample Consensus) aproximează conturul elipsei prin identificarea unui set aleator de puncte din contur. Astfel, prin utilizarea unui număr mai mic de puncte decât toate punctele care rezultă în urma etapei de binarizare se poate evita situația în care există puncte artefact (outliers) în imediata apropiere a pupilei .

Aproximarea formei elipsei pe baza punctelor de intrare (obținute după pasii ilustrați mai sus și detectarea conturului pupilei) este realizată prin algoritmul RANSAC într-un spațiu normalizat.

3.1.6. Algoritm de detecție a direcției privirii bazat pe metoda proiecțiilor

Metoda proiecțiilor constă în calculul sumelor intensităților pe scala valorilor de gri pentru rândurile și coloanele unei imagini analizate. Dacă considerăm sistemul de coordonate OX și OY și definim punctele din imagine ca P(xi, yj), unde i=1,…,640 și j=1,…,480, fiecare prezentând o intensitate I(xi, yj), putem să calculăm funcțiile de proiecție verticală și orizontală:

Deoarece există posibilitatea ca în urma etapei de binarizare să rezulte artefacte cauzate de alte elemente din imagine, introducând o eroare de determinare a centrului pupilei, este necesar să se folosească două valori de prag ale funcțiilor de proiecție. Valorile de prag sunt determinate astfel:

unde TOX reprezintă valoarea de prag aplicată pentru funcția de proiecție orizontală iar TOY rerpezintă valoarea de prag pentru funcția de proiecție verticală.

Datorită capacității slabe de anti-blocaj a metodei tradiționale de proiecție gri, propunem o nouă metodă bazată pe proiecția regiunii pentru localizarea precisă a ochilor. În primul rând, luând în considerare caracteristicile bidimensionale în procesul de proiecție, imaginea ochilor a fost împărțită în mai multe regiuni care nu se suprapun, iar regiunea candidată a pupilei a fost obținută prin proiecție orizontală și proiecție verticală.

Metoda este eficientă și robustă și are o precizie mai mare de localizare a ochilor decât metodele tradiționale de proiecție.

Prin metoda proiecțiilor pe diagonala principală și secundară proiectam toți pixelii albi pe aceste diagonale apoi din intersecția acelor axe ne rezultă centrul detectat al pupilei.

Figura 16- Reprezentarea diagonalelor pentru metoda proiectiilor

3.1.7. Algoritm de detecție a direcției privirii bazat pe identificarea centroidului

Metoda de identificare a centroidului ariei maxime este direct influențată de etapa de binarizare prin tehnica segmentării cantitative cu prag adaptiv. De asemenea, este necesar să se folosească diferite tehnici de reconstrucție a pupilei aplicate imaginii rezultate pentru a elimina reflexia corneană și toate celelalte artefacte din imaginea binarizată.

3.1.8. Algoritm de detecție a direcției privirii bazat pe metoda ExCUSE

Metoda ExCUSE (Exclusive Curve Selector) se bazează pe histograme orientate pentru a determina funcția integrală a proiecțiilor unghiulare. Inițial se determină histograma imaginii pe o scală de valori de gri cuprinsă între 0 și 255 de valori, ulterior identificându-se prezența unui punct luminos pe imagine prin identificarea unei valori de vârf pe histogramă care depășește valoarea de prag aleasă experimental (mu1 = 10) (Fuhl et al., 2015). Dacă se îndeplinește această condiție, metoda necesită etapa de filtrare a punctelor de margine identificate prin metoda Canny pentru a elimina punctele cu poziționare liniară; dacă nu se îndeplinește condiția, se utilizează o metodă de binarizare fixă cu valoarea de prag 10 pe scala valorilor de gri.

3.1.9. Analiza comparativă a algoritmilor pentru imagini statice

Pentru a putea stabili performanțele metodelor implementate, am realizat un test de determinare a erorii de identificare a poziției centrului pupilei. În acest sens am achiziționat un set de 200 de imagini folosind camera IR în condiții de laborator construind doua baze de date. Imaginile au fost achiziționate pentru diferite poziții ale pupilei. Referința de calcul a erorii a fost conturul real și poziția centrului pupilei determinate manual pentru fiecare imagine în parte. Aceasta reprezintă prima bază de date. Similar, am testat algoritmii de detecție a direcției privirii implementați pe cea de-a doua bază de date, aceste baze de imagini disponibile public Casia-IRIS-Lamp (Casia-IRIS-Lamp, 2010)[11]. Aceste baze de date sunt formate din 100 imagini fiecare selectate, caracterizate prin condiții diferite de iluminare.. Aceste imagini sunt caracterizate de calitatea scăzută a acestora din cauza prezenței artefactelor cauzate de condiții de iluminare variate, prezența reflexiei corneene, imagini achiziționate pentru persoane cu ochelari sau cu lentile de contact. Pentru fiecare dintre cei opt algoritmi implementați și prezentați anterior am determinat eroarea relativă de poziționare a centrului pupilei, comparativ cu poziția reală pentru fiecare imagine din cele două baze de date folosind ecuația:

unde d este distanța euclidiană dintre centrul real și centrul pupilei determinat folosind metodele implementate iar R este valoarea razei pentru cazul în care pupila este poziționată în centrul sclerei (forma pupilei este circulară iar raza are valoarea cea mai mare). Distanța euclidiană se determină astfel:

unde xdet și ydet sunt coordonatele centrului pupilei determinat folosind metodele implementate iar xideal și yideal sunt coordonatele reale ale centrului pupilei determinate manual prin examinarea imaginilor analizate. Pe baza distanței euclidiene determinate am identificat rata de detecție a poziției centrului pupilei pentru diferite valori de prag de la 1 la 10 pixeli.

Prin această metodă se poate realiza o clasificare comparativă a algoritmilor implementați și testați. Rata de detecție pentru fiecare valoare de prag este determinată ca fiind raportul dintre numărul de imagini care prezintă valoarea distanței euclidiene mai mică sau egală cu valoarea de prag și numărul total de imagini analizate din baza de date înmulțit cu 100.

De asemenea, am calculat și erorile produse în poziționarea centrului determinat, comparativ cu centrul ideal stabilit manual în urma analizei fiecărei imagini, pe axele X și Y, conform formulelor :

*100

*100

unde și , respectiv și au aceași semnificație ca în ecuația

, iar și sunt erorile relative ale poziționării centrului determinat al pupilei comparativ cu centrul ideal pe axele X și Y.

Comparația dintre algoritmii implementați din punctul de vedere al ratei de detecție în raport cu valoarea de prag de la 1 la 10 pentru distanța euclidiană este prezentată în Figura 17 .

Figura 17- Comparația între ratele de detecție pentru valori de prag de la 1 la 10 pentru a) DB1, b) DB2 [17]

CAPITOLUL IV

4.1. Tehnica „Edge Filtering”

Tehnica „Edge Filtering” în algoritmul nostru sunt imagini la scara de gri pe 8 biți.  Fiecare etapă pe care o folosim este descrisă în detaliu subsecțiunile urmatoare:

Normalizarea și analiza histogramei

Regiunile periferice ale imaginii de intrare (adică 10% în aplicația noastră) sunt excluse de la prelucrare ulterioară pentru a evita cadrul ochelarilor. Mai mult presupunem că pe imaginile cu o intensitate generală luminoasă și gri similare valorizează o reflecție pe ochelarii de vedere sau este prezent un punct de iluminare puternică. Utilizarea unui prag de intensitate pentru extragerea pupilei este greu în astfel de cazuri, deoarece pupila nu poate fi de așteptat și este probabil să conțină o gamă largă de valori de intensitate.

Figura 18- Fluxul de lucru algoritmic. Casetele gri deschis reprezintă decizii, casetele gri închis reprezinta puncte de terminare, iar casetele albe reprezintă pași de procesare [7].

Astfel, într-o primă etapă, imaginea de intrare este normalizată (intervalul de la 0 la 255) și o histogramă din imagine este calculata. Apoi algoritmul verifică dacă histograma conține un vârf în zona strălucitoare (figura 19 (d)) cu o valoare gri peste un prag th  (adică, th1 = 200 ales empiric). Vârful este detectat dacă coșul din histogramă este mai mare decât un multiplu mu1 din intensitatea medie a imaginii (am ales mu 1 = 10 empiric). Dacă a fost detectat un astfel de vârf, pupila poate fi găsita pe baza filtrării marginilor.

Figura 19- Figurile 2 (a) și (b) arată două imagini dintr-un set de date introdus de Swirski et al.  și histogramele lor de intensitate corespunzătoare în (c) și (d). Figura 2 (b) arată o pupila cu o gamă ridicată de valori gri. Genele acoperă părți ale pupilei și reflectă lumina [7].

Detectarea centrului pupilei pe imaginea cu marginea și valoarea gri

Presupunem că pupila apare ca o margine curbă care încapsulează cele mai întunecate valori ale intensității imaginii. Pentru a găsi o astfel de margine, patru etape de procesare sunt efectuate pe imaginea “Canny-Edge-Filtering”, figura 20:

Figura 20- (a) Un filtru de margine Canny este aplicat imaginii din figura 20 (b). (b) toți pixelii de margine sunt îndepărtați mai puțin de doi vecini și unghiurile între toți vecinii ≤ 90 ◦ . (c) restul de pixeli de margine conectați reprezintă linii. Sunt subțiri și sunt îndepartați pixeli care conectează două linii ortogonale, (d) pentru fiecare linie centroidul (prezentat ca: punctul alb) este inspectat și liniile apropiate centroidului lor sunt eliminate (e). (f) Se presupune că cea mai lungă linie este cea care conține cei mai întunecați pixeli încapsulați de pupilă [7].

Filtrarea imaginii de contur

Figura 20 (a) prezintă imaginea filtrată de contur din Figura 19 (b), care apare înfundata și conține multe margini care nu sunt relevante pentru pupila detectată. Contururile pupilei sunt dificil de detectat, deoarece sunt traversate de gene.

Într-o primă etapă de filtrare, liniile de margini subțiri (adică, 1 pixel grosime ) și pixeli cu suprafețele unghiulare mici (2 × 2 pixeli) sunt eliminate. Mai precis, criteriul de mai sus este îndeplinit de pixeli vecini care, considerați vectori au unghiuri mai mari decât 90 ◦ între ele. Pixelii de margine rămași reprezintă linii drepte, curbate sau constau atât din părți drepte, cât și curbate. Etapa de separare este aici de un interes deosebit, de exemplu, conturul genelor din pupilă sunt drepte și legate până la conturul curbat a pupilei. Pentru a face deosebire între părțile de linie conectate care trebuie sa fie separate și cele care nu, punctul de conectare dintre astfel de părți trebuie să fie examinat în detaliu. Presupunerea este că părțile de linie care trebuie separate ortogonal între ele în punctul de conectare. Separarea liniilor constând din părți curbate și drepte în cele corespunzătoare segmente curbe și drepte, operațiile morfologice prezentate în figura 21 . Dacă unul dintre aceste modele se potrivește cu pixelii de contur (afișați în gri), acel pixel este șters. Se adaugă pixeli marcați negru în figură. După subțiere, liniile pot fi separate în segmente prin ștergerea unui singur pixel. Cu toate acestea, există încă pixeli care împiedică modelele din figura 21 (d), (e) sau (f) să se potrivească. Prin urmare, liniile sunt îndreptate folosind modelele prezentate în figura 21 (b) și (c). Acum punctele de conectare din părțile de linie care sunt ortogonale între ele pot fi separate folosind modelele din Figura 21 (d), (e) și (f). Rezultatul acestei etape este prezentat în figura 20 (c).

Eliminarea liniilor drepte.

Următorul pas este detectarea și eliminarea liniilor drepte.

Deoarece se preconizează că pupila este încapsulata într-o linie curbă, liniile drepte sunt

Figura 21-Tipare morfologice de manipulare a pixelilor. Casetele albe și gri reprezintă pixeli care au fost detectați ca un contur din imagine. Dacă modelul se potrivește cu un segment de contur, pixelii gri sunt eliminați și pixelii negri sunt adăugați la imaginea de contur. Operând (a) linii subțiri. Operațiunile (b) și (c) sunt utilizate pentru a îndrepta liniile. (d), (e) și (f) se separă pățile drepte ale unei linii de părțile curbate, linia dreapta nu prezintă nici un interes. Prin urmare toți pixelii de margine rămași sunt combinați cu linii bazate pe conexiunea lor la pixelii de contur vecini [7].

Pașii care s-au efectuat pentru calcularea liniilor din imaginea de contur sunt următorii:

Identificarea pixelilor de contur care nu aparțin încă unei linii;

Crearea unei noi linii cu pixelul de contur;

Adaugarea pixelilor direcți ai conturului vecinului la linie;

Repetarea pasilor 3+4 pentru toți pixelii vecini adaugați.

Calcularea liniei centroidă pentru fiecare linie. Dacă distanța de pixeli între centroid și cel puțin un punct al segmentului de linie este mai mic decât un prag di1 , linia este presupus a fi dreapta (în aplicația noastră am ales di1 = 3 empiric). Figura 20 (d) arată toate liniile cu centroidul lor (punct alb), iar figura 20 (e) arată restul liniilor curbe după îndepărtarea segmentelor drepte. Ne așteptăm ca una dintre liniile rămase să aparțină pupilei.

Selectia liniei curbe

Presupunem că pupila este un punct întunecat în intensitatea imaginii. De aceea, candidatul cu cea mai întunecată zonă conținută este cel mai probabil a fi pupila. Pentru a calcula o valoare a intensității pentru aria conținută, alegem pixeli cu o distanță de di2 pixeli pentru fiecare punct de linie, care au cea mai mica distanta euclidiana fata de centroidul liniei (adica di 2 = 2 empiric ales). Pentru acești pixeli, valoarea medie gri este calculată. Este posibil să existe mai multe linii curbate aparținând pupilei. Alegem cea mai lungă linie găsită cu cea mai întunecată zonă interioară. Pentru a ne asigura că liniile mai mari nu sunt aruncate, alegem un interval ra1 în care valoarea medie gri este considerată a fi egală (adică, ra1 =5). Linia aleasă este prezentată în figura 20 (f). Toate punctele de pe această linie sunt colectate și centrul este estimat folosind o fixare elipsă.

Potrivirea pe elipsă

Există practic trei moduri de a încadra o elipsă la un set de puncte. În primul rând, metoda directă a celor mai mici pătrate, care este foarte afectată de pixeli care nu aparțin până la granița elipse. Celelalte două posibilități sunt bazate pe vot și pe căutare (de exemplu, RANSAC). Acestea sunt mai robuste din punct de vedere al intrarilor și al valorilor exterioare, dar și din punct de vedere computerizat scump . Potrivirea elipsei pe baza metodei directe a celor mai mici pătrate. Este rapid de calculat și, de asemenea, utilizat ca criteriu de anulare a eșecului pentru pas 4.1.2. Figura 18.

4.2. Pragul si pozitionarea grosiera

Figura 22- (a) O imagine din Swirski set de date și (b) imaginea lor pragată corespunzator. În (c) poziționarea grosieră (linii albe) a celor patru orientări din funcția de proiecție unghiulară integrală (AIPF) sunt prezentate. Rezultatele AIPF calculate pe imaginea de prag pentru orientările 0 ◦ , 45 ◦ , 90 ◦ și 135 ◦ sunt prezentate în histogramele (d), (e), (f) și (g) în ordinea corespunzătoare. Pozițiile alese sunt arătate ca linii roșii și corespund liniilor albe din (c) cu (d) definirea liniei albe verticale din (c), (e) linia de la dreapta jos la colțul din stânga sus, (f) la linia orizontală și (g) la linia de jos din stânga la colțul din dreapta sus [7].

Dacă histograma cu valoarea gri nu conține un vârf (figura 19 (c)), extragem pupila bazata pe un prag th2 . Fiecare pixel cu o valoare gri inferioară celor 2 este setat la 255 așa cum se arată în figura 22 (b). În imagini foarte răspândite, pupila poate consta dintr-o gamă cu valori de intensitate diferita. Pragul th2 este ales în funcție de împrăștiere în imagine ca jumătate din abaterea standard a intensității imaginii. În acest pas propunem determinarea poziției pupilei grosieră. Nu este necesară extragerea întregii pupile. Prin urmare este de preferat, un prag conservator care reduce zgomotul la costul potențial al tăierii a pupilei. Poziția pupilei grosieră este estimată folosind Funcția de Proiecție Integrală (AIPF) pe imaginea pragată. AIPF permite calculul funcției de proiecție integrală (IPF) pentru orice unghi specificat.

Cu I (x, y) ca valoare gri la ecuația locației (x, y) (1) se defineste IPFh (Funcție de Proiecție Integrală pe Orizontală) pentru intervalul [x 1 , x 2 ] și ecuația (2) definește IPFv (Funcția de Proiecție Integrală pe Verticală) pentru interval [y 1 , y 2 ]. IPF calculează suma valorilor de intensitate ale unei imagini într-o singură direcție. De exemplu, ieșirile formează axele X pentru fiecare rând (linia de pixeli din partea de jos a imaginii în partea de sus) valorile pixelilor sunt însumate și reprezintă o singură coadă în histograma rezultată. Histogramele respective nu se bazează pe formă, iar presupunerea este că regiunea cu cel mai mare răspuns este pupila. Am folosit AIPF, deoarece permite calcularea IPF-uri pentru diferite orientări, se știe că este robust și se calculează rapid. Două IPF-uri bine cunoscute sunt:

IPF-ul orizontal (IPFh );

IPF-ul vertical (IPFv ).

IPFv corespunde  AIPF cu unghiul 0 ◦ și IPFh corespunde AIPF cu unghiul 90 ◦. Cu I (x, y) ca valoare gri la locația (x, y) ecuația (3) definește AIPF. Ꝋ este unghiul liniei față de axa x din care s-a rotit integrarea cu 90 ◦ are loc, p este poziția pe linie sau coșul corespunzător histogramei, h este numărul de pixeli care trebuie integrați și (x 0 , y 0 ) este poziția punctului de pornire al liniei de-a lungul căreia are loc integrarea rotită cu 90 ◦ . S-au folosit orientările 0 ◦ , 45 ◦ , 90 ◦ și 135 ◦ pentru AIPF să calculeze histogramele arătate în figura 22 (d), (e), (f) și (g).

(3)

În aceste patru histograme, locația pupilei grosieră este presupusă la un nivel larg și mare într-o zonă de răspuns. Lungimea minimă a zonei este specificată de ar1 și de numărul de pubele consecutive lăsate să fie scăzute este specificat de ar2 (în aplicație ar1 = 7 empiric și ar2 =5 empiric). Acest lucru este făcut pentru a elimina răspunsuri unice ridicate în histogramă. Zonele cu răspuns ridicat sunt definite de un prag th3 care este procentul maximului histogramei (în aplicație th3 = 0,5 empiric). Dacă există o zona mai mult acceptabilă într-o histogramă, presupunerea este că pupila poate fi găsita în centrul imaginii. Prin urmare, punctul de mijloc al zonei care este cea mai apropiată de coșul din histograma corespunzătoare centrului din imaginea este aleasă ca poziție a pupilei. Liniile albe din figura 22 (c) reprezintă unghiul AIPF pentru fiecare histogramă rotită cu 90 ◦ (unghiul de integrare) și sunt pozițiile alese. Prin urmare, aceste linii albe corespund liniilor roșii din Figurile 22 (d), (e), (f) și (g) trase la imaginea de prag prezentată în figura 22 (b). Poziția pupilei este estimată pe baza intersecției acestor linii. Presupunerea este că intersecția acestor linii ortogonale între ele sunt apropiate sau lovesc pupila. Astfel, sunt luate în considerare până la două puncte de intersecție. Poziția pupilei este asumată ca punctul dintre aceste intersecții. În cazul în care nu a fost găsită nicio intersecție, ramura 4.1.2. al algoritmului va prelua. Dacă această ramură nu reușește să detecteze și pupila, se presupune o clipire.

4.3. Poziția corectă folosind valorile gri de jur împrejur

Odată ce a fost stabilită o estimare a centrului pentru pupile grosolan, ea trebuie îmbunătățită deoarece este posibil ca poziția grosieră să se afle în exterior sau pe conturul pupilei. Aceasta poate fi rafinat într-o arie mică ar3 în jurul estimării fără a fi dependent de forma sau culoarea pupilei (în aplicație ar3 = 0,1 empiric, care reprezintă 10% din lățimea și înălțimea imaginii în fiecare direcție). Singura presupunerea făcută este că pixelii aparținând pupilei sunt înconjurați de pixeli la fel de strălucitori, acest pas este important pentru imaginile în care pupila este deosebit de greu de detectat.

Pentru fiecare pixel se calculează suma PS (x, y) a diferențelor de valoare gri față de vecinii săi. Sunt luate în considerare doar valorile gri mai mici decât valoarea pixelului analizat. Pentru zona de vecinătate se foloseste rădăcina pătrată a diagonalei zonei specificate de ar3. Media pozițiilor pixelilor cu cea mai mică valoare a sumei este noua poziție corectată. În ecuația (4) PS (x, y) este suma calculată pentru pixelul din poziție (x, y), [x 1 , x 2 ] este intervalul pe axa x a zonei de vecinătate, [y 1 , y 2 ] este intervalul pe axa y și I (x, y) este din nou valoarea gri la poziția (x, y).

4.4. Identificarea centrului pupilei cu imaginea de margine și prag

Totuși, acest pas nu necesită poziția corectată pentru a fi centrul exact al pupilei i se cere să se întindă în interiorul pupilei. Numai regiunea ar 4 în jurul punctului corectat este de interes pentru găsirea pupilei (în aplicatia noastră am ales ar4 = 0,2 empiric, ceea ce înseamnă 20% din lățimea și înălțimea imaginii în fiecare direcție). Folosim numai opt raze, deoarece pentru prea multe raze este mai probabil ca razele să lovească marginile care nu aparțin pupilei dacă marginile aparținând pupilei nu sunt prezente în mod constant. Prin urmare razele care se lipesc de contururile pupilei pot lovi astfel și alte contururi care nu aparțin pupilei ceea ce face ca detectarea centrului pupilei să fie incorectă.

Figura 23-Imaginea (a) cu ochi filtrată de conturul regiunii în care este de așteptat pupila. O imagine de prag (b) este calculată pentru a determina limita pragului (c). Numai pixelii de contur în apropierea acestei granițe sunt utilizați pentru calcule suplimentare (d). După pașii de rafinare a muchiei explicate la 4.1.2 a și 4.1.2 b contururile rămase sunt utilizate pentru selectarea muchiei (e): razele sunt transmise din punctul corectat (punctul alb din mijlocul (f)) în toate direcțiile cu un pas unghiular de 45 ◦ . Dacă o rază atinge un contur (puncte albe pe elipsă din (f)) se presupune că linia care aparține acestui contur aparține pupilei [7].

4.4.1. Îmbunătățirea imaginii de contur prin binarizare

În primul rând, se calculeaza un filtru de contur al regiunii imaginii, așa cum se arată în figura 23 (a). Imaginea pragului calculat de la pasul 4.2. nu este util aici, deoarece pragul ales a fost pentru poziționarea grosieră și nu era nevoie să extragem întrega pupila. În această etapă, pragul th2 (ales ca fiind jumătate din abaterea standard) este crescută la abaterea standard completă pentru a calcula noua imagine a pragului (figura 23 (b)). În acest pas, este important ca nici o parte a pupilei sa nu fie tăiată cu un prag prea conservator. Conturul imaginii de margine este preselectată și se suprapune cu imaginea de prag. Doar marginile sunt aproape de granița regiunii de prag (Figura 23 (c)) sunt considerate relevante. Această graniță este calculată acceptând doar pixeli albi în imaginea de prag care au vecini negri directi. Doar marginile care sunt aproape de regiunea de frontieră sunt luate in considerare, a se vedea figura 23 (d). Pentru a calcula aceasta zona înconjurătoare ar5 din fiecare prag pixel de frontieră este inspectat (în aplicație ar 5 = 5 empiric, ceea ce înseamnă 5 pixeli în fiecare direcție care iese din pragul de contur ). Dacă un pixel de margine se află în regiunea ar 5 a unui pixel de graniță de prag, acesta este admis. Apoi sunt efectuate etapele de rafinare a frontierelor descrise la 4.1.2 a și 4.1.2 b (rezultatul este prezentat în figura 23(e)).

4.4.2. Identificarea marginilor care reprezintă conturul pupilei

În imaginea de margine rezultată, razele din poziția corectată (se trimite un punct alb mic în mijlocul figurii 23 (f)) în toate direcțiile, cu un pas de unghi de 45 ◦ până când ating un contur (puncte albe pe linie eliptică din figura 23 (f)), similară metodei utilizate de algoritmul Starburst. Punctele de intersecție dintre raze și contururi sunt folosite pentru a colecta puncte. Toti pixelii de margine conectați la un pixel de margine lovit și iterativ toate cele conectate la acesti pixelii sunt folosiți pentru a se potrivi cu o elipsă.

4.5. Detectia pupilei in spectrul vizibil

Spectrul vizibil ( numit uneori “spectrul optic”) reprezintă domeniul spectrului electromagnetic ce este vizibil și poate fi detectat de ochiul uman fără mijloace ajutătoare. Radiațiile electromagnetice din acest interval de lungimi de undă se numesc lumină (vizibilă). În condiții normale ochiul uman percepe în aer lungimile de undă din domeniul 380-750 nm (nanometri) cu o frecvență de 430 THz (750 nm) pana la 750 THz (380 nm).

În cele ce urmeaza este prezentarea modului în care funcționează tehnicile de urmărire a ochilor de culoare întunecată și strălucitoare.

Există două setări diferite de iluminare care pot fi utilizate cu urmărirea ochilor reflecția corneală a centrului pentru pupile: urmărirea luminoasă a pupilelor, unde un iluminator este plasat aproape de axa optică a dispozitivului imagistic care face ca pupila să apară luminata (acesta este același fenomen care provoacă ochi roșii în fotografii) și urmărirea întunecată a pupilelor, unde un iluminator este așezat departe de axa optică, determinând pupila să apară mai întunecată decât irisul.

Diferiți factori pot afecta detectarea pupilei în timpul urmăririi la distanță a ochilor atunci când se utilizează fiecare din aceste două tehnici. De exemplu, atunci când se utilizează metoda pupilei strălucitoare, factori care afectează dimensiunea pupilei, cum ar fi vârsta și lumina mediului, pot avea un impact asupra urmăririi ochiului. Etnia este, de asemenea, un alt factor care afectează răspunsul pupilei luminos sau întunecat: metoda pupilei strălucitoare funcționează foarte bine pentru hispanici și caucazieni. Cu toate acestea, metoda s-a dovedit a fi mai puțin potrivită atunci când urmărirea ochilor asiatici pentru care metoda pupilei întunecate asigură o mai bună urmărire.

Majoritatea următorilor de ochi folosesc atât metode de pupilă luminoase cât și întunecate pentru a calcula poziția privirii. Excepție sunt trackerele de ochi din seria Tobii 50, TX300 și ambii ochelari din seria Tobii, care folosesc doar urmărirea întunecată a pupilelor. Următoarele dispozitive de urmărire care utilizează atât urmărirea întunecată cât și luminoasă a pupilelor în timpul calibrării supun inițial toți participanții ambelor metode, iar metoda care se găsește cu cea mai mare precizie este aleasă pentru înregistrarea propriu-zisă. În timpul înregistrării, acești urmăritori pot schimba între urmărirea luminoasă și întunecată a pupilelor atunci când condițiile se schimbă într-un mod care are un impact semnificativ negativ asupra urmăririi. Dacă se întâmplă asta, Tobii urmărește schimbarea între cele două metode până când se obțin date valide încă o dată.

Figura 24- Dispozitiv TOBII [9]

Capitolul V

5.1. Implementarea unui algoritm pentru detecția pupilei prin metoda „Edge Filtering”

Detecția pupilelor poate fi efectuată cu ușurință dacă următoarele condiții sunt adevărate:

Gradienții graniței pupilei sunt puternice și poate fi detectat de un detector de contur;

Pupila este cea mai întunecată regiune din imagine.

O abordare comună în detectarea în timp real a pupilei este de a presupune că pupila este cel mai întunecat element din imagine și de a-l găsi aplicând pragul de intensitate asupra imaginii. Valoarea pragului este esențială pentru performanța următoarei pupile , dar este adesea pur și simplu un parametru gratuit al algoritmului și, prin urmare, afectată de modificările de iluminare sau setările camerei.

Insa putem da si peste provocări atunci cand folosim metoda ”Edge Filtering” pentru detecția pupilei în scenarii din lumea reală cum ar fi:

reflecții;

ocluzii;

iluminări complexe;

nereguli fiziologice.

Figura 25-Imaginii ale ochiului cu diferite provocari [10]

5.2. Pașii algoritmului (binarizare, indepartare artefacte prin filtrare, prelucrări morfologice prin eroziune si dilatare).

Binarizarea

În cel mai simplu caz, o imagine conține un singur obiect sau mai multe obiecte individuale, vizualizate pe un fundal de intensitate diferită de cea a obiectelor. În acest caz, separația dintre obiecte și fundal se poate realiza prin binarizare.

Scopul binarizării este segmentarea unei imagini în regiuni de interes, și eliminarea regiunilor considerate neesențiale. Cea mai simplă binarizare va folosi un singur prag pentru a izola obiectele de interes. În alte cazuri, un singur prag nu este suficient pentru segmentarea întregii imagini. În aceste cazuri, se folosesc praguri variabile, sau multiple, bazate pe măsuri statistice.

O etapă de preprocesare constă în aplicarea unei etape de binarizare care permite separarea pixelilor corespunzători pupilei (pixeli obiect) de pixelii de fundal. Pentru a determina metoda optimă de binarizare au fost adaptate din literatură mai multe metode pentru a fi utilizate pentru aplicații de detecției a direcției privirii:

Metoda pragului fix determinat experimental (Singh et al., 2012);

Metoda funcției de repartiție (cumulative distribution function – CDF) (Sim et al., 2007);

Metoda erorii minime Kittler (Kittler and Illingworth, 1986);

Metoda Bradley pentru suma integrală a imaginii (Bradley and Roth, 2007) ;

Metoda Bernsen (Bernsen, 1986) ;

Metoda Niblack (Niblack, 1985);

Precizia metodelor de binarizare este determinată prin compararea rezultatelor obținute cu imaginea ideală a pupilei rezultată din adnotarea manuală. Comparația se realizează prin suprapunerea a 2 imagini și clasificarea pixelilor în două clase.

Cele două clase de pixeli sunt:

Pixeli din zona pupilei – pixeli negri care corespund pupilei. Pixelii identificați corect sunt denumiți pixeli pupilă corecți (PPC) iar pixelii identificați ca aparținând pupilei, dar sunt de fapt pixeli de fundal sunt denumiți pixeli pupilă incorecți (PPI).

Pixeli din zona de fundal – pixeli albi care corespund zonei de fundal. Pixeli identificați corect sunt denumiți pixeli fundal corecți (PFC) iar pixelii identificați ca aparținând fundalului dar sunt de fapt pixeli din zona pupilei sunt denumiți pixeli fundal incorecți (PFI).

Precizia metodei de binarizare este determinată prin formula:

Sunt mai multe tipuri de binarizare:

• Binarizare globală;

• Semi-binarizare ;

• Binarizare multi-nivel;

• Binarizare variabila ;

Binarizare globală

f(x,y) este imaginea sursă, iar b(x,y) este imaginea binară rezultată.

Object

Object unde Z este o multime de valori de intensitate

Semi-binarizare

Pixelii a căror intensitate este într-un anumit interval dat de praguri își rețin valoarea originală, iar ceilalți primesc valoarea zero.

Pixelii de intensitate mare se pot reține astfel:

Pixelii de intensitate mică se pot reține astfel:

Binarizarea multi-nivel

Binarizarea multi-nivel permite segmentarea pixelilor în clase multiple. De exemplu, dacă histograma conține mai multe vârfuri, se poate segmenta imaginea folosind două praguri. Aceste două praguri divid mulțimea de pixeli în trei domenii care nu se suprapun.

Fie f(x,y) imaginea sursă, și k1 , …, kn valori prag, astfel încât k1>k2>…>kn . Aceste praguri partiționează R în n+1 intervale, ce vor fi asociate cu valorile v1 , …, vn în imaginea binarizată.

Imaginea rezultat este definită prin:

Binarizarea variabilă

Binarizarea variabilă permite ca mai multe nivele prag să fie aplicate pe diferite regiuni ale imaginii.

Dacă f(x,y) este imaginea sursă, notăm cu d(x,y) valoarea prag asociată cu fiecare punct din imagine.

Imaginea rezultat b(x,y) este definită ca:

Îndepartare artefacte

O altă etapă a rutinei de pregătire, este poziționarea camerei pentru ochi, în timp ce se ajustează pragurile în algoritmul de detectare a pupilelor, așa cum este ilustrat în figura 26 . Îndoirea și rotirea gâtului de lebădă al camerei de ochi, însă, aparținea unor sarcini delicate, deoarece fiecare om ființa protejează în mod natural ochii și orice manipulare, aproape de ochi, ofensează reflexiv.

Figura 26 – Scăderea pragului în algoritmul de detectare a pupilei pentru a elimina artefactele optice [15].

Dificultățile din aceasta etapă au apărut în timpul calibrării participanților fie cu un iris închis, fie purtând rimel. Ochiul de urmărire Dikablis a folosit o tehnologie cu pupilă întunecată, care abia recunoaște diferențele între iris și pupilă sau între regiunile întunecate ale genelor, rimelului și legătura ochilor. Detectarea pupilei, în aceste cazuri, a clasificat astfel de artefacte optice drept pupila si a cartografiat incorect în poziția pupilei.

Exemple de detectare falsă a pupilelor sunt prezentate în figura 26 .

În practică, artefactele au apărut în timp ce privirea neașteptată sare în timpul fixării pe un obiect. Motivația pentru a evita un astfel de comportament a crescut în timpul participanților provocând probleme rare în timpul procesului de calibrare. În condiții normale, calibrarea eye-tracker-ului mobil are în vedere cartografierea unei poziții a privirii la punctele convenite în simulatorul de zbor. În timp ce participantul privea în mod intenționat sporturile de calibrare (a se vedea figura 27 pentru ilustrare), asistentul a cartografiat pozițiile și a sărit vertical și orizontal.

Figura 27-Artefacte optice – figurile superioare arată modul în care rimelul a apărut sub infraroșu după pragul binar. Figura de mijloc și de jos demonstrează rimelul înșelător algoritmul de detectare [15].

Figura 28- Punctele de calibrare și gesturile privirii în formă de L, utilizate pentru a seta poziția și compensarea verticală și orizontală a privirii [15].

Eroziune

Procesarea eroziunii scapă de obiecte prea mici și crește fundalul din imagine. Figura 29 (b) prezintă masca pentru procesarea eroziunii. Figura 29 (d) prezintă rezultatul acestui proces.

Figura 29- (a) Masca pentru procesarea dilatării. (b) Masca pentru prelucrarea eroziunii. (c) Rezultatul după dilatație, (d) Rezultatul după eroziune [18].

Dilatare

De mai bine de  un secol oamenii de știință știu faptul că pupilele noastre răspund la mai mulți stimuli, nu doar la variații ale intensității luminii.

Prin urmare, așa cum dispoziția unui om se schimbă, din pozitivă în negativă și invers, la fel se întâmplă cu pupilele în contact cu lumina, se contractă sau se dilată.

O stare proastă determină contractarea pupilelor, cunoscută sub expresia de „ochi de șarpe”. În schimb, o bucurie duce la dilatarea pupilelor, chiar si de patru ori mai mare față de starea normală.

Prelucrari morfologice

Operatiile morfologice pe imagini afecteaza forma sau structura pupilei. Ele se aplica doar pe imagini binare( imagini cu doar doua culori, alb si negru). Operatiile morfologice se folosesc de obicei ca etape de pre- sau post-procesare a imaginilor ( filtrare, subtiere sau eliminare a protuberantelor) sau pentru obtinerea unei reprezentari sau descrieri a formei obiectelor sau regiunilor ( contururi).

Operatiile morfologice principale sunt dilatarea si eroziunea. Dilatarea nareste obiectele, permitand umplerea unor mici goluri si corectarea obiectelor disjuncte. Eroziunea micsoreaza obiectele prin erodarea marginilor obiectelor.

Există trei etape consecutive de filtrare morfologică:

deschidere;

închidere ;

detectarea graniței.

Folosim filtrul morfologic de deschidere pentru a elimina orice obiecte mici dintr-o imagine, păstrând în același timp forma și dimensiunea obiectelor mai mari prezente. În esență, deschiderea morfologică este folosită pentru a elimina mici puncte albe din imagine. O imagine rezultantă este prezentată în figura 31. Comparând această figură cu figura 30, observați că cele mai multe puncte albe mici sunt eliminate.

Figura 30- O imagine binară rezultată după prag.

Figura 31- O imagine rezultată după procesul de deschidere morfologică.

Apoi aplicăm filtrul morfologic de închidere pentru a umple mici goluri în obiectele mai mari din imagine, păstrând în același timp forma și dimensiunea acestor obiecte. În esență, filtrul morfologic de închidere este folosit pentru a umple micile pete negre din imagine cu valori ale pixelilor albi. Această procedură netezește, de asemenea, marginile obiectelor mari din imagine. O imagine rezultantă este prezentată în Figura 32. Comparând această figură cu figura 31, observați că multe dintre micile găuri negre sunt umplute cu valori ale pixelilor albi.

Figura 32- O imagine rezultată după procesul de închidere morfologică.

Toate operațiunile de filtrare morfologică sunt asociate cu un „element de structură” care definește mărimea unui nucleu de operație, iar dimensiunile diferite ale elementului de structură pot produce rezultate operaționale ușor diferite. Este necesară o încercare și o eroare pentru a găsi dimensiunea corespunzătoare pentru elementul de structură.

5.3. Testarea algoritmului pe imagini statice ale ochiului din baza de date Iris Casia Lamp

Algoritmul Edge Filtering se bazează pe detecția contururilor în imagine, adica el detecteaza toate contururile care sunt în imagine.

Contururile pot fi detectate cu ajutorul derivatei I sau derivatei a II-a.

Funcția pe care o folosim în această lucrare este detectorul de tip Canny- edge -filtering care se bazează pe derivata a I-a și pune în evidență toate contururile care apar în imagine. De asemenea pentru acest algoritm se mai poate folosi funcția de tip Laplace se bazeaza pe derivata a II-a și detectează si el contururile imaginii.

Am considerat pentru analiza doua baze de date fiecare baza de date conține cate 100 imagini IR obținute din baza de date publică CASIA-Iris-Lamp (baza de date conține în totalitate aproximativ 16000 de imagini ale ochiului de diferite tipuri). Imaginile utilizate pentru comparația metodelor de binarizare provin de la 41 de subiecți diferiți (câte 10 imagini pentru fiecare subiect) (Casia-IRIS-Lamp). Principala caracteristică a acestor imagini este reprezentată de condiții diferite de iluminare, iar poziția pupilei în toate imaginile este centrală (direcția privirii înainte). Rezoluția imaginilor din baza de date publică este, de asemenea, 640×480 pixeli. Metoda de achiziție a acestor imagini constă în utilizarea unui suport pentru bărbie fix, poziționat în fața camerei IR.

Figura 33-Exemple de imagini ale ochiului din baza de date Iris Casia Lamp [4].

5.4. Descrierea pașilor pentru etichetarea manuală a centrului pupilei

Pentru etichetarea manuală am folosit script-uri matlab pentru a ne crea propria bază de date în urma etichetării celor 200 de imagini.

Atunci cand programul ruleaza apare un plot cu imaginea curenta peste care este suprapus un grid, iar la apasarea oricarei taste, va aparea urmatoarea imagine din baza de date.

Figura 34-Imagini din Baza de date Iris Casia Lamp cu gridul suprapus

Pentru a ne crea baza de date avem nevoie de un fisier xcel în care vom introduce coordonatele care vor fi folosite in detecția conturului și centrului pupilei.

Figura 35– Tabelul xcel utilizat pentru etichetarea manuala a centrului pupilei pentru imaginile ochiului din baza de date considerata

Așadar în tabel apar coordonatele punctelor din stânga pupilei(x_stg, y_stg), coordonatele punctelor din dreapta pupilei (x_dr, y_dr), coordonatele din partea de sus a pupilei (x_sus, y_sus), coordonatele din partea de jos a pupilei (x_jos, y_jos).

Datorită faptului că în baza de date avem imagini de la diferite persoane si pupila nu este un cerc perfect mereu, am considerant doua raze:

Raza orizontală r_oriz, care este diferența dintre x_stg si x_dr

Raza verticală care este diferența dintre y_jos si y_sus.

Ultima coloana este rezervată pentru raza medie, r_med, care este media aritmetică dintre raza orizontală si cea verticală.

În plus, am introdus două coloane pentru centrul pupilei x_centru, y_centru, deși aceste coordonate sunt defapt x_sus respectiv y_dr, pentru că x_sus si y_dr vor fi folosite pentru a trasa conturul pupilei, iar x_centru si y_centru vor fi puse intr-un vector special pentru a compara mai usor aceste valori cu valorile etichetate manual.

Cu ajutorul cursorului am identificat pe fiecare imagine in parte toate coordonatele specificate mai sus după cum putem vedea in imaginile de mai jos:

Figura 36- Exemple de imagini în care se regăsesc valorile coordonatelor

În urma etapelor enumerate mai sus importam valorile din xcel pentru a observa cum sunt conturate pupilele.

Figura 37- Exemple de imagini în care se observă detectia centrului si a conturului pupilei.

În urma etapelor făcute mai sus ne rezultă baza de date pe care o vom folosi pentru a rula algoritmul nostru Edge Filtering și a vedea care este rata de detecție a acestuia.

Figura 38-Baza de date rezultată în urma etapelor pentru etichetarea manuala.

În urma rularii algoritmului avem urmatoarele imagini rezultate:

Figura 39- Granița dintre prag si margini

Figura 40- Liniile corectate

Figura 41- Linii cu punct de acces

Figura 42- Linii cu medie (punct alb)

Figura 43- Pragul de frontiera

Figura 44- Linii cu unghiuri bune

Figura 45- Alege linia

Figura 46- Imaginea pragului ridicat

Rata de detecție la 5 pixeli

In urma rularii unei baze de date a cate 100 de imagini algoritmului a rezultat o rata de detectie de 65%.

Figura 47- Rata de detecție la 5 pixeli pentru prima baza de date

In urma rularii celei de-a doua bază de date a cate 100 de imagini algoritmului a rezultat o rata de detectie de 70%.

Figura 48- Rata de detecție la 5 pixeli pentru a doua baza de date

Concluzii

In lucrare s-a prezentat un algoritm pentru detectia pupilei prin metoda „Edge Filtering”, care este robust,precis, rapid si imun la artefacte precum genele și sprancenele.

Algoritmul analizat in lucrare este capabil să detecteze centrul si conturul pupilei unei persoane si poate fi implementat in cadrul unei interfete de interactiune om-masina pe baza detectiei privirii pentru diferite tipuri de aplicatii in timp real.

Algoritmul propus a fost testat pe un set de 100 de imagini din baza de date Iris Casia Lamp avand centrul pupilei etichetat manual.

Performantele algoritmului au fost analizate trasand rata de detectie pentru distante euclidiene dintre centrul pupilei detectat de algoritm si cel ideal cuprinse intre 1 si 10 pixeli. Rata de detectie a algoritmului la 5 pixeli pentru baza de date considerata a fost de 65%.

Această lucrarea poate reprezenta un punct de pornire pentru o aprofundare viitoare a tehnicilor de prelucrare a imaginilor ce devin din ce în ce mai des folosite în domenii ca medicina, psihologie, sociologie, marketing, automotive-pentru detectia starii de oboseala a soferilor in vederea cresterii sigurantei in trafic.

Bibliografie

[1] Wolfgang Fuhl, Thomas K¨ubler, Katrin Sippel, Wolfgang Rosenstiel, and Enkelejda Kasneci

[2]Robust real-time pupil tracking in highly off-axis images

[3] http://cidsactech.ucv.ro/data/_uploaded/Documente/RAPORT_CIDSACTEH_P1.pdf

[4] http://www.cbsr.ia.ac.cn/english/IrisDatabase.asp

[5]https://www.google.com/search?sxsrf=ALeKk01EU–TFpo4HTll8tdPzbJwutkcNQ:1595104493995&source=univ&tbm=isch&q=ochiul&hl=ro&sa=X&ved=2ahUKEwiT4Pml09fqAhWWiFwKHf0HBV8QsAR6BAgKEAE&biw=1536&bih=754#imgrc=-YC7jo7IW2SWoM

[6] Eberhard Karls Universit¨at T¨ubingen, T¨ubingen 72076, Germany, wolfgang.fuhl@uni-tuebingen.de, http://www.ti.uni-tuebingen.de/

[7] Wolfgang Fuhl et al. 2015. Excuse: Robust pupil detection in real-world scenarios. In International Conference on Computer Analysis of Images and Patterns. Springer, 39–51.

[8] Wolfgang Fuhl et al. 2017. PupilNet v2.0: Convolutional Neural Networks for CPU based real time Robust Pupil Detection. (2017).

[9]https://www.google.com/search?q=tobii+pro+tx300+eye+tracker&tbm=isch&ved=2ahUKEwjy8pm019fqAhUGtKQKHYAOBjQQ2-cCegQIABAA&oq=TOBII+&gs_lcp=CgNpbWcQARgBMgQIIxAnMgQIIxAnMgIIADICCAAyBAgAEB4yBAgAEB4yBAgAEB4yBAgAEB4yBAgAEB4yBAgAEB5QqQ1YqQ1g_xtoAHAAeACAAXyIAXySAQMwLjGYAQCgAQGqAQtnd3Mtd2l6LWltZ8ABAQ&sclient=img&ei=PWETX7LgJYbokgWAnZigAw&bih=754&biw=1519&hl=ro&hl=ro#imgrc=N9bwnYyjIh9o9M

[10]https://www.google.com/search?q=tobii+pro+tx300+eye+tracker&tbm=isch&ved=2ahUKEwjy8pm019fqAhUGtKQKHYAOBjQQ2-cCegQIABAA&oq=TOBII+&gs_lcp=CgNpbWcQARgBMgQIIxAnMgQIIxAnMgIIADICCAAyBAgAEB4yBAgAEB4yBAgAEB4yBAgAEB4yBAgAEB4yBAgAEB5QqQ1YqQ1g_xtoAHAAeACAAXyIAXySAQMwLjGYAQCgAQGqAQtnd3Mtd2l6LWltZ8ABAQ&sclient=img&ei=PWETX7LgJYbokgWAnZigAw&bih=754&biw=1519&hl=ro&hl=ro#imgrc=hL4pUnsT2aEOXM

[10] Wolfgang Fuhl, Thiago C Santini, Thomas Kübler, and Enkelejda Kasneci. 2016b. Else: Ellipse selection for robust pupil detection in real-world environments. In Proceedings of the Ninth Biennial ACM Symposium on Eye Tracking Research & Applications. ACM, 123–130.

[11] http://www.cbsr.ia.ac.cn/english/IrisDatabase.asp

[12]https://www.researchgate.net/publication/4149000_Realtime_pupil_detection_based_on_three-step_hierarchy

[13] Lupu, R.G., Bozomitu, R.G., Nita, L., Romila, A., Pasarica, A., Arotaritei, D., Rotariu, C., 2015. Medical professional end-device applications on Android for interacting with neuromotor disabled patients, in: 2015 E-Health and Bioengineering Conference (EHB). IEEE, pp. 1–4.

[14] Lupu, R.G., Bozomitu, R.G., Păsărică, A., Rotariu, C., 2017. Eye tracking user interface for Internet access used in assistive technology, in: E-Health and Bioengineering Conference (EHB), 2017. IEEE, pp. 659–662

[15] Hard lessons learned: Mobile eye-tracking in cockpits Hana Vrzakova School of Computing University of Eastern Finland hana.vrzakova@uef.fi Roman Bednarik School of Computing University of Eastern Finland roman.bednarik@uef.fi

[16] Păsărică, A.; Bozomitu, R.G.; Tărniceriu, D.; Andruseac, G.; Costin, H.; Rotariu, C. Analysis of Eye Image Segmentation Used in Eye Tracking Applications. Rev. Roum. Sci. Tech. 2017, 62, 215–222.

[17] .Bozomitu, R.G.; Păsărică, A.; Lupu, R.G.; Rotariu, C.; Coca, E. Pupil detection algorithm based on RANSAC procedure. In Proceedings of the 2017 International Symposium on Signals, Circuits and Systems (ISSCS), Iasi, Romania, 13–14 July 2017; pp. 1–4.

[18] REAL-TIME PUPIL DETECTION BASED ON THREE-STEP HIERARCHY Kyung-Sik Jiu, Sang-Gyu Cho, Jung-Sik Lee, and Jae-Jeong Hwang School of Electronic and Information Eng., Kunsan National University, Korea

Similar Posts