5. Localização 3D -...

24
Interface com computador por Controlo Visual de Cursores Rui Meireles Página 65 07-2002 5. Localização 3D Após a estimação das elipses que melhor aproximam o contorno de cada olho e de ter realizado correctamente todos os passos da calibração do sistema pode-se proceder à Localização Tridimensional do contorno da íris. A fase da Calibração necessitará também de um resultado da estimação das elipses, quando se calibra o sistema para o diâmetro dos olhos do utilizador. De seguida a direcção do olhar é determinada e o ponto do ecrã observado é calculado. A Fig. 125 mostra o diagrama funcional desta fase. Calibração do sistema Localização 3D da íris Determinação da direcção do olhar Fig. 125 - Diagrama Funcional da Localização 3D Como foi referido anteriormente, se se considerar que o contorno da íris de um olho humano forma uma circunferência, é possível determinar a posição (relativamente à câmara) do plano que contém esta circunferência, efectuando uma análise às projecções desta circunferência no plano imagem. Obviamente, para efectuar a localização 3D deve-se conhecer antecipadamente os parâmetros intrínsecos da câmara que capturou a imagem. O primeiro objectivo desta etapa será assim determinar qual a localização da circunferência que gerou cada uma das elipses estimadas. Mais uma vez se relembra que a projecção de uma circunferência num plano forma uma elipse (Fig. 126), excepto se este plano for paralelo ao plano que contém a circunferência – neste caso projecta-se uma circunferência. Os segmentos ou curvas só aparecerão projectados em verdadeira grandeza caso sejam paralelos ao plano onde estão a ser projectados.

Transcript of 5. Localização 3D -...

Page 1: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 65 07-2002

5. Localização 3D Após a estimação das elipses que melhor aproximam o contorno de cada olho e

de ter realizado correctamente todos os passos da calibração do sistema pode-se proceder à Localização Tridimensional do contorno da íris. A fase da Calibração necessitará também de um resultado da estimação das elipses, quando se calibra o sistema para o diâmetro dos olhos do utilizador. De seguida a direcção do olhar é determinada e o ponto do ecrã observado é calculado. A Fig. 125 mostra o diagrama funcional desta fase.

Calibração dosistema

Localização3D da íris

Determinaçãoda direcção do

olhar

Fig. 125 - Diagrama Funcional da Localização 3D

Como foi referido anteriormente, se se considerar que o contorno da íris de um

olho humano forma uma circunferência, é possível determinar a posição (relativamente à câmara) do plano que contém esta circunferência, efectuando uma análise às projecções desta circunferência no plano imagem. Obviamente, para efectuar a localização 3D deve-se conhecer antecipadamente os parâmetros intrínsecos da câmara que capturou a imagem.

O primeiro objectivo desta etapa será assim determinar qual a localização da circunferência que gerou cada uma das elipses estimadas.

Mais uma vez se relembra que a projecção de uma circunferência num plano

forma uma elipse (Fig. 126), excepto se este plano for paralelo ao plano que contém a circunferência – neste caso projecta -se uma circunferência. Os segmentos ou curvas só aparecerão projectados em verdadeira grandeza caso sejam paralelos ao plano onde estão a ser projectados.

Page 2: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 66 07-2002

Fig. 126 - Projecção de uma circunferência num plano não paralelo a esta

Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

diâmetro da circunferência. Este diâmetro é o único da circunferência cujos pontos estão todos à mesma distância do plano da projecção, e por isso será projectado como o eixo maior da elipse.

Na realidade a perspectiva é cónica, isto é, os raios projectantes não são

paralelos mas sim rectas concorrentes no centro da lente. Isto resulta numa deformação de perspectiva proporcional à distância à lente. Assim objectos mais longínquos terão as dimensões da sua projecção mais atenuados que os mais próximos (Fig. 127). Desta forma não se formaria uma elipse, visto que existiria um arco da circunferência mais próximo do observador e um mais longínquo, e este último sofreria uma deformação de perspectiva maior.

Page 3: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 67 07-2002

Fig. 127 - Deformação da perspectiva do objecto em função da distância

Se a distância do objecto à câmara for suficientemente grande (Ponto de vista 4)

pode-se aproximar a projecção cónica por uma projecção com raios projectantes paralelos. A única alteração será a figura projectada sofrer um factor de escala igual para todos os pontos do objecto. Neste caso a projecção de uma circunferência aproximar-se-ia de uma elipse (Fig. 128).

Contudo, como o ângulo formado pelo plano imagem e o plano que contém o

contorno do olho nunca é muito grande (não se aproxima dos 90º) e como as dimensões do olho são muito pequenas relativamente à sua distância à câmara, pode -se considerar que, para efeitos de projecção na imagem, só existiu deformação devido à inclinação da circunferência, e não devido a esta ter pontos mais longínquos que outros. Assim, na análise utilizada não se considera o efeito da perspectiva na deformação da circunferência, aproximando a projecção por uma com raios projectantes paralelos e com factor de escala constante. Deste modo considera-se que o efeito da distância do olho ao plano imagem resulta apenas numa deformação directamente proporcional para todos os pontos do contorno

Page 4: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 68 07-2002

Fig. 128 - Projecção da circunferência por raios projectantes paralelos

A cons ideração da existência de deformação devido à distância só poderia ser

feita caso se tivesse uma resolução elevadíssima na zona dos olhos, e consequentemente não se poderia fazer uma estimação de elipses, visto a curva resultante não ser uma cónica. Mas caso se implementasse um sistema com o mesmo princípio de funcionamento com uma câmara muito próxima do olho talvez a aproximação realizada não fosse adequada.

Partindo dos pressupostos assumidos anteriormente foi feita a localização

tridimensional das elipses detectadas para cada olho, isto é, foi “desenhada” no espaço 3D uma elipse paralela à câmara (Fig. 129), de dimensões proporcionais à estimada cuja dimensão do eixo maior é igual ao diâmetro olho (já conhecido).

Page 5: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 69 07-2002

Fig. 129 - Elipse (cinzento) e circunferência que a gerou (azul)

Como já foi explicado, o eixo maior da elipse corresponde ao único diâmetro da

circunferência cujos extremos têm a mesma distância à câmara Zc (e por isso o único diâmetro que apareceria em verdadeira grandeza numa projecção por raios projectantes paralelos).

Agora terá que ser realizada a tranformação de perspectiva inversa, de modo a

localizar no sistema referencial da câmara a elipse estimada na imagem. Assim, partindo das coordenadas pixel do centro e os extremos do eixo maior da elipse, foram calculadas as suas coordenadas normalizadas xn, compensando a distorção provocada pela lente, do modo referido na parte da Calibração. Foram também calculadas as coordenadas normalizadas das dimensões dos eixos da elipse.

Como já é conhecido o comprimento do diâmetro do olho (diam_olho), medindo

a dimensão normalizada do eixo maior da elipse estimada (eixo_maior_n ) pode-se calcular a distância real deste eixo à câmara Z c. Isto porque se sabe que o eixo maior da elipse corresponde ao único diâmetro da circunferência numa posição frontal à câmara.

)__/_( nmaioreixoolhodiamfZ c = ( 14 )

onde f(x) é a função linear estimada na fase de Calibração que relaciona o inverso do tamanho normalizado dos objectos frontais na imagem com a sua distância à câmara.

Como agora é conhecida uma das coordenadas câmara que é comum a todos os

pontos da elipse (Zc) é possível descobrir as coordenadas câmara do centro e dos extremos do eixo maior da elipse, partindo das suas coordenadas normalizadas.

=⇒

=

=

c

c

c

ccc

ccn

Z

Zy

Zx

XXy

x

ZY

ZXx *

*

/

/ ( 15 )

Definiram-se os vectores v1 e v2 como vectores tridimensionais do referencial da câmara do semi-eixo maior e menor da elipse que se “afastam” do seu centro,

Page 6: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 70 07-2002

respectivamente (Fig. 130). v1 será facilmente determinado subtraindo a coordenada de um ponto extremo do eixo maior P1 pela coordenada do centro C.

=

=

01

1

1

1

1

1 yy

xx

z

y

x

PC

PC

vv

v

v ( 16 )

Fig. 130 - Vectores dos semi-eixos

v2 será então um vector perpendicular a v1 com norma tal que a relação entre os

eixos maior e menor da elipse detectada na imagem seja respeitada. Assim constrói-se previamente um vector com a mesma norma de v1 mas de modo que o seu produto escalar com v1 seja zero (para serem perpendiculares) e multiplica-se esse vector quociente dos eixos. Virá então:

pmaioreixopmenoreixo

v

v

v

v

v x

y

y

x

____

*

001

1

2

2

2

−=

= ( 17 )

De facto o produto escalar 0*** 21212121 =++=• zzyyxx vvvvvvvv , logo v1 e v2

são perpendiculares. Conhecido v2 determinam-se os extremos do eixo menor da elipse. Agora que a elipse está completamente definida no espaço tridimensional falta

determinar a circunferência que a gerou. Sabe -se que o eixo maior da elipse é coincidente com um diâmetro da circunferência. Agora basta determinar a orientação do plano que contém a circunferência baseado na deformação (excentricidade) da elipse.

v1 será também um vector do raio da circunferência que se afasta do seu centro.

Pretende-se agora achar o vector v2r que é perpendicular a v1, que tem a mesma norma que este vector, e que pertence ao plano que contém a circunferência.

Page 7: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 71 07-2002

É fácil determinar v2r se se reparar que as suas coordenadas v2xr e v2ry são iguais às do vector v2.

=

=

rz

y

x

rz

ry

rx

r

vv

v

vv

v

v

2

2

2

2

2

2

2 ( 18 )

v2r tem apenas uma terceira coordenada Zc da dimensão necessária para v2r ter a mesma norma que v1. Assim determina-se esta coordenada em falta igualando as normas dos dois vectores.

22

22

21

21

212

21

21

21

22

22

22

21

21

21

22

22

22

)()()()()(

)()()()()()(

)()()()()()(

yxzyxrz

zyxrzyx

zyxrzryrx

vvvvvv

vvvvvv

vvvvvv

−−++=⇔

⇔++=++⇔

⇔++=++

( 19 )

Agora é necessário ter cuidado com a escolha do sinal a atribuir a esta última coordenada de v2r. Se se trocar o sinal de uma das coordenadas do vector v2r o plano da circunferência ficaria com uma orientação diferente da desejada.

Quer através de uma observação cuidada, ou recorrendo à utilização de Mapas

de Karnaugh, depreende-se que, de modo a que a circunferência represente um olho a olhar para cima a coordenada v2rz deve ter sinal contrário de v2ry.

Y Z + –

+ – + X – – +

Fig. 131 - Sinal da coordenada Z de v2r

Tendo determinados dois vectores (v1 e v2r) colineares com o plano que contém a

circunferência é possível determinar um vector v_direcção que indique a direcção do olhar. Esse vector deverá ser perpendicular ao plano que contém a circunferência, e por isso perpendicular a todos os vectores colineares com esse plano (Fig. 132).

Page 8: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 72 07-2002

Fig. 132 - A direcção perpendicular ao olho

Utilizando o produto vectorial entre v1 e v2r determinar -se-á um vector

perpendicular a ambos. Este vector indica a direcção do olhar.

==×=

rzryrx

zyx

zyx

r

vvv

vvvêêê

vvdirecçãov

222

11121_ ( 20 )

)**(*)**(*)**( 212121212121 rxyryxyrzxrxzxryzrzy vvvvêvvvvêvvvv −+−+−=

É ainda necessário garantir que este vector tem o sentido correcto, pois ele tanto pode apontar para o ecrã do monitor como ter o sentido contrário. Neste caso a solução é simples: a coordenada v_direcção z deve ser negativa, de modo a que o vector tenha a direcção e o sentido pretendidos (Fig. 133). Caso esta coordenada seja positiva, utiliza-se o vector simétrico ao encontrado.

Page 9: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 73 07-2002

Fig. 133 - A direcção perpendicular ao olho (vista detrás da câmara)

Agora falta definir a equação da recta normal à circunferência e intersectá-la

com o plano do ecrã. Para isso converte-se as coordenadas câmara XXc do centro da circunferência e do vector direcção para o sistema coordenado do ecrão XXe, usando as matrizes de transformação Rce e Tce determinadas na calibração dos parâmetros extrínsecos da câmara.

TceXXRceXX ce += * ( 21 )

Desta forma obtém-se o centro da circunferência Ce e também o vector direcção v_direcção e em coordenadas ecrã. A partir destes é possível construir a equação paramétrica da recta do raio visual.

ℜ∈

+

=

k

direcçãovdirecçãov

direcçãov

kCC

C

ZY

X

ez

ey

ex

ez

ey

ex

e

e

e

,__

_

* ( 22 )

Page 10: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 74 07-2002

Fig. 134 - A intersecção do raio visual com o ecrã

O ponto onde esta recta intersectar o plano do ecrã será o ponto observado (Fig.

134). Mas esse ponto terá a coordenada Z e nula. Dessa forma determina-se facilmente o valor de k e daí deduz-se as restantes coordenadas do ponto.

ez

ez

direcçãovC

k_

0 −= ( 23 )

Obtidas as coordenadas (em milímetros) do ponto observado relativamente ao referencial determinou-se as coordenadas ecrã normalizadas. Estas coordenadas são bidimensionais (xen, yen), e são obtidas através de uma simples transformação linear de modo a que o centro do ecrã tenha coordenadas (0;0) e tanto a gama horizontal como a vertical var ie entre –1 e +1. O objectivo é poder desenhar por software correctamente o ponto observado no ecrã (Fig. 135).

Fig. 135 - O ponto observado

Obviamente, este desenho deverá ser realizado num ecrã das mesmas dimensões

daquele utilizado durante a captura das imagens, sob pena de não mostrar o ponto no local correcto. Embora não precisem de ser conhecidas as dimensões do ecrã para determinar o ponto observado (as coordenadas deste são expressas em milímetros, sendo a origem do referencial o canto superior esquerdo do ecrã), os seus valores terão

Page 11: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 75 07-2002

que ser fornecidos ao sistema de modo a desenhar correctamente no ecrã o ponto observado.

Embora ainda não tenha sido referido, caso se usem várias imagens para a

determinação dos parâmetros extrínsecos da câmara (recomendado), esta fase calcula o ponto observado usando cada par de matrizes de transformação de coordenadas (Tce, Rce) resultantes de cada uma das imagens de calibração. No final o ponto observado será a média dos pontos determinados usando cada uma das transformações.

Depois da determinação do ponto observado usando as imagens de cada um dos

olhos, a decisão final será a média dos pontos originados por cada um deles. Desta forma compensa-se ligeiramente pe quenos erros que possam ter resultado de uma não tão boa determinação da elipse de um olho. Obviamente, caso se saiba que um dos olhos foi mal detectado (elipse com dimensões bastante diferentes, ou demasiado achatada) o processo da determinação do olhar e o resultado final serão realizados apenas usando o outro olho.

Esta fase, sendo constituída apenas por cálculos algébricos, não adiciona erros à

determinação da localização do olhar. Todas as diferenças existentes entre a solução final e a ideal serão originadas por resultados de outras fases do processo, ou por pressupostos assumidos. Não haverá assim melhoramentos possíveis a sugerir para esta fase.

Page 12: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 76 07-2002

6. Análise de Resultados Este projecto não foi realizado tendo delineado à partida os vários métodos a

implementar, muito pelo contrário. Definiu -se inicialmente os objectivos gerais, e após escolhido um princípio de funcionamento para o método, as várias fases foram sendo implementadas. Deste modo a maior parte das ideias para algoritmos e procedimentos surgiu durante a execução destes, e não antecipadamente. Assim se explicam as várias tentativas em determinadas partes do algoritmo até se escolher a mais adequada.

Como os métodos das várias fases da análise de imagem foram em grande parte

originais, a sua eficiência era desconhecida à partida, o que não se passaria se se seguisse uma metodologia já testada. Muitas abordagens foram também reestruturadas ao verificar que as fases seguintes do processo não produziam resultados positivos.

Assim, o principal objectivo do projecto não foi implementar um método 100%

fiável para o problema, mas sim descobrir uma série de metodologias que originassem soluções satisfatórias. Obviamente tentou-se sempre que possível optimizar os algoritmos, tanto em termos de tempo de processamento como em percentagem de resultados positivos.

Visto os problemas particulares de cada fase do método terem já sido descritos

nos capítulos correspondentes, este capítulo irá incidir praticamente apenas sobre os resultados globais.

Regra geral o método funcionou bem com condições de iluminação favoráveis,

indicando a correctamente a zona do ecrã observada pelo utilizador. Os casos em que o método não funciona ou apresenta uma grande imprecisão no resultado explicam-se por deficiências nas condições de aquisição, na precisão dos resultados intermédios, nos algoritmos ou no princípio de funcionamento. Contudo há que ter em conta que é dada uma liberdade bastante grande aos movimentos da face permitidos, e a resolução das imagens na zona dos olhos não é muito grande.

A imagem seguinte (Fig. 136) mostra uma imagem onde o observador olha para

a parte inferior do ecrã e posteriormente encontram-se os resultados obtidos para a estimação do ponto observado por um dos olhos (Fig. 139/Fig. 140).

Page 13: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 77 07-2002

Fig. 136 - Utilizador olha em frente

Fig. 137 - Olho da esquerda

Fig. 138 - Olho da direita

Fig. 139 - Ponto observado pelo olho da

esquerda

Fig. 140 - Ponto observado pelo olho da

direita

Com estas imagens depreende -se a grande sensibilidade do método. Os dois olhos, que aparentemente olham em frente, e cujos contornos foram correctamente estimados, produzem resultados no ecrã ligeiramente distantes. Neste tipo de casos a única forma de aumentar a precisão do resultado será obter imagem dos olhos mais próximas, de modo a aumentar a resolução.

Um problema frequente nos resultados do algoritmo foi a má detecção de um

dos olhos. Este caso pode dar-se devido um mau resultado intermédio obtido para um dos olhos em qualquer fase da análise de imagem, o que leva a que apenas o outro seja considerado.

Page 14: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 78 07-2002

O facto de o método estimar a direcção dos dois olhos serve para reduzir desvios devido à assimetria do olho (sendo o resultado final o ponto médio das duas detecções), e também para aumentar a taxa de sucesso, pois caso a detecção de um olho falhe, o outro poderá ainda de tectar correctamente. Este mostrou ser um cenário frequente.

As figuras seguintes (Fig. 141/Fig. 144) referem-se a uma imagem em que o

observador olha para o centro do ecrã. Neste caso o olho da direita não foi correctamente detectado devido a uma falha na binarização. O nível de binarização óptimo é muitas vezes bastante complicado de estimar, pois mesmo observando visualmente os histogramas é difícil decidir a melhor posição para o limiar. Este método de binarização mostrou excelentes resultados, tendo em conta as imagens a que está sujeito.

Fig. 141 - Histogramas dos dois olhos de uma imagem

Fig. 142 - Resultado da Binarização dos olhos

Page 15: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 79 07-2002

Fig. 143 - Olho da esquerda foi bem

detectado

Fig. 144 - Ponto observado

Como se verifica, o facto de um dos olhos ser mal detectado não impede o

método de prosseguir, sendo o resultado final o ponto observado pelo olho cuja detecção funcionou correctamente.

Os dois casos seguintes ilustram esta situação. Em ambos apenas um dos olhos

foi correctamente detectado. O primeiro caso (Fig. 145/Fig. 146) refere-se a uma imagem em que o observador olha para o canto superior direito do ecrã. O processamento do olho da esquerda falhou na fase da binarização.

Fig. 145 - Olho da direita

Fig. 146 - Ponto observado

Neste segundo caso (Fig. 147/Fig. 148) foi a fase da detecção de contornos que

falhou. As figuras referem-se a uma imagem onde o observador olha para o limite esquerdo do ecrã. Tal deveu-se à sombra que sempre aparece na parte interior do olhos quando este é mal iluminado. Este caso é frequente em imagens em que o utilizador olha para um dos lados, ficando geralmente o olho mais longínquo com os contornos mal definidos (como neste exemplo). As imagens captadas mostraram ser bastante difícil iluminar suficientemente bem a face para evitar este problema sem causar o aparecimento de reflexos nos olhos.

Page 16: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 80 07-2002

Fig. 147 - Má detecção de contornos do olho da esquerda

Fig. 148 - O ponto observado pelo olho da direita

Um dos problemas associados com este método prende-se na assunção de que o

contorno da íris forma um círculo perfeito. Tal não é verdade, pois os contornos formam geralmente uma elipse ligeiramente achatada na vertical. D e facto, o olho humano não é sequer esférico, e os contornos da íris apenas de assemelham a circunferências. Na imagem seguinte (Fig. 149), onde o observador olha directamente para a câmara, tal é facilmente comprovado.

Fig. 149 - O contorno da íris não forma uma circunferência perfeita

Este facto adiciona uma certa imprecisão ao método, pois este estima uma

circunferência que “não existe”. Mas se se partisse do princípio que os contornos da íris formam uma elipse, em vez de uma circunferência, não seria possível determinar a direcção do olhar da mesma forma. Enquanto que a partir da projecção de uma elipse se

Page 17: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 81 07-2002

determina uma circunferência orientada para cima sem qualquer ambiguidade, ao considerar que o contorno da íris é achatado criam-se problemas, pois não existe uma única posição possível para o contorno que projecte os mesmos pontos na imagem.

Os dois exemplos seguintes irão demonstrar este facto. Em ambos os contornos

foram bem detectados, e as elipses bem estimadas, mas as direcções do olhar não foram bem calculadas.

Neste primeiro exemplo (Fig. 150/Fig. 151) o observador olha para o topo do

ecrã do monitor.

Fig. 150 - Imagem captada

Fig. 151 - Elipses estimadas

Embora as elipses estejam bem detectadas, a sua orientação leva o algoritmo a

calcular direcções opostas para cada olho, isto é, em vez de as direcções do olhar convergirem para o centro do ecrã, divergem uma para cada lado. Neste caso particular o erro é compensado ao achar a média dos pontos observados por cada olho, mas se a detecção de um dos contornos falhasse a estimação do olhar seria bastante imprecisa. Estas estimações são resultantes da assimetria dos olhos.

O caso seguinte (Fig. 152/Fig. 154) destina -se a comprovar a mesma causa.

Nesta imagem o utilizador observa o lado esquerdo do ecrã.

Page 18: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 82 07-2002

Fig. 152 - Utilizador observa o lado esquerdo

Fig. 153 - Elipse detectada

A elipse detectada, embora se ajuste perfeitamente ao olho, produz um resultado

mau. Graças à assimetria do olho (que é ligeiramente mais achatado em cima) quando o observador olha para os lados, sem direccionar o olhar muito para cima, a projecção dos contornos da íris apresenta uma forma mais esférica do que a que seria gerada caso os contornos formassem um círculo. Assim, dada a alta excentricidade da elipse detectada, o algoritmo dirige o olhar para um ponto mais baixo. Tal confirma-se pelo resultado obtido (Fig. 154).

Fig. 154 - Ponto observado (demasiado baixo)

Page 19: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 83 07-2002

Uma melhoria possível ao trabalho seria tentar de alguma forma compensar esta

assimetria do olho. Um método largamente utilizado é o da habituação do sistema, isto é, o sistema vai aprendendo com os seus erros, compensando as estimações futuras baseado nos desvios de estimações passadas.

As condições óptimas de iluminação foram determinadas embora não tenha sido

possível testá -las dentro do laboratório onde foi realizado o projecto. Foi impossível recriar uma iluminação artificial homogénea que não provocasse sombras os reflexos nos olhos do utilizador devido à arquitectura da sala. Certamente num ambiente iluminado por lâmpadas fluorescentes revestidas as imagens capturadas apresentariam uma melhor qualidade.

Uma outra melhoria seria tentar outra aproximação aos contornos da íris. A

imagem seguinte (Fig. 155) mostra um caso em que tanto a detecção de contornos como a binarização foram bem sucedidas, mas o algoritmo falhou na detecção do contorno da íris.

Fig. 155 - Binarização + Contornos

O mau resultado obtido com estas imagens deve-se à existência de pixels pretos

por baixo da zona da íris. Neste caso o método dos dois cortes laterais referido na parte da Análise de Imagem não funcionou correctamente, pois as zonas das sombras na parte interior dos olhos não estão suficientemente distantes da íris. Uma melhor abordagem nesta fase seria, em vez de construir o sinal do contorno inferior do olho (que neste caso originaria um mau resultado) utilizar um seguimento de contornos (o conhecido bug) e encontrar os limites do contorno da íris através da análise de “curvas apertadas” no trajecto do contorno.

A execução de todo o algoritmo demorou sensivelmente 13 segundos num

processador AMD 1400 MHz. As fases do algoritmo mais morosas foram as transformadas de Hough (daí a necessidade de impor severas restrições às variações dos parâmetros da elipse) e as operações de análise da imagem original, devido às suas dimensões elevadas. O programa utilizado para o desenvolvimento foi o Matlab , em código não compilado. Francas melhorias no tempo de processamento seriam esperadas de uma implementação baixo nível do programa.

Devido à escassez de tempo não foi possível testar o algoritmo com outros

indivíduos, embora a fase de detecção da face tenha sido projectada para funcionar com sujeitos com diferentes tipos de cabelo (ou mesmo sem ele), e também com bigodes ou barbas. O método da binarização automática pode ser ajustado caso o sujeito apresente

Page 20: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 84 07-2002

olhos claros ou sobrancelhas bastante mais escuras que os olhos. Durante a implementação tomou-se em consideração tornar o algoritmo o mais versátil possível, de modo a que as diversas partes possam ser facilmente aplicadas a outras imagens, podendo funcionar com outras condições de aquisição. Por exemplo, a fase de detecção dos olhos está adaptada para funcionar com imagens de olhos de qualquer resolução.

Page 21: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 85 07-2002

7. Conclusão Tirando pequenos desvios resultantes das imprecisões acumuladas pelas várias

fases de análise, o método geral revelou ser funcional, e apresentou resultados bons quando as imagens captadas reuniam as condições necessárias.

O método desenvolvido para a localização da face e dos olhos demonstrou uma

grande eficácia e robustez com diferentes características faciais e com variações de luminosidade.

As funções de análise de sinal implementadas para realizar os métodos de

Análise de Projecções e Detecção de Padrões propostos pelo autor funcionaram correctamente em todos os casos experimentados. Mostraram ser uma ferramenta extremamente útil no decorrer do projecto.

O método de binarização automática dos olhos sugerido obteve resultados

extremamente satisfatórios dado o tipo de imagens que trabalha. No caso de uma mudança de utilizador a alteração de um parâmetro permite ajustar rapidamente o limiar, caso o método produza resultados insatisfatórios.

A detecção do contorno das íris proposta pelo autor utilizando a conjugação da

detecção de contornos com o resultado da binarização do olho provou ser uma abordagem simples, bastante eficaz e uma das poucas abordagens possíveis ao problema. Este método funcionou bem se a zona dos olhos não tiver grandes sombras ou reflexos. Mesmo com condições desfavoráveis muitas vezes esta fase detecta correctamente pelo menos um dos olhos, não interrompendo o processo. Uma boa iluminação, o mais homogénea possível, deverá ser assegurada para uma bom funcionamento desta etapa.

A detecção de elipses mostrou ser bastante robusta, detectando correctamente

elipses com mais de metade do seu contorno oculto. A opção de implementar uma transformada de Hough de parâmetros restritos melhorou substancialmente muitas das estimações iniciais, e demonstrou ter sido uma parte fundamental do método.

Os estudos teórico e prático desenvolvidos para a determinação das coordenadas

3D de segmentos frontais à câmara, usando as várias grelhas paralelas à lente desta, e a consequente interpolação linear, permitiram estimar a distância do olho através das suas projecções com erros não superiores a 2 centímetros.

O método sugerido para a determinação mais precisa do diâmetro dos olhos do

utilizador funcionou bastante bem, sendo obtidas precisões no cálculo deste parâmetro não conseguidas quando se utilizaram aparelhos de medição simples.

As transformações de coordenadas usando os parâmetros intrínsecos obtidos na

calibração da câmara originaram resultados com margens de erro relativamente pequenas, graças à robustez e precisão de resultados do método utilizado.

A calibração dos parâmetros extrínsecos da câmara proposto pelo autor pela utilização da grelha fixa ao painel vertical, de modo a determinar a posição da câmara

Page 22: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 86 07-2002

relativamente ao monitor, permitiu um rigor bastante bom, face aos resultados finais comprovados.

A precisão foi limitada devido à baixa resolução das imagens da zona dos olhos, a fracas condições de iluminação, à não circularidade do contorno da íris do olho humano e à sensibilidade do método.

Houve a preocupação de implementar um algoritmo que não fosse computacionalmente pesado. A execução de todo o processo em código intrepertável Matlab demorou sensivelmente 13 segundos num processador AMD 1400 MHz, sendo praticamente metade deste tempo gasto a calcular as transformadas de Hough . Uma implementação baixo nível do método permitiria aplicar o algoritmo em tempo real.

Algumas perspectivas futuras de implementação poderão ser referidas de modo a

aumentar a qualidade das detecções realizadas. Melhores resultados seriam obtidos com imagens da zona dos olhos com maior resolução. Tal obrigaria à utilização de uma câmara de qualidade superior ou então a captar a imagem mais próxima (utilizando uma objectiva com zoom), o que levaria a restringir os movimentos da cabeça do utilizador, de modo a que os olhos não fugissem do alcance da câmara.

Outros métodos para a binarização dos olhos poderão ser testados, ou mesmo

outras formas da detecção do contorno da íris. Uma alternativa seria combinar os algoritmos implementados com outros que corrigissem as situações em que estes falham, tornando a detecção mais robusta.

Uma melhor estimativa do ponto observado seria conseguida obrigando o

utilizador a fixar a cabeça a uma certa distância (utilizando uma cadeira com encosto de cabeça, por exemplo). Esta é uma técnica utilizada por vários autores para garantir que o diâmetro da íris na imagem terá sempre a mesma dimensão, Desta forma a imprecisão na estimação da distância à câmara será muito menor e será possível fazer uma estimação de elipses impondo um dos parâmetros, dado que já se conhece a dimensão do eixo maior.

O princípio de funcionamento do método mostrou-se viável caso se reunam as

condições necessárias. Assim, este método funcionaria bem na estimação da direcção perpendicular de qualquer objecto com uma superfície circular (como um tubo, um alvo, uma objectiva de câmara), sendo a estimação da direcção bastante melhor caso todo o contorno da elipse projectada na imagem fosse visível. A parte de estimação de elipses, a localização 3D e a consequente determinação da direcção do olhar implementadas poderiam assim ser facilmente adaptadas a uma outra aplicação.

Page 23: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 87 07-2002

Referências

[1] Jun Shen, Serge Castan, “An Optimal Linear Operator for Step Edge Detection”, CVGIP: Graphical Models and Image Processing, vol. 54, no. 2, pp. 112-133, 1992.

[2] R. Gonzalez, R. E. Woods, Digital Image Processing, Addison-Wesley 1993.

[3] Jorge Alves da Silva, Aquisição e Processamento de Informação Tridimensional, Dissertação de doutoramento apresentada à Faculdade de Engenharia da Universidade do Porto, 1994.

[4] Matteo Perrone, “Estimating Human Gaze Direction”, LIRA-LAB, TR 4/95, 1995.

[5] C. Colombo, A. Del Bimbo, S. De Magistris, “Interfacing through Visual Pointers”, in R. Cipolla and A.Pentland, editors, Computer Vision in Man-Machine Interfaces. Cambridge University Press, 1997.

[6] J. Heikkilä, O. Silven, "A Four-step Camera Calibration Procedure with Implicit Image Correction", in Proc. IEEE Computer Society Conference, pp. 1106-1112, 1997

[7] Thomas D. Rickert, Michael J. Jones, “Gaze Estimation using Morphable Models”, in IEEE Conference on Automatic Face and Gesture Recognition, Nara, Japan, pp. 436-441, 1998.

[8] Kay Talmi, Jin Liu, “Eye and Gaze Tracking for Visually Controlled Interactive Stereoscopic Displays”, Image Communications, 1998.

[9] Kentaro Toyama, “‘Look, Ma – No Hands!’ Hands-Free Cursor Control with Real-Time 3D Face Tracking”, in Proc. Workshop on Perceptual User Interfaces (PUI'98), pp. 49-54, 1998.

[10] Andrew Fitzgibbon, Maurizio Pilu, Robert B. Fisher - “Direct Least Square Fitting of Ellipses”, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 21, no. 5, pp. 476-480, 1999.

Page 24: 5. Localização 3D - paginas.fe.up.ptpaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL_PARTE_4.pdf · Repare-se que o eixo maior da elipse projectada é da mesma dimensão do

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 88 07-2002

[11] Tsuyoshi Kawagushi, Daisuke Hidaka, Mohamed Rizon - “Robust Extraction of Eyes From Face”, IEEE Computer Society Press, vol.1, pp.1109-1114, 2000.

[12] Jian-Gang Wang, Eric Sung, “Gaze determination via images of irises”, Image and Vision Computing , vol. 19, no. 13, pp. 891-911, 2001.

[13] Mark Nixon, Alberto Aguado, Feature Extraction & Image Processing, Newnes 2002.

[14] Jean-Yves Bouguet, “Camera Calibration Toolbox for Matlab ”, Intel Corporation, 2002.

http://newbologna.vision.caltech.edu/bouguetj/calib_doc/index.html