Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO FERRAMENTA DE PROCESSAMENTO DE IMAGEM PARA AUXILIAR SEMÁFOROS INTELIGENTES Área de Processamento Digital de Imagem por Edson Céser dos Santos Eros Comunello, Dr. rer. nat. Orientador São José (SC), julho de 2012 UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO FERRAMENTA DE PROCESSAMENTO DE IMAGEM PARA AUXILIAR SEMÁFOROS INTELIGENTES Área de Processamento Digital de Imagem por Edson Céser dos Santos Relatório apresentado à Banca Examinadora do Trabalho de Conclusão do Curso de Ciência da Computação para análise e aprovação. Orientador: Eros Comunello, Dr. rer. nat. São José (SC), julho de 2012 ii SUMÁRIO LISTA DE ABREVIATURAS.................................................................. iv LISTA DE FIGURAS ................................................................................. v LISTA DE TABELAS .............................................................................. vii LISTA DE EQUAÇÕES ......................................................................... viii RESUMO .................................................................................................... ix ABSTRACT ................................................................................................. x 1 INTRODUÇÃO ....................................................................................... 1 1.1 PROBLEMATIZAÇÃO ....................................................................................... 3 1.1.1 Formulação do Problema ................................................................................. 3 1.1.2 Solução Proposta ............................................................................................... 3 1.2 OBJETIVOS .......................................................................................................... 4 1.3 METODOLOGIA ................................................................................................. 4 1.4 ESTRUTURA DO TRABALHO ......................................................................... 5 2 FUNDAMENTAÇÃO TEÓRICA ......................................................... 7 2.1 SISTEMA DE VISÃO ARTIFICIAL ................................................................. 9 2.2 AQUISIÇÃO DE IMAGEM .............................................................................. 12 2.3 PROCESSAMENTO .......................................................................................... 16 2.3.1 Segmentação .................................................................................................... 16 2.3.2 Pré-Processamento .......................................................................................... 20 2.4 EXTRAÇÃO DE CARACTERÍSTICAS ......................................................... 24 2.4.1 Rotulação de Componentes Conexos............................................................. 25 2.4.2 Descritores regionais ....................................................................................... 28 2.5 RECONHECIMENTO E INTERPRETAÇÃO ............................................... 29 2.5.1 Análise de Imagens .......................................................................................... 30 2.5.2 Sistemas Especialistas ..................................................................................... 32 2.6 TRABALHOS SIMILARES .............................................................................. 35 2.6.1 Semáforo Atuado pelo Tráfego ...................................................................... 36 2.6.2 Semáforo Inteligente Nacional ....................................................................... 37 2.6.3 Semáforo Inteligente Europeu ....................................................................... 39 3 DESENVOLVIMENTO ....................................................................... 40 3.1 CASOS DE USO .................................................................................................. 41 3.2 LEVANTAMENTO DOS REQUISITOS ......................................................... 42 3.3 MODELAGEM DO SISTEMA ......................................................................... 43 3.4 ESTRUTURA DE DADOS................................................................................. 45 iii 3.5 INTERFACE COM O USUÁRIO ..................................................................... 49 3.6 IMPLEMENTAÇÃO .......................................................................................... 54 3.6.1 Algoritmos de PDI ........................................................................................... 56 3.6.2 Algoritmos de Análise ..................................................................................... 56 3.7 EXPERIMENTOS .............................................................................................. 61 4 CONCLUSÃO ....................................................................................... 70 4.1 TRABALHOS FUTUROS.................................................................................. 71 REFERÊNCIAS BIBLIOGRÁFICAS ................................................... 73 A DIAGRAMAS ...................................................................................... 76 A.1 DIAGRAMA DE ATIVIDADE ......................................................................... 76 A.2 DIAGRAMA DE CLASSES .............................................................................. 78 A.3 DIAGRAMA DE SEQUÊNCIA ........................................................................ 79 B ALGORITMOS ..................................................................................... 81 B.1 ALGORITMO DE REGRAS ............................................................................ 81 iv LISTA DE ABREVIATURAS BF Barra de Ferramentas DENATRAN Departamento Nacional de Trânsito EA Enterprise Architect GB Gigabyte GPRS General Packet Radio Service GSM Global System for Mobile Communications GUI Graphical User Interface HD Hard Disk MAT Medial Axis Transform PDI Processamento Digital de Imagem PNG Portable Network Graphics POO Programação Orientada a Objeto RAM Random Access Memory RF Requisito Funcional RGB Red, Green e Blue RNF Requisito Não Funcional ROI Region of Interest SI Semáforo Inteligente SVA Sistema de Visão Artificial SVH Sistema de Visão Humano TCC Trabalho de Conclusão de Curso TIVT Tabela de Informações da Via de Trânsito UFSC Universidade Federal de Santa Catarina UNIVALI Universidade do Vale do Itajaí UML Unified Modeling Language USC Use Case VT Via de Trânsito v LISTA DE FIGURAS Figura 1. Modelo de Via de Trânsito ................................................................................................... 2 Figura 2. Convenção dos eixos para representação de imagens digitais .............................................. 8 Figura 3. Conectividade entre pixels: (a) de-4; (b) de-8. ..................................................................... 8 Figura 4. Etapas do SVA .................................................................................................................... 11 Figura 5. Aquisição da Imagem ......................................................................................................... 12 Figura 6. Lente Fisheye ...................................................................................................................... 13 Figura 7. Imagem original de 360º obtida com a lenteolho de peixe ................................................ 14 Figura 8. Imagem panorâmica 360º com a distorção corrigida .......................................................... 14 Figura 9. Imagem original de 180º capturada com a lente olho de peixe .......................................... 15 Figura 10. Imagem panorâmica 180º com a distorção corrigida ........................................................ 15 Figura 11. Processamento da Imagem ................................................................................................ 16 Figura 12. Subtração de Imagem: (a) Imagem original; (b) Imagem resultado ................................. 17 Figura 13. Limiarização: (a) imagem em tons de cinza; (b) imagem limiarizada ............................ 19 Figura 14. Dilatação: (a) imagem binária; (b) imagem dilatada 5 vezes ........................................... 21 Figura 15. Erosão: (a) imagem original; (b) 2 erosões; (c) 4 erosões; (d) 8 erosões ......................... 22 Figura 16. Abertura: (a) objetos ligados; (b) objetos separados ....................................................... 23 Figura 17. Extração de Características ............................................................................................... 25 Figura 18. Rotulação de Pixels ........................................................................................................... 26 Figura 19. Componente conexo com buracos em destaque ............................................................... 29 Figura 20. Reconhecimento e Interpretação ....................................................................................... 30 Figura 21. Elementos de análise de imagens ...................................................................................... 31 Figura 22. Objetos rotulados .............................................................................................................. 32 Figura 23. Conceito de espera e movimento: (a) áreas selecionadas; (b) semáforo aberto ............... 34 Figura 24. Conceito de espera e movimento: (a) áreas selecionadas; (b) semáforo fechado ............. 34 Figura 25. Oclusão da área de interesse ............................................................................................ 35 Figura 26. Central do Contreal ........................................................................................................... 38 Figura 27. Layout do Software do Contreal ....................................................................................... 38 Figura 28. Equipamento de Captura ................................................................................................... 40 Figura 29. Casos de Uso ..................................................................................................................... 41 Figura 30. Diagrama de Atividade do Sistema .................................................................................. 44 Figura 31. Diagrama de Classes ......................................................................................................... 44 vi Figura 32. Iniciar o Sistema ............................................................................................................... 45 Figura 33. Base de Dados ................................................................................................................... 47 Figura 34. Tela Principal .................................................................................................................... 49 Figura 35. Componentes da Tela Principal ........................................................................................ 50 Figura 36. Funções da Barra de Menu: (a) Arquivo; (b) Exibir ......................................................... 50 Figura 37. Formas de exibição: (a) Sem Objetos, (b) Objetos Limiarizados, (c) Objetos Coloridos .................................................................................................................................................... 51 Figura 38. Barra de Ferramentas: (a) não-configurado, (b) configurado-parado, (c) ativado ............ 52 Figura 39. Painel de Configuração ..................................................................................................... 53 Figura 40. Buscar imagem ................................................................................................................. 54 Figura 41. Pacotes do Protótipo ......................................................................................................... 55 Figura 42. Equivalências .................................................................................................................... 57 Figura 43. Borda de circulo: (a) borda selecionada, (b) borda em detalhe ........................................ 58 Figura 44. Figuras geométricas rotuladas .......................................................................................... 58 Figura 45. Objeto irregular: (a) imagem binaria, (b) resultado 1, (c) resultado 2, (d) resultado 3 .... 59 Figura 46. Relâmpago: (a) imagem rotulada, (b) erro de rótulo ........................................................ 60 Figura 47. Vizinhos de A .................................................................................................................. 60 Figura 48. Avenida Gaspar Dutra: (a) background, (b) imagem capturada ...................................... 61 Figura 49. Subtração de Imagem: (a) tipo 1, (b) tipo 2, (c) tipo 3 ..................................................... 62 Figura 50. Limiares: (a) l= 64, (b) l=32, (c) l=16, (d) l= 8, (e) l=4, (f) l=2 ....................................... 63 Figura 51. Sequência de Erosões: (a) l=16, (d) l=8, (g) l=4 ............................................................... 64 Figura 52. Sequência de Dilatações: (a) l=16, (d) l=8, (g) l=4 .......................................................... 65 Figura 53. Fechamento e Rotulação: (a) l = 16, (d) l = 8, (g) l = 4 .................................................... 66 Figura 54. Atualização do Background .............................................................................................. 76 Figura 55. Classificação de Objetos ................................................................................................... 77 Figura 56. Diagrama de Classes do Sistema ...................................................................................... 78 Figura 57. Atualização da TIVT ........................................................................................................ 79 Figura 58. Configuração do Sistema .................................................................................................. 79 Figura 59. Análise de Imagem ........................................................................................................... 80 vii LISTA DE TABELAS Tabela 1. Comparação entre SVH e SVA ............................................................................................ 9 Tabela 2. Definição de Espera e Movimento .................................................................................... 33 Tabela 3. Descrição dos Casos de Uso ............................................................................................... 42 Tabela 4. Requisitos Não-Funcionais ................................................................................................. 42 Tabela 5. Requisitos Funcionais ......................................................................................................... 43 Tabela 6. Dados da Configuração do Sistema ................................................................................... 48 Tabela 7. Dados da Base de Informação ............................................................................................ 46 Tabela 8. Dados daTIVT ................................................................................................................... 48 Tabela 9. Dados da área a ser analisada ............................................................................................ 46 Tabela 10. Testes Isolados ................................................................................................................. 67 Tabela 11. Atendimento aos Requisitos ............................................................................................. 67 Tabela 12. Resultados ........................................................................................................................ 68 viii LISTA DE EQUAÇÕES Equação 1 ........................................................................................................................................... 19 Equação 2 ........................................................................................................................................... 19 Equação 3 ........................................................................................................................................... 23 Equação 4 ........................................................................................................................................... 24 Equação 5...........................................................................................................................................24 Equação 6 ......................................................................................................................................... 24 Equação 7 ......................................................................................................................................... 25 Equação 8 ......................................................................................................................................... 29 ix RESUMO SANTOS, Edson Céser dos. Ferramenta de Processamento de Imagem para Auxiliar Semáforos Inteligentes. São José, 2012. 94 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação)–Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, São José, 2012. Vários esforços vêm sendo realizados para melhorar o fluxo do trânsito nas grandes cidades, entre eles o rodízio de veículos e a pesquisa e implantação de SI (Semáforo Inteligente). A estrutura das VT (Vias de Trânsito) não acompanhou o aumento da frota de automóveis, consequentemente os engarrafamentos tornaram-se constantes. A adoção de dispositivos inteligentes pode minimizar o problema, porém, não descarta a necessidade da reestruturação adequada das VT à atual demanda, visto que, tais dispositivos cumprem sua finalidade até certo limite de capacidade da VT. O presente TCC (Trabalho de Conclusão de Curso) teve por objetivo desenvolver um protótipo de software com base em PDI (Processamento Digital de imagem) para fornecer dados a SI. O protótipo realiza o processamento e a análise de imagens capturadas da VT, transforma dados em informações e disponibiliza para que um semáforo possa alternar seu ciclo de acordo com a demanda. O diferencial em relação a trabalhos correlatos está no fato de considerar não somente o fluxo de veículos, mas também o de pedestres, além do equipamento para capturar imagem que consiste em uma câmera fotográfica digital com lente do tipo fisheye. Desta maneira o projeto busca ajudar na redução do tempo de viagem do motorista, da espera desnecessária de veículos e pedestres nos semáforos, diminuição da emissão de gases e contribuir para a educação no trânsito, pois o atual modelo de sistema de semáforos induz o usuário a cometer infrações. Foram necessárias quatro etapas para executar o projeto de pesquisa: (i) introdução, (ii) fundamentação teórica, (iii) desenvolvimento e (iv) conclusão. A introdução e a fundamentação teórica foram efetivadas no TCC I e as etapas de desenvolvimento e conclusão efetivadas no TCC II. As seguintes metodologias foram empregadas na elaboração do projeto: (i) estudo que envolveu a pesquisa bibliográfica abrangendo PDI e soluções similares, (ii) modelagem do sistema que utilizou a ferramenta EA (Enterprise Architect), (iii) implementação dos códigos na linguagem de programação Java, (iv) testes para verificar o desempenho do protótipo, encontrar falhas e executar correções e, por fim, (v) documentação, na qual foi transcrito tudo o que foi produzido nos dois TCCs. O resultado encontrado nos testes de desempenho do protótipo atingiu índices de 100% de acerto, depois das devidas correções, ultrapassando as expectativas. O sucesso nos testes foi assegurado pela escolha correta dos algoritmos associada à boa definição dos conceitos de espera e movimento. Apesar dos resultados positivos foi possível observar diversos pontos, dentro e fora do escopo do projeto, que podem ser aperfeiçoados e servir de base para trabalhos futuros, entre eles a atualização de background e a diferença proporcional do tamanho dos objetos em relação a distância do ponto de captura da imagem. Cabe salientar que a dificuldade na implementação do rotulador, principal algoritmo do projeto, levou à alteração do cronograma, aumentou-se o tempo da codificação em detrimento do tempo destinado para os testes. Palavras-chave: Processamento Digital de Imagem. Análise de Imagem. Semáforos Inteligentes. x ABSTRACT Several efforts have been made to improve the flow of traffic in large cities, including control vehicular and research and deployment of ITL (Intelligent Traffic Light). The structure of TW (Transit Way) did not follow the increase of the fleet of cars, hence the traffic jams have become constant. The adoption of smart devices can minimize the problem, however, does not rule out the need for suitable restructuring of TW to current demand, since these devices fulfill their purpose till certain limit of capacity of the TW. This CCW(conclusion of course work) aimed to develop a software prototype based on DIP (Digital Image Processing) to provide data to ITL. The prototype performs the processing and analysis of images captured from TW, turns data into information and provides for a traffic light switch the cycle according to demand. The differential with respect to related work is in fact to be considered not only the flow of vehicles but also pedestrians, in addition to equipment to capture the image that consists of a digital camera with fisheye lens type. Thus the project aims to help reduce the travel time of the driver, the unnecessary waiting of vehicles and pedestrians at traffic lights, reducing the emission of gases and contribute to education in traffic, because the current model of traffic light system leads the user to committing offenses. It took four steps to perform the research project: (i) introduction, (ii) theoretical, (iii) development and (iv) documentation. The introduction and theoretical were effective in CCW I and stages of development and documentation effect on CCW II. The following methodologies were used in the preparation of the project: (i) study of the literature covering DIP and similar solutions, (ii) modeling system that used the tool EA (Enterprise Architect), (iii) implementation of codes with the Java programming language, (iv) testing to verify the performance of the prototype, fault finding and perform corrections, and finally, (v) documentation on which was transcribed all that was produced in two CCWs. The results found in performance tests of the prototype reached levels of 100% accuracy, after the corrections, exceeding expectations. The success in the tests was provided by the correct choice of algorithms associated withgood definitions of the concept of waiting and move. Despite the positive results was observed several points inside and outside the scope of the project, which can be improved and serve as a basis for future work, including background updating and proportional difference in the size of objects in relation to distance from the capture image point. It should be noted that the difficulty in implementing the labelling algorithm, the main algorithm of the project, led to the change of schedule, increased the time to encoding in detriment of time devoted to the tests. Keywords: Digital Image Processing. Image Analysis. Intelligent Traffic Lights. 1 INTRODUÇÃO O semáforo de trânsito é um dispositivo de controle de tráfego que através de indicações luminosas, transmitidas para motoristas e pedestres, alterna o direito de passagem em interseções de duas ou mais vias (DENATRAN, 1984). Com o passar do tempo o semáforo sofreu modificações, alguns incorporaram um painel visual medidor de tempo, outros foram adaptados com um botão para acionar a luz verde que libera a travessia de pedestres e há, ainda, os que a emitem sinais auditivos para deficientes visuais. A essência do mecanismo, porém, continua sendo um controlador de tráfego (temporizador) que comanda o semáforo através de pulsos elétricos para a comutação das luzes (verde, amarelo e vermelho) (DENATRAN, 1984). O grande avanço nas tecnologias digitais e a criação de novos algoritmos relacionados à PDI (Processamento Digital de Imagem) permite que um maior número de campos de aplicações utilizem técnicas computacionais para o PDI, como: medicina, biologia, automação industrial, sensoriamento remoto, astronomia, microscopia, área militar, arqueologia, segurança e vigilância (PEDRINE & SCHWARTZ, 2008). Segundo GONZALEZ e Woods (2000, p.5): “O processamento de imagens digitais abrange uma ampla escala de software, hardware e fundamentos teóricos.” Por tanto é possível definir os módulos fundamentais de um sistema de PDI, como os seguintes: aquisição, responsável por capturar as imagens; pré-processamento, com a função de melhorar as imagens adquiridas para os módulos seguintes; segmentação, responsável por dividir a imagem em partes ou objetos constituintes; representação e descrição, fornece a representação computacionalmente adequada a partir dos dados obtidos do módulo de segmentação; reconhecimento e interpretação, atribui significado a um conjunto de objetos reconhecidos. Há também uma base de conhecimento relativa ao domínio do problema com a função de guiar as operações de cada módulo e gerenciar as interações entre os mesmos (GONZALEZ & WOODS, 2000). A expressão “registro de imagem” relaciona um conjunto de técnicas, as quais atendem a um ponto fundamental no campo do processamento de imagens, usado para encontrar correspondências entre duas ou mais imagens adquiridas de um mesmo local em momentos diferentes e condições também adversas, por um ou vários sensores, por exemplo. Praticamente 2 todos os grandes sistemas que avaliam imagens utilizam técnicas de registro, ou procedimentos estreitamente relacionados (BROWN, 1992). Neste ponto encontra-se o problema a ser abordado: propor uma metodologia para o reconhecimento visual de duas classes de objetos na VT (Via de Trânsito), pedestres e veículos, com a finalidade de auxiliar semáforos inteligentes a melhorar o tráfego nas ruas e avenidas. Para o desenvolvimento do protótipo e assumindo o pressuposto de partir de uma solução simples para uma solução complexa, a VT foi limitada a um semáforo para veículos em via de mão única e a travessia do pedestre sujeita ao fechamento deste semáforo. A Figura 1 ilustra o modelo de VT adotado para o projeto. A área destacada em azul é a avenida de mão única e em vermelho o semáforo a ser levado em consideração. Figura 1. Modelo de Via de Trânsito Os engenheiros Stefan Lämmer (Universidade de Dresden, na Alemanha) e Dirk Helbing (Instituto Federal de Tecnologia de Zurique) encontraram uma solução para um SI (Semáforo Inteligente) passando a responsabilidade da temporização para o próprio semáforo. Dentro deste contexto e para delimitar o escopo do trabalho, fica assim definido um SI: Semáforo que controla de forma dinâmica a temporização da troca de sinais de acordo com a situação da VT (INOVAÇÃO TECNOLÓGICA, 2010). http://www.inovacaotecnologica.com.br/noticias/noticia.php?artigo=semaforos-inteligentes&id=010170101015 3 1.1 PROBLEMATIZAÇÃO O atual sistema de semáforos apresenta inconvenientes: a distribuição alternada do direito de passagem nos cruzamentos, mesmo nos sistemas mais modernos com controladores por demanda de tráfego, ocorre de maneira estática, isto é, fecha-se uma via e abre-se outra, independentemente de haver veículos ou pedestres para atravessá-la (DENATRAN, 1984). Um sistema de semáforo ideal deve manter a via principal aberta e fechá-la somente quando verificar a presença de pedestres aguardando na calçada ou veículos na via secundária. Da mesma forma, deve abrir a via secundária ou liberar a passagem de pedestre quando não existir fluxo na via principal, independentemente do tempo de alternância do ciclo semafórico. Enquanto a situação da VT (Via de Trânsito) não for considerada, veículos e pedestres continuarão a encontrar, esporadicamente, o sinal fechado para aguardar por fluxo que não existe. 1.1.1 Formulação do Problema Para um SI (Semáforo Inteligente) alternar seu ciclo de forma dinâmica e otimizar o fluxo de trânsito é necessário que ele receba informações corretas e atuais da situação da VT. Assim o projeto de pesquisa encontrou os seguintes desafios: Definir o tipo de informação a ser disponibilizada para o SI; Classificar os objetos de interesse na imagem (pedestre ou veículo); Definir conceitos de objeto parado ou em movimento; Escolher a melhor forma de capturar imagens de diferentes pontos, ao mesmo tempo, e minimizar o número de equipamento; Definir quais algoritmos serão utilizados; e Definir os testes para avaliar o sistema desenvolvido. 1.1.2 Solução Proposta O desenvolvimento de um protótipo de software que seguiu o modelo de Sistema de Visão Artificial (SVA) para reconhecer duas classes de objetos (pedestre e veículo) a partir de 4 características invariantes, ou seja, independentes de rotação, translação e escala. O protótipo também trata aspectos relativos à natureza da captura (variação de luminosidade e incorporação de ruído) que podem interferir no seu desempenho e é capaz de realizar as seguintes tarefas: Processar imagens capturadas de uma VT (Via de Trânsito); Analisar a situação atual de pedestres e veículos na VT; Manter atualizada a tabela que contém as informações da VT; Fornecer informações a um SI (Tabela de Informações da Via de Trânsito); e Receber informações de um SI (status do semáforo). 1.2 OBJETIVOS 1.2.1 Objetivo Geral Fornecer dados de uma VT para semáforos inteligentes. 1.2.2 Objetivos Específicos Realizar a modelagem e implementar um protótipo de software que permita: analisar múltiplos pontos de uma VT utilizando somente um equipamento para capturar imagens; Verificar a existência de pedestre aguardando pelo fechamento do semáforo; Verificar a existência de veículos aguardando pela abertura do semáforo; Avaliar a quantidade de objetos nas áreas de interesse; e Avaliar a qualidade das informações sobre a situação da VT. 1.3 METODOLOGIA O projeto de pesquisa foi dividido em cinco etapas: Estudo, Modelagem, Implementação, Testes e Documentação, agrupados em TCC I (estudo e modelagem) e TCC II (desenvolvimento e testes). Para atingir todas as etapas, e documentar o resultado do trabalho desenvolvido, foram realizadas as seguintes tarefas:5 Estudo: Pesquisa bibliográfica que incluiu livros, artigos, tutoriais e outros trabalhos de conclusão de curso, que deu suporte teórico e serviu como fonte de consulta para a definição e desenvolvimento dos algoritmos, escolha da técnica para levantamento dos requisitos e da escolha da ferramenta para a modelagem do projeto. A pesquisa se estendeu, ainda, a sites que tratam de algoritmos para rotulação de objetos, com a finalidade de buscar maior entendimento do seu funcionamento e desempenho, bem como a busca por biblioteca já implementada; Modelagem: Elaboração dos diversos diagramas do sistema que documentaram o projeto e serviram para orientar sua implementação, utilizando-se da ferramenta EA (Enterprise Architect) e notações de UML (Unified Modeling Language). Primeiramente foram levantados os casos de uso e em seguida os requisitos funcionais e requisitos não-funcionais, os quais originaram um documento textual transcrito no Capítulo 4 (Desenvolvimento); Implementação: Com a documentação elaborada no TCC I (modelagem) foram implementados os algoritmos necessários para gerar o código executável do protótipo. Todos os algoritmos foram desenvolvidos, evitando a utilização de códigos já escritos, com a finalidade de praticar os conhecimentos adquiridos na área de PDI (Processamento Digital de Imagem) e programação. Testes: Através de diversos testes buscou-se avaliar e documentar o desempenho do protótipo, verificar o atendimento aos requisitos e determinar o melhor valor para determinadas variáveis utilizadas pelo sistema. 1.4 ESTRUTURA DO TRABALHO O trabalho está estruturado em quatro capítulos da seguinte maneira: Introdução: O Capítulo 1 apresentou uma visão geral do trabalho, o contexto no qual está inserido, bem como a área da Ciência da Computação a que está relacionado. Apresenta ainda o problema a ser tratado e a solução desenvolvida, os objetivos que foram alcançados, a metodologia utilizada e como o trabalho esta estruturado; Fundamentação Teórica: No Capítulo 2 são apresentadas técnicas de PDI que foram utilizadas para o desenvolvimento do projeto. O capítulo está dividido em seções que seguem o modelo de um SVA (Figura 4 da pág. 11), da captação da imagem (primeira etapa) até o 6 reconhecimento e a interpretação (última etapa). Na Subseção 2.4.1 é descrita a técnica para rotular componentes conexos, utilizada para classificação, contagem e reconhecimento de objetos; Desenvolvimento: O Capítulo 3 apresenta toda a documentação elaborada do sistema, a estrutura como os códigos foram organizados, aborda detalhes e dificuldades na codificação dos algoritmos, ilustra resultados negativos encontrados nas diversas tentativas de correção no código do rotulador de componentes conexos. Por fim são descritos os diversos testes realizados que completam o capítulo. Conclusão: É composta por uma análise sobre o trabalho, abordando erros, acertos e expectativas. Também são listadas observações para trabalhos futuros que venham a desenvolver projetos com base neste trabalho de pesquisa. 2 FUNDAMENTAÇÃO TEÓRICA Nesse capítulo serão abordados conceitos de um SVA (Sistema de Visão Artificial), necessários para o entendimento da solução adotada para o problema proposto: auxiliar semáforos inteligentes. O capítulo fica então dividido em: Sistema de Visão Artificial, Aquisição de Imagem, Processamento, Extração de Características, Reconhecimento e Interpretação e Trabalhos Similares. A respeito do Sistema de Visão Artificial serão apresentadas suas principais etapas, limitando-se a conceitos básicos, e nas seções posteriores algumas destas etapas são tratadas separadamente com abordagem mais detalhada e com técnica definida. É apresentada ainda uma comparação entre o SVA e o SVH (Sistema de Visão Humano), demonstrando maior ou menor habilidade de um ou outro sistema em diversos aspectos, como a capacidade de se adaptar a diferentes tarefas e condições de trabalho. As seções que tratam do Processamento e da Extração de Características descrevem técnicas de PDI (Processamento Digital de Imagem) utilizadas dentro de cada uma destas etapas. No item “Atualização do Background” da Subseção 2.3.1, são abordadas duas soluções para os problemas que podem ocorrer durante o dia e modificar o cenário (local de captura da imagem). Na Subseção 2.5.1 são descritas as três áreas básicas de análise de imagem, destacando o “processamento de alto nível”, que envolve o reconhecimento e a interpretação. A Seção 2.6 apresenta dois trabalhos de desenvolvimento de Semáforos Inteligentes, um realizado no Brasil e outro na Europa, explicando suas características e funcionamento. Para melhor compreensão das seções dentro deste capítulo, é necessária a definição dos seguintes itens: imagem digital e conectividade entre pixels. Imagem digital A imagem digital pode ser considerada como uma matriz, cujos índices de linha e coluna identificam um ponto na imagem, e o ponto da matriz correspondente à imagem identifica o nível de cinza naquele ponto. Os elementos da matriz digital são chamados elementos da imagem, elementos da figura ou pixels (GONZALEZ & WOODS, 2000). Sendo assim, pode-se concluir que todos os pixels de uma imagem estão ligados uns aos outros, mas o que interessa para o trabalho é a definição de conexão de pixels em imagens binárias (0,1). 8 A Figura 2 ilustra um ponto na coordenada (x,y) da imagem e f (x,y) indica o nível de cinza naquele ponto. Figura 2. Convenção dos eixos para representação de imagens digitais Fonte: Adaptado de Gonzalez e Woods (2000). Conectividade entre pixels A conectividade é a existência de ligação entre dois pixels e é definida como: conectividade-de-4 e conectividade-de-8 (Figura 3). Na conectividade-de-4, os vizinhos horizontais de um pixel de coordenada (x, y), elemento que está no centro, são os pixels de coordenadas (x+1, y) e (x-1, y), e os verticais são de coordenadas (x, y+1) e (x, y-1) (GONZALEZ; WOODS, 2000). (a) (b) Figura 3. Conectividade entre pixels: (a) de-4; (b) de-8. Fonte: Victor (2011). 9 Para verificar se dois pixels estão conectados, é preciso determinar se são adjacentes (vizinhos-de-4 ou vizinhos-de-8) e similares (mesmo valor, 0 ou 1). Um pixel p está conectado-de- 4 se possui algum vizinho, na horizontal ou vertical, similar (Figura 3(a)) e, conectado-de-8 se possui algum vizinho similar na horizontal, vertical ou diagonal (Figura 3(b)). 2.1 SISTEMA DE VISÃO ARTIFICIAL O SVA (Sistema de Visão Artificial) é definido como um sistema computadorizado capaz de adquirir, processar e interpretar imagens de cenas reais (MARQUES & VIEIRA, 1999). A maior dificuldade de um SVA comparando com a capacidade do SVH (Sistema Visual Humano) é a percepção visual que está associada a três características: uma base de dados muito rica, altíssima velocidade de processamento e a capacidade de trabalhar sob condições muito variadas (MARQUES & VIEIRA, 1999). A Tabela 1 apresenta um comparativo entre um SVH e SVA. Tabela 1. Comparação entre SVH e SVA Sistema Visual Humano Sistema de Visão Artificial Espectro Limitado à faixa de luz visível (300 nm a 700 nm) do espectro de ondas eletromagnéticas. Pode operar em praticamente todo o espectro de radiações eletromagnéticas, dos raios X ao infravermelho. Flexibilidade Extremamente flexível, capaz de se adaptar a diferentes tarefas e condições de trabalho. Normalmente inflexível, apresenta desempenho bom somente na tarefa para a qual foi projetado. Habilidade Pode estabelecer estimativas relativamente precisas em assuntos subjetivos. Pode efetuar medições exatas, baseadas em contagem de pixels e, portanto, dependentes da resolução da imagem. Cor Possui capacidadede interpretação subjetiva de cores. Mede os valores das componentes RGB (Red, Green e Blue) para determinação de cor. Sensibilidade Capaz de se adaptar a diferentes condições de luminosidade, características físicas da superfície do objeto e distância ao objeto. Limitado na distinção de muitos níveis diferentes de cinza, simultaneamente. Sensível ao nível e padrão de iluminação, à distância em relação ao objeto e suas características físicas. Pode trabalhar com centenas de tons de cinza Tempo de resposta Elevado, da ordem de 0,1 s. Dependente de aspectos de hardware, podendo ser tão baixo quanto 0,001 s. 2-D e 3-D Pode executar tarefas 3-D e com múltiplos comprimentos de onda (dentro do espectro de luz visível) facilmente. Executa tarefas 2-D com relativa facilidade, mas é lento e limitado em tarefas 3-D. Percepção Percebe variações de brilho em escala logarítmica. A interpretação subjetiva depende da área ao redor do objeto Pode perceber brilho em escala linear ou logarítmica. Fonte: Marques e Vieira (1999). 10 Pode-se concluir com base nas comparações da Tabela 1 que em muitos aspectos o SVA (Sistema de Visão Artificial) supera o SVH (Sistema Visual Humano), em características como espectro, habilidade e tempo de resposta. Por outro lado, a percepção e a sensibilidade no SVH são melhores que no SVA, sendo a flexibilidade deste último maior apenas em tarefas para as quais foi projetado. O avanço da tecnologia aumentou a velocidade de processamento e a capacidade de armazenamento de dados, tornando a capacidade de trabalhar sob condições muito variadas o grande desafio de um SVA (MARQUES & VIEIRA, 1999). Fazer com que o SVA trabalhe em diferentes condições de luminosidade, contraste, posição relativa dos objetos em uma cena, e não perder a capacidade de interpretar a cena ainda é um grande desafio. Funções extremamente simples para um SVH como reconhecer um amigo ou parente, independente de como está vestido, se com ou sem chapéu ou óculos, ter ou não barba, estar em uma bicicleta ou carro, estar de frente ou de perfil, sob a luminosidade da tarde ou do meio dia, exemplificam a maior habilidade/ capacidade do SVH em relação ao SVA (MARQUES & VIEIRA, 1999). Na tentativa de desenvolver SVA mais capazes e robustos, cientistas e pesquisadores tentam imitar o funcionamento do SVH, o que torna importante o estudo de evidências psicofísicas e neurofisiológicas, as quais podem dar pistas de como os seres humanos e outros animais exercem a visão (BASSO, 2006). Segundo Vernon (2004), a visão cognitiva é uma linha de pesquisa que busca tornar o SVA mais robusto às mudanças nas condições externas, através da capacitação deste a "entender" o que está vendo. Se o sistema é capaz de entender o que está sendo visto, ele também seria capaz de assimilar variações ocorridas na mesma cena (BASSO, 2006). Pesquisadores que seguem esta linha defendem que a cognição, ou o entendimento, é inerente à visão (BASSO, 2006). Para o SVA se tornar mais similar ao SVH e aproximar-se de sua capacidade visual, estudos vem sendo realizados na área de visão cognitiva, que está relacionado a outras áreas da ciência como: visão computacional, inteligência artificial, psicologia perceptiva e neurociência cognitiva (BASSO, 2006). 11 O SVA (Sistema de Visão Artificial) inicia sua execução com a aquisição da imagem e são necessários um sensor e um digitalizador. O primeiro transforma a imagem em sinais elétricos e o segundo transforma uma imagem analógica em imagem digital (MARQUES & VIEIRA, 1999). Estão relacionados à aquisição da imagem o tipo de sensor, o conjunto de lentes, a iluminação, os níveis de cinza e a posição do sensor em relação à área de interesse para a captura da imagem (MARQUES & VIEIRA, 1999). A Figura 4 ilustra um SVA em blocos e a ligação das etapas com a base de conhecimento. Figura 4. Etapas do SVA Fonte: Marques e Vieira (1999). No pré-processamento são retiradas as imperfeições resultantes da aquisição da imagem, tais como ruídos, contraste ou brilho inadequado, e corrigidos os objetos interrompidos ou indevidamente conectados e que são de interesse do sistema (MARQUES & VIEIRA, 1999). A próxima fase é a segmentação, para subdividir, separar ou destacar os objetos de interesse dentro da imagem, porém, antes da escolha do algoritmo mais apropriado para a segmentação, é necessária a definição dos tipos de dados que serão fornecidos para a fase de extração de características, se devem ser representados como fronteira ou como regiões completas (GONZALEZ & WOODS, 2000). 12 Na fase de extração de características, os dados da saída da segmentação são transformados pelos descritores em informações quantitativas básicas para discriminação entre classes de objetos (GONZALEZ & WOODS, 2000). A última fase é o reconhecimento e interpretação. O primeiro atribui um rótulo a um objeto baseado na informação fornecida pelo descritor na fase de extração de características, enquanto o segundo atribui um significado a um conjunto de objetos reconhecidos (GONZALEZ & WOODS, 2000). A Base de Conhecimento utilizada no projeto contém todas as informações necessárias para a operação do sistema e está dividida em duas estruturas, uma na memória secundária (HD- hard disk) onde ficarão armazenados os dados iniciais de configuração, a Base de Dados, e outra estrutura na memória principal (RAM – Random Access Memory), a Base de Informações. 2.2 AQUISIÇÃO DE IMAGEM A Figura 5 ilustra como é realizada a aquisição da imagem e quais e estruturas de dados são acessadas na Base de Conhecimento. Figura 5. Aquisição da Imagem Fonte: Adaptado de Marques e Vieira (1999). 13 A relação da etapa de aquisição da imagem com a Base de Conhecimento é de capturar a imagem e salvá-la na Base de Dados. Na Base de Informações estão os dados da configuração que determinam o tempo do ciclo de captura da imagem, de quanto em quanto tempo uma nova imagem é capturada e salva. Para o projeto foi adotada uma lente especial do tipo olho de peixe (fisheye) com a finalidade de minimizar o número de equipamentos para a captura de imagem, uma vez que o sistema deve analisar imagens de mais de um ponto de interesse dentro da mesma cena (calçada, faixa de pedestre e rodovia). As lentes Fisheye (Figura 6) são indicadas para situações onde é necessário capturar uma grande área do espaço ou ambiente, sendo capaz de capturar um ângulo de até 360º, sobre penalização de grandes distorções na imagem (SUPERFISHEYE, 2011). Figura 6. Lente Fisheye Fonte: Superfisheye (2011). As imagens capturadas pela lente Fishey podem ter sua distorção corrigida por software, porém para o projeto a intenção é trabalhar com a imagem original, de maneira a ter menor custo computacional no processamento da imagem. 14 A Figura 7 ilustra a captura de imagem com a lente Fisheye em 360º e a Figura 8 a mesma imagem de forma retilínea com a distorção corrigida. Figura 7. Imagem original de 360º obtida com a lente olho de peixe Fonte: Superfisheye (2011). Figura 8. Imagem panorâmica 360º com a distorção corrigida Fonte: Superfisheye (2011). 15 Na Figura 9 observa-se uma imagem obtida com a mesma lente, mas em angulo de 180º, e na Figura 10 a mesma imagem de forma retilínea e com a distorção corrigida. A correção da imagem é feita por software disponibilizado pelo fabricante da lente, que também pode ser adquirido separadamente (SUPERFISHEYE, 2011). Figura 9. Imagem original de 180º capturada com a lente olho de peixe Fonte: Superfisheye (2011). Figura 10. Imagem panorâmica 180º com a distorção corrigida Fonte: Superfisheye (2011). 16 2.3 PROCESSAMENTO Na etapa de processamento a imagem capturadaé segmentada, subtraindo-se os objetos de interesse da imagem de fundo (background). Após a segmentação a imagem é limiarizada, para torná-la binária, e aplicam-se, em seguida, as técnicas de pré-processamento. A Figura 11 ilustra a sequência de processos desta etapa e seu relacionamento com a Base de Conhecimento. Figura 11. Processamento da Imagem Fonte: Adaptado de Marques e Vieira (1999). O processamento engloba a segmentação e o pré-processamento, e a sequência destas duas fases é invertida em relação ao modelo proposto por Marques e Vieira (1999), como pode ser observado na Figura 11. 2.3.1 Segmentação A segmentação de uma imagem consiste em separar os objetos que são de interesse dentro de uma imagem do fundo (background) (MIRANDA, 2006). Uma segmentação bem feita pode garantir o sucesso na análise da imagem e por este motivo deve ser dada atenção especial para garantir uma segmentação robusta. Se o projetista possui algum controle sobre o ambiente da aquisição da imagem, a tarefa de segmentação pode ser 17 facilitada, mas ao contrário, ele deverá se concentrar na seleção do tipo de equipamento ou sensor para melhor realçar os objetos de interesse, como um sensor infravermelho para detecção de objetos que tenham o calor como assinatura (GONZALEZ & WOODS, 2000). Para o desenvolvimento do trabalho selecionou-se duas técnicas de segmentação: a subtração de imagem e a limiarização. A subtração irá separar objetos de interesse da imagem de fundo (background), em seguida será aplicado o processo de limiarização, para deixar a imagem com as informações necessárias à análise. Subtração de Imagem Duas imagens de igual tamanho, após processadas com um operador, resulta em uma terceira imagem, com os pixels resultantes da operação. Na subtração de imagem pode ocorrer do resultado ser um número negativo, causando um underflow. Para corrigir este problema, deve-se igualar todo resultado negativo ao menor valor permitido que é “0” (MARQUES & VIEIRA, 1999). O sistema possui uma imagem que serve de fundo (background) para comparações com outras imagens. A cada ciclo do sistema a última imagem capturada é subtraída pelo background, segmentando objetos que não pertençam ao fundo. A Figura 12 (a) apresenta uma imagem inicial que, após ser subtraída da mesma cena em momento distinto, resultou na imagem da Figura 12 (b). (a) (b) Figura 12. Subtração de Imagem: (a) Imagem original; (b) Imagem resultado Fonte: Comunello (2010). 18 A aplicação da subtração de uma imagem por outra está na detecção de diferenças quando adquiridas de forma consecutiva e da mesma cena, pois, ao subtrair dois pixels iguais e na mesma posição, o resultado será “0”, destacando objetos que não pertençam à primeira imagem (MARQUES & VIEIRA, 1999). Atualização do Background O sistema necessita de uma imagem de fundo que sirva de background para realizar a segmentação. Uma solução simples é obter a imagem do cenário sem presença de veículos ou pedestres ou, especificar uma cor para o fundo (técnica muito utilizada no cinema). Como a via pública é um ambiente não controlado, o operador escolhe e salva uma imagem sem objetos como background, e esta irá permanecer sem alterações na Base de Dados. A partir do background inicial, o sistema irá utilizar-se de sequências de imagens para atualizá-lo na memória principal através da média ou da mediana. A média é simples e eficiente, mas influenciada por valores discrepantes. A mediana é uma estatística mais robusta, porém exige maior custo computacional e de armazenamento (LARA, 2006). A atualização do background tem a finalidade de anular ou, pelo menos, diminuir o impacto que as mudanças e variações ocorridas na cena de captura da imagem durante diferentes períodos do dia, como as variações de luminosidade e objetos estranhos à cena (veículo estacionado), possam comprometer a segmentação (LARA, 2006). Média: neste tipo de algoritmo o sistema utiliza-se de n sequências de imagens para calcular a média para o background. O background B(x) é estimado para cada pixel x através da Equação 1. Equação 1 Segundo Lara (2006), este algoritmo é rápido, porém não é muito robusto, podendo produzir um bom resultado para algumas sequências de imagens e, para outras, um resultado não tão bom. A utilização da média para a atualização do background não é a ideal, pois é uma estatística muito susceptível a valores discrepantes; 19 Mediana: é um algoritmo mais robusto em relação a valores discrepantes. Estima-se o fundo calculando a mediana dos valores dos pixels dos n primeiras sequências de imagens. O background B(x) é estimado para cada pixel x através da Equação 2. B(x) = Mediana {1 ≥ i ≥ n} f i(x) Equação 2 Limiarização Segundo Gonzalez e Woods (2000), a limiarização é uma das mais importantes abordagens para a segmentação de imagens, consistindo em converter uma imagem com níveis de cinza (preto e branco) em uma imagem binária contendo dois valores, geralmente (0,1) ou (0,255), tendo com base um valor de limite (limiar). Imagens com valor igual ou maior que o limiar são substituídos por “1”, e os valores abaixo mapeados com “0” (MIRANDA, 2006). A Figura 13 (a) mostra uma imagem original em tons de cinza e a Figura 13 (b) a mesma imagem depois de ser limiarizada. (a) (b) Figura 13. Limiarização: (a) imagem em tons de cinza; (b) imagem limiarizada Fonte: Adaptado de Nossaecologia (2011). A vantagem de trabalhar com imagens binárias é que elas contêm informações essenciais sobre cada objeto na imagem como: quantidade, posição e forma. Assim facilita os processos de reconhecimento e classificação. 20 A Equação 3 é utilizada para obtenção de objetos claros em fundo escuro, sendo f(xy) o pixel na posição (x,y) da imagem original e g(x,y) a imagem resultante (MIRANDA, 2006). Se f (x,y) ≥ l g (x,y) = 1 = objeto Senão g (x,y) = 0 = fundo Equação 3 2.3.2 Pré-Processamento Durante a aquisição da imagem poderão surgir alguns problemas como imperfeições, borramento, ruídos, objetos interrompidos ou mal conectados, contraste ou brilho inadequado, que podem dificultar a fase seguinte (extração de característica). Estes defeitos são tratados na fase de pré-processamento (MIRANDA, 2006). O pré-processamento consiste em uma técnica ou uma sequência de técnicas, de acordo ainda com o domínio do problema, com a finalidade de melhorar a qualidade da imagem para as etapas subsequentes (MARQUES & VIEIRA, 1999). Serão abordadas quatro técnicas para o pré- processamento de imagem: dilatação, erosão, abertura e fechamento, que sozinhas ou em combinações podem ser utilizadas para reduzir ruídos em imagens (GONZALEZ & WOODS, 2000). A dilatação expande os objetos em uma imagem enquanto a erosão encolhe estes objetos. A abertura suaviza o contorno dos objetos na imagem, quebra istmos estreitos e elimina as proeminências delgadas, enquanto o fechamento funde pequenas quebras e alarga golfos estreitos, eliminando ainda pequenos orifícios (MARQUES; VIEIRA, 1999). Dilatação A dilatação é o acréscimo de uma camada de pixel nas bordas externas e/ou internas do objeto. O resultado da dilatação é influenciado pela forma e pelo tamanho do elemento estruturante E, que ao “varrer” toda a imagem compara o seu ponto central com o ponto da imagem sobre o qual ele se encontra. Se o valor do pixel da imagem for igual a “1”, a imagem será expandida na direção em que os outros pontos do elemento estruturante forem iguais a “1” (MIRANDA, 2006). Aplicando a regra da Equação 4 é possível calcular a dilatação de uma imagem f por E, bastando para isso posicionar o elemento estruturante E de maneira que sua origem coincida com a 21 posição f(x,y), tendo como resultado a nova imagem g. Essa equação se aplica para imagensbinárias ou em níveis de cinza (MIRANDA, 2006). Se E faz contato com f g (x,y) = 1 Senão g (x,y) = 0 Equação 4 A Figura 14 (a) foi dilatada cinco vezes, resultando na Figura 14 (b) e, nesse caso, evidencia a importância da obtenção da estrutura interna da imagem. (a) (b) Figura 14. Dilatação: (a) imagem binária; (b) imagem dilatada 5 vezes Fonte: Adaptado de Nossaecologia (2011). Erosão A erosão tem efeito contrário à dilatação, retira pixels do objeto ao invés de adicionar. Nem sempre a erosão reverte o efeito da dilatação, podendo assim uma erosão seguida de dilatação eliminar ruídos da imagem ou objetos que não são de interesse (MIRANDA, 2006). A Figura 15 (a), página 22, apresenta uma imagem original e na sequência as Figuras 15 (b), (c) e (d) a mesma imagem modificada por duas, quatro e oito erosões, consecutivamente. Objetos menores e em destaque na Figura 15 (a) não são de importância, neste contexto, e foram excluídos pela erosão. Para recuperar o tamanho original dos objetos basta aplicar uma série de 22 dilatações igual ao número de erosões, não sendo possível recuperar os objetos excluídos, atuando, desta maneira, também na separação dos objetos de interesse com base em seu tamanho (MIRANDA, 2006). Comparando a Figura 15(a) com a Figura 15(d), observa-se que através da erosão foi possível excluir objetos menores e que não são de interesse. Outra observação é que a Figura 15(d) está menor e distorcida em relação à imagem original. O tamanho original pode ser recuperado com sequências de dilatações, o que nem sempre ocorre com a forma. (a) (b) (c) (d) Figura 15. Erosão: (a) imagem original; (b) 2 erosões; (c) 4 erosões; (d) 8 erosões 23 O princípio da erosão é o mesmo da dilatação. Um elemento estruturante E percorre toda a imagem e, encontrando na imagem valor igual ao valor central de E, os pixels na vizinhança são modificados de acordo ainda com os valores de E. Para calcular a erosão, posiciona-se E de forma que sua origem fique nas coordenas do pixel da imagem (x,y) e aplica-se a regra da Equação 5 (MIRANDA, 2006). Se E se ajusta a f g(x,y) = 1 Senão g(x,y) = 0 Equação 5 Abertura Muitas operações morfológicas podem ser feitas com combinações de erosão e dilatação. A abertura de uma imagem f por um elemento estruturante E é definida por uma erosão seguida de uma dilatação. Essa operação tende a “abrir” pequenos espaços entre os objetos que se tocam na imagem, como a erosão, mas com a diferença de não diminuir o tamanho. Também pode ser usada para filtrar geometricamente os contornos dos objetos de uma imagem. Dependendo do elemento estruturante, cantos côncavos podem ser suavizados. Depois da abertura os objetos são melhores isolados, permitindo suas identificações e contagem (MIRANDA, 2006). A Figura 16 (b) exemplifica a separação de dois objetos por uma abertura. (a) (b) Figura 16. Abertura: (a) objetos ligados; (b) objetos separados 24 Segundo Gonzalez e Woods (2000), a abertura de um conjunto A por B é a combinação de uma erosão de A por B seguida de uma dilatação do resultado por B, conforme a Equação 6. A ○ B = (A Ө B) ⊕ B Equação 6 Fechamento O fechamento de uma imagem é o resultado de uma dilatação seguida de uma erosão. Essa operação tem a finalidade de preencher espaços vazios do objeto, cujo grau e preenchimento depende do tamanho do elemento estruturante, quanto maior, mais efeito de preenchimento terá. O fechamento também pode ser utilizado para suavizar contornos de objetos que possam apresentar a aparência dente-de-serra em seus contornos (MIRANDA, 2006). O fechamento de um conjunto A por B é a combinação de uma dilatação de A por B seguida de uma erosão do resultado por B, conforme a Equação 7 (GONZALEZ & WOODS, 2000) . A ● B = (A ⊕ B) Ө B Equação 7 2.4 EXTRAÇÃO DE CARACTERÍSTICAS Após a imagem ser segmentada em regiões e pré-processada, os dados estão em forma de pixels contidos em uma região, e precisam ser convertidos em uma forma adequada para o processamento computacional, ou seja, é necessário extrair características destes dados, através de descritores, que permitam caracterizar com precisão cada objeto de maneira adequada ao algoritmo de reconhecimento (MARQUES & VIEIRA, 1999). Os descritores extraem as características de um objeto ou região e podem ser classificados em dois tipos, conforme a região ou objeto sejam representados: descritor de fronteira (representação externa) e descritor regional (representação interna) (GONZALEZ & WOODS, 2000). Um descritor simples de fronteira pode contar os pixels ao logo do contorno e fornecer uma aproximação do comprimento do objeto, enquanto um descritor de região pode contar o número de pixels contidos dentro de uma região e obter sua área (GONZALEZ & WOODS, 2000). 25 Para o trabalho foi definido que o sistema irá utilizar-se do número de pixels contido nos objetos (pedestres e veículos) obtendo assim sua área (descrição), ou seja, um descritor de região. Na subseção a seguir será apresentada a técnica de rotular componentes conexos (labelling), fundamental para a descrição de objetos em uma imagem, para o reconhecimento e para a interpretação. A Figura 17 ilustra a técnica utilizada na extração de características e sua relação com a Base de Conhecimento. Desta etapa resultam os objetos encontrados e seus respectivos valores (em pixels), os quais serão classificados na etapa seguinte. A extração de características está relacionada com a Base de Informação porque necessita das coordenadas das áreas da imagem das quais serão rotulados os objetos encontrados. Figura 17. Extração de Características Fonte: Adaptado de Marques e Vieira (1999). 2.4.1 Rotulação de Componentes Conexos Segundo Wangenheim (2011), métodos para rotular componentes conexos são utilizados para extrair os diferentes objetos de uma imagem de acordo com alguma característica, 26 normalmente a sua cor. Utiliza-se para determinar que parte da imagem pertence a qual objeto e para resolver ambiguidades quando diferentes objetos possuem atributos similares ou idênticos. A rotulação de componentes conexos consiste em atribuir um valor único (label) a cada objeto da imagem, e essa habilidade é fundamental na análise. Informações importantes podem ser obtidas de um objeto através deste processo como: quantidade, tamanho da área, centro geométrico e pontos extremos (GONZALEZ & WOODS, 2000). Desta forma, fica evidente a importância da rotulação neste trabalho por estar diretamente relacionado com a descrição, classificação e o reconhecimento. A seguir é definido um componente conexo, com a finalidade de facilitar a compreensão do algoritmo de rotulação. Componentes Conexos O componente conexo em uma imagem é um subconjunto que, qualquer dois pontos deste subconjunto possam ser acessados por uma curva que pertença totalmente a esse subconjunto (GONZALEZ; WOODS, 2000). A Figura 18 ilustra três objetos que podem ser chamados de subconjuntos. A partir de um pixel rotulado é possível chegar a qualquer outro elemento daquele subconjunto com uma curva interna. Em resumo, a partir de um pixel é possível chegar a qualquer outro pixel do mesmo objeto desde que sejam conexos. Observa-se na Figura 18 que o número diferente de rótulo (labels) é igual à soma dos objetos (três). Figura 18. Rotulação de Pixels 27 Algoritmo de rotulação Para extrair os componentes conexos de uma região considera-se que a imagem seja percorrida pixel por pixel, da esquerda para a direita e de cima para baixo (sequencial). Seja p o pixel em qualquer passo no processo de varredura e r e t , respectivamente, os vizinhos superior e esquerdo. Consideram-se,ainda, as seguintes situações durante a varredura: (1) primeira linha e (2) primeiro elemento (GONZALEZ & WOODS, 2000). A partir deste conceito são executadas duas varreduras completas na imagem. Para a primeira varredura são seguidos os seguintes procedimentos (componentes conectados-de-4): Primeiro elemento da primeira linha: - Se p = 0, mova para a próxima posição; - Se p = 1, atribuir um rótulo a p. Demais elementos da primeira linha: - Se p = 0, mova para a próxima posição; - Se p = 1, examinar t. Se t = 0, atribuir novo rótulo a p. Se t = 1, atribuir o rotulo de t a p, mova para próxima posição. Se não for a primeira linha e for o primeiro elemento: - Se p = 0, mova para próximo elemento; - Se p = 1, examinar r. Se r = 0, atribuir um novo rótulo a p. Se r = 1, atribuir seu rótulo a p. Demais elementos: - Se p = 0, mova para próximo elemento; - Se p = 1, examinar r e t. - Se r = 0 e t = 0, atribuir um novo rótulo a p. 28 - Se apenas um dos vizinhos for igual a 1, atribua seu rótulo a p. - Se r = 1 e t = 1 e possuem o mesmo rótulo, atribuir este rótulo a p. - Se r = 1 e t = 1 e possuem rótulos diferentes, atribuir um dos valores a p e anotar que os dois rótulos são equivalentes (r e t estão conectados por p). Ao fim da varredura todos os pontos da imagem (pixels) com valor 1 terão sido rotulados (dado um valor), devendo-se ordenar todos os valores equivalentes em classes de equivalência. Na segunda varredura da imagem serão tratados todos os elementos equivalentes, dando um mesmo rótulo para elementos conectados por diferentes rótulos. 2.4.2 Descritores regionais Um descritor regional que define o tamanho da área, número de pixels, dos objetos foi escolhido para o projeto. O descritor retorna o tamanho do objeto encontrado que em seguida é classificado dentro de classes de objetos pela comparação dos dados da Base de Informação (tamanho de veículo e tamanho de pedestre). A área e o perímetro também podem ser utilizados como descritores, geralmente em situações que o objeto não varie de tamanho. O uso mais frequente deste descritor é na medida da “compacidade” de uma região, definida pela Equação 8. A compacidade é uma quantidade sem dimensões, invariante a mudanças de escala e invariante à orientação (GONZALEZ & WOODS, 2000). O perímetro é obtido pela soma dos pixels da borda e a área pela soma dos pixels internos do objeto. Compacidade = (perímetro)²/ área Equação 8 Outra forma de extrair a característica de uma região é através do descritor topológico, quer seja pelos buracos dentro desta região ou pelo seu número de componentes conexos. As propriedades topológicas são úteis para descrição global de regiões no plano da imagem, e está relacionada às propriedades da figura que não são afetadas por deformações. Este tipo de descritor tem a vantagem de não ser afetado por rotação ou por “esticamento” da imagem. (GONZALEZ & WOODS, 2000). 29 Um descritor topológico pode descrever os objetos da Figura 19 pelo número de objetos (13), pelos diferentes tamanhos (3) ou pelos objetos que possuem buracos (1) ou não (12). Figura 19. Componente conexo com buracos em destaque 2.5 RECONHECIMENTO E INTERPRETAÇÃO Conforme Marques e Vieira (1999), reconhecimento é o processo no qual se atribui um rótulo a um objeto com base em suas características, que são traduzidas por um descritor. A interpretação, por outro lado, atribui um significado ao conjunto de objetos já reconhecidos. Para resolver um problema referente à análise da imagem, é necessário que já exista uma grande base de dados onde o sistema irá buscar por características que possam classificar o objeto. Essa base de dados pode variar seu valor e complexidade de acordo com a aplicação (MARQUES & VIEIRA, 1999). A Subseção 2.5.1 trata dos três níveis de processamento dentro da análise de imagem e a Subseção 2.5.2 aborda a técnica que será utilizada dentro do processamento de alto nível, que pode variar de acordo com a abordagem do problema a ser resolvido. No projeto a técnica é baseada em Sistemas Especialista. 30 A Figura 20 ilustra a técnica utilizada para o reconhecimento de objetos (pedestre/ veículo) e sua interpretação (em espera ou movimento) dentro de uma VT (Via de Trânsito). O acesso à Base de Informações garante os dados necessários para a classificação de objetos bem como da atualização da TIVT (Tabela de Informações da Via de Trânsito). Figura 20. Reconhecimento e Interpretação Fonte: Adaptado de Marques e Vieira (1999). 2.5.1 Análise de Imagens Segundo Gonzalez e Woods (2000), a maior parte das abordagens de sistemas computacionais para a análise de imagens são projetadas sob formulações heurísticas para a resolução de problemas específicos. Nos ambientes controlados (controle de iluminação e de background) os sistemas computacionais conseguem muitas vezes superar a capacidade humana. As técnicas de análise de imagem podem ser divididas em três áreas básicas: (1) processamento de baixo nível, (2) processamento de nível intermediário e (3) processamento de alto 31 nível. Muitas vezes estas áreas se confundem e não é possível definir exatamente onde começa uma e termina a outra (GONZALEZ & WOODS, 2000). A Figura 21 ilustra as áreas da análise da imagem. A captura de imagem e processamento, desde o processo de formação da imagem, segmentação e até compensações, como diminuição do ruído ou do borramento da imagem, fazem parte do processamento de baixo nível. Essas funções são vistas como automáticas e que não requer qualquer tipo de inteligência por parte do sistema de análise de imagem (GONZALEZ & WOODS, 2000). Figura 21. Elementos de análise de imagens Fonte: Adaptado de Gonzalez e Woods (2000). O processamento de nível intermediário trata da extração e caracterização de objetos em uma imagem que já tenha passado pelo processo de baixo nível. Nessa etapa realiza-se a descrição na qual já está definida por um descritor de área (GONZALEZ & WOODS, 2000). No processamento de alto nível é realizado o reconhecimento e interpretação, processos que possuem forte semelhança ao que se refere com cognição inteligente. Nos processamentos de baixo e médio nível são incluídos conjuntos bem definidos de formulações teóricas, mas ao entrar na parte de reconhecimento e compreensão e, especialmente em interpretação, o conhecimento e compreensão dos princípios fundamentais tornam-se mais imprecisos e especulativos. O resultado é 32 um sistema com capacidades operacionais altamente especializadas (GONZALEZ & WOODS, 2000). A Figura 22 ilustra a rotulação de objetos conforme suas características. No exemplo têm- se três classes de objetos (a, b e c), rotulados de acordo com o tamanho da área. O reconhecimento envolvido no processamento de alto nível pode atribuir um rótulo definido pelo número de buracos nos objetos e, nesse caso, haveria duas classes. Figura 22. Objetos rotulados É possível obter diversas informações úteis de uma região com os componentes conexos rotulados. Ao somar os diferentes tipos de rótulo obtém-se o número de classes de objetos (objetos distintos), ao passo que, somando todos os rótulos indistintamente tem-se o número de objetos da região. 2.5.2 Sistemas Especialistas Segundo Gonzalez e Woods (2000), Sistemas Especialistas são sistemas homem-máquina com conhecimento especializado de resolução de problemas, e o nome especialista reflete o fato que esses sistemas são geralmente baseados em conhecimento obtido de pessoas que sejam especialistas em sua área. 33 As regras usadas nos Sistemas Especialistas tem a forma Se (condição) Então (ações), e por meio de uma sequência de regras mantém a TIVT (Tabela de Informações da Via de Trânsito) atualizada. Todos os conceitosem um Sistema Especialista devem ser definidos e armazenados onde as regras possam buscar as informações necessárias (GONZALEZ & WOODS, 2000). No protótipo estas informações estão armazenadas na Base de Informações. Em sistemas complexos, com vários semáforos, cruzamentos e áreas para análise, um Sistema Especialista é fundamental para manter atualizada a TIVT. O projeto prevê, porém, a análise de uma VT com semáforo único e optou-se, então, por substituir o Sistema Especialista por um conjunto de regras que desempenha a mesma função. As regras possibilitam a classificação e o reconhecimento dos objetos na imagem, interpretando as duas situações possíveis (espera ou movimento). Ocorrendo divergência entre os dados atuais da VT e as informações da TIVT, esta será atualizada. O algoritmo das regras utilizadas no protótipo encontra-se no Apêndice B. Para a análise correta das informações é importante a definição do conceito de “espera e movimento” na VT (Via de Trânsito), descritos na Tabela 2 de acordo com as Figuras 23 e 24 da página 34. Tabela 2. Definição de Espera e Movimento Área Semáforo Conceito Observação Fluxo de Veículo verde Veículo em movimento - Espera de Veículo verde Veículo em movimento - Fluxo de Pedestre verde Ignorar Tanto pode ser um veículo como um pedestre. Espera de Pedestre verde Pedestre em Espera - Fluxo de Veículo vermelho Veículo em movimento Pode significar engarrafamento. Espera de Veículo vermelho Veículos em espera - Fluxo de Pedestre vermelho Pedestre em movimento Veículo furando o sinal. Espera de Pedestre vermelho Ignorar Para atravessar ou não a VT. 34 Nas Figuras 23 e 24 é possível observar as áreas selecionadas que junto com o status do semáforo (vermelho ou verde) formam os conceitos de espera e movimento. (a) (b) Figura 23. Conceito de espera e movimento: (a) áreas selecionadas; (b) semáforo aberto (a) (b) Figura 24. Conceito de espera e movimento: (a) áreas selecionadas; (b) semáforo fechado 35 Observa-se na Figura 25 que o ônibus cobre a visão da faixa do pedestre (área de fluxo de pedestre) e da calçada (área de espera de pedestre), podendo assim comprometer uma análise correta. Figura 25. Oclusão da área de interesse Para evitar a obstrução (oclusão) do campo de visão das áreas de interesse deverão ser realizados estudos para a obtenção do melhor ângulo e da altura ideal para a instalação do equipamento de captura de imagem. 2.6 TRABALHOS SIMILARES Uma das etapas do trabalho foi a pesquisa sobre SI (Semáforos Inteligentes), em desenvolvimento ou em operação, com a finalidade de compreender a forma como estes dispositivos atuam no controle de fluxo nas VT (Vias de Trânsito). Entre o material encontrado sobre SI destacam-se dois projetos, um desenvolvido no Brasil com origem na UFSC (Universidade Federal de Santa Catarina) e outro desenvolvido na Europa por engenheiros também ligados a centros de formação acadêmica. Ambos os projetos buscam melhorar o fluxo no trânsito modificando o ciclo semafórico de estático para dinâmico. Observou-se, porém, 36 que o “fator” pedestre não foi considerado em nenhum dos casos, restringindo o problema ao fluxo de veículos. A pesquisa estendeu-se também às tecnologias utilizadas para controlar fluxo das VT em outros países, sendo encontradas duas formas distintas, uma centralizada relacionada à tradição inglesa e outra com a automação dos semáforos baseada em informações locais, relacionada à tradição norte-americana. Nos sistemas de controle centralizados (tradição inglesa) um computador carrega o tempo desejado no controlador do semáforo à distância, o qual passa a alternar seu ciclo no controle da VT de acordo com a nova variável, reprogramando o tráfego (PIETRANTONIO & BONETTI, 2007). Segundo Pietrantonio e Bonetti (2007), grande parte das rodovias nos Estados Unidos utilizam sistemas baseados em informações locais como a semi-atuação (Subseção 2.6.2) e, também comum, o controle de Volume-Densidade, não disponível nos controladores de tráfego desenvolvidos no Brasil. Estes sistemas se baseiam na contagem dos veículos que chegam enquanto o semáforo está fechado. O resultado da contagem irá determinar o início do sinal verde e, também, o tempo que o sinal permanecerá aberto. 2.6.1 Semáforo Atuado pelo Tráfego No controle atuado pelo tráfego de veículos os sensores instalados na VT permitem que os semáforos programem automaticamente o tempo do seu ciclo, caso ocorra grande variação no fluxo de um dia para outro ou em horários específico. Um exemplo é o sensor com botão para o pedestre acionar. Neste tipo de dispositivo a preferência é para o fluxo de veículos e o sinal é fechado temporariamente e ocasionalmente quando um pedestre aciona o sensor (DENATRAM, 1984). Segundo Yuki (2008), a variação no fluxo de veículos que chegam aos semáforos é aleatória e esta característica orienta os sistemas de controle atuado, que podem ser de dois tipos: atuação total e semi-atuação. A atuação total não prioriza a orientação do movimento em cruzamentos, garantindo a mesma importância para as VT (YUKI, 2008). Na semi-atuação o sensor é instalado apenas na via secundária (pouco movimento), desta maneira a via principal ficará sempre aberta e somente será fechada quando o sensor detectar certa quantidade de veículos (PIETRANTONIO & BONETTI, 2007). 37 Segundo Pietrantonio e Bonetti(2007), os semáforos atuado pelo tráfego não tem sido largamente utilizados no Brasil por vários fatores, entre eles o custo e a manutenção do sensores (laços indutivos), falta de conhecimento técnico para uso e programação e a ausência de recursos mais avançados nos equipamentos nacionais . 2.6.2 Semáforo Inteligente Nacional O projeto Contreal (Controle de Trafego por Área em Tempo Real) é coordenado pelo professor Werner Kraus Junior da UFSC (Universidade Federal de Santa Catarina) e fazem parte da sua equipe cinco professores, dois engenheiros, cinco alunos de graduação, um mestrando e dois doutorandos (DASSOW, 2008). Werner Kraus iniciou o projeto no ano 2000 quando firmou parceria com a Brascontrol, empresa brasileira que atua na área de controle de tráfego, desde 1992, fabricando equipamentos como radares, lombadas eletrônicas e controladores de trânsito (DASSOW, 2008). O núcleo de pesquisa do Departamento de Automação e Sistema da UFSC fez contato com o professor Markos Papageorgiou, pesquisador da Universidade Tecnológica de Creta (Grécia) na área de controle de tráfego em tempo real, em 2004, e depois de um ano firmou convênio com o especialista que forneceu ao grupo da UFSC os fundamentos teóricos para definir a linha conceitual do trabalho. Também foi fornecido um software que foi incorporado ao sistema brasileiro (DASSOW, 2008). O Contreal consiste de sensores no pavimento das vias próximo aos semáforos capazes de contar o número de veículos. Os dados da contagem de tráfego são enviados à central de controle a cada ciclo semafórico, que dura de um a dois minutos. Com os dados do tráfego, a central calcula em tempo real os tempos do ciclo semafóricos para a região controlada. A comunicação entre controladores e central é feita via celular usando a tecnologia GPRS (General Packet Radio Service – Serviço de Rádio de Pacote Geral)/ GSM (Global System for Mobile Communications - Sistema Global para Comunicações Móveis). 38 A Figura 26 ilustra a central do Contreal e faz parte do catálogo do produto da Brascontrol. Figura 26. Central do Contreal Fonte: FZDESIGN (2010). A Figura 27 ilustra o Layout do Software do Contreal e compõe o catálogo do produto da Brascontrol. Figura 27. Layout do Software do Contreal Fonte: FZDESIGN (2010). 39 Os resultados alcançados
Compartilhar