Reconhecimento de Padrões 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Escola Superior de Tecnologia Engenharia Informática Reconhecimento de Padrões Prof. João Ascenso e Prof. Ana Fred
Sumário Introdução & objectivos Aplicações Um exemplo: Salmon & Sea bass Sistemas de reconhecimento de padrões Projecto de um sistema de reconhecimento de padrões 24-09-2003 2
Padrão O que é um padrão? Entidade à qual se pode dar um nome Ex: sinal de voz, rosto humano, imagem,... 24-09-2003 3
Objectivos de reconhecimento de padrões Atribuir um padrão a um conjunto desconhecido de classes de padrões (clustering) Identificar um padrão como membro de um conjunto conhecido de classes (classificação) 24-09-2003 4
Sistema de reconhecimento de padrões Sensor Características Sistema de Reconhecimento de Padrões Classe (i.e. nome da pessoa) 24-09-2003 5
Motivação Um decisor humano pode recorrer a sistemas de reconhecimento de padrões para: De forma interactiva, para restringir a sua atenção a um conjunto de casos seleccionados pelo sistema; Automatizar completamente o processo de tomada de decisão, sem necessidade de intervenção humana. 24-09-2003 6
Aplicações de reconhecimento de padrões Historicamente: reconhecimento de caracteres, classificação de células de sangue. Durante os últimos 40 anos esta metodologia tem sido aplicada em áreas diversas: Reconhecimento automático e contagem de partículas de matéria descritas através do tamanho e forma (células, bactérias, viroses, pós), assistindo os cientistas em disciplinas como a bioquímica, microbiologia, física, metalurgia. Técnicas de RP revolucionaram o processamento de dados de satélite proporcionando informação sobre condições do solo, tipos de vegetação, características térmicas, padrões meteorológicos, topografia de terrenos, Aplicações de sucesso no mercado: OCRs, leitores de impressões digitais, reconhecimento de palavras isoladas, 24-09-2003 7
Categorização das áreas de Aplicação Processamento de documentos. Reconhecimento de caracteres impressos ou escritos: Máquinas de leitura para cegos Leitores de códigos de barras Introdução automática de texto em documentos de processamento de texto; Análise de documentos financeiros Compreensão de linguagem natural Automação industrial. Inspecção e montagem/configuração de objectos complexos: Inspecção de circuitos impressos Inspecção de partes de máquinas Processamento de imagem Visão por computador Detecção remota (Remote sensing). Observação do planeta através de sensores em satélites ou aviões: Previsão da evolução de culturas Planeamento de uso de terras Monitorização ambiental Meteorologia Exploração mineira Mapas topográficos 24-09-2003 8
Categorização das áreas de aplicação Medicina e biologia. Processamento de diversos sinais e imagens médicas: Contagem de células no sangue; Detecção de tumores em imagens de Raios-X; Caracterização de tecidos usando ultra-sons; Análise de imagens de cromossomas; Interpretação de electrocardiogramas; Diagnóstico médico Identificação de pessoas. Restrição de acesso em instalações de segurança: Reconhecimento de voz Identificação de impressões digitais Reconhecimento de caras Aplicações científicas: Interpretação de ondas sísmicas para previsão de terramotos Análise de composição molecular através de imagens de microscópio electrónico Aplicações na agricultura: Direccionamento de equipamento; Inspecção de produtos; Ordenação e empacotamento de produtos 24-09-2003 9
Exemplos de problemas 24-09-2003 10
Relacionamento com outras áreas Processamento de sinal Modelação neuronal Teoria da optimização / decisão Teoria dos autómatos Análise exploratória de dados Modelação estrutural Linguagens formais Inteligência artificial Visão 24-09-2003 11
Um exemplo Classificar todos os peixes de um cargeiro de acordo com a espécie a que pertence Salmon Espécie Sea bass 24-09-2003 12
Análise do Problema Análise do problema: Montar uma sistema de aquisição de imagem e tirar algumas fotografias digitais de forma a extrair algumas características: Comprimento Luminância Largura Posição da boca Número de barbatanas Etc.. Qualquer uma destas características, ou uma combinação de características pode ser utilizada pelo nosso classificador 24-09-2003 13
Pré-processamento Usar uma operação de segmentação para isolar os objectos (peixes) uns dos outros e do fundo. A informação correspondente a cada peixe é enviado a um extractor de características, cujo principal objectivo é reduzir os dados a um conjunto limitado de características. As características são enviadas a um classificador 24-09-2003 14
Arquitectura 24-09-2003 15
Classificação Seleccionar o comprimento como uma característica possível para a discriminação. 24-09-2003 16
Classificação O comprimento não é uma boa característica! Seleccionar a luminância. 24-09-2003 17
Teoria de decisão Decisão do limiar e função do custo Mover o limiar de decisão para valores mais baixos de luminância de forma a reduzir o número de salmon classificados como sea bass, i.e. o custo. Tarefa da teoria de decisão 24-09-2003 18
Combinar características Combinar duas características: a luminância e o comprimento de cada peixe Peixe xt = [x1, x2] Luminância Comprimento 24-09-2003 19
Combinar características 24-09-2003 20
Combinar características Podemos adicionar mais características que não estão correlacionadas com a luminância e o comprimento. No entanto, se seleccionarmos características pouco adequadas podemos reduzir o desempenho! Idealmente, a melhor decisão é a que permite o melhor desempenho tal como é ilustrado na próxima figura: 24-09-2003 21
Decisão óptima? 24-09-2003 22
Generalização No entanto, a nossa satisfação é prematura uma vez que o nosso objectivo principal de um classificador é classificar correctamente novas entradas. Generalização 24-09-2003 23
Generalização 24-09-2003 24
Sistemas de reconhecimento de padrões Fase 1: Aquisição do sinal. Utilização de um sensor ou transdutor: Por exemplo: câmara, microfone, scanner, etc. O sistema de RP depende das características do sensor: Por exemplo: resolução, ruído, etc.. Fase 2: Localização e segmentação dos padrões Isolar os objectos da cena. Os padrões devem estar bem separados uns dos outros. 24-09-2003 25
Sistemas de reconhecimento de padrões Extracção de características Utilizar características discriminativas. As características devem ser invariantes em relação às características: E.g. translação, rotação e escala. Classificação Utilizar o vector de características para atribuir uma categoria ao objecto. Pós-Processamento Explorar informação sobre o contexto onde o padrão se insere para eliminar/seriar os resultados e melhorar o desempenho. 24-09-2003 26
Sistemas de reconhecimento de padrões 24-09-2003 27
Exemplo: reconhecimento de texto 24-09-2003 28
Caracterização de um sistema de RP Crucial para o sucesso de um sistema RP: Não formular o problema de uma forma geral do que o necessário. Usar o conhecimento disponível à priori. Factor decisivo! Usar fontes de informação complementares e independentes A escolha de características é um factor fundamental Devem conter a maior parte da informação relevante. A dimensão do conjunto de características deve ser pequena 24-09-2003 29
Espaço de características Objectos Representação vectorial Representação no espaço natural e.g. da imagem x1 Área Representação no espaço de características X 1 = área X = perímetro 2... X d =... X 3 x x... xd 2 = Perímetro X 2 X 1 24-09-2003 30
Como desenhar um sistema de RP? As principais tarefas na concepção de um sistema de RP são: Colecção de dados. Escolha das características. Escolha do modelo. Treino. Avaliação. Complexidade computacional. 24-09-2003 31
Projecto de um sistema de RP 24-09-2003 32
Projecto de um classificador Colecção de dados Como sabemos quando é que temos um conjunto suficientemente grande e representativo de exemplos para treinar e testar o sistema? Escolha das características Depende das características do domínio do problema. Simples a extrair, invariante a transformações e insensível ao ruído. Escolha do modelo Experimentar vários tipos de modelos se o desempenho não for satisfatório. Treino Usar os dados para determinar o classificador. Existem muitos métodos para treinar os classificadores e escolher os modelos. Avaliação Medir a taxa de erro (ou desempenho) e alternar de um conjunto de características para outro. 24-09-2003 33
Projecto de um classificador Complexidade computacional: Qual é is a troca entre complexidade computacional e o desempenho? Qual é a complexidade do nosso algoritmo em função do número de características, padrões e categorias? 24-09-2003 34
Aprendizagem e adaptação Aprendizagem supervisionada: Conjunto de treino rotulado. Conhece-se a classificação correcta de cada um dos padrões. Forma de aprendizagem, pois é apresentado ao classificador a sua entrada (padrão) e a sua saída (classe). Aprendizagem não supervisionada: Não se conhece a classificação dos padrões de treino. O sistema de RP forma clusters ou agrupamentos naturais dos padrões de entradas. 24-09-2003 35
Abordagens típicas do RP Estatística: Assume um modelo de dados estatístico, i.e. um conjunto de probabilidades. Estrutural ou sintáctica: Assume que as relações entre os dados são importantes. Neuronal: Imita o funcionamento do cérebro humano. 24-09-2003 36
Terminologia usada: Característica: Medida extraída do padrão e.g. cor, idade, nome, peso, etc.. Classificação: Atribuir uma entrada a uma classe de acordo com as suas características Reconhecimento: Capacidade de classificar Classe de padrões: Conjunto de padrões com a mesma origem e que partilham os mesmos atributos Ruído: Distorções da entrada, erros na extracção de características, erros nos dados de treino 24-09-2003 37
Conclusão No reconhecimento de padrões, o número de problemas, a sua complexidade e magnitude é bastante elevada! Muitos destes problemas podem ser resolvidos! Muitos problemas ainda se encontram por resolver! 24-09-2003 38