Dissertação submetida ao Programa de Pós-Graduação em Computação Aplicada, da Universidade Tecnológica Federal do Paraná como requisito parcial para a obtenção do título de Mestre em Computação Aplicada. Área de Concentração: Engenharia de Sistemas Computacionais.
Orientadora: Profa. Dra. Tania Mezzadri Centeno.
2016 consumo de gás natural utilizando técnicas de visão computacio-nal / Julio Cesar Gonçalves.-- 2016.
102 f.: il.; 30 cm.
Texto em português, com resumo em inglês Disponível também via World Wide Web
Dissertação (Mestrado) – Universidade Tecnológica Federal do Paraná. Programa de Pós-graduação em Computação Aplica-da, Curitiba, 2016
Bibliografia: f. 97-102
1. Gás natural. 2. Reconhecimento ótico de caracteres. 3. Re-des neurais (Computação). 4. Máquinas de vetores de suporte. 5. Algoritmos. 6. Computação – Dissertações. I. Centeno, Tania Mezzadri, orient. II. Universidade Tecnológica Federal do Paraná. Programa de Pós-graduação em Computação Aplicada, inst. III. Título.
Av. Sete de Setembro, 3165 • Fone: +55 41 3310 4644 • 80.230-901 Curitiba PR • http://www.ppgca.ct.utfpr.edu.br
Programa de Pós-Graduação em Computação Aplicada に PPGCA
ATA DE DEFESA DE DISSERTAÇÃO DE MESTRADO Nº 49
Aos 15 dias do mês de setembro de 2016 realizou-se na sala B 204 a sessão pública de Defesa da Dissertação de Mestrado intitulada "Reconhecimento de dígitos em imagens de medidores de consumo de gás natural utilizando técnicas de visão computacional", apresentado pelo aluno Julio Cesar Gonçalves como requisito parcial para a obtenção do título de Mestre em Computação Aplicada, na área de concentração "Engenharia de Sistemas Computacionais", linha de pesquisa "Sistemas de Informação".
Profª. Drª. Tania Mezzadri Centeno (Presidente) UTFPR _______________________ Profº. Drº. João Alberto Fabro UTFPR ________________________ Profº. Drº. Lucas Ferrari de Oliveira UFPR ________________________
Em conformidade com os regulamentos do Programa de Pós-Graduação em Computação aplicada e da Universidade Tecnológica Federal do Paraná, o trabalho apresentado foi considerado __________________________ (aprovado/reprovado) pela banca examinadora. No caso de aprovação, a mesma está condicionada ao cumprimento integral das exigências da banca examinadora, registradas no verso desta ata, da entrega da versão final da dissertação em conformidade com as normas da UTFPR e da entrega da documentação necessária à elaboração do diploma, em até ____________ dias desta data.
Ciente (assinatura do aluno): ______________________________________________
(para uso da coordenação)
A Coordenação do PPGCA/UTFPR declara que foram cumpridos todos os requisitos exigidos pelo programa para a obtenção do título de Mestre.
Curitiba PR, _____/_____/___________ ______________________________
Dedico este trabalho à minha família. Esposa e filho,
irmãos, cunhadas, sobrinhas e sobrinhos, e meus pais
"seu" João e "dona" Rosa, que apesar do pouco estudo
me proporcionaram valorosos ensinamentos,
me ensinando a ser gente, do lado do bem.
Dedico também à minhas "amigas de estimação"
Nala, Lulu e em especial a Laika, que após quase 15 anos
Agradeço a todos que de alguma forma colaboraram para que fosse possível o desenvolvimento deste trabalho.
A toda minha família, em especial, aos meus pais João e Rosa e irmãos pelo apoio que me dão desde sempre.
À minha esposa Viviane por compreender minhas intermináveis horas em frente ao computador, e pela dedicação ao meu filho Bruno, que é a coisa mais preciosa da minha vida, capaz de com apenas um sorriso acalmar os meus dias mais complicados.
À minha orientadora Prof.ª Dr.ª Tania Mezzadri Centeno pela orientação e confiança depositada ainda no processo de entrevista para aceitação no mestrado.
Ao Prof. Dr. João Alberto Fabro e ao Prof. Dr. Ricardo Dutra da Silva pelas valiosas recomendações fornecidas durante os seminários de qualificação.
Ao Prof. Ph.D. Oge Marques Filho por gentilmente fornecer a carta de recomendação necessária para minha inscrição no programa de mestrado.
Ao Programa de Pós-Graduação em Computação Aplicada (PPGCA) da Universidade Tecnológica Federal do Paraná e seus professores e funcionários pela estrutura e apoio oferecidos.
Aos senhores A. Young, Blackmore, Bowie, Coverdale, Dylan, Dio, Dickinson, Gillan, Gilmour, Harrison, Iommi, J. Ramone, Jagger, Kilmister, M. Young, McCafferty, Morrison, Mercury, Osbourne, Page, Plant, Ramalho, Richards, Seixas, Simmons, Stanley, Vecchione, Townshend, Waters, entre outros formidáveis músicos, e à rádio online KissFM por proporcionar que as obras destes músicos me
acompanhassem, mantendo-me acordado, nas incontáveis madrugadas dedicadas à codificação e depuração dos algoritmos experimentados neste trabalho.
"Se A é o sucesso, então A é igual a X mais Y mais Z.
O trabalho é X; Y é o lazer; e Z é manter a boca fechada."
Pois o sol toda manhã faz um lindo espetáculo
e no entanto, a maioria da platéia ainda dorme."
GONÇALVES, Julio Cesar. RECONHECIMENTO DE DÍGITOS EM IMAGENS DE MEDIDORES DE CONSUMO DE GÁS NATURAL UTILIZANDO TÉCNICAS DE VISÃO COMPUTACIONAL. 102 f. Dissertação - Programa de Pós-Graduação em Computação Aplicada - Universidade Tecnológica Federal do Paraná. Curitiba, 2016.
Este trabalho propõe uma abordagem que emprega técnicas de processamento de imagens e classificação de padrões para o reconhecimento de dígitos apresentados no contador de consumo de medidores de gás natural. Tais imagens são obtidas em campo a partir de condições reais de operação, diferentemente da maioria das abordagens encontradas na literatura que se baseiam em imagens adquiridas em ambientes controlados. Inicialmente o contador de consumo é segmentado por técnicas de processamento de imagens. A segmentação é realizada com base no espaço de cor HSL da imagem, diferentemente da maioria dos trabalhos apresentados na literatura que utilizam imagens em tons de cinza. Em seguida os dígitos são individualmente segmentados e suas características extraídas de forma a compor uma base de conhecimento. Esta base serve de apoio para realizar a classificação e reconhecimento dos dígitos. Por fim, é feita uma comparação entre o desempenho dos classificadores KNN, SVM e ELM no reconhecimento de dígitos segmentados. Os resultados demonstram que as redes neurais ELM possuem um desempenho superior aos outros classificadores testados. Além disso, a metodologia mostrou-se promissora neste cenário, chegando a alcançar 95% de taxa de acerto no reconhecimento dos dígitos. Apresentando menos de 5% de falha no processo de segmentação do contador de consumo, considerando-se uma base com 903 imagens de medidores de gás. Diante da escassez de bases de imagens compatíveis com a finalidade desta pesquisa, tem-se como outro objetivo deste trabalho a disponibilização de uma base de dados contendo imagens de medidores de consumo de gás natural. Esta base é composta por imagens de medidores com tamanhos variados, obtidas em campo a partir de condições reais de operação. Fazem parte também desta base, imagens resultantes do processo de segmentação individual dos dígitos, com o objetivo de atender pesquisadores que pretendam apenas aplicar novos métodos de classificação.
GONÇALVES, Julio Cesar. DIGIT RECOGNITION IN IMAGES OF NATURAL GAS CONSUMPTION METERS USING COMPUTER VISION TECHNIQUES. 102 f. Dissertação - Programa de Pós-Graduação em Computação Aplicada - Universidade Tecnológica Federal do Paraná. Curitiba, 2016.
Figura 1. Representação da imagem em uma matriz bidimensional. ... 7
Figura 2. Representação da escala de níveis de cinza. ... 7
Figura 3. Tipos de vizinhança. ... 9
Figura 4. Modelos de cores ... 10
Figura 5. Representação do modelo de cores RGB. ... 10
Figura 6. Representação do modelo de cores HSL. ... 11
Figura 7. Etapas de um sistema de processamento de imagens. ... 13
Figura 8. Equalização de histograma. ... 16
Figura 9. Aplicação do filtro da mediana por uma máscara 3x3. ... 17
Figura 10. Aplicação do filtro Gaussiano ... 18
Figura 11. Princípio da transformada de Hough ... 19
Figura 12. Transformada de Hough. ... 20
Figura 13. Exemplo de histograma. ... 22
Figura 14. Aplicação de operadores para detecção de bordas na imagem ... 24
Figura 15. Rotulagem de componentes conexos. ... 28
Figura 16. Interpolação bilinear. ... 30
Figura 17. Esquema representativo do vetor de comportamento. ... 32
Figura 18. Exemplo de classificação via método SVM. ... 35
Figura 19. Estrutura de um neurônio artificial. ... 36
Figura 20. Estrutura de uma RNA de múltiplas camadas. ... 37
Figura 21. Arquitetura da rede neural ELM. ... 39
Figura 22. Imagens de medidores em situações do cotidiano. ... 64
Figura 23. Área vermelha apresentada no contador de consumo dos medidores .... 65
Figura 24. Resumo dos passos e principais técnicas utilizadas no método. ... 66
Figura 25. Passos para segmentação da ROI. ... 67
Figura 26. Limiarização de pixels vermelhos e pixels pretos. ... 68
Figura 27. Aplicação do filtro de suavização em elemento do vetor de projeções .... 69
Figura 28. Projeções horizontais de pixels. (a) Original; (b) Suavizada. ... 69
Figura 29. Forma de localização de picos e vales no vetor de projeções. ... 70
Figura 30. Identificação de picos e vales na projeção suavizada. ... 70
Figura 32. Delimitação da largura da ROI ... 72
Figura 33. Ajuste de inclinação da ROI ... 73
Figura 34. Segmentação da altura definitiva da ROI ... 73
Figura 35. Passos para segmentação dos dígitos. ... 74
Figura 36. Filtro top-hat ... 75
Figura 37. Eliminação de ruídos ... 76
Figura 38. Segmentação dos dígitos ... 76
Figura 39. Ajuste pelo rótulo de dimensão máxima ... 77
Figura 40. Resumos dos passos para o reconhecimento dos dígitos. ... 78
Figura 41. Tela da aplicação que atribui rótulos aos dígitos segmentados. ... 79
Figura 42. Exemplos de falha na localização da ROI. ... 84
Figura 43. Amostras de imagens do grupo utilizado para validar o método. ... 86
Figura 44. Identificação de leitura. ... 87
Figura 45. Matriz de confusão ... 87
Tabela 1. Máscara de operadores para detecção de bordas. ... 24
Tabela 2. Classes de distribuição do vetor de comportamento. ... 32
Tabela 3. Mapeamento de características extraídas dos dígitos. ... 80
Tabela 4. Taxa de acertos na localização da ROI. ... 83
Tabela 5. Taxas de reconhecimento obtidas com o experimento. ... 85
Tabela 6. Percentuais de diagnóstico de leitura e reconhecimento de dígitos. ... 87
Tabela 7. Tempo médio de execução das fases do método. ... 88
ACC Análise de Componentes Conexos
Arte-Lab Applied Recognition Technology Laboratory
BDR Base de Dígitos Rotulados
COMPAGAS Companhia Paranaense de Gás
BP Back-propagation
EE Elemento Estruturante
ELM Extreme Learning Machine
FSM Finite State Machines
HSL Hue, Saturation and Lightness
HSV Hue, Saturation and Value
KNN K–Nearest Neighbours
NCC Normalized Cross-Correlation
PPGCA Programa de Pós-Graduação em Computação Aplicada
RGB Red, Green and Blue
RNA Rede Neural Artificial
SLFN Single-hidden Layer Feedforward Network
1.1 JUSTIFICATIVA ... 2
1.2 OBJETIVOS ... 3
1.2.1 Objetivos gerais ... 4
1.2.2 Objetivos específicos ... 4
1.2.3 Contribuições esperadas ... 4
1.3 ESTRUTURA DO TRABALHO ... 5
2 FUNDAMENTAÇÃO TEÓRICA ... 6
2.1 INTRODUÇÃO ... 6
2.2 REPRESENTAÇÃO DE IMAGENS DIGITAIS ... 6
2.2.1 Histograma ... 7
2.2.2 Vizinhança e Conectividade ... 8
2.3 MODELOS DE REPRESENTAÇÃO DE CORES ... 9
2.3.1 Modelo RGB ... 10
2.3.2 Modelo HSL ... 11
2.3.3 Conversão entre Modelo RGB e HSL ... 12
2.5 PRÉ-PROCESSAMENTO ... 14
2.5.1 Transformação em Tons de Cinza ... 15
2.5.2 Equalização de Histograma ... 15
2.5.3 Suavização ... 16
2.5.4 Transformada de Hough ... 18
2.6 SEGMENTAÇÃO ... 21
2.6.1 Limiarização ... 21
2.6.3 Projeção Horizontal e Vertical ... 24
2.6.4 Morfologia Matemática Binária ... 25
2.6.4.1 Operador de Erosão ... 26
2.6.4.2 Operador de Dilatação ... 26
2.6.4.3 Operador de Abertura ... 26
2.6.4.4 Operador de Fechamento ... 27
2.6.4.5 Operadores Top-hat e Bottom-hat ... 27
2.6.4.6 Operador de Gradiente Morfológico ... 27
2.6.5 Análise de Componentes Conexos ... 28
2.6.6 Interpolação Bilinear ... 29
2.7 REPRESENTAÇÃO E DESCRIÇÃO ... 30
2.7.1 Características Estruturais via Projeções ... 30
2.7.2 Zoning ... 31
2.7.3 Vetor de Comportamento ... 31
2.8 TÉCNICAS PARA RECONHECIMENTO DE PADRÕES E CLASSIFICAÇÃO ... 33
2.8.1 K-vizinhos mais Próximos ... 33
2.8.2 Support Vector Machine... 34
2.8.3 Redes Neurais Artificiais ... 35
2.8.4 Extreme Learning Machine ... 38
2.8.5 Avaliação de Métodos de Classificação ... 41
2.8.5.1 Método de Validação Holdout ... 41
2.8.5.2 Método de Validação Cruzada K-fold ... 41
2.8.5.3 Método de Validação Leave-one-out ... 42
2.9 CONSIDERAÇÕES FINAIS ... 42
3 ESTADO DA ARTE ... 43
3.1 INTRODUÇÃO ... 43
3.3 CONSIDERAÇÕES FINAIS ... 55
4 MATERIAIS E MÉTODOS ... 63
4.1 INTRODUÇÃO ... 63
4.2 MATERIAIS ... 63
4.3 MÉTODOS ... 65
4.3.1 Segmentação da área contendo o contador de consumo ... 66
4.3.1.1 Conversão do espaço de cores RGB para HSL ... 67
4.3.1.2 Análise da projeção horizontal e vertical dos pixels ... 68
4.3.1.3 Análise de picos e vales... 69
4.3.1.4 Segmentação da região de interesse na largura ... 71
4.3.1.5 Ajuste da inclinação ... 72
4.3.1.6 Segmentação da região de interesse na altura ... 73
4.3.2 Segmentação dos dígitos ... 74
4.3.6 Reconhecimento dos dígitos ... 77
4.3.6.1 Construção da base de amostras de dígitos ... 78
4.3.6.2 Extração de atributos ... 79
4.3.6.3 Classificação dos dígitos ... 80
4.4 CONSIDERAÇÕES FINAIS ... 81
5 RESULTADOS E DISCUSSÃO ... 83
5.1 INTRODUÇÃO ... 83
5.2 RESULTADOS OBTIDOS ... 83
5.5 DISCUSSÕES GERAIS ... 88
6 CONCLUSÕES E PERSPECTIVAS PARA TRABALHOS FUTUROS ... 92
6.1 CONCLUSÕES E DISCUSSÕES ... 92
6.2 TRABALHOS FUTUROS ... 95
Apesar de se apresentar como uma atividade característica de reconhecimento ótico de caracteres (OCR) tradicional, a identificação de texto em objetos, como no caso de medidores, pode apresentar peculiaridades decorrentes de ruídos adquiridos na aquisição da imagem. Estes ruídos podem ser resultantes de diversas fontes, como a falta ou excesso de iluminação do ambiente, tipo e resolução do sensor da câmera, condição climática no momento da captura, sombras, oclusões, posicionamento da câmera em relação ao objeto capturado, entre outras interferências.
A apresentação destas peculiaridades pode atrapalhar a interpretação e reconhecimento de informações dispostas na imagem, inviabilizando a utilização de soluções tradicionais de sistemas de OCR, como pode ser observado no trabalho de (NODARI; GALLO, 2011), que utilizou uma biblioteca padrão de OCR denominada
reconhecimento dos dígitos. Este resultado, segundo o autor, ressaltou a complexidade da tarefa de OCR neste domínio de aplicação.
O propósito deste trabalho foi o de buscar abordagens robustas e de baixo custo computacional, capazes de serem reproduzidas em aplicações voltadas para dispositivos móveis, permitindo que a tarefa de reconhecimento de dígitos contidos no contador de volume de gás seja executada de forma eficaz.
Para tanto, foram empregadas diversas técnicas voltadas ao processamento digital de imagens com o objetivo de segmentar os dígitos contidos no contador de consumo. Para o método de classificação dos dígitos foi empregada a técnica denominada de Máquina de Aprendizagem Extrema (Extreme Learn Machine –
ELM), um método desenvolvido por (HUANG; ZHU; SIEW, 2004) que apresenta como uma de suas principais caraterísticas a velocidade de treinamento comparado aos métodos tradicionais de classificação.
Além de utilizar de forma prática ELM para o reconhecimento de dígitos, este trabalho apresenta também um estudo comparativo entre ELM e dois métodos de classificação clássicos encontrados na literatura (K–Nearest Neighbours - KNN e
eficiência prometida pelo método ELM relacionada ao baixo custo computacional para o reconhecimento dos dígitos, em comparação aos métodos KNN e SVM.
O objetivo geral desta pesquisa consiste em obter um conjunto de algoritmos adequado para a segmentação de regiões de interesse e reconhecimento de padrões, aplicados ao domínio do problema da coleta de dados de consumo em medidores de energia.
• Aquisição de massa de dados composta de imagens para treino e teste de algoritmos de processamento de imagens e reconhecimento de padrões.
• Obtenção de algoritmos para pré-processamento e segmentação de imagens, levando-se em conta o espaço de cores da imagem para localização da região de interesse, representada pelo contador de consumo de gás natural.
• Obtenção de algoritmos de extração de atributos e reconhecimento de padrões para interpretação do valor consumido destacado no contador de consumo de gás natural.
• Contribuir com a construção de um banco de imagens (treino e teste) que fique disponível para que outros pesquisadores elaborem futuras comparações com novas abordagens de algoritmos de processamento de imagem e reconhecimento de padrão.
• Apresentar um estudo comparativo entre o método de classificação ELM e os métodos clássicos de classificação KNN e SVM, métodos que já foram abordados em outros trabalhos envolvendo o reconhecimento de dígitos apresentados em medidores de energia.
Este documento está organizado em cinco seções. Nesta seção, é apresentada a contextualização do problema que se pretende resolver utilizando técnicas de processamento de imagens e reconhecimento de padrões, bem como a justificativa do trabalho, objetivos e contribuições esperadas.
Sistemas de processamento digital de imagens consistem em um conjunto de técnicas que permitem a captura de imagens por equipamentos variados, como tomógrafos médicos, câmeras fotográficas, satélites e outros, bem como a representação e transformação destas imagens. O propósito é extrair e identificar informações contidas nas imagens de forma automática por meio de máquinas (PEDRINI e SCHWARTZ, 2008). Nas próximas seções descrevemos alguns conceitos e técnicas empregadas em processamento digital de imagens, bem como técnicas voltadas para o reconhecimento e interpretação de padrões, úteis na composição de sistemas desta natureza.
2.2 REPRESENTAÇÃO DE IMAGENS DIGITAIS
A representação de uma imagem é uma função f(x,y), onde x e y são
coordenadas espaciais. A função f(x,y) possui, comumente, um valor em níveis de
cinza, ou cor, em qualquer ponto da imagem, o ponto de origem representado pela coordenada (0,0) fica situado no canto superior esquerdo da imagem (GONZALEZ E WOODS, 2002).
A Figura 1 ilustra a notação matricial para representação de uma imagem digital. Cada ponto desta matriz é denominado de pixel (do inglês picture element).
O índice apontado pela letra m representa a linha na qual o pixel se encontra,
enquanto que o índice apontado pela letra n aponta a coluna na qual está localizado
o pixel. Supondo que a imagem contenha M linhas e N colunas, m terá seu valor
variando de 0 até M-1, enquanto que n terá seu valor variando de 0 até N-1. Em
imagens em tons de cinza de 8 bits, o pixel tem o seu valor variando de 0
2.2.1 Histograma
O histograma representa a distribuição dos níveis de cinza apresentados em uma imagem. A quantidade de cada nível de cinza é representada por um gráfico (ACHARYA; RAY, 2005). A Figura 2a exibe uma imagem em níveis de cinza de um medidor de consumo de gás, a Figura 2b apresenta o gráfico resultante do histograma correspondente à imagem do medidor. O gráfico fornece a informação sobre quantidade de pixels na imagem que correspondem a cada um dos valores
possíveis da escala de níveis de cinza entre 0 e 255. Isto permite destacar as proporções da imagem que correspondem a cada um dos níveis de cinza.
2.2.2 Vizinhança e Conectividade
Existem vários relacionamentos importantes que podem ser observados entre
os pixels de uma imagem digital. Estes dizem respeito à região pela qual
determinado pixel é circundado, bem como a conexão existente entre este pixel e a
região que o circunda.
coordenadas determinadas por (x-1, y), (x+1, y) e (x, y-1), (x, y+1) respectivamente e
cuja formação é denominada vizinhança-4. Há também uma vizinhança diagonal compostas das coordenadas (x-1, y-1), (x-1, y+1), (x+1, y-1) e (x+1, y+1). A união
destas vizinhanças forma o que se convenciona chamar de vizinhança-8.
Deve-se observar que alguns dos pixels vizinhos não estarão presentes na
imagem quando o pixelp estiver localizado na borda da imagem. Isto pode ser mais
Ainda segundo os autores, a conectividade entre pixels é um conceito
importante no processamento de imagens, em especial para o estabelecimento das bordas de objetos presentes em uma imagem. Para estabelecer se dois pixels são
conexos, é preciso determinar se são vizinhos e se seus níveis de cinza são similares. Deve-se observar que, há a possibilidade de determinação da conexidade por meio da utilização da vizinhança-4, resultando em uma conectividade-4, ou utilizando a vizinhança-8, resultando em uma conectividade-8.
2.3 MODELOS DE REPRESENTAÇÃO DE CORES
Segundo Gonzalez e Woods (2002), a cor é um poderoso descritor de características que frequentemente simplifica o processo de identificar um objeto em determinada cena. O propósito de um modelo de cores é proporcionar uma forma padrão e de aceite geral que facilite a especificação de cores.
2.3.1 Modelo RGB
No modelo RGB cada cor aparece nos seus componentes de espectro primários, vermelho (R, red), verde (G, green) e azul (B, blue). Neste modelo, a
escala de cinza estende-se do preto até o branco (GONZALEZ e WOODS, 2002). A Figura 5 ilustra o subespaço de cores no modelo RGB.
2.3.2 Modelo HSL
O modelo HSL é definido pelos parâmetros matiz (H, hue), saturação (S,
No entanto, no modelo HSL trabalha-se com a luminância ou leveza (L) atribuindo altos valores de cores a esta quanto mais se aproximar da cor branca (IBRAHEEM et al., 2012). Enquanto que no modelo HSV trabalha-se com o brilho (V) que pode ser percebido como a "quantidade de luz", e determina a intensidade de cor.
2.3.3 Conversão entre Modelo RGB e HSL
O modelo RGB, é o modelo de cores comumente resultante do processo de aquisição de imagens por modelos de câmeras populares. Segundo Pedrini e Schwartz (2008), por meio das equações (1), (2) e (3), podemos converter uma imagem capturada no modelo RGB para o modelo HSL.
Aonde, m=min(R,G,B) e M=max(R,G,B). A luminância L e a saturação S estão
normalizadas entre 0 e 1. O matiz H varia entre 0 e 360 graus.
condições de iluminação, resolução e número de cores ou níveis de cinza da imagem.
Na etapa de segmentação realiza-se a identificação e extração da região ou das regiões de interesse (ROI – Region of Interest) apresentadas na imagem,
geralmente baseando-se na detecção de descontinuidades que são identificadas como bordas ou regiões similares apresentadas na imagem.
2.5 PRÉ-PROCESSAMENTO
2.5.1 Transformação em Tons de Cinza
Imagens em tons de cinza com profundidade de 8 bits fornecem 256 níveis de cinza tendo a luminosidade representada por um único valor que varia do preto ao branco. Já para o caso de imagens coloridas, ao invés da intensidade de luz ser representada por um único valor, cada pixel é representado pela combinação de três
valores no sistema RGB (vermelho, verde e azul), ou seja, três planos de 8 bits (24 bits), totalizando mais de 16 milhões de cores diferentes (GONZALEZ e WOODS,
Para a conversão de uma imagem colorida em uma imagem em escalas de cinza, a equação (4) pode ser utilizada, na qual R significa o valor de vermelho (red), G o valor de verde (green) e B o valor de azul (blue) que compõem o pixel.
2.5.2 Equalização de Histograma
A operação de equalização de histograma modifica a imagem de tal forma que o resultado da transformação seja uma imagem com uma distribuição mais uniforme de níveis de cinza. A imagem apresentará os seus níveis aproximadamente com a mesma frequência (PEDRINI e SCHWARTZ, 2008). O histograma equalizado pode ser obtido pela equação (5), onde k é a intensidade no histograma equalizado, L é o valor máximo de intensidade na imagem, M e N são as dimensões da imagem
e nj é o número de pixel na imagem com valor de intensidade igual a j.
௘௤ሺ௞ሻ
ሺ௅ିଵሻ
ெே ௝
Figura 8. Equalização de histograma. (a) Imagem original; (b) Histograma da imagem original; (c) Imagem equalizada; (d) Histograma da imagem equalizada.
2.5.3 Suavização
Operadores de suavização são utilizados para diminuir o efeito de ruídos originados do processo de aquisição da imagem. A operação para suavizar uma imagem é executada pela aplicação de filtros compostos de matrizes (máscaras) quadradas MxM, que percorrem toda a imagem alterando o valor dos pixels de
acordo com seus coeficientes. O cálculo do valor do pixel a ser alterado é baseado
na média aritmética ponderada que corresponde à soma dos valores de entrada ao redor do pixel, cada qual multiplicado pelo coeficiente correspondente da máscara.
A filtragem linear de uma imagem f de tamanho MxM por uma máscara w de
tamanho mxn (m e n usualmente ímpares) é dada pela expressão apresentada na
equação (6), onde a=(m-1)/2 linhas e b=(n-1)/2 colunas (GONZALEZ e WOODS,
ݐ=−ܾ ܽ
ݏ=−ܽ
Filtros lineares como o filtro passa-baixa, são capazes de efetuar a suavização, no entanto, também podem causar o borramento e perda de detalhes da imagem como as bordas. Para contornar essa perda são utilizados filtros não lineares, pois estes não suavizam regiões próximas à borda de forma homogênea.
cada pixel pela mediana de intensidades da vizinhança do pixel. Isso é conseguido
fazendo a ordenação crescente de intensidade dos pixels que estão sob a aplicação
da máscara, substituindo o pixel central pelo valor mediano da ordenação. A Figura
9 ilustra a aplicação do filtro da mediana utilizando uma máscara de dimensão 3x3.
Outro filtro que proporciona o borramento da imagem é o filtro Gaussiano. Gonzalez e Woods (2002) descrevem-no como uma das alternativas para suavizar imagens com o propósito de redução de ruídos. Segundo Pedrini e Schwartz (2008), os coeficientes da máscara utilizada na filtragem são derivados de uma função Gaussiana bidimensional. A equação (7) define esta função na qual o desvio padrão σ representa o grau de suavização.
• Em duas dimensões, é um filtro de caraterística isotrópica, pois, devido ao filtro ser simétrico em relação à rotação, realizará a suavização com o mesmo grau em todas as direções.
• A suavização acontece por meio da substituição de cada pixel por uma média
ponderada dos pixels vizinhos, onde o peso de um vizinho decresce com a
distância do pixel central.
• O grau de suavização (largura) do filtro está relacionado com o valor do desvio padrão σ. Quanto maior σ, maior é a largura do filtro e maior é o seu grau de suavização.
• As funções Gaussianas são separáveis, permitindo que a convolução seja executada por meio da aplicação de um filtro Gaussiano unidirecional, seguido da aplicação do mesmo filtro orientado ortogonalmente, o que possibilita reduzir consideravelmente o número necessário de operações executadas.
2.5.4 Transformada de Hough
Segundo Pedrini e Schwartz (2008), a área de análise de imagens apresenta com frequência problemas que consistem em detectar um conjunto de pontos que pertençam, por exemplo, a um segmento de reta.
No método proposto por Hough (1962) é possível detectar, em imagens binarizadas, formas passíveis de parametrização como linhas retas e circunferências. O método, denominado transformada de Hough, baseia-se na conversão de uma imagem binária em um espaço acumulador de parâmetros com n
Na detecção de linhas, considera-se que para um ponto (x, y) pertencente a
imagem existirá um conjunto de retas que interceptará este ponto e que são definidas pela equação (8).
(8) A equação anterior pode ser recombinada tornando m e b parâmetros e
transformando x e y em constantes. Tem-se então a equação (9) que é denominada
como espaço de parâmetros ou espaço de Hough.
(9) Observando as equações anteriores, percebe-se que cada reta que passa pelo ponto (x, y), irá corresponder a um ponto no espaço de Hough. De fato todos os
pontos que são colineares no plano da imagem irão se interceptar em um mesmo ponto no espaço de parâmetros.
A Figura 11 retrata a relação de mapeamento para os pontos p1, p2 e p3.
Dentre o conjunto de retas que passam por cada um destes pontos, existe apenas uma que passa simultaneamente pelos três pontos. Esta reta é então representada no espaço de Hough pelo ponto de intersecção (m, b).
acumulador e terminada esta análise são escolhidas as entradas de interesse com base num threshold previamente definido. O resultado deste processo irá determinar
Segundo Gonzalez e Woods (2002) o objetivo da segmentação é obter uma imagem subdividida em partes como forma de buscar o isolamento de conjuntos de
2.6.1 Limiarização
A segmentação por limiarização, também denominada de Thresholding, é um
método para dividir a imagem resultando em duas regiões de interesse: objeto e fundo. O agrupamento dos pixels nestes dois grupos é feito por meio de um valor
limiar de corte, cujos pixels com valores maiores que o limiar são classificados no
grupo de objetos e os pixels restantes classificados no grupo de fundo. A equação
(11) corresponde a forma tradicional de cálculo do limiar no qual R1 e R2 são os
valores estipulados para os níveis de cinza da imagem binarizada, no caso utiliza-se 0 (para a cor preta) e 255 (para a cor branca), e T o valor limiar estimado. Uma das
técnicas para estimativa do valor limiar T é descrita em Otsu (1979).
A limiarização pode ser feita por meio da inspeção do histograma da imagem. Para o caso de um histograma bi-modal a distribuição de fundo e objeto é bem definida. Já em casos em que o histograma não se apresenta bi-modal, é necessária a execução da limiarização por tentativa utilizando processos interativos, na qual são testados diferentes limiares até produzir um resultado satisfatório de acordo com o observador.
Como alternativa para o limiar de distribuições que não se apresentam na forma bi-modal encontra-se a limiarização adaptativa na qual o algoritmo tenta encontrar um valor de limiar realizando o cálculo utilizando pequenas máscaras de vizinhança (como por exemplo, 3x3). Em cada janela é calculado um valor global para cada pixel central da máscara (limiar local). A principal vantagem do uso de
técnicas, em relação ao limiar fixo, é a compensação de variações nas condições de iluminação da cena em que a imagem é gerada.
Para cada pixel na posição (x,y), o limiar T(x,y)=(PMenor + PMaior)/2 é
usado, onde PMenor e Pmaior correspondem ao mais baixo e mais alto valores de
nível de cinza em uma vizinhança RxR centrada em (x,y). Para os casos em que a
medida de contraste C(x,y)=(Pmaior- Pmenor) for menor que um contraste mínimo L,
então a vizinhança só consiste em uma das classes; preto ou branco.
Outra forma de realizar a limiarização adaptativa é utilizando o método de Niblack (1986). Este método determina o valor do limiar por meio do cálculo da média e do desvio padrão dos valores dos pixels presentes na janela de vizinhança,
e a partir do cálculo destes valores aplica-se a equação (12), onde:
σ(x,y) é o desvio padrão calculado dos pixels apresentados na janela.
k é um parâmetro que possibilita o controle da influência do desvio padrão
das intensidades vizinhas sobre a decisão de limiar.
Em resumo, percorre-se a imagem calculando, dentro da janela de vizinhança, a soma do resultado da média com o resultado do desvio padrão multiplicado por k. Assim, um valor para o limiar T é determinado e caso seja menor
que o valor do pixel em análise, esse pixel recebe zero, senão recebe um.
2.6.2 Detecção de Bordas
Conforme Pedrini e Schwartz (2008), a definição de borda é dada como uma fronteira ou limite entre duas regiões na imagem que apresenta as propriedades de níveis de cinza relativamente distintas.
Tabela 1. Máscara de operadores para detecção de bordas. Fonte: Adaptado de Marques Filho e Vieira Neto (1999).
Máscara para detectar bordas verticais
Máscara para detectar bordas horizontais
A detecção de bordas consiste basicamente na aplicação do operador (ou máscara) mediante um processo denominado de convolução que percorre cada um
dos pixels da imagem na busca destas descontinuidades. A Figura 14 exibe a
aplicação das máscaras de Sobel (14b) e Prewitt (14c) sobre uma imagem em tons de cinza (14a), com o propósito de detectar bordas horizontais e verticais na imagem.
2.6.3 Projeção Horizontal e Vertical
linha da imagem (projeção horizontal), bem como na soma dos pixels em cada
coluna (projeção vertical).
2.6.4 Morfologia Matemática Binária
Segundo Gonzalez e Woods (2002), a linguagem da morfologia matemática é a teoria dos conjuntos, e oferece uma abordagem unificada e poderosa para inúmeros problemas de processamento de imagens. O emprego da morfologia matemática possibilita a extração de componentes úteis para representar e descrever formas de regiões na imagem como, fronteiras, esqueletos e o fecho convexo. Pode também ser aplicada em técnicas de pré-processamento e pós-processamento, como filtragem morfológica, afinamento e poda.
2.6.4.1 Operador de Erosão
No caso da aplicação da erosão em imagens binárias, o seu efeito será o de erodir as fronteiras do objeto, fazendo com que a área do objeto sofra uma redução de tamanho, enquanto que os buracos localizados dentro do objeto se tornem maiores.
A erosão é definida pela equação (13), na qual A é a imagem de entrada e B
o elemento estruturante.
2.6.4.2 Operador de Dilatação
Na dilatação de imagens binárias, o efeito é de aumento gradual das fronteiras do objeto, proporcionando o crescimento em tamanho da área do objeto, enquanto que os buracos internos do objeto tornam-se menores.
A dilatação é definida pela equação (14), onde A é a imagem de entrada e B o
elemento estruturante.
⊕ ∩
2.6.4.3 Operador de Abertura
A abertura é geralmente utilizada para suavizar contornos em objetos, bem como eliminar contornos estreitos entre objetos, buscando também remover saliências finas. Para obtenção do efeito da operação de abertura aplica-se um operador de erosão seguido de um operador de dilatação no objeto. A abertura é definida pela equação (15), onde A é a imagem de entrada e B o elemento
 ⊕
2.6.4.4 Operador de Fechamento
A operação de fechamento é aplicada para remover pequenos buracos em objetos, preencher lacunas em contornos, bem como fundir separações estreitas entre objetos. Seu efeito é conseguido pela aplicação de um operador de dilatação seguido de um operador de erosão.
O fechamento é definido pela equação (16), onde A é a imagem de entrada e B o elemento estruturante.
2.6.4.5 Operadores Top-hat e Bottom-hat
As operações top-hat e bottom-hat são geralmente utilizadas para remoção
de objetos da imagem. A primeira destaca regiões claras sobre fundos escuros e a segunda destaca regiões escuras sobre fundos claros. O efeito da operação de top-hat é obtido por meio da subtração da imagem original pelo resultado da operação
de sua abertura. Para obtenção do efeito da operação bottom-hat subtrai-se a
imagem original do resultado de seu fechamento.
2.6.4.6 Operador de Gradiente Morfológico
O operador de gradiente morfológico destaca as transições entre os níveis de cinza destacando os contornos da imagem. O resultado da operação depende do EE utilizado, por exemplo, um EE pequeno é o elemento ideal para que os contornos sejam apresentados de forma bem definida e delgada. O resultado do gradiente morfológico é obtido pela diferença entre a imagem dilatada e a imagem erodida pelo mesmo EE (DOUGHERTY, 1992).
2.6.5 Análise de Componentes Conexos
Segundo Pedrini e Schwartz (2008), para verificar se dois pixels são conexos
Basicamente o procedimento para rotulagem é o de examinar cada pixel
juntamente com os seus vizinhos e aplicar um label (rótulo) a todos os pixels que
correspondam ao mesmo componente.
A Figura 15 ilustra o processo de rotulagem de componentes conexos, onde na Figura 15(a) é exibido os pixels da imagem binária, na Figura 15(b) a imagem
simbólica com cada um dos labels identificados conforme a aplicação da análise de
componentes conexos, e na Figura 15(c) a imagem com os componentes conexos em destaque.
2.6.6 Interpolação Bilinear
Métodos de interpolação são empregados em imagens para transformá-las com o objetivo de proporcionar uma ampliação (zooming), encolhimento (shrinking),
rotação ou correções geométricas utilizando de informações conhecidas para estimar valores em locais desconhecidos.
Se o pixel é igual a 1, então analise o vizinho de cima e o vizinho da
a) Se apenas um dos vizinhos possui label, copie o label para o pixel
b) Se ambos vizinhos possuem o mesmo label, copie o label para o
pixel atual.
c) Se os labels de ambos forem diferentes, copie o label do vizinho
superior juntamente com um novo label para uma tabela de equivalência.
2.7 REPRESENTAÇÃO E DESCRIÇÃO
Um aspecto básico apresentado no desenvolvimento de sistemas que analisam imagens é a seleção de um conjunto de características relacionadas ao objeto de interesse, e que possam ser utilizadas para efeito de classificação destas imagens (PEDRINI e SCHWARTZ, 2008). Este conjunto de informações irá de alguma forma representar ou descrever determinada imagem.
2.7.1 Características Estruturais via Projeções
A extração de características estruturais de um objeto pode ser feita por meio do cálculo do perfil de projeções de pixels apresentados na imagem como a
projeção horizontal e a vertical. A projeção horizontal de pixels é calculada pela
soma dos pixels referentes ao objeto distribuídos em cada linha da imagem. A
2.7.2 Zoning
A extração de características utilizando a técnica de Zoning (PITAS, 2000),
consiste em dividir a imagem em zonas retangulares de igual tamanho (ou próximo disto, no caso de imagens com altura ou largura que não permitam a divisão em áreas exatas).
Com as zonas delimitadas, toma-se uma medida que seja referente aos pixels
pertencentes a cada uma destas zonas. Um exemplo de medida poderia ser o valor médio da intensidade dos pixels que compõem determinada zona, ou para o caso de
imagens binárias o percentual de pixels distribuídos por zona que representem o
objeto de interesse. Calculadas as medidas por zona, estas podem ser combinadas formando um único vetor de características.
2.7.3 Vetor de Comportamento
A técnica de extração de características baseada em vetor de comportamento (RUDEK, 1999), também leva em consideração a separação da área da imagem em zonas (ou subáreas). Para cada subárea da imagem determina-se a cor (ou o tom de cinza) que possua a maior frequência dentro da subárea.
Tendo extraído os valores de intensidades de pixel mais significativos em
Figura 17. Esquema representativo do vetor de comportamento. (a) Imagem dividida em zonas; (b) Nível de cinza de maior frequência em cada zona; (c) Classificação de cada zona com base na tabela de intervalos de distribuição.
Fonte: Adaptado de Rudek (1999).
Intervalo de distribuição (maior intensidade dos pixels por zona)
9 136 a 152
A 153 a 169
B 170 a 186
C 187 a 203
D 204 a 220
E 221 a 237
2.8 TÉCNICAS PARA RECONHECIMENTO DE PADRÕES E CLASSIFICAÇÃO A etapa de reconhecimento de padrões busca, partindo de um conjunto de medições, identificar objetos presentes na imagem que foram isolados pela etapa de segmentação. Cada objeto apresenta um padrão e as medições são baseadas nas características desse padrão. São considerados pertencentes à mesma classe de padrões, objetos que possuam uma ou mais características semelhantes. Nas próximas seções são descritas algumas técnicas que podem ser utilizadas para o reconhecimento de padrões.
2.8.1 K-vizinhos mais Próximos
A classificação utilizando o método dos K–vizinhos mais próximos (KNN – K–
uma classe a um elemento desconhecido usando a classe da maioria de seus k
vizinhos mais próximos, segundo uma determinada distância (no espaço de atributos).
2) Dentre as k amostras mais próximas, escolha a classe que seja maioria
entre elas. Se houver empate, utilize a classe mais próxima das maiorias empatadas.
2) A ordenação das distâncias para identificar as k amostras mais próximas.
3) A identificação da maioria dos rótulos das k amostras mais próximas.
Para buscar os k-vizinhos mais próximos entre a amostra desconhecida e as
amostras da base de conhecimento, precisamos de uma função distância entre duas amostras quaisquer utilizando os atributos destas amostras. Estes atributos podem ser, por exemplo, valor médio da imagem, variância, percentis, histograma, estatísticas do gradiente entre outros.
Para problemas cujas classes de dados não se apresentem linearmente separáveis, emprega-se o uso de funções de kernel (VAPNIK, 2013). O emprego
destas funções será o responsável por mudar a dimensionalidade das classes de dados, as transformando em classes linearmente separáveis. As funções de kernel
mais comuns são: hiperbólica, gaussiana, polinomial e linear.
2.8.3 Redes Neurais Artificiais
Uma rede neural artificial (RNA) é um modelo de grafo orientado em que os nós representam neurônios artificiais e as arestas orientadas denotam as conexões existentes entre as entradas e saídas do neurônio (PEDRINI e SCHWARTZ, 2008). O modelo mais simplificado de RNA é composto de um único neurônio denominado
Download now (119 pages)
O objetivo das regulamentações modernas de segurança contra incêndio é pro- teger a vida e evitar que os incêndios, caso se iniciem, se propaguem para fora de um compartimento do
As provas são encurtadas quando o calor está muito intenso." A atleta revela algumas me- didas utilizadas pelos atletas desse esporte para fugir do calor.. "Se o calor é muito