Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
•15/07/2015
•1
X Escola do CBPF - Julho 2015 1
Processamento de Imagens
X Escola do CBPF – 2015
Prof. Marcelo Portes de AlbuquerqueProf. Márcio Portes de Albuquerque
Colaboradores: Clécio R. De Bom (CBPF)André Persechino (CBPF)
X Escola do CBPF - Julho 2015 2
Organização do Curso
G14 - Aulas – 13 a 24 de Julho
Notas de Aula: http://mesonpi.cat.cbpf.br/escola2015
Site Web:
Seg. – Introdução a Análise de Imagens
Ter . – Segmentação e Morfologia Matemática
Qua. – Reconhecimento de Padrões
Qui. – Laboratório (ImageJ e MATLAB)
Sex. – Laboratório (ImageJ e MATLAB)
•15/07/2015
•2
Sumário Aula 03
I - Introdução ao Reconhecimento de Padrões
1. Definição de Padrão e Classe
2. Vetor de características
3. Exemplo
4. Projeto do classificador
5. Abordagens típicas
6. Exemplos
II – Introdução as Redes Neurais Artificiais
1. Definição
2. Modelo de um neurônio artificial
3. Modelo de uma rede MLP
4. Algoritmo Backpropagation
5. Exercícios3X Escola do CBPF - Julho 2015
Referências Bibliográficas
4
4
Pattern Classification (2nd Edition) Richard O. Duda, Peter E. Hart, David G. Stork
Redes Neurais: Princípios e PráticaSimon Haykin(Em português)
X Escola do CBPF - Julho 2015
•15/07/2015
•3
PARTE I
Introdução ao Reconhecimento de Padrões
Fases de Análise e Processamento
6
Aquisição
Pré-processamento
Segmentação
Extração de Atributos
Reconhecimento e Interpretação
X Escola do CBPF - Julho 2015
•15/07/2015
•4
O que é um Padrão?
Entidade à qual se pode dar um nomeEx. Objeto, Rosto Humano, Sinal de voz
Um padrão é avaliado de forma física e subjetiva
7
A B C D A B C D
A B C DA B C D
Caracteres em Imagens Peças em Imagens
X Escola do CBPF - Julho 2015
O que é uma Classe?Classe: um modelo matemático descrito por várias características que servem para identificar um padrão
A característica é qualquer aspecto, qualitativo ou quantitativo.
A característica pode ser simbólica (ex. cor) ou numérica (ex. altura)
A combinação de d características é representada como um vetor de dimensão d chamado de vetor de características – feature vector
O espaço de d-dimensões formado pelo vetor de característica é chamado de espaço de características – feature space
Os objetos são representados como pontos no espaço de características.
8X Escola do CBPF - Julho 2015
•15/07/2015
•5
O Que é Reconhecimento de Padrões ?
“Atribuir a um objeto ou evento físico, uma das diversas categorias pré-especificadas“, Duda & Cervo.
“Problema de estimar funções da densidade em um espaço de dimensão elevada, dividindo o espaço em regiões de categorias (ou de classes)" – Fukunaga.
“Dado alguns exemplos de sinais complexos e de decisões corretas para eles, fazer decisões automaticamente para uma sequência dos exemplos futuros" – Ripley.
“O processo de dar nomes w às observações x” – Schürmann.
“Reconhecimento de padrões se dedica a fazer uma máquina responder à pergunta: o que é isto?" – Morse.
“Pattern recognition is a branch of machine learning that focuses on the recognition of patterns and regularities in data, although it is in some cases considered to be nearly synonymous with machine learning.[1] Pattern recognition systems are in many cases trained from labeled "training" data (supervised learning), but when no labeled data are available other algorithms can be used to discover previously unknown patterns (unsupervised learning)” – Wikipédia, 2015.
9X Escola do CBPF - Julho 2015
Objetivos do Reconhecimento de Padrões
Identificar um padrão como membro de um conjunto conhecido de classes -classificação
Atribuir um padrão a um conjunto de classes de padrões – clustering(agrupamento)
10X Escola do CBPF - Julho 2015
Cor
Forma
1
0.5
0
0 0.5 1
•15/07/2015
•6
Um “bom” Vetor de Características
11
Característica 1
Característica 2
Característica 1
Característica 2
bom ruim
X Escola do CBPF - Julho 2015
Outras Propriedades das Características
12
Característica 1
Característica 2
Característica 1
Característica 2
Característica 1
Característica 2
Característica 1
Característica 2
Linearmente separável Não-linearmente separável
Características altamente correlacionadas
Multi-modal
X Escola do CBPF - Julho 2015
•15/07/2015
•7
Características em Imagens
13X Escola do CBPF - Julho 2015
Motivação
Para que queremos um sistema de reconhecimento de padrões?
14
Para automatizar completamente o processo de tomada de decisão, sem necessidade de intervenção humana.
Ex. Identificação de placas de automóveis.
Para de forma iterativa, restringir nossa atenção a um conjunto de casos selecionado pelo sistema.
Ex. Imagens médicas
X Escola do CBPF - Julho 2015
Tese Mestrado Profissional CBPF André Persechino / 2015
•15/07/2015
•8
Aplicações de Reconhecimento de Padrões
Processamento de documentos: Reconhecimento de caracteres impressos ou escritos
Máquinas de leitura para cegos
Leitores de códigos de barras
Interpretação automáticas de textos
15
Automação industrial: Inspeção e
montagem de objetos complexos
Inspeção de circuitos impressos
Inspeção de partes mecânicas
Visão por computador
X Escola do CBPF - Julho 2015
Aplicações de Reconhecimento de Padrões
Detecção remota. Observação da terra através de sensores em satélites e aviões
Planejamento de uso da terraMonitoramento ambientalMeteorologiaExploração mineralMapas topográficos
16
Medicina e biologia. Processamento de sinais e imagens médicas
Contagem de células no sangueDetecção de tumores em imagens de Raios-XAnálise de imagens de cromossomosInterpretação de eletrocardiogramasDiagnóstico médico
X Escola do CBPF - Julho 2015
Antes Depois
•15/07/2015
•9
Aplicações de Reconhecimento de Padrões
17
Identificação de pessoasRestrição de acesso em instalações de segurançaReconhecimento de vozIdentificação de impressões digitaisReconhecimento de facesReconhecimento de placas de veículos
Aplicações científicasInterpretação de ondas sísmicasAnálise de imagens de microscópiosAnálise de imagens de telescópios (Hubble)
Fonte: Projeto DESDark Energy Survey
Colaboração do CBPFX Escola do CBPF - Julho 2015
Processo de Autenticação
Captura Varredura Extração de Atributos
Reconhecimento
Exemplo SimplesReconhecimento das letras L, P, O, E, QDeterminar um conjunto suficiente de características
Desenhar um classificador de estrutura em árvore
Caracteres
Características
Linhas retas
verticais
(V)
Linhas retas
horizontais (H)
Linhas retas
obliquas
(O)
Linhas curvas
(C)
‘L’ 1 1 0 0
‘P’ 1 0 0 1
‘O’ 0 0 0 1
‘E’ 1 3 0 0
‘Q’ 0 0 1 1
18
V>0
start
C>0 O>0
H>1
P OQ
E L
sim não
sim sim
sim
não não
não
X Escola do CBPF - Julho 2015
•15/07/2015
•10
Exemplo PráticoClassificar os peixes em uma linha automatizada de um transportador de acordo com a espécie a que pertence:
19
Adaptado de Duda, Hart and Stork, Pattern Cassification, 2da. Ed.
X Escola do CBPF - Julho 2015
Salmão ou Corvina
Análise do ProblemaMontar um sistema de aquisição de imagens digitais para extrair algumas características:
LuminânciaEixos das Elipses – Largura e ComprimentoFormato da “cauda”Área e perímetro do ObjetoEtc..
Qualquer uma destas características, ou uma combinação delas pode ser utilizada pelo classificador
20
Antes do Classificador– Usar uma operação de segmentação para isolar os objetos
(peixes) do fundo– Usar técnicas de pós-processamento (morfologia), ainda na
imagem, para garantir a separação dos objetos– A informação correspondente a cada “peixe” é enviada a um
extrator de características, cujo principal objetivo é reduzir os dados a um conjunto limitado de características
– As características são enviadas a um classificador
X Escola do CBPF - Julho 2015
•15/07/2015
•11
Análise do Problema - Características
O comprimento não é uma boa característica ...
comprimento
Qtde.
salmão corvina
A luminância foi melhor !!!
Escala intensidade
Qtde.
salmão corvina
X Escola do CBPF - Julho 2015 21
Combinando as características
corvina salmão
Fronteira de decisão
Luminância
Comprimento
22
A combinação de características melhora a separação das classesMelhora a eficiência de classificação (diminui a taxa de erro)
X=[x1, x2];
x1 → Luminância
x2 → Comprimento
X Escola do CBPF - Julho 2015
•15/07/2015
•12
Custo x Taxa de ClassificaçãoA taxa (erro) de classificação é a melhor função objetivo deste problema?
• Classificar o salmão como corvina fará com que o “cliente final” encontre ocasionalmente um pedaço de corvina quando comprar salmão. “E dai?...”
• O custo de errar na classificação de corvina como salmão é ter um “cliente insatisfeito” quando encontrar um pedaço de corvina no salmão!
23
Mover a fronteira de decisão para diminuir a função de custo
corvina salmão
Fronteira de decisão
luminancia
Comprimento
corvina salmão
Fronteira de decisão
luminancia
Comprimento
X Escola do CBPF - Julho 2015
Decisão Ótima?
24
Ótimo!!! Integramos nosso sistema e desenvolvemos nossa aplicação na planta de processamento ... Depois de um tempo ligam da gerência que o erro de classificação é de 25%!!! .... O que aconteceu?
corvina salmão
Fronteira de decisão
luminancia
Comprimento
X Escola do CBPF - Julho 2015
•15/07/2015
•13
Generalização
25
O objetivo principal do classificador é classificar corretamente novas entradas → Poder de Generalização
Relação entre dimensionalidade e conjuntos amostra
Característica 1
Característica 2
Característica 1
Característica 2
Característica 1
Característica 2
X Escola do CBPF - Julho 2015
Quantas características devem ser usadas no classificador?
Quantas mais melhor!! – ideia errada.Na prática: desempenho começa a melhorar, porém se deteriora à medida que mais características são consideradas
Os erros ocorrem devido ao uso não ótimo da informação adicional, que supera a vantagem da informação extra. EsparcidadeÉ necessário limitar o número de características para uma dada dimensão do conjunto de dados (dados para treinamento do sistema)
26X Escola do CBPF - Julho 2015
ε
Número de características (parâmetros k)
Curse of Dimensionality
Representatividadedas Amostras da Classe
8
•15/07/2015
•14
Seleção ou Extração de Características
Seleção: processo de escolha de um sub-conjunto das características originais
Extração: definição de novas características que podem ser função das características originais
27
x 1
x 2
X1
X 2 y1
Y2
Seleção: escolhe-se x2 pois separa facilmente as classes
Extração: após rotação dos eixos de coordenadas, é evidente que é apenas necessária umas das características: y2
X Escola do CBPF - Julho 2015
Seleção de Características
Objetivo: Encontrar o melhor subconjunto de dimensão d das Dcaracterísticas existentes
A melhor solução só pode ser encontrada através de uma procura exaustiva em todos os conjuntos possíveis de dimensão d
Pode ser computacionalmente impraticável
Escolher as d características que produzem individualmente melhores resultados → ERRADO
Técnica de seleção sequencial: Suponhamos que selecionamos k características. Então, a (k+1)ésima característica é aquela que, em combinação com as k existentes, proporciona o melhor desempenho
Outras soluções: Algoritmos genéticos, Testes correlativos, etc.
28X Escola do CBPF - Julho 2015
•15/07/2015
•15
Extração de Características
Objetivo: Aplicar algum tipo de transformação sobre o conjunto original de características, de forma a que as classes estejam mais separadas no novo espaço.
Vantagem adicional: O problema de seleção de características no novo espaço é mais simples
Exemplos de técnicas: PCA ou Transformada de Karhunen-Loeve:
Análise de Componentes Principais: Usa os vetores próprios (autovetores) e valores próprios (autovalores) da matriz de covariância de todos os dados de forma a reduzir a sua dimensionalidade.
29X Escola do CBPF - Julho 2015
Projeto do Classificador
Projetar um classificador é equivalente a escolher as regiões de decisão, que por sua vez podem ser associadas a funções discriminantes.
30X Escola do CBPF - Julho 2015
•15/07/2015
•16
Funções Discriminantes
A classificação pode ser representada por um conjunto de funções de discriminação
As funções discriminantes são uma sequência de funções g1(.); ... ; gc(.) associadas às regiões de decisão S1;...;Sc, .
O conhecimento das funções discriminantes dispensa a numeração das classes para cada ponto do espaço de características.
Não existe uma única sequência de funções discriminantes para um dado classificador.
Cixgkww ik ;...;1,)(maxarg:
31
ijSxxgxg iji ,),()(
X Escola do CBPF - Julho 2015
AvaliaçãoA qualidade de um classificador pode ser representada sinteticamente na forma de uma matriz quadrada P, designada por matriz de confusão, e pela probabilidade total do erro do classificador.
32
Matriz de Confusão• A matriz de confusão P é uma matriz quadrada de CxC, em
que C é o número de classes
CCC
C
pp
pp
P
...
..
...
1
111
ijij pp | Cjipij ,...,1,;0 C
jijp 1
No caso ideal P é uma matriz unitária
X Escola do CBPF - Julho 2015
•15/07/2015
•17
Matriz de Confusão
33X Escola do CBPF - Julho 2015
Valores Verdadeiros(medidos por especialistas)
Valo
resEn
contrad
os
(medidos p
elo siste
ma)
Positivos Negativos
Positivo
s
VPVerdadeiro Positivo
FPFalso Positivo
Negativo
s
FNFalso Negativo
VNVerdadeiro Negativo
Acertos: Valores positivos que o sistema julgou positivos como verdadeiros positivos.Valores negativos que o sistema julgou como negativos como verdadeiros negativos.
Erros: Valores positivos que o sistema julgou negativos como falso negativo Valores negativos que o sistema julgou positivos como falso positivos.
Matriz de ConfusãoO valor da matriz de confusão é geralmente estimado experimentalmente.
Necessário dispor de um conjunto de observações previamente classificadas, testar esse conjunto no classificador, e comparar os resultados do classificador com os valores já conhecidos.
34X Escola do CBPF - Julho 2015
Base “Teste” Definida por Especialistas• Classe A: 80%• Classe B: 15%• Classe C: 5%
Base “Teste” Analisada pelo Sistema de Reconhecimento• Classe A: ???• Classe B: ???• Classe C: ???• Nenhuma delas: ????
Importante: Conjunto de dados deve ser “bem” representativo de todos os dados.
Exemplo: Eficiência de um classificador
•15/07/2015
•18
Exemplo: Matriz de Confusão
35X Escola do CBPF - Julho 2015
Base “Teste” Definida por Especialistas
Base
“Teste
” Analisad
a pelo Siste
ma d
e
Reconhecim
ento
Classe A Classe B Classe C Nenhuma
Classe ARP 64/80 10/0 1/0 ‐
Classe BRP 3/0 11/15 0/0 ‐
Classe CRP 0/0 0/0 5/5 ‐
Nenhuma ‐ ‐ ‐ 2
Matriz de Confusão Base “Teste” – Sistema de Reconhecimento de Padrões (valores em % / %)
Base “Teste” Definida por Especialistas• Classe A: 80%• Classe B: 15%• Classe C: 5%
Eficiência do Sistema de Classificação: 64+11+5 = 80%
Projeto de um Classificador
36
Coleção de dados
Escolha das características
Escolha do modelo
Treino ou aprendizagem
Avaliação
Complexidade computacional
X Escola do CBPF - Julho 2015
•15/07/2015
•19
Projeto de um classificador
Coleção de dados: Conjunto de treinamento. Conjunto grande e representativo de exemplos para treinar e testar o sistema.
Escolha das características. Propriedades estatísticas. Dependem do problema. Simples a extrair, invariantes a transformações e “insensível” ao ruído.
Escolha do modelo. Experimentar vários modelos se o desempenho não for satisfatório.
Treino ou aprendizagem. Usar os dados para determinar classificador. Existem muitos métodos.
Avaliação. Critério de desempenho. Medir a taxa de acerto/erro (Eficiência!)
Complexidade computacional. Analisar relação entre a complexidade computacional e o desempenho. Analisar a complexidade do algoritmo em função do número de características e padrões.
37X Escola do CBPF - Julho 2015
Aprendizagem
Aprendizagem supervisionadaConjunto de treino rotulado
Conhece-se a classificação correta 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 supervisionadaNão se conhece a classificação dos padrões de treino.
Obs: base da teste e validação do sistema.
O sistema forma clusters ou agrupamento naturais dos padrões de entrada
38X Escola do CBPF - Julho 2015
•15/07/2015
•20
Abordagens Típicas
Estatística: assume um modelo de dados estatístico. Supervisionado ou não.
Ex. Classificador de Bayes, k-means.
Estrutural ou sintática: é definido uma sequência de elementos básicos (primitivas) que representem as formas dos objetos. É criada uma linguagem e uma gramatica
Neuronal: Imita o funcionamento do cérebro humano. Supervisionado ou não. Ex. Redes MLP, SOM, RBF, etc.
39X Escola do CBPF - Julho 2015
Sistema de Reconhecimento de Padrões
Análise de Imagens e Visão Computacional
EXEMPLO 1
•15/07/2015
•21
1. O Problema
BactériaClasse 1
CélulaClasse 2
Observação - 2 Classes distintas
Imagem útil
Observação de microorganismos
Procura-se:
1. número de bactérias e de células observadas
2. Orientação das bactérias e células
3. Tamanho
Procura-se:
1. número de bactérias e de células observadas
2. Orientação das bactérias e células
3. Tamanho
Problemas:
1. Imagem com iluminação irregular
2. Ruídos diversos
3. Identificacao dos objetos e análises idependentes
Problemas:
1. Imagem com iluminação irregular
2. Ruídos diversos
3. Identificacao dos objetos e análises idependentes
X Escola do CBPF - Julho 201541
2. Número de bactérias e células
BactériaClasse 1
CélulaClasse 2
Imagem útil Imagem analisada
4
18
18,2%
81,8%
Ocorrências
Objetos que tocam a borda da imagem devem ser descartados
Exemplo
X Escola do CBPF - Julho 2015 42
•15/07/2015
•22
3. Orientação e Tamanho
BactériaClasse 1
CélulaClasse 2
BactériaClasse 1
CélulaClasse 2
é o ângulo de orientação
2. Classe 2 não tem ângulo de orientação
1. Tamanho é relativo
Obs: Estamos interessados em valores estatísticos – média e desvio padrão
1.0
0.5
0.85
1.5
X Escola do CBPF - Julho 201543
APLICAÇÃO DE TÉCNICAS DE PROCESSAMENTO DIGITAL DE IMAGENS PARA A DETECÇÃO DE MARFES NO JET
EXEMPLO 2
Mestrado em Instrumentação Cientifica CBPF
Aluno: Germano Teixeira Chacon
•15/07/2015
•23
Tópicos
1. Motivação
2. Fundamentos Teóricos
a) Extração de Atributos
b) Classificação e Reconhecimento
3. Fusão Nuclear
4. Processamento de Imagens para o JET
5. Desenvolvimento e Caracterização
a) Em Matlab
b) Em C/C++
6. Conclusões e PerspectivasX Escola do CBPF - Julho 2015
45
1 Motivação
A produção comercial de energia elétrica a partir da fusão deátomos leves, como uma fonte alternativa de energia de largaescala.
Existem atualmente diversos desafios tecnológicos para aoperacionalização deste tipo de equipamento
No final de 2009 um acordo de cooperação foi assinado com aComunidade Européia da Energia Atômica (EURATOM), do qual oLaboratório JET é um dos principais experimentos científicos.
Neste trabalho estudamos, desenvolvemos e apresentamostécnicas e algoritmos de processamento de imagem para processarvídeos do JET. O objetivo é detectar um fenômeno conhecido porMARFE (Multifaceted Asymmetric Radiation From The Edge).
X Escola do CBPF - Julho 2015 46
•15/07/2015
•24
2 Fundamentos Teóricos
Processos de baixo nível: envolvemoperações primitivas de préprocessamento .
Processos de médio nível: estesprocessos envolvem tarefas desegmentação de objetos.
Processos de alto nível: estesprocessos identificam e atribuem umsignificado aos objetosreconhecidos.
X Escola do CBPF - Julho 201547
2 Fundamentos Teóricos Extração de Atributos O objetivo desta fase é extrair informações úteis, normalmente na
imagem binária. Existem basicamente duas classes de medidas sãoelas:
atributos da Imagem como um todo (Field Features), ex.:número de objetos, área total de objetos, etc;
atributos de região (Region Features) que se referem aosobjetos independentes, ex.: área, perímetro, forma, etc.
48
•15/07/2015
•25
2 Fundamentos Teóricos Momentos de Uma Imagem
A técnica de momentos é um dos vários métodos utilizados paraextração de características de uma imagem.
Os momentos de imagem mais utilizados são os momentosregulares definidos a partir da seguinte fórmula:
os momentos regulares de ordem 0 e 1 são usados para o cálculodo baricentro ou centro de massa do objeto, através das seguintefórmulas:
X Escola do CBPF - Julho 2015 49
2 Fundamentos Teóricos Momentos de Uma Imagem Com a informação obtida dos baricentros obtemos o que chamamos de
momentos centrais que são definidos para imagens digitais como
Finalmente existem os momentos centrais normalizados representados por e definidos pela seguinte fórmula:
X Escola do CBPF - Julho 2015 50
•15/07/2015
•26
2 Fundamentos Teóricos Momentos de Uma Imagem Momentos Hu resolvem um grande problema no reconhecimento
de padrões que é a variação das características dos objetos.
X Escola do CBPF - Julho 2015 51
2 Fundamentos Teóricos Extração de Atributos por Momentos Hu
Descrever formas em imagensbinárias.
Desenvolvimento de aplicações parareconhecimento de padrões .
Reconhecimento automático decaracteres e de faces,
Na área médica temosaplicações no reconhecimentode anomalias fisiológicas emimagens tomográficas ouradiográficas.
Aplicação em imagens doJET/EFDA
X Escola do CBPF - Julho 2015 52
•15/07/2015
•27
2 Fundamentos Teóricos Classificação e Reconhecimento
A necessidade do Reconhecimento de Padrões surge de problemas ondeprecisamos separar dados de natureza diferente em categorias.
O objetivo do reconhecimento é realizar, de forma automática, a“identificação” dos objetos segmentados na imagem.
Os parâmetros provenientes da etapa de extração de atributos sãoutilizados para construir um espaço de características à N dimensões.
As formas são representadas por vetores contidos dentro do espaço decaracterísticas.
Podemos utilizar algoritmos de Aprendizado de Máquina (AM) a fim deobter um classificador capaz de prever a classe de novos eventos queocorram no mesmo espaço de características.
X Escola do CBPF - Julho 2015 53
2 Fundamentos Teóricos Classificação e Reconhecimento Support Vector Machines
Técnica de aprendizado supervisionado amplamente usada em reconhecimento de padrões.
O algoritmo de treinamento recebe um conjunto de exemplos para ao término obtemos um classificador que é representado por uma função g(x)
Definir uma “reta” (hiperplano) que separa os vetores (x1, x2) em duas classes.
X Escola do CBPF - Julho 201554
x1
x2
Exemplo: SVM para conjunto de dados linearmente separáveis
•15/07/2015
•28
2 Fundamentos Teóricos Classificação e Reconhecimento Support Vector Machines
Busca um Hiperplano ótimo maximizando margem de separação entre as classes (z)
Minimizar W
X Escola do CBPF - Julho 2015 55
x1
x2
z2
z1
z2 > z1
3 Fusão Nuclear Um breve Histórico
As pesquisas na área de fusão nuclear foram iniciadas em LosAlamos (EUA), com claras motivações militares para produzir umabomba de fusão.
Em 1951 Andrei Sakharov e Igor Tamm conceberam o Tokamak.
Todos os trabalhos de investigação se mantiveram secretos até àConferência "Átomos para a Paz" que decorreu em Genebra, em1958.
Em 1978, a Comunidade Europeia (mais a Suécia e a Suiça)empreenderam a construção do projeto JET ("Joint EuropeanTorus")
O projeto ITER (“International Thermonuclear Experimental Reactor”)iniciado em 1992.
X Escola do CBPF - Julho 2015 56
•15/07/2015
•29
3 Fusão Nuclear Vantagem e Necessidade
Potência
Segurança
Matéria prima abundante.
Baixa toxicidade
X Escola do CBPF - Julho 2015 57
3 Fusão Nuclear Conceitos Básicos
A fusão nuclear é o processode construir núcleos maispesados a partir de núcleosmais leves.
A energia nuclear pode serobtida a partir da ligação entredois nuclídeos leves (fusão) ouda cisão de núcleos pesados(fissão)
X Escola do CBPF - Julho 2015 58
•15/07/2015
•30
3 Fusão Nuclear Reações de Fusão
As reações mais importantesenvolvem deutério (D2) e trítio(T3) na forma de um plasmadentro do reator.
Requerem temperaturas muitoelevadas.
Utilizam uma mistura dereagentes pouco densa.
Submeter este plasma a açãode uma força externa de formaa mantê-lo confinado.
X Escola do CBPF - Julho 2015 59
3 Fusão Nuclear Tokamaks
O Plasma é confinadomagneticamente.
Tipo de Reator onde as linhasdo campo magnético sãofechadas em si mesmas,formando um toro.
Busca a tornar a reação autosustentada (Condição deIgnição )
O ganho Q é definido como arazão entre a energia liberadae a energia consumida
X Escola do CBPF - Julho 2015 60
•15/07/2015
•31
3 Fusão Nuclear O JET
X Escola do CBPF - Julho 2015
EFDA JET - Culham Science CentreAbingdon, Oxfordshire
United Kingdom
4 Processamento de Imagens para o JET
A recuperação da informação
Extração de informações em tempo real
Derivação da informação física quantitativa
X Escola do CBPF - Julho 2015 62
•15/07/2015
•32
4 Processamento de Imagens para o JETAs Câmeras
Taxa de aquisição de 30.000 quadros por segundo
Resolução de 256 x 256 pixels.
A câmera possui uma saída de imagens no formato PNG.
Montadas em um endoscópio
X Escola do CBPF - Julho 2015 63
4 Processamento de Imagens para o JETOs MARFEs Abreviação para o fenômeno Multifaceted Asymmetric Radiation
From the Edge
O MARFE é caracterizado como um anel brilhante concêntrico de radiação.
X Escola do CBPF - Julho 2015 64
•15/07/2015
•33
4 Processamento de Imagens para o JETA Base de Dados 22 vídeos da câmera APX-RS
3300 imagens 4236 padrões
Classificados em MARFE, Não-MARFE ou Outros
65
4 Processamento de Imagens para o JETO Sistema de Classificação
X Escola do CBPF - Julho 2015 66
•15/07/2015
•34
4 Processamento de Imagens para o JETAvaliação de Desempenho
A precisão do sistema como um todo foi determinada utilizando o método de Matriz de Confusão
O objetivo final do módulo de Análise de Desempenho (Performance Analyzer) é a construção da matriz de confusão para vários algoritmos de processamento de imagem.
X Escola do CBPF - Julho 2015 67
5 Desenvolvimento e Caracterização Desenvolvimento em MATLAB Servir como plataforma de teste e avaliação das técnicas para a
classificação de MARFEs
Ferramenta de Software - LibSVM (Biblioteca em C/C++)
InterfacePrincipal
Pré Processamento
Treinamento
Classificador
Analisador
Base de Imagens JET (BIJET)
Tabela de Atributos Proc. Imagens (ATRPI)
Tabela de Atributos JET (ATRJETBD)
Parâmetros de Treinamento
Modelo de Classificador
Modelo de Classificador
Tabela de Atributos Proc. Imagens (ATRPI)
Tabela de Atributos + Classes (ATRCPI)
Tabela de Atributos + Classes (ATRCPI)
Tabela de Atributos JET (ATRJET)
Matriz de Confusão Expandida
X Escola do CBPF - Julho 201568
•15/07/2015
•35
5 Desenvolvimento e Caracterização Desenvolvimento em MATLAB
PRÉ PROCESSAMENTO
Entrada Base de Imagens(BIJET)
Saída Tabela ATRPI
Permite a variação do threshold e do número de imagens usadas para o cálculo da imagem de fundo
X Escola do CBPF - Julho 2015 69
5 Desenvolvimento e Caracterização Desenvolvimento em MATLAB
Treinamento Entradas
A tabela de atributos (ATRJETBD).
Os parâmetros de treinamento.
Saída Modelo de
Classificador
25% da base para teste do classificador e 75% para o treinamento
X Escola do CBPF - Julho 2015 70
•15/07/2015
•36
5 Desenvolvimento e Caracterização Desenvolvimento em MATLAB
Classificador Entradas
A tabela de atributos (ATRPI).
O modelo de Classificador SVM.
X Escola do CBPF - Julho 2015 71
5 Desenvolvimento e Caracterização Desenvolvimento em MATLAB
ANALISADOR Entradas
Tabela de atributos do JET (ATRJETBD).
Tabela de atributos do processamento de imagens, após a classificação (ATRCPI).
Saída Matriz de Confusão
expandida
Análise Temporal
Resultados Gerais
X Escola do CBPF - Julho 2015 72
•15/07/2015
•37
5 Desenvolvimento e Caracterização Desenvolvimento em C/C++ O código foi testado em uma plataforma de computação Linux Intel
64 bits.
A implementação buscou ao mesmo tempo, alta precisão e desempenho em tempo de execução.
A versão final apresenta uma taxa de detecção correta de 93,3% e uma taxa média de processamento de imagem de 650 frames por segundo.
Ferramentas de Software Utilizadas OpenCV
LibSVM
Módulo de Abertura da Imagem Utiliza discos em memória com alta taxa de transferência 1300 MB/s a 3200
MB/s
X Escola do CBPF - Julho 2015 73
5 Desenvolvimento e Caracterização Desenvolvimento em C/C++Módulo de Estimação da Imagem de Fundo e Binarização da Imagem
X Escola do CBPF - Julho 2015 74
•15/07/2015
•38
5 Desenvolvimento e Caracterização Desenvolvimento em C/C++Módulo de Extração de Características
Este módulo tem como objetivo a extração de características das regiões de pixels contíguos nas imagens binárias.
Usamos a biblioteca OpenCV: cvBlobsLib. Esta biblioteca rotula e segmenta imagens binárias
No a versão do algoritmo em C/C++ os momentos Hu´s foram calculados porem não foram utilizados
X Escola do CBPF - Julho 2015 75
5 Desenvolvimento e Caracterização Desenvolvimento em C/C++Módulo de Extração de Características
O objetivo principal do módulo de classificação é determinar a qual classe pertence a forma encontrada
60% da base para Treino e 40% para Testes
11018 Modelos SVM foram testados
o melhor resultado foi obtido por um modelo SVM baseado em um kernel polinomial de grau 10
X Escola do CBPF - Julho 2015 76
•15/07/2015
•39
5 Desenvolvimento e Caracterização Desenvolvimento em C/C++Análise de Desempenho
Duas abordagens Distintas Maior taxa de acertos
Menor Tempo de Processamento
As medidas de tempo se referem ao método walltime, que é uma estimativa do tempo total consumido por todo o sistema
A plataforma computacional de teste foi um nó Linux do Cluster computacional do CBPF 2 placas mãe, cada uma com 2 processadores Intel CPU Xeon E5430
HarperTownQuad-Core.
X Escola do CBPF - Julho 2015 77
5 Desenvolvimento e Caracterização Desenvolvimento em C/C++Análise de Desempenho Resultados
Neste trabalho, apresentamos apenas o desempenho da classificação geral do sistema de processamento dedicados ao reconhecimento de MARFEs. O algoritmo de processamento de imagens processou 1.409 regiões
X Escola do CBPF - Julho 2015 78
•15/07/2015
•40
MarfeD – C/C++ Parallel Version
MarfeD – Fhu Cls #1
MarfeD – Fhu Cls #2
MarfeD – Fhu Cls #3
Thread #1BKG and Bin
Thread #2BKG and Bin
Thread #3BKG and Bin
shm2
shm3
shm1
Server
Server Thread
./ServerBKGFHu.exe./ServerBKGFHu.exe
152.84.201.204 (marcio64):/home/marcio64/threads/PI-3Slaves-3FHu-Mask-55p152.84.201.204 (marcio64):/home/marcio64/threads/PI-3Slaves-3FHu-Mask-55p
./MarfeDv0.99-tsc-Parallel.exe Jet-DataBase-Trains-CentroidsNorm-s0t1d10g0.7r1.0e0.000001c10000.txt.model 3 (2 or 1 – Clients)
./MarfeDv0.99-tsc-Parallel.exe Jet-DataBase-Trains-CentroidsNorm-s0t1d10g0.7r1.0e0.000001c10000.txt.model 3 (2 or 1 – Clients)
MarfeD – 1 Server, 3 Threads and 3 Clients (via Shared Memory)MarfeD – 1 Server, 3 Threads and 3 Clients (via Shared Memory)
Backgroundcalculation
threads
Backgroundcalculation
threads
Feature Extraction
&Classification
ModulesProcesses
Feature Extraction
&Classification
ModulesProcesses
Receive Imageand Control allReceive Imageand Control all
7 cores were used7 cores were used
Shared memoryRegions for message passing
(image and parameters)
Shared memoryRegions for message passing
(image and parameters)
•79
50 100 150 200 250 3000
1000
2000
3000
4000
Co
un
t
time (s)
Equation y=y0+A*exp(-0.5*((x-xc)/w)^2)
Reduced Chi-Sqr
5432,2132
Adj. R-Square 0,99286
Value Standard Error
Count y0 21,52369 13,32795
Count xc 74,41076 0,16876
Count w 8,49213 0,16209
Count A 4319,45575 72,56611
Task Affinity, High Priority, FIFO Queue and RT Time Analysis
9369 (94.2%)9369 (94.2%)
581(5.8%)581(5.8%)
9950 images processed9950 images processed
Worst case: 0. 3423 ms(2920 fps)
Worst case: 0. 3423 ms(2920 fps)
xc = 74.41µs .:. 13.439,054 fpsxc = 74.41µs .:. 13.439,054 fps •80
<133 µs >133 µs
•15/07/2015
•41
Desenvolvimento Tecnológico
•81
Sumário Aula 03
I - Introdução ao Reconhecimento de Padrões
1. Definição de Padrão e Classe
2. Vetor de características
3. Exemplo
4. Projeto do classificador
5. Abordagens típicas
6. Exemplos
II – Introdução as Redes Neurais Artificiais
1. Definição
2. Modelo de um neurônio artificial
3. Modelo de uma rede MLP
4. Algoritmo Backpropagation
5. Exercícios82X Escola do CBPF - Julho 2015
•15/07/2015
•42
O Cérebro Humano
O cérebro humano processa as informações de uma forma completamente diferentes que o computador
O cérebro é um computador altamente complexo, não-linear e paralelo
Ele tem capacidade de organizar os neurônios de forma realizar certos processamentos muito mais rapidamente que o más rápido computador digital.
Ex: • Reconhecimento de uma bola por uma criança
• Sonar de um morcego - distância, velocidade relativa, tamanho, azimute, etc...
83
Como o cérebro humano e o morcego fazem isso?– O cérebro tem uma grande estrutura e habilidade de desenvolver suas
próprias regras através do que chamamos de experiência – Os neurônios que formam o cérebro tem a característica de plasticidade,
permitindo que o sistema nervoso se adapte ao meio ambiente
X Escola do CBPF - Julho 2015
Neurônio Biológico
84
PARTES dendritos corpo celular axônio sinapse
Ideia de entrada, processamento e saída
X Escola do CBPF - Julho 2015
•15/07/2015
•43
85
Rede BiológicaAPRESENTAÇÃO formam malhas complexas comunicação entre neurônios pelas sinapses
Como reproduzir tal complexidade?
4X Escola do CBPF - Julho 2015
O que é uma Rede Neuronal?
“ É um processador maciçamente paralelo, constituído por unidades de processamento simples (neurônios), que tem propensão natural para armazenar conhecimentos experimental e torná-lo disponível para seu uso.
Ela se assemelha ao cérebro em dois aspectos:O conhecimento é adquirido através da aprendizagemForças de conexão entre neurônios – os pesos sinápticos-, são utilizadas para armazenar o conhecimento adquirido...”
Simon Haukin
86X Escola do CBPF - Julho 2015
•15/07/2015
•44
87
Modelo de um Neurônio
Semelhança entre os modelos
pesos
Função de
ativação saídaSomador
Entrada
bias (polarização)
p
jkθjxkjwkθkuky
1
X Escola do CBPF - Julho 2015
Funções de Ativação
88
-2 0 2
-1
0
1
“LIMITE DURO” )()( usigu
-2 0 2
0
0.5
1
SIGMOIDE)exp(1
1)(
auu
-2 0 2
-1
0
1
TANGENTE HIPERBÓLICA autanhu )(
X Escola do CBPF - Julho 2015
•15/07/2015
•45
Modelo de uma Rede
Disposição em camadas. Camadas ocultas
Comunicação entre neurônios entre camadas
89X Escola do CBPF - Julho 2015
Benefícios das Redes Neurais
Não linearidade
Mapeamento Entrada-Saída
Adaptabilidade
Resposta a evidências
Tolerâncias a falhas
Implementação VLSI
90X Escola do CBPF - Julho 2015
•15/07/2015
•46
Não-Linearidade
Um neurônio artificial pode ser linear ou não-linear
Uma rede é não-linear quando constituída por neurônios não lineares
Esta propriedade é importante porque a natureza (dados de entrada) é principalmente não-linear
Característica 1
Característica 2
91X Escola do CBPF - Julho 2015
Mapeamento Entrada-Saída
Aprendizagem supervisionada. Aplicação de um conjunto de amostras de treinamento rotuladas
Cada conjunto consiste de um sinal de entrada único com a saída desejada
Apresenta-se para a rede um exemplo, e os pesos sinápticos da rede são modificados para minimizar a diferencia entre a resposta desejada e a resposta da rede, de acordo com um critério estatístico apropriado
O treinamento é repetido para muitos exemplos até que a rede alcance estabilidade
92
Rede NeuralSinal de entrada Resposta desejadaSaída
X Escola do CBPF - Julho 2015
•15/07/2015
•47
Adaptabilidade
Capacidade de adaptar os pesos sinápticos a modificações
Pode ser facilmente retreinada para lidar com pequenas modificações nas condições operativas
Em ambientes não-estacionários (onde as estatísticas mudam com o tempo), uma rede pode ser projetada para modificar seu pesos em tempo real.
93X Escola do CBPF - Julho 2015
Perceptrons de Múltiplas Camadas
Treinamento supervisionado
Algoritmo de retro-propagação do erro(error backpropagation)
Dois passos : propagação (para frente - Feedforward )
retro-propagação (para a trás - backpropagation)
Nx
x
x 1
Ny
y
y~
~
~1
94
sinal
erro
Ny
y
y 1
Ne
e
yye 1
~
Nx
x
x 1
Ny
y
y 1
entrada saída
X Escola do CBPF - Julho 2015
•15/07/2015
•48
Fase de Propagação
Propagação:
Um vetor de entrada é aplicado a entrada da rede. Seu efeito se propaga camada trás camada.
Os pesos sinápticos são todos fixos
Um conjunto de saída é produzido –resposta real da rede
1
j
Nc-1
1
i
Nc
1cjv c
ijw
cib
1C C
cv1
civ
cNcv
2 cv2
1
1
1cN
j
ci
cj
cij
ci bvwu
95
ci
ci utghv
X Escola do CBPF - Julho 2015
Fase de Retro-propagação
Retro-propagação: A resposta real da rede é subtraída de
uma resposta desejada (alvo) para produzir o sinal de erro
O sinal de erro é propagado através da rede contra a direção das conexões sinápticas – daí o nome
Os pesos sinápticos são ajustados para fazer que a resposta real da rede se mova para mais perto da resposta desejada (estaticamente)
cj
1cj
1
j
Nc-1
1
i
Nc
1cjv c
ijw
1C C
cv1
civ
cNcv
2 cv2
ci
N
j
cij
cj
ci
c
wv
1
211 1
96
evcj
ci
21
X Escola do CBPF - Julho 2015
•15/07/2015
•49
Fase de Atualização
Existem muitas métodos de atualização. Regra Delta
α – taxa de aprendizado. Quanto menor for α, menor serão as variações dos pesos sinápticos
ci
ci
ci
cj
cij
b
vw
2
2 1
)()()1( nwnwnw
97
)()()1( nbnbnb
X Escola do CBPF - Julho 2015
Conjunto de Dados
Geralmente são usados 3 conjuntos de dadosTreinamento. Conjunto usado para atualizar os pesos
Validação. Para validar como esta se comportando o treinamento. Determinar a parada do algoritmo
Teste. Avaliação final do modelo
Os conjuntos de treinamento e validação participam na criação do modelo
98X Escola do CBPF - Julho 2015
•15/07/2015
•50
99
TREINAMENTO SUPERVISIONADO conjunto de treinamento
AB
REDENEURAL
ProfessorA,Berro, erro
??X B
AA?
1a ITERAÇÃO 2a ITERAÇÃO 3a ITERAÇÃO
X
PADRÕES
A,Bok, erroA,B
ok, ok
Treinamento iterativo
X Escola do CBPF - Julho 2015
X
100
YY
~Valor desejadoValor obtido na saída da rede
ITERAÇÃO
ER
RO
²
O erro diminui !!!
22 ~YYErro
O erro diminui !!!
X Escola do CBPF - Julho 2015
•15/07/2015
•51
-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 60
1
2
3
4
5
6
7
8
VALOR DAS SINAPSES
ER
RO
5
2wy
1a ITERAÇÃO
2a ITERAÇÃO
3a ITERAÇÃO4a ITERAÇÃO
VALOR INICIAL
MÉTODO DO GRADIENTE DESCENDENTE minimização do erro mesma direção e sentido oposto ao gradiente
Minimização do Erro
w
nynw
)(
)( 1,
5
2)()(
w
w
nynw
)()()1( nwnwnw n w(n) w(n)
0 5 -2
1 3 -1,2
2 1,8 -0,72
3 1,08 -0,43
4 0,65 -0,26
X Escola do CBPF - Julho 2015 101
Exercício
102
ci
N
j
cij
cj
ci
c
wv
1
211 1
evcj
ci
21
ci
ci
ci
cj
cij
b
vw
2
2 1
)()()1( nwnwnw )()()1( nbnbnb
1
1
1cN
j
ci
cj
cij
ci bvwu
ci
ci utghv
IX Escola do CBPF 2015
X Escola do CBPF - Julho 2015
•15/07/2015
•52
Feedforward (FF)
0.06 0.06
0.5 0.46
0.74 0.63
Primeira Camada
X Escola do CBPF - Julho 2015
Feedforward (FF)
0.97 0.97
0.71 0.61
Segunda Camada
X Escola do CBPF - Julho 2015
•15/07/2015
•53
Backpropagation
D4
Y’a=0.2Y’b=1
Saídas Desejadas
(δ)
D5
D1
D2
D3
X Escola do CBPF - Julho 2015
Backpropagation
D4
D5
Cálculo das Variações das Sinapses (ΔW) A taxa de aprendizado é uma constante de proporcionalidade no intervalo [0,1]
V1=0.06
V2=0.46
V3=0.63
V4=0.97
V5=0.61
DW41
DW51
1
4
5
X Escola do CBPF - Julho 2015
•15/07/2015
•54
BackpropagationAtualização das Sinapses → w(n+1) = w(n) + Δw(n)
W41
W51
W4bW5b
W42
W52
W43
W53
W2bW3b
W1b
W1aW2a
W3a
W1b
W2b
W3b
X Escola do CBPF - Julho 2015
W41(n) = 0.1ΔW41 = 0.00122818W41(n+1) = 0.1012818
Exemplo de Projeto de Rede Neural
X Escola do CBPF - Julho 2015
Proposta de Rede Neural Entrada = 35
Neurônios na Camada1 = 4
Neurônios na Saída=10
Entrada Imagem (5x7)
Rede Neural
123456...35
12345678910
•15/07/2015
•55
X Escola do CBPF - Julho 2015 109
Processamento de Imagens
X Escola do CBPF – 2015
Prof. Marcelo Portes de AlbuquerqueProf. Márcio Portes de Albuquerque
Colaboradores: Clécio R. De Bom (CBPF)André Persechino (CBPF)