290 likes | 366 Views
Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja. Pedro Miguel Ferreira de Carvalho (E-mail: carvalho.pedro@fe.up.pt). (URL: http://paginas.fe.up.pt/~ee02196). Dissertação submetida para a obtenção do grau de
E N D
Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja Pedro Miguel Ferreira de Carvalho (E-mail: carvalho.pedro@fe.up.pt) (URL: http://paginas.fe.up.pt/~ee02196) Dissertação submetida para a obtenção do grau de Mestrado Integrado em Engenharia Electrotécnica e de Computadores pela Faculdade de Engenharia da Universidade do Porto Dissertação realizada sob a orientação do Professor Doutor Professor António Paulo Gomes Mendes Moreira E do Professor Doutor Professor Paulo José Cerqueira Gomes da Costa Porto, Março 2008
Resumo Introdução Projecto do Sistema Visão Algoritmo de Identificação do Código de Barras e Seu Posicionamento Algoritmo de Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusões Referências • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Introdução Descrição do Problema Desenvolvido de um sistema rápido e de baixo custo, para detecção de defeitos na colocação dos rótulos em garrafas de cerveja. O sistema deveria ser capaz de em tempo real (menos de 60 ms): • Identificar o código de barras do rótulo; • Verificar do correcto posicionamento do rótulo, detectando desvios horizontais e verticais; • Verificar a impressão da data de validade e do lote de produção; • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Projecto do Sistema Arquitectura do Sistema • Sistema modular com 2 câmaras • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Projecto do Sistema Set-Up do Sistema • Plataforma de Desenvolvimento das Aplicações • Kylix3 sobre distribuição Linux Mandriva 2006 • Servidor de base dados Firebird. • Estrutura Mecânica (14 garrafas/segundo) • Estrutura Electrónica • Câmara FireWire • Modelo DMK31BF03 da ImagingSource(preto e branco com sinal de trigger) • Mecanismo de Iluminação • Estroboscópio • Sensor de detecção de garrafa • Sensor fotoeléctrico da Omron E3F2 • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Projecto do Sistema Mecanismo de Iluminação e de Sincronismo Trigger: O momento de exposição é determinado pela entrada de trigger. A exposição começa 4.8μs depois de ocorrer um pulso de trigger. Uma vez mais o tempo de exposição pode ser ajustado, por software, dentro de uma gama 100μs to 30s. O tempo de leitura da imagem é recíproco ao frame rate da câmara. • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Visão Calibração dos Parâmetros de Transformação Parâmetros de calibração da câmara: • Rotação da câmara em relação ao sistema de coordenadas do mundo (rotX, rotY, rotZ) • Distância focal equivalente (EqDist) • Pontos usados na calibração: • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Visão O valor de EqDist funciona como um factor de escala: • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Visão Transformação das Coordenadas de Imagem em Coordenadas do Mundo uvz2xy: • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Visão Efeito de perspectiva projecção Transformação das Coordenadas do Mundo em Coordenadas da Imagem xyz2uv: • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Identificação do Código de Barras e seu Posicionamento Tipos de Códigos de Barras Utilizados • Características: • Os dígitos são representados por 7 bits constituídos por 2 barras e 2 espaços. Nenhuma barra ou espaço pode ser maior que 4 bits. • Todos os dígitos da Left-Hand começam com um 0 (espaço branco) enquanto que os da Righ-Hand começam sempre com 1 (barra preta). • EAN8 • EAN13 • Dados relevantes: • têm sempre o mesmo número de transições • têm sempre o mesmo número de bits • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Identificação do Código de Barras e seu Posicionamento Processamento de Imagem • Várias linhas de pesquisa com diferentes parâmetros de reconhecimento. • Combinação da informação resultante das diversa linhas de pesquisa A classificação dos pontos de interesse ao longo da linha consiste em percorrer todos os pixeis e classificando-os em três níveis (ou dois niveis). • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Identificação do Código de Barras e seu Posicionamento Valor Threshold dinâmico: • Diferente para cada linha de pesquisa • Diferente ao longo da linha de pesquisa • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Identificação do Código de Barras e seu Posicionamento Localização do Código de Barras • Identificação do preâmbulo inicial (número de pixeis brancos consecutivos) • Detectar o número de transições até se encontrar o preâmbulo final. • Verificar de que tipo de códigos de barras foi identificado. • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Identificação do Código de Barras e seu Posicionamento Descodificação do Código Barras • Associar a cada barra preta ou espaço em branco o número de bits que representam • Determinar os dígitos que compõem o código de barras recorrendo às tabelas de codificação • Verificar o Checksum Digit • Para obtenção do posicionamento da linha: • Assumido que o código de barras se encontra na vertical • Usada a relação entre o tamanho real do código de barras e seu tamanho na imagem. • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Identificação do Código de Barras e seu Posicionamento Fusão da informação proveniente das diversas Scanlines • Posicionamento do código de barras: • O posicionamento (x,y,z) é dado pelo posicionamento da linha de topo e é relativo ao canto superior esquerdo • Inclinação, dadas pelas 2 linhas centrais, é calculada achando a projecção no plano yz do plano que contém a origem e as linhas centrais. • Ângulo com que a câmara vê o código de barras é calculado achando a projecção no plano xy da intersecção do plano que contém a linha de topo e a origem e o plano que contém a linha de base e a origem. • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Identificação do Código de Barras e seu Posicionamento Resultados • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Reconhecimento de Caracteres (OCR) Método Template-Matching Processamento de Imagem A classificação dos pontos de interesse da imagem é realizada de forma Binária. • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Reconhecimento de Caracteres (OCR) Localização da área de impressão da validade e do lote de produção • Detecção de transições horizontais na imagem juntamente com informação relativa ao tamanho da linha de lote de produção e da linha de validade. • Agrupamento das linhas: • Não podem estar afastadas mais do que o tamanho de 2 linhas • Ser possível serem atravessadas pela mesma linha vertical • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Reconhecimento de Caracteres (OCR) Segmentação de caracteres Reconhecimento de caracteres • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Aplicação de Controlo • Funcionalidades: • Diversos níveis de utilizadores com níveis de permissão diferentes • Visualizar informação sobre que alarme ocorreu, sua causa e possível resolução • Configuração dos parâmetros dos diferentes alarmes • Capacidade de introdução de novos produtos (sistema de base dados) • Visualizar a informação sobre um rótulo • Sinóptico • Manter histórico dos alarmes • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Aplicação de Controlo Ordem de Produção Informação sobre o rótulo: • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Aplicação de Controlo Alarmes • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Aplicação de Controlo Armazenamento da Informação Base de Dados (Firebird): Informação sobre os alarmes: • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Conclusões • Podemos concluir deste trabalho que: • Foram atingidos todos objectivos propostos. O sistema apresentado é bastante rápido e muito mais barato do que qualquer solução existente no mercado. • Os ensaios laboratoriais obtiveram resultados positivos, o que permitiu a passagem imediata à fase de implementação do sistema na linha de montagem da Unicer. • Em ambiente industrial, surgiram os primeiros problemas, um dos módulos não pôde ser implementado e o outro módulo ainda se encontra em fase de instalação e de testes. • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Conclusões Sugestões de futuras implementações: • Encontrar solução para a colocação da câmara para identificação do lote de produção e da validade; • Interligação a aplicação de controlo com a máquina rotuladora e assim poder utilizar o sistema de rejeição automático que esta possui; • Interligação a aplicação controlo com o software de planeamento e gestão de produção existente na Unicer e, deste modo, conseguir automatizar alguns processos, como a introdução manual de novos produtos na base dados. • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Referências Adelmann, Robert, Marc Langheinrich & Christian Flörkemeier(2006). Toolkit for Bar Code Recognition and Resolving on Camera Phones – Jump Starting the Internet of Things. Institute for Pervasive Computing, ETH Zurich. Ali, F. & T. Pavlidis(1977). Syntactic recognition of handwritten numerals. IEEE Trans. Syst., Man, Cybern., vol. 7, pp. 537-541. Batista, G. & K. M. Kulkarni(1988). A high accuracy algorithm for recognition of handwritten numerals. Pattern Recognition, vol. 21, no. 4, pp. 287-291. Batista, Jorge, Jorge Dias, Hélder Araújo & A. Traça de Almeida (1993). Monoplanar Camera Calibration for Off-the-Shelf TV Cameras and Lenses. Iterative Multi-step Approach. 5th Portuguese Conference on Pattern Recognition, pp. 53/62. Borkowski, Maciej(2007). 2D to 3D Conversion with Direct Geometrical Search and Approximation Spaces. A Dissertation submitted to the Faculty of Graduate Studies, in Partial Fulfilment of the Requirements for the degree of Doctor of Philosophy in Electrical and Computer Engineering. Chai, Douglas & Florian Hock (2005). Locating and Decoding EAN-13 Barcodes from Images Captured by Digital Cameras. Addendum to Proceedings ICIS2005. Huang, J. S. & K. Chuang (1986). Heuristic approach to handwritten numeral recognition. Pattern Recognition. vol. 19, no. 1, pp. 15-19. Jeffrey Adair (2006). Locating, Tracking, and Interpreting Ean-13 Bar Code Waveforms in a Two-Dimensional Video Stream. Hiram College. Kwan, C. C., L. Pang, & C. Y. Suen(1979). A comparative study of some recognition algorithms in character recognition. In Proc. Int. Conf on Cybernetics and Society (Denver), pp. 530-535. • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
Introdução Projecto do Sistema VisãoIdentificação do Código de Barras e do seu Posicionamento Reconhecimento de Caracteres (OCR) Aplicação de Controlo Conclusão Referências Referências Lenz, Reimar K. & Roger Y. Tsai (1988). Techniques for Calibration of the Scale Factor and Image Center for High Accuracy 3-D Machine Vision Metrology. IEEE transactions on pattern analysis and machine intelligence, vol. 10, no. 5, pp 713-720. Muniz, Ruben, Luis Junco, & Adolfo Otero (1999). A robust software barcode reader using the Hough transform. In Proceedings of the 1999 International Conference on Information Intelligence and Systems, pp. 313–319. Ohbuchi, Eisaku, Hiroshi Hanaizumi & Lim Ah Hock (2004). Barcode Readers using the Camera Device in Mobile Phones. In CW, pp. 260–265. IEEE Computer Society. Pavlidis, T., J. Swartz & Y. P. Wang (1990). Fundamentals of bar code information theory. Computer, vol. 23, no. 4, pp. 74-86. Shridhar, M. & A. Badreldin(1986). Recognition of isolated and simply connected handwritten numerals. Pattern Recognition, vol. 19, no. 1, pp. 1-12. Suen, C. Y. (1982a). Distinctive features in the automatic recognition of handprinted characters. Signal Processing, vol. 4, pp. 193-207. Suen, C. Y. (1982b). The role of multi-directional loci and clustering in reliable recognition of characters. In Proc. 6th Int. Conf. Pattern Recog., pp. 1020-1022. Tsai, R.Y. (1986). An Efficient and Accurate Camera Calibration Technique for 3D Machine Vision. IEEE Conf. on Computer Vision and Pattern Recognition, pp. 364-374. Tsai, R. Y. (1987). A Versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras and Lenses. IEEE Journal of Robotics and Automation, RA-3(4), pp. 323-344. Wu, J. J., R. E. Rink, T. M. Caelli & V. G. Gourishankar(1988). Recovery of 3-D Location and Motion of a Rigid Object Through Camera Image (An Extended Kalman Filter Approach). International Journal of Computer Vision 3:3, pp. 773-394. • Detecção de Defeitos na Colocação do Rótulo em Garrafas de Cerveja (http://paginas.fe.up.pt/~ee02196)
FIM Obrigado, Pela Atenção Pedro Miguel Ferreira de Carvalho (E-mail: carvalho.pedro@fe.up.pt -- URL: http://paginas.fe.up.pt/~ee02196) Porto, Março 2008