Top Banner
Faculdade de Engenharia da Universidade do Porto Licenciatura em Engenharia Electrotécnica e de Computadores Relatório de Projecto Interface com Computador por Controlo Visual de Cursores Estágio realizado no Instituto de Engenharia Biomédica (INEB) Rui Vítor Figueiras Meireles Orientador: Aurélio Campilho Projecto/Seminário/Trabalho Final de Curso Julho de 2002
88

Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Apr 04, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Faculdade de Engenharia da Universidade do Porto

Licenciatura em Engenharia Electrotécnica e de Computadores

Relatório de Projecto

Interface com Computador por Controlo Visual de Cursores

Estágio realizado no Instituto de Engenharia Biomédica (INEB)

Rui Vítor Figueiras Meireles

Orientador: Aurélio Campilho

Projecto/Seminário/Trabalho Final de Curso

Julho de 2002

Page 2: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 2 07-2002

Agradecimentos Gostaria de manifestar o meu enorme reconhecimento ao Prof. Aurélio

Campilho pela orientação científica do trabalho realizado. Agradeço ao Prof. Jorge Alves da Silva pelos esclarecimentos prestados e pela

gentil cedência de imagens. Um agradecimento especial ao Prof. Miguel Velhote Correia pelo interesse

demonstrado, pelas ajudas prestadas e pela constante disponibilidade para dar sugestões e esclarecer dúvidas.

Gostaria também de agradecer aos meus colegas de estágio o bom ambiente

proporcionado no laboratório, em especial ao Nuno Valentim e ao Jorge Correia. Agradeço aos meus pais os sacrifícios suportados e todas as ajudas prestadas nas

alturas necessárias. Finalmente gostaria de referir o suporte financeiro através de uma Bolsa de

Iniciação Científica atribuida pela Fundação de Ciência e Tecnologia (FCT).

Page 3: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 3 07-2002

Índice 1. Introdução................................................................................................................ 4

1.1. Enquadramento Global.................................................................................. 4

1.2. Objectivos ........................................................................................................ 4

1.3. Contribuições do Trabalho ............................................................................ 5

1.4. Organização do Trabalho .............................................................................. 5

2. A determinação da Direcção do Olhar ................................................................... 7

2.1. Introdução ....................................................................................................... 7

2.2. Caracterização do Problema......................................................................... 7

2.3. Estado da Arte ................................................................................................ 8

2.4. Arquitectura Geral do Modelo ...................................................................... 9

3. Calibração do Sistema........................................................................................... 13

3.1. Introdução ..................................................................................................... 13

3.2. Metodologia................................................................................................... 16 3.2.1. A Calibração dos Parâmetros Intrínsecos da Câmara.............................. 16 3.2.2. A Relação Distância/Tamanho................................................................ 19 3.2.3. A Determinação do Diâmetro dos Olhos do Utilizador .......................... 23 3.2.4. A Calibração dos Parâmetros Extrínsecos da Câmara ............................ 24

3.3. Resultados ..................................................................................................... 27

3.4. Síntese............................................................................................................ 29

4. Aquisição e Análise de Imagem ............................................................................ 31

4.1. Introdução ..................................................................................................... 31

4.2. Aquisição de Imagem................................................................................... 31

4.3. Análise de Projecções................................................................................... 33

4.4. Análise de Imagem....................................................................................... 35 4.4.1. A Localização da Face e dos Olhos......................................................... 35

4.4.1.1. A Localização da Face..................................................................... 36 4.4.1.2. A Localização dos Olhos .................................................................41

4.4.2. Extracção do Contorno da Íris.................................................................45 4.4.2.1. A Detecção de Contornos ................................................................ 46 4.4.2.2. A Binarização dos Olhos .................................................................48 4.4.2.3. A Determinação do Contorno da Íris ............................................... 51

4.4.3. Detecção de Elipses................................................................................. 55

4.5. Condições de Iluminação ............................................................................. 59

4.6. Síntese............................................................................................................ 63

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

6. Análise de Resultados............................................................................................ 76

7. Conclusão............................................................................................................... 85

Referências..................................................................................................................... 87

Page 4: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 4 07-2002

1. Introdução

1.1. Enquadramento Global Neste projecto pretende-se criar uma interacção pessoa -máquina partindo

unicamente de imagens captadas por uma câmara vídeo. A interacção far-se-á através da determinação do ponto do ecrã do monitor observado pelo utilizador.

Este projecto insere-se nas áreas de Análise de Imagem e Visão por Computador. Alguns domínios específicos destas áreas foram abordados ao longo das diferentes etapas do projecto:

• Identificação de Características em imagens de faces; • Análise de Projecções; • Estudo de técnicas de Binarização; • Estimação de Elipses; • Calibração de Parâmetros intrínsecos e extrínsecos de Câmaras; • Localização Tridimensional de Objectos; • Estudo de Condições de Iluminação.

O projecto foi realizado no âmbito das actividades do grupo de Visão por Computador e Processamento de Imagem (CVIP) do Instituto de Engenharia Biomédica (INEB), inserido na disciplina curricular Projecto/Seminário/Trabalho Final de Curso (PSTFC) da Licenciatura em Engenharia Electrotécnica e de Computadores (LEEC) da Faculdade de Engenharia da Universidade do Porto (FEUP).

1.2. Objectivos Como objectivo global pretende -se estudar metodologias de visão por

computador, nomeadamente de Análise de Imagem, de modo a procurar desenvolver um sistema de controlo visual de cursores através da direcção do olhar. O ponto do ecrã observado pelo utilizador será determinado partindo apenas de uma imagem captada por uma câmara situada por baixo do monitor do computador.

O projecto é muito abrangente e contem fases bastantes distintas, pelo que se

podem identificar os seguintes objectivos parcelares:

• Detecção da face e localização dos olhos em imagens digitais; • Extracção dos parâmetros das elipses que delimitam as íris; • Calibração da câmara; • Estimação da localização 3D de objectos;

Page 5: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 5 07-2002

1.3. Contribuições do Trabalho O método utilizado foi baseado em pesquisas de outros autores que já tinham

realizado estudos nesta área. Algumas abordagens não originais foram utilizadas e algumas modificadas de modo a melhorar a qualidade do método. Contudo houve várias contribuições originais durante a implementação do projecto, das quais se destacam:

• Desenvolvimento de um método de Análise de Projecções envolvendo

Suavização de Sinais, Detecção e Etiquetização de Extremos e posterior Análise de Características e de Padrões;

• A Determinação e Localização de Características Faciais usando métodos de Análise de Imagem;

• A determinação da região de interesse (ROI – Region Of Interess) através de projecções horizontais de imagens de faces por procura do padrão Sobrancelha/Olho.

• A Binarização automática da íris numa imagem de um olho; • O método de conjugar a detecção de contornos com o resultado da

binarização para seleccionar apenas o contorno da íris; • A refinação da solução obtida por um algoritmo de detecção de elipses já

implementado, usando para isso uma transformada de Hough para elipses com variações dos parâmetros bastante restritas;

• O estudo teórico da determinação das coordenadas 3D de segmentos frontais à câmara;

• A comprovação da relação distância/tamanho usando as várias grelhas frontais;

• A determinação mais precisa do diâmetro dos olhos do utilizador; • A Calibração dos parâmetros extrínsecos da Câmara, de modo a

determinar a sua posição relativamente ao monitor, usando um placar vertical (ou mais).

1.4. Organização do Trabalho O trabalho encontra-se organizado tendo em conta a hierarquia das diferentes

fases do projecto. Cada capítulo refere-se a uma parte distinta do projecto, embora exista uma certa interacção entre as diversas fases, sendo por vezes indispensável referir aspectos de outro capítulo.

O capítulo 2 aborda o problema da determinação da direcção do olhar em forma

geral, referindo a utilidade de um método para o resolver e os domínios de aplicação. Descreve também as metodologias seguidas por outros autores e apresenta o diagrama funciona l proposto.

O capítulo 3, A Calibração do Sistema , explica a necessidade de se efectuar uma

calibração prévia, e refere fundamentos teóricos de calibração de câmaras, de transformações de coordenadas em diversos sistemas coordenados e de estimação de

Page 6: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 6 07-2002

distâncias. Descreve também as metodologias utilizadas nas várias etapas da calibração e apresenta os resultados obtidos.

O capítulo 4, Aquisição e Análise de Imagem, engloba uma parte substancial do

trabalho. Refere a necessidade de analisar sinais unidimens ionais ou projecções de imagens, e descreve pormenorizadamente todo o processo de análise de imagem, desde a determinação da localização da face e dos olhos partindo de imagens de caras, passando pelo processo de determinação dos cortornos das íris que servirão para estimar as elipses. A localização da câmara e as condições de iluminação ideais para a captura das imagens são também discutidas neste capítulo.

O capítulo 5, Localização 3D, refere princípios teóricos da perspectiva cónica,

de projecções segundo raios paralelos, e das assunções tomadas no método utilizado. Descreve também pormenorizadamente todos os cálculos e transformações efectuados para a determinação da posição 3D do contorno da íris e a posterior determinação da direcção do olhar.

O 6º capítulo, Análise de Resultados, descreve os resultados finais e também os

obtidos nas várias fases, discutindo as limitações do método utilizado e possíveis melhoramentos.

Finalmente, o último capítulo, Conclusão , transmite uma ideia do

funcionamento global do método utilizado e refere perspectivas futuras que poderão vir a ser implementadas.

Posteriormente encontram-se referências a outros autores e livros cuja consulta

contribuiu para a elaboração do projecto.

Page 7: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 7 07-2002

2. A determinação da Direcção do Olhar

2.1. Introdução O sentido da visão é sem dúvida o mais apurado nos seres humanos, e aquele

que mais contribui para a percepção do mundo que nos rodeia. Embora os seres humanos possuam um ângulo de visão de aproximadamente 180º, para focar um determinado ponto, ou observá-lo com detalhe, é necessário colocar os nossos olhos voltados para ele, ou seja, direccionar o olhar para o ponto. A direcção do olhar pode ser definida como a orientação dos olhos durante a observação de um determinado objecto.

A direcção do olhar tem também um papel muito importante na comunicação.

Ao observar a orientação dos olhos de uma pessoa pode ser possível determinar o que ela observa, os seus interesses, aquilo que lhe capta a atenção, ou até mesmo inferir as suas intenções. É uma fonte de informação, uma forma de comunicação visual, fortemente implementada na interacção social de todos os povos.

Um sistema computacional que se consiga aperceber da direcção do olhar do seu

utilizador possibilitará uma interacção mais acentuada do que a existente nos sistemas tradicionais. Poderá conhecer os seus pontos de interesse, antecipar os seus movimentos, e mesmo alterar a abordagem ao utilizador, adaptando-se às suas reacções. Esta interacção poderia até vir a substituir alguns dos tradicionais periféricos de entrada, como ratos, track -balls, ou touch -screens. Um sistema intuitivo com estas capacidades beneficiaria sem dúvida aplicações de marketing e publicidade, sistemas lúdicos e de entretenimento ou sistemas vídeo, como aplicações de video-conferência.

2.2. Caracterização do Problema Admite-se que a direcção do olhar é a recta imaginária que parte do centro do

olho na direcção para onde este se encontra voltado. Contudo, a determinação da direcção do olhar não é trivial, se não se impuser restrições aos movimentos permitidos ao utilizador. Isto porque determinar a posição dos olhos relativamente à cara não é suficiente, pois a orientação da cara também é um indicador do ponto observado. Ultimamente tem havido muitas abordagens sugeridas por vários autores para este problema, recorrendo a metodologias e procedimentos muito diferenciados.

De facto muitos sistemas abordam o problema como se a direcção do olhar fosse

determinada pela orientação da cara do utilizador [5, 8, 9]. Algumas delas, como sistemas de realidade virtual, utilizam capacetes que permitem saber a posição da cabeça do utilizador a cada instante, ou mesmo câmaras montadas na cabeça do utilizador. Outros sistemas servem-se de marcas na cara do utilizador para a localizar, ou recorrem à projecção na face de iluminação especial para determinar a orientação [8].

Outros sistemas determinam a direcção do olhar apenas analisando a posição de

ambos os olhos, ou conjugando esta informação com a da orientação da face [4, 5, 7, 8, 12]. Pode-se modelizar a posição dos olhos individualmente, independentemente da

Page 8: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 8 07-2002

posição da face [4, 8, 12], ou apenas quantizar o seu desvio relativamente à posição central entre as pálpebras [5, 7]. Alguns sistemas obrigam o utilizador a manter a cara fixa, ou permitem apenas determinados movimentos [5, 7]. Sistemas stereo , utilizando duas ou mais câmaras para situar a cara ou os olhos num sistema tridimensional também são vulgares [8].

A melhor solução, ou abordagem, dependerá assim do intuito final do problema,

da precisão que se deseja obter, da liberdade de movimentos que se quer dar ao utilizador e do custo do equipamento.

Para este problema procurou-se uma solução simples, de implementação

acessível e que não exigisse equipamento sofisticado. Também se optou por utilizar um método não invasivo, isto é, que não interagisse fisicamente com o utilizador, não o obrigando a usar equipamento incómodo.

2.3. Estado da Arte A estimação da direcção do olhar é um problema relativamente recente que tem

sofrido bastantes avanços nos últimos anos. Com a crescente evolução da tecnologia dos computadores, novos métodos antes postos de lado devido à pesada carga computacional que envolvem têm sido testados.

Um deles é o proposto por Rickert e Jones [7], que estimam a direcção do olhar

utilizando redes neuronais. O método tenta modelizar a região em volta dos olhos do utilizador usando modelos deformáveis. Depois de obtida a modelização tenta adaptar padrões de faces armazenadas, em que o ponto observado em cada uma delas é conhecido, à imagem captada pela câmara. A partir dos padrões que melhor se ajustaram determina a direcção do olhar.

Colombo, Bimbo e De Magistris [5] sugeriram uma interface adaptativa com

computador. Apenas utilizando uma câmara, com a face numa posição sempre frontal, extraíram características dos olhos da imagem usando modelos deformáveis. Depois analisando a posição relativa e a distância entre os olhos determinaram a distância e a posição da face do utilizador à câmara. Deste modo criaram uma interacção em ambiente 3D através do seguimento da cabeça, e em interfaces 2D através da posição da íris relativamente aos limites do olho.

Um sistema em tempo-real de controlo de cursores com mãos livres foi sugerido

por Toyama [9]. Este método pretende substituir o rato, sendo o controle do cursor feito pela posição da cabeça, apontando o nariz para a zona do ecrã desejada. Este método não estima a orientação dos olhos, apenas extrai informação sobre a localização dos olhos, nariz e boca na imagem, e estima o plano da face e a recta perpendicular que passa pelo nariz.

Talmi e Liu [8] apresentaram um sistema mais complexo, envolvendo 3 câmaras

vídeo. Duas delas, uma de cada lado do monitor, criam um sistema stereo que determina a posição e a orientação da cabeça no espaço tridimensional. Uma outra câmara pan-tilt motorizada de grande ampliação segue o olho, controlada pela informação obtida pelas

Page 9: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 9 07-2002

outras duas, e tenta determinar o desvio entre a direcção do olhar e a direcção da face. Tal é realizado criando um reflexo no olho, projectado por um led colocado nesta câmara. Determinando o centro da pupila e o ponto do reflexo calculam a orientação do olho e a compensação que é necessário dar à direcção da orientação da face.

Um método mais simples que não se baseia na orientação da face foi estudado

por Perrone [4]. Este método procura determinar o contorno de cada íris numa imagem da face e calcular a direcção do olhar baseado na deformação das elipses que melhor aproximam estes contornos. Ao determinar o desvio da direcção dos olhos relativamente à câmara, em vez de relativamente à face, evita-se abordar o problema da orientação da cara do utilizador.

Um sistema com um princípio de funcionamento idêntico, mas mais complexo,

foi sugerido por Wang e Sung [12]. Para evitar compe nsar os movimentos da cabeça, através de uma imagem captada por uma câmara fixa determinam a posição tridimensional e orientação de ambos os olhos. Para tal analisam também os contornos da íris utilizando uma outra câmara motorizada de alta resolução que os segue em tempo real. A ambiguidade de soluções gerada pela estimação das elipses dos olhos é resolvida verificando os sentidos da direcção do olhar possíveis para cada um dos olhos (método dos dois círculos).

Alguns destes métodos, por vezes devido a algumas técnicas pesadas utilizadas

no seu processo, não foram implementados em tempo real [7, 8, 9]. As técnicas que utilizam mais que uma câmara mostraram, regra geral, resultados mais precisos [8, 12]. Contudo, esta é uma área ainda em fase de crescimento, e certamente novas técnicas e diferentes abordagens ao problema irão surgir num futuro próximo. Embora técnicas simples tenham originado resultados satisfatórios, embora com precisões não muito boas, um bom método de determinação do olhar deverá ter tendência conjugar as duas técnicas: a determinação da orientação da face juntamente com a determinação da orientação dos olhos.

2.4. Arquitectura Geral do Modelo O modelo utilizado no estudo deste problema procurou ser relativamente

simples, tanto a nível de implementação como a nível de requisitos de equipamento. Assim optou-se por um método não invasivo, de modo a que o utilizador não fosse obrigado a usar equipamento incómodo, e que necessitasse apenas de um computador e uma câmara vídeo.

A solução adoptada estima o olhar partindo apenas da informação obtida pelos

contornos das íris dos olhos do observador. Desta forma, a orientação da face não irá ser considerada. Os contornos das íris (não as íris) irão ser localizadas no espaço tridimensional e as direcções do olhar, que se assumem ser perpendiculares aos planos que contêm os contornos de cada íris serão estimadas posteriormente.

Foi utilizada uma câmara simples, com uma objectiva sem zoom, de focagem

manual, colocada por baixo do ecrã do monitor e voltada para a face do utilizador (Fig.

Page 10: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 10 07-2002

1). Pretende-se capturar imagens da zona dos olhos com uma resolução razoável, mas também permitir ao utilizador liberdade de movimentos.

Fig. 1 - Arquitectura do sistema

Num sistema deste género, sem uma câmara motorizada, apenas se consegue

obter grandes resoluções dos olhos com grandes restrições de movimentos, de forma a que o olho do utilizador não fuja da zona capturada pela câmara. Contudo, quanto mais próxima for obtida a imagem do olho, mais distorção esta apresentará, o que também retira exactidão ao método.

A localização 3D de objectos está praticamente sempre associada a sistemas

stereo. Contudo, assumindo certos pressupostos e impondo certas restrições ao sistema, é possível localizar tridimensionalmente os contornos das íris apenas através de uma imagem da cena, sabendo antecipadamente informações de certos parâmetros (informações obtidas na fase de calibração). Assim o problema torna-se mais acessível, embora com uma perda de precisão associada.

Assume-se que o contorno da íris de um olho humano forma uma circunferência

perfeita. Se o utilizador olhar directamente para a câmara a projecção dessa circunferência na imagem sofre uma distorção de perspectiva homogénea, resultando na imagem uma íris com contorno circular. Contudo, se o utilizador olhar para qualquer outra direcção o seu contorno projectar -se-á como uma elipse.

Analisando a posição, a dimensão e a orientação desta elipse é possível localizar as coordenadas tridimensionais do contorno do olho que a gerou, e consequentemente estimar a direcção do olhar. O ponto onde esta direcção intercepta o plano do monitor será o ponto observado. A Fig. 2 exemplifica o esquema de funcionamento.

Page 11: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 11 07-2002

Fig. 2 - Esquema de funcionamento

De modo a ser possível fazer a correspondência de pontos da imagem com pontos do espaço tridimensional e localizar o monitor relativamente à câmara é necessário determinar os parâmetros intr ínsecos e extrínsecos desta. Para tal efectua-se uma calibração prévia do sistema. Esta calibração destina-se também a obter informação necessária sobre o utilizador.

O diagrama funcional do método escolhido encontra-se apresentado a seguir

(Fig. 3). Este diagrama mostra as várias etapas constituintes da metodologia seguida. Estão também representados exemplos de imagens resultantes de cada uma das fases, de modo a permitir ilustrar a evolução das diferentes fases do algoritmo.

Page 12: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 12 07-2002

Fig.

3 -

Dia

gram

a F

unci

onal

Page 13: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 13 07-2002

3. Calibração do Sistema

3.1. Introdução A calibração consiste em determinar todos os parâmetros que caracterizam o

sistema, o ambiente em que se insere e o modo como vai ser utilizado. Estes parâmetros podem ser referentes tanto a características físicas de objectos como a coeficientes ou matrizes. Têm valores constantes cujo valor se pretende estimar. A caracterização total do modelo passa pela determinação de todos parâmetros. Uma estimação grosseira pode deteriorar a qualidade dos resultados ou mesmo inviabilizar o correcto funcionamento do sistema.

Para se poder fazer a correspondência dos pontos do espaço tridimensional com

os pixels das imagens é necessário efectuar previamente a calibração da câmara. Esta compreende duas fases: a determinação dos seus parâmetros intrínsecos e extrínsecos.

Os parâmetros intrínsecos servem para se poder relacionar as coordenadas pixel

relativas às imagens com as coordenadas de pontos do espaço medidos no sistema referencial com origem no centro da câmara. Estes parâmetros dependem exclusivamente das características físicas da câmara (da sua geometria interna, do tipo de lente).

Os parâmetros extrínsecos consistem na posição e na orientação do referencial

de coordenadas da câmara relativamente a um outro sistema de coordenadas. A determinação dos parâmetros extrínsecos nem sempre é necessária, caso se possa trabalhar exclusivamente com as coordenadas da câmara (coordenadas no sistema referencial da câmara). Contudo, no caso em questão, a sua determinação terá que ser efectuada, porque será necessário saber qual a posição do ecrã do computador relativamente ao sistema coordenado da câmara.

A conversão de coordenadas tridimensionais de um sistema de eixos

coordenados para outro é realizada através de uma transformação linear. No caso da transformação das coordenadas de um ponto no espaço XX=(X;Y;Z) num certo sistema referencial do mundo em coordenadas do referencial da câmara XXc=(Xc;Yc;Zc) basta conhecer a matriz de rotação R e o vector de translação T que transformam este determinado referencial do mundo no da câmara.

TXXRXX c += * ( 1 )

A matriz R é uma matriz 3x3 que pode ser determinada a partir do conhecimento dos ângulos que o referencial do mundo tem que girar em torno de cada um dos seus eixos para se transformar num referencial idêntico ao da câmara a menos de uma deslocação, T. T é um vector coluna de 3 elementos.

Utilizando um dos modelos mais simples para a descrição do processo

geométrico de formação da imagem, o modelo “buraco de alfinete” (“pinhole”) [2, 3], pode-se obter as coordenadas pixel a partir das coordenadas câmara por uma simples transformação matricial (não invertível). Para tal bastará apenas saber as coordenadas de seis pontos em ambos os referenciais para se poder calcular as matrizes de transformação. Contudo com este modelo não se tem em consideração factores

Page 14: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 14 07-2002

importantes introduzidos, nomeadamente a distorção provocada pela lente. Por outro lado a medição de distâncias no referencial da câmara é difícil e bastante sujeita a erros pelo facto de não se saber a distância focal da câmara f, que é a distância do centro óptico da lente ao plano da imagem.

A figura seguinte (Fig. 4) mostra a construção da projecção de um ponto 3D no

plano imagem. Todos os raios projectantes passam no centro da lente (“buraco de alfinete”). Geralmente considera-se o plano imagem invertido, de modo às coordenadas das projecções terem o mesmo sinal que as coordenadas 3D.

Fig. 4 - Modelo “buraco de alfinete” [3]

A determinação dos parâmetros intrínsecos obtém-se a partir da relação das

coordenadas 3D do espaço com a sua respectiva projecção no plano da imagem. Tendo as coordenadas da câmara );;( cccc ZYXXX = de uma série de pontos do espaço determinam-se as coordenadas normalizadas desses mesmos pontos. As coordenadas normalizadas são obtidas dividindo as duas primeiras componentes pela terceira (seguindo a convenção do eixo Zc ser o perpendicular à superfície da lente). Note-se que deste modo todos os pontos de um raio projectante (com origem no centro da lente) terão as mesmas coordenadas normalizadas.

=

=

yx

ZYZX

xcc

ccn /

/ ( 2 )

Com os resultados da calibração é possível estimar a distorção da lente que irá afectar estes pontos normalizados. Geralmente a influência da distorção radial é bastante superior comparativamente ao da distorção tangencial. A distorção será tanto maior

Page 15: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 15 07-2002

quando maior for a distância normalizada destes pixels ao ponto principal normalizado – de coordenadas )0;0(=nx .

O vector da distorção tangencial dx é dado por:

++++

=yxtkcyrtkc

xrtkcyxtkcdx

**)2(_*2)*2(*)1(_

)*2(*)2(_**)1(_*222

22

( 3 )

onde kc_t(1) e kc_t(2) são os coeficientes da distorção tangencial e 222 yxr += . As coordenadas normalizadas com distorção xdn calculam-se da seguinte forma:

dxxrrkcrrkcyx

x nd

ddn +++=

= *)*)2(_*)1(_1( 42 ( 4 )

onde k c_r(1) e kc_r(2) são os coeficientes da distorção radial. Obtidas as coordenadas normalizadas com distorção desses pontos obtêm-se as

coordenadas pixel através da seguinte equação linear:

=

1

*

1d

d

p

p

y

x

KKy

x

( 5 )

KK é designada como a matriz de transformação da câmara. Esta matriz permite converter coordenadas normalizadas em coordenadas pixel. Depende dos valores estimados para a distância focal da câmara fc e do ponto principal cc (ambos expressos em pixels), e é dada pela seguinte expressão:

=

100

0

0

yy

xx

ccfc

ccfc

KK ( 6 )

Caso não se pretenda estimar a distorção (ou caso não se tenha dados suficientes), as coordenadas pixel podem ser calculadas substituindo em (6) xdn por xn.

As equações (3) a (6) aplicam-se nos casos em que se conhecem os coeficientes

de distorção radiais de 2ª e 4ª ordem e os tangenciais. Também se assumiu que os pixels são rectangulares (e não quadrados, visto a distância focal em pixels fc ter valores diferentes para as duas componentes). Desta forma o ângulo entre os eixos xp e yp da imagem é de 90º. Este modelo corresponde ao descrito por Heikkilä [6], embora a notação dos parâmetros intrínsecos aqui utilizada seja diferente daquela descrita no seu paper.

Embora segundo as equações (1) a (6) sejam directas as transformações de

coordenadas do sistema referencial do mundo para as coordenadas pixel, as respectivas transformações inversas são um pouco mais complicadas.

Para se calcular as coordenadas normalizadas distorcidas xd a partir das

coordenadas pixel xp o processo é idêntico, bastando inverter a matriz KK na equação (5).

Page 16: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 16 07-2002

Contudo, para o modelo de distorção utilizado, não existe nenhuma expressão algébrica para realizar a transformação de coordenadas normalizadas distorcidas xnd para as normalizadas xd (processo de normalização). Assim recorreu-se a um método iterativo de convergência – aproxima-se sucessivamente do valor de xd que gera o xp actual usando as equações (3) e (4) – para se poder obter estas coordenadas.

Embora se possa realizar facilmente a projecção 3D das coordenadas câmara

XXc para as normalizadas xn – equação (2) – o inverso não é possível sem informação adicional, pois há uma infinidade de pontos do espaço com a mesma projecção na imagem (Fig. 5). De modo a se obter as coordenadas câmara de um ponto normalizado é necessário saber uma das suas coordenadas 3D. Assim será impossível localizar um ponto no espaço apenas partindo da sua projecção na imagem (como referido anteriormente a transformação matricial da projecção de coordenadas tridimensionais num plano não é invertível).

Fig. 5 - Transformação de perspectiva inversa [3]

3.2. Metodologia

3.2.1. A Calibração dos Parâmetros Intrínsecos da Câmara Esta fase descreve os métodos utilizados para calibrar o sistema, isto é, os

métodos para estimar todos os parâmetros cujo valor é necessário conhecer de modo a que o sistema possa trabalhar. Como uma inexactidão de resultados na fase do projecto que envolve localização 3D poderia comprometer seriamente o funcionamento do método, a calibração teve que ser realizada assegurando certo nível de confiança. Assim procurou-se utilizar um método seguro que garantisse bons resultados e ao mesmo

Page 17: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 17 07-2002

tempo desse uma estimativa do erro cometido. O método de calibração teria também de ser simples e de não exigir equipamentos de custo elevado (como instrumentos de precisão ou lasers).

Como solução utilizou-se uma implementação em Matlab de um software

incluído na “Open CV” (Open Source Computer Vision Library) da INTEL [14] para determinar os parâmetros intrínsecos da câmara. Este software permite calibrar uma câmara através de múltiplas imagens de posições diferentes de uma grelha quadriculada (Fig. 6). A partir da dimensão conhecida das quadrículas, o programa determina qual a posição exacta no espaço tridimensional que cada ponto da grelha ocupa (Fig. 7). É um método iterativo que vai ajustando os parâmetros intrínsecos da câmara de modo a minimizar o erro de projecção de cada uma das imagens.

Fig. 6 - Imagens utilizadas na Calibração da Câmara

Page 18: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 18 07-2002

Fig. 7 - Posição de cada grelha no referencial da Câmara

Após este algoritmo efectuar a convergência para a melhor solução os seguintes

parâmetros intrínsecos da câmara são retornados: • distância focal (em pixels); • ponto principal da imagem (o correspondente ao centro da lente); • os coeficientes de distorção radial (modelo de distorção radial simétrico

de 4ª ordem) e tangenciais; Consequentemente obtém-se a matriz de transformação KK para converter

coordenadas normalizadas distorcidas em coordenadas pixel. O software utilizado permitia estimar os valores do coeficiente de distorção

radial de 6ª ordem e do desvio de inclinação. Nesse caso as equações anteriormente descritas seriam diferentes. Contudo este tipo de modelo só será necessário utilizar com câmaras de grande angular, e sendo estas de extrema resolução, pois normalmente origina valores de exactidão muito baixa para estes dois coeficientes (com grandes desvios padrão).

Após a calibração é possível saber os parâmetros extrínsecos da câmara

relativamente a cada um dos planos da grelha utilizados.

Page 19: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 19 07-2002

Fig. 8 - O sistema referencial de uma das grelhas

Por exemplo, para a imagem da Fig. 8, o software retorna as matrizes de rotação Rc e de translação Tc que permitem transformar pontos XXg do sistema coordenado da grelha para as respectivas coordenadas XXc no sistema da câmara.

TcXXRcXX gc += * ( 7 )

3.2.2. A R elação Distância/Tamanho Conhecidos os parâmetros intrínsecos da câmara é possível para cada ponto do

espaço no sistema referencial da câmara associar-lhe um pixel na imagem, e para cada pixel da imagem associar um raio projectante (uma recta que passa no centro da lente) cujos pontos constituintes têm a mesma coordenada normalizada.

Contudo interessa determinar coordenadas espaciais de pixels da imagem. Tal só

será possível, como referido anteriormente, se se dispuser de informação adicional. Tendo apenas um ponto isolado na imagem não é possível determinar a sua

localização 3D, tem-se 2 equações lineares para determinar 3 incógnitas – equação (2). Tendo dois pontos na imagem );;( 1111 cccc ZYXXX = e );;( 2222 cccc ZYXXX = que se

sabe formarem um segmento frontal à câmara (tal significa que a recta formada por estes é perpendicular ao eixo Zc) de comprimento conhecido já será possível localizá-los no espaço. De facto, com 2 pontos teremos 4 equações para 6 incógnitas, mas uma das incógnitas desaparece fazendo 21 cc ZZ = , pois o segmento é de frente. Falta agora determinar mais uma equação para resolver o sistema.

Segundo o modelo “buraco de alfinete” [2, 3] conhecendo a distância focal f e a

distância entre o plano imagem e a lente s pode determinar-se o tamanho de um objecto paralelo à lente pelo tamanho da sua projecção na imagem, admitindo que o tamanho real do objecto é conhecido. Para determinar a distância utilizar-se-iam exclusivamente cálculos baseados em regras geométricas.

A Fig. 9 mostra o princípio da formação das imagens com uma lente delgada (a

lente da objectiva da câmara).

Page 20: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 20 07-2002

Fig. 9 - Formação de imagens com uma lente delgada [3]

No entanto ao projectar objectos distantes (r elevado) geralmente assume-se que

sf ≅ . Contudo estas grandezas são muito difíceis de estimar, e cálculos que se baseiem nos seus valores terão consequentemente um erro substancial.

Fig. 10 - Deformação de perspectiva

Aplicando regras elementares de Geometria é fácil verificar que um objecto de

tamanho t colocado a uma distância Z1 do centro da lente terá uma projecção t1 no plano imagem proporcional à distância focal f (Fig. 10). Note -se que objectivas com grandes zooms têm distâncias focais grandes.

11

1

1

*tt

fZft

Zt

=⇔= ( 8 )

Assim se depreende que sabendo o tamanho t do objecto e a distância focal f da câmara a distância Z1 à câmara é inversamente proporcional ao tamanho do objecto no plano imagem.

Se se colocar o mesmo objecto a uma nova distância Z2 ter-se-á então um novo

tamanho t2 associado. Usando a equação (8) para esta nova distância, e dividindo as duas expressões obtem-se:

Page 21: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 21 07-2002

2

1

1

2

1

2

1

2

/1/1

*

*

tt

tt

ttf

ttf

ZZ

=== ( 9 )

Ou seja, um acréscimo na distância do objecto traduz-se num decréscimo proporcional do seu tamanho na imagem. Chega-se assim à conclusão que para poder calcular a distância associada ao objecto para um determinado tamanho é necessário saber a relação t1/Z1 para qualquer outro caso. Infelizmente a distância do plano imagem ao centro da lente não é conhecida.

Como não se dispunha do valor de f foi experimentado um método inovador para

determinar a relação existente entre o tamanho t1 e a distância Z1. Capturaram-se várias imagens com a grelha numa posição frontal à câmara (Fig. 11), imagens estas que tomaram parte no processo de calibração para a determinação dos parâmetros intrínsecos.

Fig. 11 - Posições frontais de várias grelhas

Fig. 12 - Grelha número 3

Page 22: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 22 07-2002

Como são conhecidas as dimensões das quadrículas determina-se facilmente as coordenadas de cada “canto” da grelha (cada vértice que une quatro quadrados). Depois determinou-se as coordenadas destes pontos todos relativamente ao referencial da câmara, usando a transformação da equação (7). Estas coordenadas terão todas um valor Zc muito próximo, embora não sejam exactamente iguais. Finalmente calculou-se as coordenadas normalizadas dos pontos.

O passo seguinte foi determinar todas as ligações possíveis de cantos dessa

grelha, ou seja, combinar cada canto com todos os restantes ( NC2 ou

2N

). Depois, para

cada ligação, determinou-se a distância do seu ponto médio à câmara (Z1) e o seu tamanho na imagem normalizada dividido pelo seu tamanho real (t1/t). Essa informação foi representada num gráfico para todos os pontos das várias grelhas. De seguida foi efectuada uma interpolação para determinar a função que melhor descreve a relação entre estas duas grandezas. Os valores do eixo dos xx (os tamanhos normalizados dos segmentos) encontram-se invertidos, já que se sabe à partida que a relação entre estes valores e a distância são inversamente proporcional. Deste modo obter-se-á um gráfico linear (Fig. 13).

Fig. 13 - Interpolação Linear Z1 = f(t/t1)

Para cada grelha tem-se assim uma nuvem de pontos no gráfico, com distâncias

Z1 muito próximas. Pode -se agora, por intermédio da função determinada na interpolação, saber a distância Z1 a que está um segmento de tamanho conhecido t que se encontra numa posição frontal à câmara e cujo tamanho na imagem normalizada é t1.

Deve-se tentar colocar as grelhas o mais paralelas possível à lente da câmara.

Como se pode ver na figura há diferenças – numa mesma grelha – nas distâncias dos pontos à câmara até 3 cm. Embora se utilize a distância média de cada segmento na

Page 23: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 23 07-2002

interpolação pelo facto de os dois extremos da ligação não terem o mesmo valor de Zc estão a sofrer distorções de perspectiva diferentes, que não estão a ser consideradas neste processo.

Obtida esta relação “distância/tamanho” pode -se determinar a distância de

segmentos frontais à câmara, sabendo antecipadamente o seu tamanho real. Isto servirá posteriormente para estimar a localização 3D dos contornos do olho com base no tamanho do seu diâmetro na imagem. Mas para isso é necessário conhecer antecipadamente o seu tamanho real.

Este parâmetro pode ser passado ao programa, mas visto ser uma medida muito

pequena e sujeita a erros de medição, foi elaborado outro método. Assim foi necessário efectuar uma calibração do sistema para estimar o diâmetro dos olhos do utilizador.

3.2.3. A Determinação do Diâmetro dos Olhos do Utilizador De modo a calibrar o sistema para o tamanho dos seus olhos o utilizador medirá

a distância entre eles, com a máxima precisão possível, e introduzirá esse dado durante a fase de calibração do sistema. Depois, através de uma imagem frontal para a câmara (de modo a os olhos estarem ambos à mesma distância e a sua projecção aparecer como uma circunferência) os contornos das íris são estimados (como será explicado adiante) e a distância ente eles é calculada (Fig. 14).

Fig. 14 - Determinação do diâmetro dos olhos do utilizador

Page 24: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 24 07-2002

O diâmetro de cada olho foi considerado igual ao tamanho do eixo maior da elipse que melhor se adaptou ao contorno da íris.

Sabendo a distância real entre os olhos dist e calculando o diâmetro médio dos

olhos em pixels 2

_2__1__

pdiampdiampdiam

+= e também a distância entre os olhos

em pixels dist_p é fácil determinar o diâmetro real dos olhos por uma regra de 3 simples:

pdiampdist

distdiam _*

_= ( 10 )

Nesta altura, conhecidos o diâmetro dos olhos do utilizador e o respectivo diâmetro em pixels na imagem seria possível determinar a distância dos olhos do utilizador à câmara.

3.2.4. A Calibração dos Parâmetros Extr ínsecos da Câmara O último passo da calibração foi a determinação dos parâmetros extrínsecos da

câmara relativamente ao sistema de coordenadas do monitor do computador. Como posteriormente se irá determinar a intersecção dos raios visuais com o plano do ecrã do monitor é necessário defini-lo correctamente. Contudo não é possível determinar as matrizes de transformação Rce e Tce (que transformam coordenadas câmara em coordenadas ecrã) por intermédio de imagens deste, como foi feito com as grelhas, pois devido à disposição do sistema o monitor não é visível nas imagens captadas pela câmara.

Assim teve que se usar outro método para se localizar o monitor relativamente à

câmara. Um método de obtenção do vector Tce medindo directamente a distância entre os dois eixos seria certamente muito pouco rigoroso, pois não se consegue localizar ao certo a origem do referencial da câmara (este encontra -se no interior desta). Além do mais, a medição dos ângulos do rotação de cada eixo coordenado teria também muito pouco rigor, pois não é garantido que os eixos das coordenadas da câmara sejam paralelos às superfícies da sua armadura.

O método escolhido para realizar este processo foi recorrer a um plano auxiliar.

Colocou-se previamente o monitor numa posição em que o plano formado pelo seu ecrã ficasse perpendicular ao solo. Depois colocou-se um painel vertical numa posição paralela ao ecrã. A imagem seguinte (Fig. 15) ilustra a situação.

Page 25: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 25 07-2002

Fig. 15 - Determinação dos parâmetros extrínsecos da câmara

Como se vê na figura a grelha quadriculada foi colocada no painel, tendo a

preocupação de alinhar os seus lados com as arestas que delimitam o ecrã do monitor. Se todo este processo tiver sido realizado com rigor, tem-se uma “réplica” do plano do ecrã numa posição visível pela câmara.

Agora é possível determinar os parâmetros extrínsecos da câmara relativamente

ao plano do painel. De facto a imagem utilizada neste processo (Fig. 16) foi também utilizada para determinar os parâmetros intrínsecos da câmara, e por isso já são conhecidas as matrizes de transformação Rc e Tc.

Fig. 16 - Plano do painel, paralelo ao ecrã

Page 26: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 26 07-2002

Fig. 17 - Posição do placar relativamente à câmara

Nesta altura já se tem condições para determinar as matrizes R e T que

transformam as coordenadas do placar em coordenadas do ecrã. O vector de translação T foi medido, com a maior precisão conseguida, utilizando uma fita métrica, medindo cada componente (X,;Y;Z) (no sistema coordenado do placar) do vector que une as origens dos dois referenciais (Fig. 18). O vector de rotação com a rotação necessária para cada eixo do referencial do placar ficar paralelo ao do ecrã foi também medido, e consequentemente calculada a matriz (3x3) de rotação R. Neste caso o vector de rotação seria (0,π ,0), pois os eixos dos dois referenciais são paralelos (o referencial sofre apenas uma rotação de 180º em torno do eixo dos xx).

Fig. 18 - Posição relativa dos sistemas referenciais do ecrã e do placar

Agora basta realizar as duas transformações (câmara-placar/placar-ecrã) para

converter coordenadas do referencial da câmara XXc em coordenadas do ecrã XXe.

TTcXXRcRTXXRXX

TcXXRcXXTcXXRcXX

cge

cggc

+−=+=

−=⇔+=−

))(*(**

)(**1

1

( 11 )

ou seja,

TceXXRceXX ce += * , com 1* −= RcRRce e TcRcRTTce ** 1−−= ( 12 )

Page 27: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 27 07-2002

3.3. Resultados Os resultados obtidos para os parâmetros intrínsecos da câmara foram os

seguintes. Esta calibração utilizou uma grelha de 9x7 quadrículas, embora os cantos exteriores não sejam utilizados (a zona útil são apenas 7x5 quadrículas), sendo cada quadrícula um quadrado de 28 milímetros de lado, em 25 posições diferentes.

Calibration results (with uncertainties): Focal Length: fc = [ 1488.17385 1418.35812 ] ± [ 11.89975 11.42286 ] Principal point: cc = [ 470.95976 224.15195 ] ± [ 28.62565 21.06361 ] Skew: alpha_c = [ 0.00000 ] ± [ 0.00000 ] => angle of pixel axes = 90.00000 ± 0.00000 degrees Distortion: kc = [ -0.30933 0.41637 -0.00273 0.00237 0.00000 ] ± [ 0.06069 0.50115 0.00285 0.00260 0.00000 ] Pixel error: err = [ 0.61244 0.68442 ] Note: The numerical errors are approximately three times the standard deviations (for reference)

A distância focal e o ponto principal estão expressos em pixels (a distância focal

“real” em milímetros não é determinada) e o desvio dos eixos em graus. Os 2 primeiros coeficientes de kc referem-se aos coeficientes de distorção radial de 2ª e 4ª ordem respectivamente – kc_r(1) e kc_r(2). O terceiro e quarto referem-se aos coeficientes tangenciais – kc_r(1) e kc_r(2). O último coeficiente de k c é o coeficiente de distorção radial de 6ª ordem. Como este valor não foi estimado, bem como o desvio dos eixos da imagem, os seus valores são nulos.

Verifica-se que embora o erro da estimação de um pixel ao converter um ponto

com coordenadas câmara para coordenadas pixel (Pixel error) seja bastante pequeno (inferior a 1 pixel em cada direcção) os valores para certos coeficientes de distorção não são uma estimativa de muita confiança (para o radial de 4ª ordem e para os tangenciais), pois o seus desvios padrão têm valores altos compara tivamente com a média, o que leva a que os intervalos de confiança atinjam valores muito baixos, chegando alguns até a “cruzar” o valor zero.

De modo a estimar estes valores com maior exactidão deve -se usar câmaras e

objectivas de melhor qualidade, ter as imagens muito bem focadas e utilizar bastantes imagens na calibração.

As imagens seguintes (Fig. 19/Fig. 21) mostram os diagramas de distorção para

os pixels das imagens.

Page 28: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 28 07-2002

Fig. 19 - Componente Radial da Distorção

Fig. 20 - Componente Tangencial da

Distorção

Fig. 21 - Modelo completo da Distorção

Por análise das figuras e dos seus valores é nitidamente visível a grande

predominância da componente radial na distorção total do modelo. Os valores seguintes são o resultado da calibração quando se estima os valores

do coeficiente de distorção radial de 6ª ordem e do desvio dos eixos da imagem.

Calibration results (with uncertainties): Focal Length: fc = [ 1489.01886 1419.53158 ] ± [ 11.95753 11.50998 ] Principal point: cc = [ 472.65244 216.46073 ] ± [ 28.67513 21.18704 ] Skew: alpha_c = [ -0.00235 ] ± [ 0.00232 ] => angle of pixel axes = 90.13449 ± 0.13306 degrees Distortion: kc = [ -0.34268 1.47704 -0.00389 0.00308 -6.78554 ] ± [ 0.11934 2.40496 0.00328 0.00284 13.65753 ] Pixel error: err = [ 0.60837 0.68441 ] Note: The numerical errors are approximately three times the standard deviations (for reference)

O coeficiente radial de 6ª ordem tem um intervalo de confiança com uma gama

grande demais (comparativamente com a média) para ser utilizado na estimação da distorção. O desvio do ângulo também tem um intervalo associado relativamente

Page 29: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 29 07-2002

grande, e não se incluiu nos parâmetros intrínsecos de modo a seguir o modelo de Heikillä, e por sugestão do implementador do software de calibração.

O resultado da regressão que aproximou a relação existente entre o inverso do tamanho do objecto (t/t1) e a sua distância à câmara (Z1) foi o esperado. Como se viu anteriormente no gráfico a recta

6685.1*0034.1 −= xy

aproximou bem as “nuvens” de pontos, confirmando a relação linear que se esperava. De notar a proximidade da expressão com a recta xy = , já que o valor da ordenada na origem (-1.6685mm) é muito pouco significativo para as distâncias que se utilizam (da ordem dos 550/900mm). Não esquecer que a relação “ideal” directamente proporcional entre a distância e o tamanho do objecto – equação (8) – parte da aproximação fs ≅ .

De modo a comprovar a forte relação linear desta relação realizou-se também uma interpolação quadrática com os mesmos valores. A equação resultante,

2283.498623.010*2069.1 25 ++= − xxy

mostra que o termo quadrático é quase desprezável para os valores de x utilizados. Usando o método de determinação da dimensão dos olhos foi possível estimar o

diâmetro dos olhos do utilizador com uma precisão maior que a obtida utilizando com uma simples régua. Os valores obtidos para o diâmetro dos olhos foram sempre praticamente iguais, próximos dos 13 milímetros.

Para a estimação ser mais segura poder-se-ia realizar o cálculo com várias imagens, e utilizar a média dos resultados. Obviamente este parâmetro só deverá ser aceite caso a detecção de ambos os olhos tenha sido efectuada correctamente.

A calibração dos parâmetros extrínsecos da câmara foi um processo cujos erros

não se puderam quantificar. Contudo é de esperar um ligeiro erro nas medições dos vectores de rotação e de translação visto não terem sido realizadas com instrumentos de grande precisão. Fica apenas a referência que um erro de 1 centímetro na componente X ou Y do vector de translação origina um erro de 1 centímetro na localização final da estimação do olhar.

3.4. Síntese As diferentes calibrações do sistema funcionaram como desejado, e geraram

estimativas bastante boas para os vários parâmetros. O método usado para a determinação dos parâmetros intrínsecos da câmara

gerou resultados com uma grande exactidão. O método provou ser robusto e as estimativas obtidas continham erros relativamente pequenos. A distorção radial da objectiva não foi suficientemente pequena para poder ser desprezada.

O estudo prático da determinação da coordenada Zc (no referencial da câmara)

de segmentos paralelos à lente usando as grelhas mostrou erros da ordem dos 2 centímetros, para as distâncias e tamanhos de segmentos testados. Embora não seja um

Page 30: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 30 07-2002

método extremamente exacto, a margem de erro obtida é relativamente pequena comparada com as distâncias utilizadas (na ordem dos 40/60 cm).

A determinação mais precisa do diâmetro dos olhos do utilizador foi proposta de

modo a conferir uma maior exactidão no funcionamento geral do algoritmo. Os resultados obtidos mostraram-se constantes e de valores aceitáveis.

O método de calibração dos parâmetros extrínsecos da câmara proposto foi a melhor alternativa encontrada para estimar as matrizes de transformação com a maior exactidão possível. Embora seja um método sujeito a erros de medição por parte do utilizador, a solução não virá muito afectada a menos que se efectuem erros grosseiros nas medições.

Page 31: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 31 07-2002

4. Aquisição e Análise de Imagem

4.1. Introdução Este capítulo trata de uma das fases mais importantes do trabalho. São os

métodos de aquisição e posterior tratamento e análise de imagem que irão gerar a informação que permitirá estimar correctamente a direcção do olhar.

Esta parte fundamental do projecto é a que exige maior tempo de processamento,

e é também aquela cujas abordagens e metodologias a seguir são menos rígidas, havendo sempre múltiplas formas de atingir o mesmo objectivo. Por esta razão, este capítulo foi um dos que mais contribuições originais gerou. A análise de imagem exige muita experimentação e a também a utilização de várias abordagens diferentes de modo a determinar as melhores técnicas, mas requer também uma grande dose de imaginação e de criatividade.

Neste capítulo irão ser explicados em detalhe todo o processo da captação de

imagem, desde a localização da câmara até à escolha da iluminação adequada, bem como todos os algoritmos e metodologias utilizados na detecção e extracção das características faciais até se atingir o resultado final, a determinação das elipses que melhor se ajustam às íris dos olhos do utilizador, numa certa imagem.

4.2. Aquisição de Imagem Para a aquisição de imagem recorreu-se a uma câmara situada na base do

monitor, de modo a captar a face do utilizador de baixo para cima (Fig. 22). A câmara teria de ficar situada numa posição de modo a garantir que os olhos ficassem direccionados sempre para um mesmo lado. Com a câmara nesta posição é garantido que o utilizador enquanto observar o ecrã estará sempre a olha r para cima, do ponto de vista da câmara

Fig. 22 - Posição e orientação da câmara

Page 32: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 32 07-2002

Tal requisito foi necessário cumprir de modo a eliminar a ambiguidade que haveria caso a câmara captasse os olhos voltados para várias direcções. Como se pretende determinar a direcção do olhar por análise dos contornos das íris projectados nas imagens, é necessário garantir que não haverá ambiguidade, isto é, para uma dada elipse só poderá haver uma posição correspondente do olho. Caso contrário haveria duas soluções possíveis (duas direcções do olhar) e não se saberia qual a correcta.

As imagens seguintes (Fig. 23/Fig. 27) demostram esta ambiguidade e a razão de

se ter colocado a câmara por baixo do monitor.

Fig. 23 - Olho voltado para a câmara

Fig. 24 - O olho é visto como uma

circunferência

Fig. 25 - O olho é visto

como uma elipse

Fig. 26 - Olho voltado para cima

Fig. 27 - Olho voltado para baixo

Outro aspecto para a decisão de usar a câmara numa posição abaixo da face do

utilizador é o facto de o contorno da íris do olho humano não formar uma circunferência perfeita. Assim, imagens correspondentes a posições quase frontais não apresentarão grande rigor nos seus resultados, visto as “irregularidades” da circularidade do contorno se tornarem mais perceptíveis. Deste modo, contornos da íris com uma excentricidade menor te rão este efeito mais atenuado, e por isso, uma precisão maior. Assim, com a câmara posicionada por baixo do ecrã, assegura -se que enquanto o utilizador estiver a olhar para pontos do ecrã o contorno das suas íris nunca se confundirá com uma circunferência.

Um terceiro motivo para a colocação da câmara em baixo e não em cima do

monitor prende-se com o facto de a maior parte das vezes a pálpebra superior estar a encobrir a íris. Assim, numa imagem captada por baixo, o contorno visível da íris (predominantemente na metade inferior da íris) será melhor visualizado, já que a pestana inferior não é suficientemente grande para encobrir o olho. Por outro lado, uma captação de imagens superior tem o problema de o olho ficar semi oculto pela sobrancelha, ou pela pestana superior.

Page 33: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 33 07-2002

4.3. Análise de Projecções Ao analisar imagens para a detecção de certas características ou padrões muitas

vezes recorre -se ao uso das suas projecções. Uma imagem é um sinal bidimensional representado por uma função de duas variáveis ),( yx (a posição espacial do pixel), a que se associa uma intensidade f(x,y). Operar com sinais unidimensionais em vez de imagens bidimensionais é por vezes mais simples, mais cómodo e mais rápido, pelo que esta técnica é frequentemente utilizada.

A projecção de uma imagem consiste em aplicar o somatório de todas as

intensidades dos pixels numa determinada direcção, horizontal ou vertical. Ao projectar uma imagem resulta um sinal unidimensional. Projectando uma imagem segundo a direcção vertical constrói-se um sinal da mesma largura da imagem. Assim o valor do sinal num determinado ponto corresponde à soma de todas as intensidades da coluna correspondente a esse ponto na imagem. Da mesma forma, ao projectar horizontalmente uma imagem o sinal resultante terá um comprimento igual à altura da imagem.

As projecções apresentam geralmente um nível apreciável de ruído, em parte

devido a erros de quantização (uma imagem é uma função discreta de variável discreta) mas também devido à própria morfologia da imagem. Assim torna -se necessário suavizá-lo, usando filtros passa-baixo, de modo a eliminar as suas componentes de alta frequência. Recorreu-se a filtragens por aplicação sucessiva de filtros elementares de janela flutuante (médias, medianas), cujas dimensões dependem directamente da dimensão do sinal a analisar, do nível de ruído existente e no grau de suavização que se pretende atingir (Fig. 28/Fig. 29).

Fig. 28 - Sinal obtido por Projecção

Fig. 29 - Sinal Suavizado

Devido à grande utilização de projecções no decorrer do projecto,

implementaram-se funções de filtragem e de análise deste tipo de sinais. A característica mais importante será identificar, quantificar e etiquetar os extremos relativos (máximos e mínimos) de um sinal. Para tal foi criada uma função que detecta e atribui uma etiqueta a todos os máximos e mínimos (etiquetização). Esta etiqueta é um número positivo, no caso dos máximos, e negativo nos mínimos. O seu módulo é crescente à medida que o número de extremos aumenta.

Nas imagens seguintes é visível o sinal de retorno desta função, contendo as

etiquetas que marcam a localização de cada extremo (Fig. 30) e também o sinal original, após suavização, com os extremos detectados devidamente assinalados (Fig. 31).

Page 34: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 34 07-2002

Fig. 30 - Etiquetização dos Extremos do Sinal

Suavizado

Fig. 31 - Sinal Suavizado e Extremos

Relativos

Refere-se agora a dificuldade da detecção de extremos num sinal discreto. A

detecção dos pontos com derivada nula não é suficiente, visto muitas vezes estes ocorrerem em subidas ou descidas (pontos de inflexão) devido à quantização do sinal. Eventualmente um extremo de um sinal pode não apresentar derivada nula, mudando esta de sinal sem atingir o valor zero. A análise de extremos usando a segunda derivada torna-se impossível devido ao enorme nível de ruído que esse sinal apresenta.

Num sinal discreto os extremos podem ser considerados patamares de máximos

ou mínimos, cujos pontos vizinhos são respectivamente menores ou maiores que o nível do patamar.

A função de detecção de extremos percorre o sinal da esquerda para a direita,

marcando o fim dos patamares como máximos ou mínimos provisórios, e depois em sentido contrário marcando o início deles. Esta marcação do início ou do fim dos patamares é feita analisando os locais onde a derivada da função inverte o sinal. Pontos de derivada nula são ignorados nesta análise. No segundo varrimento os patamares de inflexão (aqueles que apresentam um máximo provisório no seu início e um mínimo provisório no fim, ou vice-versa) são descartados.

A interpretação dos valores no início e no fim de cada patamar irão caracterizá-

lo como sendo um conjunto de máximos, de mínimos, ou de pontos de inflexão. Posteriormente é feito mais um varrimento do sinal para atribuir as etiquetas correspondentes, atribuindo valores positivos crescentes aos máximos e valores negativos decrescentes aos mínimos, pela ordem com que estes surgem no sinal.

Foram também criadas funções para determinar a largura de cada um dos

“montes” e “vales” do sinal, e ainda outras para determinar os n maiores montes ou vales. Tais funções mostraram ser bastantes úteis em diversas partes do projecto, tornando a análise de projecções mais simples e organizada.

Page 35: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 35 07-2002

Fig. 32 - Sinal com o Maior Vale Assinalado

A imagem anterior (Fig. 32) mostra uma projecção com o maior vale assinalado.

4.4. Análise de Imagem

4.4.1. A Localização da Face e dos Olhos Esta é a primeira etapa da análise de imagem. A localização da face será a

primeira fase, e irá definir a região de interesse a partir da imagem original. A imagem original tem dimensões de 576 por 768 pixels e apresenta a cara do utilizador numa posição desconhecida à partida. Após definida esta região a fase da extracção dos olhos irá determinar duas novas regiões de interesse, cada uma centrada num dos olhos.

A figura seguinte (Fig. 33) mostra as imagens que resultantam de cada uma

destas fases, que serão descritas de seguida

Fig. 33 - Diagrama Funcional da Localização da Face e dos Olhos

Page 36: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 36 07-2002

4.4.1.1. A Localização da Face

A localização dos limites da face é a primeira etapa da análise das imagens. Embora se parta do princípio que a imagem contém a face de uma pessoa a sua localização é incerta. Visto ser pretendida uma grande resolução nos olhos a face terá dimensões consideráveis, o que poderá resultar que esta não se encontre totalmente visível na imagem. Além disso, há uma certa liberdade para a posição da face relativamente à câmara, o que leva a que a face não esteja centrada na maior parte das situações.

Assim, foi necessário desenvolver um método que garantia a localização exacta

da face mesmo em situações em que um dos limites laterais da face não estivesse visível, ou noutras em que o limite superior da imagem não incluísse a parte superior do rosto.

Tal análise permite tornar o sistema mais robusto e mais flexível, não impondo

restrições adicionais ao posicionamento correcto da face e permitindo utilizar um maior factor de zoom na objectiva, o que aumenta a versatilidade do método.

O ponto de partida é uma imagem da face do utilizador, obtida com a câmara

posicionada por baixo do monitor (Fig. 34). As dimensões das imagens utilizadas foram fixas, de 576 por 768 pixels. Estas dimensões foram impostas pela placa de aquisição utilizada.

Fig. 34 - Imagem Original

De seguida calcularam-se os módulos dos gradientes vertical e horizontal da

imagem (Fig. 35/Fig. 36). Estes gradientes foram calculados aplicando o operador de Sobel com janelas de 3x3 pixels. Embora este método não seja dos que garantem maior exactidão na detecção de contornos, nesta fase do processo apenas se quer obter uma estimativa dos limites, e a utilização de métodos mais precisos (como os métodos de Canny ou Shen-Castan [1]) aumentaria significativamente o tempo de processamento, devido às grandes dimensões da imagem.

Page 37: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 37 22-07-2002

Fig. 35 - Gradiente com Orientação Vertical

Fig. 36 - Gradiente com Orientação

Horizontal Seguidamente, estas imagens foram binarizadas utilizando um nível de

binarização fixo, que gerou bons resultados com todas as imagens utilizadas (Fig. 37/Fig. 38).

Fig. 37 - Gradiente Vertical Binarizado

Fig. 38 - Gradiente Horizontal Binarizado

Através destas imagens pretende-se determinar qual a zona da imagem a

seleccionar (excluindo todas as outras zonas) para a posterior detecção dos olhos. Na fase seguinte obtiveram-se a projecção segundo a direcção vertical dos

pontos brancos da imagem do gradiente vertical e a projecção segundo a direcção horizontal dos pontos brancos da imagem do gradiente horizontal (Fig. 39). Tal permite obter dois sinais cujos máximos de cada um correspondem à localização das colunas e das linhas da imagem onde os contornos são mais acentuados.

Como a análise destes sinais irá influenciar a determinação dos limites de região

de interesse, convém que estes se encontrem o mais livres de ruído e oscilações bruscas possível, de modo a aproximarem-se ao máximo dos padrões procurados. Para tal usaram-se filtros passa-baixo simples, com janelas flutuantes de média e mediana cuja dimensão tem em conta a dimensão do sinal. A escolha da dimensão destas é importante, para se obter uma boa suavização sem destruir as características principais do sinal.

Page 38: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 38 22-07-2002

Fig. 39 - Projecções dos Gradientes

A projecção vertical evidencia os limites laterais da face. Na projecção

horizontal (onde os valores do eixo horizontal correspondem às linhas da imagem) são nítidos os máximos correspondentes ao início do cabelo, sobrancelhas e olhos.

Para determinar os limites laterais da imagem (Fig. 40) procurou-se o primeiro e

o último valor da projecção horizontal que ultrapassassem uma determinada percentagem fixa do máximo. Contudo, se um dos limites da face não for visível na imagem (caso em que o primeiro e o último máximo estão muito próximos um do outro) identifica -se o lado em falta e não se efectua corte no lado da imagem correspondente.

Fig. 40 - Limites Horizontais de Corte

Para determinar os limites superior e inferior de corte a abordagem será

obviamente diferente. O objectivo será eliminar tudo o que estiver para baixo dos olhos, pois elementos como a boca, barba e as narinas dificultam a posterior detecção dos olhos. A existência de cabelo não é prejudicial, como se verá adiante. Assim, esta fase

Page 39: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 39 22-07-2002

consistia fundamentalmente na obtenção de um bom limite inferior da região de interesse (ROI).

O melhor método que se testou foi analisar os máximos da projecção horizontal.

Ao identificar o máximo correspondente aos olhos resolve-se o problema. Contudo, devido à liberdade que se deu quanto à posição da face, não se sabe quantos máximos existem no sinal antes do máximo correspondente ao olho, pois o cimo da imagem pode ser o cabelo (ou a ausência deste), a testa do utilizador ou mesmo o fundo por detrás dele. Desta forma os máximos correspondentes aos olhos não podem ser identificados pelo seu número.

Neste método usou-se apenas os primeiros 80% da projecção horizontal (Fig.

41). Tal deveu-se ao facto de se saber antecipadamente que os olhos não se encontram nesta zona da imagem, e também porque a parte final do sinal poderia ocasionar erros na detecção caso apanhasse os ombros do indivíduo (apareceria um pico muito alto na projecção).

Fig. 41 - Projecção do Gradiente Horizontal (80%)

De seguida fez-se uma procura e etiquetagem de máximos e mínimos do sinal,

usando as funções de análise de projecções descritas anteriormente. Depois de saber a localização de cada um dos extremos procedeu-se a uma análise de modo a detectar o padrão “sobrancelhas -olhos” (os dois máximos no centro do sinal).

Para o efeito procurou-se os primeiros três mínimos “adjacentes” (contêm

exactamente dois máximos entre o primeiro e o terceiro mínimo) que obedeçam às seguintes condições:

• a diferença de amplitude do 1º para o 3º mínimo não pode exceder 25% da amplitude máxima;

• a amplitude do mínimo do meio não pode ser inferior à amplitude mínima dos mínimos extremos;

Page 40: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 40 22-07-2002

• as amplitudes dos 2 máximos para o mínimo do meio devem diferir um certo valor mínimo (para evitar detectar pequenas oscilações não retiradas após o processo de suavização);

• um dos máximos deve ser superior a 70% do valor máximo do sinal. Com estes testes o padrão Sobrancelha/Olho foi detectado a maior parte das

vezes. O limite inferior da ROI será durante a descida do segundo máximo para o terceiro mínimo (70% da descida mais uma margem de segurança).

O limite superior será o topo da imagem, excepto em casos em que a diferença

entre os limites superior e inferior seja bastante elevado, sendo nestes casos o limite superior determinado um valor fixo acima do inferior.

A Fig. 42 mostra a projecção horizontal juntamente com os limites verticais da

região de interesse.

Fig. 42 - Limites Verticais da Região de Interesse

Este método não funcionou nos casos em que o olho e a sobrancelha se

encontravam “juntos” num só pico. Desta forma a detecção do padrão falhava. Para contornar estes casos considerou-se que o máximo do sinal corresponderia a este pico. Assim determinou-se o limite inferior de corte a 70% da descida deste máximo para o mínimo seguinte (mais uma margem de segurança).

O processo de detecção do limite inferior de corte não é simples, e este método

foi o que proporcionou melhores resultados (Fig. 43). Contudo, muitos outros foram testados (e posteriormente rejeitados). O grande problema prende-se com o facto de não se saber quantos máximos terá a projecção, e nem sequer se saber a que zona da cara corresponderá o maior máximo. Faces com barba, com pouco cabelo ou com sobrancelhas finas originarão certamente projecções muito diferentes, e daí a dificuldade desta etapa.

Refira-se, a título de exemplo, que outras técnicas que não resultaram. Todos

aqueles que se baseassem na procura do maior máximo para identificação da zona da cara não eram de confiança. A procura de “vales” no sinal também não resultou bem, pois a sua extensão é muito variável e tanto o mínimo acima da sobrancelha como o mínimo abaixo do olho têm por vezes amplitudes não muito baixas.

Page 41: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 41 22-07-2002

Fig. 43 - Padrão “Sobrancelha-Olho” na Projecção Horizontal de várias imagens

Tendo os quatro limites determinados pode -se efectuar a definição da ROI,

obtendo a seguinte imagem (Fig. 44) que será objecto de processamento em fases posteriores.

Fig. 44 - Imagem após o Corte Inicial

4.4.1.2. A Localização dos Olhos Partindo desta imagem o objectivo será agora definir duas ROI de modo a que

cada uma contenha um dos olhos. O passo seguinte consistiu na binarização da imagem. Contudo um nível de

binarização fixo não funcionaria bem, pois será dependente das condições de iluminação, do tom de pele e da cor dos olhos do utilizador. Para a selecção do limiar de binarização recorreu-se ao Histograma acumulado da região de interesse. Este sinal mostra, para cada valor de intensidade da imagem (entre 0 e 255) as ocorrências de pixels com valor de intensidade igual ou menor, isto é, para cada nível de intensidade n

Page 42: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 42 22-07-2002

(entre 0 e 255) a função do Histograma Acumulado H(n) toma o valor do número total de pixels da imagem (i,j) cuja intensidade I(i,j) é igual ou inferior a n .

Desta forma obtém-se um sinal monótono crescente (Fig. 45). O nível de binarização seleccionado será aquele que originar uma imagem com uma dada percentagem de pixels pretos (neste caso usou-se 20%).

Fig. 45 - Histograma Acumulado e Limiar de Binarização

Binarizou-se assim a imagem da face usando o nível de binarização obtido (Fig.

46).

Fig. 46 - Face Binarizada

De seguida retiraram-se os objectos pequenos da imagem, eliminando todos

aqueles que apresentavam uma área inferior a um certo valor (considera-se como objecto um conjunto conexo – conectividade 8 – de pixels pretos). Com esta operação pretende-se que os objectos correspondentes aos olhos sejam retirados (Fig. 47).

Page 43: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 43 22-07-2002

Fig. 47 - Remoção de Objectos Pequenos

Depois subtraiu-se esta imagem (Fig. 47) à inicial (Fig. 44), obtendo o resultado

da Fig. 48 e binarizou-se usando um nível fixo (Fig. 49).

Fig. 48 - Subtração dos Objectos

Fig. 49 - Binarização

A selecção das janelas para cada olho passa novamente pela análise das

projecções. Depois das operações anteriores o cabelo do utilizador foi, em grande parte, eliminado. Desta forma sabe-se que os grandes objectos restantes correspondem aos olhos e às sobrancelhas.

Construindo o sinal que corresponde à projecção horizontal dos pixels brancos

da imagem (Fig. 50) são nítidos dois picos. Assim são detectados os dois “montes” mais largos cujos valores máximos ultrapassem um determinado limiar, e considera-se que o monte inferior corresponde aos olhos. Os cortes são efectuados pelos mínimos que limitam o monte seleccionado, gerando a imagem da Fig. 51.

Fig. 50 - Projecção Horizontal da Imagem Binarizada e Limites Verticais

Page 44: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 44 22-07-2002

Fig. 51 - Resultado dos Cortes Verticais

Depois dos cortes verticais constroi-se a projecção vertical dos pixels brancos da

imagem resultante (Fig. 52). Novamente são esperados dois máximos, um correspondente a cada olho. Faz-se a detecção destes máximos, de um modo idêntico ao que foi utilizado para a projecção horizontal. Depois determinam-se os limites horizontais de corte, para cada olho, “descendo” desde os máximos para ambos os lados, até se atingir 80% da descida ao deslocarmo-nos para o exterior, e 70% da descida ao deslocarmo-nos para o interior. Mais uma vez é dada uma margem de segurança.

Fig. 52 - Projecção Vertical da Imagem Binarizada e Limites Horizontais

Fig. 53 - Resultado dos Cortes Horizontais

Page 45: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 45 22-07-2002

Nesta altura já são conhecidos os quatro limites para cada um dos olhos, podendo portanto ser construídas as imagens de cada um deles. Estas imagens serão o ponto de partida do próxima etapa do processamento.

Estes métodos de análise de projecções revelaram-se simples, rápidos e efic azes.

Contudo há que ter em conta que uma boa suavização do sinal a analisar é crucial, sob pena de pequenas oscilações originarem extremos indesejados. Uma suavização forte demais também acarreta problemas, destruindo informação relevante dos sinais.

Toda esta etapa do processo estava já implementada antes da criação das funções

de análise de projecções. Contudo, foi depois em grande parte reconstruída de forma a aumentar a eficácia e robustez das detecções. Os métodos antigos eram baseados nas mesmas ideias, mas implementados de forma menos eficiente. Assim apenas se apresenta a solução final.

4.4.2. Extracção do Contorno da Íris Esta segunda etapa da análise de imagem irá determinar o contorno da íris de

cada olho partindo das imagens dos olhos obtidas na fase anterior. Esta etapa contém 3 fases distintas: a Detecção dos Contornos do olho, a Binarização do Olhos e a Determinação do Contorno da Íris. Esta última fase utiliza a informação resultante das outras duas, que são independentes uma da outra.

A Fig. 54 mostra o diagrama funcional respeitante a esta etapa.

Page 46: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 46 22-07-2002

Detecção doscontornos

Binarização

Determinaçãodo contorno

da íris

Fig. 54 - Diagrama Funcional da Extra

4.4.2.1. A Detecção de Contornos Após concluir a etapa anterior obtém-se duas imagens, uma correspondente a

cada olho (Fig. 55/Fig. 56). Esta etapa consistirá em extrair o contorno visível da íris, de forma a posteriormente utilizar esta informação para estimar a elipse que melhor se adapta à íris.

Antes do processamento as imagens são normalizadas de forma a que as

intensidades abranjam toda a gama de intensidades.

Fig. 55 - Olho da Esquerda

Fig. 56 - Olho da Direita

Page 47: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 47 22-07-2002

A partir deste momento a análise feita para os dois olhos é idêntica, razão pela qual se irá apenas apresentar o processo correspondente a um deles.

O primeiro passo será fazer uma boa detecção de contornos: deseja-se uma

detecção contendo o máximo do contorno possível (e que se possível não apresente descontinuidades) mas que ao mesmo tempo seja uma detecção fina, isto é, que a espessura dos contornos ocupe um pequeno número de parcelas.

Foram testados vários métodos, sendo aquele que gerou melhores resultados o

método de Shen-Castan (Fig. 57). Este método percorre a imagem em quatro varrimentos, um da esquerda para a direita em cada linha, seguindo as linhas de cima para baixo, um de cima para baixo em cada coluna, seguindo as colunas da esquerda para a direita, e mais os dois varrimentos inversos a estes. Ao percorrer a imagem aplica-lhe um filtro exponencial de resposta impulsional infinita (IIR). É uma técnica mais morosa, mas bastante mais robusta que os simples operadores de Sobel e Prewitt, e origina contornos de espessura reduzida se a imagem resultante for binarizada correctamente (Fig. 58).

Fig. 57 - Detecção de Contornos Shen -Castan

Fig. 58 - Binarização da Det. Contornos

Após se obter a imagem do gradiente do olho (no fundo é a imagem da

intensidade dos contornos) é necessário binarizá -la. A decisão do nível de binarização a utilizar é importante, pois um valor desadequado pode eliminar contornos importantes, ou adicionar contornos indesejáveis. Um nível fixo mostrou ser bastante ineficiente, tendo sido a melhor solução encontrada utilizar um nível tal que existissem 5% de pixels brancos na imagem binarizada (nível obtido novamente por análise do histograma acumulado da imagem).

O método de Cann y também funcionou razoavelmente bem, mas detectou

contornos fracos que são desnecessários para a análise pretendida. De seguida (Fig. 59/Fig. 62) encontra-se uma demonstração dos 4 métodos para o olho da direita.

Fig. 59 - Shen-Castan

Fig. 60 - Canny

Page 48: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 48 22-07-2002

Fig. 61 - Roberts

Fig. 62 - Prewitt

Esta foi uma fase de extrema importância, pois uma má detecção de contornos

origina um mau funcionamento de todas as fases consequentes do processo. As duas imagens seguintes (Fig. 63/Fig. 64) mostram os contornos determinados pelo método de Shen-Castan sobrepostos aos olhos.

Fig. 63 - Olho da esquerda com contornos

Fig. 64 - Olho da direita com contornos

4.4.2.2. A Binarização dos Olhos O passo seguinte foi binarizar a íris. Este foi um passo onde foi bastante

complicado arranjar um método que se comportasse bem com a maioria das imagens. O objectivo desta fase é obter um nível de binarização que origine uma imagem da íris binarizada que se ajuste o máximo possível aos contornos detectados anteriormente. Contudo, pequenas variações de luminosidade, como sombras localizadas no lado interior do olho, fazem com que este nível de binarização “ideal” varie drasticamente, mesmo nos dois olhos de uma mesma imagem.

Foram experimentados diversos métodos, e a grande maior parte deles originava

resultados muito maus. Métodos com nível de binarização fixo foram logo à partida postos fora de questão. Métodos com nível de binarização que originasse uma determinada percentagem de pixels pretos na imagem resultante (analisando o histograma acumulado) também tiveram resultados fracos. Para ambos estes métodos os parâmetros da binarização podem ser ajustados de forma a que esta origine um bom resultado numa dada imagem, mas por vezes com imagens diferentes os resultados eram catastróficos.

O método tradicional de Otsu de binarização automática também se mostrou

incompatível, visto o histograma das imagens não ser bimodal. Técnicas de Binarização local (LocThres), que dividem a imagem em blocos concatenados e determinam o melhor nível de binarização para cada um deles também se mostraram ineficientes. Embora por vezes funcionassem bastante melhor que os outros métodos nas zonas mais escuras do olho (devido à sombra provocada pelo nariz, por exemplo) nas zonas à partida “fáceis” de binarizar compor tava-se mal.

Page 49: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 49 22-07-2002

A melhor solução encontrada passou por determinar o nível de binarização por análise do histograma da imagem do olho. Verificou-se que, embora o histograma do olho nunca fosse bimodal, grande parte dos pixels do interior da íris se encontravam no primeiro “monte” do histograma.

A primeira etapa consistiu em acentuar a bimodalização do histograma da

imagem, construindo uma nova imagem resultante da operação de máximo entre a imagem do olho com a imagem dos contornos (Fig. 65). O objectivo é eliminar pontos que, por estarem no contorno, possivelmente terão intensidades próximas do nível de binarização óptimo.

Fig. 65 - Acentuar a Bimodalização do Histograma

Visto o número de pontos brancos na imagem resultante da detecção de

contornos ser reduzido esta operação não originou uma mudança significativa nos histogramas. Contudo manteve -se esta fase activa, visto não piorar os resultados da análise que se pretende efectuar, embora as melhorias sejam pouco significativas.

Depois foi feita uma suavização ao histograma da nova imagem de cada olho, e

uma posterior detecção e etiquetização de extremos relativos (Fig. 66). O nível de binarização adequado situar -se-ia próximo do primeiro mínimo do sinal (corte feito depois do primeiro “monte”).

Page 50: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 50 22-07-2002

Fig. 66 - Determinação do Nível de Binarização adequado

Como se verifica nos gráficos apresentados a suavização do histograma deve ser

feita muito cautelosamente, de forma a não eliminar “montes” ou “vales” pouco acentuados, e ao mesmo tempo deve eliminar as irregularidades frequentes na envolvente do sinal. Este método binarização foi sem dúvida o único que originou resultados positivos, embora seja bastante sensível. As imagens seguintes (Fig. 67/Fig. 68) mostram um mau resultado originado por uma suavização excessiva.

Fig. 67 - Histograma bem suavizado

Fig. 68 - Histograma demasiado suavizado

Os resultados destas binarizações são apresentados de seguida (Fig. 67/Fig. 68).

Estes estão sobrepostos aos contornos dos olhos detectados anteriormente por forma a melhor se visualizar a qualidade das binarizações efectuadas.

Page 51: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 51 22-07-2002

Fig. 69 - Binarização do Olho da Esquerda

Fig. 70 - Binarização do Olho da Direita

De seguida encontram-se algumas imagens que demonstram os resultados

obtidos pelos vários métodos experimentados (Fig. 71/Fig. 76).

Fig. 71 - Método do 1º

Monte

Fig. 72 - Nível de Binarização Fixo

Fig. 73 - Nível que origina determinada % de preto

Resultados com uma outra imagem:

Fig. 74 - Imagem e

Contornos

Fig. 75 - Método do 1º

Monte

Fig. 76 - LocTresh

4.4.2.3. A Determinação do Contorno da Íris Após a obtenção das imagens resultantes das duas fases anteriores (os contornos

do olho e a binarização do olho) irá iniciar-se uma nova etapa cujo objectivo é determinar apenas os contornos visíveis da íris. Esta etapa irá conjugar a informação presente nestas duas imagens.

Este método consistirá em obter uma aproximação do contorno da íris por

análise da imagem binarizada, depois de a tratar devidamente. Essa aproximação do contorno será obtida através da construção de um sinal cuja amplitude é a envolvente inferior da imagem binarizada.

A ideia deste método assenta na qualidade da binarização efectuada

anteriormente. Caso esta tenha sido bem sucedida não haverá pixels pretos em zonas abaixo da íris. Este tipo de imagens binarizadas deve-se também ao posicionamento da câmara utilizado. Uma das razões para se utilizar a câmara a uma altura inferior à da face do utilizador foi poder obter imagens deste tipo. Imagens captadas numa posição superior não iriam certamente obter uma visua lização tão nítida (sem estar encoberta por pestanas ou pela sobrancelha) da metade inferior da íris, que é a metade mais frequentemente visível.

Page 52: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 52 22-07-2002

Foram então aplicadas operações morfológicas (erosões, dilatações, eliminação

de objectos pequenos) de modo a melhorar a imagem binarizada. Estas operações, nas quais se utilizou janelas bastante pequenas (6x6), destinam-se a “retocar” a imagem binarizada:

• agregando pixels que deveriam fazer parte do objecto (pequenas irregularidades no contorno da íris);

• removendo pixels pretos soltos; • tapando buracos no interior do objecto (em grande parte devido a

reflexos).

Fig. 77 - Imagem

Binarizada

Fig. 78 - Dilatação

Fig. 79 - Remoção de Objectos Pequenos

Na fase posterior é calculada a projecção vertical e análise do sinal obtido de

forma a estabelecer dois limites da ROI, um de cada lado do objecto. Faz-se a detecção, localização e contagem dos extremos relativos de cada projecção (Fig. 80).

Fig. 80 - Projecções verticais dos olhos binarizados

Embora este seja o padrão comum da projecção das imagens, por vezes não são nítidos 3 máximos. No caso de só serem visíveis dois, parte -se do princípio que o máximo em falta é o que corresponde à zona exterior do olho. Noutro caso qualquer não são efectuados os cortes. Os cortes são feitos perto dos máximos, dando uma margem de segurança para cada lado.

Fig. 81 - Imagem após os cortes

Fig. 82 - Após várias operações morfológicas

Page 53: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 53 22-07-2002

Depois deste processo obtém-se a imagem que irá gerar o sinal da aproximação do contorno da íris. Esse sinal está representado a vermelho na figura seguinte (Fig. 83), e é obtido pela envolvente inferior do objecto.

Fig. 83 - Contorno Inferior do Olho

Os cortes efectuados podem parecer desnecessários, e realmente são, a maior

parte das vezes. Contudo permitem evitar que erros como o da Fig. 84 ocorram. Depois de se efectuar os cortes, apenas se mantém na imagem binarizada o maior conjunto de pixels pretos.

Fig. 84 - Erro caso não se efectuassem os cortes

Após a obtenção do sinal é-lhe aplicada uma suavização e os dois máximos são

detectados. O sinal entre estes dois máximos corresponde à aproximação do contorno pretendida (Fig. 85).

Fig. 85 - Limites do contorno inferior dos olhos

Depois de construída a imagem com o contorno aproximado (Fig. 86) constrói-

se a imagem correspondente da Transformada da Distância (Fig. 87). Esta transformada cria uma nova imagem que atribui a cada pixel o valor da menor distância a um ponto branco da imagem do contorno aproximado. Assim, na imagem da transformada, os

Page 54: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 54 22-07-2002

pixels correspondentes ao contorno serão pretos (distância zero) e os mais distantes serão brancos (distância máxima).

De seguida seleccionaram-se os pixels com distância ao contorno aproximado

inferior a um certo valor. Estes pixels servirão para a construção de uma máscara (Fig. 88). O valor utilizado foi diferente na selecção dos pixels acima e abaixo deste contorno, tendo sido utilizada uma margem de erro maior para baixo. Tal deve-se a que na maior parte das vezes o contorno aproximado obtido pela imagem do olho binarizado estar situado ligeiramente acima do contorno obtido pela detecção de contornos.

Fig. 86 - Contorno

aproximado

Fig. 87 - Transformada da

Distância

Fig. 88 - Máscara

Com esta máscara e com a imagem resultante da detecção de contornos inicial

vão ser seleccionados os pontos do contorno que irão posteriormente estimar a elipse (Fig. 89/Fig. 94). Esses pontos serão todos os pontos dos contornos do olho que se encontrem dentro da zona definida a branco pela máscara (excepto grupos de pontos excepcionalmente pequenos).

Fig. 89 - Selecção dos pontos do contorno

Fig. 90 - Selecção dos pontos do contorno

Fig. 91 - Contorno Final

Fig. 92 - Selecção dos pontos do contorno

Fig. 93 - Selecção dos pontos do contorno

Fig. 94 - Contorno Final

Este método foi desenvolvido para superar a grande dificuldade de distinguir os

contornos da íris do resto das contornos. Outros métodos possíveis para a localização do olho poderiam passar por Transformadas de Hough ou correlações usando padrões pré-definidos. Contudo tal acarretaria um grande tempo de processamento e não seria, garantidos resultados melhores. Assim, este novo método mostrou ser relativamente simples e bastante eficiente em tempo de computação.

Este método proporciona resultados bons excepto quando as condições de

iluminação não permitem que a detecção de contornos ou a binarização sejam realizadas correctamente. Assim, a zona interior do olho deverá estar bem iluminada (embora nestes exemplos não esteja muito) sem que a luz que o ilumina origine reflexos grandes.

Page 55: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 55 07-2002

4.4.3. Detecção de Elipses Esta é a terceira e última etapa da Análise de imagem. O objectivo será

determinar os parâmetros da elipse que melhor se adapta ao contorno da íris determinado na etapa anterior. A Fig. 95 mostra as imagens de entrada e de saída desta fase.

Procura damelhor elipse

Fig. 95 - Diagrama Funcional da Detecção de Elipses

Obtidos os contornos da íris de cada olho é assim possível estimar a elipse que

melhor se adapta a cada um deles. Contudo, a escolha do método de detecção não é simples, pois pretende-se um processo eficaz mas também eficiente relativamente ao tempo de processamento.

Contudo, antes de se fazer a estimação das elipses compensa-se a distorção

provocada pela lente no contorno detectado na fase anterior. Assim as elipses serão estimadas utilizando não os contornos detectados mas sim uma imagem idêntica sem distorção.

Os pixels dos contornos são projectados no plano normalizado compensando a

distorção, sendo utilizado para isso um método numérico (visto não existir uma expressão algébrica para a transformação inversa) que usa os parâmetros intrínsecos estimados para a câmara (este processo designa-se normalização).

Fig. 96 - Pontos em Coordenadas Pixel

(com distorção)

Fig. 97 - Pontos em Coordenadas

Normalizadas (distorção compensada)

Page 56: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 56 07-2002

A imagens seguintes (Fig. 98/Fig. 99) mostram a projecção dos olhos com

distorção juntamente com os contornos sem distorção. Apenas foi compensada a distorção dos pontos do contorno da íris, pois compensar a distorção de todos os pixels da imagem seria um processo bastante demorado e sem grande utilidade. Obviamente a distorção será tanto maior quando mais afastados estiverem os pixels do ponto principal da imagem.

Fig. 98 - Contorno sem distorção

Fig. 99 - Contorno sem distorção

Contudo, as imagens visualizadas na etapa da estimação das elipses não terão a

distorção compensada. O objectivo será poder visualizar melhor a adaptação das elipses aos olhos, o que não seria tão óbvio com imagens como as das Fig. 98/Fig. 99.

A equação cartesiana da elipse com eixos paralelos aos eixos coordenados é

1)()(

2

20

2

20 =

−+

−b

yy

a

xx ( 13 )

onde );( 00 yx são as coordenadas do centro da elipse, e ba, são os comprimentos dos semi-eixos da elipse. Contudo as elipses procuradas não têm necessariamente os eixos nestas condições, pelo que é necessário a estimação de um quinto parâmetro θ , a inclinação do eixo maior da elipse.

Fazer a correlação da imagem com padrões conhecidos seria extremamente

exigente a nível de tempo de processamento. Pela mesma razão não se utilizou uma transformada de Hough bruta, pois o tempo de computação aumenta exponencialmente com o crescimento do número de parâmetros a estimar, e não são conhecidos a priori nenhum dos parâmetros da elipse.

Assim optou-se por utilizar métodos mais rápidos, ainda que menos eficazes,

para uma primeira estimativa da elipse. Utilizou-se assim um método bastante rápido de estimação de cónicas específico para elipses [10]. Este consiste em determinar a elipse que minimize o quadrado da distância do seu contorno a cada ponto que a gerou. É um método não iterativo que calcula os parâmetros da elipse apenas através de modelos algébricos.

As imagens seguintes (Fig. 100/Fig. 101) demonstram o resultado obtido pela

aplicação deste método às imagens dos contornos.

Page 57: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 57 07-2002

Fig. 100 - Elipse estimada e o

contorno que a gerou

Fig. 101 - Elipse estimada e o

contorno que a gerou

Os resultados são satisfatórios, graças à boa estimação dos contornos nesta imagem. Contudo, como os contornos não estão totalmente visíveis (a parte de cima do olho é sempre ocultada pela pálpebra) este método estima a elipse apenas com pontos da sua parte inferior, e tal mostrou ser insuficiente. De facto, este método provou ser tremendamente eficaz na estimação de elipses com pontos espalhados em redor do centro, mas nos casos utilizados tende a detectar elipses com excentricidade menor (mais “achatadas”) que o que realmente deveria.

Seria portanto aconselhável utilizar um outro método para ajustar a escolha

efectuada por este. Foi assim implementada uma Transformada de Hough para elipses para melhorar a decisão obtida. Embora este método seja bastante pesado do ponto de vista computacional, pelo facto de já se saber uma aproximação dos parâmetros da elipse pode-se restringir bastante a procura, poupando tempo que seria perdido desnecessariamente.

A Transformada de Hough para elipses consiste em desenhar uma elipse com

determinados a , b e θ em cada ponto do contorno (Fig. 102/Fig. 103), e para cada ponto ),( yx onde a elipse passe incrementar uma unidade ao acumulador na célula de coordenadas ),,,,( θbayx . O acumulador é uma matriz de 5 dimensões, uma para cada parâmetro da elipse. Esta operação é repetida para os valores de a , b e θ que se deseja testar. No final a célula do acumulador com o valor máximo terá as coordenadas da elipse estimada.

Fig. 102 - Pontos do Contorno

Fig. 103 - Transformada de Hough completa

Só faz sentido utilizar este método se se conseguir restringir bastante a gama dos

parâmetros a estimar, e também se o número de pontos do contorno não for demasiadamente grande (por esta razão na detecção dos contornos da íris não foram utilizadas transformadas de Hough).

As restrições foram as seguintes:

• foi definida uma medida de ângulo proporcional ao perímetro da elipse a estimar, de modo a não ser demasiado pequeno, o que exigia tempos de cálculo longos, nem suficientemente grande, com insuficiente informação;

• apenas se incrementou o acumulador próximo do centro da elipse resultante da primeira detecção, dando para cada lado uma margem de

Page 58: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 58 07-2002

erro que mostrou ser adequada (22.5º = 1/16 de 360º), como mostra a Fig. 103;

• a dimensão do eixo maior é praticamente a mesma que foi obtida com a detecção de elipses inicial (caso o sistema já esteja calibrado para uma determinada distância pode-se usar a estimativa do diâmetro do olho em pixels);

• as dimensões para o eixo menor a testar serão iguais ou superiores à dimensão obtida na primeira de tecção (a primeira detecção nunca origina elipses com excentricidade maior que a óptima) e inferiores à do eixo maior;

• as orientações a adicionar à elipse são múltiplas do ângulo acima calculado, e só abrangem 22.5º para cada lado.

As imagens seguintes (Fig. 104/Fig. 107) mostram “fatias” do acumulador, isto

é, mostram os centros candidatos ),( yx para valores fixos de a , b e θ . Para cada variação de cada um destes três parâmetros existe uma imagem semelhante.

Fig. 104 - Apenas analisa

uma gama reduzida

Fig. 105 - Resultado de 3

análises

Fig. 106 - “Fatia” do

Acumulador

Fig. 107 - “Fatia” do Acumulador (3D)

As “fatias” acima visualizadas correspondem àquelas que apresentaram o maior

valor do acumulador. Os novos parâmetros da elipse acabados de estimar serão os definitivos (Fig. 108/Fig. 109). Como se esperava, é nítida a melhoria da qualidade da nova estimação comparativamente à antiga.

Page 59: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 59 07-2002

Fig. 108 - Elipse definitiva

Fig. 109 - Elipse definitiva

A título de exemplo mostra-se um outro caso para se comparar o resultado dos

dois métodos (Fig. 110/Fig. 111).

Fig. 110 - Estimação apenas com o 1º método

Fig. 111 - Estimação usando os 2 métodos

Apenas uma pequena dificuldade surgiu ao usar este novo método. Por vezes

existe mais que um valor máximo no acumulador de Hough. Isto sucedia-se principalmente ao variar o parâmetro θ . Nas três imagem de baixo (Fig. 112/Fig. 114) o máximo acumulador foi o mesmo, bem como para aquelas cuja orientação é intermédia a elas. Nestes casos a opção tomada foi aceitar a solução mediana. Neste caso aceitar-se-ia a orientação da imagem do meio, que visivelmente parece ser a mais correcta.

Fig. 112 - Parâmetros

Óptimos (1)

Fig. 113 - Parâmetros

Óptimos (2)

Fig. 114 - Parâmetros

Óptimos (3)

A Transformada de Hough mostrou ser bastante precisa e demonstrou resultados

superiores aos obtidos pelo primeiro método. Contudo, a excelente qualidade dos resultados obtidos nesta fase, tanto em eficácia como em eficiê ncia, deveu-se à utilização conjunta dos dois métodos. O primeiro serviu para obter uma estimativa razoável e o segundo para refinar a escolha. Graças aos óptimos resultados esta fase do processo obteve uma eficácia superior a todas as outras.

4.5. Condições de Iluminação A questão da iluminação não foi definida à partida. À medida que se ia

desenvolvendo o método de análise de imagem foi-se verificando que tipo de imagens não produziam bons resultados, e foram sendo captadas imagens segundo vários métodos de iluminação. Por nesta etapa serem referidos aspectos e fases do trabalho da fase da análise de imagem optou-se por abordar a questão da iluminação num sub-capítulo posterior. Esta fase mostrou ser crucial para o bom funcionamento do projecto, pelo que devem ser asseguradas as melhores condições de iluminação possíveis.

Page 60: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 60 07-2002

As primeiras experiências foram realizadas com luz natural (Fig. 115/Fig. 116). Essa luz incidia quase directamente na face do utilizador, originando uma boa iluminação e sombras quase inexistentes.

Fig. 115 - Iluminação natural frontal

Fig. 116 - Iluminação natural frontal

O facto da face aparecer saturada (bastante clara, a confundir -se c om o fundo da imagem) pode ser compensado modificando a abertura da objectiva da câmara. Contudo, tal não origina problemas na fase de detecção, sendo por isso este aspecto irrelevante.

O problema destas imagens são os reflexos que inevitavelmente aparecem nos

olhos. Como a iluminação é bastante forte, origina reflexos localizados no olho, devido a este ser quase esférico. Estes reflexos serão sempre detectados na detecção de contornos e por vezes originam quebras no contorno da íris, pelo que devem ser evitados. Como na maior parte das imagens apenas uma fracção do contorno da íris é visível, não se pode “dar ao luxo” de perder nenhuma parte do contorno visível.

Assim foi experimentada a captação de imagens com luz artificial (Fig. 117). As

luzes existentes no laboratório onde a captação de imagens foi realizada eram luzes fluorescentes situadas no tecto da sala, sem qualquer revestimento exterior.

Fig. 117 - Iluminação interior

Embora para este tipo de imagens os resultados tenham sido bastante melhores,

há sempre um pequeno reflexo nos olhos devido à incidência directa da luz que vem do

Page 61: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 61 07-2002

tecto. Estes pequenos reflexos mostraram-se bastante difíceis de retirar, e comprometeram seriamente a fase de binariza ção dos olhos. A tentativa de melhorar a qualidade das imagens levou a experimentar outras técnicas.

Por esta razão foi experimentada uma iluminação natural vinda por trás do

utilizador (Fig. 118). Obviamente a face ficará em cont raluz e será necessário abrir bastante a objectiva da câmara para que a face não apareça demasiado escura na imagem.

Fig. 118 - Iluminação natural por trás

Assim resolve -se o problema dos reflexos, mas a face apresenta -se demasia do

escura. Para a boa detecção dos contornos da íris é necessário que os olhos estejam bem iluminados, de modo a haver um bom contraste entre a íris e a zona branca do olho. O grande problema desta imagem são as sombras que aparecem no canto interior do olho, junto à cana do nariz. Numa imagem destas o nível automático de binarização não funcionará correctamente.

Foi então tentada outra abordagem: iluminar a face com um projector (Fig.

119/Fig. 120). Posicionou-se um projector em diversos sítios e testou-se qual a melhor posição de modo a iluminar bem a face do utilizador. Foram testadas posições para o projector de várias alturas, e também com várias orientações: virado directamente para o utilizador ou voltado no sentido inverso, de modo a reflectir a luz nas paredes.

Fig. 119 - Iluminação com foco de luz lateral

Fig. 120 - Iluminação com foco de luz

superior

Page 62: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 62 07-2002

Contudo esta opção não se mostrou uma boa escolha, pois o projector utilizado

tinha um foco bastante forte, e não se podia dirigi-lo directamente para a face do utilizador. Todas as posições experimentadas para o foco originaram ou grandes sombras na parte interior dos olhos ou grandes reflexos na íris. Não foi possível colocar o foco numa posição que iluminasse bem os olhos sem causar um grande reflexo. Caso se dispusesse de projectores menos potentes e de um sistema de difração de luz adequado esta poderia ser uma boa opção.

As imagens seguintes (Fig. 121/Fig. 122) foram captadas para demostrar um

outro problema: o aparecimento de reflexos devidos exclusivamente à luz proveniente do monitor do computador.

Fig. 121 - Monitor desligado

Fig. 122 - Monitor ligado

Pelas imagens verifica-se que o simples facto de ligar o monitor projecta na face

do utilizador uma nova luz que origina reflexos indesejáveis. Isto torna -se bastante incómodo já que o monitor estar ligado é condição obrigatória do projecto. Deve-se portanto tentar reduzir ao máximo este efeito, ou usando filtros polarizadores no monitor ou diminuindo a luminosidade deste.

As imagens que se mostram de seguida (Fig. 123/Fig. 124) foram as que

melhores resultados apresentaram nas fases da análise de imagem. Embora estejam saturadas, essa não é uma condição fundamental.

Page 63: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 63 07-2002

Fig. 123 - Condições de iluminação

satisfatórias

Fig. 124 - Condições de iluminação

satisfatórias

Verificou-se assim que as melhores imagens foram aquelas que apresentaram as

íris homogéneas. De modo à binarização se efectuar correctamente a íris deve estar bem destacada do resto do olho, deverá ser o mais homogénea possível (sem ter variações de intensidade provocadas por pequenos reflexos) e não poderá haver grandes sombras no lado interior do olho (logo a face deve estar iluminada). Todas estas restrições devem-se ao facto de a binarização automática da íris ser muito sensível, pois as tonalidades da íris, da sobrancelha e das sombras podem ser muito próximas, tornando a decisão do nível de binarização muito complicada.

A detecção de contornos não se mostrou tão sensível à iluminação como a

binarização. Contudo deve ser assegurado que as imagens não apresentam grandes reflexos susceptíveis de serem considerados contornos, sob pena de gerarem pontos indesejáveis que poderão comprometer a detecção das elipses.

Estas imagens foram captadas usando uma mistura de iluminação interior com

luz natural, ambas de razoável intensidade, e com uma abertura grande na objectiva da câmara. Tal apresenta um entrave pelo facto de não se poder obter boas imagens a determinadas horas do dia. Por esta razão uma boa iluminação artificial seria preferenciada.

Devido às condições de iluminação do laboratório onde foi desenvolvido este

projecto não foi possível testar condições iluminações com lâmpadas fluorescentes revestidas, de modo a criar uma iluminação ambiente, difusa e não incidente nos olhos. Isso originaria sem dúvida imagens de melhor qualidade.

4.6. Síntese A localização da câmara por baixo do monitor mostrou ser a melhor alternativa,

pois é o local que permite captar os olhos na melhor perspectiva possível para a implementação realizada.

Page 64: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 64 07-2002

A localização da face e dos olhos demonstrou grande eficácia e qualidade nas detecções, apresentando bons resultados para diferentes características faciais e para variações de luminosidade consideráveis.

A iluminação óptima deverá ser o mais homogénea possível, e deverá iluminar

suficientemente bem a zona interior dos olhos do utilizador sem causar reflexos na superfície dos seus olhos. O bom funcionamento da etapa seguinte depende da qualidade da iluminação.

As funções de análise de sinal implementadas para a Análise de Projecções

mostraram ser extremamente úteis em toda a fase da Análise de Imagem. Estas funções funcionaram correctamente com todos os sinais experimentados.

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

extremamente satisfatórios, considerando a qualidade das imagens a que foi sujeito. Mostrou ser uma técnica bastante boa, não só neste caso, mas também possivelmente em muitas outras aplicações. No caso de uma mudança de utilizador a alteração de um parâmetro permite ajustar rapidamente o limiar da binarização, no caso de passar a gerar maus resultados.

A detecção do contorno das íris proposta conjugou o resultado da detecção de

contornos com o resultado da binarização do olho. A abordagem foi simples, bastante eficaz e uma das poucas 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.

A dificuldade de uma boa detecção de elipses prendeu-se no facto de na maior

parte das imagens apenas uma fracção do contorno das íris ser visível. A detecção de elipses mostrou-se bastante robusta, detectando correctamente elipses com mais de metade do seu contorno oculto. A opção de implementar uma transformada de Hough com parâmetros restritos melhorou substancialmente muitas das estimações iniciais, e demonstrou ter sido uma parte fundamental do método.

Page 65: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 66: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 67: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 68: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 69: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 70: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 71: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 72: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 73: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 74: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 75: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 76: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 77: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 78: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 79: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 80: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 81: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 82: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 83: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 84: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 85: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 86: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 87: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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 88: Interface com Computador por Controlo Visual de Cursorespaginas.fe.up.pt/~ee97107/Relatorio_de_Projecto_FINAL.pdf · 2002-07-22 · computador, nomeadamente de Análise de Imagem,

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