Tehnici de detecție a pupilei utilizate în tehnologiile asistive si telemonitorizare medicală [308396]
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].
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.1
Figura 1.2-Dispozitiv de urmărire al ochilor
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 si î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 detectia pupilei.
Detectia pupilei este o metoda eficienta si de incredere. In lucrare imi propun sa 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ărirea 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 1.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.
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 1.4- Exemple de imagini din Baza de date Iris Casia Lamp
Capitolul II
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 2.1- Imagine detaliată cu ochiul uman
Pupila este punctul negru din mijlocul ochiului uman. Aceasta reacționează la lumină și se adaptează la intensitatea acesteia. Nu pupila, ci irisului 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 2.2-Imagini cu ochiul uman
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 urmarirea numarului de studii efectuate in scenarii din lumea reala, cum ar fi in sport, în timp ce conduci sau în timp ce iți faci cumpărăturile. Astfel de urmariri 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 in 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 detectia pupilelor în condiții de laborator, studiile care utilizeaza 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 si pupila trebuie sa fie etichetata manual in imaginile inregistrate.
Un algoritm popular si robust este Starburst , care se bazeaza pe calculul marginilor de-a lungul razelor dintr-o presupunere inițială a poziției pupilei din imagine.
In 2012, Swirski a propus un algoritm de urmarire a pupilelor pentru imagini extrem de off-axis. Abordarea lor se bazeaza pe o aproximare inițială a poziției pupilei folosind Haar Wavelets si o etapă de perfecționare cu montarea elipsă bazată pe RANSAC.
O altă abordare introdusă de Goni se bazează pe tehnica pupilei stralucitoare. Pupila este de asteptat aproape de reflecția corneei si extras folosind histrograme si tehnici bazate pe praguri .
In 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 utilizeaza estimarea de curbura a izofotelor si selecteaza izocentrul maxim ca centru al pupilei. În ciuda abordărilor de mai sus, majoritatea cercetatorilor 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 aplicatiile din lumea reala de urmarire 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 marginilor si 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 detectarea schimbărilor. Detecția marginilor 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.
Avantaje si dezavantaje ale tehnicilor de detectie ale pupilei
Eye tracking reprezinta 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 (Hansen 2005).
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 (Parkhurst 2005). 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 2.3-Tehnica de pozitionare a camerei
Dispozitiv pentru preluarea imagini ochiului (ASISTSYS 2008)
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, in timp ce altele sunt dificile si prezinta 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.
In schimb, procedurile neinvazive au avantajul ca informațiile sunt luate fără contact direct cu persoana implicata , au o calitate mai buna a imaginii si timpul de transmisie al informatiilor 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).
Figura 2.4-Imagini cu TOBII
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 2.5-Imagine cu camera video pentru captura ochiului
Tehnici de detecție a pupilei remote(dispozitiv de detectie produs de TOBII) tehnici care utilizeaza o casca cu camera de filmat in infrarosu) si tehnici head-mounted device -utilizate de noi, poze)
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 2.6- Tehnici de comunicare cu pacientii cu afectiuni neuromotorii folosind o interfata de interactiune om-calculator pe baza detectiei privirii
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 2.7- Tobii TX300 Eye Tracker
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 si precizie foarte ridicata, 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.
Studiați 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 datorate latenta foarte scazuta.
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 livrarea monitor, sau ca un ochi autonom tracker. Proiectarea modulară a sistemul permite ambii stimuli prezentare pe monitorul furnizat, și studii asupra suprafețelor plane din lumea reală sau scene (cum ar fi video extern ecrane, proiecții).
Tobii TX300 Eye Tracker se execută în rate de eșantionare de 60, 120 sau 300 Hz. În setarea de 300 Hz, acolo 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 2.8- Tobii TX300 Eye Tracker
Tehnica „Edge Filtering”
Tehnica Edge Filtering in algoritmul nostru sunt imagini la scara de gri pe 8 biti. 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 ulterioara pentru a evita cadrul ochelarilor. Mai mult presupunem că pe imaginile cu o intensitate generală luminoasă și gri similare valorizează o reflecție pe ochelari de vedere sau este prezent un punct de iluminare puternica. 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 2.9- Fluxul de lucru algoritmic. Casetele gri deschis reprezintă decizii, casetele gri închis reprezinta puncte de terminare, iar casetele albe reprezintă pași de procesare.
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 2 (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 2.10- 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.
1.2 Detectarea centrului pupilei pe imaginea cu marginea și valoarea gri
Presupunem că pupila apare ca o margine curbă care încapsulează cele mai intunecate valori ale intensitatii imaginii. Pentru a găsi o astfel de margine, patru etape de procesare sunt efectuate pe Imaginea Canny-edge-filtering, Figura 3
Figura 2.11- (a) Un filtru de margine Canny este aplicat imaginii din figura 2 (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 indepartati pixeli care conecteaza 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ă.
Filtrarea imaginii de margine
Figura 2.11 (a) prezintă imaginea filtrată de contur din Figura 2.10 (b), care apare înfundata și conține multe margini care nu sunt relevante pentru pupila detectata. Marginile 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, marginea genelor din pupilă sunt drepte și legate până la marginea 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ă fi 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 2.12 . Dacă unul dintre aceste modele se potrivește cu pixelii de margine (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 2.12 (d), (e) sau (f) să se potrivească. Prin urmare, liniile sunt îndreptat folosind modelele prezentate în figura 2.12 (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 2.12 (d), (e) și (f). Rezultatul acestei etape este prezentat în figura 2.11 (c).
1.2.2 Eliminarea liniile 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 2.12-Tipare morfologice de manipulare a pixelilor. Casetele albe și gri reprezintă pixeli care au fost detectati ca margini din imagine. Dacă modelul se potrivește cu un segment de margine, pixelii gri sunt eliminați și pixelii negri sunt adăugați la imaginea de margine. Operand (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 margine vecini.
Pașii care s-au efectuat pentru calcularea liniilor din imaginea de margine sunt următorii:
Identificarea pixelilor de contur care nu aparțin încă unei linii;
Creaarea unei noi linii cu pixelul de margine;
Adaugați toți pixelii direcți ai marginii vecinului la linie;
Repetați pasii 3+4 pentru toți pixelii vecini adaugați.
Calculați linia 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 2.11 (d) arată toate liniile cu centroidul lor (punct alb), iar figura 2.11 (e) arată restul liniilor curbe după îndepărtarea segmentelor drepte. Ne așteptăm ca una dintre liniile rămase sa aparțina 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 considerată a fi egală (adică, ra 1 =5). Linia aleasă este prezentată în figura 2.11 (f). Toate punctele de pe această linie sunt colectate și centrul este estimat folosind o fixare elipsă.
Potrivirea pe elipsa
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 elipsei . 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 . Ne potrivim elipsa 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 (1.1) Figura 2.9
1.3 Prag si pozitionare grosiera
Figura 2.13- (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.
Dacă histograma cu valoarea gri nu conține un vârf (figura 2.10 (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 2.13 (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 ne propunem determinarea poziției pupilei grosiera. Nu este necesară extragerea întregii pupile. Prin urmare, un prag conservator care reduce zgomotul la costul potențial al tăierii a pupilei este de preferat. Poziția pupilei grosiera 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ă coada în histograma rezultat. Histogramele respective nu se bazează pe formă, iar presupunerea noastră 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 ) și cel 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 ◦ . Noi am folosit orientările 0 ◦ , 45 ◦ , 90 ◦ și 135 ◦ pentru AIPF să calculeze histogramele arătate în figura 2.13. (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ția noastră am ales ar1 = 7 ș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ția noastră am ales th3 = 0,5 empiric). Dacă există o zona mai mult acceptabilă într-o histogramă, presupunerea noastră 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 2.13 (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 2.13 (d), (e), (f) și (g) trase la imaginea de prag prezentată în figura 2.13 (b). Poziția pupilei este estimată pe baza intersecției acestor linii. Presupunerea noastră 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 1.2 al algoritmului va prelua. Dacă această ramură nu reușește să detecteze și pupila, se presupune o clipire.
1.4 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 bordul 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ția noastră am ales 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).
1.5 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 lipsesc din marginile pupilei pot lovi astfel și alte margini care nu aparțin pupilei ceea ce face ca detectarea centrului pupilei să fie incorectă. Figura 2.14-Imaginea (a) cu ochi filtrată de marginea regiunii în care este de așteptat pupila. O imagine de prag (b) este calculată pentru a determina limita pragului (c). Numai pixelii de margine în apropierea acestei granițe sunt utilizati pentru calcule suplimentare (d). După pașii de rafinare a muchiei explicate la 1.2.1 și 1.2.2 marginile 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 o margine (puncte albe pe elipsă din (f)) se presupune că linia care aparține acestei margini aparține pupilei.
1.5.1 Îmbunătățirea imaginii de contur prin binarizare
În primul rând, se calculeaza un filtru de margine al regiunii imaginii, așa cum se arată în figura 2.14 (a). Imaginea pragului calculat de la pasul 1.3 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 2.14 (b)). În acest pas, este important ca nici o parte a pupilei sa nu fie tăiata cu un prag prea conservator. Marginea imaginii de margine este preselectată se suprapune cu imaginea de prag. Doar marginile sunt aproape de granița regiunii de prag (Figura 2.14 (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 6 (d). Pentru a calcula aceasta zona înconjurătoare ar5 din fiecare prag pixel de frontieră este inspectat (în aplicația noastră am ales ar 5 = 5 empiric, ceea ce înseamnă 5 pixeli în fiecare direcție care iese din pragul de bord ). 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 1.1.1 și 1.1.2 (rezultatul este prezentat în figura 2.14(e)).
1.5.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 2.14 (f)) în toate direcțiile, cu un pas de unghi de 45 ◦ până când ating o margine (puncte albe pe linie eliptică din figura 2.14 (f)), similară metodei utilizate de algoritmul Starburst . Punctele de intersecție dintre raze și margini 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ă.
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) până la 750 THz (380 nm).
În cele ce urmeaza voi explica modul î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 / î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 ambele 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 2.15
Capitolul III
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]. In general etapele unui algoritm pentru detectia pupilei sunt prezentate în Figura :
Figura 3.1-Algoritmul de determinarea a centrului pupilei
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.
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.) (Cherabit et al., 2012).
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.
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 (Chia et al., 2007). Astfel, ecuația elipsei se definește astfel:
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). Etapele acestei metode sunt prezentate în Figura:
Figura 3.2-Etapele metodei Starburst
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 (Halır and Flusser, 1998):
Unde A=
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 (Wenchao Cai et al., 2004).
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 (Raguram et al., 2008).
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ă (Feng and Yuen, 1998):
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ă.
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ă.
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.
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. 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 imagini (DB1), folosită anterior la determinarea metodei optime de binarizare. Similar, am testat algoritmii de detecție a direcției privirii implementați pe cea de-a doua bază de date, DB2, baza de imagini disponibilă public Casia-IRIS-Lamp (Casia-IRIS-Lamp, 2010). Această bază de date este formată din 100 imagini selectate, caracterizate prin condiții diferite de iluminare. A treia bază de date (DB3) testată este de asemenea disponibilă public, baza de date ExCUSE dataset XII (“ExCUSE dataset XII,” n.d.), care conține 524 de imagini ale ochiului cu o rezoluție spațială de 384×288 pixeli. Aceste imagini sunt caracterizate de calitatea scăzută a acestora din cauza prezenței artifactelor 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 (Holmqvist et al., 2015):
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) (Peng Wang et al., 2005). 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 .
Figura 3.3-Comparația între ratele de detecție pentru valori de prag de la 1 la 10 pentru a) DB1, b) DB2 și c) DB3 [R.
Capitolul V-
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 margine;
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 provocari atunci cand folosim metoda Edge Filtering pentru detectia pupilei in scenarii din lumea reală cum ar fi:
reflecții;
ocluzii;
iluminări complexe;
nereguli fiziologice.
Figura 4.1-Imaginii ale ochiului cu diferite provocari
Metoda proiecțiilor pe axa orizontala si verticala
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ă.
Aceasta metoda a 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ă (Feng and Yuen, 1998):
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ă.
Metoda este eficientă și robustă și are o precizie mai mare de localizare a ochilor decât metodele tradiționale de proiecție.
Metoda proiectiilor pe diagonala principala si secundara
Prin metoda proiectiilor pe diagonala principala si secundara proiectam toti pixelii albi pe aceste diagonale apoi din intersectia acelor axe ne rezulta centrul detectat al pupilei.
Figura 4.2- Reprezentarea diagonalelor pentru metoda proiectiilor
Pasii algoritmului (binarizare, indepartare artefacte prin filtrare, prelucrari 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 doua 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 alta etapă a rutinei de pregătire, am poziționat camera pentru ochi, în timp ce am ajustat pragurile în algoritmul de detectare a pupilelor, așa cum este ilustrat în figura . Îndoirea și rotirea gâtului de lebădă al camerei de ochi, însă, aparținea unor sarcini delicate, deoarece fiecare om ființa îi protejează în mod natural ochii și orice manipulare, aproape de ochi, ofensează reflexiv.
Figura 4.3 – Scăderea pragului în algoritmul de detectare a pupilei pentru a elimina artefactele optice.
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 4.3 .
Î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 4.4 pentru ilustrare), asistentul a cartografiat pozițiile și a sărit vertical și orizontal.
Figura 4.4-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.
Figura 4.5- Punctele de calibrare și gesturile privirii în formă de L, utilizate pentru a seta poziția și compensarea verticală și orizontală a privirii.
Eroziune
Procesarea eroziunii scapă de obiecte prea mici și crește fundalul din imagine. Figura 4.6 (b) prezintă masca pentru procesarea eroziunii. Figura 4.6 (d) prezintă rezultatul acestui proces.
Figura 4.6- (a) Masca pentru procesarea dilatării. (b) Masca pentru prelucrarea eroziunii. (c) Rezultatul după dilatație, (d) Rezultatul după eroziune.
Dilatare
Dilatarea pupilei a fost semnificativă pentru toate loviturile (figura 4.7); pentru țintele ratate, dilatarea pupilelor a fost redusă, dar încă semnificativă în majoritatea cazurilor. De asemenea, am constatat că cantitatea medie de dilatare este mai mică în sesiuni cu frecvență țintă mare și este, de asemenea, scăzută până la sfârșitul sesiunii (Figura 4.8). Aceste rezultate oferă dovezi că obișnuirea afectează sensibilitatea reflexului pupilei atunci când spectatorii sunt expuși în mod repetat la o categorie de ținte vizuale. Cele mai mari dilatații au fost măsurate pentru vizionarea sesiunilor cu foarte puține ținte sau pentru acele ținte prezentate la doar câteva secunde după începutul sesiunii (Figura 4.8). Barele de eroare indică intervale de încredere de 99%.
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 4.10. Comparând această figură cu figura 4.9, observați că cele mai multe puncte albe mici sunt eliminate.
Figura 4.9- O imagine binară rezultată după prag.
Figura 4.10- 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 4.11. Comparând această figură cu figura 4.10, observați că multe dintre micile găuri negre sunt umplute cu valori ale pixelilor albi.
Figura 4.11- 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.2 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 5.1-Exemple de imagini ale ochiului din baza de date Iris Casia Lamp
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 5.2-Poze 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 5.3 – 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 5.4-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 5.5-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 5.6-Baza de date rezultată în urma etapelor pentru etichetarea manuala.
În urma rularii algoritmului avem urmatoarele imagini rezultate:
Figura 5.7-Granița dintre prag si margini
Figura 5.8-Liniile corectate
Figura 5.9-Linii cu punct de acces
Figura 5.10-Linii cu medie (punct alb)
Figura 5.11-Pragul de frontiera
Figura 5.12-Linii cu unghiuri bune
Figura 5.13-Alege linia
Figura 5.14-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 5.17-Rata de detecție la 5 pixeli
Concluzii
In lucrare s-a perezentat 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, sociolog
Bibliografie
[1] Wolfgang Fuhl, Thomas K¨ubler, Katrin Sippel, Wolfgang Rosenstiel, and Enkelejda Kasneci
[2] Eberhard Karls Universit¨at T¨ubingen, T¨ubingen 72076, Germany, wolfgang.fuhl@uni-tuebingen.de, http://www.ti.uni-tuebingen.de/
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.
Wolfgang Fuhl et al. 2017. PupilNet v2.0: Convolutional Neural Networks for CPU based real time Robust Pupil Detection. (2017).
Wolfgang Fuhl, Thiago Santini, Gjergji Kasneci, and Enkelejda Kasneci. 2016a. Pupil- Net: convolutional neural networks for robust pupil detection. arXiv preprint arXiv:1601.04902 (2016).
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.
http://www.cbsr.ia.ac.cn/english/IrisDatabase.asp
https://www.researchgate.net/publication/4149000_Real-time_pupil_detection_based_on_three-step_hierarchy
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.
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
Article Development of an Eye Tracking-Based Human-Computer Interface for Real-Time Applications
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.
.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.
Robust real-time pupil tracking in highly off-axis images
Kovoor, B., Supriya, M., and Jacob, K., “Iris Biometric Recognition System Employing Canny Operator”, In Computer Science & Information Techno;ogy (CS & IT), 2013, Page (65 – 74).
Kassner, M., Patera, W., Bulling, A., 2014. Pupil: an open source platform for pervasive eye tracking and mobile gaze-based interaction, in: Proceedings of the 2014 ACM International Joint Conference on Pervasive and Ubiquitous Computing: Adjunct Publication. ACM, pp. 1151–1160.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Tehnici de detecție a pupilei utilizate în tehnologiile asistive si telemonitorizare medicală [308396] (ID: 308396)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
