12
Imagens de Faces: Exemplos de Metodologias e Aplicações Fernando Jorge Soares Carvalho 1 , João Manuel R. S. Tavares 2 1 Departamento de Matemática, Instituto Superior de Engenharia do Porto R. Dr. António Bernardino de Almeida, 431 – 4200-072 PORTO e-mail: [email protected] 2 Laboratório de Óptica e Mecânica Experimental, Departamento de Engenharia Mecânica e Gestão Industrial, Faculdade de Engenharia da Universidade do Porto Rua Dr. Roberto Frias, s/n – 4200-465 PORTO e-mail: [email protected] Resumo O objectivo principal deste artigo consiste em apresentar algumas das metodologias usadas em Visão Computacional no domínio das imagens de faces, e exemplos de algumas das aplicações existentes. Uma das principais tarefas deste domínio é a detecção de faces em imagens estáticas e em sequências de imagens, podendo ou não considerar-se a possibilidade de coexistirem múltiplas faces. Estando cada face detectada nas imagens a considerar, pode-se proceder à extracção de dados para representação da mesma. Para esta representação são comuns três aproximações: a holística, a face é representada como um todo; a analítica, a face é representada como um conjunto de características faciais, como olhos boca e nariz; e a híbrida, a face é representada como uma combinação das duas anteriores. Neste domínio, uma área que tem tido elevada importância é a classificação da expressão facial associada; geralmente as expressões faciais são divididas nas seguintes categorias: felicidade, tristeza, surpresa, medo, raiva e desgosto. Usualmente, a determinação da expressão é conseguida através da utilização de bases de imagens faciais que integram vários exemplos associados a cada expressão a considerar. Palavras-chave: Detecção de faces, Extracção e representação de dados faciais, Classificação de expressões faciais, Visão Computacional. 1. Introdução Sabe-se que, os humanos detectam e interpretam faces e expressões faciais a partir de uma imagem ou de um pequeno esboço com relativa facilidade. No entanto, em sistemas automáticos, existem vários problemas relacionados com a determinação de uma face numa imagem, com a consequente extracção de informação relativa à expressão facial associada, assim como com a posterior classificação da expressão (por exemplo, em categorias de emoção). Um sistema que execute estas operações automaticamente, com precisão, com robustez e em tempo real representa um enorme passo no que diz respeito à interacção homem/máquina. Em Visão Computacional, as metodologias existentes no domínio das imagens de faces, assim como as suas aplicações, são variadas. Exemplos de aplicação são, por exemplo: segmentação, ou seja detecção, de uma face numa imagem, extracção de dados faciais, classificação de expressões faciais, reconhecimento de faces, análise do movimento de faces, etc. Este artigo encontra-se estruturado do seguinte modo: Nas subsecções seguintes são introduzidas, nomeadamente indicando os problemas associados, as três aplicações principais existentes no domínio das imagens de faces: detecção da face, extracção de dados faciais e classificação de expressões faciais. Na secção seguinte, são descritas de forma sucinta várias metodologias existentes para cada uma destas aplicações. Na terceira secção são apresentadas algumas conclusões e indicadas algumas perspectivas de trabalho futuro. 1.1. Detecção da face A detecção da face numa imagem ou numa sequência de imagens é um processo que normalmente exige algum controlo: a face aparece na imagem de uma forma predefinida (por exemplo frontal), a sua existência no cenário é um pressuposto assumido, existe informação prévia acerca do seu posicionamento, etc. A determinação automática da zona exacta onde a face se insere numa imagem pode ser um processo complicado uma vez que, a sua orientação, tamanho e oclusão total ou parcial são variáveis muito exigentes para um sistema computacional. O sistema de visão humano procede a uma inspecção casual de um cenário e numa gama alargada de

Imagens de Faces: Exemplos de Metodogias e Aplicaçõesdados faciais e de classificação de expressões faciais. 2.1. Metodologias para detecção da face Alguns trabalhos relevantes

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Imagens de Faces: Exemplos de Metodogias e Aplicaçõesdados faciais e de classificação de expressões faciais. 2.1. Metodologias para detecção da face Alguns trabalhos relevantes

Imagens de Faces: Exemplos de Metodologias e Aplicações

Fernando Jorge Soares Carvalho1, João Manuel R. S. Tavares2

1 Departamento de Matemática, Instituto Superior de Engenharia do Porto

R. Dr. António Bernardino de Almeida, 431 – 4200-072 PORTO e-mail: [email protected]

2 Laboratório de Óptica e Mecânica Experimental,

Departamento de Engenharia Mecânica e Gestão Industrial, Faculdade de Engenharia da Universidade do Porto

Rua Dr. Roberto Frias, s/n – 4200-465 PORTO e-mail: [email protected]

Resumo O objectivo principal deste artigo consiste em apresentar algumas das metodologias usadas em Visão Computacional no domínio das imagens de faces, e exemplos de algumas das aplicações existentes. Uma das principais tarefas deste domínio é a detecção de faces em imagens estáticas e em sequências de imagens, podendo ou não considerar-se a possibilidade de coexistirem múltiplas faces. Estando cada face detectada nas imagens a considerar, pode-se proceder à extracção de dados para representação da mesma. Para esta representação são comuns três aproximações: a holística, a face é representada como um todo; a analítica, a face é representada como um conjunto de características faciais, como olhos boca e nariz; e a híbrida, a face é representada como uma combinação das duas anteriores. Neste domínio, uma área que tem tido elevada importância é a classificação da expressão facial associada; geralmente as expressões faciais são divididas nas seguintes categorias: felicidade, tristeza, surpresa, medo, raiva e desgosto. Usualmente, a determinação da expressão é conseguida através da utilização de bases de imagens faciais que integram vários exemplos associados a cada expressão a considerar. Palavras-chave: Detecção de faces, Extracção e representação de dados faciais, Classificação de expressões faciais, Visão Computacional. 1. Introdução Sabe-se que, os humanos detectam e interpretam faces e expressões faciais a partir de uma imagem ou de um pequeno esboço com relativa facilidade. No entanto, em sistemas automáticos, existem vários problemas relacionados com a determinação de uma face numa imagem, com a consequente extracção de informação relativa à expressão facial associada, assim como com a posterior classificação da expressão (por exemplo, em categorias de emoção). Um sistema que execute estas operações automaticamente, com precisão, com robustez e em tempo real representa um enorme passo no que diz respeito à interacção homem/máquina. Em Visão Computacional, as metodologias existentes no domínio das imagens de faces, assim como as suas aplicações, são variadas. Exemplos de aplicação são, por exemplo: segmentação, ou seja detecção, de uma face numa imagem, extracção de dados faciais, classificação de expressões faciais, reconhecimento de faces, análise do movimento de faces, etc. Este artigo encontra-se estruturado do seguinte modo: Nas subsecções seguintes são introduzidas, nomeadamente indicando os problemas associados, as três aplicações principais existentes no domínio das imagens de faces: detecção da face, extracção de dados faciais e classificação de expressões faciais. Na secção seguinte, são descritas de forma sucinta várias metodologias existentes para cada uma destas aplicações. Na terceira secção são apresentadas algumas conclusões e indicadas algumas perspectivas de trabalho futuro. 1.1. Detecção da face A detecção da face numa imagem ou numa sequência de imagens é um processo que normalmente exige algum controlo: a face aparece na imagem de uma forma predefinida (por exemplo frontal), a sua existência no cenário é um pressuposto assumido, existe informação prévia acerca do seu posicionamento, etc. A determinação automática da zona exacta onde a face se insere numa imagem pode ser um processo complicado uma vez que, a sua orientação, tamanho e oclusão total ou parcial são variáveis muito exigentes para um sistema computacional. O sistema de visão humano procede a uma inspecção casual de um cenário e numa gama alargada de

Page 2: Imagens de Faces: Exemplos de Metodogias e Aplicaçõesdados faciais e de classificação de expressões faciais. 2.1. Metodologias para detecção da face Alguns trabalhos relevantes

condições, e considera uma face como um todo e não como um conjunto limitado de características faciais como olhos, boca, etc. A essência da detecção humana reside na análise das características faciais bem como na disposição geométrica que estas apresentam entre si, como por exemplo a simetria. Para um sistema automático de detecção de faces em imagens, por mais poderoso que o algoritmo associado seja, não se pode pensar que esta tarefa é simples de realizar, pois estaremos sempre em presença de um elevado número de variáveis e condições. 1.2. Extracção de dados faciais Uma vez detectada a face é necessário extrair dados que permitam construir um modelo para a mesma. O tipo de representação do modelo para a face constitui a aproximação facial. Se o modelo da face segue a aproximação holística, esta é vista como um todo, não havendo distinção relativamente às suas características mais comuns. No caso da aproximação analítica, a face é modelada a partir de um conjunto de características faciais como os olhos e a boca. Se a face segue a aproximação híbrida, então aparece como uma combinação das duas representações anteriores. A extracção de dados faciais está muito condicionada a factores como: a existência de óculos na face, a orientação da face relativamente ao plano da câmara, o tamanho da face comparativamente ao cenário onde está inserida (escala), a presença de cabelo ou de outros factores que ocultem parcial ou totalmente a face, a iluminação, a presença de bigode ou barba, etc. 1.3. Classificação da expressão facial Para proceder à classificação da expressão associada a uma face é necessário recorrer a um mecanismo de categorização. Assim, uma face pode ser classificada de várias formas: em termos de acções faciais que causam uma determinada expressão; em termos de expressões não protótipo, como o elevar de uma sobrancelha; e em termos de expressões protótipo, como são as expressões faciais clássicas. Por exemplo, em [1] é referido um sistema para codificação da actividade facial designado por FACS (Facial Action Coding System), desenvolvido com o objectivo de facilitar a medida da actividade facial, e que foi projectado por observadores de forma a detectarem mudanças subtis causadas pela contracção muscular facial. A categorização das expressões faciais demonstradas pela face humana mede o estado emocional representado pela face e geralmente considera seis categorias básicas de emoção: felicidade, tristeza, surpresa, medo, raiva e desgosto. A caracterização da expressão facial é um processo de difícil controlo por diversas razões: o sistema deve analisar qualquer indivíduo do sexo masculino ou feminino, de qualquer faixa etária e de qualquer etnia; ou seja, deve ser independente da variabilidade fisionómica de cada indivíduo. Uma vez que as expressões faciais estão categorizadas, isto exige que a face exiba uma dada expressão de uma forma adequada para que a classificação se faça de uma forma eficiente, e se “encaixe” na respectiva categoria, pois caso exista uma mistura de expressões faciais, a análise torna-se mais complexa e provavelmente ambígua. Independentemente das categorias de classificação consideradas, os métodos mais usados encontram-se usualmente divididos em três grandes grupos: baseados em modelos protótipos, em redes neuronais e em regras. Se o método de classificação é baseado em modelos protótipos, a expressão facial encontrada é comparada com os modelos predefinidos para cada categoria de expressão, a melhor semelhança ou emparelhamento decide qual a categoria a que a face pertence. Se o método de classificação for baseado em redes neuronais, a expressão facial é classificada em sintonia com um processo de categorização que a rede neuronal aprende normalmente durante a sua fase de treino. Se o método de classificação é baseado em regras básicas, então classificam e examinam expressões faciais em categorias de emoções básicas com acções faciais previamente codificadas e definidas.

2. Apresentação de algumas metodologias existentes Nesta secção são apresentadas algumas metodologias existentes no domínio da Visão Computacional para imagens de faces, e descritas de forma sucinta o seu principio de funcionamento em aplicações de detecção de faces, extracção de dados faciais e de classificação de expressões faciais. 2.1. Metodologias para detecção da face Alguns trabalhos relevantes na detecção de faces em imagens estão indicados na Tabela 1. Os trabalhos indicados, referem-se a dois tipos de imagens, as faciais e as arbitrárias, e considera-se a separação entre duas das três aproximações possíveis, Holística e Analítica, [1]. Na Tabela 2 dividem-se os métodos utilizados em quatro grandes

Page 3: Imagens de Faces: Exemplos de Metodogias e Aplicaçõesdados faciais e de classificação de expressões faciais. 2.1. Metodologias para detecção da face Alguns trabalhos relevantes

grupos: baseados no conhecimento, baseados na aproximação a características invariantes, baseados em modelos protótipos e baseados na aparência, [2]. Os métodos baseados no conhecimento têm por base um conjunto de regras que capturam a relação entre características faciais. Por outro lado, os métodos baseados em características invariantes têm por base a procura das características faciais que existem independentemente da variação da posição da face, do tipo de vista e das condições de luminosidade. Já os métodos baseados no emparelhamento de modelos protótipos, tem por base o uso de modelos padrão que caracterizam a face e a detecção é conseguida através da correlação entre estes modelos e a face presente num dado cenário. Os métodos baseados na aparência, também usam modelos como o método anterior, no entanto esses métodos consideram um conjunto de imagens de treino e procuram capturar a variabilidade representativa da aparência da face nesse conjunto.

Aproximação Referência Tipos de Vista Método Holística [3]

[4] Frontal Frontal e perfil

Detector de orlas Intensidade de Canny e modelo PDM Análise de histogramas e análise de limiar

Analítica

[5] [6] [7]

Frontal

Distribuição de Brilho Projecção integral e ajuste de redes de potencial

Holística

[8] Frontal e perfil Filtros espaço-temporal Faces próprias Características próprias

Tabela 1 - Alguns trabalhos relevantes na detecção de faces: tipo de aproximação, tipo de vista e método

Grupo Método, Referência Baseados no conhecimento Método baseado em regras de multi-resolução [9] Características Invariantes: Características Faciais Grupo de orlas [10] Textura Matriz de dependência do espaço de nível cinzento (SGLD) [11] Emparelhamento de Modelos:

Modelos Pré-definidos Modelos de forma [12] Sub-modelos [13]

Modelos Deformáveis Modelos de forma Activa [15] Baseados na Aparência: Faces próprias Decomposição de vectores próprios e agrupamento [16]

Tabela 2 - Alguns trabalhos relevantes na detecção de faces: princípio base e método

Seguidamente são descritos de forma resumida alguns dos trabalhos relevantes no domínio da Visão Computacional para a detecção de faces em imagens. Um exemplo de utilização de modelos é indicado em [3], assim é aplicado o modelo de distribuição pontual (PDM), com o objectivo de obter o correcto posicionamento do modelo de pontos distribuídos inicial (PDM inicial), utiliza-se um detector de orlas de intensidade (extremidades de elevado contraste luminoso) para estimar a localização da face na imagem. A análise do valor da intensidade dos pixéis entre os lábios e duas extremidades verticais simétricas, representa os limites verticais exteriores da face, gerando uma estimativa da sua localização. Neste método, a face não pode estar ocultada por cabelo e não deve conter óculos, não podem existir variações de luminosidade nem movimentos faciais. Este método, consiste na geração de um modelo protótipo estatístico flexível que deriva de um conjunto de imagens de treino. Cada imagem de treino é representada por um conjunto de pontos-chave colocados geralmente de forma manual em locais característicos dos objectos a considerar. A construção do modelo é composta por duas fases de treino, a primeira fase consiste em segmentar manualmente a imagem posicionando num conjunto de imagens de treino todos os pontos que definem contornos 2D ou superfícies 3D. Na segunda fase, cria-se um PDM padrão compacto usando um algoritmo de optimização que permite analisar a localização dos pontos e calcular a sua média posicional. Já em [4], para determinar os limites horizontais e verticais da cabeça são usados dois histogramas, um histograma vertical e um horizontal da imagem com ponto de visão frontal. Neste método a localização do contorno da face é conseguido a partir de um algoritmo dedicado chamado “HSV color model”. Como são usadas duas perspectivas de visão, no ponto de visão em perfil, um algoritmo dedicado representa a aproximação do contorno da face. Por outro lado em [5], é usada uma câmara CCD em modo monocromático de forma a obter dados acerca da distribuição do brilho da face. Uma distribuição de brilho base é conseguida à custa de uma média de distribuição de

Page 4: Imagens de Faces: Exemplos de Metodogias e Aplicaçõesdados faciais e de classificação de expressões faciais. 2.1. Metodologias para detecção da face Alguns trabalhos relevantes

brilho, retirada de dez faces. O sistema extrai a posição da íris do olho utilizando a correlação cruzada entre os dados que constam na base de dados e os dados adquiridos. Uma vez identificada a íris consegue-se a localização da face usando o posicionamento geométrico das características faciais. No trabalho apresentado em [6], extrai-se de uma forma automática: as extremidades dos olhos, a altura dos olhos e da boca. Após obtenção destas características, o comprimento correspondente à área da face é devidamente normalizado sobrepondo à imagem uma grelha quadrática 8x10. Em [7], é usada uma rede potencial, para representação da face. Assim, a imagem que contém a face é devidamente normalizada tomando o centro dos olhos e o centro da boca. Este algoritmo utiliza o método de projecção integral que pretende fazer a síntese da informação relativa à extremidade e cor da face. A rede é ajustada à imagem normalizada da face e seu movimento. Com imagens arbitrárias, em [8] é usado o método dos espaços próprios (Eigenspace) para localizar a face. O método aplica faces próprias (Eigenfaces) aproximadas recorrendo a Análise dos Componentes Principais (PCA), numa amostra que utiliza 128 imagens faciais. As faces próprias definem um sub-espaço de imagens amostradas a que dão o nome de espaço da face. Para detecção da presença da face numa única imagem, a distância da imagem observada do espaço de faces é calculada a partir dos coeficientes de projecção. No caso de sequência de imagens a presença da face é conseguida usando uma filtragem espaço-temporal, à imagem filtrada é atribuído um limiar de forma a conseguir analisar o movimento de manchas (Blobs), cada mancha (Blob) identificada corresponde uma potencial face humana sendo depois considerada como uma imagem única. Já em [9], pode-se encontrar um método baseado em regras de multi-resolução. Assim é usado um sistema hierárquico constituído por três níveis de regras. No nível mais elevado é encontrada a potencial face, usando uma janela de varrimento sobre a imagem, é aplicado um conjunto de regras para cada localização facial. No nível mais baixo, as regras analisam de forma detalhada as características faciais. Assim, partindo da imagem original é reduzida a resolução e geradas três novas imagens, como mostra a Figura 1. Uma das regras usadas no nível mais elevado, nível 1, para localizar a face é o modelo protótipo de tons cinzentos. Este modelo é confrontado com a imagem de menor resolução, para verificar a possibilidade da existência da face. No nível 2, representa-se um histograma local referente a segmentos de imagens candidatas a faces, obtidas de um detector de orlas de intensidade. No nível mais baixo, nível 3, é aplicado mais um conjunto de regras que identificam as características faciais, tais como, olhos e boca.

Figura 1 – Imagem original e três imagens correspondentes a diferentes níveis de resolução,

e Modelo protótipo de tons cinzento (imagem mais à direita), retirado de [9]

O problema de encontrar uma face modelo que sirva de comparação com muitas outras, pode ser resolvido através da parametrização por intermédio de uma função. Assim, a informação acerca da existência de uma face pode ser obtida por intermédio de valores de correlação entre modelos protótipos definidos para determinadas características faciais e o contorno obtido de uma potencial característica facial. Este método é simples de implementar, no entanto pode necessitar de métodos complementares atendendo a condições de escala e posição da face que podem condicionar o seu uso, como são: Multi-resolução, Multi-escala, Sub-modelos, etc. Usualmente, são definidos dois grupos importantes para estes métodos, os de modelos pré-definidos e de modelos deformáveis. Um exemplo de utilização de modelos pré-definidos é encontrado em [13]. Assim neste método, para modelar a face é utilizado um conjunto de sub-modelos protótipos (subtemplates) para os olhos, nariz, boca e o contorno da face. Cada sub-modelo protótipo é definido em termos de segmentos de recta extraídos de uma imagem usando a variação do gradiente. Os segmentos são emparelhados nos sub-modelos. Numa primeira fase, a potencial localização da face é conseguida fazendo a correlação entre segmentos da imagem (sub-imagens) e o contorno que define o modelo da face. Na segunda fase, a determinação efectiva da face é conseguida fazendo o emparelhamento dos sub-modelos gerados, com as respectivas características faciais. Já em [12] é apresentado um método de localização baseado num modelo de forma. Assim é aplicado um filtro de Sobel para extrair as orlas de intensidade, que agrupadas conseguem definir o modelo da face baseado num conjunto de restrições. Uma vez localizada a face é usado um sistema de diferentes escalas e é aplicado o mesmo processo de filtragem, de forma a procurar definir os olhos, as sobrancelhas e os lábios. Por outro lado, em [14], é apresentado um modelo qualitativo para modelar a face (QMF). Este modelo usa amostras de imagens divididas em blocos e estima qualitativamente as características atribuídas a cada bloco. Para parametrizar o modelo,

Page 5: Imagens de Faces: Exemplos de Metodogias e Aplicaçõesdados faciais e de classificação de expressões faciais. 2.1. Metodologias para detecção da face Alguns trabalhos relevantes

são definidas propriedades relativas à intensidade luminosa e às orlas de intensidade, como características do modelo. O modelo de blocos obtido é usado para calcular propriedades faciais, em todas as posições da imagem. A face é dada como detectada se a medida das propriedades faciais atingir um determinado limiar. No que diz respeito a modelos deformáveis, em [15] é apresentado, por exemplo, um modelo elástico para os olhos e para a boca, o modelo elástico pode ser entendido como, um modelo parametrizado com propriedades deformáveis, conseguido à custa da actualização iterativa dos parâmetros do modelo. Assim, os modelos utilizados são devidamente parametrizados e os parâmetros considerados, são as variáveis de uma função representativa da energia dispendida para ajustar o modelo a uma dada característica facial. O melhor ajuste é aquele que minimiza a energia e a face é dada como detectada se a energia necessária não ultrapassar um dado limiar. Este modelo permite extrair características faciais, uma vez que a configuração final permite aceder aos parâmetros devidamente ajustados. 2.2. Metodologias para extracção de dados e representação da face Relativamente à extracção de dados faciais em imagens estáticas e em sequências de imagens, existem vários trabalhos utilizando métodos baseados em modelos protótipos e em características faciais. A Tabela 3 apresenta alguns dos trabalhos mais relevantes.

Aproximação Método Imagens Referência Modelo Holística Protótipos Estáticas [17] AAM – Modelo de Aparência Activa Holística Protótipos Estáticas [18] Grafos Holística Protótipos Estáticas [3] Modelo de distribuição pontual Holística [19] Blocos aleatórios de vectores próprios Holística Protótipos Sequências [23] Fluxo óptico (em regiões faciais) Analítica Características Estáticas [5] Modelo FCP’s e 13 linhas verticais Analítica Características Estáticas [4] Visão dual, Modelo baseado em pontos Analítica Características Sequências [25] Fluxo óptico (pontos faciais) Híbrida Protótipos Estáticas [6] Rede quadrática de dimensão 8x10 Híbrida [22] Pontos Fiducias e Wavelets de Gabor Híbrida Protótipos Sequências [7] Rede Potencial Híbrida Protótipos Sequências [24] Grafo

Tabela 3 – Referências a trabalhos relativos à extracção de dados faciais

Seguidamente são descritos de forma resumida alguns dos trabalhos relevantes no domínio da Visão Computacional para a extracção de dados e representação de faces em imagens. Em [17], pode-se verificar o uso da aproximação holística para representar faces, assim faz-se referência ao modelo AAM (Active Apperance Model). Para implementar este modelo usam-se imagens faciais que são manualmente etiquetadas com 122 pontos localizados em torno de características faciais. Com a intenção de gerar um modelo estatístico de variação de forma, um modelo deformável, é realizado o alinhamento de imagens de treino em coordenadas comuns aplicando-se seguidamente a Análise de Componentes Principais (PCA) para obter o modelo facial. Para construir um modelo baseado em níveis de tons cinzento, deformam-se as imagens de treino. Seguidamente é usado um algoritmo de triangulação de forma a controlar os pontos localizados. Com a aplicação da PCA à informação referente aos níveis de tons cinzento, extraídos das imagens deformadas, obtêm-se um vector com níveis de cinzento normalizado. Para ajustar o modelo AAM gerado para uma dada imagem em análise, realizam-se duas fases. Na primeira fase, de treino, para cada uma das 88 imagens treinadas e etiquetadas com 122 pontos, são aplicados modelos deslocados conhecidos e são registados as diferenças. Seguidamente é feita uma análise de múltipla regressão para modelar a relação existente entre o modelo deslocado e a imagem. Na fase de reconhecimento, o modelo de regressão treinado é usado para determinar o movimento da face modelo. Já em [18], pode-se encontrar um método que usa um grafo de etiquetas, para representar o modelo da face. O grafo é constituído por nodos e cada nodo representa um vector jet. Cada componente de um vector jet é determinada através de Wavelets (onduletas) de Gabor, a partir da imagem facial. Usam Wavelets de 5 frequências e 8 orientações diferentes. Definem dois modelos de grafo, o modelo GFK reduzido (GFK - General Face Knowledge) e o modelo GFK completo. O modelo GFK completo contém 50 nodos, e cada nodo 40 componentes jet correspondentes a marcas extraídas da face de 25 indivíduos. O modelo GFK reduzido contém 16 nodos e cada nodo 12 componentes jet correspondentes a marcas

Page 6: Imagens de Faces: Exemplos de Metodogias e Aplicaçõesdados faciais e de classificação de expressões faciais. 2.1. Metodologias para detecção da face Alguns trabalhos relevantes

extraídas da face de 8 indivíduos. O modelo GFK reduzido é usado para encontrar a localização exacta da face na imagem e o modelo GFK completo é usado para localizar as características da face. Obtido o modelo, utiliza-se o sistema PersonSpotter e o método de emparelhamento elástico, para ajustar à face em análise. O modelo GFK reduzido é deslocado e colocado à escala da imagem em análise, até ser encontrado o melhor ajuste. Encontrado o ajuste, a posição exacta da face é derivada do valor do tamanho do gráfico canónico. Seguidamente o modelo GFK completo é ajustado à região da face, sendo aplicado um método de pesagem do nodo. O peso dos nodos é doseado de acordo com importância da sua localização, por exemplo, os nodos situados na região facial referente ao cabelo, tem menos peso do que aqueles que se encontrar localizados nas características faciais importantes, como os olhos e a boca. A Figura 2, exemplifica os modelos GFK considerados.

Figura 2 – Modelos GFK reduzido e GFK completo, retirado de [18] No trabalho apresentado em [3], é utilizado o modelo de distribuição pontual, este modelo estatístico é gerado a partir de 90 pontos posicionados em características faciais que foram manualmente localizados em 90 imagens de 15 indivíduos cuja face apresentou seis categorias básicas de emoção. Em termos genéricos, o modelo facial é uma combinação entre o PDM e o modelo protótipo definido para a boca. Para representar este modelo, para a boca são usadas 3 curvas parabólicas que permitem definir o seu contorno. Para posicionar o modelo sobre a face, emparelhar, é deformado e deslocado todo o PDM em simultâneo. Assim, aplica-se um método que permite estimar os parâmetros da forma, baseados na análise do gradiente das orlas de intensidade, que permite minimizar globalmente os níveis de cinzento do modelo. Para procurar a boca, começa-se por definir uma região de análise em função do ajuste do PDM efectuado. Seguidamente, definem-se linhas verticais e procura-se o ponto mais escuro de cada linha com a intenção de definir e localizar a boca. É usada uma segmentação de limiar de níveis cinzentos, de forma a excluir alguns dos pontos fora da região a considerar, e em seguida usa-se uma curva parabólica com intenção de aproximar a linha da boca (intercessão entre os lábios). As orlas com elevado valor de gradiente, são usadas para estimar outra curva parabólica correspondente ao lábio superior, o mesmo processo é usado para conseguir o lábio inferior.

Figura 3 – Modelo PDM à esquerda e o respectivo ajuste do modelo à face direita, retirado de [3] Em [18], é usada a representação holística da face e a extracção dos dados faciais, não é realizada de forma automática. Assim, é usada uma base de dados com faces representativas de várias expressões faciais, [20]. Esta base de faces contém 97 imagens categorizadas com seis expressões emocionais básicas, e escaladas de forma a tornar salientes, e notáveis, as características da face que ficam localizadas na mesma região da imagem em análise. Para cada imagem, a área em torno de cada olho está dividida verticalmente em dois blocos sobrepostos de 32x32 pixéis e a área em torno da boca está dividida horizontalmente em três blocos sobrepostos de 32x32 pixéis. A PCA aplicada em blocos aleatórios de 32x32 pixéis retirados da imagem em análise, permite gerar vectores próprios.

Já em [6], é usada a aproximação híbrida para representar a face. Ajusta-se uma grelha quadrática de 8x10 à imagem facial normalizada. Utiliza-se um algoritmo indicado em [21] e calcula-se o fluxo óptico entre a face de referência e a face examinada de uma dada imagem. A magnitude e a direcção dos fluxos ópticos calculados são simplificadas para valores de magnitude na direcção vertical.

Page 7: Imagens de Faces: Exemplos de Metodogias e Aplicaçõesdados faciais e de classificação de expressões faciais. 2.1. Metodologias para detecção da face Alguns trabalhos relevantes

Em [22], para construir o modelo facial, usam-se 34 pontos faciais para extrair um conjunto de coeficientes das Wavelets de Gabor. As onduletas são emitidas com três frequências e orientações distintas, usam-se imagens normalizadas de 256x256 pixeís. Pode-se constatar em [5], a implementação de um modelo geométrico com 30 pontos colocados nas envolventes das características faciais, esses pontos são designados por FCP’s (Facial Characteristic Points). Neste trabalho, é utilizada uma câmara CCD em modo monocromático, para obter um conjunto de distribuições de brilho com 13 linhas verticais, de modo a que estas cruzem os FCP’s. A imagem é normalizada a partir de uma transformação, permitindo que a distância entre as íris seja de 20 pixeís. A partir da distância entre as íris, o comprimento das linhas verticais é empiricamente determinado. As distribuições de brilho obtidas são depois normalizadas entre [0, 1], sendo estes dados posteriormente usados para treino duma rede neuronal com a finalidade de classificar o estado emocional da face. A face não pode conter óculos ou cabelo facial e deve estar a uma distância de 1 m da câmara. A figura 4 apresenta o modelo FCP’s considerado.

Figura 4 – Modelo gerado a partir de pontos faciais localizados sobre as características, retirado de [5] Em [4], é usado um modelo baseado em pontos, mas com dois tipos de vista distintos, vista frontal e de perfil. O modelo frontal é composto por 30 características, 25 são definidas em correspondência com 19 pontos faciais e as restantes dão forma à boca e ao queixo. Na vista de perfil, o modelo é caracterizado por 10 pontos, colocados de uma forma estratégica na curvatura que define o contorno lateral da face. Seguidamente, usam-se detectores de múltiplas características para cada característica facial (sobrancelhas, olhos, nariz, boca e perfil). O modelo considerado está representado na figura 5.

Figura 5 – Modelo de vista frontal e de perfil, retirado de [4] Por outro lado, em [23] é usado um algoritmo de fluxo óptico baseado no gradiente, com a finalidade de estimar o movimento em locais faciais, como a boca e o olho direito. A imagem facial é adquirida com uma câmara montada na cabeça do indivíduo e sub-amostrada por mais 8 câmaras em ambas as direcções, do fim para o princípio e do princípio para o fim da sequência. Depois de aplicado o algoritmo do fluxo óptico, usa-se a transformada de Fourier que é aplicada ao campo de velocidade horizontal e vertical, extraindo assim os coeficientes de Fourier referentes às frequências inferiores. Os coeficientes são memorizados num vector de características com 15 componentes. Este método tem a vantagem de apoiar-se na simetria da face para analisar o seu movimento, no entanto não tem qualquer sensibilidade aos movimentos realizados pelo olho do lado esquerdo. A Figura 6, mostra a deformação das grelhas do olho e da boca, segundo o vector do movimento obtido.

Page 8: Imagens de Faces: Exemplos de Metodogias e Aplicaçõesdados faciais e de classificação de expressões faciais. 2.1. Metodologias para detecção da face Alguns trabalhos relevantes

Figura 6 – Indicação do movimento por deformação das grelhas, retirado de [23] Já em [7], é usada a aproximação híbrida para representar a face. Neste trabalho, é utilizada uma rede potencial ajustada à imagem normalizada, começando-se por representar as orlas de intensidade da imagem aplicando um filtro diferencial. Assim, para extrair a força externa que é o gradiente da imagem representativa das orlas de intensidade, aplica-se um filtro Gaussiano. A imagem filtrada é chamada de campo potencial no qual o modelo elástico é colocado. Seguidamente a rede é deformada pela força do campo potencial gerado. O modelo gerado pela deformação da rede é comparado com o modelo gerado a partir da face ausente de qualquer expressão facial, a variação da posição dos nodos da rede é usada para posterior processamento. A Figura 7 ilustra o campo potencial e a correspondente rede potencial.

Figura 7 – Campo potencial representativo de orlas de intensidade e correspondente rede potencial, retirado de [7]

Em [24], é usada também a aproximação híbrida para representar a face, são utilizados 19 pontos colocados sobre as características faciais, 7 desses pontos conservam a topologia local da face e são colocados no nariz e nas extremidades dos olhos, os restantes são distribuídos pelos olhos, boca e sobrancelhas. Os pontos faciais são tratados como nodos num grafo, estão interligados através de ligações representativas da distância euclidiana entre nodos. As ligações são pesadas com um conjunto de parâmetros, que mostram algumas propriedades das características faciais às quais os pontos pertencem. Por exemplo, a boca contém quatro nodos ligados e as ligações são pesadas com pesos inferiores uma vez que a boca pode sofrer deformações muito acentuadas. A localização exacta dos pontos faciais iniciais é conhecida, o seguimento em termos de sequência de imagens é conseguido usando um sistema composto por dois níveis. As correspondências entre os pontos faciais seguidos entre duas imagens consecutivas são tratadas como um grafo emparelhado. A imagem anterior é tratada no nível de memória e a imagem corrente é tratada no chamado nível de entrada. O emparelhamento de grafos é visto como um processo dinâmico de difusão nodal. Este método para funcionar correctamente necessita da marcação inicial dos pontos sobre as características faciais, como mostra a Figura 8. O seguimento da sequência de imagens só é garantido se a face estiver desprovida de óculos e cabelo facial.

Figura 8 – Pontos das características faciais FFP’s, retirado de [24]

Page 9: Imagens de Faces: Exemplos de Metodogias e Aplicaçõesdados faciais e de classificação de expressões faciais. 2.1. Metodologias para detecção da face Alguns trabalhos relevantes

2.3. Metodologias para classificação de expressões faciais Geralmente os métodos usados em Visão Computacional na determinação do estado emocional apresentado por uma face, referem-se a imagens estáticas e a sequências de imagens, e usualmente encontram-se divididos entre métodos baseados em modelos protótipos, em redes neuronais e em regras básicas, como se pode observar na Tabela 4.

Referência Método Descrição Imagens [18] Protótipo Bases de faces e emparelhamento de grafos deformáveis Estáticas [3] Protótipo PCA (Análise dos Componentes Principais) e classificador de

distância mínima Estáticas

[6] Protótipo Duas redes 14x14 Hopfield com aprendizagem Estáticas [5] Redes Neuronais 234x50x6 NN (Redes Neuronais) com aprendizagem backprogation Estáticas [22] Redes Neuronais 646x7x7 NN com propagação RPROP Estáticas [4] Baseado em regras Sistema de regras inteligente Estáticas [8] Protótipo Espaço-Temporal, modelos movimento-energia Sequências [7] Protótipo PCA Sequências [24] Protótipo Média B-splines para trajectórias características e Método para

minimização de distância Sequências

Tabela 4 – Alguns trabalhos relevantes na classificação de expressões faciais

Seguidamente são descritos de forma resumida alguns dos trabalhos relevantes no domínio da Visão Computacional para a classificação de expressões faciais em imagens. Em [18], supõe-se que duas pessoas que olham de forma semelhante demonstram uma expressão facial comparável. Assim, ajusta-se o modelo grafo, da Figura 2, a uma imagem, e procura-se o melhor emparelhamento desse modelo com os modelos de uma base de faces personalizada, utilizando-se o método do emparelhamento de grafo deformável. As bases de faces personalizadas, contém 9 bases de diferentes indivíduos. Cada base contém 28 imagens, com 4 imagens por expressão facial. A base, ao qual corresponde o melhor emparelhamento, com menores custos de energia, é usada para julgar qual a categoria correspondente à expressão facial observada. Curiosamente, os resultados do emparelhamento melhoram se as bases comportarem indivíduos da mesma família, piorando quando é composta por indivíduos sem relação familiar, [18]. O desempenho do sistema melhora se a base contar com mais indivíduos, [18]. Já em [3], é usado um passo intermédio, calculando 10 parâmetros activos (AP’s). A diferença entre os parâmetros das características do modelo encontrada numa face sem aparente expressão facial, Figura 3, e com uma dada expressão facial demonstrada pelo mesmo indivíduo, gera os AP’s. Usa-se seguidamente, um classificador de distância mínima para agrupar os dois principais parâmetros activos, os que tem maior variação, a partir de 90 amostras de imagens de treino em seis grupos, representativos das seis expressões básicas de emoção. O algoritmo baseia-se na correlação das distribuições das componentes principais entre a expressão em análise e as expressões dos grupos categorizados, o melhor nível de correlação permite decidir o grupo a que pertence uma dada expressão. Em [6], são extraídos 80 parâmetros referentes ao movimento facial e descrita a mudança entre a face ausente de qualquer movimento facial, e a expressão facial corrente de qualquer indivíduo. São reconhecidos 4 tipos de expressões faciais: tristeza, surpresa, raiva e felicidade. Utilizam-se duas redes neuronais (NN) de Hopfield, iguais. A primeira rede NN1, é treinada com 40 dados representativos das quatro expressões faciais demonstradas por 10 indivíduos, a segunda rede NN2 é treinada com dados que representam de uma forma clara as 4 expressões faciais. Para cada imagem examinada, a saída de NN1 é emparelhada com todos os exemplos que lhe serviram de treino, sendo calculada a distância euclidiana, é depois tomada a média por cada expressão. O algoritmo considera que se a diferença entre duas distâncias médias mínimas é maior que a unidade, então a categoria fica decidida, caso contrário, NN2 decide emparelhando a sua saída com os dados usados para o seu treino. Também em [5], pode-se encontrar um método de classificação baseado em redes neuronais. A rede neuronal usada é do tipo back-propagation 234x50x6 e representa 6 categorias básicas de expressão facial. As unidades da camada de entrada correspondem a dados referentes à distribuição do brilho, que foi conseguida a partir da imagem em análise, e as 6 unidades da camada de saída representam as 6 categorias de expressões básicas. A rede foi treinada com 90 imagens resultantes do manifesto de 6 expressões básicas de 15 indivíduos. Já em [22], é usada uma rede neuronal de 680x7x7, a entrada da rede é a posição geométrica de 34 pontos faciais e 18 amostras dos coeficientes das Wavelets de Gabor de cada um dos pontos. A rede neuronal processa a redução não linear da dimensionalidade e faz a decisão estatística acerca da categoria da expressão observada. As unidades de saída

Page 10: Imagens de Faces: Exemplos de Metodogias e Aplicaçõesdados faciais e de classificação de expressões faciais. 2.1. Metodologias para detecção da face Alguns trabalhos relevantes

fornecem uma estimativa em probabilidade da expressão examinada pertencente a uma dada categoria. Um conjunto de 213 imagens com diferentes expressões faciais demonstradas por nove indivíduos serviu de treino para a rede utilizada. No trabalho descrito em [4], encontra-se a codificação da acção facial de uma forma automática e para isso é usado o modelo da Figura 5. Assim é calculada a diferença entre as características detectadas do modelo corrente adquirido, e as mesmas características detectadas na face sem aparente expressão facial, referente ao mesmo indivíduo. As regras existentes classificam a deformação do modelo em classes AU’s (31 classes de unidades de acção facial, que são expressões que separam as acções faciais). A classificação baseia-se na comparação do código AU (unidades de acção facial) descrito por uma expressão facial, com o código AU descrito pelas seis expressões emocionais básicas. Em [8], podemos encontrar o método control-theoretic que permite extrair a representação espaço-temporal (spatio-temporal) da energia de movimento, relativo a uma dada expressão facial. Assim, geram-se modelos spatio-temporal para seis expressões diferentes, duas para acções faciais (sorriso e elevar de sobrancelhas) e quatro para expressões representativas do estado emocional (surpresa, tristeza, raiva e desgosto). A norma euclidiana da diferença entre a energia de movimento do modelo e a energia de movimento da imagem observada, é usada para determinar a semelhança/discrepância existente. A Figura 9, representa um modelo protótipo espaço-temporal, onde a surpresa é a expressão facial manifestada.

Figura 9 – Representação do modelo espaço-temporal, retirado de [8] Já em [7], é construído um espaço de emoção aplicando a Análise dos Componentes Principais (PCA), com seis sequências de imagens de três expressões faciais básicas, angústia, felicidade e surpresa. O espaço próprio (eigenspace) atravessado pelas três componentes principais foram usados como um espaço de emoção sobre o qual é projectado uma imagem onde é possível quantificar a classificação emocional manifestada pela face. Em [24], a geração de pontos marcados sobre as características faciais, FEFP’s (Facial Feature Points), Figura 8. Para as categorias de emoção (raiva, felicidade e surpresa), é usada a média de doze curvas B-spline apoiados nos pontos FEFP’s marcados, para construção do modelo. Na fase de análise, cada curva gerada ao longo do movimento descreve a relação entre as mudanças de expressão e dos deslocamentos dos pontos colocados em torno das características faciais. Cada modelo de expressão foi definido a partir duma sequência de dez imagens expressas por cinco indivíduos. A categoria da expressão fica definida, determinando a distância mínima entre a curva actual determinada e a curva definida pelo modelo. 3. Conclusões e perspectivas de trabalho futuro Com este artigo pretende-se dar a conhecer algumas das metodologias mais comuns em Visão Computacional, na área das imagens de faces e suas aplicações. Assim foram classificadas várias metodologias existentes para a detecção de faces, extracção e representação de dados faciais, e classificação de expressões faciais. Para cada uma destas áreas de aplicação foram descritos de forma sucinta alguns dos métodos actualmente existentes. No domínio das imagens de faces, não são comuns metodologias que por um lado resolvam todas as fases de um sistema de detecção de faces e análise das expressões associadas, e que sejam aplicáveis de igual modo a diferentes condições de utilização. Pelo contrário, é usual incluir nas metodologias restrições, dependentes da aplicação em causa, e assim “afinar” cada metodologia considerada a uma determinada tarefa (detectar faces, reconhecer faces, reconhecer expressões, etc.) sob determinadas condições de funcionamento (iluminação, etnia, tipo de vista, etc.). Com o estudo reportado neste artigo, foi possível verificar que a área das imagens de faces é de facto uma área com elevado relevo no domínio da Visão Computacional. Contando com inúmeros investigadores a contribuir para o seu desenvolvimento, em especial nos últimos anos. No entanto, continua a ser uma área na qual existe várias possibilidades de expansão e de novos desenvolvimentos. No seguimento do estudo efectuado sobre o domínio das imagens de faces, foi por nós implementado, em ambiente Matlab, e analisado o algoritmo de correlação cruzada (template matching) [26] para a detecção da característica facial

Page 11: Imagens de Faces: Exemplos de Metodogias e Aplicaçõesdados faciais e de classificação de expressões faciais. 2.1. Metodologias para detecção da face Alguns trabalhos relevantes

referente ao olho. O referido algoritmo consiste em correlacionar o modelo protótipo do olho com uma imagem de face, de acordo com o esquema apresentado na figura 10.

Modelo do olho esquerdo

Face

Resultado Normalizado dos Coeficientes de Correlação

Resultado da detecção

Algoritmo de Correlação Cruzada

Figura 10 – Esquema de funcionamento do algoritmo de correlação cruzada

Em termos de realização futuras, espera-se construir um sistema de detecção de faces em imagem e posterior extracção das características faciais: boca e olhos. O referido sistema será desenvolvido em ambiente Matlab e baseado na metodologia dos modelos protótipos deformáveis, considerado por exemplo em [15].

4. Referências [1] M. Pantic, L.J.M. Rothkrantz, “Automatic Analysis of Facial Expressions: The state of art”, vol.22, no 12, December 2000. [2] M. Yang, D.J. Kriegman, Narendra Ahuja, “Detecting Faces in Images: A Survey”, vol 24, no 1, January 2002. [3] C.L. Huang, Y.M. Huang, “Facial Expression Recognition Using Model-Based Feature Extraction and Action Parameters

Classification”, J. Visual Comm. and Image Representation, vol. 8, no. 3, pp. 278-290, 1997. [4] M. Pantic, L.J.M. Rothkrantz, “Expert System for Automatic Analysis of Facial Expression”, Image and Vision Computing J.,

vol. 18, no. 11, pp. 881-905, 2000. [5] H. Kobayashi, F. Hara, “Facial Interaction between Animated 3D Face Robot and Human Beings”, Proc. Int'l Conf. Systems,

Man, Cybernetics, pp. 3,732-3,737, 1997. [6] M. Yoneyama, Y. Iwano, A. Ohtake, K. Shirai, “Facial Expressions Recognition Using Discrete Hopfield Neural Networks”,

Proc. Int'l Conf. Information Processing, vol. 3, pp. 117-120, 1997. [7] S. Kimura, M. Yachida, “Facial Expression Recognition and Its Degree Estimation”, Proc. Computer Vision and Pattern

Recognition, pp. 295-300, 1997. [8] I. Essa, A. Pentland, “Coding, Analysis Interpretation, Recognition of Facial Expressions”, IEEE Trans. Pattern Analysis and

Machine Intelligence, vol. 19, no. 7, pp. 757-763, July 1997. [9] G. Yang, T. S. Huang, “Human Face Detection in Complex Background”, Pattern Recognition, vol. 27, no. 1, pp. 53-63, 1994. [10] T.K. Leung, M.C. Burl, P. Perona, “Finding Faces in Cluttered Scenes Using Random Labeled Graph Matching”, Proc. Fifth

IEEE Int’l Conf. Computer Vision, pp. 637-644, 1995. [11] Y. Dai, Y. Nakano, “Face-Texture Model Based on SGLD and Its Application in Face Detection in a Color Scene”, Pattern

Recognition, vol. 29, no. 6, pp. 1007-1017, 1996. [12] I. Craw, H. Ellis, J. Lishman, “Automatic Extraction of Face Features”, Pattern Recognition Letters, vol. 5, pp. 183-187, 1987.

Page 12: Imagens de Faces: Exemplos de Metodogias e Aplicaçõesdados faciais e de classificação de expressões faciais. 2.1. Metodologias para detecção da face Alguns trabalhos relevantes

[13] T. Sakai, M. Nagao, S. Fujibayashi, “Line Extraction and Pattern Detection in a Photograph”, Pattern Recognition, vol. 1, pp.

233-248, 1969. [14] A. Tsukamoto, C.-W. Lee, S. Tsuji, “Detection and Tracking of Human Face with Synthesized Templates”, Proc. First Asian

Conf. Computer Vision, pp. 183-186, 1993. [15] A. Yuille, P. Hallinan, D. Cohen, “Feature Extraction from Faces Using Deformable Templates”, Int’l J. Computer Vision, vol.

8, no. 2, pp. 99-111, 1992. [16] M. Turk, A. Pentland, “Eigenfaces for Recognition”, J. Cognitive Neuroscience, vol. 3, no. 1, pp. 71-86, 1991. [17] G.J. Edwards, T.F. Cootes, C.J. Taylor, “Face Recognition Using Active Appearance Models”, Proc. European Conf. Computer

Vision, vol. 2, pp. 581-695, 1998. [18] H. Hong, H. Neven, C. von der Malsburg, “Online Facial Expression Recognition Based on Personalized Galleries”, Proc. Int'l

Conf. Automatic Face and Gesture Recognition, pp. 354-359, 1998. [19] C. Padgett, G.W. Cottrell, “Representing Face Images for Emotion Classification”, Proc. Conf. Advances in Neural Information

Processing Systems, pp. 894-900, 1996. [20] P. Ekman, W.V. Friesen, “Facial Action Coding System (FACS): Manual”, Palo Alto: Consulting Psychologists Press, 1978. [21] B. Horn, B. Schunck, “Determining Optical Flow”, Artificial Intelligence, vol. 17, pp. 185-203, 1981. [22] Z. Zhang, M. Lyons, M. Schuster, S. Akamatsu, “Comparison between Geometry-Based and Gabor Wavelets-Based Facial

Expression Recognition Using Multi-Layer Perceptron”, Proc. Int'l Conf. Automatic Face and Gesture Recognition, pp. 454-459, 1998.

[23] T. Otsuka, J. Ohya, “Spotting Segments Displaying Facial Expression from Image Sequences Using HMM”, Proc. Int'l Conf.

Automatic Face and Gesture Recognition, pp. 442-447, 1998. [24] M. Wang, Y. Iwai, M. Yachida, “Expression Recognition from Time-Sequential Facial Images by Use of Expression Change

Model”, Proc. Int'l Conf. Automatic Face and Gesture Recognition, pp. 324-329, 1998. [25] J.F. Cohn, A.J. Zlochower, J.J. Lien, T. Kanade, “Feature-Point Tracking by Optical Flow Discriminates Subtle Differences in

Facial Expression”, Proc. Int'l Conf. Automatic Face and Gesture Recognition, pp. 396-401, 1998. [26] Andrew Blake, Isard Michel,“Active Contours”, Springer, 1998.