interface com computador por controlo visual de cursoresee97107/relatorio_de_projecto_final... ·...

12
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

Upload: dolien

Post on 16-Nov-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

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

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).

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

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;

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

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.

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

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

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.

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.

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.

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 12 07-2002

Fig.

3 -

Dia

gram

a F

unci

onal