• Nenhum resultado encontrado

Extraindo dados de tráfego a partir de vídeos em tempo real

N/A
N/A
Protected

Academic year: 2021

Share "Extraindo dados de tráfego a partir de vídeos em tempo real"

Copied!
80
0
0

Texto

(1)Universidade Federal do Rio Grande do Norte Centro de Ciências Exatas e da Terra Departamento de Informática e Matemática Aplicada Programa de Pós-Graduação em Sistemas e Computação Mestrado Acadêmico em Sistemas e Computação. Extraindo Dados de Tráfego a partir de Vídeos em Tempo Real. Luiz Fernando Virgínio da Silva. Natal-RN Julho de 2017.

(2) Luiz Fernando Virgínio da Silva. Extraindo Dados de Tráfego a partir de Vídeos em Tempo Real. Dissertação de Mestrado apresentada ao Programa de Pós-Graduação em Sistemas e Computação do Departamento de Informática e Matemática Aplicada da Universidade Federal do Rio Grande do Norte como requisito parcial para a obtenção do grau de Mestre em Sistemas e Computação. Linha de pesquisa: Processamento Gráfico e Inteligência Computacional. Orientador. Prof. Dr. Bruno Motta de Carvalho. PPgSC – Programa de Pós-Graduação em Sistemas e Computação DIMAp – Departamento de Informática e Matemática Aplicada CCET – Centro de Ciências Exatas e da Terra UFRN – Universidade Federal do Rio Grande do Norte. Natal-RN Julho de 2017.

(3) Catalogação da Publicação na Fonte. UFRN / SISBI / Biblioteca Setorial Especializada do Centro de Ciências Exatas e da Terra – CCET. Silva, Luiz Fernando Virgínio da. Extraindo dados de tráfego a partir de vídeos em tempo real / Luiz Fernando Virgínio da Silva. – Natal, RN, 2017. 78f. : il. Orientador: Bruno Motta de Carvalho. Dissertação (mestrado) – Universidade Federal do Rio Grande do Norte. Centro de Ciências Exatas e da Terra. Departamento de Informática e Matemática Aplicada. Programa de Pós-Graduação em Sistemas e Computação. 1. Processamento de imagens – Dissertação. 2.Vigilância de tráfego – Dissertação. 3. Visão computacional – Dissertação. 4. Aprendizado de máquina – Dissertação. 5. Detecção – Dissertação. 6. Rastreamento – Dissertação. I. Carvalho, Bruno Motta de. II. Título. RN/UF/BSE-CCET. CDU 004.932(043.3).

(4) Dissertação de Mestrado sob o título Extraindo Dados de Tráfego a partir de Vídeos em Tempo Real apresentada por Luiz Fernando Virgínio da Silva e aceita pelo Programa de Pós-Graduação em Sistemas e Computação do Departamento de Informática e Matemática Aplicada da Universidade Federal do Rio Grande do Norte, sendo aprovada por todos os membros da banca examinadora abaixo especificada:. Prof. Dr. Bruno Motta de Carvalho Presidente DIMAp – Departamento de Informática e Matemática Aplicada UFRN – Universidade Federal do Rio Grande do Norte. Profa. Dra. Anne Magaly de Paula Canuto Examinador Interno DIMAp – Departamento de Informática e Matemática Aplicada UFRN – Universidade Federal do Rio Grande do Norte. Prof. Dr. Aluísio Igor Rego Fontes Examinador Externo IFRN – Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte. Natal-RN, 31 de Julho de 2017.

(5) Dedico este trabalho a minha família e as demais pessoas que estiveram ao meu lado nesta jornada..

(6) Agradecimentos Agradeço primeiramente a Deus pelo dom da vida e pela força de vontade que me concedeu para vencer os obstáculos em meu caminho. Agradeço aos meus pais Francisca e Luiz que dedicaram a vida inteira a seus filhos, nos ensinando valores morais e éticos, resultando em quem somos hoje, pessoas íntegras. Agradeço imensamente ao meu orientador, professor Bruno Motta, pela sua disponibilidade, ajuda, incentivo e conselhos me ofertados durante o curso, pelo ensinamento e paciência nos momentos difíceis. Aos amigos e colegas que fiz durante a trajetória do mestrado, em especial aos meus irmãos André Vinícius e Robercy Alves, pelas conversas tidas durante os intervalos das aulas, sempre regadas de bom humor, pelo companheirismo e conselhos nas horas sérias. Agradeço também a todos que fazem parte do programa de pós-graduação do DIMAp, aos professores que pude conviver durante este tempo, de um jeito especial a professora Anne Magaly, pelas considerações feitas na ocasião da minha qualificação, e ao grupo de pesquisa da inteligência computacional..

(7) A persistência é o caminho do êxito. Charles Chaplin.

(8) Extraindo Dados de Tráfego a partir de Vídeos em Tempo Real Autor: Luiz Fernando Virgínio da Silva Orientador(a): Prof. Dr. Bruno Motta de Carvalho. Resumo Alguns dos maiores problemas nas grandes cidades estão relacionados com a mobilidade urbana. Problemas como congestionamentos e acidentes impactam diretamente, de modo negativo na sociedade, e são muitas vezes atribuídos à falta de planejamento urbano por parte dos governantes, à falta de políticas públicas e projetos de pesquisa que proporcionem uma solução, mesmo que de forma parcial, ao problema. Estas projetos de pesquisa dependem de dados que devem ser coletados in loco nas principais avenidas e ruas da cidade, hoje realizado de forma manual através da observação de imagens geradas por câmeras de CFTV (Circuito Fechado de TV), principal meio de vigilância no trânsito. Assim, surge a necessidade de uma solução que seja capaz de automatizar a coleta destes dados de forma a reduzir custos com pessoal, otimizar o trabalho e reduzir, também, erros oriundos deste tipo de operação. Desta forma, propomos um método capaz de coletar estes dados de forma automática, em tempo real, utilizando estas imagens de vídeos para subsidiar pesquisas e detectar possíveis ações no trânsito. Nosso método consiste em um fluxo sequencial de atividades o qual submetemos as imagens. Primeiro, utilizamos segmentação por movimento para detectar objetos em movimento. Em seguida, aplicamos, em cada objeto segmentado, uma adaptação do método de Viola-Jones para refinar a busca na detecção de veículos, classificando-os. Nesta etapa, tratamos situações de oclusão, fenômeno comum de sobreposição de objetos que interfere diretamente nos resultados, e, por fim, aplicamos o método de Senior para rastreamento de cada veículo classificado a fim de obtermos dados relevantes do tráfego, inicialmente a direção, velocidade e intensidade do fluxo. Submetemos alguns vídeos coletados em uma avenida de grande circulação a fim de testarmos nosso método. Como resultado, construímos um modelo eficiente e com custo computacional baixo capaz de tratar situações de oclusão sob diferentes condições de iluminação, sendo esta a principal contribuição deste trabalho. Palavras-chave: Vigilância de Tráfego, Processamento de Imagens, Visão Computacional, Aprendizado de Máquina, Detecção, Rastreamento..

(9) Extracting Traffic Data from Videos in Real-Time. Author: Luiz Fernando Virgínio da Silva Advisor: Prof. Dr. Bruno Motta de Carvalho. Abstract Some of the major problems in large cities are related to urban mobility. Problems such as traffic jams and vehicle accidents directly impact society in a negative way, and are usually attributed to lack of urban planning from governments, the lack of public policies or research projects aimed at solving this problems, even if partially. These researche projects depend on data that must be collected in loco on the main avenues and streets of the city, that are now performed manually through the observation of images captured by CCTV cameras (Closed Circuit TV), the main means of traffic surveillance in the city. Thus, there is a need for a solution that is able to automaticaly collect these data in order to reduce costs with personnel, optimize the work and also reduce errors that arise from this operation. In this way, we propose a method capable of collecting this data automatically, in real time, using these video images to support the researche projects and explore possible actions in traffic management. Our method consists of a continuous flow of activities that use the collected images. First, it uses motion segmentation to detect moving objects. Then, we apply, in each segmented object, an adaptation of the Viola-Jones method to refine the search in the detection of vehicles, classifying them. In this step, we deal with occlusion situations, a common phenomenon of objects overlapping that directly interfere on results. Finally, we apply the Senior method to track each vehicle in order to obtain relevant traffic data, initially direction, speed and intensity of flow. We submit some videos collected on a large avenue to test our method. As a result, we construct an efficient model with low computational cost capable of handling situations of occlusion in distincts lighting conditions, which is the main contribution of this work. Keywords: Traffic Monitoring, Image Processing, Computer Vision, Machine Learning, Detection, Tracking..

(10) Lista de Figuras 1.1. Equipamento de radar fixo, sensor infravermelho acoplado a uma câmera. p. 16. 1.2. Esquema de funcionamento de sensores magnéticos instalados sob o asfalto. p. 16. 1.3. Macro esquema do sistema automatizado de gerenciamento de tráfego.. p. 17. 1.4. Interação e módulos da aplicação. . . . . . . . . . . . . . . . . . . . . .. p. 19. 2.1. Módulo de pré-processamento e segmentação. . . . . . . . . . . . . . .. p. 21. 2.2. Imagem da lombar gerada a partir de um aparelho de raio-X (a) original e (b) tratada através de um filtro de aguçamento na etapa de préprocessamento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 22. 2.3. Convenção dos eixos para representação de imagens digitais. . . . . . .. p. 23. 2.4. Passos fundamentais em processamento de imagens. . . . . . . . . . . .. p. 24. 2.5. Máscara 3 × 3 com pesos. . . . . . . . . . . . . . . . . . . . . . . . . .. p. 28. 2.6. Aplicação do filtro passa-baixas (à direita). . . . . . . . . . . . . . . . .. p. 30. 2.7. Aplicação do filtro de mediana (à direita) e do filtro passa-baixas (abaixo). p. 31. 2.8. Aplicação do filtro passa-altas (à direita). . . . . . . . . . . . . . . . . .. p. 32. 2.9. Aplicação do filtro alto reforço (à direita) com A = 1, 2. . . . . . . . . .. p. 32. 2.10 Histograma (à direita) da imagem (à esquerda), este relaciona o número de níveis de cinza utilizados (eixo x) com a frequência de pixels (eixo y) para cada nível de cinza. . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 33. 2.11 Histograma (à direita) da imagem (à esquerda), este relaciona o número de níveis de cinza utilizados (eixo x) com a frequência de pixels (eixo y) para cada nível de cinza. . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 34. 2.12 Detecção de linhas horizontais. . . . . . . . . . . . . . . . . . . . . . . .. p. 36. 2.13 Detecção de bordas através de operadores de gradientes. . . . . . . . .. p. 37.

(11) 2.14 Imagem limiarizada com T = 50 (à esquerda) e utilizando limiarização adaptativa (à direita). . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 38. 2.15 Imagem limiarizada com T = 100 após detecção de bordas (à esquerda), a mesma imagem dilatada com elemento estruturante 3 × 3 (à direita) e, noutra ocasião, a mesma imagem erodida com elemento estruturante 3 × 3 (abaixo). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 43. 2.16 Imagem (à esquerda) submetida ao processo de fechamento (à direita) e, noutra ocasião ao processo de abertura (abaixo). . . . . . . . . . . . . .. p. 44. 3.1. Módulo de detecção e rastreamento. . . . . . . . . . . . . . . . . . . . .. p. 46. 3.2. Estrutura de uma árvore de decisão baseada em um dataset de análise de risco de crédito (LAROSE; LAROSE, 2015). . . . . . . . . . . . . .. 3.3. p. 50. Conjunto de características utilizadas por Viola-Jones em seu trabalho original (VIOLA; JONES, 2001). . . . . . . . . . . . . . . . . . . . . .. p. 52. 3.4. Arquitetura da cascata proposta por Viola-Jones (VIOLA; JONES, 2001). p. 53. 3.5. Características adicionadas por Lienhart, Kuranov e Pisarevsky ao conjunto original proposto por Viola-Jones (LIENHART; KURANOV; PISAREVSKY, 2003).. 3.6. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Casos de oclusões parciais para faces gerados por Lin, Liu e Fuh (LIN; LIU; FUH, 2007). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3.7. p. 53. p. 54. Casos de oclusão tratados para carros de passeio (linha superior) e motocicletas (linha inferior). . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 55. 3.8. Medida de distância por caixa delimitadora. . . . . . . . . . . . . . . .. p. 56. 3.9. Esquema do processo de contagem e estimativa de velocidade média.. p. 58. 4.1. Aplicação dos métodos de segmentação, (a) Ground-Truth, (b) Diferença. .. Absoluta entre Frames, (c) MoG de KaewTraKulPong-Bowden, (d) MoG de Zivkovi, (e) GMG, (f) Pixel Based Adaptive Segmenter. . . . . . . .. p. 62. 4.2. Gráfico para dados da tabela 4.1. . . . . . . . . . . . . . . . . . . . . .. p. 64. 4.3. Exemplos de amostras positivas para as classes (a) carros de passeio e. 4.4. (b) motocicletas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 65. Exemplos de amostras negativas extraídas da Web. . . . . . . . . . . .. p. 66.

(12) 4.5. Casos de oclusões resolvidos em diversos vídeos de vigilância no trânsito. p. 67. 4.6. Situações geradas a partir do não tratamento de oclusões . . . . . . . .. p. 67. 4.7. Aplicação em execução para um vídeo capturado pela manhã. . . . . .. p. 68. 4.8. Aplicação em execução para um vídeo capturado ao entardecer. . . . .. p. 69. 4.9. Aplicação em execução para um vídeo capturado à noite. . . . . . . . .. p. 70. 4.10 Fragmento do arquivo de texto com os dados dos veículos detectados. .. p. 70. 4.11 Arquitetura de sistema (superior) e de classes da aplicação (inferior). .. p. 71.

(13) Lista de Tabelas 4.1. Tempo de processamento dos métodos de segmentação em ordem decrescente de FPS, logo os primeiros métodos são considerados mais rápidos.. 4.2. 4.3. p. 61. Recall dos métodos de segmentação, com exceção do PBAS, em ordem decrescente para cada vídeo de teste (manhã, entardecer e noite). . . .. p. 63. Resultados da aplicação em sua versão final. . . . . . . . . . . . . . . .. p. 66.

(14) Lista de Abreviaturas e Siglas CFTV – Circuito Fechado de TV ROI – Region of Interest ou Região de Interesse Pixel/Pel – Picture Element HDD – Hard Drive Disk ou Disco Rígido RGB – Padrão de cores Red, Green, Blue ou Vermelho, Verde, Azul GMM – Gaussian Mixture Model ou Modelo de Mistura de Gaussianas MoG – Mixture of Gaussian ou Mistura de Gaussianas GMG – Godbehere, Matsukawa e Goldberg PBAS – The Pixel-Based Adaptive Segmenter OpenCV – Open Source Computer Vision Library ou Biblioteca de Visão Computacional em Código Aberto STL – Standard Template Library SVM – Support Vector Machine AD – Árvore de Decisão FPS – Frames (ou quadros) por segundo TP – True Positive ou Verdadeiro Positivo FN – False Negative ou Falso Negativo WWW/Web - World Wide Web ou Rede Mundial de Computadores CNN – Convolutional Neural Network ou Rede Neural Convolucional.

(15) Sumário. 1 Introdução. p. 15. 1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 18. 1.2. Organização da Dissertação . . . . . . . . . . . . . . . . . . . . . . . .. p. 19. 2 Pré-processamento e Segmentação. p. 21. 2.1. Relacionamentos Básicos entre Pixels . . . . . . . . . . . . . . . . . . .. p. 25. 2.2. Operações Básicas entre Pixels. . . . . . . . . . . . . . . . . . . . . . .. p. 27. 2.3. Processamento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 28. Filtragem no Domínio Espacial . . . . . . . . . . . . . . . . . .. p. 29. 2.3.1.1. Filtros de Suavização . . . . . . . . . . . . . . . . . . .. p. 29. 2.3.1.2. Filtros de Aguçamento . . . . . . . . . . . . . . . . . .. p. 31. Operações com Histograma . . . . . . . . . . . . . . . . . . . .. p. 32. 2.3.2.1. Equalização . . . . . . . . . . . . . . . . . . . . . . . .. p. 33. Visão Computacional . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 34. 2.4.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 35. 2.4.1.1. Descontinuidade . . . . . . . . . . . . . . . . . . . . .. p. 35. 2.4.1.2. Limiarização . . . . . . . . . . . . . . . . . . . . . . .. p. 37. 2.4.1.3. Detecção de Movimentos . . . . . . . . . . . . . . . . .. p. 38. Operações Morfológicas . . . . . . . . . . . . . . . . . . . . . . .. p. 42. 2.4.2.1. Dilatação e Erosão . . . . . . . . . . . . . . . . . . . .. p. 42. 2.4.2.2. Abertura e Fechamento . . . . . . . . . . . . . . . . .. p. 43. 2.4.2.3. Outras Operações. p. 44. 2.3.1. 2.3.2. 2.4. 2.4.2. Segmentação. . . . . . . . . . . . . . . . . . . . ..

(16) 2.4.3. A Biblioteca OpenCV . . . . . . . . . . . . . . . . . . . . . . .. 3 Detecção e Rastreamento 3.1. 3.3. p. 46. Detecção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 48. 3.1.1. Classificador Árvore de Decisão . . . . . . . . . . . . . . . . . .. p. 49. 3.1.2. Abordagem Cascata de Classificadores utilizando Características Baseadas em Funções de Haar . . . . . . . . . . . . . . . . . . .. p. 51. Tratamento de Oclusão . . . . . . . . . . . . . . . . . . . . . . .. p. 54. Rastreamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 55. 3.2.1. Método de Senior et al . . . . . . . . . . . . . . . . . . . . . . .. p. 56. Extração de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 57. 3.3.1. Contagem Volumétrica e Estimativa de Velocidade Média . . . .. p. 57. 3.3.2. Direção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 59. 3.1.3 3.2. p. 45. 4 Experimentos e Resultados. p. 60. 4.1. Segmentação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 60. 4.2. Detecção e Rastreamento . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 64. 4.3. Aplicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. p. 67. 5 Considerações finais 5.1. Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. Referências. p. 72 p. 72 p. 74.

(17) 15. 1. Introdução. Os grandes centros urbanos estão em contínua e acelerada expansão devido ao inchaço populacional provocado, principalmente, pela migração da população rural à tais centros. Um estudo levantado pela Empresa de Pesquisa Energética, empresa pública vinculada ao Ministério de Minas e Energia da República Federativa do Brasil, prevê, para até 2050, um aumento na taxa de urbanização de 84% para 89% – aumento de cerca de 30 milhões de brasileiros em centros urbanos (ENERGÉTICA, 2015) –. O mesmo estudo prevê, também, um aumento significativo da frota de veículos leves, cerca de três vezes mais em relação ao cenário atual. Tais previsões causam preocupação tanto para a população quanto para os órgãos competentes, uma vez que já vivemos em tempos caóticos quando nos referimos à mobilidade urbana. Este problema nos grandes centros, como por exemplo São Paulo e Rio de Janeiro, já são temas de estudos e pesquisas (COSTA; SILVA; COHEN, 2013; MATTEI; AMORIM; LIEDKE, 2011; SCARINGELLA, 2001; CARVALHO, 2008), propondo medidas imediatas para contenção dessa preocupante crise. Além de causar altos níveis de estresse, o trânsito destes grandes centros urbanos tende a liberar gases e gerar ruídos que contribuem para a poluição do ar e sonora respectivamente, impactando consequentemente, de forma negativa, na qualidade de vida da população (NUNES; RIBEIRO, 2008). Quando o fluxo, a densidade e velocidade das vias atinge um nível crítico ocorre o fenômeno conhecido como congestionamento, sendo este o ápice do problema abordado. Segundo Vasconcellos (VASCONCELLOS, 2014), tal fenômeno impacta diretamente nos custos despendidos pelas áreas afetadas, em seu PIB. Ainda segundo Vasconcellos (VASCONCELLOS, 2014), o fluxo livre, considerado condição ideal de trânsito, é impraticável, mesmo em centros em que a população predominante é considerada de alta renda. Sugere-se então caminhos alternativos para contornar este tipo de problema. Órgãos governamentais buscam coletar informações sobre o tráfego viário com o ob-.

(18) 16. jetivo de diminuir os efeitos nocivos advindos desta problemática. A estruturação de políticas públicas de planejamento que possam lidar com tal problema podem ser geradas a partir de dados como velocidade e intensidade do trânsito. Há várias formas de se obter tais dados, como por exemplo através de sensores infravermelho, radares (Figura 1.1) e sensores magnéticos instalados sob o asfalto (Figura 1.2), porém estas formas necessitam de instalações e manutenções muitas vezes custosas.. Figura 1.1: Equipamento de radar fixo, sensor infravermelho acoplado a uma câmera.. Figura 1.2: Esquema de funcionamento de sensores magnéticos instalados sob o asfalto. Grande parte dos centros urbanos possui, além destes tipos de equipamentos, câmeras de CFTV (Circuito Fechado de TV) no intuito de monitorar as vias. Este último tipo de equipamento é considerado, atualmente, de baixo custo em relação aos anteriores. Com o aumento considerável de câmeras espalhadas pelas cidades e o barateamento do hardware, tornou-se atrativo explorar a análise de imagens em vídeos para obtermos informações do tráfego urbano, porém este tipo de análise, quando feita de forma manual torna-se enfadonha e dispendiosa, propensa a erros..

(19) 17. Para fazer uso de forma eficaz do equipamento de CFTV, o uso de técnicas de visão computacional é imprescindível tornando o trabalho, antes manual, automatizado. Com tais técnicas, é possível automatizar, por exemplo, a análise de violação de regras de trânsito – veículos efetuando mudança indevida de faixa ou trafegando na contramão podem ser detectados através de técnicas de rastreamento – e interação de veículos (BUCH; VELASTIN; ORWELL, 2011), além de podermos obter também a contagem de veículos (densidade). Os dados obtidos através deste conjunto de análises podem servir como subsídio para planejamentos de futuras intervenções no trânsito. Alguns trabalhos relacionados ao controle de tráfego e rastreamento de veículos através de processamento de imagens de vídeos podem ser encontrados em (COIFMAN et al., 1998; BEYMER et al., 1997; CUNHA, 2013; FEITOSA, 2012). De forma pensada, esta dissertação propõe o uso de técnicas de visão computacional e reconhecimento de padrões no desenvolvimento de um sistema capaz de suprir a necessidade levantada. O escopo geral do sistema está representado na Figura 1.3. O componente Detecção de Veículos e Obtenção de Dados é objeto desta dissertação, este módulo visa angariar dados relevantes do tráfego a partir de câmeras de vigilância. Estes dados serão utilizados sob duas formas: (i) subsidiar pesquisas relacionadas à problemática do trânsito nas grandes cidades e; (ii) servir de entrada para o componente Automação da Rede de Semáforos Adjacentes, responsável por automatizar o temporizador de semáforos adjacentes às vias para adaptar-se ao fluxo veicular na tentativa de minimizar os efeitos dos congestionamentos, este segundo componente será objeto de estudo de trabalhos futuros.. Figura 1.3: Macro esquema do sistema automatizado de gerenciamento de tráfego..

(20) 18. 1.1. Objetivos. A meta deste trabalho é desenvolver a aplicação-componente Detecção de Veículos e Obtenção de Dados, cujo papel é o de coletar, de forma automática, dados do trânsito – direção de deslocamento, velocidade média estimada e intensidade do fluxo – a partir do processamento de imagens de vídeos e, com base nas imagens obtidas, segmentar veículos e classificá-los em tempo quase real, visando seu uso futuro em equipamentos de baixo custo como computadores em módulo – como por exemplo o Raspberry Pi que tem seu tamanho reduzido ao de um cartão de crédito e custo baixíssimo em relação aos microcomputadores. Estas informações serão utilizadas para fornecer subsídios ao planejamento e controle de tráfego urbano. Diante disto, são propostos os seguintes módulos para a aplicação e suas interações como representados no fluxograma da Figura 1.4. As principais atividades que acompanham estes módulos são descritas a seguir: 1. Obtenção de imagens de vídeos de câmeras com angulação semelhante às imagens que podem sem obtidas a partir de câmeras fixas do CFTV que monitora as vias da cidade do Natal; 2. Delimitação de uma região de interesse – ou ROI – para evitar uso completo do quadro evitando perda de desempenho computacional; 3. Pré-processamento da ROI, aplicação de filtros para redução de ruídos e melhorias na imagem; 4. Segmentação de objetos em movimento utilizando algoritmos presentes na literatura e utilização de operações morfológicas para remover ruídos da imagem binarizada resultante da segmentação; 5. Detecção de objetos, baseada na imagem binarizada, utilizando técnicas de reconhecimento de padrões e tratamento de possíveis oclusões, gerando assim objetos mais precisos para a etapa seguinte; 6. Rastreamento dos objetos em cena; 7. Análise e geração de dados dos veículos – contagem, categoria, velocidade média estimada e direção..

(21) 19. Figura 1.4: Interação e módulos da aplicação.. 1.2. Organização da Dissertação. Esta dissertação é estruturada em 5 capítulos, incluindo este capítulo introdutório e o último capítulo, das considerações finais. A disposição dos demais capítulos é baseada nos módulos da aplicação proposta. No Capítulo 2 são apresentados conceitos de processamento de imagens e visão computacional, operações básicas e filtros utilizados no pré-processamento a fim de melhorar a imagem para as etapas seguintes do processo proposto por este trabalho, assim como algoritmos de segmentação por movimento consagrados na literatura, estes sendo utilizados na etapa de segmentação. Além disso, neste capítulo é apresentada também a biblioteca OpenCV que reúne técnicas de visão computacional e que é incorporada à aplicação como um facilitador no desenvolvimento..

(22) 20. O Capítulo 3 apresenta conceitos de reconhecimento e representação de elementos visuais, especificamente problemas de classificação, utilizados para a atividade de detecção de objetos em cena. Além disso, apresenta também técnicas de rastreamento (tracking) de objetos em cena que foram utilizados como meio para a obtenção de dados de tráfego viário, objetivo final desta aplicação. Por fim, o Capítulo 4 discute os experimentos realizados e resultados obtidos a partir destes, culminando no desenvolvimento da aplicação proposta..

(23) 21. 2. Pré-processamento e Segmentação. Neste capítulo, apresentamos as técnicas utilizadas no módulo de pré-processamento e segmentação, conforme Figura 2.1. No decorrer do capítulo será discutido tanto o referencial teórico, que embasa o desenvolvimento da aplicação neste módulo em especial, quanto a metodologia proposta.. Figura 2.1: Módulo de pré-processamento e segmentação. Várias são as áreas que fazem o uso de imagens para delas extrair informações visuais importantes, como por exemplo a medicina que utiliza imagens de raio-x para detectar possíveis patologias conforme Figura 2.2(a). Porém muitas vezes estas imagens tornam-se um tanto ilegíveis devido à falha em equipamentos de captura, além disso, a extração de informações se torna um tanto suscetível à falhas quando a mesma se dá de forma manual. O foco dos métodos de processamento que envolvem imagens decorre de duas áreas principais de aplicação: (i) melhoria da informação visual e; (ii) processamento de dados de cenas para percepção automática através de máquinas (visão computacional) (GONZALEZ; WOODS, 2000). Os processos realizados pela visão computacional dependem, muitas vezes, de um pré-.

(24) 22. processamento que envolve o processamento de imagens a fim de melhorá-las para serem utilizadas nos processos seguintes (MARENGONI; STRINGHINI, 2009). Como exemplo podemos notar a diferença entre a Figura 2.2(a) e a mesma imagem (Figura 2.2(b)) após passar pelo processamento de um filtro de aguçamento para realçar as bordas e o contraste, é notável a melhoria nos detalhes finos da imagem original.. Figura 2.2: Imagem da lombar gerada a partir de um aparelho de raio-X (a) original e (b) tratada através de um filtro de aguçamento na etapa de pré-processamento. Para tanto, devemos entender, primeiramente, como a imagem é representada no meio digital. Uma imagem monocromática, ou simplesmente imagem, refere-se a uma função bidimensional de intensidade da luz f (x, y), onde x e y denotam as coordenadas espaciais e o valor de f em qualquer ponto é proporcional ao brilho (ou níveis de cinza) da imagem naquele ponto, conforme Figura 2.3 (GONZALEZ; WOODS, 2000). Uma imagem digital é uma imagem discretizada tanto em coordenadas espaciais quanto em brilho. Sua representação se dá através de uma matriz N × M cujos índices de linha e coluna identificam o x e y, respectivamente, de f , conforme Equação (2.1). Cada elemento desta matriz é um pixel ou pel, abreviação para picture element..

(25) 23. Figura 2.3: Convenção dos eixos para representação de imagens digitais. . f (0, 0). f (0, 1). .... f (0, M − 1). .      f (x, y) =      . f (1, 0). f (1, 1). .... f (1, M − 1).           . . . .. (2.1). f (N − 1, 0) f (N − 1, 1) ... f (N − 1, M − 1) Um vídeo nada mais é do que um conjunto de imagens digitais capturadas sequencialmente a uma taxa de 1/30s. Cada imagem é chamada de quadro ou frame. As próximas atividades do processamento utilizarão estas imagens a fim de obter resultados. Gonzalez classifica a sequência de atividades que vão desde o processamento ao uso de técnicas de Visão Computacional em três categorias: (i) baixo-nível; (ii) médio-nível e; (iii) alto-nível. As atividades de baixo-nível contemplam a etapa de aquisição e préprocessamento, as atividades de médio-nível contemplam a segmentação (separação de objetos de interesse) e reconhecimento (dos objetos na imagem), as atividades de altonível estão relacionadas com as tarefas de cognição humana, como exemplo podemos citar o rastreamento de objetos. A Figura 2.4 mostra a sequência de passos fundamentais que envolvem as principais atividades no processamento de imagens digitais. A aquisição da imagem ocorre por meio de dispositivos sensíveis a uma banda do espectro visível. Muitos CFTVs adotam câmeras sensíveis ao infravermelho quando lidam com segurança, porém é mais comum encontrarmos câmeras sem essa tecnologia de.

(26) 24. Figura 2.4: Passos fundamentais em processamento de imagens. captura de imagens, uma vez que o custo dessas câmeras são menores. Ao serem adquiridas, as imagens precisam ser armazenadas. O armazenamento online é feito através de memória secundária como um HDD (Hard Drive Disk ou Disco Rígido). Seu acesso é demasiado lento com relação à memória principal. Porém, existe a possibilidade de utilizar imagens de streaming de vídeo, como no trabalho de Xu et al (XU; XIONG; CORSO, 2012). Dessa forma é possível processar imagens em tempo quase real, à medida que ela é adquirida, entretanto exige um maior poder de processamento e uma maior largura de banda. López-Lagunas e Chai propuseram a utilização de descritores de stream para melhorar a performance de acesso à memória do sistema objetivando minimizar essa limitação (LÓPEZ-LAGUNAS; CHAI, 2011). Contudo, para se adequar ao processamento computacional, uma imagem precisa ser digitalizada tanto espacialmente (amostragem) como em amplitude (quantização em níveis de cinza). Tomando como base a Equação (2.1), f (x, y) é uma imagem digital se cada par de coordenadas espaciais (x, y) forem elementos de Z × Z sendo Z o conjunto dos números inteiros positivos, assim f atribui um valor de nível de cinza a cada par (x, y). Como os níveis de cinza são usualmente inteiros, podemos deduzir que Z toma o lugar de R, sendo R o conjunto dos reais. Dessa forma, uma imagem digital se torna uma função bidimensional (2-D) com valores de coordenadas e amplitude inteiros. Decisões a cerca dos valores para N , M e os níveis de cinza utilizados influenciam diretamente no número de bits para armazenamento das imagens. A equação b = NMm. (2.2).

(27) 25. resulta no número de bits utilizados para o armazenamento da imagem, sendo m o expoente de base dois da equação: G = 2m ,. (2.3). que determina o valor de G o número de níveis de cinza. Como exemplo se tivermos uma imagem de resolução 512 × 512 com 64 níveis de cinza precisaremos de exatos 1.572.864 bits, ou algo em torno de 196Kb. Algumas técnicas de compressão ajudam a minimizar o espaço exigido para armazenamento de imagens. Para imagens coloridas utiliza-se uma terceira dimensão z na função da Equação (2.1) em que z = {1, 2, 3} representa cada canal da imagem, comumente representando os canais R, G, e B do padrão RGB . Para o projeto desta dissertação, optamos por utilizar apenas um canal, ou seja, imagens em escala de cinza, de tal forma que a Equação (2.1) pode ser preservada em sua forma original diminuindo, drasticamente, a complexidade no processamento das imagens em relação à imagens coloridas, para isso, houve a necessidade de conversão das imagens coloridas em escala de cinza utilizando o método de luminosidade expresso por: I(x, y) = 0.299 ∗ R(x, y) + 0.587 ∗ G(x, y) + 0.114 ∗ B(x, y).. (2.4). Outro fator que nos levou a utilizar as imagens em escala de cinza foi o objetivo da aplicação – imagens coloridas não acrescentariam informações muito relevantes, sendo de interesse somente o formato e o movimento dos objetos em cena.. 2.1. Relacionamentos Básicos entre Pixels. Relacionamentos entre pixels são importantes para algumas operações em processamento de imagens, como por exemplo estabelecimento de bordas de objetos, componentes de regiões em uma imagem e análise automatizada de imagens (GONZALEZ; WOODS, 2000). Para entender os relacionamentos, primeiro precisamos definir o conceito de vizinhança de um pixel. Dado um pixel p de coordenadas (x, y), este possui 2 vizinhos horizontais e 2 verticais, suas coordenadas são dadas por: (x + 1, y), (x − 1, y), (x, y + 1), (x, y − 1). O conjunto dos quatro vizinhos (verticais e horizontais) denomina-se vizinhança-de-4.

(28) 26. e é representado por N4 (p). Os quatro vizinhos diagonais de coordenadas (x + 1, y + 1), (x + 1, y − 1), (x − 1, y + 1), (x − 1, y − 1) quando juntos com a vizinhança-de-4 formam a vizinhança-de-8 que é representada por N8 (p). A conectividade é utilizada no estabelecimento de bordas de objetos e componentes de regiões em uma imagem. Para determinar se um pixel p está conectado com um pixel q, basta checar se são vizinhos-de-4 (conectividade-de-4 ) ou vizinhos-de-8 (conectividadede-8 ) e se atendem a um critério de similaridade. A medida de distância entre dois pixels pode ser obtida através da distância euclidiana ou baseada em sua vizinhança. A distância D4 , conhecida também como city block, entre dois pixels p de coordenadas (x, y) e q de coordenadas (s, t) é definida como: D4 (p, q) = |x − s| + |y − t|.. (2.5). Da mesma forma, a distância D8 , ou distância xadrez, pode ser obtida por: D8 (p, q) = max(|x − s|, |y − t|).. (2.6). Em termos práticos, a distância D4 produziria algo do tipo: 2 2 1 2 2 1 0 1 2 2 1 2 2 em que o 0 é o pixel de origem do cálculo de distância. Da mesma forma, a distância D8 produziria algo do tipo: 2 2 2 2 2 2 1 1 1 2 2 1 0 1 2 2 1 1 1 2 2 2 2 2 2.

(29) 27. 2.2. Operações Básicas entre Pixels. Operações lógicas e aritméticas entre pixels são utilizadas rotineiramente na maioria das operações que envolvem o processamento de imagens. As quatro operações aritméticas podem ser denotadas por: Adição: p + q, Subtração: p − q, Multiplicação: pq, Divisão: p/q. A adição é utilizada na redução de ruídos ao realizar a média de imagens. A subtração por sua vez é bastante utilizada em imagens médicas para remover informações estáticas de fundo. Já a multiplicação (ou divisão) é utilizada na correção de sombras de níveis de cinza produzidas por não-uniformidade da iluminação (GONZALEZ; WOODS, 2000). Já as operações lógicas contemplam: E: p ∗ q, OU: p + q, COMPLEMENTO: q. Essas operações (tanto aritméticas como lógicas) podem ser realizadas em cada pixel de forma individual ou orientadas à vizinhança. O processamento da vizinhança ocorre por meio das operações por máscara (filtro). A ideia por trás desse tipo de operação é modificar o valor de um pixel com base nos valores dos seus vizinhos. É importante a utilização de máscaras de tamanhos reduzidos, geralmente 3×3, isso se deve ao fato de que, ao aumentarmos a área da máscara, aumentamos o número de computações necessárias para cada pixel. A Figura 2.5 representa uma máscara 3 × 3 de coeficientes que pode ser utilizada para diversas operações com filtros através da equação: p5 =. 9 X. w i pi ,. (2.7). i=1. onde p5 denota o pixel a ter seu valor alterado e wi o peso atribuído ao pixel pi . Esta equação pode ser utilizada para uma variedade de operações, como redução de ruídos,.

(30) 28. detecção de bordas e afinamento de regiões, bastando para isso modificar os valores dos coeficientes.. Figura 2.5: Máscara 3 × 3 com pesos.. 2.3. Processamento. Processar uma imagem consiste em utilizar operações algorítmicas implementadas em software para tratar imagens adquiridas e armazenadas, ou via streaming caso haja um bom desempenho do hardware que seja capaz de processar 30 frames por segundo. O processamento de imagens é voltado à soluções específicas, dessa forma, uma dada técnica utilizada em uma determinada área pode ser inadequada para outra área, outras áreas precisam ainda de um esforço maior de pesquisa e desenvolvimento (GONZALEZ; WOODS, 2000). Técnicas de filtragem ajudam a melhorar a imagem objetivando deixá-la apta para o domínio da solução, assim permitindo a extração da informação. As técnicas de filtragem são categorizadas em: (i) métodos no domínio espacial e; (ii) métodos no domínio de frequência. A filtragem no domínio espacial refere-se ao conjunto de pixels que compõe uma imagem. Funções dessa natureza podem ser expressas como: g(x, y) = T [f (x, y)],. (2.8). onde f (x, y) é a imagem de entrada, T é um operador baseado em uma máscara que opera sobre um pixel levando em consideração sua vizinhança, e g(x, y) é a imagem resultante do processo de filtragem (GONZALEZ; WOODS, 2000). A filtragem no domínio de frequência é fundamentada no teorema da convolução, uma.

(31) 29. das propriedades da transformada de Fourier, sendo expressa na forma de: G(u, v) = H(u, v)F (u, v),. (2.9). onde H(u, v) é a transformada de Fourier do filtro h(x, y) pertencente ao domínio espacial (no domínio de frequência chamado de função de transferência) e F (u, v) é a transformada de Fourier da imagem f (x, y) no domínio espacial. Esta relação dá-se pelo teorema da convolução. Dessa forma, para se obter G(u, v), que corresponde a transformada de g(x, y), F (u, v) deve ser convoluída com o filtro H(u, v) como na Equação (2.9). Do produto resultante, podemos exibir a imagem no domínio espacial, basta aplicar a transformada inversa de Fourier em G(u, v) para se obter g(x, y) (WATT; POLICARPO, 1998). Para o projeto desta dissertação, optou-se pelo o uso de filtros do domínio espacial. Na próxima subseção discutiremos os filtros do domínio espacial e seu uso neste projeto.. 2.3.1. Filtragem no Domínio Espacial. Como dito anteriormente no início desta seção, as filtragens no domínio espacial utilizam máscaras, tais máscaras são chamadas filtros espaciais tal como a Figura 2.5. Tomando ainda como base esta máscara de dimensões 3 × 3, o resultado aplicado a um pixel z5 (levando em conta que este pixel é a âncora) dá-se por: R = w1 z1 + w2 z2 + ... + w9 z9 ,. (2.10). onde R é o valor a substituir o valor atual de z5 baseado em sua vizinhança-de-8. Convém, neste caso, criar uma nova imagem para armazenar os valores de R uma vez que se simplesmente substituirmos os valores da imagem original, estes afetarão as operações posteriores visto que a máscara opera em cada pixel da imagem. 2.3.1.1. Filtros de Suavização. Filtros de suavização focam no borramento da imagem e redução de ruídos. O borramento visa remover pequenos detalhes que podem influenciar nas etapas seguintes. Se observarmos a Equação (2.10) com base em uma máscara 3 × 3 com pesos (ou coeficientes) de valores 1, veremos que o resultado irá ultrapassar o limite dos valores máximos de níveis de cinza, uma vez que será um simples somatório de valores dos 9 pixels. Dessa forma, convém também dividir o valor de R pela quantidade de elementos na máscara (9), dessa forma obtemos a média dos pixels da vizinhança, esse tipo de.

(32) 30. filtragem é denominada filtragem espacial passa-baixas. A expressão 1 1 1 1 ∗ 1 1 1 9 1 1 1. (2.11). denota máscara utilizada na filtragem passa-baixas. Esse tipo de filtro atenua os componentes de alta frequência e deixa passar os de baixa no domínio da frequência, dessa forma detalhes finos e bordas são minimizados por esse tipo de filtro. A Figura 2.6 mostra a aplicação do filtro passa-baixas com máscara 5 × 5. Se aumentarmos as dimensões da máscara, consequentemente aumentamos a intensidade da aplicação do filtro, porém o número de computações necessárias será acentuado.. Figura 2.6: Aplicação do filtro passa-baixas (à direita). O filtro passa-baixas tende a suavizar a imagem, conhecido como smoothing ou suavização. Porém, se quisermos uma abordagem para remover ruídos, a filtragem por mediana pode ser utilizada. Tomando ainda como base uma vizinhança 3 × 3 (vizinhança-de-8 ) de um pixel z, para obtermos a mediana, ordenamos os valores dos pixels dessa região e obtemos o 5o maior valor, este valor será atribuído à R. Na Figura 2.7 temos uma imagem que foi submetida propositalmente a um ruído branco e logo em seguida a recuperação da imagem pela filtragem por mediana, mostramos também a mesma imagem sendo tratada pelo filtro passa-baixas para fins de comparações. Na aplicação, utilizamos a filtragem por mediana com o kernel de dimensão 3 × 3 para remoção de ruídos dos vídeos obtidos, uma vez que o ambiente é externo e não controlado, as imagens obtidas podem trazer consigo ruídos oriundos do próprio ambiente – como chuva, por exemplo – e do próprio dispositivo de aquisição de imagens..

(33) 31. Figura 2.7: Aplicação do filtro de mediana (à direita) e do filtro passa-baixas (abaixo). 2.3.1.2. Filtros de Aguçamento. O principal objetivo dos filtros de aguçamento é enfatizar detalhes finos e bordas. São vários os ramos que utilizam filtros de aguçamento, desde imagens médicas até detecção de alvos em armas inteligentes. O filtragem espacial passa-altas, ao contrário da passa-baixas, tende a "deixar passar"as frequências altas e suprimir as baixas frequências no domínio da frequência, dessa forma, transições suaves entre níveis de cinza são reduzidas a 0 enquanto que detalhes como bordas e detalhes finos são destacados. A máscara espacial utilizada especifica coeficiente positivo em seu centro e negativo em suas bordas. A expressão −1 −1 −1 1 ∗ −1 8 −1 9 −1 −1 −1. (2.12). denota uma máscara 3 × 3 utilizada na filtragem passa-altas básica. A Figura 2.8 mostra a aplicação desse filtro..

(34) 32. Figura 2.8: Aplicação do filtro passa-altas (à direita). O filtro passa-altas pode ainda ser resultante da diferença entre a imagem original e a imagem filtrada com passa-baixas. Um outro filtro que pode ajudar na ênfase de altas frequências é o filtro alto reforço ou high-boost. A máscara utilizada para o filtro é a mesma do passa-altas, com a diferença do coeficiente central cujo valor muda para 9A − 1 em que A ≥ 1. Observe que se A = 1 então teremos a mesma máscara do passa-altas. A Figura 2.9 mostra a aplicação desse filtro com A = 1, 2.. Figura 2.9: Aplicação do filtro alto reforço (à direita) com A = 1, 2.. 2.3.2. Operações com Histograma. Um histograma de uma imagem denota a frequência de valores discretos de um determinado intervalo [0, L − 1], cuja função é: p(rk ) =. nk , n. (2.13).

(35) 33. onde rk é o k-ésimo nível de cinza, nk é o número de pixels na imagem com esse nível de cinza, n é o número total de pixels na imagem e k = 0, 1, 2, ..., L − 1. A Figura 2.10 apresenta um histograma de uma imagem com predominância de áreas em meio-tom de cinza.. Figura 2.10: Histograma (à direita) da imagem (à esquerda), este relaciona o número de níveis de cinza utilizados (eixo x) com a frequência de pixels (eixo y) para cada nível de cinza.. 2.3.2.1. Equalização. A equalização de histograma tende a espalhar níveis de cinza que estejam concentrados em um só lugar, buscando obter um histograma uniforme e aumentando sua escala dinâmica, dessa forma produzindo um aumento considerável no contraste da imagem. Sua forma discreta dá-se por: sk = T (rk ) =. k X. pr (rj ),. (2.14). j=0. onde 0 ≤ rk ≤ 1 e k = 0, 1, 2, ..., L − 1. A Figura 2.11 apresenta a mesma imagem mostrada na Figura 2.10 equalizada. Existem outras operações que podem ser realizadas com histograma, tais como especificação e realce local. Testamos os vídeos sob duas situações distintas, a primeira utilizamos não aplicamos filtros e não equalizamos o histograma, na segunda situação fizemos o inverso para cada quadro do vídeo, a intenção deste teste era validar a qualidade da imagem para o módulo de segmentação, descrito à frente na Subseção 2.4.1. Nos testes, a qualidade da imagem na segunda situação obteve melhor êxito que a primeira que resultou em um número considerável de falhas na segmentação de imagens, de tal forma que optamos por utilizar o filtro de mediana combinado à equalização de.

(36) 34. Figura 2.11: Histograma (à direita) da imagem (à esquerda), este relaciona o número de níveis de cinza utilizados (eixo x) com a frequência de pixels (eixo y) para cada nível de cinza. histograma.. 2.4. Visão Computacional. Segundo Ballard e Brown (BALLARD; BROWN, 1982), visão computacional é o estudo da extração de informação de uma imagem a partir da sua análise, mais especificamente, é a construção de descrições explícitas e claras dos objetos em uma imagem. A área de processamento de imagens difere da visão computacional, sendo a primeira responsável apenas por processar e tratar a imagem para deixá-la apta, no que tange o domínio da solução, para ser utilizada na visão computacional. Um dos objetivos da visão computacional é tentar simular a capacidade humana de reconhecer e identificar objetos isolados a partir do sentido da visão (SZELISKI, 2010), os brasileiros Neves, Neto e Gonzaga reúnem um compilado de trabalhos na área da visão computacional em sua obra (NEVES; NETO; GONZAGA, 2012). As próximas subseções detalham os processos envolvidos na segmentação de imagens, processo de separação dos objetos de interesse da aplicação do restante da imagem, uma subseção em particular para detalhar esse processo em imagens dinâmicas (frames – ou quadros – de vídeos), assim como passos importantes no pós-processamento (como operações morfológicas). Por fim, a Subseção 2.4.3 mostra um pequeno resumo sobre a biblioteca OpenCV que será utilizada no desenvolvimento de aplicação..

(37) 35. 2.4.1. Segmentação. A segmentação subdivide uma imagem em suas partes constituintes ou objetos constituintes (GONZALEZ; WOODS, 2000). O nível de subdivisão para até que os objetos de interesse tenham sido devidamente segmentados. A segmentação é de longe umas das tarefas mais difíceis em processamento de imagens, por essa razão deve-se tomar cuidado considerável para melhorar as chances de uma boa segmentação. Objetos são considerados partes do foreground enquanto que o restante da imagem é considerado o background, o resultado desta separação é, usualmente, uma imagem binarizada, chamada também de máscara de foreground, em que pixels pretos de valor 0 denotam o background e pixels brancos de valor 1 denotam o foreground. Em geral, a segmentação é realizada com imagens em escala de cinza visando melhor performance, uma vez que as operações são realizadas em apenas um canal. As técnicas de segmentação de imagens monocromáticas geralmente são categorizadas pelas seguintes propriedades: descontinuidade e similaridade. Estas técnicas podem ser aplicadas tanto em imagens estáticas como dinâmicas (geradas a partir de vídeos, por exemplo), porém, para imagens dinâmicas a preferência é pela detecção de movimento por ter melhor performance os algoritmos de segmentação. 2.4.1.1. Descontinuidade. A primeira categoria visa particionar a imagem baseando-se nas mudanças bruscas de níveis de cinza. Neste contexto, há três tipos básicos de descontinuidades, através da detecção (i) por pontos, (ii) por linhas e (iii) por bordas. Na detecção por ponto pode-se utilizar, por exemplo, a aplicação de uma máscara semelhante à do filtro passa-altas de tal maneira que: |R| > T,. (2.15). onde T é um limiar (threshold ) não negativo. Dessa forma, as diferenças maiores que T serão consideradas. A detecção por linhas se baseia em detectar linhas isoladas na imagem através do uso, assim como em pontos, de máscaras. Considere uma máscara 3 × 3 com coeficientes −1 na primeira linha, coeficientes 2 na segunda linha e coeficientes −1 na terceira linha, ao aplicarmos essa máscara à imagem, R responderá por detecção de linhas na horizontal, conforme Figura 2.12, para as outras direções basta deslocar os coeficientes positivos no.

(38) 36. sentido da linha (para vertical coluna do meio, para 45◦ diagonal secundária e para −45◦ diagonal principal). O resultado é semelhante ao que pode ser obtido pelo filtro de Sobel (utilizado em aguçamento de bordas), isto deve-se ao fato de também ser um operador diferencial, cuja soma de todos os valores resultam em 0, dessa forma, anulando a resposta em áreas constantes.. Figura 2.12: Detecção de linhas horizontais. Porém, na maioria das aplicações são raras as ocorrências de pontos e linhas isolados. A abordagem de detecção de bordas é mais utilizada, uma vez que ela tende a diferenciar duas regiões pela mudança brusca de níveis de cinza. Uma das técnicas utilizadas na detecção de bordas é através de operadores de vetores de gradientes, mais especificamente sua maximização (magnitude) dada por: ∇f = mag(∇f) = [G2x + G2y ]1/2 ,. (2.16). sendo que as derivadas contidas em Gx e Gy podem ser implementadas facilmente por meio dos operadores de Sobel, estes possuem a vantagem de produzir efeitos de diferenciação e suavização ao mesmo tempo, desta forma temos que: Gx = (z7 + 2z8 + z9 ) − (z1 + 2z2 + z3 ),. (2.17). Gy = (z3 + 2z6 + z9 ) − (z1 + 2z4 + z7 ),. (2.18). onde consideramos z5 como pixel central e z1 à z9 , exceto z5 , como vizinhança-de-8 de z5 organizados em uma matriz 3 × 3. A Figura 2.13 apresenta o resultado obtido a partir da detecção de bordas utilizando operadores de gradientes..

(39) 37. Figura 2.13: Detecção de bordas através de operadores de gradientes. 2.4.1.2. Limiarização. A limiarização (thresholding) é uma das mais importantes abordagens para a segmentação de imagens (GONZALEZ; WOODS, 2000). A técnica consiste em estimar um limiar (threshold ) que determina se um determinado ponto (pixel ) pertence ao fundo (background ) ou ao objeto (foreground ). A expressão gerada por essa discussão é: T = T [x, y, p(x, y), f (x, y)],. (2.19). onde f (x, y) é o nível de cinza do ponto (x, y) e p(x, y) denota alguma propriedade local desse ponto. Dessa forma, uma imagem limiarizada g(x, y) é definida como:  1, sef (x, y) > T, g(x, y) = 0, sef (x, y) ≤ T.. (2.20). Observe que para este caso utilizamos um limiar fixo. Para problemas em que este limiar pode variar de acordo com o ambiente (iluminação por exemplo), podemos utilizar a técnica de limiarização adaptativa que consiste em determinar o valor de T através do cálculo do peso médio de uma região B × B na vizinhança de cada pixel menos uma constante (ANNADURAI, 2007) para contornar problemas desse tipo. A Figura 2.14 faz uma comparação visual entre as duas técnicas de limiarização. Problemas em que queremos segmentar objetos de uma determinada cor podem ser resolvidos por limiarização..

(40) 38. Figura 2.14: Imagem limiarizada com T = 50 (à esquerda) e utilizando limiarização adaptativa (à direita). 2.4.1.3. Detecção de Movimentos. O projeto desta dissertação coleta informações a partir de imagens de vídeos, dessa forma, utilizamos os algoritmos que trabalham com segmentação a partir da detecção de movimentos, já que esta é uma poderosa pista usada por seres humanos e animais para a extração de um objeto de interesse de um fundo de detalhes irrelevantes (GONZALEZ; WOODS, 2000). Considere a imagem obtida a partir de uma câmera fixa. A detecção de movimentos consiste basicamente em realizar comparações de diferenciação entre frames sob o aspecto temporal, dessa forma temos f (x, y, ti ) em que t representa o instante de captura daquele frame comparado a um modelo de background estimado por f (x, y, tj ) a fim de gerar uma imagem gij (x, y) consistente em que se destacam apenas os objetos em movimento, chamamos isso de subtração de background (GONZALEZ; WOODS, 2000; FORSYTH; PONCE, 2002). Abaixo apresentamos os algoritmos que foram utilizados nos experimentos a fim de encontrar um que se aproximasse do nosso modelo estimado de ground-truth (segmentação ideal). Utilizamos a qualidade das imagens segmentadas e o tempo de processamento como métricas de validação para a escolha do algoritmo. Diferença Absoluta entre Frames A abordagem mais simples para detecção de movimentos consiste na diferença abso-.

(41) 39. luta entre dois frames, definida como:  1, se|f (x, y, ti ) − f (x, y, tj )| > θ, gij (x, y) = 0, caso contrário,. (2.21). onde θ é um limiar, 1 a intensidade máxima dos níveis de cinza e 0 a intensidade mínima. Dessa forma consideramos como objetos aqueles cuja diferença dos pixels for maior que o limiar determinado. Este método possui algumas limitações, o mesmo é altamente suscetível a ruídos, assim, é comum obtermos imagens com pixels isolados de valores 1 (GONZALEZ; WOODS, 2000). Uma possível solução é eliminar esses ruídos através de técnicas de pós-processamento utilizando filtros ou operações morfológicas, explicadas na Seção 2.4.2. Modelo de Mistura de Gaussianas de KaewTraKulPong-Bowden Antes de adentrarmos à solução de KaewTraKulPong-Bowden, e posteriormente de Zivkovi, precisamos entender o modelo proposto por Stauffer-Grimson, GMM (Gaussian Mixture Model ) ou ainda MoG (Mixture of Gaussian). Stauffer-Grimson propuseram um modelo de subtração de background que modela o valor de um pixel em particular como uma mistura de gaussianas. Baseado na persistência e variância de cada gaussiana da mistura, determinamos qual delas pode corresponder a cor de background, assim, os pixels que possuírem valores que não atendem às distribuições de background são considerados como se do foreground fossem, até que haja uma gaussiana que o inclua, desde que possua evidências consistentes para fazê-lo (STAUFFER; GRIMSON, 1999). A equação P (Xt ) =. K X. wi,t ∗ η(Xt , µi,t , Σi,t ). (2.22). i=1. representa a probabilidade de observação de um pixel, em que K é o número de distribuições, wi,t é uma estimativa de peso da ia gaussiana (porção dos dados descritos por esta gaussiana) na mistura no tempo t, Σi,t é a matriz de covariância da ia gaussiana no tempo t, µi,t é o valor da média da ia gaussiana na mistura no tempo t e η é uma função de densidade de probabilidade gaussiana: η(Xt , µ, Σ) =. 1 n 2. (2π) |Σ|. 1. 1 2. T Σ− 1(X −µ ) t t. e 2 (Xt −µt ). ,. (2.23). onde o valor de K é limitado ao poder computacional e memória disponível, geralmente K = 3 ou K = 5..

(42) 40. As K distribuições são ordenadas baseadas no valor de fitness wk /σk , em que σk2 I = Σ, e as primeiras B distribuições são usadas como um modelo de background da cena onde B é estimado como:. b X B = arg min( wj > T ). b. (2.24). j=1. Os pesos das K distribuições no tempo t, wk,t , são ajustados como: wk,t = (1 − α)wk,t−1 + α(Mk,t ),. (2.25). onde α é a taxa de aprendizado e Mk,t é 1 para o modelo correspondido e 0 para os demais. Os parâmetros σ e µ permanecem o mesmo até que haja uma nova observação, então atualizamos para: µt = (1 − ρ)µt−1 + ρXt ,. (2.26). 2 σt2 = (1 − ρ)σt−1 + ρ(Xt − µt )T (Xt − µt ),. (2.27). ρ = αη(Xt |µk , σk ).. (2.28). onde. Este método contém dois parâmetros significantes: (i) α, a constante de aprendizado e; (ii) T , um limiar que representa a fração mínima do modelo de background. KaewTraKulPong-Bowden detectaram incompatibilidades no modelo de Stauffer-Grimson, o modelo leva um certo tempo para atualizar o background, isto pode se tornar inviável em ambientes onde o background limpo estará exposto. Para este problema, os autores propuseram mudanças nas funções de maximização para adequá-las ao número de estatísticas suficientes (KAEWTRAKULPONG; BOWDEN, 2002). Em linhas gerais, os modelos produzidos são facilmente adaptáveis à mudanças de iluminação e sombras, cada qual representada por uma distribuição normal (gaussiana). Modelo de Mistura de Gaussianas de Zivkovi Zivkovi, em seu trabalho, propôs uma melhora ao modelo de Stauffer-Grimson. O número necessário de K, estimado nos métodos anteriores, é atribuído automaticamente pelo algoritmo, assim adaptando-se completamente à cena observada. O tempo de processamento é reduzido e a segmentação é levemente melhorada (ZIVKOVIC, 2004; ZIVKOVIC; HEIJDEN, 2006). Modelo de Godbehere, Matsukawa e Goldberg – GMG.

(43) 41. Este método combina estimativa estatística, da imagem de background, e segmentação bayesiana pixel-a-pixel. Foi introduzido por Godbehere, Matsukawa e Goldberg no seu trabalho intitulado "Visual Tracking of Human Visitors under Variable-Lighting Conditions for a Responsive Audio Art Installation"(GODBEHERE; MATSUKAWA; GOLDBERG, 2012). O método utiliza alguns frames iniciais para modelar o background. Ele emprega um algoritmo de segmentação probabilística que identifica possíveis objetos do foreground usando inferência bayesiana. As estimativas são adaptativas, observações mais recentes possuem maior peso que antigas observações para acomodar variações de iluminação, por exemplo. Após os frames iniciais de treinamento, uma função de densidade de probabilidades é gerada. Os parâmetros desta função são atualizados automaticamente a cada frame e são obtidos por estatística não paramétrica. Costuma-se utilizar muitas filtragens através de operações morfológicas, como abertura e fechamento (veremos na Subseção 2.4.2, para remoção de ruídos no pós-processamento. The Pixel-Based Adaptive Segmenter – PBAS Este modelo proposto por Hofmann, Tiefenbacher e Rigoll, segue um paradigma nãoparamétrico de modelagem de background, assim, o background é modelado através de um histórico de valores de pixels observados recentemente, a decisão de objetos de foreground depende de um limiar de decisão e a atualização do background é baseada em um parâmetro de aprendizagem. O uso desses parâmetros é estendido para uso de variáveis dinâmicas de estado por pixel e para introduzir controles dinâmicos para cada um deles (HOFMANN; TIEFENBACHER; RIGOLL, 2012). Este método produz resultados próximos ao estado da arte, porém a custos altos de processamento e memória, uma vez que para cada pixel, um limiar particular é criado, é definido um arranjo de N valores observados do mesmo pixel. As operações de atualização da taxa de aprendizado T (Xi ) do background e atualização do limiar de decisão R(Xi ) sendo Xi um pixel, são valores separados para cada pixel, especificamente as operações decorrentes da atualização do limiar de decisão R(Xi ) gera um vetor de distâncias de decisões mínimas D(Xi ), aumentando, assim, a complexidade de tempo e memória do algoritmo..

(44) 42. 2.4.2. Operações Morfológicas. A morfologia, no contexto matemático, é uma ferramenta para a extração de componentes de imagens que sejam úteis na representação e descrição da forma de uma região (GONZALEZ; WOODS, 2000). Nosso interesse maior nesta subseção, contudo, são as técnicas morfológicas de pré e pós-processamento que são aplicadas às máscaras de foreground geradas pelo processo de segmentação. Em operações morfológicas, utiliza-se a teoria dos conjuntos. Conjuntos em morfologia matemática representam as formas dos objetos em uma imagem (GONZALEZ; WOODS, 2000). Por exemplo, um conjunto de pixels brancos em uma imagem representa um objeto, neste caso, trabalhamos no contexto de imagens binárias cujos conjuntos são membros do espaço bidimensional de números inteiros Z 2 . As próximas subseções detalham um pouco sobre as operações básicas de dilatação e erosão, abertura e fechamento. 2.4.2.1. Dilatação e Erosão. As operações de dilatação e erosão são a base para muitas outras operações morfológicas. Seja A e B dois conjuntos, a dilatação pode ser obtida por: b x ∩ A 6= ∅}, A ⊕ B = {x|(B). (2.29). b é definido como a reflexão de B e (B) b x é definido como a translação da reflexão onde B de B sobre x. O conjunto A denota a imagem a ser dilatada e o conjunto B denota o elemento estruturante, usualmente, uma máscara de convolução. Dessa maneira, ao aplicar tal operação, obtemos uma imagem com bordas mais espessas, ou dilatadas. Por outro lado, a erosão é denotada por: A B = {x|(Bx ) ⊆ A},. (2.30). cujo resultado da aplicação desta operação resulta em imagens com bordas reduzidas ou erodidas. A Figura 2.15 mostra uma imagem limiarizada após o processamento de detecção de bordas, logo em seguida é aplicada a esta imagem uma dilatação, e noutra oportunidade uma erosão..

(45) 43. Figura 2.15: Imagem limiarizada com T = 100 após detecção de bordas (à esquerda), a mesma imagem dilatada com elemento estruturante 3 × 3 (à direita) e, noutra ocasião, a mesma imagem erodida com elemento estruturante 3 × 3 (abaixo). 2.4.2.2. Abertura e Fechamento. Abertura e fechamento suavizam os contornos de uma imagem, sendo que a primeira quebra istmos estreitos e elimina protusões finais, ao passo que a segunda funde as quebras em golfos finos, elimina pequenos buracos e preenche fendas de um contorno (GONZALEZ; WOODS, 2000). A operação de abertura de uma imagem A por um elemento estruturante B pode ser definida como: A ◦ B = (A B) ⊕ B,. (2.31). enquanto que o fechamento destes mesmos conjuntos pode ser denotado por: A • B = (A ⊕ B) B.. (2.32). A Figura 2.16 mostra os resultados obtidos a partir de uma fechamento e abertura da mesma imagem utilizada na Figura 2.15..

(46) 44. Figura 2.16: Imagem (à esquerda) submetida ao processo de fechamento (à direita) e, noutra ocasião ao processo de abertura (abaixo). 2.4.2.3. Outras Operações. Outras operações podem ser derivadas das operações de erosão, dilatação e ainda da transformada hit-or-miss. Operações como extração de fronteiras, preenchimento de regiões, extração de componentes conexos, fecho convexo, afinamento, espessamento, esqueletos e podas podem ser realizadas através de implementação de algoritmos baseados nas operações morfológicas básicas. Vale salientar que, a utilização destes algoritmos não se restringe a apenas um isoladamente, estes podem ser combinadas a ponto de melhorar o pós-processamento. Utilizamos as operações morfológicas como etapa de pós-processamento da segmentação a fim de reduzir o ruído produzido pelos algoritmos de segmentação. Os testes realizados pela combinação destes algoritmos e as operações morfológicas podem ser conferidos na Seção 4.1..

Referências

Documentos relacionados

De maneira geral, o apoio, a valorização e os investimentos são os fatores que mais contribuem para o crescimento e desenvolvimento do paradesporto nacional,

Capitalismo Sindical” e consiste basicamente em dizer que processos políticos podem ter o seu princípio alterado em detrimento de uma outra classe social. No caso das Primaveras

Dans le but de proposer une organisation didactique de l’expérience de recevoir le diagnostic médical, soutenue par notre expérience dans le domaine de l’annonce et prenant en

Tabela 3 - Duração do ciclo após a germinação, produtividade, eficiência no uso da água em cenários climáticos futuros RCP4.5 para o milho semeado em 10 de outubro.. Já para

Segundo Brown (2004), apoiado principalmente no trabalho de Warren e Nisbet (1999), é possível conceber que os indivíduos, quer sejam professores ou estudantes, geralmente

Como prenuncia o próprio título do texto, O pensamento cria, embora fique evidente que aí se trata da relação entre música e artes visuais, não deixamos de notar que o foco

Consulte a Secção 11 para obter informações pormenorizadas sobre sintomas e efeitos na saúde.. Classificação conforme Regulamentação (EC) 1272/2008 [CLP/GHS] SECÇÃO

O primeiro passo para introduzir o MTT como procedimento para mudança do comportamento alimentar consiste no profissional psicoeducar o paciente a todo o processo,