Aceast ă lucrare prezintă o metodă robustă pentru det ecția pupilei bazată pe procesarea [621750]

1

Rezumat

Aceast ă lucrare prezintă o metodă robustă pentru det ecția pupilei bazată pe procesarea
imaginilor cu ajutorul transform atei Hough circulare si eliptice . Transformata Hough este un
algoritm propus de Paul Hough în anul 1962 pentru detecția trăsăturilor cu diferite forme
geometrice, cum ar fi liniile și cercurile în imaginile digitale .
Cele două metode de implementare a software -ul aplicație i se bazează pe detectarea
cercuri lor, respectiv elipsei , forme geometrice cu care se aproximează pupila .

1. Introducere

Identificarea persoanelor devine din ce în ce mai importantă societatea modernă . Pe baza
prelucrării datelor biometrice, persoanele sunt identificate prin caracteristicile lor
comportamen tale sau fizice. Caracteristicile fizice includ chipul, degetul, irisul, retina, geometria
mâinilor; amprenta etc. unde caracteristicile comportamentale includ semnătura, mersul, vocea
… etc. Un sistem biometric explo atează legătura incontestabilă ș i indestructibilă dintre o
persoană ș i datele sale biometrice . Dintre toate aceste caracteristici, recunoașterea irisului capătă
o mare atenție deoarece irisul fiecărei persoane este unic și nu se schimbă în timpul vi eții
acesteia.
Majoritatea metodelor utilizate pentru localizarea irisului se bazează pe presupunerea
incorectă că centrul irisului se identifică cu centrul pupilei și că irisul prezintă o formă perfect
circulară. De fapt forma pupilei și poziția acesteia este afectată de numeroase surse de erori, cum
ar fi: reflecția corneeană, clipirea involuntară, tremurul fiziologic al ochiului și altele. Din acest
motiv, forma geometrică care aproximează cel mai bine pupila este elipsa, așa cum se va arăta în
capitole le următoare .
Cunoasterea punctul de privire al utilizatorului a avut un potential semnificativ in
interfa țarea current ă om-calculator, având in vedere ca mi șcarea ochilor poate fi utilizata ca u n
indicator al starii de atenț ie al utilizato rului.
Utilizarea unui dispozitiv de detecție a direției privirii facilitează interacțiunile cu
computerele și alte dispozitive atunci când utilizatorul nu poate sau nu dorește să folosească
mâinile pentru folosirea sistemul ui de calcul . Măsurătorile obținute as upra punctului de privire a
ochilor sunt utilizate de două tipuri de interfe țe „om-mașina” – interfa țe active si interfa țe
pasive. Interfeț ele active permit utilizatorilor sa controleze in mod explicit interfa ța prin
utilizarea mișcă rilor ochiului. De exemplu, tastatul cu ochii presupune privirea utilizatorilor

2
catre taste pe o tastatura virtuala in loc de butonarea unei tastaturi tradiționale . O astfel de
interfa ță activă a fost destul de eficienta ajutand utilizatorii cu dizabilit ati de mi șcare sa
interactioneze cu calculatoarele. Aceste tehnici pot fi deasemenea utile pentru utilizarea normala
a interfe ței dat fiind faptul ca atunci cand utilizatorii intentioneaza sa selecateze o pic tograma
intr-o interfata grafică utilizator, ace ștea de obicei se uita mai î ntai la pictograma si prin u rmare
selectarea poate fi potenț ial accelerata cu urmarirea ochiului. Pe de alta part e, interfaț a pasiva
monitorizeaza mișcă rile ochiului utilizatorului si automat se autoadapteaza la utilizator . De
exemplu in transmisiile video si in aplica țiile de realitate virtuala, tehnica mecanismul ui de
afișare cu rezolutie variabila condiționata de focusul privirii, urmareste privirea ochilor in mod
activ si prezintă un nivel î nalt de detalii la punctu l privir ii in timp ce se ignoră nivelul de detalii
la periferii unde utilizatorul nu atrage atenț ia.
Deși algoritmi de urmarirea a mișcării ochiului a fost implementa ți in câteva sisteme de
cercetare si intr -un oarecare grad mai mic pe piața de consum , aceaș tea nu si-au atins încă
potentialul maxim. Foarte important, tehnologia de urmarire a ochiului a fost disponibila de -a
lungul anilor prin utilizarea mai multor metode ( ex: Purkinje bazat pr reflexie , contact -lens based
eye coil systems, electro – oculography; pentru un studiu al tehnologiei clasice de urmărire a
ochilor ). Principalul obstacol ce a stat in calea integrar ii acestor tehnici intr -o interfata „om-
mashina ” a fost ca erau fie prea invazive fie prea scumpe pentru utilizarea de rutina. Recent,
invazitivit atea dispozitivilor de detecție a direcției privirii a fost redus ă semnificativ prin
miniaturizare dispozitivului cu montare pe cap. D e asemenea , tehnologia detecției privirii de la
distanță iși micșorează volumul , cu observația că se reduce din precizia acestuia . Având in
vedere cele de mai sus, principalul obstacol care stă in calea integrării a miscarilor oculare intr -o
interfa ță actual ă este disponibilitatea unui sistem de urmarire a ochilui disponibil în mod liber,
sigur si la un pre ț mic.
În prezent sunt disponibile câteva dispozitive de detecție a privirii pe piață și prețul lor
variază de la aproximativ 5.000 până la 40.000 $ US. De remarcat că cea mai mare parte a
acestui cost nu se datorează parții hardware, având in vedere că prețul unei camere digitale de
înaltă calitate a scăzut brusc in ultimii zece ani. Acest cost este asociat destul de mult cu
implementări de soft personalizate, uneori integrate cu procesoare digitale special adaptate
pentru a obține performanță in viteză.
Această analiză indică in mod clar că pentru ca tehnologia de detecție a dierecției privirii
să poată fi integrată in interfața „om – calculator” de zi cu zi, fiind disponibilă pe scară largă, se
impune dezvolt area unor algoritmi de încredere și de mare v iteză care pot sa ruleze pe orice
dispozitiv de calcul.

3
Dispozitivele de detecție a direcției privirii pot achiziționa imaginile în două moduri: in
spectrul vizibil sau in spectrul infraroșu. Spectrul vizibil este o abordare pasivă care captează
lumina am biantă reflectată de ochi. De cele mai multe ori în acest caz cele mai bune
caracteristici de detectat este conturul dintre iris și sclerotică. Caracteristicile de interes sunt:
pupila – apertura ce lasă lumina să patrundă in ochi, irisul – disc circular colorat ce controlează
diametrul pupilei , și sclerotica – țesutul alb protector. Detec ția direcției privirii în spectrul vizibil
este complicată prin faptul că utilizeză ca sursă de lumină, lumina ambiantă ce nu poate fi
controlotă, și care poate avea componente nedorite. Camera în infraroșu elimină aceste
componente nedorite prin iluminarea continuă și uniformă a ochiului și care in același timp nu
este percepută de utilizator. Un alt beneficiu în imagistica infraroșu est e că pupila este cea mai
proiminentă caractere stică intr -o imagine a ochiului. Sclerotica și irisul , ambele reflectă puternic
lumina infraroșu, pe când sclerotica reflectă puternic lumina vizibilă. Este preferabil urmărirea
conturului pupilei dat fiind fap tul că pupila este mai mică si mai clar definită în comaparație cu
conturul irisului.Mai mult, datorită dimensiunii sale, pupila are o probabilitate mai mică de a fi
acoperită de pleoape. Principalul dezavantaj al tehnicilor de imagistică în infraroșu este că nu pot
fi util izate în aer liber în timpul zi lei.
Detecția pupilei în infraroșu utilizează in mod obișnuit fie tehnica pupilei luminoase, fie
tehnica pupilei întunecate. Tehnica pupilelor luminoase iluminează ochiul cu o sursă care se află
pe, sau apr oape de axa optică a camerei . Rezultatul unei asemenea iluminări este că pupila apare
demarcată ca o regiune foarte iluminată in imagine. Tehnica pupilei întunecate, care s -a folosit și
în această lucrare, iluminează ochiul cu o sursă din afara în afara ax ei optice a camerei, astfel
încât pupila apare ca cea mai întunecată regiune din imagine, pe când sclerotica, irisul și
pleoapele, toate reflectă relativ mai multă lumină. În oarecare dintre aceste metode este vizibilă
reflexia corneană .
În general, algoritmii de detecție a privirii folosesc două de tehnici de procesare:
procesare pe bază de trăsături și procesare pe bază de model . Tehnica de procesare pe bază de
model detectează și localizează în imagine caracteristici cu privire la po zționarea ochiului. O
similitudine între abordărilor pe bază de caracteristici este aceea că este necesar un criteriu (de
ex. o valoare de prag) pentru a decide când o caracteristică este prezentă sau absentă.
Determinarea unui prag adecvat este de obicei lăsat ca un parametru liber care este ajustat de
utilizator . Caracteristicile urmărite variază foarte mult de la algoritmi la algoritmi , dar de cele
mai multe ori se bazează pe nivele de intensitate sau gradienți de intensitate . De exemplu, în
imaginile în infraroșu, tehnica pragului dual folosește pragurile de intensitate stabilite în mod
corespunzător pentu a extrage regiunea corespunzătoare pupilei și reflexi ei corne ene. Pe de altă
parte, tehnicile de procesare pe bază de model nu detectează în mod expl icit trăsăturile

4
(caracteristice), ci se orientează pe determinarea celui mai potrivit model geometric al imaginii
de detectat . Aceste tehnci pot furniza o estimare mult mai precisă a conturului pupilei decât
tehnicile de procesare pe bază de trăsături. Cu toate acestea, abordările pe bază de model necesită
căutarea unui spațiu complex de parametri care să poată fi încărcat cu minimele locale și, prin
urmare, nu pot fi utilizate fără o aproximare bună a valorilor inițiale. Creșterea acurateț ii unei
tehnici de procesare bazate pe model se obț ine la un cost semnificativ in ceea ce priveste viteza
de calcul si flexibilitatea.
Un algoritm de detecție a direcției privirii (detectează pupila) este algoritmul Starbust.
Acesta combină tehnicile de procesare bazat e pe model și pe tehnicile de procesare bazate pe
caracteristici, pentru a obține un raport performant între timpul de rulare și acurateția detecției
pupilei. Reflexia coneeană și pupila sunt localizate prin tehnica de procesare pe bază de
trăsături. Apo i este aplicată paradigma RANSAC pentru a maximiza acurateția în prezența
erorilor survenite în urma procesării pe bază de caracteristici. În cele din urmă se aplică o
procesare pe bazată pe model pentru a reface ulterior elipsa. Mai există și alți algori tmi de
detecție a privirii printre care și transformata Hough, subiect care va fi tratat cu precădere în
această lucrare.
Transformata Hough clasică este un algoritm standard utilizat pentru detecția liniilor și a
cercurilor. Acesta poate fi aplicat în multe aplicații de procesare de imagini, deoarece majoritatea
imaginilor conțin trăsături ale contururilor (marginilor), care pot fi descrise prin curbe regulate.
Un mare avantaj al transformatei Hough este că tolerează golurile și imperfecțiunele și nu este
relativ afectată de zgomotul suprapus peste imagini. Datorită avantajelor menționate mai sus,
transformata Hough a fost u tilizat pe scară largă în multe aplicații. De exemplu, aplicații 3D,
detectarea obiectelor și a formelor, recunoașterea benzii și a semnelor rutiere, aplicații industriale
și medicale, inspecția conductelor și cablurilor, și urmărirea subacvatică.
Tran sformata Hough circulară și eliptică poate fi utilizată pentru determinarea razei și a
coordonatelor centrului pupilei, putând fi astfel utilizată pentru detecția direcției privirii în timp
real.
Wildes, Kong și Zhang ,Tisse și alții au utilizat transforma ta Hough pentru localizarea
irisului. Metoda de localizare utilizată de aceștia se bazează pe calculul derivatei întâi a
intensității imaginii. În metoda propusă de Wildes se obține mai întâi imaginea cu contururile
detectate prin aplicarea unui prag ampli tudinii gradientului intensității imaginii, direcția
gradientului reprezintă direcția în care funcția imagine prezintă o creștere maximă, de exemplu
de la negru spre alb, așa cum se arată în :
( ) ( ) (1.1)

5
unde:

( )
( ) ( )
(1.2)

G(x, y) reprezintă funcția de filtrare de netezire Gaussiană, cu parametrul de scalare σ,
utilizat pentru selectarea celei mai potrivite valori pentru analiza performantă a marginilor
detectate. Imaginea cu contururile detectate este apoi utilizată în procesul de votare pentru
maximizarea transformatei Hough definite pentru conturul dorit. Pu nctul maxim în spațiul
Hough corespunde cercului de rază r și coordonate ale centrului xc și yc, care este cel mai bine
definit de punctele detectate pe contur, conform cu următoarea ecuație:
xc2 + y c2 – rc2 = 0
Wildes și alții și Kong și Zhang utilizeaz ă transformata Hough parabolică pentru detecția
pleoapelor, aproximând marginile superioare și inferioare ale acestora prin arcuri parabolice.
Metoda care se bazează pe transformata Hough necesită o valoarea de prag, utilizată
pentru detecția conturului, c are poate determina extragerea obiectelui de interes din fundal
(pupila), astfel evitânduse eventuale erori în detecția cercurilor și a arcurilor de cerc.
Transformata Hough necesită putere de procesare m are, care este din ce în ce mai
disponibilă în cadrul computerelor actuale.

2. Binarizarea imaginii ochiului pe bază de histogramă

O imagine poate fi definită ca o funcție bidimensională, f(x,y), unde x și y sunt
coordonatele spațiale (în plan), și amplitudinea funcției f în orice punct definit de perechea de
coordonate (x, y) se numește intensitatea imaginii în punctul respectiv. Ter menul de nivel de gri
este cel mai des se referă la intensitatea imaginilor monocromatice.
Transformarea unei imagini analogice într -o formă digitală presupune digitalizarea
coordonatelor precum și a amplitudinii. Așadar, imaginea se împarte în elemente foarte mici care
se numesc pixeli. Caracteristicele de amplitudine și poziție în sistemul (x,y) ale unui pixel sunt
codificate rezultatul final al acestei digitalizări fiind un șir de numere care sunt memorate cu
ajutorul calculatoarelor.
Histograma unei imagini reprezintă nivelurile de gri în cazul imaginilor în tonuri de gri,
sau a nivelurilor celor trei canale RGB, în cazul imaginilor color. Aceasta afi șează numărul de

6
pixeli (frecvența) pentru fiecare intensitate din imaginea respectivă. Pentru o imagine pe 8 biți,
histograma va afișa numărul de pixeli pentru fiecare valoare de culoare posibilă (256 valori).
Mediul matlab suportă mai multe tipuri de imagine:
 imagine RGB (imagine color) – fiecare pixel este caraterizat de trei valori, câte una
pentru fiecare componentă: roșu, verde și respectiv albastru.(imaginea este stocată într -o
matrice ).
 imagine indexată – imagine (matrice a× b ) a caror pixeli conține valoarea indicelui
culorii dintr -o gamă de culori. Gama de culori este un tablou c ×3 , cele trei coloane
reprezentând valorile RGB, unde c reprezintă numărul de nuanțe ;
 imagine in nuanțe de gri – valorile tabloulu imagine (matrice a× b ) conține direct
nuanta de gri, fără a fi nevoie de o paletă de culori;
 imagine binară – imagine ce co nține doar pixeli albi sau negri, reprezentată sub forma
unor tablouri de valori de 1(alb) și 0(negru) – informațiile vor fi stocate într -o matrice a
×b ;

Binarizarea unei imagini are ca obiectiv obținerea unei imagini alb negru dintr -o imagine
care conține și alte nuanțe nedorite provenite din diverse motive tehnice. Aceasta poate fi:
 global ă, cu un singur prag T pentru întreaga imagine ,
 locală , cu prag variabil.
Împarțirea imaginii în zone de interes după anumite criterii reprezintă segmentarea.
Fiecarui pixel i se va atribui o valoare, 0 sau 1 , reprezentând apartenența acestuia la o anumită
zonă sau regiune de interes. Zonele sau regiunile care alcătuiesc o imagine poartă numele de
segmente.
Separarea modurilor histogramei, ș i deci identificarea obiectelor din imagine, se face prin
alegerea unor nivele de gri, numite praguri de segmentare. De obicei aceste praguri se aleg ca
fiind corespunzătoare minimelor locale ale histogramei.

În continuare se prezintă o metodă de segme ntare a imaginii ochiului care utilizează un prag
global, determinat din histograma imaginii acestuia, care se calculează pentru imagine statică
prelucrată. Segmentarea prin metode de prag se bazează pe alegerea unui nivel de gri care să
realizeze extrager ea obiectelor din fundal
Determinarea adaptivă de la cadru la cadru a pragului din histogramă se bazează pe alura
specifică a acesteia pentru imagini ale ochiului preluate cu o cameră video în infraroșu. Pupila

7
este reprezentată de regiunea cu pixelii avân d cel mai închis nivel de gri din imagine , având in
vedere că se utilizează tehnica pupilei întunecate (negre). Deoarece dimensiunea pupilei este
mică in comparație cu întreaga imagine a ochiului, este de remarcat că pixelei corespunzători
pupilei au o probabilitate mai mică de apariție. Astfel, nivelele de gri ale pixelilor corespunzători
pupilei vor fi poziționate în histograma imaginii ochiului, ilustrată în Fig. 2,1, în zona cuprinsă
între origine (corespunzătoare nivelului de negru, egal cu 0 în histogramă) și punctul A. Primul
maxim al histogramei (notat cu M) corespunde nivelului de gri majoritar al pixelilor din cadrul
pupilei, iar primul minim (notat cu N) corespunde nivelului de gri al pixelilor aflați undeva pe
conturul pupilei, la granița dintre pupilă și începutul irisului. Acest minim poate fi utilizat ca
prag global pentru binarizarea imaginii, în vederea detecției conturului pupilei. În cazul
histograme i ilustrată în Fig. 4.1, acest prag are valoarea T = 24.

fig. 2.1 Histograma imaginii ochiului

În continuare se prezintă secvența de program MATLAB implementată pentru
determinarea pragului de segmentare global din histograma imaginii ochiului .

%% Citirea si filtrarea imaginii ochiului

img = imread( 'img_eye.jpg' );
% Achiziționare imagine

I2 = rgb2gray(img);
05001000150020002500300035004000Histograma imagini ochiului
0 50 100 150 200 250
M
N
A
Nivele de gri

8
%rgb2gray convertește imaginile de nuanțe RGB intr-o imagine cu nivele de
gri.

h = fspecial( 'average' ,[3 3]);
% mediere, masca de filtrare de dimensiune NxN; 1/N^2, N=3 in cazul de față

img_filt = imfilter(I2,h, 'replicate' );
% efectuiaza filtrare multidimensional. 'replicate' -> valorile de intrare in
tablou care sunt in afara intervalului, se presupun egale cu cel mai apropiat
capăt.

%% Determinarea pragului de segmentare global

h=imhist(img_filt);
%afișeaza histograma pentru imaginea „img_filt” a cărei număr de nivele este
specificată de tipul imaginii. Dacă imaginea este in tonuri de gri, „imhist”
utilizează implicit 256 de valori, daca este o imagine binarizată utilizează
doar 2 valori (0 sau 1)

h2 = h(10:125);
minx=8+find(h2==min(h2)) ;
% se adauga 8, deoarece primele 9 esantioane ale lui h au fost eliminate din
h2, iar histograma incepe de l a indexul 0

level = minx(1)/255;
% daca sunt mai multe minime egale, se ia ca prag primul minim gasit
% level = 0.12; % prag fix pentru imag statice 0.12

În continuare, binarizarea imaginii ochiului cu pragul detectat din histogramă și detecția
conturului pupilei se pot realiza cu ajutorul secvențelor de program MATLAB ilustrate mai jos.

%% Binarizarea imaginii ochiului si detectia conturului pupilei

img_BW = im2bw(img_filt,level);
% converteste intensitatea imaginii img_BW in alb si negru

figure(2);imshow(img_BW);axis on;
title('Imaginea binarizata a pupilei detectate' ,'FontSize' ,14,'FontWeight' ,
'bold' );
set(gca, 'fontsize' ,14);
imgBW = edge(img_out);
figure(3),imshow(img_out);axis on;
title('Imaginea binarizata a pupilei refacute' ,'FontSize' ,14,'FontWeight' ,
'bold' );
set(gca, 'fontsize' ,14);

9

fig. 2.1 Imaginea binarizată a ochiului

fig 2.2 Detecția conturului pupilei
Imaginea binarizata a ochiului
100 200 300 400 500 60050
100
150
200
250
300
350
400
450
Detectia conturului pupilei
100 200 300 400 500 60050
100
150
200
250
300
350
400
450

10
Experimentele efectuate pe întregul set de imagini statice ale ochiului, dar și pe imagini
video ale ochiului, preluate în timp real, confirmă o detecție foarte precisă a pragului de
segmentare, ceea ce determină o foarte bună localizare a centrului pupile i detectate. În cazul
algoritmilor pentru detecția pupilei prin diferite metode este foarte importantă forma geometrică
a imaginii pupilei. Aceasta este influențată în mare măsură de reflexia corneană. Precizia
detecției centrului pupilei poate fi îmbunătă țită semnificativ prin înlăturarea reflexiei corneene,
cu ajutorul tehnicilor de reconstrucții morfologice.
O altă metodă de segmentare ar mai fi pe bază de gradient – au la bază derivatele locale
ale funcției imagine; deorece derivatele sunt mai mari atunci cand variațiile imaginii sunt mai
mari, aceste operații accentuează zonele de trecere de la o nuanță la alta. Pixelii paraziți dintr -o
imagine conduc de asemenea la variații ale funcției imagine. De aceea, aplicarea acestor
operatori unor imagini af ectate de zgomote va duce la creșterea nedorită a nivelului dezgomot.
Direcția gradientului reprezintă direcția în care funcția imagine prezintă o creștere maximă.

3. Principiul transformatei Hough
Transformata Hough clasică este un algoritm standard utilizat pentru detecția liniilor și a
cercurilor. Acesta poate fi aplicat în multe aplicații de procesare de imagini, deoarece majoritatea
imaginilor conțin trăsături ale contururilor (marginilor), care pot fi descrise prin curbe regulate.
Transformata Ho ugh este o metodă ce rezolvă o problemă clasică din viziunea artificială:
găsirea unor figuri geometrice într-o imagine ce conține o mulțime de puncte de interes. Într-o
imagine, o curbă, în orice formă, poate fi definită printr -un set de puncte. Există a stfel un set de
parametri care face legătura dintre aceste puncte și informațiile lor spațiale reprezentate de
coordonatele acestora în imagine. Aceasta înseamnă că orice curbă este parametrizată, putând fi
modelată printr -o ecuație matematică (de exemplu ecuația unei linii, a unui cerc, a unei parabole,
a unei elipse, etc.). În principiu , transformata Hough poate fi utilizată pentru orice curbă para-
metrizată, pentru orice formă pentru care se poate vota pentru parametrii de care este descrisă.
Principiul general al transformatei Hough constă în proiecția spațiului imaginii N-
dimensional (notat cu I și definit prin variabilele i = 1 : N) într -un spațiu parametric de
dimensiune M (notat cu H și definit prin variabilele j = 1 : M). Legătura dintre cele două spații se
face printr -un model matematic xi = f(a i). Deci, obiectivul este să se găsească parametrii ce
definisesc formele care urmează a fi detecate.
De exemplu, o linie dreaptă este determinată de ecuația: y = mx + p , unde m reprezintă
panta , iar p este intercepția dreptei cu axa Oy. Pentru fiecare punct de interes din imagine, se

11
calculează toate posibilele drepte ce trec prin el, și se incrementează ele mentele din spațiul
parametric, numit și acumulator Hough . Dreptele relevante sunt locali zate în maximele locale ale
spațiului parametric. Astfel, transformata Hough este definită de ecuația:

I = {x, y} → H = {m, p} (3.1)

Există două tipuri de transformate Hough, care depind de formularea ecuației matematice
care leagă cele două spații:
– transformarea 1 la m (un punct din I este asociat cu m puncte din H);
– transformarea m la 1 (m puncte din I sunt asociate cu un punct din H).

În aplicațiile practice spațiul Hough H este discretizat. Rezultatul transformatei Hough
este stocat într -un tabel cu două dimensiuni (în cazul spațiului (m, p) numit acumulator Hough ).
Prin urmare, fiecare poziție din tabel mi, pi are propriul său acumulator.

3.1 Transformata Hough pentru detecția cercurilor

Transformata Hough poate fi aplicată pentru detecția prezenței formelor circulare într -o
imagine dată. Ecuația caracteristică a unui cerc de rază r și centru (a, b) este dată de:

(x – a)2 + (y – b)2 = r2 (3.2)

Acest cerc poate fi descris prin următoarele ecuații parametrice:
x = a + rcos 
y = b + rsin  (3.3)
Unde  ia valori de la 0 la 360 de grade.
Astfel, cu ajutorul transformatei Hough se caută un triplet de parametri (a, b, r) care determină
punctele (xi, yi) (Fig. 7.1). În Fig. 3.1 se ilustrează modul de operare al transformatei Hough
pentru câteva puncte de pe cerc.

12

fig. 3.1 . Transformarea unui punct într -un cerc

fig. 3.2 Reprezentarea transformatei Hough pentru câteva puncte de pe cerc
Există două situații:
– cazul razei cunoscute;
– cazul razei necunoscute.

3.2 Cazul razei cunoscute

Dacă se cunoaște raza cercului ce urmează a fi detectat in imagine, atunci parametrii căutați
de transformare se reduc la perechea (a, b) și prin urmare spațiul H este b imensional.

13
Se consideră un cerc de rază R si cu centrul (a 0, b0), transformarea fiecărui punct ( xi, yi) din
spațiul I determină un cerc in spațiul H având centrul xi, yi si rază R – fig 3.1 .
În mod similar se transformă toate punctele cercului din imagine. Rezultatul va fi reprezentat
de mai multe cercuri a căror intersecție reprezintă punctul (a0, b0). Acest punct este determinat de
valoarea maximă a acumulatorului, așa cum se va arăta în cele ce urmează.
Pentru determinarea unor forme geometrice mai complexe (de exemplu elipse, care
aproximează mai bine pupila), dimensiunea spațiului Hough cre ște odată cu numărul de variabile
necesare, dar aceasta determină creșterea considerabilă a timpului de rulare al algoritmului.

fig. 3.3 Reprezentarea grafică a principiului transformatei Hough pentru cercuri

Conform cu transformata Hough pentru cercuri, fiecare pixel în spațiul imaginii ( I)
corespunde unui cerc în spațiul Hough ( H) și invers . Toate punctele cercului C din imagine sunt
transformate în mai multe cercuri ( C1, C2, C3, C4, …) cu aceeași rază r, iar intersecț ia acestora,
O, reprezintă centrul cercului detectat ( fig. 3.3) . Coordonatele pe axa Oy ale celor două puncte
simetrice A și B (cu aceleași coordonate x0 pe axa Ox) de pe cercul Hough C1 din fig. 3.3 sunt
exprimate de următoarele ecuații:

14
{
(3.4)

în care ofsetul pe axa Oy este dat de:

√ ( ) (3.5)

Rezultatul transformatei Hough este stocat într -un tabel de dimensiunea imaginii numit
acumulator Hough . Pentru fiecare cerc generat prin transformata Hough, valoarea
acumulatorului este actualizată. Astfel, valorile termenilor din acumulator cu adresele
determinate de punctele de pe cercurile Hough ( C1, C2, C3, C4, …) sunt crescute cu o unitate.
Valoarea max imă a acumulatorului reprezintă centrul O al cercului detectat, C .

3.3 Cazul razei necunoscute

În acest caz transformata Hough constă in determinarea a trei parametri ( a0, b0, r0) care
definesc puctele de interes de pe cerc. Aceste puncte se obțin prin căutarea punctului maxim din
acumulator. De această dată spațiul va fi tridimensional.
Pentru fiecare punct ( xi, yi) din spațiul I se va determina un con in spațiul H, determinat de
variația razei r de la 0 la o valoare specificată . După transformarea tuturor punctelor de pe contur
in același fel, intersecția acestora va determina o suprafață sferică care corepunde valorii maxime
a acumulatorului. Aria este caracterizată de centrul ( a0, b0) si de raza căutată r0.

fig. 3.4 . Transformarea unui punct în cazul utilizării transformatei Hough cu raza
necunoscută

15

3.4 Algoritmul pentru detecția pupilei cu ajutorul transformatei Hough circulară (THC)

Organigrama pe care se bazeză a lgoritmul pentru detecția pupilei cu ajutorul transformatei
Hough circulară (THC) este ilustrată în fig. 3.5
Deoarece în luc rarea de față se utilizează algoritmul THC pentru cazul razei necunoscute,
matricea acumulator este un tablou cu trei dimensiu ni, reprezentate de: coordonatele ( x0, y0) ale
imaginii și razele cerc urilor r care se testează în vederea determinării razei optime a cercului care
aproximează cel mai bine pupila .
Ecuția cercului poate fi scrisă în următoarea formă, caracterizată de ce de cei trei parametri
(x0, y0, r):
( ) ( ) (3.6)
În continuare se dorește a se detecta pupil a care se știe că are formă ciculară, informație
indispensabilă la aplicarea algoritmului Hough, deci, se ia în considerație acea sta referin ță în
tehnica de segmentare , de detecție a formei dorite . Fiecare pu nct de pe cerc afirmă ecuația (3.6)
unde centrul cercului este dat de și , aceastea sunt coor donatele centrului care urmează a se
detecta și raza cercului care este deasemenea necunoscută – . Se dorește a se afla cei trei
parametri, deci matricea acumulator va fi tridimensională. Mai întâi se vor de detecta contururile
pe imaginea binarizată (în cazul de față s -a detectat cu funcția edge din matlab – detectează
contururi folosind diverși operatori ), apoi fiecare punct de pe contur (în imaginea binarizată
fiecare pixel de valoare unu este pixel candidat pentru funcția houghcircl e) va purcede la
procesul de vo tare, returnând coordonatele sale x și y ca centrul unui cerc . Fiecare punct va vota
pentru m ultiple centre și pentru multiple raze . Desigur se poate l imita centrul pentru că se
cunoaște dimensiunea. De asemenea se poate limita intervalul de voturi pentru raze, pentru că se
cunoaște cât de voluminos poate fi obiectul care se caută în imagine. Pri n urmare se caută un
triplet ( , , ) care este determinat de numărul maxim de suprapuneri ale contururilor
cercurilor Hough . Astfel, acumalatorul iși incrementează valorile de la adresele punctelor de pe
cercurile Hough. Cele mai multe voturi pentru parametrii căutați va determina un maxim în
acumulator care reprezintă centrul cercului detectat.

Deoarece nu se cunoaște raza pupilei care urmează să se detecteze, algoritmul se execută
pentru un număr de 2n +1 valori de raze, în jurul valorii razei determinate în cadrul anterior.

16
Conform cu organigrama ilustrată în fig. 3.5 , etapele principale ale acestui algoritm
sunt reprezentate de:

1. Achiziția imaginii ochiului (imaginile statice ale ochiului) ;

2. Filtrarea imaginii ochiului;

3. Binarizarea imaginii ochiului prin segmentare cu prag fix (0.12) pentru imagini statice în
vederea extragerii pupilei (cu prag global/local adaptiv în funcție de condițiile de ilumin are,
pentru datele preluate in timp real cu o cameră in infrarșu) ;

4. Refacerea imaginii pupilei prin înlăturarea/diminuarea reflexiei corneene;

5. Extragerea conturului pupilei refăcute;

6. Se calculează matricea acumulator (un tabel de dimensiunea im aginii ) pentru toate valori le
razei, cuprinse în intervalui (rk-1 – n) și (rk-1 – n), unde rk-1 este valoarea optimă a razei pupilei,
determinată în cadrul anterior, k -1. Pentru primul cadru, valoarea razei este egală cu 27 pixeli,
determinată experimental. Pentru fiecare valoare de rază analizată, valoarea finală a matricei
acumulator se obține prin actualizarea iterativă a valorii acesteia pentru fiecare cerc generat prin
transformata Hough la parcurgerea întregi imagini.

7. Se determină valo area maximă a acumulatorului, care reprezintă coordonatele cercului
detectat, pentru fiecare valoare a razei din intervalul definit mai sus (în total sunt 2n + 1 raze). În
continuare, dintre toate aceste valori ale razei, trebuie determinată raza optimă, care aproximează
cel mai bine pupila.

8. Raza optimă corespunde valorii celei mai mari dintre toate valorile maxime aleacumulatorului
(corespunzătoare tuturor celor 2n+1 raze analizate), care reprezintă coordonatele cercului de rază
optimă, care aproximea ză cel mai bine pupila .

17

Nu
Filtare imagine ochi
Binarizare imagine ochi
Extragere contur pupilă
Acumulator ← contur_pupilă
raza = raza_ anterioară
Acumalator_max = Acumulator
i = 1
Achiziție imagine ochi
Se calculează Acumulator [raza(i)]
raza(i) = raza(i) – (n +1)
(xC, yC)optim= max[Acumulator_max(raza(i)]
i= i+ 1
raza_optim = raza( i)
xC, yC) = (xC, yC)optim
raza = raza_optim
STOP
i ≤ (2n+ 1)
max[Acumulator(raza( i)] > Acumulator_max
Start
Refacere imagine pupilă
Acumulator_max = max[Acumulator(raza(i)]
Da
Da
Nu

18
fig 3.5 Organigrama algoritmului pentru detecția pupilei cu ajutorul transformatei Hough
circulare

3.5 Transformata Hough pentru detecția elipselor
Se cunoaște ca transformata Hough poate fi aplicată pentru orice tip de curbă, care poate fi
descrisă parametrică astfel:

f (X, A) = 0 (3.7)

unde X este vectorul de poziție al punctului curent al curbei, iar A este vectorul de parametri, a
cărui dimensiune depinde de tipul curbei.
Prin urmare, pentru detecția cercurilor dintr -o imagine, avem o des criere cu trei parametri, ( x0,
y0, r) , cum s -a arătat in paragraful precedent (3.6).
Problema majoră care apare în aceste cazuri este reprezentată de dimensiunea mare ocupată
de matricea de acumulare, care devine un tablou cu trei dimensiuni pentru cazul cercului cu rază
necunoscută .
Elipsa este descrisa de 5 parametri ( x0, y0, a, b, ) , x0, y0 – coordonatele centrului elipsei, a –
semiaxa major ă , b – semiaxa minoră și respectiv , care reprezintă inclinarea elipsei față de
sistemul cartezian. Dacă s-ar implemeta transformata Hough cu toți acesti parametri, ar apărea
problema unui spațiu de stocare foarte mare , necesar matric ii de acumulare .
Pentru simplificarea analizei în cazul utilizării transformatei Hough pentru elipse se introduce
parametrul de mai jos:

(3.8)

Prin urmare, pentru detecția cercurilor dintr -o imagine, avem o descriere cu trei par ametri, ( x0,
y0, a, b ), de forma :

( )
( )
(3.9)

19
unde a și b reprezintă axele majoră și minoră ale elipsei.
Pupila poate fi aproximată cel mai bine printr -o elipsă. Atunci când p upila este plasată în
centrul scleroticei, imaginea acesteia prezintă o formă circulară, rezultând a = b și k = 1 .
Atunci când pupila este plasată la extremitățile laterale (stânga/dreapta) ale scleroticei,
imaginea acesteia devine eliptică, iar a < b, și k < 1 . Când pupila este plasată la extremitățile de
sus și jos ale scleroticei , imaginea acesteia devine de asemenea eliptică, dar în acest caz a > b si
k > 1 .
Conform cu transformata Hough pentru elipse, fiecare pixel în spațiul imaginii ( I)
corespunde unei elipse în spațiul Hough ( H) și invers. Toate punctele elipsei E din imagine sunt
transformate în mai multe elipse ( E1, E2, E3, E4, …) cu aceleași semiaxe, a și b, iar intersecția
acestora, O, reprezintă centrul elipsei detectate (fig 3.6 ). Coordonatele pe axa Oy ale celor două
puncte simetrice A și B (cu aceleași coordonate x0 pe axa Ox) de pe elipsa Hough E1 din
Fig. 3.6 sunt exprimate de următoarele ecuații:

{
(3.10)

în care ofsetul pe axa Oy este dat de:
√ ( )
(3.11)

Rezultatul transformatei Hough este stocat într -un tabel de dimensiunea imaginii numit
acumulator Hough. Pentru fiecare elipsă generată prin transformata Hough, valoarea
acumulatorului este actualizată. Astfel, valorile termenilor din acumulator cu adresele
determinate de punctele de pe elipsele Hough ( E1, E2, E3, E4, …) sunt crescute cu o unitate.
Valoarea maximă a acumulatorului reprezintă centrul O al elipsei detectate, E.

20

fig. 3.6 Reprezentarea grafică a principiuluitransformatei Houghpentru determinarea elipselor

Astfel, conform cu ecuația (3.8), pentru detecția elipselor cu ajutorul transformatei Hough,
matricea de acumulare poate fi reprezentată de un tablou cu patru dimensiuni: x0, y0 –
coordonatele centrului detectat al elipsei, a – semiaxa majoră a elipsei și raportul k, care
reprezintă rap ortul dintre semiaxa majoră și cea minoră a elipsei.

Prin utilizarea transformatei Hough pentru determinarea elipselor se îmbunătățește
semnificativ detecția pupilei, astfel:
– când pupila este plasată în centrul scleroticei, k = 1 și elipsa descrisă de ecuația ( 3.8)
devine un cerc de rază a, având coordonatele centrului x0, y0, iar matricea de acumulare prezintă
trei dimensiuni ( x0, y0, a); este cazul transformatei Hough pentru cercuri cu rază necunoscută
prezentat în Paragraful 3.3.
– când pupila este plasată la marginile laterale (stânga/dreapta) ale scleroticei, imaginea
acesteia poate fi aproximată printr -o elipsă cu k < 1 , iar matricea de acumulare prezintă patru
dimensiuni ( x0, y0, a, k);

21
– când pupila este plasată la marginile de sus și jos ale scleroticei, imaginea acesteia poate fi
aproximată printr -o elipsă cu k > 1 , iar matricea de acumulare prezintă de asemenea, patru
dimensiuni ( x0, y0, a, k).

Față de transformata Hough pentru cercuri, avantajul acestei metode constă în faptul că se
corectează semnificativ conturul detectat al pupilei, atunci când aceasta este plasată la
extremitățile (stânga, dreapta, sus, jos) scleroticei, deoarece în aceste cazuri aceasta este
aproximată printr -o elipsă, formă geometrică foarte apropiată de forma reală a pupilei.

3.6 Algoritmul pentru detecția cu ajutorul transfomatei Hough pentru elipse (THE)

Algoritmul pentru detecția pupilei cu ajutorul transformatei Hough pe ntru elipse (THE) se
bazează pe organigrama ilustrată în fig. 3.5 .

Deoarece, de această dată, se dorește determinarea elipsei optime, care aproximează cel mai
bine pupila, algoritmul THE se execută pentru un număr de 2n + 1 valori ale semiaxei majore
pentru fiecare valoare a raportului k în intervalul 0,6 – 1,3 (totalizând m valori). Aceasta
înseamnă că algoritmul se va executa de (m (2n+1) ) ori pentru fiecare imagine statică,
respectiv pentru fiecare cadru al imaginilor video preluate cu o cameră in infraroșu in cazul
prelucrării în timp real.
Timpul de execuție va crește foarte mult in acest caz si de aceea este importantă determinarea
valorilor optime pentru m și n, astfel încât algoritmul THE să poată fi rulat in timp real într -un
sistem de detecție a privirii. Se va considera că valoarea optimă a lui n este 3, iar pentru m se iau
valori echidistante in intervalul
0.6 – 1.3. Deci în total se vor testa un număr de 10 5 valori pentru imagine statică . Evident,
valorile lui m și n depind de puterea de procesare a unității de calcul disponibilă în sistemul
pentru detecția pr ivirii .
În acest caz se calculează matricea acumulator după metoda descrisă în Paragraful 3.5 pentru
toate valorile semiaxei majore a, cuprinsă în intervalul și (ak-1 – n) și (ak-1 + n), pentru fiecare
valoare a raportului k cuprins în intervalul 0,6 – 1,3, unde ak-1 este valoarea optimă a semiaxei
majore a elipsei care aproximează pupila, determinată în cadrul anterior, k – 1. Pentru primul
cadru, valoarea lui a este egală cu 27 pixeli, determinată experimental. Pentru fiecare valoare a
lui a și k, valoarea finală a m atricei acumulator se obține prin actualizarea iterativă a valorii
acesteia pentru fiecare elipsă generată prin transformata Hough la parcurgerea întregi imagini.

22
În continuare se determină valoarea maximă a acumulatorului, care reprezintă parametrii
elipsei detectate, pentru fiecare pereche a și k din intervalele definite mai sus (în total sunt m
(2n+1) valori testate). Dintre toate aceste valori, trebuie determinată perechea optimă, care
determină elipsa care aproximează cel mai bine pupil a.
Perechea optimă aoptim, koptim corespunde valorii celei mai mari dintre toate valorile maxime
ale acumulatorului (corespunzătoare tuturor celor m
(2n+1) valori analizate), care reprezintă
parametrii elipse optime, care aproximează cel mai bine pupila.

Acest algoritm este foarte asemănător cu cel prezentat în organigrama ilustrată în 3.7, cu
deosebirea că de această dată matricea acu mulator este un tablou cu patru dimensiuni,
reprezentate de: coordonatele ( x, y) ale imaginii, valoarea semiaxei majoră a a elipsei și valoarea
raportului k dintre semiaxa majoră și cea minoră (așa cum rezultă din ecuația ( 3.11)).
Pentru simplificarea reprezentării, în organigrama ilustrată în fig 3.7 , primele cinci etape ale
algoritmului, identice cu cele utilizate în cadrul algoritmului THC, nu sunt reprezentate.

23

Nu
Acumulator_max = Acumulator
i = 1
a(i) = a(i) – (n+1) + i
j = 1
START
Se calculează Acumulator [a(i), k(j)]
k(j) = k(j) + 
(xC, yC)optim= max{Acumulator_max [a(i), k(j)]}
(xC, yC) = (xC, yC)optim
semiaxa_majoră = semiaxa_majoră_optim
raport = raport_optim
STOP

max {Acumulator [a(i), k(j)]} > Acumulator_max
a = semiaxa_majoră_anterioară ; k =0.6
Acumulator_max = max{Acumulator [a(i), k(j)]}
Da
Da
Nu
semiaxa_majoră = a(I)raport_optim =k(j)
i= i+ 1
j ≤ m
i= i+ 1
i≤ (2n+ 1)

Da
Nu
Nu
Extragere contur pupilă
Acumulator ← contur_pupilă

24
fig 3.7 Organigrama algoritmului pentru detecția pupilei cu ajutorul transformatei Hough pentru
elipse

4. Reconstruc ția imaginii pupilei

În ceea ce privește urmărirea ochilor în spectrul infraroșu folosind tehnica pupilei întunecate ,
forma imaginii pupilei proiectate intr-o imagine 2D nu este perfect circulară. Forma și raza
acesteia depind de mai mulți factori, cum ar fi: poziția pupilei, condițiile de iluminare, reflexia
corneeană, clipirile involuntare, tremurul fiziologic al ochiului, etc .
Înlăturarea reflexiei corneene se face prin reconstrucții morfologice. Se determină zona
luminoasă de pe pupilă care reprezintă reflexia corneeană in cazul in care asceasta există în
imaginea prelucrată , se face o dilatare a imaginii care este o operație morfologică ce realizeză
creșterea arie i unei zone de „0” dintr -o imagine binară urmărind frontiera acesteia, pe exterior,
cu un element morfologic dat. În continuare, se umplu golurile corespunzătoare reflexiei
corneene, mai exact, umplerea este operația de colorare de imagine ce conțin pixel i cu același
nivel de gri . Folosind această operat ie morfologică , se poate realiza închiderea contururilor
formate din lanturi de muchii. Se urmareste obț inerea conturului obiectului de interes.
Din păcate , tehnica nu se poate utiliza in cazul în care reflexia corneeană se află pe conturul
pupilei.

Se prezintă in continuare secvența de program implementată in MATLAB cu care s -a realizat
reconstrucțiile morfologice ale pupilei:

img_BW = im2bw(img_filt,level); % convertește intensitate imaginii in 2
nivele: alb și negru

figure(2);imshow(img_BW);axis on;
title('Imaginea binarizata a pupilei detectate','FontSize',14, 'Font Weight'
,'bold');
set(gca, 'fontsize' ,14);

se90 = strel( 'line', 3, 90);
se0 = strel( 'line', 3, 0);
%reprezintă secvențe de structurare a elementelor prin netezirea morfologică

BWsdil = imdilate(~img_BW, [se90 se0]);
%dilata ~imaginea img_BW conform cu structurile morfologice definite mai sus

BWdfill = imfill(BWsdil, 'holes');
%umple regiunile de imagine demarcate de contur si gaurile

img_out=~BWdfill;

imgBW = edge(img_out);
% funcție ce are ca input o imaginea binarizată sau intensitatea acestei
imagini, și care returnează o altă imagine binarizată de aceeași dimensiune

25
ca și cea care i s -a dat ca intrare, cu biți de unu unde funcția detectează
contur și zero in rest.

figure(3),imshow(img_out); axis on;
title('Imaginea binarizata a pupilei refacute' ,'FontSize' ,14,'FontWeight' ,
'bold');

5. Structura hardware a unei interfețe pentru detectarea direcției privirii

În acest capitol se va descrie cum se poate construi un detector al direcției privrii la un preț
foarte mic (mai puțin de 50 €).
Soluția propusă a fost făcută din pie sele disponibile pe piață. Ramele de protecție a ochilor
reprezintă partea principală a designului. Un cablu de aluminiu care este un mâner pentru cablu
USB și modul ul de capturare este atașat la ochelarii de protecție. Modulul de capturare este
alcătuit din camerele modificate (LED LifeCam VX -1000) și leduri IR. Imaginea ochiului este
transmisă pe computer folosind conectorul USB. Construcția ochelarilor poate fi împărțită în trei
etape: crearea modulului de captare, montarea hardware -ului și crearea illuminării în infraroșu. O
listă de elemente care au fost utilizate în timpul construcției ochelari este prezentată în
următoarea imagine:

fig. 5.1 Elemente necesare: 1) t ub termocontractibil , 2)film negativ, 3)rezistori de carbon,
4)benzi de montare, 5) cablu de aluminiu, 6)leduri infraroșu 7)cameră web LifeCam VX -1000,
8)ochelari de protecție

5.1 Crearea modulului de capturare a imaginii
Modulul de capturare este reponsabil pentru furnizarea imaginii ochiului către calculator.

26
Este localizat aproape de ochi (aproape 5 cm), trebuie să fie cât mai mic posibil.

fig. 5.2 Dispozitiv de urmărire a privirii

Transformata Hough este un algoritm bazat pe prelucrarea imaginilor obținute în lumină
infraroșu. Camerele web disponibile pe piață lucrează în spectrul vizibil. Este necesar de a
modifica camera și de a monta un filtru adecvat care permite capturarea imaginilor in spectrul
infraroșu. Primul pas în modificarea a camerei web este dezansamblarea carcasei exterioare. (fig.
5.3 A) Cipul cu senzor fotosensibil și obiectivul camerei este amplasat în interior. Următorul pas
este îndepărtarea buton ului de funcții suplimentare aflat în partea superioară a carcasei și a
microfonului (fig. 5.3 B) . Pentru a scoate complet circuitul integrat, trebuie să deșurubeze două
șuruburi, să deconecteze cablurile conectorilor și să taie cablurile de alimentare ale microfonului
(fig. 5.3 C) . Acest circuit integrat este element ul central al modulului de captare în structura
ochelarilor. Funcția modulului de captare este de a transfera imaginile pe care le -a luat în
infraroșu unui computer. În obiectivul camerei trebuie instalat un filtru care oprește razele
luminii vizibile și care emite radiații infraroșu . (fig. 5.3) a fișează lentila defiletată a obiectivelor
Microsoft LifeCam VX -1000 cu filtru de lumină vizibilă încorporat (cutia din sticlă). Acesta
permite camerei web să capteze imagini într -un mo d similar cu ochiul uman. Filtrul a fost
eliminat. În loc de acesta este adăugat filtru infraroșu. Filtrele IR profesionale sunt re lativ
scumpe, de aceea ca o metodă alternativă se poate crea filtru infraroșu utilizat în construcția
modulului de captare di n film negativ. Această soluție academică nu pare însă foarte
profesională, totuși dă rezultatele dorite. În acest fel modulul de captare este gata.
În ultima etapă de extracție a unei camere web este să pregătească cablul de conectare a
modulului la computer. (fig 5.3G). În consecință, modificările actuale au primit o versiune
modul de capturare

27
minimalistă a camerei Microsoft LifeCam VX -1000 sub forma unui circuit integrat care va
înregistra imaginea în spectrul infraroșu..

fig. 5.3 Extracția camerei web Microsoft LifeCam VX -1000: A) Îndepărtarea carcasei B)
Îndepărtarea microfonului C) Demontarea circuitului integrat D) Modulul de captare E) Lentila
camerei cu un filtru al lumini vizibele F) Asamblarea filtrului infraroșu G) Îndepartarea carcasei
cablului H) Îndepărtarea elementel or inutile ale cablului

28

Mai jos se prezintă trei imagini ale ochiului în diferete spectre (fig. 5.4)

fig. 5.4 Ochiul obținut cu camera: A) fără modificări, B) fără filtre pentru spectrul vizibil, C) cu
filtru IR

5.2 Montarea hardware
Modificarea ochelarilor de protecție este partea principală a construcției. Acestă se face prin
tăiere acestora. În rama obținută se va monta un cablu de aluminiu. Modulul de captare se va
plasa la capăutul firului.

5.3 Iluminăria în infraroșu
Se va monta 3 ledu ri IR în modulul de captare . Modulul va fi în prealabil conectat la
calculator prin USB.

fig. 5.5 Diagrama de conectare a ledurilor
Pentru a calcula punctul de privire al utilizatorului este necesar a se face o mapare între poziția
ochiului și coordonatele punctelor de pe calculator. Maparea se face prin stabilirea unei relații

29
între poziția cunoscută a ochiului și poziția cunoscută de pe ecran. Procedura tipică în
metodologia de urmărire a ochilor este măsurarea acestei relații printr-o operație de calibrare .

6. Rezultate experimentale ale algoritmului pentru detecția pupilei cu ajutorul
transformatei Hough circulară (THC)

În cazul transformatei Hough așa cum s -a menționat și în capitolele anterioare,
procesarea imaginei se realizează pe bază de model. Deci algoritmul urmărește cel mai potrivit
model geometric al imaginii care urmează a fi detectat.
Simulările sau efectuat pe un două set de imagini statice ale ochiului în vederea
determinării preciziei algoritmului în situații diferite .
În caz ul algori tmului ce a proximează pupila cu un cerc , componenta software a
sistemului pentru detecția privirii utilizează transformata Hough c irculară (THC) cu rază
necunoscută. Principala problemă a acestei metode de detecție a direcției privi rii este aceea că în
realitate, forma imaginii pupilei nu este perfect circulară. Forma și raza acesteia depind de mai
mulți factori, cum ar fi: poziția p upilei, condițiile de iluminare, reflexia corneeană, clipirile
involuntare, tremurul fiziologic al ochiului, etc.
Algoritmul implementat pe baza transformatei Hough cu rază necunoscută se rulează
pentru un interval de valori ale razei pupilei în jurul valo rii determinate în cadrul anterior , având
ca valoare de start al razei anterioare egală cu 27 de pixeli, valoare determinată e xperimental.
Această metodă îmbunătățește semnificativ precizia determinării coordonatelor centrului pupilei,
dar cu prețul crește rii timpului de execuție al algoritmului . Acesta reprezintă principalul
dezavantaj al acestui algoritm și se datorează faptului că în cadrul aplicațiilor de detecție a
direcției privirii, raza cercului detectat prin transformarea Hough (care aproximează cel mai bine
conturul pupilei) nu este cunoscută. Se pune deci problema determinării numărului minim de
raze care trebuie testate în jurul valorii razei determinate în cadrul anterior, astfel încât precizia
algoritmului să nu scadă sub o valoare impusă.

6.1 Rezultatele experimentale ale algoritmului THC pe imagini statice ale ochiului

Algoritmul implementat testează pe 2 seturi de imagini statice: un s et de 184 de imagini
respectiv 4 0 de imagini (cu pupila plasate în diferite poziții ale ochiului) . Pentru fiecare imagine
se determină cu precizie conturul și centrul pupilei.

30
Pentru a aprecia precizia algoritmului , calitatea măsurării, este necesar a se determina
erorilor relative de poziționare ale centrului detectat al pupilei față de centrul real a l acesteia, pe
cele două axe ale sistemului de coordonate Cartezian cu ajutorul următoarelor ecua ții: (6.1),
(6.2).
( )
(6.1)

( )
(6.2)

unde , sunt erorile absolute de poziționare ale centrului detectat în sistemului de coordonate
Cartezian și se calculează cu următoarele ecuații (6.3), (6.4):
(6.3)
(6.4)

Pentru fiecare imagine, eroarea relativă a poziției centrului detectat al pupilei față de
poziția sa reală s -a calculat cu ajutorul ecuației : (6.5 )
( ) ( )
(6.5)
( ) ( ) este distanța
euclideana sau metrica euclidiana dintre centrul ideal și centrul detectat .

Pentru ambele seturi de imagini de test s -a calculat histograma erorilor relative de poziționare
ale centrului pupilei detectate față de poziția sa ideală în cazul utilizării algoritmului THC cu
rază necunoscută.

6.1.1. Rezultatele experimentale ale algoritmului THC pe ntru setul 1 de imagini

În următoarele figuri (fig. 6.1 .a), b ) se prezintă conturul ideal al pupilei și cel detectat de
algoritm, precum și centrul real al pupilei și cel detectat de algoritm, suprapuse peste imagini ale
ochiului conținând două pozițion ări (centrală și respectiv laterală) ale pupilei față de sclerotică.
Din rezultatele simulării se observă că atunci când pupila este plasată în centrul scleroticii,
eroarea relativă a poziționării centrului detectat al pupilei față de poziția sa sa reală este mai mică
(ε = 2.3970 %). În schimb , când pupila este plasată la una dintre marginile scleroticei această
eroare crește (ε = 3.3898 %), ca urmare a transpunerii cadrului într -o imagine 2D rezultă astfel o
formă eliptică a pupilei și în același timp se micșorează raza acesteia .

31

fig. 6.1 a) Conturul ideal al pupilei și cel detectat cu transformata Hough circulară pentru poziționarea centrală a
pupilei ( ε = 2.3970% ).

fig. 6.1 b) Conturul ideal al pupilei și cel detectat cu transformata Hough circulară pentru
poziționarea laterală a pupilei(ε = 5.3898% )

32
Algoritmul propus se bazează pe utilizarea transformatei Hough circulară cu rază necunoscută
ca urmare a faptului că raza pupilei variază de la o imagine la alta în timpul testelor sau în timpul
preluării imaginilor în ve derea unei prelucrări statice ulterioare, din diferite motive (condițiile de
iluminare, parametrii fiziologici ai ochiului, gradul de oboseală).
Pentru determinarea razei optime a cercului care aproximează cel mai bine conturul pupilei,
algoritmul este rulat pentru diferite seturi de valori posibile ale razei pupilei.
Astfel, pentru imagini statice ale ochiului, pentru fiecare imagine, se testează un număr de
valori posibile de raze, cuprinse în intervalul și , pentru 2n+1 valori posibile de raze, pentru
n=0,1,…,10 .
Rezultatele experimentale obținute pentru aceste valori testate sunt prezentate în restrâns în
tabelul 6.1.
Se preferă testarea unui număr determinat de raze (dependent de precizia necesară pentru
aplicație și puterea de procesare a unității de calcul) în vederea creșterii preciziei algoritmului în
cadrul aplicațiilor pentru detecția privirii timp real, tes tare care se face în jurul razei optime
determinată în cadrul anterior.
În figurile de mai jos (fig. 6.2 a) , 6.3 a) , 6.2 a)) se prezintă erorile relative ale centrului
detectat al pupilei față de centrele reale pe cele două direcții ale sistemului de coordonate
(determinate cu ajutorul ecuațiilor (6.1, 6.2) întregul set de imagini de test ș i distanțele
euclidiene dintre centrele detectate și cele ideale ale pupilei, pentru diferite valori ale numărului
posibil de raze analizate (3, 7, 11).
De asemenea (fig. 6.2 b), 6.3 b) , 6.2 b)) se reprezintă erorile relative medii ale centrului
pupilei detectate pe cele două direcții ale sistemului de coordonate ( , ), precum și eroarea
relativă medie de poziționare a centrului pupilei detect ate ( ) pentru diferite valori ale
numărului de raze testate (3, 7, 11).

33

fig. 6.2.a) Erorile relative ale centrului detectat al pupilei pe cele două direcții ale sistemului de coordonate și
distanțele euclidiene dintre centrele detectate și cele ideale ale pupilei pentru algoritmul THC cu rază necunoscută ( n
= 1; 3 raze testate; 0.5810%, 1.2059% )

fig. 6.2 a) Erorile relative de poziționare ale centrului pupilei detectate față de pozițiile sale ideale și histograma
acestora pentru întregul set de imagini de test în cazul algoritmului THC cu rază necunoscută (n = 1; 3 raze testate;
%)

34

fig. 6.3.a) Erorile relative ale centrului detectat al pupilei pe cele două direcții ale sistemului de coordonate și
distanțele euclidiene dintre centrele detectate și cele ideale ale pupilei pentru algoritmul THC cu rază necunoscută ( n
= 3; 7 raze testate; 0.5121 %, 1.2368 %)

fig. 6.3 b) Erorile relative de poziționare ale centrului pupilei detectate față de pozițiile sale ideale și histograma
acestora pentru întregul set de imagini de test în cazul algoritmului THC cu rază necunoscută (n = 3; 7 raze testate;
%)

35

fig. 6.4.a) Erorile relative ale centrului detectat al pupilei pe cele două direcții ale sistemului de coordonate și
distanțele euclidiene dintre centrele detectate și cele ideale ale pupilei pentru algoritmul THC cu rază necunoscută ( n
= 5; 11 raze testate; 0.5148 %, 1.0223 %)

fig. 6. 4b) Erorile relative de poziționare ale centrului pupilei detectate față de pozițiile sale ideale și histograma
acestora pentru întregul set de imagini de test în cazul algoritmului THC cu rază necunoscută ( n = 5; 11 raze testate;
%)

36
tabel 6.1. Erorile relative de poziționare ale centrului pupilei detectate față de pozițiile sale ideale în cazul
algoritmului THC cu rază necunoscută (raza inițială r = 27 pixeli) pentru setul 1 de imagini

n Nr. raze
testate
(2n+1)
(100%)
(100%)
(100%) Timp mediu
de execu ție
(procesor i3)
0 1 0.6637 1.6248
6.4765 2.2441

1 3 0.5810
1.2059 5.0529
2.2196
2 5 0.4921 1.1109 4.5671 2.6556
3 7 0.5121 1.2368 5.0499 2.3775
4 9 0.5182 1.2323 5.0850 2.5426
5 11 0.5148 1.0223 4.5820 2.5725
6 13 0.4863 1.2631 4.9643 3.1044
7 15 0.5060 1.1602 4.8595 3.2561
8 17 0.5060 1.1788 4.9017 3.6138
9 19 0.5060 1.1788 4.9049 3.5426
10 21 0.4535 1.3392 5.0234 4.0842

Conform cu rezultatele experimentale ilustrate în tabelul 6.1 se remarcă creșterea preciziei
algoritmului THC la creșterea numărului de raze testate într -un cadru, dar cu prețul creșterii
timpului de execuție al algoritmului.
Astfel se obser vă că cea mai performantă detecție a pupilei se realizează pentru n = 3 , când
se testează un număr de 7 raze pentru fiecare cadru.
Principala problemă a acestei metode de detecție a pupilei este reprezentată de creșterea
erorilor de detecție pentru s ituațiile în care pupila este plasată în marginile (stânga, dreapta, sus,
jos) scleroticei. În aceste situații, deoarece imaginea pupilei nu mai este circulară (fiind mai
apropiată de o formă eliptică), transformata Hough circulară determină creșterea eror ilor de
detecție, așa cum rezultă pentru cazul imaginii pupilei ilustrată în fig 6.1 b)
Rezultatele experimentale obținute pentru imagini statice ale ochiului ilustrează o detecție
precisă a centrului pupilei, confirmând posibilitatea utilizării acestui algoritm pentru detecția
direcției privirii în timp real pentru implementarea aplicațiilor în cadrul tehnologiilor asistive.
Viteza de rularea a algoritmului pe baza transformatei Hough poate fi crescută dacă se reduce
numărul de raze posibile ale pupilei, testate de algoritm pentru fiecare cadru furnizat de camera
video, astfel încât ero area relativă în poziționarea centrului pupilei să nu depășească anumite
limite impuse, dependente de aplicație.

37
6.1.2 . Rezultatele experimentale ale algoritmului THC pentru setul 2 de imagini

Algoritmul se testează și pentru un alt set de imagini în care în care apar surse de
zgomot după segmentarea imaginii, surse introduse de pixelii cu intensități foarte apropiate ca
valoare de cei ai pupilei.
S-a testat un nu măr de valori posibile de raze , pentru un num ăr de 2n + 1 raze, cuprinse
în intervalul (47 + n ) și (47 – n) pentru n=0:5.
De asemenea, segmentarea pe bază de histogramă nu mai este eficientă în cazul de față,
de aceea pentru elimina incertitudinea introdusă de această metodă, se aplică aplică segmentare
cu prag fix de valoare egală cu 0.04, prag care nu ar da roade pentru setul de imagini anterior.
Atunci când pupila este plasată în centrul scleroticii, eroarea relativă a poziționării
centrului detectat al pupilei față de poziția sa reală este mai mică ( ε = 2.39 70% ). În schimb, când
pupila este plasată la una dintre marginile scleroticei această eroare crește (ε = 3.3898% ).
Reprezentarea erorilor relative pentru numărul de raze testate egal cu 7 (n = 3) și 11 (n =
5 se ilustrează în figurile 6. 6 a) ,b) , repsectiv 6. 7 a) b).

fig. 6.5 a) Conturul ideal al pupilei și cel detectat cu transformata Hough circulară pentru poziționarea centrală a
pupilei (ε = 2.0725%)

38

fig.
fig 6.5 b) Conturul ideal al pupilei și cel detectat cu transformata Hough circulară pentru poziționarea laterală a
pupilei (ε = 6.5539%)

tabel 6.2 Erorile relative de poziționare ale centrului pupilei detectate față de pozițiile sale ideale în cazul
algoritmulu i THC cu rază necunoscută (raza inițială r = 47 pixeli) pentru setul 2 de imagini

n(cerc) Nr. de
semiaxe
majore testate
(2n+1)
(100%)
(100%)
(100%) Timp mediu
de execuție
(procesor i3)
0 1 5.2472 5.9557 22.0998 3.1896
1 3 5.6227 4.1308 17.5773 2.2597
2 5 5.6703 4.4259 18.3169 4.3970
3 7 1.3942 2.1132 7.1968 4.3108
4 9 1.4858 2.8096 9.3643 5.6456
5 11 1.4798 3.2255 10.3994 3.9281

39

fig. 6. 6.a) Erorile relative ale centrului detectat al pupilei pe cele două direcții ale sistemului de coordonate și
distanțele euclidiene dintre centrele detectate și cele ideale ale pupilei pentru algoritmul THC cu rază necunoscută ( n
= 3; 7 raze testate; 1.3942 %, 2.1132 %)
fig. 6.3
fig. 6.6 b) Erorile relative de poziționare ale centrului pupilei detectate față de pozițiile sale ideale și histograma
acestora pentru întregul set de imagini de test în cazul algoritmului THC cu rază necunoscută ( n = 3; 7 raze testate;
%)

40

fig. 6. 7.a) Erorile relative ale centrului detectat al pupilei pe cele două direcții ale sistemului de coordonate și
distanțele euclidiene dintre centrele detectate și cele ideale ale pupilei pentru algoritmul THC cu rază necunoscută ( n
= 5; 11 raze testate; 1.4798 %, 3.2255 %)

fig. 6. 7 b) Erorile relative de poziționare ale centrului pupilei detectate față de pozițiile sale ideale și histograma
acestora pentru întregul set de imagini de test în cazul algoritmului THC cu rază necunoscută ( n = 5; 11 raze testate;
%)

41
6.2 Rezultate experimentale ale algor itmului pentru detecția pupilei cu ajutorul
transformatei Hough pentru elipse (THE) pe imagini statice ale ochiului

Algoritmul de detecție pupilei cu ajutorul transformatei Hough pentru elipse a fost testat
pe aceleași două seturi de imagini statice ale ochiului ca și în paragraful anterior
Pentru fiecare imagine se determină cu precizie conturul și centrul pupilei, după cum
s-a arătat în paragraful 3. 6

6.2.1 Rezultatele experimentale ale algoritmului THC pentru setul 1 de imagini

În figurile (fig. 6.8 a), b) ) se prezintă conturul ideal al pupilei și cel detectat de algoritm,
precum și centrul real al pupilei și cel detectat de algoritm, suprapuse peste imag ini ale ochiului
conținând două poziționări (lateral dreapta și respectiv la marginea de sus) ale pupilei față de
sclerotică, atunci când pu pila prezintă o formă eliptică cu a < b (fig. 6.8 a ) și respectiv a>b (fig.
6.8 b)).
Conform cu (fig. 6.8 a ) când pupila este plasată în partea laterală a scleroticei, eroarea
relativă a poziționării centrului detectat al pupilei față de poziția sa reală este mai mică (ε =
3,88%) , decât în cazul utilizării transformatei Hough pentru cercuri pe o imagine cu pupila
plasată similar în laterală , caz ilustrat în (fig. 6.8 b)) .
Când pupila este plasată la marginea de sus a scleroticei (așa cum se arată în fig. 6.8 b))
eroarea relativă a poziționării centrului detectat al pupilei față de poziția sa reală este practic
nulă, evidențiind creșterea semnificativă a precizie algoritmului THE, față de algoritmul THC.
Deoarece testele se efectuează pe un număr semnificativ de imagini ale ochiului, cu
pupila plasată în diferite poziții și având diferite dimensiuni și forme (circulare sau eliptice),
eventual cu variații ale condițiilor de iluminare, precizia algoritmului trebuie apreciată cu
ajutorul metodelor de prelucrare statistică a rezultatelor experimentelor efectuate.

După cum s -a arătat în paragraful 3.5 , matricea acumulatorului este reprezentată de un
tablou cu patru dimensiuni ( x0, y0, a, k). Astfel, pentru imagini stati ce ale ochiului, pentru fiecare
imagine și pentru fiecare valoarea a raportului k cuprins în intervalul 0,6 – 1,3 se testează un
număr d e 2n + 1 valori posibile ale semiaxei majore a, cuprins în intervalul (27 – n) și (27 + n)
(27 fiind raza medie determinată experimental pentru setul de imagini testat ), pentru n = 0: 5.

42

fig. 6.8 .a) Conturul ideal și cel detectat cu transformata Hough pentru elipse pentru poziționarea pupilei în
partea dreaptă a scleroticei ( ε = 3,88% )

fig. 6.8 .b) Conturul ideal și cel detectat cu transformata Hough pentru elipse pentru poziționarea pupilei în
partea de sus a scleroticei ( ε = 0% )

43
Precizia algoritmu lui THE este cu atât mai bună cu cât se testează un număr mai mare
de valori ale parametrului k din intervalul menționat mai sus pentru un număr cât mai mare de
valori ale semiaxei majore a elipsei, a. Indiscutabil acest lucru va de termina creșterea
semnificativă a timpului de execuție al algoritmului. Din acest motiv, în aplicații le practice
trebuie realizat un compromis între precizia dorită a algoritmului și timpul de execuț ie al
acestuia. Astfel, în ceea ce privește valorile testate pentru semiaxa m ajoră a elipsei se va proceda
analog situației parametrului care reprezintă raza cercurilor testate în cazul algoritmului THC cu
rază necunoscută. Conform cu forma pupilei din setul de imagini de test, pentru a se aproxima
cât mai bine pupila printr -o elip să, valorile parametrului k trebuie să fie cuprinse în intervalul
cuprins între 0,6 – 1,3. Desigur că cu cât numărul de valori testate din aces t interval este mai
mare, cu atât va fi mai mare și precizia aproximării pupilei printr -o elipsă. În cadrul algor itmului
THE a cărui rezultate se vor prez eneta în continuare s-a considerat un număr de 15 valori
echidistante ale parametrului k din intervalul cuprins între 0,6 – 1,3.
În cazul în care k = 1 ( a = b) , este de remarcat faptul că se obține cazul particu lar al
algoritmului THC, când semiaxa majoră a elipsei este egală cu semiaxa minoră a acesteia și
atunci pupila detectată nu mai este o elipsă ci este un cerc.
Pentru determinarea parametrilor optimi ai elipsei care aproximează cel mai bine conturul
pupile i, algoritmul THE este rulat pentru 15 valori echidistante ale parametrului k și pentru
diferite seturi de valori posibile ale semiaxei majore a a pupilei eliptice, pornind de la o valoare
inițială egală cu 27 de pixeli, determinată experimental.
Rezultatele experimentale obținute pentru aceste valori testate sunt prezentate restrâns în
tabelul 6.3.
tabel 6.3 Erorile relative de poziționare ale centrului pupilei detectate față de pozițiile sale ideale în cazul
algoritmului THE cu rază necunoscută (raza inițială r = 27 pixeli) pentru setul 1 de imagini
n k = a/b Nr. de
semiaxe
majore
testate
(2n+1)
(100%)
(100%)
(100%) Timp
mediu de
execuție
(procesor
i3)
0 0,6:0,05:1,3 1 0.6008 1.5284 6.4840 2.2837
1 0,6:0,05:1,3 3 0.5226 0.9878 4.5868 2.3707
2 0,6:0,05:1,3 5 0.4223 0.8229 3.8853 2.5725
3 0,6:0,05:1,3 7 0.4122 0.7729 3.6732 2.6989
4 0,6:0,05:1,3 9 0.4086 0.7808 3.6686 3.150
5 0,6:0,05:1,3 11 0.4086 0.7426 3.5589 3.7182

44
În vederea creșterii preciziei algoritmului în cadrul aplicațiilor pentru detecția privirii în
timp real se preferă testarea unui număr determinat de semiaxe majore (dependent de precizia
necesară pentru aplicație și puterea de procesare a unității de calcul), în jurul valorii optime a
semiaxei majore, determinată în cadrul anterior.
În (fig. 6.9 a)) se prezintă erorile relative ale centrului pupilei detectate față de centrele
reale pe cele două direcții ale sistemului de coordonate (determinate cu ajutorul ecuațiilor 6.1,
6.2) pentru întregul s et de imagini de test și distanțele euclidiene dintre centrele detectate și cele
ideale ale pupilei, pentru 15 valori echidistante ale parametrului k, pentru fiecare valoare a
semiaxei majore a dintr -un număr total de 7 valori analizate ( n = 3).
În (fig. 6. 9 b)) se prezintă erorile relative de poziționare ale centrului pupilei detectate
față de pozițiile sale ideale, precum și histograma acestora pentru întregul set de imagini de test
în cazul algoritmului THE, calculate cu ajutorul ecuației (6.5), pentru 15 valori echidistante ale
parametrului k, pentru fiecare valoare a semiaxei majore a dintr -un număr total de 7 valori
analizate ( n = 3).
De asemenea, pentru întregul set de imagini de test se re prezintă erorile relative medii
ale centrului pupile i pe cele două direcții ale sistemului de coordonate ( ), precum și eroarea
relativă medie de poziționare a centrului pupilei detectate ( ) pentru 15 valori echidistante ale
parametrului k, pentru fiecare valoare a semiaxei majore a dintr-un număr total de 7 valori
analizate ( n = 3).

45

fig. 6.9 .a) Erorile relative ale centrului detectat al pupilei pe cele două direcții ale sistemului de coordonate
și distanțele euclidiene dintre centrele detectate și cele ideale ale pupilei pentru algoritmul THE
(n = 3; 7 valori ale lui a testate; k = 0,6:0,05:1,3 ; 0.4122 %, 0.7729 %)

fig. 6.9 .b) Erorile relative de poziționare ale centrului pupilei detectate față de pozițiile sale ideale și histograma
acestora pentru întregul set de imagini de test în cazul algoritmului THE (n = 3; 7 valori ale lui a testate; k =
0,6:0,05:1,3 ; )

Conform rezultatelor experimentale ilustrate în tabelul tabelul 6.3 se remarcă creșterea
semnificativă a preciziei algoritmului THE față de algoritmul THC.
De asemenea, se remarcă creșterea preciziei algoritmului la creșterea numărului de
parametri testați într -un cadru, dar cu prețul creșterii timpului de execuție al algoritmului.
Prin urmare se observă că cea mai performantă detecție a pupil ei se realizează pentru n =
3 , când se testează un număr de 7 valori ale semiaxei majore a elipsei, pentru 15 valori
echidistante ale parametrului k într-un cadru.
Algoritmul THE determină îmbunătățirea semnificativă a preciziei detecției pupilei
pentru situațiile în care aceasta este plasată la extremitățile scleroticei (când aceasta devine
eliptică) față de situațiile similare analizate cu algoritmul THC.
Rezultatele experimentale obținute pentru imagini statice ale ochiului ilustrează o
detecție foarte precisă a centrului pupilei, dar cu prețul creșterii semnificative a timpului de
execuție al algoritmului.

46
6.2.2 Rezultatele experimentale ale algoritmului THC pentru setul 2 de imagini

În continuare, pentru setul 2 de imagini, se prezintă în figurile ( fig. 6. 10 a), b) ) conturul
ideal al pupilei și cel detectat de algoritm, precum și centrul real al pupilei și cel detectat de
algoritm, în două poziționări diferite ale pupilei (lateral stânga și respectiv la marginea de sus)
față de sclerotică, atunci câ nd pu pila prezintă o formă eliptică cu a < b (fig. 6. 10 a) și respectiv a
> b (fig. 6. 10 b)).
Și de acestă dată se observă un rezultat mai bun în cazul în care pupila este plasată (fig.
6.10 a) în partea laterală stângă a scleroticei, eroarea relativă a poziționării centrului detectat al
pupilei față de poziția sa reală este mai mică (ε = 3.277%), decât în cazul utilizării transformatei
Hough pentru cercuri pe aceeași imagine, caz ilustrat în (fig 6.5 b)) ) .
În continuare se prezintă analiza statistică pe baza calculului erorilor relativ e pentru
întreg setul de imagini pentru pentru 15 valori ale parametrului k, pentru fiecare valoare a
semiaxei majore a dintr -un număr total de 7 valori analizate ( n = 3).

fig. 6.10 .a) Conturul ideal și cel detectat cu transformata Hough pentru elipse pentru poziționarea pupilei
în partea stângă a scleroticei ( ε = 3.277 %)

47

fig. 6.10 .b) Conturul ideal și cel detectat cu transformata Hough pentru elipse pentru poziționarea pupilei
în partea de sus a scleroticei ( ε = 2.9310% )

fig. 6. 11.a) Erorile relative ale centrului detectat al pupilei pe cele două direcții ale sistemului de
coordonate și distanțele euclidiene dintre centrele detectate și cele ideale ale pupilei pentru algoritmul THE
(n = 3; 7 valori ale lui a testate; k = 0,6:0,05:1,3 ; 1.4887 %, 2.1158 %)

48

fig. 6. 11 b) Erorile relative de poziționare ale centrului pupilei detectate față de pozițiile sale ideale și histograma
acestora pentru întregul set de imagini de test în cazul algoritmului THC cu rază necunoscută ( n = 3; 7 raze testate;

tabelul 6.4 . Erorile relative de poziționare ale centrului pupilei detectate față de pozițiile sale ideale în cazul
algoritmului THE (raza inițială r = 47 pixeli) pentru setul 2 de imagini

n k = a/b Nr. de
semiaxe
majore
testate
(2n+1)
(100%)
(100%)
(100%) Timp mediu
de execuție
(procesor
i3)
0 0,6:0,05:1,3 1 1.7376 4.6957 14.7136 3.6832
1 0,6:0,05:1,3 3 1.2158 3.0607 9.8414 4.3729
2 0,6:0,05:1,3 5 1.2957 2.4533 8.2540 6.4299
3 0,6:0,05:1,3 7 1.4887 2.1158 7.6905 5.6505
4 0,6:0,05:1,3 9 1.4988 1.7877 6.8603 8.7313
5 0,6:0,05:1,3 11 1.2525 1.7830 6.3376 10.4704

49

Pentru utilizarea acestui algoritm în cadrul aplicațiilor pentru detecția privirii în timp real
este necesară utilizarea unei unități de calcul foarte performantă și/sau scăderea numărului de
parametri testați într -un cadru.
Conform rezultatel or prezentate, în vederea creșterii vitezei de execuție a algoritmului
THE se poate reduce numărul de valori testate pentru parametrul k în jurul valorii 1, păstrându –
se numărul de 7 valori testate pentru parametrul a, care determină detecția optimă a pupilei, așa
cum rezultă din valorile experimentale obținute pentru ambii algoritmi , respectiv pentru ambele
seturi de imagini (1 și 2) , ilustrate în tabele (tabel 6.1 , tabel 6.2 ) , respectiv (tabel 6 .3, tabel
6.4) . Astfel, numărul de valori testate pentru parametrii a și k se aleg în funcție de precizia
dorită a algoritmului pentru detecția pupilei în timp real și de puterea de procesare a unității de
calcul disponibilă în cadrul sistemului.
În fig. 6.12 se prezintă comparativ rezultatele erorilor medii de poziționare ale centrului
pupilei detectate față de pozițiile sale reale, obținute în cazul ambilor algoritmi pentru detecția
pupilei, pe baza transformaei Hough circulară și pentru elipse.

Conform cu rezultatele ilustrate în fig…. se observă scăderea erorii medii de poziționare a
centrului pupilei detectate față de poziția sa reală la creșterea numă rului de raze testate într -un
cadru în cazul algoritmului THC. Binențeles că acest lucru are ca consecin ță creșteri a timpului
de execuție al algoritmului la creșterea numărului de raze testate într -un cadru. Scăderea erorii se
realizează până la o valoare minimă (corespunzătoare lui n = 3) după care aceasta rămâne
aproximativ constantă, observându -se chiar o ușoară creștere a erorii pentru valori foarte mari ale
lui n > 9. Când se testează un număr foarte mare de raze este posibil ca valoarea maximă
acumulatorului să nu corespundă centrului cercului optim, care aproximează cel mai bine pupila,
ci unui alt cerc de rază mai mică sau eventual mai mare (deoarece acesta poate conține un număr
mai mare de puncte obținute prin aplicarea transformate Hough) a l cărui centru va fi în acest caz
diferit f ață de centrul real al pupilei. C azurile corespunzătoare lui n>3 nu prezintă aplicativitate
practică, datorită creșterii semnificative a timpului de execuție al algoritmului, cu menținerea
aproximativ constantă a erorii de detecție.
Conform cu rezultatele experimentale ilustrate în fig…. se observă că eroarea medie minimă
de poziționare a centrului pupilei detectate față de poziția sa ideală se obține pentru n = 3 când se
testează un număr total de 7 raze.

50
În fig… se prezintă erorile medii de poziționare ale centrului pupilei detectate față de pozițiile
sale reale pentru algoritmul THE în funcție de numărul de semiaxe majore testate.
Se observă o scăderea semnificativă a erorilor de poziționare ale centrului pupilei detectate
față de cele obținute în cazul utilizării algoritmului THC ( fig…, dar pe seama creșterii
semnificative a timpului de execuție al algoritmului, așa cum rezultă din tabelul…
Conf orm cu rezultatele ilustrate în fig…. se observă că ș i în acest caz, eroarea minimă de
poziționare a centrului pupilei detectate față de poziția sa reală se obține pentru n = 3 , când
se testează un număr de 7 valori pentru semiaxa majoră a elipsei.
Situațiile corespunzătoare lui n> 3 nu prezintă aplicativitate practică datorită creșterii
semnificative a timpului de execuție al algoritmului.

Concluzii:
Algoritmul de față demonstrează o precizie foarte bună pentru imagini cu o acuratețe înalt ă și în
același timp se observă o îmbunătățire dramatică atunci când este rulat pe un sistem de calcul
mai mult mai performant (vezi anexele 1, 2 rezultate procesor i7).
Pe de altă parte, pentru imagini în care apar nuanțe cu aceeași intensitate ca a p upilei (gene,
sprâncene) nu s -a mai aplicat segmentarea pe bază de histogramă ci s -a aplicat un prag de
segmentare fix de 0.4. Cu toate acestea, s -a observat o detecție mai slabă în comparație cu
imaginile în care genele și sprâncenele nu reprezintă o pro blemă.

51

Bibiografie:
ALGORITMI PENTRU DETECȚIA PUPILEI CU AJUTORUL
TRANSFORMATEI HOUGH

Digital Image Processing Using Matlab_complet
Rafael C. Gonzalez, Richard. Woods, Steven L. Eddins

Circular Hough Transform for Iris localization
Noureddine Cherabit, Fatma Zohra Chelali, Amar Djeradi

Circle Detection Using Hough Transforms Documentation
COMS30121 – Image Processing and Computer Vision
Jaroslav Borovi ̌ka

openEyes: a low -cost head -mounted eye -tracking solution
Donghen g Li, Jason Babcock, and Derrick J. Parkhurst
The Human Computer Interaction Program
Iowa State University, Ames, Iowa, 50011

Starburst: A robust algorithm for video -based eye tracking
Dongheng Li, Derrick J. Parkhurst
Human Computer Interaction Program
Iowa State University, Ames, Iowa, 50011

Development of an untethered, mobile, low -cost head -mounted eye tracker

52
Elizabeth S. Kim, Carla Wall Linda Friedlaender , Adam Naples , Michael Perlmutter , Jennifer
Kowitt , Giuliana Vaccarino Gearty , Fred Volkmar , Frederick Shic , Quan Wang , Seth Wallace

How to build low cost eye tracking glasses for head mounted system
Michał Kowalik
Faculty of Computer Science and Information Technology The West Pomeranian University of
Technology, Szczecin Poland September 2010

Anexe

Anexa 1
Erorile relative de poziționare ale centrului pupilei detectate față de pozițiile sale ideale în cazul
algoritmului THC cu rază necunoscută (raza inițială r = 27 pixeli
n Nr. de
semiaxe
majore testate
(2n+1)
(100%)
(100%)
(100%) Timp mediu
de execuție
(procesor i7 )
0 1 0,4505 1,897
5,892

0,0113

1 3 0,4484 1,6808
5,7115
0,0141

2 5
0,3798
1,0687
3,9315
0,0172

3 7
0,3785 0,7803
3,5351
0,0201

4 9 0,351
0,8452
3,4844
0,0231

5 11 0,3402
0,9721
3,7177
0,0268

6 13 0,3291
1,0619
3,9319
0,0293

53
7 15 0,3291
1,0619
3,9319
0,0323

8 17 0,3291
1,0619
3,9319
0,0351

9 19 0,3118
1,3786
4,5391
0,0377

10 21 0,3334
1,1797
4,2347
0,0415

Anexa 2
Erorile relative de poziționare ale centrului pupilei detectate față de pozițiile sale ideale în cazul
algoritmului THE (raza inițială r = 27 pixeli)
n k = a/b Nr. de
semiaxe
majore
testate
(2n+1)
(100%)
(100%)
(100%) Timp mediu
de execuție
(procesor
i7)
0 0,6:0,05:1,3
1 0,3664
1,9636
6,2881
0,0274

1 0,6:0,05:1,3 3 0,307
1,2001
4,371
0,0644

2 0,6:0,05:1,3 5 0,2184
0,9302
3,2447
0,104

3 0,6:0,05:1,3 7 0,2188
0,6844
2,4755
0,1419

4 0,6:0,05:1,3 9 0,2121
0,6999
2,483
0,1787

5 0,6:0,05:1,3 11 0,2056
0,6872
2,4417
0,2173

Similar Posts