Visão de Máquina e suas Aplicações na Automação Industrial
Transcrição
Visão de Máquina e suas Aplicações na Automação Industrial
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ESPECIALIZAÇÃO EM AUTOMAÇÃO INDUSTRIAL II MARCELO VICTOR WÜST ZIBETTI VISÃO DE MÁQUINA E SUAS APLICAÇÕES NA AUTOMAÇÃO INDUSTRIAL MONOGRAFIA DE ESPECIALIZAÇÃO CURITIBA 2011 MARCELO VICTOR WÜST ZIBETTI VISÃO DE MÁQUINA E SUAS APLICAÇÕES NA AUTOMAÇÃO INDUSTRIAL Monografia apresentada à Especialização em Automação Industrial II da Universidade Tecnológica Federal do Paraná como requisito parcial para obtenção do título de “Especialista em Automação Industrial”. Orientador: Guilherme Alceu Schneider CURITIBA 2011 Ministério da Educação Universidade Tecnológica Federal do Paraná Diretoria do Campus Curitiba Gerência de Pesquisa e Pós-Graduação Departamento Acadêmico de Eletrônica _______________________________________________________________ TERMO DE APROVAÇÃO Visão de Máquina e suas Aplicações na Automação Industrial Área de conhecimento: Automação Eletrônica de Processos Elétricos e Industriais por Marcelo Victor Wüst Zibetti A presente monografia, requisito parcial para obtenção do título de ESPECIALISTA EM AUTOMAÇÃO INDUSTRIAL, foi avaliada pela banca examinadora, constituída pelos docentes abaixo discriminados, que considerou o trabalho Aprovado. ____________________________________ Prof. Dr. Hugo Vieira Neto ____________________________________ Prof. Msc. César Janeczko ______________________________________ Prof. Msc. Guilherme Alceu Schneider Orientador Curitiba, 24 de março de 2011. Visto da coordenação _____________________________________ Prof. Dr. Jean Marcelo Simão A Folha de Aprovação assinada encontra-se na Coordenação do Curso. RESUMO ZIBETTI, Marcelo Victor Wüst. Visão de Máquina e suas Aplicações na Automação Industrial. 48 f. Monografia – Especialização em Automação Industrial II, Universidade Tecnológica Federal do Paraná. Curitiba, 2011. Este trabalho apresenta uma revisão sobre visão de máquina e sobre algumas de suas aplicações na automação industrial. Na primeira parte são detalhados os componentes de um sistema de visão, com especificações técnicas, características operacionais e informações sobre dispositivos comerciais. Na segunda parte, os algoritmos de processamento de imagens são apresentados, seguindo uma classificação de acordo com sua função na tarefa de visão. Três classes de algoritmos foram observadas: algoritmos de melhoramento de imagem, algoritmos de extração de informação, e por último, algoritmos de processamento da informação extraída. Na parte final deste trabalho são apresentadas algumas aplicações dos sistemas de visão na indústria. Quatro classes de aplicações são discutidas: inspeção visual automática, identificação de peças em produção, controle de processos e de células de manufatura, e por fim, controle e direcionamento robótico. Palavras-chave: visão de máquina, visão computacional, processamento de imagens ABSTRACT ZIBETTI, Marcelo Victor Wüst. Machine Vision and Applications in Industrial Automation. 48 f. Monografia – Specialization in Industrial Automation II, Federal University of Technology Paraná. Curitiba, 2011. This work presents a review of machine vision and some of its applications in industrial automation. In the first part of this work the machine vision system and its components are detailed, with technical specifications, operational characteristics and updated manufacturer information. In the second part of this work, the image processing algorithms are presented, following a classification according to its function in the vision system. Three classes are observed: image quality correction and improving algorithms, information extraction algorithms, and, at last, information processing. In the final part of this work, some of the most important applications of the vision systems in industry are presented. Four class of applications are discussed: automated visual inspection, parts identification, process control and manufacture cell control, and, at last, robotic control. Keywords: machine vision, computer vision, image processing LISTA DE FIGURAS FIGURA 1 – PROCESSO DE AUTOMAÇÃO INDUSTRIAL COM USO DE UM SISTEMA DE VISÃO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FIGURA 2 – SISTEMA DE VISÃO NA MANUFATURA. . . . . . . . . . . . . . . . . . . . . . . . . . FIGURA 3 – CÂMERA INDUSTRIAL USADA NOS SISTEMAS DE VISÃO. . . . . . . FIGURA 4 – LENTES USADAS EM CÂMERAS INDUSTRIAIS. . . . . . . . . . . . . . . . . . . FIGURA 5 – RELAÇÃO ENTRE TAMANHO DO OBJETO REAL E TAMANHO DO OBJETO PROJETADO NO SENSOR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FIGURA 6 – EFEITO DA ESCOLHA DA DISTÂNCIA FOCAL. . . . . . . . . . . . . . . . . . . . FIGURA 7 – EXEMPLOS DE SMARTCAMS, OU CÂMERAS INTELIGENTES. . . . . FIGURA 8 – EXEMPLOS DE SISTEMAS COMPACTOS. . . . . . . . . . . . . . . . . . . . . . . . . . FIGURA 9 – TAREFAS DE PROCESSAMENTO EM VISÃO DE MÁQUINA. . . . . . . FIGURA 10 – EXEMPLOS DE CORREÇÃO DA IMAGEM. . . . . . . . . . . . . . . . . . . . . . . . . FIGURA 11 – EXEMPLOS DE MELHORAMENTO DE IMAGEM. . . . . . . . . . . . . . . . . . FIGURA 12 – BUSCA POR FORMAS OU CARACTERÍSTICAS. . . . . . . . . . . . . . . . . . . FIGURA 13 – EXEMPLOS DE SEGMENTAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FIGURA 14 – EXEMPLOS DE ANÁLISE DA INTENSIDADE . . . . . . . . . . . . . . . . . . . . . FIGURA 15 – EXEMPLOS DE PROCESSAMENTO DA INFORMAÇÃO . . . . . . . . . . . FIGURA 16 – PEÇA SENDO INSPECIONADA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FIGURA 17 – EXEMPLOS DE CÉLULA DE MANUFATURA AUTOMATIZADA. . . . FIGURA 18 – EXEMPLOS DE BRAÇO ROBÓTICO CONTROLADO POR UM SISTEMA DE VISÃO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 12 13 13 15 16 20 20 27 29 31 33 34 35 37 39 41 42 LISTA DE TABELAS TABELA 1 – COMPARAÇÃO ENTRE TECNOLOGIAS CCD E CMOS DE SENSOR DE IMAGEM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TABELA 2 – ESPECIFICAÇÕES DOS SENSORES DE IMAGEM. . . . . . . . . . . . . . . . TABELA 3 – TIPOS DE LENTES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TABELA 4 – INTERFACES DIGITAIS DAS CÂMERAS INDUSTRIAIS. . . . . . . . . . TABELA 5 – FUTURAS INTERFACES DIGITAIS DAS CÂMERAS INDUSTRIAIS. TABELA 6 – PROCESSADORES QUE PODEM SER UTILIZADOS PARA VISÃO DE MÁQUINA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TABELA 7 – SISTEMAS ESPECÍFICOS PARA VISÃO DE MÁQUINA . . . . . . . . . . . TABELA 8 – LINGUAGENS, COMPILADORES E AMBIENTES UTILIZADOS EM VISÃO DE MÁQUINA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TABELA 9 – BIBLIOTECAS UTILIZADAS EM VISÃO DE MÁQUINA . . . . . . . . . . TABELA 10 – SOFTWARES DE COMPUTAÇÃO NUMÉRICA COM MÓDULOS DE IMAGEM PARA VISÃO DE MÁQUINA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TABELA 11 – AMBIENTES DE DESENVOLVIMENTO ESPECÍFICOS PARA VISÃO DE MÁQUINA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TABELA 12 – ILUMINAÇÃO DO AMBIENTE DE AQUISIÇÃO PARA VISÃO DE MÁQUINA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TABELA 13 – TIPOS DE FORMAS GEOMÉTRICAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . TABELA 14 – MÉTODOS DE SEGMENTAÇÃO DE IMAGENS MAIS COMUNS. . TABELA 15 – CARACTERÍSTICAS DE INTENSIDADES ANALISADAS EM UMA REGIÃO DE INTERESSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 14 15 17 17 19 21 22 23 23 24 25 32 33 34 LISTA DE SIGLAS CCD charge-coupled devices CMOS complementary metal-oxide-semiconductor CI circuito integrado TPI turns per inch NTSC National Television System Committee PAL Phase Alternate Line fps frames per second Mbps Mega bits per second Gbps Giga bits per second 3D tridimensional GPU Unidade de processamento gráfico CPU Unidade de processamento central CLP Controlador Lógico Programável PAC Programable Automation Controlers IDE integrated development environment UV ultravioleta IR infrared - infravermelho RFID Radiofrequency identification SUMÁRIO 1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 OBJETIVOS E MOTIVAÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 VISÃO DE MÁQUINA NA AUTOMAÇÃO INDUSTRIAL . . . . . . . . . . . . . . . . . . . . . . 1.3 SENSORES INDUSTRIAIS, VISÃO E O PAPEL DO PROCESSAMENTO DE SI- 8 9 9 NAIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 VISÃO GERAL DO DOCUMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 COMPONENTES DOS SISTEMAS DE VISÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1 CÂMERA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Sensor de Imagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.2 Lentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.3 Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 HARDWARE DE PROCESSAMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Computadores Industriais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 Sistemas Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 SOFTWARE DE PROCESSAMENTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Programação de Propósito Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.2 Softwares de Computação Numérica com Pacotes de Imagem . . . . . . . . . . . . . . . . . . . 2.3.3 Ambientes de Desenvolvimento Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 AMBIENTES DE AQUISIÇÃO E SEUS EQUIPAMENTOS . . . . . . . . . . . . . . . . . . . . . 2.4.1 Iluminação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.2 Referências Visuais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.3 Filtros de Luz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 PROCESSAMENTO DE IMAGEM PARA SISTEMAS DE VISÃO . . . . . . . . . . . . . 3.1 PROCESSAMENTO PARA CORREÇÃO, MELHORAMENTO E CALIBRAÇÃO 10 11 12 12 13 15 17 17 18 19 22 22 22 23 24 24 26 26 27 DA IMAGEM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1 Correção da Imagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Melhoramento de Imagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.3 Calibração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 PROCESSAMENTO PARA EXTRAÇÃO DE INFORMAÇÃO . . . . . . . . . . . . . . . . . . . 3.2.1 Busca por Formas ou Características . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Busca pela Região de um Objeto (Segmentação) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 Análise das Intensidades em uma Região de Interesse . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 PROCESSAMENTO DA INFORMAÇÃO, CLASSIFICAÇÃO E DETECÇÃO . . . . . 3.3.1 Processamento da Informação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.2 Classificação e Detecção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 APLICAÇÕES DE SISTEMAS DE VISÃO NA AUTOMAÇÃO . . . . . . . . . . . . . . . . 4.1 INSPEÇÃO VISUAL AUTOMÁTICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 IDENTIFICAÇÃO DE PEÇAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 CONTROLE DE PROCESSOS E DE CÉLULAS INDUSTRIAIS . . . . . . . . . . . . . . . . . 4.4 CONTROLE E DIRECIONAMENTO ROBÓTICO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 CONCLUSÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 28 30 31 31 31 32 33 35 35 37 38 38 39 40 42 43 REFERÊNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 8 1 INTRODUÇÃO A automação industrial é a área do conhecimento que atua na implementação e no aperfeiçoamento do controle de processos industriais através do uso de sistemas eletrônicos e computacionais (MORAES, 2007; ROSÁRIO, 2005). Ela auxilia o processo industrial na tarefa de torná-lo mais produtivo, flexível, seguro e eficiente, proporcionando aumento na qualidade dos produtos. A visão de máquina é a área de conhecimento, análoga a visão computacional, que busca proporcionar às máquinas informação extraída do senso visual. Enquanto visão computacional busca fazer os computadores verem, a visão de máquina busca fazer as máquinas verem, principalmente máquinas industriais (STEGER; WIEDEMANN; ULRICH, 2008; FREEMAN, 1989). Neste contexto, a área de visão de máquina abrange o estudo do ambiente de aquisição, focando na especificação do tipo de iluminação, lentes e outros acessórios. Além disso, os algoritmos são computacionalmente simples, sem características cognitivas. Em visão computacional, por outro lado, os algoritmos são mais complexos, envolvendo conceitos de inteligência artificial como o aprendizado de máquina, por exemplo. Nos anos 80 e 90 a visão de máquina ainda era uma área de pesquisas acadêmicas, cujos sistemas só funcionavam com sucesso em laboratórios de pesquisa (FREEMAN, 1989). A partir disso, foi quando acreditou-se que a indústria estava preparada para o uso de sistemas de visão na automação. De fato, na virada do século XX começamos a ver uma mudança significativa na forma com que as indústrias controlavam a sua produção. Com a automação, o computador passou a ter papel fundamental no controle da produção (ROSÁRIO, 2005), abrindo espaço para a visão de máquina. Em 2010, a automação se encontra estabelecida como uma área do conhecimento que é fundamental para o sucesso industrial. Os sistemas de visão de máquina já são utilizados em algumas indústrias. O custo destes sistemas já é compatível com o benefício que eles trazem a produção. Contudo, embora difundido, o conhecimento de sistemas de visão de máquina ainda não é ensinado de forma regular na área de automação industrial. Como resultado, ainda faltam 9 profissionais neste segmento, e muitas indústrias, que tem necessidade desta tecnologia, ainda não tem fácil acesso a ela. Acredita-se que este problema será gradativamente superado neste país, e principalmente na nossa região. 1.1 OBJETIVOS E MOTIVAÇÃO O objetivo deste trabalho é revisar o estado da prática, chegando, em alguns casos, ao estado da arte em visão de máquina na automação industrial. Este trabalho é motivado pelo destaque e sucesso que a visão de máquina está tendo em alguns segmentos da indústria. Além disso, temse grandes desafios em termos de pesquisa e desenvolvimento com o uso da visão de máquina em novos segmentos da indústria. Pode-se dizer que a visão de máquina é um novo e importante tópico da automação industrial que não pode ser deixado de fora do currículo de um profissional desta área. 1.2 VISÃO DE MÁQUINA NA AUTOMAÇÃO INDUSTRIAL Para um sistema de controle automático industrial, um sistema de visão pode ser visto como um sensor. Embora isso seja uma forma simplificada de considerar este complexo sistema, em essência, ele proporciona uma forma de entrada de informação para o sistema de controle. A Figura 1 ilustra o uso de um sistema de visão no controle de um processo industrial. Na Figura 1, observamos o funcionamento do sistema de visão em um processo de automação industrial. Esta figura mostra uma peça (1) sendo produzida que entra na posição de inspeção, posição esta especificada pelo sensor de posicionamento (3). Neste local a peça é inspecionada pelo sistema de visão e seus componentes (2). A imagem capturada, contudo, não proporciona a informação de tomada de decisão pelo controle. Para isso, o sistema de visão processa a imagem e retira as informações úteis. Esta “informação processada” é enviada ao sistema de controle (4), o qual vai acionar os motores (5) da esteira e tomar a decisão de acionar ou não o mecanismo (6) que determina da direção que a peça terá no chão de fábrica. Observe que do ponto de vista da automação, o sistema de visão é um sensor, tanto quanto o sensor de posição. As decisões continuam sendo tomadas pelo controle. Porém, agora com uma informação proveniente de um sensor mais elaborado e capaz de entregar muito mais informação do que sensores simples. 10 Figura 1: Processo de automação industrial com uso de um sistema de visão. 1.3 SENSORES INDUSTRIAIS, VISÃO E O PAPEL DO PROCESSAMENTO DE SINAIS Pode-se classificar os sensores industriais em diretos e indiretos (ROSÁRIO, 2005). Entende- se por sensores diretos aqueles cujo sinal de saída é a grandeza que se deseja observar. Por exemplo a medição de quantidade de luz, temperatura e pressão. Os sensores indiretos são aqueles que entregam uma medição indireta da grandeza desejada. Por exemplo, se desejamos medir vazão de fluido em uma tubulação, podemos medir a pressão diferencial após um estreitamento na tubulação. Depois de aplicar uma operação de raíz quadrada na diferença de pressão, temos uma grandeza proporcional à vazão do fluido (ROSÁRIO, 2005). Sendo assim, sempre que temos um sensor indireto, temos agregado a ele uma operação de transformação no sinal, ou seja, um processamento do sinal. Em alguns sensores, como nos sistemas de visão, o processamento tem papel fundamental. Sendo, muitas vezes, mais 11 complexo que a própria construção do sensor. Neste contexto, a visão de máquina aplicada a automação industrial pode ser vista com a área que estuda os sensores de imagem, considerando todos seus componentes físicos responsáveis por uma boa aquisição da imagem, e o processamento das imagens, buscando extrair destas uma informação útil para controle da atividade industrial (STEGER; WIEDEMANN; ULRICH, 2008). 1.4 VISÃO GERAL DO DOCUMENTO Este documento está dividido em cinco capítulos. Neste primeiro capítulo foi apresentada esta introdução. No segundo, será mostrada uma visão geral dos componentes de um sistema de visão, mostrando detalhes sobre câmeras, hardware e software de processamento, além das necessidades encontradas no ambiente para uma boa aquisição das imagens. No terceiro capítulo serão mostradas as técnicas de processamento de imagens utilizadas no sistema de visão. Estas técnicas são responsáveis por transformar a informação visual em informação útil para controle do processo industrial. No capítulo quatro, serão vistas algumas aplicações dos sistemas de visão na indústria, mostrando a abrangência que estes sistemas já estão tendo. No capítulo final, serão abordadas as conclusões e direção futuras de pesquisa, ensino e extensão. 12 2 COMPONENTES DOS SISTEMAS DE VISÃO O sistemas de visão e seus componentes estão representados na Figura 2. Figura 2: Sistema de visão na manufatura. Na Figura 2 se observam os componentes do sistema de visão: (1) a câmera, (2) o hardware de processamento, (3) o software de processamento e (4) a iluminação e outros equipamentos do ambiente de aquisição. Cada um destes componentes será detalhado em seguida. 2.1 CÂMERA A câmera é responsável por fornecer a imagem ao sistema. Seus componentes, sem as lentes, podem ser observados na Figura 3. A Figura 4 mostra as lentes da câmera. No processo de aquisição de imagem, as lentes tem o papel de focar a luz vinda da direção do objeto no sensor de imagem. Pode-se dizer que as lentes são responsáveis por formar a imagem sobre o sensor. O sensor de imagem é a parte responsável por converter o sinal de luz, refletido do objeto, em sinal elétrico, o qual podemos processar, armazenar e mostrar em 13 Figura 3: Câmera industrial usada nos sistemas de visão. Fonte: Adaptado do website www.flea3.com. Figura 4: Lentes usadas em câmeras industriais. Fonte: (EDMUND OPTICS, 2009c). um visor. Atualmente, os sensores necessitam de circuitos elétricos auxiliares para coordenar a conversão, retirar a informação, ou a imagem, do sensor e armazenar em uma memória até que esta seja transmitida para fora da câmera. Isso é de responsabilidade da eletrônica interna da câmera. A parte final é a transmissão da imagem para fora da câmera até o hardware de processamento e visualização, a qual é feita através de uma interface padronizada de transmissão de dados (STEGER; WIEDEMANN; ULRICH, 2008). 2.1.1 Sensor de Imagem A maioria dos sensores de imagens utilizados hoje em dia são baseados em dispositivos de estado sólido, i.e. semicondutores. Os tipos de sensores mais encontrados são os dispositivo de carga acoplada (CCD) e os semicondutores de metal-óxido complementar (CMOS) (GAMAL; 14 ELTOUKHY, 2005). As duas tecnologias possuem nível de qualidade semelhante, com ligeiras diferenças devido à construção do fotosensor e arquitetura do circuito integrado (CI). A Tabela 1 ilustra algumas as diferenças entre os tipos sensores. Tabela 1: Comparação entre tecnologias CCD e CMOS de sensor de imagem. Característica Sinal de saída do pixel Sinal de saída do chip Ruído no sistema Complexidade da câmera Complexidade do sensor Desempenho Resposta à iluminação Faixa dinâmica CCD carga (elétrons) CMOS Tensão Tensão (analogico) bits (digital) baixo moderado alta baixa baixa alta CCD moderada CMOS melhor maior (8-14 bits) moderada(6-12 bits) Uniformidade maior baixa a média Velocidade de captura moderada a alta bem alta Significado diferença na arquitetura do fotosensor diferença na arquitetura do CI qualidade da intensidade do pixel necessidade de circuitos de suporte (alimentação, controle, memória) mais componentes no CI do sensor (controle e memória integrados) Significado aproveitamento da luz mais qualidade em imagens de alto contraste maior uniformidade da intensidade em imagens com intensidade constantes mais quadros por segundo Fonte: DALSA website, www.dalsa.com. Apesar das diferenças, em muitas situações os dois tipos de sensores atendem as especificações para um sistema de visão de máquina (LITWILLER, 2001). Logo, quando a câmera é definida, especifica-se as características do sensor, como resolução, velocidade e faixa dinâmica, esta última é uma informação inversamente proporcional ao ruído no sensor. A Tabela 2 mostra estas características, seus significados e valores típicos dos sensores. Tabela 2: Especificações dos sensores de imagem. Característica Resolução Tamanho do Sensor Tamanho do Pixel Formato Faixa dinâmico Velocidade Significado melhor definição da imagem maior área, mais luz recebida maior, mais luz recebida relação horizontal:vertical mais bits por pixel, mais qualidade capacidade de quadros por segundo Valores Típicos 640×480 até 4896×3262 pixels 1/4” (3, 2×2, 4 mm) até 1” (12, 8×9, 6 mm) 2×2 µm até 25×25 µm 1:1, 3:2, 4:3, 16:9 36 dB - 80 dB (6 - 14 bits) 1fps até 200 fps, algumas mais de 1000fps 15 2.1.2 Lentes A função principal da lente é projetar a imagem do objeto na área do sensor. Quando falamos em lentes para visão de máquina, estamos considerando toda a estrutura construtiva, composto da estrutura de suporte, tipo de encaixe, íris, controle de foco além das lentes propriamente ditas. As duas principais características das lentes são o tipo de encaixe1 (WILSON, 2009a), o qual deve ser compatível com o corpo da câmera, e a distância focal, que controla o mapeamento da luz proveniente do objeto na área útil de aquisição do sensor de imagem. A Tabela 3 mostra uma comparação dos tipos de encaixe mais comuns de lentes em câmeras industriais. Tabela 3: Tipos de lentes. Tipo C-mount 1”, 32 TPI tamanho máx. do sensor 22 mm CS-mount 1”, 32 TPI 22 mm 12,5 mm 44mm, NIKON SLR 42 mm 46,5 mm F-mount Encaixe distância até o sensor 17,52 mm característica o tipo mais comum encontrado menor, adaptável para o formato C-mount para câmeras maiores e de alta resolução Fonte: (WILSON, 2009a). Uma vez que o ambiente de aquisição e a câmera (sensor) estão definidos, isto é, a distância da câmera ao objeto, o tamanho do objeto e o tamanho do sensor de imagem estão definidos, é a distância focal que determina se o objeto vai ser projetado dentro da área do sensor (COMPUTAR LENSES, 2008). A Figura 5 ilustra o problema. Figura 5: Relação entre tamanho do objeto real e tamanho do objeto projetado no sensor. Fonte: (COMPUTAR LENSES, 2008). Assim, usando a relação abaixo, pode-se definir a distância focal mais adequada e selecionar 1 O encaixe CS-mount é compatível com C-mount, ambos têm uma polegada de largura e 32 voltas por polegada (TPI) na profundidade. 16 a lente apropriada para o problema. s f= D (1) S sendo f a distância focal, D a distância do objeto até a câmera, s é o tamanho do sensor (horizontal ou vertical) e S o tamanho do objeto (horizontal ou vertical, o mesmo escolhido para o sensor). As distâncias focais das lentes comerciais variam, em sua maioria2 , de 2 mm até 300 mm. Sendo as de menor distância focal (2-40mm) conhecidas como lentes do tipo grande angular e as de maior distância focal (70-300mm) conhecidas como lentes telescópicas. A maioria das lentes comerciais tem distância focal fixa (EDMUND OPTICS, 2009c). Como se observa na Figura 6, mudando a distância de trabalho e deixando a distância focal fixa é possível ter o objeto muito pequeno dentro da imagem (grande distância de trabalho), ou, ao contrário, não ter o objeto inteiramente dentro da imagem (pequena distância de trabalho). Logo, em situações onde a distância de trabalho muda é recomendado usar lentes com distância focal variável. As lentes de câmeras fotográficas comerciais que têm zoom variável são exemplos de lentes com distância focal variável. Figura 6: Efeito da escolha da distância focal. Fonte: (COMPUTAR LENSES, 2008). 2 Existem lentes especiais com distâncias focais menores e maiores. 17 2.1.3 Interface As primeiras câmeras utilizavam interfaces analógicas (STEGER; WIEDEMANN; ULRICH, 2008), com sinal composto de vídeo (NTSC/ PAL) ou s-vídeo. Contudo, com o aumento de desempenho dos computadores e da velocidade de transmissão dos periféricos, logo as interfaces digitais alcançaram velocidades altas o suficiente para transmitir o sinal para fora da câmera. As interfaces digitais mais comuns das câmeras industriais estão na Tabela 4. Tabela 4: Interfaces digitais das câmeras industriais. Velocidade Comprimento do cabo Núm. de câmeras Tipo de conector FireWire 1394.a 400 Mbps 4,5 m até 63 6 pinos FireWire 1394.b 800 Mbps 100 m até 63 9 pinos Camera Link 3600Mbps 10 m 1 26 pinos USB 2.0 480 Mbps 5m até 127 4 pinos GigE 1000Mbps 100 m sem limite RJ45/CAT5 opcional opcional sim não não conector requer placa Fonte: (EDMUND OPTICS, 2009a). Com o aumento da resolução das câmeras, e da velocidade de aquisição (fps), interfaces com maior velocidade serão necessárias, passando das centenas de Mbps para as dezenas de Gbps3 . Na Tabela 5 apresentamos algumas das interfaces que começam a ser testadas para uso em câmeras industriais. Tabela 5: Futuras interfaces digitais das câmeras industriais. Velocidade Comprimento do cabo Núm. de câmeras HSLINK 48 Gbps 80 m até 63 CoaXPress 6.35 Gbps 105 m 1 USB 3.0 4 Gbps 5m até 127 10 GigE 10 Gbps 100 m sem limite Fonte: (WILSON, 2010b) 2.2 HARDWARE DE PROCESSAMENTO O hardware de processamento é a parte física do sistema responsável por transformar a informação visual, proveniente da câmera, em informação útil para o sistema de automação. Esta parte do sistema executa o software de processamento, que será visto na seção seguinte. Para a tarefa de processamento, tanto sistemas computacionais gerais, como computadores pessoais, quanto sistemas específicos de visão de máquina podem ser utilizados. Os computadores em sua versão para controle de sistemas industriais, conhecidos como computadores 3 1Gbps = 1024Mbps, sendo Gbps - Giga bits por segundo. 18 industriais, são alternativas interessantes e gerais para o processamento dos algoritmos de visão de máquina. Eles dispõem dos mesmos recursos encontrados nos computadores pessoais, porém com com modificações para funcionamento contínuo, além de uma forma construtiva mais robusta, i.e. resistente a sujeira, temperatura, variações de tensão e outros efeitos “hostis” ao funcionamento do computador (SIEMENS, 2010). Contudo, o crescimento na demanda por sistemas de visão incentivou o crescimento de hardwares específicos. Hoje, encontram-se no mercado duas versões de sistemas específicos: as câmeras inteligentes (smartcams) e os sistemas de visão compactos. Estas versões serão discutidas mais a frente. 2.2.1 Computadores Industriais Os computadores industriais são uma escolha interessante pela sua flexibilidade de uso. Além das tarefas de visão de máquina, estes sistemas podem realizar funções de supervisão e controle. Além disso, a maioria é composta dos mesmos elementos utilizados em computadores pessoais, como processadores multi-core baseados na arquitetura Intel x86 e AMD64, porém com uma construção e componentes mais robustos (LIPPINCOTT, 2008). A maioria dos computadores industriais são projetados para não serem desligados quase nunca, tendo fontes redundantes e peças que podem ser substituídas sem necessidade de desligamento. Hoje, sistemas computacionais construídos com estas arquiteturas podem alcançar uma capacidade de processamento da ordem das centenas de Gflops4 , mais que suficiente para a maioria das operações de visão de máquina. Além disso, com a popularização dos programas que requerem gráficos tridimensionais (3D), como jogos, programas de desenho e até os sistemas operacionais, veio também a popularização de placas de processamento gráfico. Estas placas possuem processadores gráficos (GPU) tão computacionalmente poderosos quanto o processador principal do computador (CPU). Hoje, os fabricantes de GPU já disponibilizam ferramentas que permitem a programação destes processadores para uso geral, inclusive para as funções de visão de máquina. As versões de ponta dos GPUs são capazes de ultrapassar 1Tflops5 , aumentado ainda mais o poder computacional de um computador para processar as tarefas de visão de máquina. A tabela 6 mostra alguns exemplos de processadores encontrados no mercado e seu desempenho. 41 Gflops = 1 × 109 (giga) operações de ponto flutuante por segundo. 5 1 Tflops = 1 × 1012 (tera) operações de ponto flutuante por segundo. 19 Tabela 6: Processadores que podem ser utilizados para visão de máquina Nome Athlon X2 3GHz Core 2 Duo 3GHz POWER6 4.7GHz Phenom X4 3GHz Core i7 3GHz POWER7 4.1GHz GeForce 9800 Radeon HD 4850 GeForce GTX 280 Radeon HD 5850 Tipo CPU x86-AMD64 CPU x86-Intel 64 CPU IBM-PowerPC CPU x86-AMD64 CPU x86-Intel 64 CPU IBM-PowerPC GPU NVIDIA GPU ATI GPU NVIDIA GPU ATI Arquitetura AMD K8 Intel core 2 Power ISA v.2.05 AMD K10 Nehalem Power ISA v.2.06 NVIDIA G92 Radeon RV770 NVIDIA GT200 Evergreen Núm. cores 2 2 2 4 4 4 128 160 240 288 Gflops 19.0 21.9 35.7 40.0 63.3 120 705 1000 1000 2088 Ano 2006 2006 2007 2008 2009 2010 2008 2009 2009 2010 Fonte: Informação do website dos fabricantes. 2.2.2 Sistemas Específicos Os sistemas específicos surgiram como uma alternativa mais simples e prática para a implementação de um sistema de visão de máquina na indústria. A maioria dos fabricantes, além de vender o hardware, também vende o software de programação. Em termos de hardware, encontram-se dois tipos diferentes no mercado: as câmeras inteligentes e os sistemas de visão compactos. Em seguida, vamos detalhar cada um destes tipos de sistema e, na Tabela 7, mostramos alguns exemplos de sistemas comerciais disponíveis. Câmeras Inteligentes As câmeras inteligentes unificam a câmera e o hardware de processamento em um mesmo encapsulamento. São as alternativas mais compactas e, em alguns casos, mais baratas para visão de máquina. Diversos fabricantes de sistemas de visão, como National Instruments, Dalsa, Cognex e Matrox têm pelo menos uma opção de smartcam. Contudo, as smartcams não são projetadas para serem dispositivos de ponta, e sim de uso geral. Logo, nem as especificação da câmera são as mais avançadas, nem o hardware de processamento é o mais veloz disponível. Mas estes sistemas são apropriados para grande parte dos problemas. A Figura 7 mostra alguns exemplos de smartcams. Sistemas de Visão Compactos Apesar do nome, os sistemas de visão “compactos” não são tão compactos como as smartcams. Eles são uma versão reduzida de um computador industrial, com apenas os componentes essenciais para o processamento das operações de visão de máquina. Logo, são mais compactos que um computador industrial, mas mesmo assim, seu poder computacional não é reduzido. Pelo contrário, os componentes são selecionados para que tenha condições de atender as mais difíceis tarefas de visão de máquina, computacionalmente falando, sendo superiores às smart- 20 (a) In-Sight 1020, da Cognex (b) NI-1764, da National Instruments (c) Iris GT1900, da Matrox Figura 7: Exemplos de smartcams, ou câmeras inteligentes. Fonte: Website dos fabricantes. cams. Em muitos casos, os sistemas compactos são capazes de processar imagens provenientes de diferentes câmeras, realizando diferentes tarefas de visão de máquina ao mesmo tempo. A Figura 8 mostra alguns exemplos de sistemas de compactos. Existem sistemas compactos proprietários, onde tanto o software de programação quanto o tipo de câmera, devem ser selecionados do mesmo fabricante. Esta alternativa é interessante quando uma indústria não tem especialistas em automação com amplo conhecimento sobre estes sistemas, ou quando a indústria prefere deixar a cargo do fabricante de sistema de visão boa parte das tarefas de implementação e programação. Existem também, os sistemas semiabertos, onde o hardware e o software de programação são vendidos em conjunto, contudo o sistema é compatível com diferentes câmeras industriais, tendo diferentes interfaces digitais de entrada disponíveis, conforme mencionado na seção 2.1.3. (a) 4Sight X, da Matrox. (b) EVS-1463, da National Instruments. (c) Geva, da Dalsa. Figura 8: Exemplos de sistemas compactos. Fonte: Website dos fabricantes. Com a necessidade dos sistemas de controle em se sofisticar, os sistemas de visão estão 21 cada vez mais integrados aos sistemas de controle industrial. Hoje, grande parte das tarefas de controle industrial são realizadas por controladores lógicos programáveis (CLP)(GEORGINI, 2003). Contudo, estes dispositivos tem pouca flexibilidade e pouco poder computacional para executar estratégias de controle mais complexas (GARCIA; PRETT; MORARI, 1989; BRANICKY; BORKAR; MITTER, 1998). Contudo, a ampla aceitação dos CLPs e a necessidade de implementação de estratégias de controle mais complexas forçaram os fabricantes a tornar estes equipamentos mais poderosos e mais flexíveis. Uma nova versão destes sistemas são chamados de controladores de automação programáveis (PAC) (NATIONAL INSTRUMENTS, 2007). Mesmo assim, para não perder a simplicidade, alguns fabricantes preferem lançar módulos compatíveis com CLP para funções avançadas, como controle de motores por PWM, módulos de comunicação específicos, e mais recentemente, módulos de sistema de visão. Tabela 7: Sistemas específicos para visão de máquina Nome NI-1742 Tipo smartcam Arquit. Fechada smartcam Fechada IRIS-GT300 Fabricante National Instruments National Instruments Matrox smartcam Fechada IRIS-GT1900 Matrox smartcam Fechada BOA Smart Vision System In-Sight 1020 Dalsa smartcam Fechada Cognex smartcam Fechada National Instruments National Instruments Dalsa sistema compacto sistema compacto sistema compacto sistema compacto sistema compacto semiaberta semiaberta semiaberta semiaberta aberta (PC-x86) sistema compacto aberta (PC-x86) NI-1764 NI EVS-1463 NI CVS-1454 GEVA Vision Applicance VA61 Vision Applicance 4Sigth X Supersight E2 Dalsa Matrox Matrox Programação Vision Builder AI ou LabVIEW Vision Builder AI ou LabVIEW Design Assistant ou Image Library Design Assistant ou Image Library iNspect ou Sherlock In-Sight Explorer ou EasyBuilder Vision Builder AI ou LabVIEW Vision Builder AI ou LabVIEW iNspect ou Sherlock iNspect ou Sherlock C/C++ padrão com Matrox Image Library C/C++ padrão com Matrox Imaging Library Processador 533MHz PowerPC PowerPC + 720MHz DSP 1.6GHz Intel Atom 1.6GHz Intel Atom DSP+CPU não informado Intel Core Duo 1.66 GHz Intel Celeron 400MHz+FPGA Dual Core 2.4 GHz não informado Intel core 2 Duo 2.2 GHz Intel core 2 Duo + GPU + FPGA Características CCD Sony 1/3” mono 640 × 480 pix. CCD Sony 1/2” mono 1280 × 1024 pix. CCD Kodak 1/3” mono 640 × 480 pix. CCD Sony 1/3” mono 1600 × 1200 pix. CCD Dalsa 1/3” mono 640 × 480 pix. CCD 1/3” mono 640 × 480 pix. suporta câmeras GigE, Camera Link e USB 2.0 suporta câmeras IEEE 1394a suporta câmeras GigE suporta câmeras GigE suporta câmeras GigE, Camera Link, USB 2.0 e IEEE 1394a/b suporta câmeras GigE, Camera Link, USB 2.0 e IEEE 1394a/b Fonte: Website dos fabricantes ou desenvolvedores. Neste contexto, o módulo de sistema de visão é um pequeno sistema de visão ultra compacto, que pode ser conectado a um CLP. Em geral, o sistema é programado de forma independente do CLP, com respeito às tarefas de visão de máquina, usando softwares específicos, mas é controlado pelo CLP e troca informações com este além de estar no mesmo rack do CLP. 22 2.3 SOFTWARE DE PROCESSAMENTO O software de processamento é responsável pelas tarefas de inspeção que serão executadas no hardware. Ele é responsável pela conversão da informação contida na imagem em informação útil para controle. Este software é programado para executar a tarefa específica de visão de máquina em questão. Existem três categorias de sistemas de desenvolvimento que podem ser utilizadas para programar o sistema de visão, ou seja, para gerar o software de processamento do sistema de visão. As categorias são: programação de propósito geral, softwares de computação numérica com pacotes de imagem, e ambientes de desenvolvimento específicos. Estas categorias se diferenciam pela dificuldade e flexibilidade na programação. Em seguida, vamos ver os detalhes de cada categoria. 2.3.1 Programação de Propósito Geral Considerando que o hardware de processamento é, muitas vezes, um computador com sistema operacional conhecido, como Windows ou Linux, pode-se utilizar as linguagens de programação típicas para computadores com seus respectivos compiladores e ambientes de desenvolvimento ( IDE). Além disso, para facilitar a criação do software de inspeção é recomendado o uso de bibliotecas de visão de máquina ou de processamento de imagem. As tabelas 8 e 9 mostram as linguagens mais comuns, compiladores, bibliotecas e ambientes de desenvolvimento que podem ser utilizadas para visão de máquina. Tabela 8: Linguagens, compiladores e ambientes utilizados em visão de máquina Linguagem C/C++ JAVA Compilador GCC Borland C++ visual C++ GCJ javac Ambiente Visual Studio C++ Builder Code::Blocks NetBeans JBuilder Sist. Alvo Windows Linux Unix Java Virtual Machine Proc. Alvo x86, AMD/Intel64 PowerPC x86, AMD/Intel64 PowerPC, outros Fonte: Website dos fabricantes ou desenvolvedores. 2.3.2 Softwares de Computação Numérica com Pacotes de Imagem Em geral, as tarefas de visão de máquina e processamento de imagens envolvem algoritmos de computação numérica pesados. Além disso, os métodos e algoritmos estão se aperfeiçoando com as pesquisas na área. Sendo assim, os softwares de computação numérica com pacotes de imagem integrados, como MatLab, Labview e Octave, são alternativas interessantes. Estes 23 Tabela 9: Bibliotecas utilizadas em visão de máquina Bibliotecas OpenCV Matrox Imaging Library (MIL) Intel IPP Integrating Vision Toolkit (IVT) ImageJ Sapera Vision Software Vector Sig. Image Processing Library NI Vision Devel. Module Cimg - toolkit for image processing Desenvolvedor originalmente Intel Matrox Linguagem C, com suporte à C++, C#, Java C/C++, C# e visual basic C/C++ Intel Karlsruhe Institute of Technology (KIT) National Institutes of Health (NIH) DALSA Georgia Tech Research Corp. National Instruments David Tschumperlé C/C++ Java C/C++, C# e .NET C/C++, FORTAN C, Visual Basic LabVIEW C++ Licença GPL Acel. Hardware não informado Proprietária Placas Matrox, GPU e FPGA processadores Intel não informado Proprietária Licença BSD Domínio Público Proprietária não informado open source Proprietária DALSA Hardware, GPU e FPGA CPU, GPU e outros Hardware da NI CeCILL-C não informado Sist. Alvo Windows, Linux, FreeBSD, MacOS Windows, Linux, Windows CE Windows, Linux, MacOS Windows, Linux, MacOS Windows, Linux, MacOS Windows Windows, Linux, outros sistemas Windows, Linux, MacOS Windows, Linux, MacOS Fonte: Website dos fabricantes ou desenvolvedores. sistemas são de programação e depuração mais fácil que a programação de propósito geral, o que facilita a criação e inclusão de novos algoritmos de visão de máquina. Entretanto, estes ambientes são menos flexíveis que a programação de propósito geral, i.e. o sistema e processador alvo que irá executar o programa são mais específicos. Logo, a liberdade de execução do programa de visão de máquina é menor. Contudo, o desenvolvimento do programa de visão de máquina é significativamente mais rápido. Na Tabela 10 mostramos alguns destes sistemas. Tabela 10: Softwares de computação numérica com módulos de imagem para visão de máquina Software MatLab Fabricante MathWorks Licença Proprietária SciLab SciLab Consortium John W. Eaton National Instruments CeCILL (Livre) GPL GNU Octave LabVIEW Proprietária Linguagem MATLAB code Similar MATLAB Similar MATLAB programação gráfica Módulos imagem, câmera outros imagem, outros imagem, outros imagem, câmera outros Sist. Alvo Windows, Linux MacOS, UNIX Windows, Linux MacOS, UNIX Windows, Linux MacOS, UNIX Windows, Linux UNIX, outros Fonte: Website dos fabricantes ou desenvolvedores. 2.3.3 Ambientes de Desenvolvimento Específicos Praticamente todos os fabricantes de hardwares de processamento específicos também oferecem um ambiente de desenvolvimento específico de visão de máquina. Na maioria dos casos, o ambiente possui todas as ferramentas necessárias para explorar o hardware ao máximo, além de ser de fácil e rápida programação. Contudo, a flexibilidade é extremamente reduzida, sendo difícil, por exemplo, a inclusão de novos algoritmos de visão de máquina ou execução em hard- 24 ware diferente do oferecido pelo fabricante. Esta alternativa é interessante para o profissional de automação industrial que não tem interesse em se aprofundar na programação de visão de máquina. A Tabela 11 mostra o exemplo de ambientes de desenvolvimento específicos. Tabela 11: Ambientes de desenvolvimento específicos para visão de máquina Software Vision Builder AI iNspect Sherlock Vision PRO Fabricante National Instruments Dalsa Dalsa Cognex Hardware Alvo PC x86, smartcam NI-17xx NI EVS-146x e NI CVS-14xx PC x86, DALSA smartcams e DALSA sistemas compactos PC x86, DALSA smartcams e DALSA sistemas compactos PC x86, Cognex smartcams e Cognex sistemas compactos Características compatível com LabVIEW programação simplificada programação simplificada e fácil integração com CLPs mais flexível que iNspect programação menos simples vários níveis de programação, visual ou em Basic, C++ Fonte: Website dos fabricantes ou desenvolvedores. 2.4 AMBIENTES DE AQUISIÇÃO E SEUS EQUIPAMENTOS Além da câmera, hardware de processamento e software, é necessário um bom ambiente de aquisição para o sucesso de uma tarefa de visão de máquina. Um bom ambiente de aquisição deve considerar iluminação adequada, filtros de luz e, em alguns casos, referências visuais. Alguns destes itens serão vistos em seguida. 2.4.1 Iluminação A Tabela 12 mostra os tipos de iluminação mais comuns e algumas características destes. O objetivo da iluminação é obter um bom contraste para visualização. Além disso, a qualidade da imagem, quando medida pela relação sinal por ruído, depende da quantidade de fótons que chegam ao sensor, os quais foram emitidos pela iluminação. A iluminação também deve atender as exigências da aplicação. Na maioria dos casos se busca uma iluminação uniforme. Contudo, existem situações específicas que exigem iluminação estruturada, por exemplo. 25 Tabela 12: Iluminação do ambiente de aquisição para visão de máquina Tipo Vantagens Desvantagens Frontal Difusa Sombras reduzidas, As características da redução da reflexão superfície são menos direta da luz distintas Direcional Iluminação e forte Produz sombras e re- relativamente giões de muita ilumi- constante Anel Luminoso Lateral nação Poucas sombras Pode gerar um ilu- e ilumina- minação circular, es- relativamente cura no centro e mais com ção Montagem constante clara nas bordas Mostra defeitos de Produz fortes pon- superfície e irregula- tos de iluminação e ridades de topologia regiões criticamente sombreadas Polarizada Iluminação uni- Intensidade reduzida de devido aos polariza- forme, picos forte iluminação dores removidos Estruturada Captura variações na Forte intensidade, superfície porém pode ser absorvida por algumas cores Fonte: (EDMUND OPTICS, 2009b). Exemplo de resultado 26 2.4.2 Referências Visuais Referências visuais são padrões de fácil detecção e distinção, desenhados no ambiente de aquisição. Este padrões tem o propósito de facilitar nas tarefas de calibração, medição dimensional ou referenciação no espaço tridimensional. Na Figura 10 do próximo capítulo, juntamente com outros aspectos, será observado um exemplo de padrão usado em calibração da câmera. Nesta figura pode-se notar as distorções do padrão por causa da lente e da visão em perspectiva. Como o padrão é conhecido, ele serve de referência visual para correção das distorções geométricas (STEGER; WIEDEMANN; ULRICH, 2008). 2.4.3 Filtros de Luz O objetivo dos filtros de luz são permitir que apenas a luz de determinado comprimento de onda alcance o sensor. Assim, pode-se filtrar diferentes faixas de frequência, como a ultravioleta (UV), a infravermelha (IR), ou mesmo as bandas de cor específica. Além destes, filtros polarizadores podem reduzir picos de reflexão de luz muito fortes e indesejados, os quais prejudicam a operação de visão de máquina (EDMUND OPTICS, 2009b). 27 3 PROCESSAMENTO DE IMAGEM PARA SISTEMAS DE VISÃO O processamento de imagens é a parte essencial do software de visão de máquina. Ele é responsável por retirar da imagem a informação desejada e convertê-la em algo útil para a tarefa de controle. Os métodos usados em processamento de imagens tem evoluído muito nos últimos anos. Existem uma grande variedade de algoritmos disponíveis e diferentes formas de uso destes. Contudo, ainda existem muitos problemas em aberto na área de visão de máquina que o processamento de imagens ainda não solucionou, embora tenha potencial para tal. Este capítulo é um direcionador para as técnicas de processamento de imagem por trás da tarefa de visão de máquina. Nele, serão apresentadas as tarefas de processamento de imagens necessárias em visão de máquina. Para cada tarefa, serão referenciados os algoritmos mais importantes, ajudando a orientar o leitor interessado em se aprofundar em uma área específica. A Figura 9 ilustra as três classes tarefas essenciais em visão de máquina, são elas: 1) correção, melhoramento e calibração da imagem; 2) extração da informação da imagem e 3) processamento da informação. Figura 9: Tarefas de processamento em visão de máquina. 28 Estas três tarefas de visão de máquina são detalhadas nas seções seguintes deste capítulo, com explicações relativas às suas funções e referências aos principais algoritmos de processamento de imagens para tal tarefa. 3.1 PROCESSAMENTO PARA CORREÇÃO, MELHORAMENTO E CALIBRAÇÃO DA IMAGEM O objetivo desta tarefa é tornar a imagem capturada, muitas vezes com imperfeições, uma imagem mais apropriada para a tarefa posterior de extração da informação. Imperfeições comuns como o ruído, o baixo contraste e as distorções por falta de foco precisam ser reduzidas ou corrigidas. Estas tarefas são chamadas de correção da imagem. Em alguns casos, deseja-se que a imagem fosse melhor, em alguns aspectos, que a entregue pela câmera, mesmo que esta não tenha imperfeições sérias. Este outro conjunto de técnicas é chamado de melhoramento de imagem, justamente porque “melhora” a imagem, ou seja, vai além da simples correção. Por último, é necessário ter referência física do tamanho da imagem em uma região de interesse, para que se saiba que determinado tamanho na imagem, normalmente em pixels, corresponda a um tamanho físico conhecido, em milímetros por exemplo. Esta tarefa é conhecida por calibração da imagem. 3.1.1 Correção da Imagem As técnicas de correção de imagem focam na resolução de algum tipo de distorção que ocorre devido às dificuldades na aquisição da imagem. Problemas comuns são: ruído, baixo contraste, distorções óticas e geométricas. A Figura 10 ilustra estes problemas juntamente com suas formas de correção da imagem. O ruído (noise em inglês) ocorre devido ao comportamento estocástico dos fótons que chegam ao sensor de imagem (GAMAL; ELTOUKHY, 2005). Em geral, a dificuldade é a baixa quantidade de fótons, o que ocorre quando a aquisição é rápida demais ou quando a quantidade de luz no ambiente de aquisição é pequena. As técnicas de correção de ruído são chamadas de Denoising. Em (BUADES; COLL; MOREL, 2005) uma revisão dos métodos de redução de ruído são apresentados. A maioria destes métodos são criados a partir de modelos estatísticos para ruídos. Em (BOVIK, 2000) os modelos de ruído são detalhados. Os problemas de intensidade geralmente estão relacionados com uma escolha ruim dos parâmetros de aquisição da câmera. Por exemplo, a exposição rápida à luz, aliada a uma iluminação fraca, gera uma imagem escura e com ruído. Exposição longa à luz aliada a uma iluminação 29 forte, gera uma imagem saturada, muito clara. Ou ainda, iluminação muito uniforme em um objeto com cores e reflexão uniformes, gera uma imagem quase sem contraste. Na maioria das situações a modificação do ambiente de aquisição e acerto dos parâmetros da câmera e iluminação melhoram a imagem, contudo se pode ter situações onde o melhor acerto ainda não é suficiente. Nestes casos, a correção da intensidade através de processamento é fundamental. As técnicas mais comuns de correção de intensidade são encontradas em (GONZALEZ; WOODS, 1992; BOVIK, 2000; STEGER; WIEDEMANN; ULRICH, 2008). Entre elas, uma alternativa bastante eficiente é a correção automática de histograma, descrita em (GONZALEZ; WOODS, 1992; BOVIK, 2000). Distorções por falta de foco ou limitações do sistema óptico são problemas comuns (BOVIK, 2000; STEGER; WIEDEMANN; ULRICH, 2008; EDMUND OPTICS, 2009c). Inclusive, uma forma de avaliar a qualidade das lentes é observando a função de transferência (modulação) da lente (HOLLOWS; SINGER, 2009). Esta distorção reduz os detalhes que podem ser observados na imagem, fazendo com que as bordas, os textos ou os códigos de barras se tornem difíceis de detectar ou reconhecer por terem um aspecto de borrado (Blurring em inglês). Para reduzir este problema, as técnicas conhecidas como restauração ou Deblurring podem ser utilizadas (BOVIK, 2000; GONZALEZ; WOODS, 1992). (a) Redução de ruído (b) Correção de intensidade (c) Restauração (d) Distorções geométricas Figura 10: Exemplos de correção da imagem. Fonte: Autoria própria e (NATIONAL INSTRUMENTS, 2009). Por fim, pode-se ter distorções geométricas devido ao ângulo entre a câmera e o objeto (STEGER; WIEDEMANN; ULRICH, 2008). Para isso, é necessário corrigir a rotação da ima- 30 gem, escala e, muitas vezes, a distorção causada pela perspectiva da câmera. Além disso, a própria lente pode distorcer a imagem, com o chamado efeito “barril”, que em alguns casos pode ser bem severo. As correções de geometria dependem do conhecimento dos parâmetros de distorção além da aplicação do método de correção. Em (STEGER; WIEDEMANN; ULRICH, 2008) são apresentados os métodos de correção. Observe que para a correção, é necessário que se conheçam os parâmetros do modelo de distorção, o qual é definido durante o processo de calibração. 3.1.2 Melhoramento de Imagem Mesmo se a imagem estiver em boas condições visuais, não é garantido que a tarefa seguinte, de extração da informação, será bem sucedida. Assim, algumas funções de processamento podem facilitar a tarefa posterior. Duas tarefas simples que podem melhorar processamento posterior são a suavização da imagem e o aumento dos detalhes na imagem (GONZALEZ; WOODS, 1992). Estas operações são complementares. A suavização reduz detalhes, isso porque alguns procedimentos são mais bem sucedidos quando a imagem está menos carregada com detalhes, evidenciando os objetos mais relevantes, ou grandes. A decomposição multi-escala pode ser utilizada para este mesmo propósito (MOULIN; KRISHNAMURTHY; WOODS, 1997; BOUMAN; SHAPIRO, 1994), onde o processamento inicia-se com as imagens de menor resolução, que tem menos informação visual, e é aprimorada nas escalas de maior resolução. No sentido contrário, o aumento de detalhes reforça as bordas e os detalhes na imagem, permitindo que algumas tarefas posteriores sejam mais precisas. Observe isso na Figura 11(a). Outra técnica que ajuda na tarefa posterior de extração de informação é a fusão de imagens (POHL; GENDEREN, 1998; STATHAKI, 2008). A fusão de imagens busca unir imagens que mostram informações diferentes para se obter uma imagem mais rica em informação. Por exemplo unir imagens geradas de posições espaciais diferentes do objeto, formando uma imagem maior, tipo “panorâmica” (STATHAKI, 2008). Ou ainda, pode-se unir imagens de canais, ou bandas, diferentes. Por exemplo, imagens de infravermelho com imagens de ultravioleta, mostrando aspectos que não são visíveis nas imagens coloridas convencionais (POHL; GENDEREN, 1998). A Figura 11(b) mostra a fusão de imagens com ponto de foco diferentes e profundidade focal pequena, um problema muito comum em imagens microscópicas. Uma técnica similar às técnicas de fusão é a técnica de superresolução (PARK; PARK; KANG, 2003; ZIBETTI, 2007). A superresolução pode unir várias imagens de resolução baixa para produzir uma imagem com resolução superior a resolução original da câmera. Estas téc- 31 nicas podem melhorar a precisão e a exatidão do processamento posterior, como nas inspeções dimensionais de peças, por exemplo. A Figura 11(c) ilustra um exemplo de superresolução. (a) Suavização e aumento de detalhes (b) Fusão de imagens (c) Superresolução Figura 11: Exemplos de melhoramento de imagem. 3.1.3 Calibração O processo de calibração envolve principalmente o cálculo do tamanho físico (em milímetros por exemplo) do pixel (STEGER; WIEDEMANN; ULRICH, 2008). Em geral, o processo é simples e envolve apenas o uso de algumas referências no ambiente de aquisição. Em algumas situações mais críticas, a calibração envolve correção da distorção da lente e correção de perspectiva (STEGER; WIEDEMANN; ULRICH, 2008; KLINGER, 2003), conforme observado na Figura 10(d). 3.2 PROCESSAMENTO PARA EXTRAÇÃO DE INFORMAÇÃO Esta parte do processamento é a mais importante do conjunto. Ela é responsável por extrair da imagem a informação essencial para controle. A entrada do processamento é a imagem, enquanto a saída é um conjunto de parâmetros relacionados com a informação extraída. O tipo de informação extraída pode variar bastante, contudo ela pode ser colocada em uma de três classes de operações. São elas: 1) busca por formas geométricas ou características conhecidas na imagem, 2) Estimativa da forma (arbitrária e desconhecida) de uma região de interesse, ou 3) análise da imagem em uma região de interesse. 3.2.1 Busca por Formas ou Características O objetivo desta tarefa é encontrar parâmetros relacionados com uma característica visual conhecida. As características podem ser: bordas, linhas, círculos, textos, formas geométricas arbitrárias e até padrões visuais arbitrários, desde que previamente conhecidos. Os parâmetros 32 podem ser relacionados à posição, tamanho, rotação, quantidade e grau de similaridade da característica desejada. Alguns exemplos são apresentados na Tabela 13. Nesta classe de tarefas três itens precisam ser definidos: a) modelo paramétrico (equação) da característica previamente conhecida, b) critério de similaridade da característica, ou da forma, com a região da imagem, e c) método de busca, onde vários parâmetros são testados até que os parâmetros que melhor satisfazem o critério de similaridade são escolhidos (CHERNOV, 2010). Tabela 13: Tipos de formas geométricas Tipo Bordas 1D linhas círculos retângulos elipses formas arbitrárias Parâmetros quantidades, posições e orientações quantidades, similaridade, ângulos e distancias quantidades, similaridade, centros e raios quantidades, similaridade, centros e bordas quantidades, similaridade, centros, vértices e rotação quantidades, similaridade, centros, escalas e rotações Observe o exemplo da busca por linhas, ou line fitting como é conhecida. Inicialmente, precisamos definir uma equação que “desenhe” uma linha a partir dos seus parâmetros, como ângulo de inclinação e distância da origem. Isso atende o item “a”. O segundo ponto a ser definido é o critério de similaridade, para atender o item “b”. Neste caso, assumindo que a imagem tem sempre intensidade positiva, pode-se medir a similaridade através do produto interno. Por último, no item “c”, definem-se quais valores dos parâmetros serão testados, ou a sequência de busca de valores. A situação mais comum é testar ângulos igualmente espaçados e, para cada posição angular, vários espaçamentos em relação ao centro, também regularmente espaçados. O exemplo descrito no parágrafo anterior, encontrado em (STEGER; WIEDEMANN; ULRICH, 2008), segue o mesmo princípio da aplicação da transformada Hough em uma imagem (GONZALEZ; WOODS, 1992), ou da correlação de um pedaço de imagem, ou template, com uma imagem de interesse (BOVIK, 2000). Em ambos os casos, o resultado é um mapa mostrando o grau de similaridade de uma forma, ou uma característica, com uma região espacial da imagem. Como resultado final, basta selecionar as pontos mais similares, armazenando seus parâmetros e o grau de similaridade com a forma. A Figura 12 ilustra alguns exemplos de busca por formas conhecidas. 3.2.2 Busca pela Região de um Objeto (Segmentação) Nesta tarefa, o objetivo é encontrar a forma de uma região de interesse, como por exemplo o contorno de um objeto. Nesta situação, normalmente se conhece o comportamento das 33 (a) Busca por círculos (b) Busca por códigos de barras (c) Busca por faces Figura 12: Busca por formas ou características. Fonte: Autoria própria em (a) e (b) e www.dcresource.com em (c). intensidades internas da região do objeto ou das texturas do objeto, ao menos parcialmente. Contudo, não se conhece o contorno exato da região do objeto. O resultado normalmente é o mapa da região do objeto, com o qual é possível separá-lo do restante da imagem. Esta tarefa é conhecida em processamento de imagens como segmentação (BOVIK, 2000; GONZALEZ; WOODS, 1992). Existem diversos métodos de segmentação disponíveis na literatura. Na tabela 14 são mostradas algumas classes de métodos e suas referências. A Figura 13 ilustra alguns resultados de segmentação de imagens. Tabela 14: Métodos de segmentação de imagens mais comuns. Classe dos métodos Métodos estatísticos Tipo de método Limiarização baseada no histograma Máxima verossimilhança Métodos Bayesianos Métodos baseados em regiões Métodos baseados nas bordas 3.2.3 Crescimento de regiões Split and Merge Watershed Detecção das bordas Contorno ativo (snakes) Referência (SHAFARENKO; PETROU; KITTLER, 1998) (BOVIK, 2000) (LAVALLE; HUTCHINSON, 1995; GEIGER; YUILLE, 1991) (GONZALEZ; WOODS, 1992) (GONZALEZ; WOODS, 1992) (BLEAU; LEON, 2000) (CHENG et al., 2001) (KASS; WITKIN; TERZOPOULOS, 1988; MYRONENKO; SONG, 2009) Análise das Intensidades em uma Região de Interesse Nesta tarefa, o objetivo é encontrar parâmetros relacionados com o padrão de intensidades dentro de uma região de interesse conhecida. Esta “região de interesse” normalmente está relacionada a algum objeto ou área que queremos identificar ou classificar. Para tal, precisamos relacionar a textura ou o padrão de intensidade da região com um modelo previamente 34 (a) Segmentação baseada no histograma (b) Métodos Bayesianos (c) Contorno Ativo Figura 13: Exemplos de segmentação Fonte: Autoria própria em (a) e (b), e (MYRONENKO; SONG, 2009) em (c). conhecido. É comum encontrar características bem marcantes em determinados padrões de intensidade, que as diferenciam das demais. Estas características podem ser, na maioria das vezes, mensuradas objetivamente através de operações de processamento de sinais. Quando estas medidas são suficientemente fortes, indicam que a textura está relacionada a um determinado objeto ou material previamente conhecido. A Tabela 15 mostra algumas características presentes em texturas e padrões de intensidades que são comumente analisadas em uma região de interesse. A Figura 14 ilustra alguns exemplos de análise das intensidades. Na Figura 14(a), pode-se notar que o espectro de Fourier determinada textura tem picos em frequências específicas. Estas informações podem ser utilizadas para uma identificação automática do tipo de textura, por exemplo. Na Figura 14(b) a utilização da cor é ilustrada. Tabela 15: Características de intensidades analisadas em uma região de interesse Tipo de análise Medidas de momentos estatísticos da intensidade ou cor Análise estatística mais completa Análise de frequências Análise de tamanho em espaços arbitrários Característica Média, desvio padrão, correlação, outros momentos Histograma, distribuição frequência central, frequência de pico, largura de banda Wavelets, noiselets, fractais Referência (BOVIK, 2000; TEH; CHIN, 2002) (CARLOTTO, 2009) (BOVIK, 2000) (CONCI; PROENCA, 1998) 35 (a) Análise de frequência (b) Análise de cor Figura 14: Exemplos de análise da intensidade Fonte: Autoria própria e (NATIONAL INSTRUMENTS, 2009) em (b). 3.3 PROCESSAMENTO DA INFORMAÇÃO, CLASSIFICAÇÃO E DETECÇÃO Nesta terceira tarefa ocorre o processamento da informação extraída na etapa anterior. Pode-se dizer que esta função não é mais “processamento de imagem” propriamente dito, pois agora o processamento será realizado nos parâmetros extraídos da etapa anterior. Tem-se dois tipos de processamentos realizados com estes parâmetros. O primeiro envolve modificar ou inferir uma nova informação a partir da informação extraída da imagem, para que esta nova informação seja utilizada na tarefa de controle. O segundo envolve usar a informação extraída com o objetivo de reconhecer algo que está na imagem de forma indireta, avaliando se os parâmetros se encaixam em um padrão conhecido, ou seja, classificando ou detectando objetos na imagem. Alguns exemplos são ilustrados na Figura 15. 3.3.1 Processamento da Informação Esta etapa tem o objetivo de inferir uma nova informação a partir da informação extraída da imagem. Esta “nova informação” normalmente é a informação útil para o usuário do sistema e poderá ser usada para, por exemplo, uma tarefa de controle. Contudo, não se observa esta informação diretamente na imagem, por isso é preciso esta etapa. Alguns exemplos desta etapa são: Análises e inferências geométricas bidimensionais (2D), análise da forma 2D de um objeto, estimação de posição no espaço 3D e reconstrução de objetos 3D. Análises e Inferências Geométricas Nesta etapa, o objetivo é inferir (ou calcular) novas informações sobre a geometria do objeto ou da cena. Por exemplo, quando a extração de informação foi a busca por características, como círculos, tem-se como resposta parâmetros geométricos, tais como centros e raios de cada círculo. Logo, pode-se calcular informações relativas como distância entre os centros dos 36 círculos, ou ponto central de uma reta que cruza os centros. Estas funções são bastante utilizadas em aplicações como inspeções dimensionais de peças, sendo, muitas vezes, fundamentais para a solução do problema (NATIONAL INSTRUMENTS, 2009; JARVIS, 2009). Observe que não é estritamente necessário que os parâmetros dos círculos tenham sido determinados pelo processamento de imagens. O usuário poderia tê-los medido manualmente. Isso faz desta tarefa um processamento de informação, não mais processamento de imagem. Análise da Forma do Objeto Pode-se extrair diversas informações úteis da região de um determinado objeto. Alguns exemplos são: tamanho do objeto, centro de massa e eixos principais (GONZALEZ; WOODS, 1992). Estas informações são úteis tanto para tarefas de controle, por exemplo para determinar se um robô está com o braço manipulador corretamente posicionado, quanto para classificação, por exemplo reconhecer determinado tipo de peça. Em (LONCARIC, 1998; HARALICK; STERNBERG; ZHUANG, 2009) são apresentadas algumas revisões sobre análises de forma de objetos. Decodificação de Código de Barras Um determinado código de barras pode ser detectado (inclui ser localizado e o mapa de intensidades extraído) em uma etapa anterior de processamento de imagens (YOUSSEF; SALEM, 2007). Depois de retirado da imagem e transformado em um código binário ele pode ser decodificado para que a informação presente nele seja utilizada. Logo, a decodificação é um processamento posterior, cuja entrada é um código binário (1D ou 2D) e a saída é uma mensagem alfanumérica. Estimação de Posição e Medição 3D As informações de posição 2D na imagem podem ser mapeadas em posições 3D caso o ponto de observação da câmera, bem como os parâmetros de projeção da câmera, sejam conhecidos. Para auxiliar na detecção dos pontos 2D, ainda na etapa anterior de extração de informação, iluminação estruturada pode ser utilizada (VALKENBURG; MCIVOR, 1998; JARVIS, 2009). Após a detecção da luz estruturada no espaço 2D, as informações podem ser convertidas na posição 3D do objeto. Esta etapa de conversão é puramente uma manipulação da informação (JARVIS, 2009). Posteriormente, esta informação pode ser utilizada para, por exemplo, controle de movimento de robôs. Reconstrução de Objetos 3D Para reconstrução da forma 3D do objeto são necessários diversos pontos 3D de informação sobre a superfície do objeto. Preferencialmente, estes pontos podem estar com sua posição 3D 37 já estimada, usando os métodos mencionados anteriormente. Na reconstrução 3D, é calculada a forma matemática da superfície do objeto, a partir de diversos pontos coletados (VALKENBURG; MCIVOR, 1998). (a) Análises e Inferências Geométricas (b) Análise da Forma do Objeto (c) Reconstrução de Objetos 3D Figura 15: Exemplos de Processamento da Informação Fonte: Autoria própria e (NATIONAL INSTRUMENTS, 2009). 3.3.2 Classificação e Detecção Para classificação, utiliza-se um conjunto de informações extraídas da imagem. Estas informações são de um determinado objeto ainda desconhecido. Normalmente, elas estão na forma de parâmetros, os quais são comparados com conjuntos de parâmetros pertencentes a objetos conhecidos. Logo, se o novo objeto for similar a objetos conhecidos ele pode ser classificado como pertencendo à alguma das classe de objetos. Assim, o objeto é classificado (GONZALEZ; WOODS, 1992). Exemplos comuns de classificação em visão de máquina são: reconhecimento de caracteres óticos (OCR) (MORI; SUEN; YAMAMOTO, 2002), classificação de formas e classificação de texturas (HARALICK; SHANMUGAM; DINSTEIN, 1973). 38 4 APLICAÇÕES DE SISTEMAS DE VISÃO NA AUTOMAÇÃO Os sistemas de visão de máquina estão cada vez mais presentes na automação industrial. Novos usos, novas ideias e novas aplicações têm surgido a cada dia. Neste capítulo serão vistas algumas das aplicações em que o uso de sistemas de visão de máquina tem sido bem sucedido. Outras revisões sobre aplicações em sistemas de visão podem ser encontradas em (MALAMAS et al., 2003; GOLNABI; ASADPOUR, 2007). Serão vistas quatro classes de aplicações: a inspeção visual automática, a identificação de peças, partes e conjuntos, o controle de processos industriais e de células industriais, e por último o controle e direcionamento robótico. 4.1 INSPEÇÃO VISUAL AUTOMÁTICA Nesta aplicação o sistema de visão é utilizado para inspeção em controle de qualidade. O objetivo é garantir que a peça ou produto produzido seja inspecionado automaticamente. O sistema substitui o ser humano na tarefa de inspeção. A grande vantagem do uso de sistemas de visão é a velocidade com que a inspeção pode ser realizada. Contudo, a precisão é, geralmente, menor que a inspeção convencional, feita por um operador usando um paquímetro, por exemplo (GROOVER, 2008). Além disso, as medições são transferidas eletronicamente para o controle central da produção, a qual é, normalmente, automatizada. No controle central da produção não apenas a medida da qualidade das peças pode ser armazenada, mas a própria verificação da funcionamento do processo produtivo pode ser estimada a partir do comportamento estatístico das medidas das peças inspecionadas, realizando, assim, o controle do processo industrial, que é outra aplicação que será vista mais a frente (CHIANG; RUSSELL; BRAATZ, 2001). A inspeção visual automática já é uma realidade em diversas indústrias. Em (HARDIN, 2009, 2010b) são mostrados alguns exemplos de inspeção de tubos metálicos. Em (ROMERO; AROCA, 2010) são verificadas lâminas de madeira, e em (KUMAR, 2008; TANTASWADI et 39 al., 1999), a qualidade de tecidos é inspecionada. Uma das aplicações mais conhecidas é a verificação de qualidade de material impresso (STEGER; WIEDEMANN; ULRICH, 2008), principalmente, placas de circuito impresso (WU; WANG; LIU, 1996). Em (STEGER; WIEDEMANN; ULRICH, 2008) e (NATIONAL INSTRUMENTS, 2009) exemplos de inspeção dimensional são mostrados. Em (LIAO; WU; BAINES, 1999) é apresentado uma modificação de uma máquina de medição por coordenadas (GROOVER, 2008) que utiliza visão de máquina em vez de toque, para medição. Outras aplicações vão desde a inspeção de qualidade de lentes (WILSON, 2010d), até a inspeção de superfícies (STEGER; WIEDEMANN; ULRICH, 2008) e rugosidade de superfície em peças usinadas para sistemas mecânicos (LEE; TARNG, 2001). A Figura 16 ilustra uma peça mecânica sendo inspecionada. Figura 16: Peça sendo inspecionada. 4.2 IDENTIFICAÇÃO DE PEÇAS A identificação automática de peças na indústria é normalmente feita por etiquetas com códigos de barras ou por dispositivos identificadores por rádio-freqüência (RFID) (GROOVER, 2008). Contudo, é muito comum que, por erros ou trocas, uma peça esteja identificada erroneamente. Imagine, por exemplo, um veículo grande, de um determinado tipo, em uma linha de montagem automatizada, pronto para receber um processamento pesado, ser erroneamente identificado porque os códigos de identificação foram trocados. Ou seja, o produto mencionado na etiqueta não é o produto correto. Este exemplo não é incomum, e diversos acidentes e problemas na produção já ocorreram devido a este tipo de troca (MCFARLANE et al., 2003). Neste sentido, um sistema de visão pode ser utilizado para uma confirmação visual da peça identificada. Neste processo, o sistema busca características visuais da peça que foi previamente identificada com códigos de barras ou com RFID (SARMA; WEIS; ENGELS, 2003). Características como o perfil da peça, saliências, furos, ou cor do material podem ser utilizadas 40 para confirmação por visão de máquina. Se as características visuais não corresponderem com as esperadas, o sistema irá avisar sobre um possível erro. Nesta mesma classe de aplicação encontra-se a aquisição e decodificação de código de barras (unidimensional e bidimensional) usando câmeras (YOUSSEF; SALEM, 2007) e a identificação automática da peça sem a ajuda de etiquetas de informação (sem códigos de barras ou RFID). Esta segunda classe de aplicação ainda é experimental, mas tem potencial de uso na indústria. Aplicações deste tipo são encontradas em (WILSON, 2010e; YACHIDA; TSUJI, 1977), onde peças manufaturadas são identificadas para que um braço robótico as manipule da forma mais apropriada. Em (STEGER; WIEDEMANN; ULRICH, 2008), o tipo de tecido é identificado. Em (BRUCKNER et al., 2010), o tipo de grão de cereal é identificado, buscando separar impurezas e grãos de diferentes qualidades, para atender diferentes exigências de mercado. 4.3 CONTROLE DE PROCESSOS E DE CÉLULAS INDUSTRIAIS Nesta aplicação, o sistema de visão é utilizado como realimentação de informação para um processo industrial, uma linha de fabricação ou uma célula de manufatura (GROOVER, 2008) que está sendo controlada. Existem diversas informações que podem ser fornecidas ao sistema de controle, tanto informações sobre o produto (obtidos por inspeção visual) quanto informações sobre o processo em si, como estado operacional das máquinas, posicionamento de robôs, e até a presença de pessoas em áreas de risco. Em células de manufatura ou em linhas de fabricação, o sistema de visão estará realimentando o controle com informações mais gerais ao funcionamento do sistema. Estas informações são referentes à movimentação de materiais, situação dos processos dentro da célula, i.e. câmera X detectou máquina Y com a porta aberta, ou até referente à presença de elementos estranhos à célula, i.e. presença de pessoas próximas ao braço robótico. Em (HARDIN, 2010a; WILSON, 2010j, 2010a) são apresentados exemplos de controle de células de montagem. Tanto para posicionamento adequado em montagem robótica quanto para verificação de conjuntos previamente montados. A Figura 17 mostra uma célula de manufatura automatizada com um robô central. Existem diversas informações úteis sobre o estado operacional da célula que podem ser extraídas desta imagem, como por exemplo: a presença de pessoas dentro da célula, o estado das portas das máquinas, a presença de material bruto a disposição para início de fabricação entre outras coisas. Em processos industriais, o sistema de visão estará realimentado o controle do processo 41 Figura 17: Exemplos de célula de manufatura automatizada. Fonte: Website da Haas (www.haascnc.com). com informações específicas do funcionamento dos componentes do processo. Exemplos de controle de processos mecânicos são apresentados em (KURADA; BRADLEY, 1997; STEGER; WIEDEMANN; ULRICH, 2008). Nestes casos, ferramentas de corte são periodicamente verificadas, onde o sistema avisa sobre a necessidade de troca da ferramenta de corte, tanto em usinagem de metais (KURADA; BRADLEY, 1997) quanto para corte de madeira (STEGER; WIEDEMANN; ULRICH, 2008). Em (WILSON, 2009c, 2010c, 2010f) são mostrados exemplos do uso de sistema de visão para processamento de alimentos, como na automação de cortes de animais e derivados. A fabricação de circuitos integrados (RAO, 1996) é um dos exemplos onde os sistemas de visão são empregados desde os anos 80. Em (STEGER; WIEDEMANN; ULRICH, 2008) é detalhado um algoritmo para definir a posição de corte dos componentes semicondutores fabricados nos discos (wafer) de silício (STEGER; WIEDEMANN; ULRICH, 2008). O objetivo não é verificar a qualidade do produto, e sim definir posição de corte que será repassada ao controle do processo industrial. 42 4.4 CONTROLE E DIRECIONAMENTO ROBÓTICO Esta categoria é similar ao controle de processos e células, contudo os sistemas robóticos tem algumas características peculiares. Entre elas, o fato que a câmera está se movendo em conjunto com o sistema robótico. Nesta aplicação tem-se duas classes: 1) a coordenação de braços robóticos industriais, os quais operam em condições previsíveis e geralmente tem base fixa, e 2) controle de sistemas robóticos móveis, o qual não tem posição ou base fixa. Exemplos de aplicação em controle de braços robóticos fixos são encontrados em (TRIVEDI; CHEN; MARAPANE, 1989; WILSON, 2009b). Em (WILSON, 2010e, 2010h), tem-se exemplos do uso de visão para controle de posição de braços robóticos de montagem. A Figura 18 ilustra um exemplo de um braço robótico cujo direcionamento é definido por um sistema de visão de máquina. Figura 18: Exemplos de braço robótico controlado por um sistema de visão. Fonte: robotics.youngester.com Já na aplicação de robótica móvel tem-se (WOLF; BURGARD; BURKHARDT, 2002), onde o sistema de visão é utilizado para localização do robô móvel. Outras aplicações nãoindustriais relevantes são o controle de reabastecimento de aviões em vôo (WILSON, 2010g) e sistema de controle auxiliar para veículos guiados por cegos (WILSON, 2010i). 43 5 CONCLUSÕES Conclui-se este trabalho com a observação que visão de máquina está atingindo sua “maturidade”, principalmente com respeito à automação industrial. Isso é observado através da variedade de hardwares disponíveis, bem como pela quantidade de fabricantes no mercado, conforme visto no Capítulo 2. Além disso, a variedade de softwares de desenvolvimento, com diferentes níveis de conhecimento e de flexibilidade, confirmam esta conclusão. Nota-se também, que os custos e o acesso aos sistemas é compatível com os demais sistemas de automação, fazendo com que os sistemas de visão não sejam mais um investimento caro e de risco para a indústria. Assim, tem-se que a visão de máquina já é uma realidade na indústria. Diversas indústrias já incorporaram os sistemas de visão às suas aplicações. Em destaque, tem-se a inspeção visual automática, a identificação de peças, o controle de processos industriais e o direcionamento robótico, conforme comentado no Capítulo 4. Além disso, novas ideias e novas aplicações na indústria surgem a cada dia, com grande potencial de crescimento. Desta forma, o ensino da automação industrial, e áreas afins, deve aproveitar este conhecimento e integrá-lo ao seu currículo. Isso pode aumentar o potencial da automação no aperfeiçoamento dos processos industriais. Mais do que um tópico avançado, logo os sistemas de visão serão vistos como um tópico regular dentro do ensino da automação industrial. Apesar disso, ainda existem desafios e problemas em aberto. Isso significa potencial de pesquisa, tanto para novos métodos quanto para novas aplicações. O Capítulo 3 mostra alguns métodos, nas tarefas de processamento de imagem, que são utilizados atualmente. Contudo, ainda existe muito a ser aperfeiçoado nesta direção. O potencial de pesquisa nesta área pode abranger tanto temas mais simples, voltados à iniciação científica, quanto assuntos mais profundos, direcionado às pesquisas de mestrado e doutorado. Finalmente, este texto termina com a mensagem de que o Brasil precisa investir mais neste ponto como forma de fortalecer sua indústria. Pode-se dizer que este é um bom momento para isso. 44 REFERÊNCIAS BLEAU, A.; LEON, L. Watershed-based segmentation and region merging. Computer Vision and Image Understanding, Elsevier, v. 77, n. 3, p. 317–370, mar. 2000. BOUMAN, C.; SHAPIRO, M. A multiscale random field model for Bayesian image segmentation. IEEE Transactions on Image Processing, v. 3, n. 2, p. 162–177, mar. 1994. BOVIK, A. (Ed.). Handbook of Image and Video Processing. [S.l.]: Academic Press, 2000. BRANICKY, M.; BORKAR, V.; MITTER, S. A unified framework for hybrid control: Model and optimal control theory. Automatic Control, IEEE Transactions on, IEEE, v. 43, n. 1, p. 31–45, jan. 1998. ISSN 0018-9286. BRUCKNER, P. et al. Measuring wheat quality. Vision Systems Design, v. 15, n. 6, p. 17–22, jun. 2010. BUADES, A.; COLL, B.; MOREL, J. A review of image denoising algorithms, with a new one. Multiscale Modeling and Simulation, v. 4, n. 2, p. 490–530, 2005. CARLOTTO, M. Histogram analysis using a scale-space approach. Pattern Analysis and Machine Intelligence, IEEE Transactions on, IEEE, n. 1, p. 121–129, 2009. ISSN 0162-8828. CHENG, H. et al. Color image segmentation: advances and prospects. Pattern Recognition, Elsevier, v. 34, n. 12, p. 2259–2281, 2001. CHERNOV, N. Circular and Linear Regression: Fitting Circles and Lines by Least Squares. [S.l.]: CRC Press, 2010. 286 p. CHIANG, L.; RUSSELL, E.; BRAATZ, R. Fault detection and diagnosis in industrial systems. [S.l.]: Springer Verlag, 2001. ISBN 1852333278. COMPUTAR LENSES. Technical Guide for Lenses. [S.l.], 2008. Acesso em out/2010. Disponível em: <www.computarganz.com>. CONCI, A.; PROENCA, C. B. A fractal image analysis system for fabric inspection based on a box-counting method. Computer Networks and ISDN Systems, v. 30, n. 20-21, p. 1887 – 1895, nov. 1998. ISSN 0169-7552. EDMUND OPTICS. Aplication Notes on Electronics. [S.l.], 2009. Acesso em out/2010. Disponível em: <www.edmundoptics.com>. EDMUND OPTICS. Choose the Correct Illumination. [S.l.], mar. 2009. Acesso em out/2010. Disponível em: <www.edmundoptics.com>. EDMUND OPTICS. Optics Made Easy Guide. [S.l.], mar. 2009. Acesso em out/2010. Disponível em: <www.edmundoptics.com>. 45 FREEMAN, H. (Ed.). Machine Vision for Inspection and Measurement. [S.l.]: Academic Press, 1989. GAMAL, A. E.; ELTOUKHY, H. CMOS image sensors. IEEE Circuits and Devices Magazine, v. 21, n. 3, p. 6–20, maio 2005. GARCIA, C.; PRETT, D.; MORARI, M. Model predictive control: Theory and practice–A survey* 1. Automatica, Elsevier, v. 25, n. 3, p. 335–348, 1989. ISSN 0005-1098. GEIGER, D.; YUILLE, A. A common framework for image segmentation. International Journal of Computer Vision, Springer, v. 6, n. 3, p. 227–243, 1991. GEORGINI, M. Automação Aplicada: descrição e implementação dos sistemas sequenciais com PLC’s. [S.l.]: Editora Érica, 2003. GOLNABI, H.; ASADPOUR, A. Design and application of industrial machine vision systems. Robotics and Computer-Integrated Manufacturing, Elsevier, v. 23, n. 6, p. 630–637, 2007. ISSN 0736-5845. GONZALEZ, R. C.; WOODS, R. E. Digital Image Processing. [S.l.]: Addison-Wesley, 1992. GROOVER, M. P. Automation, Production Systems, and Computer-Integrated Manufacturing. third. [S.l.]: Prentice Hall, 2008. HARALICK, R.; SHANMUGAM, K.; DINSTEIN, I. Textural features for image classification. IEEE Transactions on systems, man and cybernetics, v. 3, n. 6, p. 610–621, 1973. ISSN 0018-9472. HARALICK, R.; STERNBERG, S.; ZHUANG, X. Image analysis using mathematical morphology. Pattern Analysis and Machine Intelligence, IEEE Transactions on, IEEE, n. 4, p. 532–550, 2009. ISSN 0162-8828. HARDIN, W. Cylinder challenge. Vision Systems Design, v. 14, n. 12, p. 21–24, dez. 2009. HARDIN, W. Assembly required. Vision Systems Design, v. 15, n. 1, p. 17–21, jan. 2010. HARDIN, W. Defect avoidance. Vision Systems Design, v. 15, n. 6, p. 13–16, jun. 2010. HOLLOWS, G.; SINGER, S. W. Specifying lenses for megapixel cameras. Vision Systems Design, v. 14, n. 11, p. D3–D6, nov. 2009. JARVIS, R. A perspective on range finding techniques for computer vision. Pattern Analysis and Machine Intelligence, IEEE Transactions on, IEEE, n. 2, p. 122–139, 2009. ISSN 01628828. KASS, M.; WITKIN, A.; TERZOPOULOS, D. Snakes: Active contour models. International journal of computer vision, Springer, v. 1, n. 4, p. 321–331, 1988. KLINGER, T. Image processing with LabVIEW and IMAQ Vision. [S.l.]: Prentice Hall, 2003. KUMAR, A. Computer-vision-based fabric defect detection: A survey. Industrial Electronics, IEEE Transactions on, IEEE, v. 55, n. 1, p. 348–363, jan. 2008. ISSN 0278-0046. 46 KURADA, S.; BRADLEY, C. A review of machine vision sensors for tool condition monitoring. Computers in Industry, Elsevier, v. 34, n. 1, p. 55–72, 1997. ISSN 0166-3615. LAVALLE, S.; HUTCHINSON, S. A Bayesian segmentation methodology for parametric image models. Pattern Analysis and Machine Intelligence, IEEE Transactions on, IEEE, v. 17, n. 2, p. 211–217, fev. 1995. LEE, B.; TARNG, Y. Surface roughness inspection by computer vision in turning operations. International Journal of Machine Tools and Manufacture, Elsevier, v. 41, n. 9, p. 1251– 1263, 2001. ISSN 0890-6955. LIAO, J.; WU, M.; BAINES, R. A coordinate measuring machine vision system. Computers in industry, Elsevier, v. 38, n. 3, p. 239–248, abr. 1999. ISSN 0166-3615. LIPPINCOTT, D. Thinking inside the box: Boosting the effectiveness of air cooling. Military Embedded Systems, maio 2008. LITWILLER, D. CCD vs. CMOS: Facts and fiction. Photonics Spectra, p. 154–158, 2001. LONCARIC, S. A survey of shape analysis techniques. Pattern recognition, Elsevier, v. 31, n. 8, p. 983–1001, 1998. ISSN 0031-3203. MALAMAS, E. et al. A survey on industrial vision systems, applications and tools. Image and Vision Computing, Elsevier, v. 21, n. 2, p. 171–188, 2003. ISSN 0262-8856. MCFARLANE, D. et al. Auto ID systems and intelligent manufacturing control. Engineering Applications of Artificial Intelligence, Elsevier, v. 16, n. 4, p. 365–376, 2003. ISSN 09521976. MORAES, C. C. de. Engenharia de Automação Industrial. 2. ed. [S.l.]: LTC, 2007. MORI, S.; SUEN, C.; YAMAMOTO, K. Historical review of OCR research and development. Proceedings of the IEEE, IEEE, v. 80, n. 7, p. 1029–1058, 2002. ISSN 0018-9219. MOULIN, P.; KRISHNAMURTHY, R.; WOODS, J. Multiscale modeling and estimation of motion fields for video coding. IEEE Transactions on Image Processing, v. 6, p. 12, 1997. MYRONENKO, A.; SONG, X. Global active contour-based image segmentation via probability alignment. In: IEEE. Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on. [S.l.], 2009. p. 2798–2804. NATIONAL INSTRUMENTS. PAC’s for Industrial Control, the Future of Control. [S.l.], jul. 2007. Acesso em jun/2010. Disponível em: <www.ni.com>. NATIONAL INSTRUMENTS. N Vision Builder for Automated Inspection Tutorial. [S.l.], ago. 2009. Acesso em jun/2010. Disponível em: <www.ni.com>. PARK, S. C.; PARK, M. K.; KANG, M. G. Super-resolution image reconstruction: a technical overview. IEEE Signal Processing Magazine, v. 20, n. 3, p. 21–36, maio 2003. POHL, C.; GENDEREN, J. V. Review article Multisensor image fusion in remote sensing: concepts, methods and applications. International journal of remote sensing, Taylor & Francis, v. 19, n. 5, p. 823–854, mar. 1998. 47 RAO, A. Future directions in industrial machine vision: a case study of semiconductor manufacturing applications. Image and Vision Computing, Elsevier, v. 14, n. 1, p. 3–19, 1996. ISSN 0262-8856. ROMERO, C. M.; AROCA, J. C. Finding faults. Vision Systems Design, v. 15, n. 7, p. 13–15, jul. 2010. ROSÁRIO, J. M. Princípios de Mecatrônica. [S.l.]: Prentice Hall, 2005. SARMA, S.; WEIS, S.; ENGELS, D. RFID systems and security and privacy implications. Cryptographic Hardware and Embedded Systems-CHES 2002, Springer, p. 1–19, 2003. SHAFARENKO, L.; PETROU, H.; KITTLER, J. Histogram-based segmentation in a perceptually uniform color space. Image Processing, IEEE Transactions on, IEEE, v. 7, n. 9, p. 1354–1358, set. 1998. SIEMENS. SIMATIC IPC: The More Industrial PC. [S.l.], abr. 2010. Disponível em: <www.automation.siemens.com>. STATHAKI, T. Image fusion: algorithms and applications. [S.l.]: Academic Press, 2008. STEGER, C.; WIEDEMANN, C.; ULRICH, M. Machine Vision Algorithms and Applications. [S.l.]: Wiley-VCH, 2008. 370 p. TANTASWADI, P. et al. Machine vision for automated visual inspection of cotton quality in textile industries using color isodiscrimination contour. Computers & industrial engineering, Elsevier, v. 37, n. 1-2, p. 347–350, 1999. ISSN 0360-8352. TEH, C.; CHIN, R. On image analysis by the methods of moments. Pattern Analysis and Machine Intelligence, IEEE Transactions on, IEEE, v. 10, n. 4, p. 496–513, 2002. ISSN 0162-8828. TRIVEDI, M.; CHEN, C.; MARAPANE, S. A vision system for robotic inspection and manipulation. COMPUTER,, Published by the IEEE Computer Society, v. 22, n. 6, p. 91–97, jun. 1989. ISSN 0018-9162. VALKENBURG, R.; MCIVOR, A. Accurate 3D measurement using a structured light system. Image and Vision Computing, Elsevier, v. 16, n. 2, p. 99–110, 1998. WILSON, A. Match game. Vision Systems Design, v. 14, n. 12, p. 25–28, dez. 2009. WILSON, A. Robot guidance. Vision Systems Design, v. 14, n. 11, p. 13–14,75–79, nov. 2009. WILSON, A. Vision system speeds egg crack detection. Vision Systems Design, v. 14, n. 12, p. 9–10, dez. 2009. WILSON, A. Automating assemblies. Vision Systems Design, v. 15, n. 4, p. 14–17, abr. 2010. WILSON, A. Facing interfaces. Vision Systems Design, v. 15, n. 01, p. 25–28, jan. 2010. WILSON, A. Laser triangulation system measures food products. Vision Systems Design, v. 15, n. 1, p. 9–10, jan. 2010. 48 WILSON, A. Lens test system uses dual USB cameras. Vision Systems Design, v. 15, n. 7, p. 5–6, jul. 2010. WILSON, A. Plumbing parts assembly. Vision Systems Design, v. 15, n. 10, p. 27–30, out. 2010. WILSON, A. Pork process. Vision Systems Design, v. 15, n. 3, p. 13–14, mar. 2010. WILSON, A. Robots and vision refuel jet aircraft. Vision Systems Design, v. 15, n. 9, p. 18, set. 2010. WILSON, A. Simplifying automotive assembly. Vision Systems Design, v. 15, n. 5, p. 19–23, maio 2010. WILSON, A. smart car lets the blind drive. Vision Systems Design, v. 15, n. 10, p. 19–20, out. 2010. WILSON, A. Smart vision sensor checks car roof clips. Vision Systems Design, v. 15, n. 4, p. 9–10, abr. 2010. WOLF, J.; BURGARD, W.; BURKHARDT, H. Robust vision-based localization for mobile robots using an image retrieval system based on invariant features. In: IEEE. Robotics and Automation, 2002. [S.l.], 2002. v. 1, p. 359–365. ISBN 0780372727. WU, W.-Y.; WANG, M.-J. J.; LIU, C.-M. Automated inspection of printed circuit boards through machine vision. Computers in Industry, v. 28, n. 2, p. 103–111, maio 1996. YACHIDA, M.; TSUJI, S. A versatile machine vision system for complex industrial parts. IEEE Transactions on Computers, IEEE, p. 882–894, 1977. ISSN 0018-9340. YOUSSEF, S.; SALEM, R. Automated barcode recognition for smart identification and inspection automation. Expert Systems with Applications, Elsevier, v. 33, n. 4, p. 968–977, 2007. ISSN 0957-4174. ZIBETTI, M. V. W. Super-Resolução Simultânea para Seqüência de Imagens. Tese (Doutorado) — Universidade Federal de Santa Catarina, maio 2007.