Visão computacional no reconhecimento de formas e objetos



Documentos relacionados
SCANNER DE TRIANGULAÇÃO LASER PARA PROTOTIPAGEM 3D

Introdução à Computação

Detecção e Rastreamento de Objetos coloridos em vídeo utilizando o OpenCV

15 Computador, projeto e manufatura

Sistema de Contagem, Identificação e Monitoramento Automático de Rotas de Veículos baseado em Visão Computacional

Funções de Posicionamento para Controle de Eixos

Universidade Federal de Pernambuco

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

Rodrigo Baleeiro Silva Engenheiro de Controle e Automação. Introdução à Engenharia de Controle e Automação

TÍTULO: PROGRAMAÇÃO DE CLP PARA UMA MÁQUINA DE SECÇÃO SEGMENTOS ORGÂNICOS

IW10. Rev.: 02. Especificações Técnicas

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

Fundamentos de Automação

O Laboratório de Garagem

Engenharia de Sistemas Computacionais

Projeto de controle e Automação de Antena

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Módulo de captura de imagens do sistema Scisoccer

5 Sistema Experimental

FACULDADE PITÁGORAS DISCIPLINA: ARQUITETURA DE COMPUTADORES

Fundamentos da Computação Móvel

36 Anais da Semana de Ciência e Tecnologia, Ouro Preto, v. 4, p , 2012.

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

Sphinx Scanner Informações gerais V

1.1. Organização de um Sistema Computacional

Utilização da Planilha de Análise de Decisão

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

MÓDULO 8 ARQUITETURA DOS SISTEMAS DE BANCO DE DADOS

Introdução ao GED Simone de Abreu

Cálculo de volume de objetos utilizando câmeras RGB-D

CONTROLADOR LÓGICO PROGRAMAVEL

UNIVERSIDADE FEDERAL DE PERNAMBUCO - PRÓ-REITORIA PARA ASSUNTOS ACADÊMICOS CURRÍCULO DO CURSO DE GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO PERFIL

Quadro de consulta (solicitação do mestre)

Implementação de um módulo simulador de robôs baseado em Unity3D para o SimBot - Simulador de Robôs para Lego NXT.

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

O que são sistemas supervisórios?

WHITEPAPER. Guia de compra para câmeras IP: tudo o que você precisa saber antes de adquirir a sua solução digital

Protocolo em Rampa Manual de Referência Rápida

BIOSYS: sistema de captura e armazenamento de imagens para exames oftalmológicos em biomicroscópios - Fase 1 1

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Desenvolvimento de um Simulador de Gerenciamento de Memória

AUTOMAÇÃO INDUSTRIAL INTRODUÇÃO A ROBÓTICA

APLICAÇÕES INDUSTRIAIS DE ROBÔS

Reconhecimento de Dados Biométricos em Larga Escala

Organização e Arquitetura de Computadores I. de Computadores

Fundamentos de Sistemas de Informação Sistemas de Informação

A Grande Importância da Mineração de Dados nas Organizações

FLUXO DE CAIXA: Módulo BI (Business Intelligence)

Desenvolvimento do Módulo de Pré-processamento e Geração de Imagens de. Imagens de Teste do Sistema DTCOURO

Introdução à COLETA DE DADOS. Rodrigo Peters Berchielli Especificações técnicas. BICDATA Coleta de dados e Automação

IMPLANTAÇÃO DE UM SISTEMA DE AVALIAÇÃO DE DESEMPENHO NA UFG

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

APLICAÇÃO PARA ANÁLISE GRÁFICA DE EXERCÍCIO FÍSICO A PARTIR DA PLATAFORMA ARDUINO

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

ENQUALAB 2013 QUALIDADE & CONFIABILIDADE NA METROLOGIA AUTOMOTIVA. Elaboração em planos de Calibração Interna na Indústria Automotiva

Engenharia de Software: conceitos e aplicações. Prof. Tiago Eugenio de Melo, MSc tiagodemelo@gmail.com

PROPOSTA DE UM MODELO DE SISTEMA HIPERMÍDIA PARA APRESENTAÇÃO DO CURSO DE CIÊNCIA DA COMPUTAÇÃO

SISTEMAS INTEGRADOS DE GESTÃO PAS 99:2006. Especificação de requisitos comuns de sistemas de gestão como estrutura para a integração

ISO/IEC 12207: Gerência de Configuração

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

UniRitter tecnológica: integrando Engenharias para desenvolvimento de um robô humanoide

Memórias Prof. Galvez Gonçalves

Automação de Locais Distantes

MUDANÇAS NA ISO 9001: A VERSÃO 2015

O que é a ciência de dados (data science). Discussão do conceito. Luís Borges Gouveia Universidade Fernando Pessoa Versão 1.

Título: Controle de um sistema Bola- Barra com realimentação através de imagem

CURSO DE GRADUAÇÃO TECNOLÓGICA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS. RECONHECIDO conforme PORTARIA nº 295, de 25 de Junho de 2008.

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3

CAPACITAÇÃO EM NOVAS TECNOLOGIAS: Um desafio constante. (A Mecatrônica como exemplo do estado da arte)

TÍTULO: GARRA ROBÓTICA PERCEPTIVA CATEGORIA: CONCLUÍDO ÁREA: CIÊNCIAS EXATAS E DA TERRA SUBÁREA: COMPUTAÇÃO E INFORMÁTICA

CONCURSO PÚBLICO ANALISTA DE SISTEMA ÊNFASE GOVERNANÇA DE TI ANALISTA DE GESTÃO RESPOSTAS ESPERADAS PRELIMINARES

Programação para Computação

LÓGICA DE PROGRAMAÇÃO

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente

Avaliação de Processos Produtivos - APP

Disciplina: Introdução à Informática Profª Érica Barcelos

ULA Sinais de Controle enviados pela UC

José Benedito Lopes Junior ¹, Marcello Erick Bonfim 2

Uma Arquitetura Distribuída de Hardware e Software para Controle de um Robô Móvel Autônomo

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

FUNDAMENTOS DE HARDWARE COMO FUNCIONA UM PC? Professor Carlos Muniz

Computador Digital Circuitos de um computador (Hardware)

Universidade Anhanguera Uniderp Centro de Educação a Distância

7.Conclusão e Trabalhos Futuros

Protocolo de comunicação para redes móveis aplicado ao trânsito

Da Prancheta ao Computador...

XIX CONGRESSO DE PÓS-GRADUAÇÃO DA UFLA 27 de setembro a 01 de outubro de 2010

Sistema de Leitura da Porta de Mouse do PC

Gerenciamento de software como ativo de automação industrial

IMPLEMENTAÇÃO DAS CAMADAS Inference Machine e Message Service Element PARA UM SERVIDOR DE SISTEMA DE GERENCIAMENTO DE Workflow HOSPITALAR

Manual de implantação

Comunicado à Imprensa

Desenvolvendo uma Arquitetura de Componentes Orientada a Serviço SCA

DESENVOLVIMENTO DE INTERFACE WEB MULTIUSUÁRIO PARA SISTEMA DE GERAÇÃO AUTOMÁTICA DE QUADROS DE HORÁRIOS ESCOLARES. Trabalho de Graduação

TRABALHO DE DIPLOMAÇÃO Regime Modular ORIENTAÇÕES SOBRE O ROTEIRO DO PROJETO FINAL DE SISTEMAS DE INFORMAÇÕES

Transcrição:

Visão computacional no reconhecimento de formas e objetos Paula Rayane Mota Costa Pereira*, Josemar Rodrigues de Souza**, Resumo * Bolsista de Iniciação Científica da Faculdade de Tecnologia SENAI CIMATEC, paula.motac@gmail.com. ** Ph.D. em Informática, Orientador de Iniciação Científica da Faculdade de Tecnologia SENAI CIMATEC, josemarsbr@gmail.com. O desenvolvimento de ferramentas computacionais para resolver problemas na gestão da produção, automação e controle de processos está se tornando uma necessidade real no ambiente industrial. Neste contexto, sistemas de visão computacional têm proporcionado uma larga contribuição em muitas etapas do ciclo produtivo de um produto, como a orientação do movimento de um robô, a automação de tarefas específicas em plantas de fabricação e controle de qualidade. O presente artigo apresenta uma visão geral da utilização da visão computacional em sistemas produtivos, traz algumas técnicas e ferramentas empregadas para esta atividade e apresenta um modelo de robô construído e utilizado na LARC (Latin American Robotics Competition) que tinha como principal sistema de aquisição e processamento de dados a visão computacional. Alguns aspectos relevantes, como reconhecimento de padrões, principalmente, serão apresentados e discutidos. Palavras-chave: Visão Computacional, Robótica Inteligente, Processamento de Imagem. 1. Introdução Os novos sistemas de visão computacional têm sido utilizados com sucesso, juntamente as inúmeras técnicas de processamento de imagem desenvolvidas por especialistas para as mais variadas aplicações, já que um problema aplicado a visão computacional é sempre distinto, sendo necessária análise do problema para escolha da técnica mais indicada à aplicação. Atualmente diferentes áreas fazem uso da visão computacional, como medicina, astronomia, analise de impressões digitais, reconhecimento de assinaturas, manufatura, robótica autônoma, entre outras. Em um sistema, para um reconhecimento de imagem, deve-se, a partir de uma imagem ou um objeto, extrair informações desta imagem através de algum hardware capaz de obter tais informações, como câmeras (webcam) e sensores (scanner), processar as informações desta imagem utilizando um algoritmo para tal, e, por fim, executar determinada ação dependente dos dados obtidos no processamento da imagem. 1

A Figura 1 mostra a arquitetura lógica de comunicação de dados de uma aplicação da visão computacional utilizando uma câmera e controladores. Figura 1: Representação de uma arquitetura lógica de controle 2. Revisão bibliográfica Devido à crescente automatização dos processos produtivos, busca-se proporcionar aos sistemas computacionais e de robótica capacidade de tornar automática a execução de tarefas complexas. No atual estágio de desenvolvimento da indústria brasileira, muitas destas tarefas complexas (que muitas vezes são repetitivas) são realizadas por operadores humanos (ORTH, 1998). Segundo Caetano, a organização de um sistema de visão computacional depende de sua aplicação, assim como a implementação específica deste sistema depende também se sua funcionalidade é pré-especificada ou se existe alguma parte de aprendizagem durante a operação. Algumas aplicações específicas de reconhecimento de formas no ramo da Visão Computacional estão atraindo muitos pesquisadores durante os últimos anos, sobretudo o problema de reconhecimento de faces que conta com a busca do mercado por essas aplicações e à acessibilidade da tecnologia necessária para o seu desenvolvimento. Essas aplicações são principalmente voltadas para a área de segurança, como métodos de identificação pessoal - crachá, carteira de motorista, leitura de impressão digital e íris dos olhos (Reaes, 2006). Outra aplicação muito empregada está no reconhecimento de padrões, que possibilita utilização de sistemas para controle de qualidade, metrologia, entre outros. Segundo Feliciano, Souza e Leta (2005), a Metrologia por imagem consiste no processo automatizado de inspeção/medição, e engloba conceitos de Metrolgia e de Visão Computacional. É a medição sem contato que utiliza algoritmos computacionais. 2

Pode-se destacar, ainda, algumas aplicações industriais neste contexto, como identificação de erros, orientação de robôs, rastreabilidade de materiais em linhas de produção, medição de peças. Além disso, há também técnicas que combinam visão computacional a interferometria laser e uso de máquina de medição por coordenadas para desenvolver sistemas de inspeção. A Figura 2 mostra um diagrama de blocos para exemplificação da aplicação de Visão Computacional na Metrologia. Figura 2: Sistema de Visão Computacional para medição (baseada em Gomes e Velho, 1994) Mesmo com muita tecnologia e pesquisa nesta área, ainda não existem sistemas de reconhecimento de formas tão poderosos quanto a visão humana. Entretanto, o sucesso dos sistemas de visão computacional está nas restrições feitas acerca do universo da análise de imagens. O algoritmo poderá ser mais eficiente quando houver mais restrições, porém este será menos genérico. Por exemplo, um sistema que identifica objetos pretos num chão branco, precisa apenas diferenciar o preto do branco. Algumas restrições são necessárias, desde que o sistema continue funcional e robusto o bastante para sua aplicação. 3. Metodologia Utilizou-se um sistema de visão computacional aplicado a um desafio proposto na Competição de Robótica Latino Americana (LARC), categoria IEEE Open 2010, o qual simulava um centro de distribuição de cargas onde um robô autônomo (sem intervenções humanas no seu controle) deveria atuar na área de logística deste centro, servindo como um manipulador e carregador de cargas (cubos) distintas que estariam distribuídas em determinados lugares. Após localização destas cargas, o 3

robô deveria coletá-las e colocá-las em ordem de cores pré-estabelecidas em outro local. A Figura 3 ilustra o centro de distribuição que o robô deveria atuar, mostrando a forma que as cargas/cubos estariam posicionadas inicialmente e como elas deveriam ser organizadas, respectivamente. A ordem do conjunto de cores da posição inicial era sorteada no inicio de cada prova. Figura 3: Localização dos cubos no inicio da prova e no final, respectivamente. Neste desafio havia inúmeras regras que o robô deveria respeitar. Após testes com algumas arquiteturas e ferramentas para o controle do processo, definiu-se o método para solução deste problema que consistiu num sistema de Visão Computacional, o qual deveria captar informações do ambiente através de uma câmera (webcam) e transmitir os frames captados para a CPU utilizou-se um nettop no robô para tal tarefa. A CPU recebia estes frames, e, através de um algoritmo de processamento de imagem, tratava estas informações e, com base nos dados recebidos, transmitia parâmetros para um microcontrolador, através de uma comunicação serial/usb, que por sua vez estava conectado aos atuadores do robô, como os motores, e executava a ação determinada pelos parâmetros recebidos. A Figura 1 apresenta o diagrama em blocos da comunicação feita para este sistema. O robô contava com sensores Infravermelho para detectar precisamente os objetos durante o seu carregamento e descarregamento. Uma webcam era responsável pela aquisição de imagens da arena. O sistema de movimentação compunha de quatro rodas omnidirecionais, possibilitando ao robô deslocamento em qualquer sentido, conforme a Figura 4. 4

Figura 4: Sistema de deslocamento Para manipular a carga, foi utilizada uma garra em forma de pinça, a qual era controlada por um servo-motor acoplado a uma caixa de redução que tinha como função abrir e fechar a garra. A Figura 5 mostra o robô na sua versão final. 4. Resultados e Discussão Figura 5: Robô Dentre os problemas provenientes deste estilo de competição, a capacidade do robô de enxergar e se situar no ambiente foram os mais desafiadores. Para permitir que o robô tivesse dados suficientes para poder se movimentar, a imagem obtida pela câmera (webcam) era processada em tempo real. A interpretação coerente desta imagem era feita utilizando a biblioteca OpenCV, com a interface em C/C++, que é estável e de boa usabilidade. Esta biblioteca permite a leitura de imagens diretamente da webcam, além de prover funções de tratamento, detecção de bordas e diversos algoritmos de aprendizagem. A imagem recebida da câmera era pré-processada antes de servir de entrada para o modelo de mundo do agente. Este processo envolve o tratamento de imagem em 5

relação à luminosidade, cores, ruídos e cálculo da distorção causada pelo posicionamento da câmera em relação ao centro do robô. Através deste processo realizado, foi possível desenvolver um modelo de mundo que atendia aos requisitos impostos pela competição. A partir dos dados obtidos dos diversos sensores (distância, visão), o robô constrói um modelo simplificado, baseado nos marcadores centrais do campo, assim como certas linhas do campo como pontos para ajuste fino do alinhamento. Ao iniciar uma corrida, o robô identificava sua posição no campo e então marcava a posição de cada cor em relação ao campo. Feito isso, ele iniciava o processo de transporte e armazenamento, mantendo o histórico de quais e quantos objetos já tinham sido transportados. Para evitar que ruídos atrapalhassem na medição, o robô buscava utilizar a base histórica como forma de medir o seu deslocamento e alinhamento com seu objetivo. Para evitar que pequenas variações no posicionamento, a partir de certa distância, o robô ignora o sistema de visão e utiliza apenas os sensores de distancia para efetuar o alinhamento. 5. Conclusões Este trabalho apresentou utilizações de sistemas de visão computacional em variadas áreas, assim como a descrição deste sistema aplicado a um robô autônomo desenvolvido com base nos conceitos apresentados inicialmente. Após a competição, que o robô foi projetado para participar, ele ainda apresentava falta de robustez no seu programa de processamento de imagem devido ao uso da visão como única solução, pois, o problema de auto localização, mapeamento do ambiente, rastreamento e reconhecimento dos objetos e dos limites impostos ao robô, estavam dependentes apenas do sistema de visão tratá-los, quando estas tarefas poderiam ter sido divididas e incumbidas a outros componentes, como sensores de linha, bússola, entre outros. Devido ao fator apresentado e ao curto período de tempo de desenvolvimento deste sistema, não foi possível concluí-lo com êxito para a aplicação que foi projetado. Entretanto, os resultados obtidos foram bastante relevantes para continuação de pesquisas na área de visão computacional e para disponibilização de informações e ferramentas para esta linha de pesquisa. 6. Referencias BRADSKI, G.; KAEHLER, A. - Learning OpenCV: Computer vision with the OpenCV library. O Reilly Media, 2008. 6

CAETANO, A. C. M. (2009) - Visão computacional como possibilidade de interatividade em trabalhos artísticos. Brasília. FELICIANO, F.F.; SOUZA, I.L.; LETA, F.R.; (2005) - Visão computacional aplicada à metrologia dimensional automatizada: considerações sobre sua exatidão. Universidade Federal Fluminense. GOMES, J.; VELHO, L. Computação gráfica: Imagem. IMPA-SBM. 1994. ORTH, A.; (1998) - Desenvolvimento e Implementação de um Sistema de Reconhecimento Automático de Peças Mecânicas em uma Célula Flexível de Manufatura. Projeto RAP. Laboratório de Automação Industrial, UFSC. Congresso da Sociedade Brasileira de Computação, SBC 98. REAES, F.B. (2006) - Reconhecimento de Faces em Imagens: Projeto Beholder. Instituto de Matemática e Estatística. Universidade De São Paulo, Departamento de Ciência da Computação. 7