Вы находитесь на странице: 1из 260

INTELLECT

1
O que é Visão de Máquina?

• A visão envolve aquisição e processamento da informação visual.

• Visão de Máquina é a habilidade do computador “ver”.

• Uso de um sistema de visão de máquina:


– Uma ou mais câmeras, conversor analógico/digital (ADC),
processador de sinal digital (DSP), e software de visão.

2
O que é Visão de Máquina?

• Usando sua visão, as máquinas inspecionam defeitos em produtos


detectando a presença ou a ausência das peças, fazendo análise
das medidas, lendo códigos, etc.

• Os dados ou o sinal resultante, vão para um dispositivo externo tal


como um computador, um controlador de robô, um PLC, etc.

3
DVT Hardware

4
Hardware – Visão Geral

Componentes da Câmera
Luz de LED Integrada
(Opcional)

Lente tipo C ou CS

Microprocessador

CCD ou CMOS

Memórias Flash e RAM

Protetor de Fiação (Opcional)

5
Comunicação

• 8 E/S digitais configuráveis


– Controla até 4 estrobes independentes

• Ethernet
– Modbus TCP, Modbus RTU
– ASCII, XML
– Ethernet/IP

• Field Bus Protocolos


– Profibus and Devicenet

• Opções:
– OPC Server
– RS-232 comunicação serial com conversor (CON-ETS)

6
Luz Estrobo LED - DVT

• Usa um cabo com conector 4 pinos

• Conecta por 3 pinos do Break Out Board


– marrom=24V+; azul=terra; preto=Signal

• Vermelha: fornece uma luz monocromática de


670nm
– O CCD da câmera é mais sensível a este
comprimento de onda de luz.

• Infra-vermelho: fornece uma luz monocromática


de 850nm

• Também disponível na configuração com LED’s


brancos para aplicações coloridas.

7
I/O Components

Conexões isoladas e não isoladas


Expansão I/O - Ethernet
8 linhas de I/O digitais configuráveis
16 pontos de I/O discretos
8 entradas Ethernet
8 saídas Ethernet

• Montagem em trilho DIN • Montagem em trilho DIN

8
IBOB

• Contém conexões para:


– Digital I/O (terminais com parafuso)
• Isolados e não isolados
– Fonte de alimentação 24V
– Luz Estrobo - DVT LED

• Características:
– 8 pinos de I/O dedicados
– 24 V+, 2 terras e 3 conexões de estrobo
– LED’s de status dos I/O’s

• Montagem em trilho DIN

9
Ethernet I/O

10
Comunicação Serial

• Conversor Ethernet/Serial
- part # CON – ETS

• Conexão usando a porta 2101

CON-ETS

11
SmartLink

• Simples tela de VGA ou toque que


monitora estações

• Opcional DeviceNet / ProfiBus

• Ethernet 10/100 taxa de transferência

• RS-232 usado para carregar firmware


e arquivos de projetos

12
Intellect Básico

Visão Geral
• Estabelecendo uma conexão
• Layout da interface de usuário
• Navegação de imagens
• SoftSensor visão geral

13
Gerente de Rede

Endereço de IP
IP do Computador:
192.168.0.12
IP da Camera :
192.168.0.242
Subnet:
255.255.255.0
Desconecta

Gerente de
conexões

Conexões
14
Ícones de Imagens Ícones de Produtos
Ícones de SoftSensor
Janela de
Propriedades

Display de Imagens
Resposta em tempo real
Gerente de
conexões

Tabela de
resultados

15
Display de Imagens (SID)

• Display de imagens
– As imagens são transferidas para o display somente quando
houver tempo disponível.
– Seleção de imagens:
• Aprovadas/Reprovadas
• Todas as imagens: Pára na reprovada

16
Ícones de Sistema

• Abrir Arquivos • Salvar sistema na memória flash


– Imagem Bitmap
– Produto / Sistema • Undo & Re-Do
• Product1.dvtiprod
• System.dvtisys • Trigger externo
– Arquivo de Script
• myScript.dvtiscr • Inspect (run mode)
– Gráfico

17
Play mode vs. Inspection mode

Play Mode Inspection O SID vai Atualiza


“RTF” Mode atualizar? digital I/O ?
ON ON Yes Yes

ON OFF Yes No

OFF ON No Yes

Nota: A câmera só será independente do computador depois de ter


sido acionado o botão de Inspect (run mode).
18
Estrutura de Arquivo

System

Product 1 Product 2

SoftSensor 1
SoftSensor 1

SoftSensor 2
SoftSensor 2 SoftSensor 3

19
Ícones de Produtos

• Criar um novo produto

• Ícones de gerenciamento de produto:


– Adicionar novos produtos
– Recortar (ctl+X), copiar (ctl+C) e colar (ctl+V)
– Salvar sistema para memória flash
– Habilita AntiBlooming
– Habilita estrobos
– Ajuste de tempo de exposição

20
Gerenciamento de Produtos

Usado em conjunto com a janela de parâmetros:

- Atribuindo um produto
ao power-on

- Criando novo, apagando,


duplicando, ou salvando
produtos na memória flash

- Atribuindo uma
tranformação de coordenadas
escala global

- Escolhendo um
número da seleção
de ID digital

21
Ícones de Sensores

- Funções de edição padrão

recorta (ctl+X), copia (ctl+C) e cola (ctl+V)

Lista de sensores Ajustes das propriedades

22
Sensores

• Organizados por tarefa:


– Preprocessamento
• Realçar a qualidade da imagem, com filtros, antes da inspeção
– Posicionamento
• Localização rápida e exata das peças em todas as direções
– Contagem
• Analisar Presença/Ausência, contagem e cor
– Medidas
• Calcular valores matemáticos precisos e revisões estatísticas
– Leitores
• Decodificar uma variedade de códigos 1D, 2D e OCR
– Detecção de falha
• Aprender variações nas peças descobrir defeitos na manufatura
– Scripts
• Ferramenta programável que oferece a flexibilidade final para
inspeções
Específico da aplicação - ferramentas para aplicações
específicas
23
Propriedades Comuns dos Sensores

• Executar inspeção
• Referência de posição
– Esta opção permite (X, Y, Theta) que dados sejam trocados entre
sensores
• Referência de imagem
- Esta opção liga a saída de imagem de um sensor com a entrada de
outro
• Modo de marcação local
- Ajusta a marcação local para o sensor
• Shaped Defined in
– Usado para referenciar a um sistema de coordenadas

24
Demostração de Habilidades com
Sensores

Desenhar
Mudar forma
Mover
Determinar porque um sensor falhou

25
Tabela de Resultados

• Fornece acesso rápido a:


– Propriedades de aquisição de imagem
– Resultado dos sensores
• Passa/Falha, tempo, causa da falha, ordem, tipo
– Resultados da inspeção
– Gerenciamento de comunicação

26
Parâmetros de Aquisição

Trigger Source (Fonte de disparo):


- Internal Full Speed (interno max. velocidade)
- Internal with Period (ms) (interno c/ período)
- External (externo)
Image Acquisition (Aquisição de Imagem):
- Exposure Time (tempo de exposição)
- Illumination Enable (habilita iluminação)
Image Acquisition Area (área de aquisição de imagem):
Auto Exposure (exposição automática):
Image Focus (foco da imagem):
Image Display (display de imagem):

27
Resultados da Inspeção

• Configuração:
– Tempo
– Tempo de saída
– Resultados Passa/Falha

• Tela de Tempo para:


– Aquisição de imagem
– Inspeção
– Inspeção de área
– Tempo de inspeção total

28
Gerênciamento de Comunicação

- Configura rapidamente todas as formas


de comunicação

- Ícone na tabela
de resultados

29
Posicionamento de Janelas

• É fácil esconder janelas usando posicionamento :


– Lado esquerdo
– Lado direito
– Embaixo

• Clique com o botão direito na janela para alterar as propriedades do


posicionamento

30
Configurações de Sistema

• Conexões do sistema
• Inspeção
• Scripts de fundo
• Sistemas de coordenadas
• Imagens retidas
• Calibração de sistema
• Administração do sistema
• Gráficos do sistema

• Salva sistema na memória flash

31
Network Explorer

Emulador IP Address
IP: 127.0.0.1
Subnet:
255.255.255.0

Disconecta

Gerente de
conexões

Conexões
32
Emulador

• Um programa de aplicação separado do Intellect


• Emula os sensores DVT
• Utiliza imagens que estão salvas no PC.

33
Carregando Imagens

Atalhos:
- Teclado (ctrl+E)
• Para rodar uma série de imagens:
- Ícone
– No menu do Intellect abra
images e selecione “Configure
Sequence…”

– Não é preciso ter formato de


nome para “All Images in
Directory”

– Formato do nome para


“Numbered images”
Prefixo###.bmp
Ex: image000.bmp

34
Navegação

• Use os botões Play e Stop para navegar na


sequência de Imagens

Fonte de Disparo:
- Interno com um período de tempo (ms)
- Interno em máxima velocidade
- Externo
Avançar com as imagens:
- Última imagem
- Para trás / para frente
- Gravar
- Stop

35
Salvando Imagens

• Usando uma câmera ao vivo, podemos salvar imagens para o HD


do PC.

* Escolha a opção Record Without Marking ou as


marcas dos sensores serão gravadas junto com
as imagens.
36
Salvando Produtos/Sistemas

• Os arquivos de Produto/Sistema podem ser salvos para a câmera


ou para o PC.
- Para a câmera:
- Basta clicar no ícone

- Para o PC:
- No menu File selecione:
“Save System as…” ou
“Save Product as…”

37
Suporte e Diagnósticos

• Tenha um arquivo de produto ou sistema e uma sequência de


imagens gravadas no PC
• Inicialize o Emulador
• Restaure o arquivo de produto ou sistema e configure a sequência
de imagens
• Diagnosticar e pesquisar defeitos na aplicação
• Backup final de produto ou sistema para o PC
• Carregue o produto ou sistema para a memória Flash da câmera

38
Emulador DVT

• Uma vez que configuramos a sequência de imagens no Emulador,


precisamos configurar as inspeções:
– Selecionar o sensor que irá usar
– Ajustar parâmetros do sensor
– Critérios de passa e falha do sensor
– Rodar as imagens e iniciar as inspeções
– Comparar os resultados obtidos no painel do resultado com o
resultado previsto. Mudar parâmetros de SoftSensor se necessário

39
Ferramentas de contagem

• Todos os sensores de contagem estão localizados


abaixo do Grupo Counting

• O Intellect combinou vários algorítimos num


mesmo sensor.

• Depois de desenhar o sensor, você pode escolher


qual algorítimo irá utilizar.

• Há 2 principais grupos de sensores: baseados em


área e baseados em linha.

40
Contagem baseada em linha

• Sensores baseados em linha:


– Contagem ao longo da linha
– Contagem ao longo do arco
– Contagem ao longo da poli-linha

• O algorítimo “default” desses sensores é o de


Contagem de borda.

• O algorítimo mais poderoso é o de comparação de


padrão.

41
Contagem Baseada em Linha

• Edge Counting
– Mesmo algorítimo para Posição, Linha

– Procura transições entre pixels claros e escuros, conta e passa


para a tabela de resultados.

– A função “Edge Width” ajuda a eliminar falsas bordas.

– Threshold de Gradiente ajuda com variações de iluminação.

42
Contagem Baseada em Linha
Options

• Em Opções, você escolhe o


tipo de borda a ser contada e
também o tipo de Threshold.

• Na página Advanced, você


pode configurar a largura da
borda a ser contada.

43
Princípios de Contagem

• Identificar uma característica específica da peça.


– Bordas
– Formas e padrões
– Pontos brilhantes
– Intensidades de cor e cinza
– Tamanho

44
Definições

• Max Intensity – pixel claro


100

• Min Intensity – pixel escuro

0
• Contrast – Diferença entre pixel claro e pixel
escuro.

45
Lendo um Pixel Graph

100 100 50 0 0 50 100 100

46
Contagem Baseada em Linha

• O método de contagem de bordas


encontrou 29 bordas.

• Podemos ajustar a largura de


borda para encontrar somente o “1”
ou encontrar somente as marcas.

47
Contagem Baseada em Linha

• Pattern Counting
– Esta opção trabalha aprendendo um padrão dos pixels definidos
pelo usuário e procura então, ao longo do trajeto, por
ocorrências do padrão aprendido.

– Pattern Counting é insensível a ruídos e a mudanças de


iluminação.

48
Contagem Baseada em Linha

• Pattern Match
- Um gráfico da contagem é criado para ajudar o usuário a
identificar se o teste padrão foi reconhecido ou não .

49
Contagem Baseada em Linha

• Pattern Find

– Para evitar encontrar falsos padrões, é possível definir, em pixel,


uma distância mínima entre regiões.

– Minimum Match Score


• Essa contagem é usada para uma seleção final de padrão.

50
Contagem baseada em linha

• Aprendendo uma única marca,


com a ferramenta de
contagem de padrão, nós
encontramos 10 marcas.

51
Vantagens e Desvantagens

Edge Find Pattern Find


Feature Find
Vantagem Vantagem
Vantagem
- Muito rápido - Filtros de ruídos
- Capaz de excluir as
muito bons
- Threshold de bordas que não
gradiente devem ser contadas - Tolera mudanças na
iluminação
- Threshold de
gradiente

Desvantagem Desvantagem
Desvantagem
- Tem que determinar - Maior tempo de
- Muito dependente
o tamannho da processamento.
do Threshold para
eliminar ruídos característica a ser
contada.

52
Contagem baseada em área

• Blob
– Conta blobs de pixels com intensidades semelhantes

• Object Locate
– Conta objetos de geometria semelhante

• Pattern Find
– Aprende padrões distintos para contar.

53
Contagem em Área Object Locate

• Object Locate

– Algorítimo Geométrico.

– O algorítimo é usado para funções múltiplas de posição e


contagem.

– Capacidade de Auto-Aprendizagem

54
Object Locate – Count In Area

Object Locate

– Não binariza a imagem

– Threshold de Gradiente para extrair pontos da borda

– As características são extraídas dos pontos da borda

– Características constituem-se de pontos de cantos, de curvas,


etc.

55
Parâmetros Model Object

Extração e Aprendizado
• Segmentos são extraídos e
características identificadas.

• Nível de importância
atribuído (Strength)

• Possível ajustar tamanho


(largura) e min. gradiente

• Possível gerenciar
segmentos individualmente

• Ajuste de offset do Pick Point

56
Algorítimo Object Locate

• Na imagem corrente, os segmentos mais importantes são


localizados, baseados na porcentagem de Matching Features
configurado. Vários candidatos podem ser encontrados.

• Esses candidatos são comparados com o modelo aprendido


baseado na porcentagem de Minimum Match Score configurado e a
distância de pixels para pontos da borda.

57
Parâmetros de Localização do Objeto

• A escala pode ser ajustada


para melhor robustez

• Limitar a translação e a
rotação pode reduzir o tempo
de processamento.

58
E se não Trabalhar?
• Analisar a Imagem
– Melhorar a iluminação
– Otimizar definição e contraste de bordas

• Verificar o segmento aprendido (Model Object)


– Identificar contornos interrompidos e tentar abaixar o Min.
Gradiente.
– Deletar todos os segmentos menos importantes / ruidosos.
– Ajustar os parâmetros.

59
E se não Trabalhar?

Ajuste dos Parâmetros

• Reduza / Aumente Matching Features %

• Reduza / Aumente Pixel Distance se a peça mudar de imagem para


imagem.

• Reduza / Aumente Minimum Match Score % (está deve ser a ultima


opção).

60
Contagem em Área Blobs

• Blobs

– Procura pixels juntos, de intensidades similares, para agrupá-


los.

– Fornece a contagem e os dados de posição de cada blob


encontrado.

Nota: Blob Selector foi combinado com Generator.

61
Contagem em Área Blobs

• Blobs Options
– Aumentar o parâmetro Match Score ajuda a eliminar contagens
falsas.

– Três métodos disponíveis para cálculo de ângulo


• 0 graus está as 3 horas
• 360 (default) & 180 graus

62
Parâmetros Preprocessing

• Blob PreProcessing
– Usa sempre threshold baseado em intensidade para produzir a
imagem binarizada.

– Até 5 operações de morfologia.


• Dilation – Dilata os pixels
• Erosion – Erode os pixels
• Open – Combinação de Erosion com Dilation
• Close – Combinação de Dilation com Erosion

63
Parâmetros Generation

• Blob Generation
– Blob Color
• Light ou Dark (Claro ou Escuro)
– Blob Size Limits: usado para eliminar blobs não desejados.
• Min e Max (Mínimo e Máximo)
– Tipo de saída
• Posição, área, perímetro, etc.

64
Blob Generator

• As sombras podem afetar a imagem.


• Código de cores
– Preto: blob ignorado ou na borda
– Cinza claro: blobs válidos
– Cinza escuro: blobs ignorados
por parâmetros (ex. area)

65
Parâmetros Selection

• A aba de Informação do Blob


indica valores para comparações
.
– A marcação de imagem
mostra o número de cada
blob.

• Automatically Score Blobs


– Desabilitada é possível
configurar valores de Min. e
Máx.

66
Contando Pixels (PixelCounting)

• Quando usado com uma câmera


monocromática o sensor de
PixelCount conta a intensidade do
pixel.

• Ajuste manual dos limites mínimo


e máximo da intensidade
desejada.

• Usado principalmente para


análise de presença e ausência.

67
Entenda um Histograma

• Mostra a distribuição da intensidade


do pixel.

68
Sensores de Posicionamento

• Position along Line


– Line (Translação)
– Arc (Rotação)

• Line Fit (Translação e Rotação)


– Line, Minimum, Maximum

• Circle Fit (Translação)

• Area Positioning (Translação e Rotação)


– Object, Pattern, Blob

69
Posicionamento

• Na prática, todas as aplicações precisam de correção de


posicionamento da peça.

• Ferramentas de posicionamento podem referenciar outra


ferramenta para localizar as áreas de inspeção.

• Pode-se fazer uma “corrente” de sensores para referenciar uma


ferramenta nas direções X, Y e rotação.

70
Exemplo

Horizontal
Position, Line
SoftSensor
Vertical
Position, Line
SoftSensor

Inspection SoftSensors

71
Ferramentas de Posicionamento

• Os algorítimos usados para posicionamento


também estão no grupo de contagem .

72
Sensores de Posicionamento - Linha

• Corrige movimentos em 1 direção.

• Encontra a 1ª borda (a partir da origem da ferramenta) e


determina a porcentagem de offset

• Procura uma transição entre pixels claros e escuros

• Limitado pelo tamanho (quanto maior o desenho, maior pode ser


o movimento)

• Retorna à tabela de resultados o valor de porcentagem de offset


com relação ao tamanho da ferramenta.

73
Posição Baseada em Linha

Options
• Edge Type to Locate
- Seleciona o tipo de borda a
ser encontrada.

• Na página Advanced você


pode configurar a largura
mínima da borda a ser
encontrada.

74
SoftSensor Arc : Exemplo

Horizontal
Position Line
SoftSensor
Vertical
Position Line
SoftSensor

Rotational
SoftSensor

Inspection SoftSensors

75
SoftSensor Arc : Exemplo

Position Circle
SoftSensor

Rotation
Position Arc
SoftSensor

Inspection SoftSensors

76
Fitting Positioning

• Fitting SoftSensors
– Line Fit (linha)
– Circle Fit (circulo)
• Cada linha de scan do SoftSensor faz a varredura
em uma área para as bordas
• Sensores de linha ou círculo encontram bordas.
• Melhora a exatidão.
• Algorítimo rápido e exato.

77
Line Fit: Exemplo

Line Fit
SoftSensor
Position, Line
SoftSensor

Inspection SoftSensors

78
Line Fit

• Posiciona rotação e translação


• Precisa de uma borda reta para rotação
• Pode requerer um outro sensor para posicionar
exatamente a translação em 2D
• Faz a varredura de uma área que procura uma borda
reta. O tamanho do SoftSensor é muito importante

Certo Errado

79
SoftSensor LineFit

• Pode traçar uma linha nos


pontos de borda encontrados

• Pode encontrar …
– Minimum edge point
– Maximum edge point
– Median EdgePoint

80
Circle Fit

• Usa bordas para encontrar um


círculo com um ponto de
centro que pode ser usado
como referência

• Filtragem avançada

• Melhor medida de Subpixel.

81
Aumentando a Exatidão

• Aumente o número de pontos de borda encontrados:


– Aumentando o ajuste de densidade
– Ajustando o raio do círculo interno para zero
– Aumentando o tamanho do sensor Line Fit.

82
Posição baseada em área

• Area Positioning tem 3 algorítimos diferentes


– Object Locate
– Pattern Match
– Blob (Default)

83
Posição baseada em área

• Como desenhar o sensor de Area Positioning


– Desenhe um quadro em torno do objeto ou
característica que quer encontrar.
– Um quadro grande é desenhado
automaticamente. Esse quadro é a área de
busca.
– Você pode editar os quadros e reaprender o
objeto se necessário.
– O algorítimo “default” é o Blob, veremos a seguir.

84
Sensor de Posição Blob

• O Algorítimo é novo
– A imagem é binarizada.
– Pixels de intensidades similares são agrupados formando blob.
– O resultado será posições de X, Y e rotação do blob.
– Novo no Intellect
• Selector e Generator combinados
• As características do Blob são aprendidas automaticamente.
Isto ajuda automatizar o processo de seleção.

85
Blob Position – Options

Options
• Minimum Match Score
– Esta contagem é usada para
uma comparação final da
seleção do Blob.

• Opção de entrada de Digital


Relearn. Usada para reaprender
características do blob
automáticamente.

86
Blob Position - PreProcessing

PreProcessing
• Aqui você pode escolher o tipo
de Threshold.

• Morphology
– Há mais possibilidades de
processar os blobs.

– A largura e altura podem ser


ajustadas separadamente se
necessário.

87
Blob Position - PreProcessing

• Erode: encolhe os blobs. Útil para


separar blobs grudados.

88
Blob Position - PreProcessing

• Dilate: expande blobs. Útil para


eliminar imperfeições em blobs e
conectar caracteres pontilhados

89
Blob Position - PreProcessing

• Open (Erode seguido de Dilate):


encolhe e expande blobs. Útil para
eliminar ruído de fundo

90
Blob Position - PreProcessing

• Close (Dilate seguido de Erode): expande e


encolhe blobs. Elimina furos dentro dos blobs
sem mudar o tamanho dos blobs.

91
Blob Position - Generator

• Sombras podem afetar a imagem


• Código de Cores
– Preto: blobs ignorados e no limite
da borda.
– Cinza claro: blobs válidos
– Cinza Escuro: blobs ignorados
por parâmetros. (ex. area)

92
Blob Position - Selection

Selection
• Tabela de Informação
– A tabela na parte de baixo do
menu indica todas as
informações dos blobs
encontrados.
– Os Blobs com um asterisco
são os blobs que se
encontram dentro das
exigências de seleção.

93
Blob Position - Selection

• Para selecionar um blob


Selection
– Clique em Show All Blobs

– Clique no blob desejado na


tabela.

– Clique no botão Learn.

– Automaticamente as
características do blob serão
atualizadas na área de
critérios de seleção.

– Você pode manualmente,


mudar os critérios de seleção.
94
Posicionamento - Object Locate

• Localizador de padrão geométrico


– Variação de iluminação não é crítico.

– Fácil de configurar e editar.

– Pode trabalhar com peças complexas.

– Problemas com Reflexão.

– Variação de cores.

95
Posicionamento - Object Locate

• Utiliza
– Translação
– Rotação
– Escala

• Usando características estáveis e originais, é mais confiável.

96
Object Locate – Model Object

• Segmentos são extraídos e


características aprendidas Model Object

• Atribuição de nível de importância


(Strength)

• Pode ajustar min. size and min.


gradient

• Controle individual de cada


segmento

• Possível configurar offset do ponto


de centro do objeto

97
Object Locate – Options

Options

• Minimum Match Score % para


comparação final.

• Min Distance between Regions


usado para eliminar falsos
candidatos.

• 36 sinais de entrada de Digital


Relearn.

98
Object Locate – Parameters

Parameters
• Ajuste de escala

• Limitar translação e rotação


pode diminuir tempo de
processamento.

• Aumentar Matching Features


pode reduzir o número de
objetos encontrados

99
E se não Trabalhar?

• Analise a imagem
– Melhore a iluminação
– Otimize a definição e contraste das bordas

• Verifique os segmentos aprendidos


– Identifique os contornos interrompidos e tente abaixar o Min.
Gradient e/ou deletar todos os segmentos sem
importância/ruidoso.

• Reduza/Aumente o Matching Features %

• Reduza/Aumente o Pixel Distance se a geometria das peças mudar


de imagem para imagem

• Reduza/Aumente o Minimum Match Score % (última opção)


100
Posicionamento - Pattern Matching

• O algorítimo é completamente novo.


– Baseado na correlação da escala de cinza.
– Threshold de Gradiente para encontrar pontos de borda.
– O padrão é construído a partir dos pontos da borda.
– Usado para a parte que gira muito pouco e a escala não muda
muito.

101
Posicionamento - Pattern Matching

• Compara o padrão original


com a imagem inspecionada.

• Ajustar o Minimum Match


Score para encontrar a peça
em diferentes condições de
iluminação ou rotação.

102
Posição - Considerações

• Saber as exigências da aplicação


– Como a peça se movimenta?
• Translação (X,Y)
• Rotação (ângulo)
• As duas
– Como a peça foi iluminada?
• Front Lighting, Backlighting
– Como a peça é apresentada?
• Uma peça de cada vez
• Várias peças
– Quanto tempo você tem para a inspeção?
– Como a informação de posição vai ser usada?
• Posicionando outros sensores
• Posição Pura
• Robô

103
Ferramentas de Medida

• Sensores que fornecem uma saída quantitativa (raio, distância,


posição, etc.)

104
Precisão e Resolução

Com que precisão que posso medir minha peça?


Depende de:
- Tamanho de peça
- Resolução da câmera
- Iluminação
- Lente

105
Precisão e Resolução

Obter uma imagem boa para medidas requer:


- Nenhuma saturação
- Não usar AntiBlooming
- Se você quiser resultados altamente repetitíveis, usar o Thresshold de
Gradiente e iluminação tipo Backlight.
- O Backlight fornece bordas definidas.
- Garantir um bom foco nas bordas
- Utilizar lentes de baixa distorção.

106
Sensores de Medida

• Requer bordas definidas para alta repetibilidade.

107
Efeito do Threshold de Intensidade

Se um gráfico de pixel
(threshold baseado
intensidade) for usado
100 100 50 0 0 para medir as peças,
pode haver uma
variação grande no
resultado da medida
Intensidade X X

Mudança nos níveis


do Threshold

X X
Variação causada por
uma mudança Distância
pequena no threshold

108
Sensores de Medida

• Novo tipo de threshold:


Gradient
• Gradient: valor da mudança
na intensidade entre pixels
consecutivos

109
Precisão e Resolução

• Como funciona a computação do Sub Pixel?

100 100 50 0 0

Taxa de
mudança Os sistemas
monocromáticos da
X X
DVT podem calcular
centésimo de um Pixel
mas repetir o décimo
de um Pixel

X X

Distância

110
Sensores de Medida

• Os sensores utilizados para medidas estão


localizados nos boxes de Measurement e Positionig
– Os sensores do grupo de medida são usados para
medir distância.
– Toda a funcionalidade dos sensores de
matemática estão em “Measure with Points and
Lines” . (Ex. Ponto médio, Midline, Ângulo)

111
Measure Along Line

• Calcula a distância entre dois pontos externos de


borda encontrados ao longo da linha.

Distance = 27.227 pixels

112
Measure in Area

• Calcula a distância entre duas linhas que se formam


de acordo com os pontos da borda encontrada.
• Também…
– Min Thickness (Minima espessura)
– Max Thickness (Máxima espessura)
– Median Thickness (Espessura mediana)
– Average Thickness (Espessura média)

113
Parâmetros da Varredura de Linha

• Edge Width permite que o usuário defina o número de pixels em


uma borda

114
Outros Parâmetros da Varredura de Linha

• 1st Edge Found


• Use Best Edge procura a
borda com o gradiente mais
elevado acima do threshold.
• All Edges encontra a melhor
linha usando todas as
bordas na área

115
Max Interations

• Ajustando os pontos
interações máximas, é dado
um peso baseado na
proximidade ao melhor fit
(linha) apto.
• As interações subsequentes
são basedas nos pontos de
maior peso.
• O exemplo compara a
melhor linha apta (linha
amarela) e a mesma linha
após 4 iterações.

116
Outlier Distance

• Etapa adicional além das


interações.
• Ignora todos os pontos que
estiverem “x” pixels distantes
da melhor linha.
• Gera um melhor
“acabamento” da melhor
linha.
• O exemplo compara os
melhores pontos, rejeitando
os pontos afastados a mais
de 5 pixels.

117
Measure in Circle

• Encontra bordas de dentro para fora e


vice-versa.
• Forma um círculo com pontos internos
e externos da borda.
• Também..
– Distance Between Centers
(Concentricidade)
– Radius (Raio)
– Average Thickness (Espessura
Média)
– Min Thickness (Espessura
Minima)
– Max Thickness (Espessura
Máxima)
– Median Thickness (Espessura
Mediana)
118
Measure with Point and Lines

• Calcula distância e angulo entre linhas e


pontos.
• Calcula/cria novos pontos e linhas

119
Statistics

• Permite ao usuário verificar o valor médio de


várias inspeções.

120
Melhorando Resultados da Medida

• Hardware
• Configuração de Sistema
• Iluminação
• Lente
• Ambiente
• Estatística das amostragens

121
Câmera - Hardware

• Baixa Resolução vs. Alta Resolução


• Monocromática vs. Colorida
– Monocromática melhor
• CCD vs. CMOS
– CCD melhor
• Configuração de Imagem
– Desligar antiblooming
– Não saturar imagem
– Aumentar taxa de digitalização para 30ms

122
Configuração de Sistema

• Peça sempre na mesma posição


– Medida da peça é feita sempre no mesmo ponto da lente.
• Lente de grande distância focal / lentes especiais
– Lente sem distorção
• Luz mais longe da peça
– Raios mais paralelos

123
Precisão e Resolução

Com qual precisão posso medir minha peça?


Depende de:
- Tamanho da Peça
- Resolução da Câmera
- Iluminação
- Lente
- Ambiente

124
Precisão e Resolução

125
Medindo a Lua

126
Medindo a Lua

• Com qual precisão posso medir a Lua?


– Diâmetro da Lua: 3476 Km
– Diâmetro em pixel da Lua(640 x 480): 409.80 Pixels
– …cada pixel representa 8.5 Km (distance / pixel)

• Se a Lua for iluminada com Backlight, usando cálculo de


subpixel, mediríamos com precisão de 850 metros.

127
Medindo um Cabelo

128
Medindo um Cabelo

• Com qual precisão posso medir um cabelo humano?


– Largura do cabelo: 0.05mm (50 µm)
– Largura do cabelo em pixels (640 x 480 Camera): 351 Pixels
– …. cada pixel representa 0.14 µm (Distância por Pixels)

• Backlight com resolução de 1/10 de pixel


– Capaz de medir 0.014 µm (0.000014 mm)!

129
Escala

Coordinate Systems
Caixa de Propriedades
Transformation Method
Select - none
Scaling Method
SoftSensor based
– O usuário escolhe o sensor de medida
– Unidades para Escala
Manual
– O usuário entra com o fator de conversão
20 pixels = 1mm
– Unidades para escala

Portanto:
1 pixel = .0500mm

130
Comunicações

131
O que Vamos Aprender

Como configurar:
• I/O físico e remoto
– Seleção de Produtos via I/O Digital
• Conexões TCP/IP
• DataLink
• Registros
– Linhas de comandos por terminal do sistema
• Modbus Master
• Ethernet terminal controller

132
Digital I/O

Conector RJ-45
com 10 pinos

8 linhas de I/O
configuráveis

IN-Sinking (NPN)
Sink max of 1.5 mA Breakout Board
Simplifica conexões e
OUT-Sourcing (PNP) fornece indicadores de
Source max of 50 mA LED

133
Digital I/O - Inputs
Inputs
- Trigger - 4 Digital ReLearn
- Product Select - Event Counter
- Results Acknowledgement - 15 Product selection for
- Disable Run Mode inspection (product select/ID bits)
- External Trigger Mode - 32 Inputs for scripts

134
Digital I/O - Outputs
Output
- Trigger Ack - Busy
- Select Pass - Acquiring
- Pass - Inspecting
- Fail - Inspection Toggle
- Resource Conflict - Wrong Code
- Run Mode - 3 Strobe
- Trigger Mode - 16 User Outputs
- 16 Script Outputs

135
User Outputs

Abrir clicando no
ícone da tabela do
resultado

136
Seleção de Produtos
Configuração em 2 partes

1. Atribuir Digital ID na tela da gerência de produto.

2. Atribuir bits de seleção na tela de configuração de I/O

137
Como a Seleção de Produto Trabalha

Digital ID Bit 1 Bit 0

Product 1 1 0 1
Product 2 2 1 0
Product 3 3 1 1
Product 4 4 ? ?

138
Amostra de Conf. de I/O

139
Expansão de I/O

140
Câmeras Coloridas

• Legend 535C, 545C and 554C


– O CCD colorido é usado para
diferenciar cores

141
Uso do Sistema Colorido

• Presença e Ausência de peça


• Identificação de peça
• Detecção de falhas

• Não recomendado para medidas

142
535C – Demonstração de Aplicação

Verificar a presença de chocolate.

143
Uso do Sensor Colorido

• Pixel Counting
– Mais de 95% das aplicações

• Color Monitoring
– Localizado no grupo Flaw Detection
– Menos de 5% das aplicações
– Iluminação é um ponto muito crítico

144
Passos da Aplicação Colorida

• Calibração de branco (White Balance)


• Aprender cores
• Verificar cor aprendida
• Abrir ou fechar parâmetros da cor como necessário
• Configurar critério de PASS/FAIL.

145
Balancear a Cor do Sistema:

White Balance
• Deixa as cores mais reais
• Específico para cada tipo de luz
• Deve ser utilizado a cada mudança de iluminação
• Dicas:
– Use um fundo branco
– Certifique-se que o centro da imagem não está saturado.

146
Aprendendo Cores

• Dois Métodos para aprender cores


– Single Color Learning
• Pode aprender várias cores, porém uma de cada vez.

– Multi-Color Learning
• Aprende muitas cores diferentes de uma vez. Somente UMA
cor aparece na lista de cores.
• Pixels podem ser adicionados ou removidos
• As cores adicionais podem ser adicionadas na lista de cores.

147
Cubo de Cor RGB

148
Alterando Parâmetros de Cor

• São 3 Alternativas
– Mudar o fator Sigma
• O Aumento do fator Sigma traz outrascores mais para
perto da cor instruída, o que geralmente aumenta o
número de píxel contados.

– Habilitar linha de Matte


• Inclui as áreas que são da mesma cor apenas mais
brilhante ou mais escura. Os valores de RBG mudam na
mesma proporção.

– Habilitar a linha de Highlight


• Inclui as áreas que estão perto da saturação ou das
reflexões specular.

149
Alterando Parâmetros de Cor

150
Matte and Highlight

• Valores RGB
• A - 30,20,15 darker matte (matte mais escuro)
• 60,40,30 cor aprendida
• B - 90,60,45 brighter matte (matte mais claro)
• C - 100,80,60 saturation matte (matte saturado)
• D - 80,60,65 highlight line (linha de highligth)
• E - 30, 40, 60 fora das linhas de highlight ou matte.

151
Variação de Cor no Espaço RGB

152
Histograma da Cor de uma Laranja

153
Objeto Laranja

Matte e Highlight Habilitados

154
Objeto Laranja

com fator Sigma alto

155
Usando o Pixel Counting

Single Color Learning

• Desenhe o sensor somente na cor que quer


aprender.

• Observe a marcação da imagem para ver se


a cor foi corretamente aprendida, ajuste os
parâmetros

156
Multi Color Learning

• Add – esta função acrescenta cores adicionais a cor aprendida.

• Remove – esta função subtrai cores longe da cor instruída.

• Threshold – este ajuste determina o número dos pixels requeridos


para uma nova detecção da cor.

157
Usando o Pixel Counting

• Ligar o Pixel Counting a um filtro do


PreProcessing

• Você pode agora ligar outros


sensores ao filtro para utilizar a cor
aprendida.

158
Ligando Informação de Cor

159
Opções de Aprendizagem Melhoradas

• As características avançadas de métodos de aprendizagem da cor


permitem que os usuários executem operações múltiplas em digital
relearn assim como manualmente

• Há agora 4 entradas de Digital Relearn dedicadas

• Agora podem também ser usadas 32 entradas de usuário (Input-


User)

160
Novas Características de Digital Relearn

Training
Learn One & Append - Aprende uma nova
cor e adiciona a lista

Remove All & Learn One – remove todas as


cores da lista e aprende uma nova cor

Learn Merged & Append – Aprende cores


múltiplas de uma vez e as funde em uma
única cor: a cor nova é adicionada à lista

Remove All & Learn Merged – Remove


todas as cores na lista e aprende uma Multi
cor nova

Multiple Add – Adiciona pixels em Multicores

Multiple Remove – Remove pixels similares


da cor fundida

161
Pixel Counting - Conclusão

• Princípios da cor
– Lembrar de balancear seu sistema com o white balance.
– Os dados da cor podem ser movidos entre sensores
– Pixel Counting SoftSensor pode ser usado:
• Em sistemas monocromáticos
• Coloridos

162
Color Monitoring

163
Color Monitoring

• Usado para verificação de cor


– Quando são próximas à cor aprendida.
– No controle do processo de pintura
• Usado para identificação de cor
– Que cor está mais perto
– Se está sendo usada a peça correta
• NOTA: Color Monitoring usa 16.7 milhões de cores enquanto o
Pixel Counting (Color SoftSensor) usa aproximadamente 65000
cores.

164
Color Monitoring

• Retorna as distâncias nos sentidos X, Y e Z bem como o


valor absoluto.

165
Color Monitoring - Exemplo

166
Flaw Detection

167
O que Iremos Aprender

• Sensor Defect Detection


• Live Image vs. Model Image
• Imagem Residual – O que é isto?
• Mask – Como afeta a imagem residual?
• Desenhando e posicionando o sensor
• Explanação dos parâmetros

168
Defect Detection

Peças com defeito


“ Live Image“

Peça Boa
“Model Image”

169
Defect Detection

Erros encontrados
Peças defeituosas “Residual Image”
“Live Image”

170
Defect Detection

• Aprende um modelo para comparar com a imagem ao vivo (Live


Image)

• Live Image – Model Image = Diferença

• Diferença – Mask = Residual Image


– Mask Image é computado encontrando os valores do
gradiente ao aprender a imagem modelo

171
Defect Detection

• O sensor pode ser girado para seguir o movimento da peça

• Operações de processamento disponíveis: Erode, Dilate, Open and


Close

• Os erros são agrupados como blobs e os erros pequenos podem


ser ignorados

172
Defect Detection

173
Defect Detection

• A habilidade de aprender sobre diversas imagens ajustando as


variações

• Pass/Fail
– Maximum Number of Defects (Número max. de defeitos)
– Total Defect Area in pixels (Área total dos defeitos em pixels)

• O sensor tem a habilidade de carregar e conservar imagens do


modelo e da máscara.
– Útil quando se tem vários produtos.

• Requer bom posicionamento da peça


– Usa Sub-pixel, Threshold de Gradiente

174
Conclusão

• Requer modelo para ser aprendido


• Requer que a peça esteja posicionada para
comparar modelo com imagem ao vivo
• Ferramenta Defect Detection pode ser rotacionada
• Os modelos aprendido são salvos no arquivo de
produto
• Defeitos são difíceis de detectar em fundos
texturizados

175
Visualização de Imagens

Metodos possíveis:
• Web Server
• ActiveX Controls
• CTC Parker

176
Scripts

177
Sumário

• Descrição:
– Sintaxe Script Básica
– Script Edição
– Tipos de dados e registradores
– Debug Window
– Funções matemáticas
– SoftSensor saidas
• Nível –Intermediário
• Pré-requisitos
– Para algumas funções avançadas de script ou programação
necessário maior conhecimento ( recomendado)

178
O que Você Aprenderá

• Display informando na tabela de resultado.


• Dados numéricos, declarações e atribuições.
• Registros com funções de leitura/escrito.
• Comandos básicos de Terminal.
• O uso da Função Result() para pass/fail na
inspeção.
• Técnicas para eliminar erros comuns do
Script.

179
Scripts

• Programação em sistema e ferramenta criada no


produto

• Flexibilidade de monitoração de sensor


dados/resultado, I/O, etc.

• Uso de cálculos matemáticos

• Pass/Fail ou executar apenas o código

• Dados resultantes no display

180
Background vs. Foreground Scripts

( Scripts “Plano de fundo” vs. “Primeiro plano”)

• Foreground Scripts (ou Script SoftSensor)


– Funciona cada vez que uma inspeção ocorre
– Comporta como qualquer outra ferramenta (pode ter condições de
pass ou fail)
– São parte do produto (como qualquer outro SoftSensor)
• Background Scripts
– Independente das inspeções ( trabalha por “trás” do produto)
– Não trabalha com o produto criado (nível de sistema)
– Pode ser colocado em Run para trabalho continuo no background
– Tem menos prioridade do que as inspeções, sincronismo menos
confiável

181
Organização

• System with scripts: intercommunication

text Background
Scripts

System Memory
(DVT Registers)

Foreground
Script 1
Inspection Inspection Foreground
Product 1 Product 2 Script 1
Foreground
Script 2

SoftSensor 3 SoftSensor 1
SoftSensor 1 SoftSensor 2
SoftSensor 2

182
Interface Script

class Sensor1
{
public void inspect()
{
//Double click a parameter,
function or keyword from the
right to insert your code here.
}
}

183
Dados Numéricos

Visão geral:
- Discutir sintaxe correta para programar, estrutura
que mostra os tipos de variáveis, operações,
indicações de atribuições, declarações e
gerenciador de registros.

184
Dados Numéricos

• O que é uma variável?


– Um nome para os valores armazenados na memória.
– Usar as variáveis onde os valores podem mudar (i.e.,
equações, I/O)
– Use variáveis com a maior clareza, fácil de se
entender
– O tipo de dado deve ser primeiramente declarado.
• Integer, float, double, character, string…

185
Declarações

Sempre o primeiro passo é…


[data type declaration] [variable name];

int NumBordas;
float Distância;
String Nomes;

186
Dados Numéricos

Qual a diferença entre os tipos de dados?

187
Atribuições das Declarações

[data type] [variable name] = [data value];

int WholeNumber = 124;


float Decimal = 124.24;
String myString = “Hello World”;

188
“Armadilha”

Números inteiros e divisões

What o
Qual is valor da distância?
the value of Distance?
a) 2.5
a) 2.5
b) 22
c) 33
d) Why
Porque você
don’t youapenas não me
just tell me?
diz qual é?
189
Porque Aquele Conceito é Importante:

1) Declarar os números
como variáveis
floating

2) Mude as variáveis
para o tipo de dado
desejado

190
Palavra Chave e Palavras Reservadas

• Palavras reservadas para uso específico do compilador


– if, while, float, +, PASS, true, length, sqrt

• Não pode ser usado para outra finalidade


– e.x. – variable and function names

• Elimine nomes que podem causar conflitos

• Texto em cor diferente, fácil de encontrar na tela

191
Referência para Sensores

• <Sensor_Name>.<Parameter>

• int n = Blob_gen.NumBlobs

192
Operações Básicas

• == Usado para comparação básica de dados


**não use esta operação para comparar string

• <= Indica verdadeiro se argumento1 for menor ou igual ao


argumento2
• <
• >=
• >
• ! Retorna verdadeiro se argumento1 é Falso
• != Não é igual a
• || OR
• && AND

193
Novas Atribuições para Operações

Notações breves

194
O “and” Operação &&

• Combine duas comparações usando o ‘&&’.


• (Comparação_1) && (Comparação_2)

if ((distance > 0) && (distance < 100))


{
Do_Something;
}
else
{
Do_SomethingElse;
}

195
O “or” Operação ||

• Combine duas comparações usando o ‘||’.


• (Comparação_1) || (Comparação_2)

if ((x == 0) || (x == 1))
{
Do_Something;
}
else
{
Do_SomethingElse;
}

196
Acesso de Registro

text Background
Scripts

System Memory
(DVT Registers)

Foreground
Script 1
Inspection Inspection Foreground
Product 1 Product 2 Script 1
Foreground
Script 2

SoftSensor 3 SoftSensor 1
SoftSensor 1 SoftSensor 2
SoftSensor 2

197
Registro

• Considerado uma variável global, pode ser acessada


do foreground and background scripts.

• Armazena dados independente das inspeções (ideal


para contadores, etc.)

• Espaço do registro dedicado aos protocolos


específicos

• Escrita e Leitura:
– Byte, Short, Integer, Long, Double, Float, String data types.

198
Acesso aos Registros

• Reigistro escrita / Função de leitura


– RegisterReadInteger(int RegNum);
– RegisterWriteInteger(int RegNum, byte Data);
//script A
int myVar;
myVar = 44;
RegisterWriteInteger(125, myVar);

//script B
int dataFromA;
dataFromA = RegisterReadInteger(125);

199
CH21
Lembra da Tabela de Tipo de Dados (Data Types)?

200
Slide 200

CH21 New collum which displays the dvt registers used


Conner Henry; 12/9/2003
Cuidado com Registro

• Não escrever uma palavra maior que o registos. O Intellect não


trava estes erros!
• Manter-se a par do quantos registos um tipo do valor ocupa :

201
Sistema Via Terminal

• Linha de comando terminal (como o DOS)


• Comandos básicos:
– Registro pergunta
• #Rq<RegNum><Type>
– Ex. #Rq126F

– Registro set
– set#Rs<RegNum><Type><Value>
– Ex. #Rs166F802.78

202
Características Gerais

• DebugPrint(“String”);
– Função criada para ajudar no debugging
process
– Envia argumentos string quando esta linha do
código for ativada
– Existe uma janela que monitora
especificamente estas saídas

203
Exemplo

• int data;
• data = RegisterReadInteger(100);

• DebugPrint(“O valor no registro 100 é: “ +


RegisterRead(100));

204
Criando condições Pass & Fail

• Recordando que a ferramenta script é um SoftSensor,


bem como qualquer outra no Intellect .

• Como todo SoftSensor, limites de pass e fail podem ser


ajustados para ferramenta.

• Você pode ajustar sensores inativos.Qual o significado


do resultado do sensor se ele não é usado no resultado
composto para a inspeção?

205
Result()

• Atribuir ao Resultado um valor de 0 seria equivalente a


PASS
• ie. SoftSensor.Result = 0 or “PASS”

• Atribuir ao Resultado um valor de 1 seria equivalente a


Warning
• ie. SoftSensor.Result = 1 or “WARN”

• Atribuir ao resultado um valor negativo seria equivalente


a FAIL
• ie. SoftSensor.Result = -1 or “FAIL”

206
Result()

• Usar números negativos permite códigos múltiplos da


falha
– Blob_Gen.Result = -1 (too many blobs)

– Blob_Gen.Result = -2 (not enough blobs)

207
Conclusão

• Script é uma ferramenta poderosa.

• Usar scripts pode deixar sua inspeção robusta.

• Flexível para monitorar resultados ou dados de


SoftSensors .

208
Readers

209
Reader SoftSensors

• 1D line sensor

• 1D arc sensor

• 1D rectangle (searching)

• 2D rectangle

• OCR reader
210
Tópicos

• Identificação e Rastreabilidade
• Métodos de Identificação
• Seleção de Códigos
• Verificação
• Solução de leitura
• DM Reader

211
Rastreabilidade

• Habilidade de armazenar dados


• Específico para peças, datas, lotes
• Dados são valiosos
– Controle de inventário, Prevenção, Operação
de negócios
– Informação de Recall
– A prova de erros – certificando-se que é feito
na parte correta

212
Identificação

• Reconhece parte original dos


códigos
– 1D Barcodes
– 2D Codes
– OCR

213
Métodos de Leituras

1D Codes
– Leitura simples
– Sem correção de erros
– Leitura de grandes códigos

• 2D Codes
– Códigos menores
– Correção de erros no código

• Alpha Numérico (OCR)


– Pelo fato de ser caractere a resposta é exatamente o que
vemos no código
– Faz análise de cada caractere
– Difícil leitura para outras máquinas

214
1D Codes

• UPC/EAN • RSS-14
• Interleaved 2 of 5 • Code 93
• USS-128 • POSTNET
• USS-39 • Micro PDF417
• Codabar • RSS
• PharmaCode – Limited, Composite,
Expanded
• BC412
• Planet Code
• PDF417
• UPC Composite
215
1D Reader – Visão Geral

• Objetivo: Desenhar a ferramenta em torno de um


código, selecionar o Autodetect code, e ler o mesmo.

• Treinar o leitor para determinar o tipo de código e


orientação nominal.

216
1D Reader – Treinando

Treinando:
1) Emitir linhas de varredura em varios ângulos e offsets
2) Cada linha de varredura busca decoficar a informação
do código
3) A primeira string do código informa o tipo de código

217
Treinando

Detecção do código
– Somente alguns tipos de
código de barras são
detectados automaticamente
devido as especificações no
código

218
Pixel Graph

Bom exemplo Imagem do código ruim

Usar % de constraste

219
Thresholding

220
Locais Diferenciados

• O threshold ajuda a melhorar o constraste da ferramenta


com iluminações de pouca intensidade ou < 3 pixel por
transição entre claro e escuro o que não é recomendado

221
Locais Diferenciados

• Cruzamento de Borda – a intensidade difere por um


valor fixo de um min. ou max.

• Localização de Borda – onde a intensidade cruza o


ponto médio entre adjacentes min e max.

• Níveis mais elevados de threshold evitarão ruído de


bordas falsas.

222
Opções para Performance

• Line

– Smoothing – Esta opção calcula uma intensidade média para


um cruzamento da borda baseado na largura do Probe Width

– Probe Width – aumenta o número das linhas de varredura


usadas no cálculo analisado.

• Retângulo
– Scan Density – Ajusta a intensidade das linhas de scan dentro
do retângulo
– Max Rotation
– Scale Variation

223
Analisando o Exemplo

Analisando:
Watch out for this
- Uma linha de scan pode calcular
a média de intensidade de pixel em
Line colunas vizinhas para reduzir o ruído
l Scan
e1 ina
Orig
Prob
e2
Prob

Tempo

550
1mS with Width = 3
3mS with Width = 25
530 5mS with Width = 50
24mS with Width = 3 7mS with Width = 75
41mS with Width = 25 10mS with Width = 100
57mS with Width = 50
75mS with Width = 75
94mS with Width = 100
Resultado: Aprox. 10 milisegundos com a 550
224
Opções de Marking

• Para sensor retângulo somente

225
2D Data Matrix

• Armazenador de Dados
– 6 a 3116 digitos
• Desenhos menores que do código
de barras
• Correção de erro
– Com até 50% do código ilegível
• Maior tolerância com iluminação e
mudanças de marcação
• Alguns formatos:
– Quadrado e retangular
– ECC 00, 050, 080,100,140, 200
– ECC-200 preferido em novas
aplicações

226
Seleção 2D Code

• Tipos de Indústria
– DataMatrix Prevalece
• Automotive Industry Action Group (AIAG)
• Department of Defense
• Aerospace (IAQG)
• NASA
• Electronics Industry Association (EIA)
– ECC200 para o padrão não especificado

227
Menos Sensível a Variação

• Skew
• Iluminação
• Tamanho

228
Fatores Marcantes

• Expectativa de vida
• O código pode ser pintado com a mesma cor do fundo
do material
• Características de superfície
• Volume
• Tamanho do Símbolo
• Espaço

229
Métodos de Marcação

• Laser Marking
– Laser queima a superficie
– Alta velocidade e qualidade de impressão
– Semicon, electronics, packaging, medical

• Micropuncionador
– É feito através de marcadores de carbide ou
diamante
– Automotive, Aerospace

• Impressão Ink Jet


– A tinta deixa as marcas na superficie do objeto
– As características de superfície determinam o
permanencia
– Alta velocidade, impressão em movimento, ótimo
contraste

• Eletroquimico
• Etching (Electro-Chemical )
– Oxida o metal da superficie
– Peças Redondas

230
Colocação da Marcação

• Superfície lisa

• Área limpa

• Leitura visível

231
Código Legível/Classificação da Leitura

• Quiet Zone
– Área em torno do código
• Finder Bars
– A forma em L é usada
para localizar o símbolo
• “Clocking” Pattern
– Alternância de pontos
opostos
– Barras de busca
• Data Cells
– Informação do código

232
Células e Módulos

• O método de marcação
determina a forma e
tamanho da célula

• O tamanho mínimo pode


ser determinado pela
textura de superfície

233
Verificação/Classificação

• AIM Standard – A-F Grading


– Símbolo decodificado
– Contraste
– Aumento da cópia
– Variação na uniformidade
– Não utilizar correção de erro
• Outros parâmetros
– Dot Size
– Dot Offset

234
Leituras Difíceis de Fazer

• Foco mal ajustado


• Baixo constraste
• Fundo do objeto não está uniforme

235
Desafios de Leitura: Impressão

236
Desafios de Leitura: Superfície do Objeto

237
DVT 2D DataMatrix Reader

• Aprendizagem
automática do símbolo
– ECC Type
– Square Matrix
– Symbol Size
– Module type
– Mirror

238
DataMatrix

• Tipos de símbolos
– ECC200 - ECC010
– ECC000 - ECC040
– ECC050 - ECC060 ECC000
– ECC080 - ECC070
– ECC100 - ECC090
– ECC140 - ECC110
– ECC000-140 - ECC120
– ECC000-200 - ECC130
ECC140

239
Otimização da Ferramenta

• Ajustar o código ou
detecção automática
– Shape
– Code type
– Size
– Module
– Mirror
• Treinar parâmetros

240
Parâmetros Avançados

• Max Skew
• Rotation
• Axial Non-uniformity
• Probe Width
• Clean Area
• Gradient
• Size/Scale
• Cell Sampling

241
DataMatrix Adv. Parameters

• Skew: Inclinar-se a um lado quando o símbolo está em paralelogramo


• Border Integrity: Define qualidade máxima da borda em
porcentagem
• Quiet zone: É a área livre de pelo menos uma célula que deve ter em
torno do código
• Rotation: Limite de rotação min. em relação ao símbolo treinado
• Axial Nonuniformity: Ajuste caso o símbolo esteja esticado em um
dos lados
• Probe Width: Procura a largura usada pelo 2D Matrix para aumentar
os pontos caso seja necessário
• Clean area: Procura eliminar ruídos da área externa do código 2D .
• Min Gradient: Aumentar a velocidade acima da inspeção quando o
símbolo não tem o contraste bom e apresenta ruído de fundo

242
DataMatrix Parâmetros

• Search Parameters
– Symbol size – Aprendizado automático, pode fazer o
ajuste manualmente
– Scale: pode mudar a imagem conforme o tamanho
original
• Cell Sampling
– Threshold Type: Métodos diferentes para determinar
o contraste da célula.
– Sample Size: Procura a área da célula

243
DMReader FrontEnd

• Ferramenta amigável
• Mostra sempre os resultados na interface
• Saidas preconfiguradas

244
DVT DMReader

• DataMatrix/Readers

245
OCR
Optical Character Recognition

246
OCR

• Lotes
• Dados
• Número serial
• Outras linguas
• Impressão em curva

247
OCR SoftSensors

• Variedades de thresholds especiais como opção


– Computed, linear and non-linear
• Treine seus próprios caracteres
• Habilidade de ler a matriz de ponto, segmentada e o
curso (e.g. Japanese) carácteres
• Pode ler carácteres em curva pois a ferramenta pode
ser desenhada em arco
• Controle de espaço e tamanho de caracteres

248
OCR SoftSensors

Para um melhor resultado


• Caracteres devem ser capaz de extrair pelo thresholding
• Os caracteres treinados devem conter em todas
imagens
• Evitar imagens com fundos texturizados
• OCR fontes “amigáveis”
– OCR A, OCR B, Semi
– Undecorated, non-serif fonts
• A altura média dos caracteres deve estar entre 20 e 30
pixels

249
OCR SoftSensors

• O desenho do OCR SoftSensor necessita

• Extrair os caracteres

• Treinar os caractéres definidos

• Testar leitura do OCR

250
OCR SoftSensors

Ajuste
• Desenhar e posicionar
– Manter a região da ferramenta não
tão próxima nem muito distante
– O sensor deve manter o ângulo do
texto
– Usar ferramentas de posição se
necessário
• Extracting
– Especifique o tipo de caracteres que
deseja ler, escuro ou claro
– Usar Thresholding automático
inicialmente
– Certificar-se que os “box” vermelhos
cerquem todos os caracteres

251
OCR SoftSensors

Extraction
• Horizontal & Vertical spacing
– Para pontos da matrix que estão
danificados, ou seja, faltando pixel,
serve “ligar” o caractere tanto na
vertical como na horizontal
– Pode ajudar a reduzir os ruídos em
volta do caractere
• Definir Character Width/Height
quando os caracteres não estiverem
uniformes
• Ajuste o Min Character Area ajuda a
reduzir o ruido do fundo da imagem

252
OCR SoftSensors

Opções avançadas para Extraction

253
OCR SoftSensors

Training

• Coloque os caracteres que irá


treinar
- Aperte ”Train Now”
• Certifique-se que os “boxes”
estão verdes
• Fontes treinadas podem ser
usadas em outros produtos
– Esta fonte pode ser
encontrada no “Font
management”

254
OCR SoftSensors
Manager

• Manager

Oferece:
- Acesso para
adicionar, deletar,
exportar e importar font
list

- Possibilita ver as
informações contidas
nos caracteres
treinados

255
OCR SoftSensors
Matching

• Matching threshold %
usado para comparação
final

• Fielding ajuda diminuir o


tempo de busca

• Aspect ratio relaciona a


cópia com alteração de
tamanho

256
OCR SoftSensors: Teste
Pass

• Set Warn/Pass criteria


– Minimum contrast
– Number of characters
– Match string

• Teste o resultado
conforme descrição
acima com sequências
de imagens

257
Conclusão

• Caracteres treinados devem estar repetidos nas próximas


imagens
• Evitar imagens com fundos texturizados
• OCR fontes “amigáveis”
– OCR A, OCR B, Semi
– Undecorated, non-serif fonts
• A altura média dos caracteres deve ser entre 20 e 30 pixels
• Use OCV para eliminar leituras erradas
• Para caracteres sem leitura, treiná-los novamente ou abaixar “o
parâmetro da porcentagem aceitação”

258
Lembre-se

Resolver uma aplicação


• Obter boa imagem
• Determinar o trigger da inspeção e com que
frequência
• Escolher o melhor SoftSensor para sua
aplicação particular
• Teste sua inspeção e ajuste com diversas
versões do objeto analisado afim de garantir
que suas ferramentas não falhem conforme a
variação do produto
• Configure os I/O conforme necessário

259

Вам также может понравиться