next up previous contents
Next: Problemas de generalização Up: Reconhecimento de Padrões Previous: Abordagem estatística   Sumário


Outras Abordagens para o Reconhecimento de Padrões

Casamento (template matching) Trata-se da abordagem mais antiga e mais simples. De maneira geral, dispõe-se de um modelo (template) que é um protótipo do padrão a ser reconhecido. No caso de imagens, o modelo é uma forma 2D. Para classificar, é realizado o casamento do modelo com o sinal (por exemplo, imagem) que deve conter o padrão a ser reconhecido, levando em consideração variações com translação, rotação e mudanças na escala. A medida de similaridade, normalmente relacionada à idéia de correlação, deve ser otimizada com base no conjunto de treinamento. A maior desvantagem de template matching está em seu custo computacional. No caso do uso de templates rígidos, ocorrem falhas ao reconhecer padrões distorcidos ou com grande variação intra-classe. Os modelos de templates deformáveis podem ser usados quando as deformações não podem ser modeladas diretamente. Em [12], há um capítulo com detalhes a respeito dessa abordagem.

Abordagem sintática Trata-se de uma abordagem em que os padrões são tratados sob uma perspectiva hierárquica, ou seja, um padrão é composto por sub-padrões mais simples, os quais também são compostos por outros mais simples. Os sub-padrões elementares são chamados de primitivas, e um dado padrão complexo é representado em termos de inter-relações entre essas primitivas. Uma analogia formal pode ser traçada com a sintaxe de uma linguagem em que pode-se ver os padrões como sentenças pertencentes a uma linguagem, as primitivas como seu alfabeto, e as sentenças são geradas de acordo com a respectiva gramática. A gramática para cada classe de padrões deve ser inferida a partir dos exemplos de treinamento [13]. Uma vantagem de reconhecimento estrutural de padrões está no fato de que, além de fazer a classificação, essa abordagem também provém uma descrição de como os padrões são gerados a partir de primitivas que podem ser repedidas ou obedecerem determinadas ordens no sinal. Esse paradigma pode ser aplicado em padrões com estrutura definida, como imagens com textura e análise de formas de contornos. Um exemplo de modelo de classificação sintática dependente do contexto em que observa-se uma ascensão recente é o de Hiddem Markov Models (HMM). Trata-se de um autômato finito estocástico [12] que gera uma cadeia de observação, isto é, a seqüência de vetores observados. Uma HMM consiste de um número de estados, e a cadeia observada é produzida como um resultado de sucessivas transições de um estado para outro, cada transição pode ocorrer com uma certa probabilidade, a qual é determinada na fase de treinamento. Na prática, os estados correspondem a certas características físicas, como, por exemplo, sons distintos. Em reconhecimento de fala, o número de estados depende do número de fenômenos sonoros esperados em cada palavra. Na realidade, tipicamente três ou quatro estados são utilizados para cada fenômeno, porém, o número exato de estados é freqüentemente resultado de experimentos e não pode ser determinado precisamente a priori. Além de reconhecimento de fala, HMM podem ser aplicados a reconhecimento de caracteres, e de eventos temporais de vídeo, como gestos [16] e expressões faciais. As desvantagens da abordagem sintática estão na necessidade de, inicialmente, segmentar os padrões de ruídos para detectar primitivas, e na inferência de gramática dos dados de treinamento, pois essa abordagem pode permitir uma explosão combinatória das possibilidades a serem investigadas, o que demanda grandes conjuntos de treinamento e um alto esforço computacional [13].

Redes neurais Uma rede neural artificial é um modelo de grafo orientado disposto em uma rede em que os nós representam neurônios artificiais e as arestas orientadas são as conexões entre as entradas e saídas dos neurônios. Redes neurais podem ser vistos como máquinas massivamente paralelas com muitos processadores simples e muitas interconexões [13]. As redes neurais podem ser hábeis a aprender relações entre entradas e saídas complexas e não lineares. Dentre outras características, inclui-se a possibilidade de usar procedimentos seqüenciais de treinamento, e o poder de adaptação aos dados. Há várias famílias de redes neurais. Dentre elas, uma das mais comuns em reconhecimento de padrões é a feed-forward network, que inclui perceptron multicamadas e redes funções de bases radiais (radial-basis function - RBF). Essas redes são organizadas em camadas possuindo conexões unidirecionais entre uma camada e outra. Outra classe popular de redes é a dos mapas auto organizáveis (self-organizing maps - SOM), ou redes de Kohonen, as quais são usadas principalmente para agrupamento de dados (clustering) e em mapeamento de características. O processo de aprendizado envolve atualização da arquitetura da rede e dos pesos das conexões, de forma que a rede pode efetuar tarefas específicas de classificação e análise de agrupamentos (clustering). A popularidade de redes neurais cresceu devido ao fato que, aparentemente, elas têm uma baixa dependência a um específico domínio, de forma que o mesmo tipo de rede pode ser aplicado em vários problemas, o que não ocorre com as abordagens baseadas em modelos ou em regras. Outro fator importante na popularidade é o fato de existirem muitos algoritmos eficientes de aprendizado com redes neurais. As redes neurais disponibilizam um novo conjunto de algoritmos não lineares para extração de características (usando camadas escondidas) e classificação (p. ex. mult-layer perceptrons). Além disso, algoritmos de extração de características podem ser mapeados em arquiteturas de redes neurais para implementação eficiente em hardware. Apesar de possuírem aparentemente princípios diferentes, a maioria dos modelos de redes neurais populares são implicitamente equivalentes ou similares a métodos clássicos de reconhecimento estatístico de padrões. Entretando, redes neurais oferecem várias vantagens, como abordagens unificadas para extração e classificação, e procedimentos flexíveis para encontrar boas soluções não lineares.

Lógica Nebulosa A lógica nebulosa foi criada com inspiração no comportamento humano, que se baseia na interpretação do mundo sem precisão e na descrição desse por atributos lingüísticos. A partir de conjuntos não-nebulosos (crisp), a criação de seu respectivos conjuntos nebulosos (fuzzyficação) é feita através da determinação do grau de pertinência de cada um dos elementos aos conjuntos. As funções de pertinência são baseadas na relação entre cada elemento e o(s) suporte(s) dos conjuntos. Essa relação pode ser, por exemplo, inversamente proporcional à distância entre os elementos e os suportes. Um suporte pode ser determinado, por exemplo, pelo centróide do conjunto de treinamento. A classificação com lógica nebulosa normalmente é feita através de regras nebulosas e métodos de defuzzificação. As regras nebulosas normalmente são regras de inferência que utilizam delimitadores dos valores de pertinência de cada padrão aos conjuntos. O processo de defuzzificação consiste da utilização dos resultados das regras para a criação de conjuntos crisp que contenha informações a respeito da classificação dos elementos. Maiores detalhes a respeito de conjuntos nebulosos, lógica fuzzy e aplicações podem ser encontrados em [17]. No presente trabalho, o uso de conjuntos nebulosos se aplica em algoritmos de seleção de características. Detalhes sobre esse assunto estão na seção 5.2.
next up previous contents
Next: Problemas de generalização Up: Reconhecimento de Padrões Previous: Abordagem estatística   Sumário
Teofilo Emidio de Campos 2000-09-18