Reconhecimento de Padrões
Introdução
Luiz Eduardo S. Oliveira, Ph.D. http://lesoliveira.net
Universidade Federal do Paraná Departamento de Informática
Objetivos
• Introduzir os conceito básicos de
reconhecimento de padrões através de um exemplo de um sistema de
Introdução
• Pense em ações simples que realizamos no nosso dia-a-dia, e na complexidade envolvida, como por exemplo:
Interpretar placas de trânsito
Introdução
Ler um jornal: Diferentes Fontes, Figuras, Gráficos, Ilustrações, etc...
Introdução
• Agora imagine como implementar essas simples ações em um sistema de
computador! • Complicado?
• O que seria necessário?
– Adquirir a imagem, ler, entender (classificar), tomar uma ação.
Introdução
• Diferentes abordagem paraReconhecimento de Padrões. – Estatística
– Estrutural – Sintática
Um Exemplo
• Para ilustrar a complexidade desse tipo de sistema, considere o seguinte exemplo:
– Uma indústria recebe dois tipos de peixe: Salmão e Robalo. Os peixes são recebido em uma esteira, e o processo de classificação é manual.
– A industria gostaria de automatizar esse processo, usando para isso uma câmera CCD.
Um Exemplo (cont)
• Primeiramente devemos encontrar ascaracterísticas que distinguem um
salmão de um robalo.
– Altura, largura, coloração, posição da boca, etc...
• Características (Features): Qualquer medida que se possa extrair de um determinado objeto.
Um Exemplo (cont)
• Características podem ser:– Simbólicas.
– Numéricas (Continuas ou binárias).
• Ruídos (Erros):
– Conceito originário da teoria das comunicações; – Podem estar presente no objeto.
• Uma mancha no peixe, por exemplo.
– Devidos ao sistema de aquisição.
Um Exemplo (cont)
• Dado as diferenças entre as populações de Salmão e Robalo, podemos dizer que
cada uma possui um modelo específico.
• Modelo: Um descritor, geralmente representado através de uma função matemática.
– Bom modelo é capaz de absorver ruídos.
Sistema Clássico
Aquisição Pré-Processamento Classificação Salmão Robalo Segmentação Extração de CaracterísticasÁrea Multidisciplinar
Algoritmos/ Estrutura de Dados Reconhecimento de Padrões Processamento De Imagens Aprendizagemde Máquina EstatísticaÁlgebra Linear &
Geometria Computação Evolutiva Domínio da Aplicação
Sistema Clássico –
Pré-processamento
• Simplificação do sinal capturado pela câmera.
– Ex: Eliminação de alguns ruídos. – Processamento digital de imagens.
• Tornar os processos subseqüentes mais simples e rápidos.
Sistema Clássico –
Segmentação
• Isolar os objetos deinteresse na imagem.
– No nosso exemplo, encontrar o que é peixe e o que não é peixe.
– Processamento Digital de Imagens • Filtros, morfologia matemática, etc...
Sistema Clássico –
Segmentação
• Segundo nível de segmentação. – Encontrar e segmentar os objetos de interesse detectados na primeira fase da segmentação.Sistema Clássico –
Extração de Características
• A imagem do objeto de interesse éenviada para o módulo de extração de características.
– Reduzir a complexidade através da extração de certas “características” ou “propriedades”.
Sistema Clássico –
Classificação
• As características (valores) são passadas para o classificador, o qual toma uma decisão
– No nosso exemplo: Salmão ou Robalo.
• Mas que tipo de características devemos usar?
Conceitos básicos de classificação
• Suponha que alguém nos diga que:– Robalos geralmente são maiores que salmões.
– Isso nos dá uma direção para modelar nosso problema, ou seja,
– Se o peixe ultrapassa um tamanho t, então ele é um robalo, caso contrário, é um salmão. – Mas como determinar t ??
Conceitos básicos de classificação
• Podemos selecionar alguns exemplares(base de treinamento) de peixe e
verificar seus tamanhos.
• Suponha que após analisarmos nossa base de treinamento, tenhamos os seguintes histogramas
Conceitos básicos de classificação
t
salmão
robalo Usando somente a medida
de tamanho, não podemos separar de maneira confiável nossas duas classes de peixes. Portanto, devemos tentar outras características.
Conceitos básicos de classificação
salmão robalo
Como podemos notar, essa característica é muito mais confiável, mas não é perfeita.
Robalos que serão classificados como salmão.
Conceitos básicos de classificação
• Suponha que os clientes da nossaindustria aceitem um pedaço de salmão embalado junto com robalo, mas o
contrário é inaceitável.
• Devemos então alterar nossa fronteira para que isso não aconteça.
Conceitos básicos de classificação
salmão robalo
Custo maior, uma vez que mais salmões serão classificados como robalos
x
Conceitos básicos de classificação
• Isso sugere que existe um custoassociado com a nossa decisão.
• Nossa tarefa consiste em encontrar uma regra de decisão que minimize o custo.
– Isso é o papel central da Teoria da Decisão.
– Também pode ser visto como um problema de otimização.
Conceitos básicos de classificação
• Como minimizar o custo?– Buscar outras características.
• Suponha que a claridade seja a melhor.
– Podemos utilizar duas características ao mesmo tempo.
=
1x
x
x
Conceitos básicos de classificação
Nossa base de treinamento em um gráfico de dispersão salmão robalo
al
tu
ra
claridade
Conceitos básicos de classificação
• Nosso problema consiste em encontrar afronteira de decisão que minimize o
custo.
• Modelo mais simples: – Separação linear, y = ax+b – Algoritmos tradicionais:
Conceitos básicos de classificação
salmão robalo al tu ra claridadeConceitos básicos de classificação
• Essa regra fornece uma boa fronteira dedecisão, entretanto pode ser melhorada. – Adicionar mais características, como por
exemplo, dimensões do peixe, posição relativa dos olhos, etc..., poderiam ajudar. • Quanto mais características, mais base de
treinamento será necessária.
Conceitos básicos de classificação
• Suponha que não dispomos de maiscaracterísticas. • Solução:
– Construir um modelo mais complexo do que um modelo linear.
Conceitos básicos de classificação
salmão robalo
al
tu
ra
claridade Fronteira muito mais complexa.
Separação perfeita!
Um exemplo (salmão) de teste
Conceitos básicos de classificação
• Apesar de complexo, esse modelo é piordo que o modelo linear.
• A principal característica de um modelo deve ser a sua capacidade de
generalizar.
• Modelos muito complexos geralmente não generalizam bem, pois decoram a base de treinamento (over-fitting).
Conceitos básicos de classificação
• Por outro lado, modelos muito simplestendem a generalizar demais (
under-fitting).
• Na aprendizagem de máquina, veremos técnicas para evitar over- e under-fitting, ou seja, construir fronteiras de decisão nem tão simples e nem tão complexas.
Conceitos básicos de classificação
salmão robalo al tu ra claridadeTaxas
• Um sistema pode ser avaliado usando diferente taxas.
• A mais comuns são
– Taxa de rec = (N_rec/Total_Img) * 100 – Taxa de Erro = (N_err/Total_Img) * 100 – Taxa de Rej = N_rej/Total_img) * 100
Taxas
• Outra forma bastante utilizada para se avaliar classificadores são as curvas ROC (Receiver Operating
Characteristics)
– TP, TN (Diagonal principal da matriz) – FP, FN
Exercício
• Planeje um sistema que inspecione
automaticamente uma linha de produção de biscoitos. Os seguintes aspectos
devem ser observados:
1. Forma (redondo) e tamanho (2cm de raio). 2. Integridade (Quebrado, mordido, etc) 3. Quantidade de recheio (pelo menos 3
marcas de chocolate).
Considere todos os aspectos, desde a aquisição da imagem até a classificação.