Faculdade de Engenharia Elétrica e de Computação
Frank Alexis Canahuire Cabello
Contribuições à detecção automática de pontos
quentes em postes de energia elétrica usando o
algoritmo Bag of Visual Words e métodos de
Kernel
Campinas
2016
Faculdade de Engenharia Elétrica e de Computação
Frank Alexis Canahuire Cabello
Contribuições à detecção automática de pontos quentes
em postes de energia elétrica usando o algoritmo Bag of
Visual Words e métodos de Kernel
Tese apresentada à Faculdade de Engenha-ria Elétrica e Computação da Universidade Estadual de Campinas como parte dos re-quisitos exigidos para a obtenção do título de Doutor em Engenharia Elétrica na área de Telecomunicações e Telemática.
Orientador: Prof. Dr. Yuzo Iano
Este exemplar corresponde à ver-são final da tese defendida pelo aluno Frank Alexis Canahuire Cabello, e orientada pelo Prof. Dr. Yuzo Iano
Campinas
2016
Ficha catalográfica
Universidade Estadual de Campinas Biblioteca da Área de Engenharia e Arquitetura
Luciana Pietrosanto Milla - CRB 8/8129
Canahuire Cabello, Frank Alexis,
C16c CanContribuições à detecção automática de pontos quentes em postes de
energia elétrica usando o algoritmo Bag of Visual Words e métodos de Kernel / Frank Alexis Canahuire Cabello. – Campinas, SP : [s.n.], 2016.
CanOrientador: Yuzo Iano.
CanTese (doutorado) – Universidade Estadual de Campinas, Faculdade de
Engenharia Elétrica e de Computação.
Can1. Maquina de vetores de suporte. 2. Processamento de imagens. 3.
Aprendizado do computador. I. Iano, Yuzo,1950-. II. Universidade Estadual de Campinas. Faculdade de Engenharia Elétrica e de Computação. III. Título.
Informações para Biblioteca Digital
Título em outro idioma: Contributions of the automatic detection of hot spots in utility poles using the Bag of Visual Words algorithm and Kernel methods
Palavras-chave em inglês: Support vector machine Image processing Machine learning
Área de concentração: Telecomunicações e Telemática Titulação: Doutor em Engenharia Elétrica
Banca examinadora: Yuzo Iano [Orientador] Roger Fredy Larico Chavez Vicente Idalberto Becerra Sablón Talía Simões dos Santos
Luis Geraldo Pedroso Meloni Data de defesa: 11-10-2016
Programa de Pós-Graduação: Engenharia Elétrica
Candidato:Frank Alexis Canahuire Cabello | RA: 108794
Data da Defesa:11 de Outubro de 2016
Título da Tese:“Contribuições à detecção automática de pontos quentes em postes de energia elétrica usando o algoritmo Bag of Visual Words e Métodos de Kernel ”.
Prof. Dr. Yuzo Iano (Presidente, FEEC/UNICAMP) Prof. Dr. Roger Fredy Larico Chavez (UFAC)
Prof. Dr. Vicente Idalberto Becerra Sablón (UNIMEP) Prof. Dra. Talia Simões dos Santos (FEEC/UNICAMP) Prof. Dr. Luis Geraldo Pedroso Meloni (FEEC/UNICAMP)
A ata de defesa, com as respectivas assinaturas dos membros da Comissão Julgadora, encontra-se no processo de vida acadêmica do aluno.
A meus pais, Esteban e Gloria, por ter me dado muito amor e compreensão. Aos meus irmãos, Christian e Ruth, pela ajuda e compreensão durante meus estudos de Doutorado.
A minha namorada Angela por ter me dado seu apoio durante todo este tempo de pesquisa.
A meu orientador, Prof. Yuzo Iano sou grato pela orientação, conselhos e com-preensão.
A meus amigos Laura, Nicolas, Myriam, Jackeline e Luís pelo apoio durante esta jornada.
Aos integrantes dos grupos de pesquisa formados durante a minha vida acadê-mica dentro e fora do Laboratório de Comunicações Visuais(LCV). Aos demais colegas de pós-graduação, pelas sugestões, ajudas, conselhos e amizades.
Meus agradecimentos às agência financiadoras do grupo de pesquisa do LCV como CAPES (Coordenação de Aperfeiçoamento de Pessoal de Nível Superior), CNPq (Conselho Nacional de Desenvolvimento Científico e Tecnológico).
Agradecimento especial ao programa CAPES-PECPG da Coordenação de
Aper-feiçoamento de Pessoal de Nível Superior tanto pelo apoio financeiro quanto pelo incentivo acadêmico para este trabalho pudesse ser realizado.
Agradecimento à empresa CPFL Paulista, pelo uso das imagens de seus postes elétricos.
Um dos maiores problemas na distribuição de energia é o aquecimento anormal asso-ciado à alta resistência ou fluxo de corrente excessiva, onde alguns dos componentes afetados são o transformador trifásico, switches, conetores, fusíveis, etc.
Para detectar problemas relacionados a pontos quentes, é necessário o uso de câmeras térmicas. Uma vez que a câmera térmica determina o ponto quente, é selecionada uma região de interesse (ROI) que será utilizada em este trabalho de tese. O objeto de estudo começa a partir da obtenção desta região, não será estudado o tratamento das imagens térmicas. O principal objetivo será a detecção de postes de energia elétrica usando um banco de dados de imagens obtidas de Google Maps para a região de Campinas.
Nos últimos anos, a área de classificação de imagens tem evoluído rapidamente com a chegada das redes neurais convolucionais (Convolutional Neural Networks – CNN), a principal vantagem de este algoritmo é sua precisão mas a sua maior desvantagem é o uso de um alto custo computacional (para a sua implementação é necessário usar processamento em paralelo).
O que foi necessário para este projeto é um algoritmo rápido e robusto, por isto usou-se um algoritmo que foi deixado um pouco de lado com a vinda das CNN’s: o método Bag of Visual Words (BoVW) usando a informação espacial.
Esse método é dividido em 3 partes: a extração de características, representação de imagens e a classificação. Para a classificação, foram usados vários tipos de Kernel junto com o classificador de máquinas de vetores de suporte(Support Vector Machine – SVM). Os resultados obtidos mostram uma precisão ao redor de 95% de classificações corretas de postes de energia elétrica.
Palavras-chaves: Aprendizado do computador; Aquecimento; Detecção automática; Processamento de imagens.
One of the major problems in power distribution networks is abnormal heating asso-ciated with high resistance or excessive current flow, where some affected components are three-phase transformers, switches, connectors, fuses, etc.
In order to know where the hotspots are, it is common to use thermal cameras. Since the thermal camera determines a hotspot, a sub-image is selected to be studied. This work starts from obtaining the sub-image and will not cover the study of the thermal image processing. The main objective will be the detection of utility poles using a database of images obtained from Google Maps for the region of Campinas.
In recent years, the area of image classification has been evolving rapidly with the arrival of new algorithms such as Convolutional Neural Networks (CNN). The main advantage of this algorithm relies on its accuracy; however, the major disadvantage of this method is the high processing time.
For this reason, the Bag of Visual Words (BoVW) method was used where there were only two classes (those that are utility poles and those that are not utility poles) to see if the sub-image obtained is a utility pole.
This method was divided into 3 parts: feature extraction, image representation, and classification. For classification, kernel methods such as Support Vector Machines (SVM) were used. The results show that the accuracy of this method is around 95% of correct classification of utility poles.
Keywords: Support Vector Machine; Image Processing; Automatic detection; Machine learning.
Figura 1.1 – Imagens térmicas aplicadas na área médica. . . 20
Figura 1.3 – (a) Imagem térmica de uma casa. (b) Imagem térmica de um pai-nel solar, estas imagens pertencem à empresa de câmeras térmicas FLIR. . . 21
Figura 1.4 – A imagem térmica apresenta uma região quente o qual significa que algum componente elétrico necessita ser revisado para evitar seu mal funcionamento . . . 21
Figura 1.5 – Imagem de exemplo utilizada para a explicação do método de ex-tração de imagens de postes elétricos. . . 22
Figura 1.6 – A região de interesse é determinada a partir da detecção do ponto quente detectado pela câmera térmica. . . 23
Figura 1.7 – Imagem de interesse de resolução 489×496 pixels. . . 23
Figura 1.8 – Imagem de resolução 256×256 pixels que será usada para treinar ou testar o classificador. . . 24
Figura 2.1 – Extração de características locais de um mesmo objeto em diferen-tes imagens. . . 26
Figura 2.2 – Representação do diagrama que será realizado neste trabalho. . . 27
Figura 2.3 – Imagens de postes que serão usados para a obtenção das caracte-rísticas locais de diferentes algoritmos que serão estudados a seguir. 28 Figura 2.4 – Detecção de canto, borda ou região segundo os valores de λ1e λ2. 31 Figura 2.5 – Extração dos pontos característicos usando o método Harris. . . . 31
Figura 2.6 – O ponto de interesse ‘p’ que é comparado com os 16 pixels no círculo a seu ao redor. . . 32
Figura 2.7 – Extração de pontos característicos usando o método FAST. . . 33
Figura 2.8 – Escala dos pontos característicos usando o método FAST. . . 33
Figura 2.9 – Representação do procedimento de obtenção das Diferenças de Gaussianas (DoG) para diversas oitavas de uma imagem partindo da pirâmide gaussiana. . . 35
Figura 2.10 – Obtendo a pirâmide gaussiana e a Diferença de Gaussiano para uma imagem de olho humano. . . 36
Figura 2.11 – Se uma característica é achada na terceira oitava, a área que ela re-presenta na imagem original será maior das achadas na primeira ou segunda oitava. . . 36
Figura 2.12 – Detecção de extremos no espaço-escala. . . 37
Figura 2.13 – Extração de pontos característicos usando o método SIFT. . . 38
Figura 2.17 – Obtenção do vector de 128 elementos no ponto característico. . . . 41
Figura 2.18 – Descritor do ponto de interesse para uma janela de 16x16. . . 41
Figura 2.19 – Escala e orientações dos pontos característicos usando o método SIFT. . . 42
Figura 2.20 – Usando imagens integrais, leva apenas três adições e quatro aces-sos à memória para calcular a soma de intensidades dentro de uma região retangular de qualquer tamanho. . . 43
Figura 2.21 – Exemplo de discretização de kernels. . . 45
Figura 2.22 – Comparação entre a criação do espaço de escalas entre SIFT e SURF. 45 Figura 2.23 – Redimensionamento do kernel discreto. . . 46
Figura 2.24 – Extração de pontos característicos usando o método SURF. . . 46
Figura 2.25 – Escala e orientações dos pontos característicos usando o método SURF. . . 47
Figura 2.26 – Construção do espaço de escalas usando o método BRISK. . . 48
Figura 2.27 – Extração de pontos característicos usando o método BRISK. . . 48
Figura 2.28 – Escala e orientações dos pontos característicos usando o método BRISK. . . 49
Figura 2.29 – Extração de pontos característicos usando o método ORB. . . 50
Figura 2.30 – Escala e orientações dos pontos característicos usando o método ORB. . . 51
Figura 2.31 – Extração de pontos característicos usando o método Dense. . . 52
Figura 2.32 – Diagrama do algorimto BoVW para a obtenção dos histogramas das imagens. . . 54
Figura 2.33 – Exemplo de agrupamento de dados não supervisionada para 3 centroides. . . 55
Figura 2.34 – Usando o algoritmo K-means para encontrar 3 clusters em uma amostra de dados. . . 56
Figura 3.1 – Passos que serão utilizados neste trabalho para a classificação de imagens. . . 57
Figura 3.2 – Matriz de confusão que será usada para escrever as equações dos parâmetros de medição. . . 58
Figura 3.3 – Curva ROC. . . 61
Figura 3.4 – Diferencia entre boas características e más características. . . 62
Figura 3.5 – Duas classes linearmente separáveis. . . 64
Figura 3.6 – Classificador SVM consegue obter a máxima margem de separa-ção entre as fronteiras das duas classes. . . 65
Figura 3.9 – As imagens corretamente classificadas estarão localizadas na re-gião cinza. . . 67 Figura 3.10 – Representação de SVM com um kernel não-linear. A função φ(.)
é a transformação não-linear de mapeamento de vetores de (a) O espaço de entrada ao (b) Espaço de características. . . 72 Figura 3.11 – Conversão de dados de dimensão<2para<3. . . . 74
Figura 3.12 – Como os dados em<3são linearmente separáveis é possível
apli-car um classificador linear SVM. . . 75 Figura 3.13 – Matriz kernel K. . . 78 Figura 4.1 – Duas classes de imagens linearmente separáveis, classe 1 são os
pontos vermelhos e a classe 2 são os pontos azuis. . . 79 Figura 4.2 – Exemplo de um classificador linear perto da classe 1. . . 80 Figura 4.3 – Exemplo de duas classes não separadas linearmente. . . 80 Figura 4.4 – Neste exemplo é possível observar que existem amostras da classe
2 que seriam classificados como classe 1(círculo verde) e vice-versa (círculo amarelo). . . 80 Figura 4.5 – Histogramas de palavras visuais para 8 classes de imagens
dife-rentes. . . 81 Figura 4.6 – Histogramas de palavras visuais para diferentes quantidades de
centroides para a classe 1 do exemplo anterior. . . 82 Figura 4.7 – Exemplo de 3 distribuições para duas classes. A distância das
me-dias das classes em (c) é menor do que comparado com (a). . . 83 Figura 4.8 – Imagens de postes de eletricidade de fácil visualização. . . 84 Figura 4.9 – Imagens de postes de eletricidade de difícil visualização. . . 84 Figura 4.10 – Imagens classificadas como não postes e estão longe de ser
classi-ficadas como postes de eletricidade. . . 85 Figura 4.11 – Imagens classificadas como não postes e estão perto de ser
classi-ficadas como postes de eletricidade. . . 85 Figura 4.12 – A classe azul claro é o histograma das imagens representa às
ima-gens que não são postes, e a classe azul escuro representa o histo-grama das imagens que são postes. . . 85 Figura 4.13 – Pirâmide espacial. . . 86 Figura 4.14 – Duas imagens onde foram determinada a posição para
determi-nada palavra visual. . . 87 Figura 4.15 – União das localizações de determinada palavra visual. . . 88 Figura 4.16 – Será realizada a intersecção de histogramas em cada uma das 16
regiões. . . 88 Figura 4.17 – Intersecção de histogramas no nível 1 da Pirâmide Espacial. . . 89
Figura 4.19 – Intersecção de histogramas no nível 2 da Pirâmide Espacial. . . 89 Figura 4.20 – O valor total do kernel de intersecção de histograma é igual a 11.5. 90 Figura 4.21 – Imagens da classe poste, a maioria dos postes da base de dados
está localizada no meio da imagem. . . 90 Figura 4.22 – Diagrama da técnica de validação cruzada aplicado à busca de
parâmetros desconhecidos no algoritmo de classificação de postes. 91 Figura 5.1 – (a) Distribuição clássica explicada no capitulo 4. (b) Esta
distri-buição consiste em duas áreas, uma superior e a outra inferior. (c) Esta distribuição também consiste em duas áreas, a parte central e o restante. (d) Esta distribuição é parecida com (c). . . 97 Figura 5.2 – Os parâmetros ‘a’ e ‘b’ estão representados normalizados à
uni-dade. Todas as imagens são de resolução 256x256. . . 98 Figura 5.3 – Curva ROC para 50000 amostras, 256 centroides, com detector
FAST e descritor ORB. . . 98 Figura 5.4 – As 3 regiões determinadas pela distribuição obtida anteriormente.
(Região 1, Região 2 e Região 3 de esquerda à direita) . . . 99 Figura 5.5 – Curva ROC (expressado com ‘x’) para a obtenção dos pesos das 3
regiões, o círculo vermelho significa que foi a melhor configuração achada. . . 99 Figura 5.6 – Imagens de 6 postes classificadas erroneamente como não-postes
usando FAST–BRISK. . . 109 Figura 5.7 – Foram 5 imagens de 120 as que foram classificadas erroneamente
como não-poste, usando FAST–SIFT. . . 110 Figura 5.8 – Imagens corretamente classificadas como postes. . . 111 Figura 5.9 – Imagens corretamente classificadas como postes. . . 111 Figura 5.10 – O classificador será testado com 807 imagens similares a estas. . . 112
Tabela 2.1 – Os detectores e os tipos de características locais que eles detectam. 29 Tabela 5.1 – Precisão (ver Secção 3.2) dos algoritmos de detecção e descrição
usando a equação (3.1). . . 93
Tabela 5.2 – Tempo de processamento (em segundos) que demora para extrair as características das imagens de treinamento e teste. . . 94
Tabela 5.3 – Tempo(ms) de processamento para o cálculo do classificador SVM Linear. . . 94
Tabela 5.4 – Porcentagem de precisão usando a combinação FAST–SIFT. . . 95
Tabela 5.5 – Tempo (em segundos) em processar ‘K’ centroides usando a com-binação FAST–SIFT. . . 96
Tabela 5.6 – Resultados para diferentes valores de a e b. . . 97
Tabela 5.7 – Melhor resultado obtido a partir da curva ROC mostrada em Fig. 5.5. . . 99
Tabela 5.8 – Kernel Linear . . . 100
Tabela 5.9 – Kernel Grau 2 . . . 100
Tabela 5.10 – Kernel Grau 3 . . . 101
Tabela 5.11 – Kernel Circular . . . 101
Tabela 5.12 – Kernel Gaussiano . . . 102
Tabela 5.13 – Kernel Sigmoide(parâmetro c) . . . 102
Tabela 5.14 – Kernel Sigmoide(parâmetro α) . . . 102
Tabela 5.15 – Kernel Multiquadrático . . . 103
Tabela 5.16 – Kernel Multiquadrático Inverso . . . 103
Tabela 5.17 – Kernel Exponencial RBF . . . 103
Tabela 5.18 – Kernel de Intersecção de Histograma . . . 104
Tabela 5.19 – Kernel Cauchy . . . 104
Tabela 5.20 – Precisão usando o Kernel de Intersecção de Histograma sem Pirâ-mides Espaciais . . . 105
Tabela 5.21 – Precisão usando Kernel de Intersecção de Histograma com Pirâ-mides Espaciais. . . 105
Tabela 5.22 – Tempo de processamento do classificador. . . 106
Tabela 5.23 – Kernel de Intersecção de Histograma com Pirâmides Espaciais e com os pesos para cada região. . . 106
Tabela 5.24 – Resultados do Kernel da equação 5.12. . . 107
Tabela 5.25 – Resultados do Kernel da equação 5.13. . . 107
Tabela 5.28 – Parâmetros do classificador usando o Kernel da equação 5.12 para FAST–BRISK. . . 109 Tabela 5.29 – Parâmetros do classificador usando o Kernel da equação 5.12 para
FAST–SIFT. . . 110 Tabela 5.30 – Precisão para 3 tipos diferentes de Redes neurais. . . 113 Tabela 5.31 – Precisão para outros classificadores supervisionados. . . 113 Tabela 5.32 – Precisão dos algoritmos de classificação usando FAST–BRISK e
BoVW Bag of Visual Words
BRIEF Binary Robust Independent Elementary Feature BRISK Binary Robust Invariant Scalable Keypoints
CNN Convolutional Neural Network
DoG Difference of Gaussians
FAST Features from Accelerated Segment Test
FN False Negative
FP False Positive
KNN K-Nearest Neighbors
NPV Negative Predictive Value
ORB Oriented-FAST and Rotated-BRIEF
PPV Positive Predictive Value
ROC Receiver Operating Characteristic
ROI Region of Interest
SIFT Scale-Invariant Feature Transform
SURF Speeded Up Robust Features
SVM Support Vector Machine
TN True Negative
1 Introdução . . . . 18
1.1 Imagens térmicas e suas aplicações . . . 18
1.2 Sobre aquecimento em componentes de média e baixa tensão . . . 21
1.3 Extração da base de dados . . . 22
1.4 Objetivos . . . 24
1.5 Estrutura da tese . . . 25
2 Representação de Imagens . . . . 26
2.1 Introdução . . . 26
2.2 Detecção de características . . . 27
2.2.1 Detecção de cantos usando Harris . . . 29
2.2.2 Features from Accelerated Segment Test (FAST) . . . 31
2.2.3 Scale-Invariant Feature Transform (SIFT) . . . 33
2.2.4 Speeded up Robust Features (SURF) . . . 42
2.2.5 Binary Robust Invariant Scalable Keypoints (BRISK) . . . 47
2.2.6 Oriented-FAST and Rotated-BRIEF (ORB) . . . 48
2.2.7 Extração de características Dense . . . 51
2.3 Bag of Visual Words (BoVW) . . . 52
2.4 Agrupamento de dados usando o algoritmo K-means . . . 54
3 Classificação de Imagens . . . . 57
3.1 Introdução . . . 57
3.2 Parâmetros para avaliar a eficiência dos classificadores . . . 57
3.2.1 Precisão . . . 58
3.2.2 Sensibilidade (recall) . . . 58
3.2.3 Especificidade . . . 59
3.2.4 Valor de predição de positivos(PPV) . . . 59
3.2.5 Valor de predição de negativos(NPV) . . . 60
3.2.6 Eficiência . . . 60
3.3 Curva de medição de classificadores ROC . . . 60
3.4 Medição de separação de classes . . . 62
3.5 Classificador Support Vector Machines(SVM) . . . 63
3.5.1 Aprendizagem de um modelo SVM linear . . . 68
3.6 Classificador SVM não-linear . . . 71
3.7 Métodos de Kernel . . . 73
3.7.1 Caracterização do Kernel . . . 74
3.7.2 Construção do Kernel . . . 76
4.2 Histogramas das palavras visuais . . . 81 4.3 Seleção de imagens . . . 83 4.4 Pirâmide Espacial . . . 86 4.5 Validação Cruzada . . . 91 5 Resultados . . . . 92 5.1 Introdução . . . 92
5.2 Escolhendo os algoritmos de extração de características . . . 92
5.3 Obtenção dos parâmetros do K–means . . . 95
5.4 Obtenção da distribuição geométrica da Pirâmide Espacial . . . 96
5.5 Testando os diferentes tipos de Kernel . . . 100
5.6 Avaliando os melhores kernels . . . 104
5.7 Classificação de imagens que não são postes . . . 111
5.8 Testando outros classificadores . . . 112
5.9 Comparações Finais . . . 113
6 Conclusões e Trabahos Futuros . . . 115
Referências . . . 117
Apêndices
122
APÊNDICE A Programa desenvolvido em C++ 14 . . . 1231 Introdução
O presente trabalho é referido à detecção automática de pontos quentes em pos-tes de energia elétrica na região de Campinas interior de São Paulo. Esta cidade é ca-racterizada pelas construções geralmente casas e poucos prédios.
Ademais Campinas é uma cidade com muitas arvores o que será um problema quando elas estiverem perto de postes elétricos (a identificação de postes será mais difícil). Para detectar pontos quentes em postes elétricos, o primeiro item a ser deter-minado é o tipo de câmeras a usar (neste caso seria 1 câmera térmica e pelo menos 1 câ-mera ótica). Depois é necessário realizar a calibração das câcâ-meras térmicas e óticas para detectar a região quente a través da câmera térmica e determinar a localização exata na imagem pela câmera ótica. Uma vez determinada a localização da região quente, é calculada a região de interesse(ROI). Por último essa região será classificada para saber se tem um poste ou não no seu interior. O trabalho de tese começa a partir da detecção da região de interesse, a partir dessa imagem são determinados os pontos de interesse e as suas descrições de cada ponto. Seguindo o modelo Bag of Visual Words(BoVW) e de Pirâmides Espaciais é determinada a representação de cada imagem. Esta representa-ção será separada em duas classes com a ajuda do classificador SVM não-linear. Assim cada imagem adicional será classificada usando este classificador já treinado.
Uma parte deste trabalho de tese é baseado no curso de Classificação de Ima-gens [1] ministrado pela Universidade Autônoma de Barcelona através da plataforma Coursera, pelos professores Ernest Valveny, Jordi González Sabaté e Ramon Baldrich Caselles.
1.1
Imagens térmicas e suas aplicações
A termografía é uma tecnologia utilizada para se analisar a distribuição térmica e medir temperaturas de equipamentos e conexões através da detecção da radiação
infravermelha, e que todos os objetos acima do zero absoluto (0◦ K ou −273, 16 ◦ C) emitem radiação térmica devido à agitação de átomos e moléculas dos quais são cons-tituídos.
A termografía pode ser utilizada em aplicações, tais como, a inspeção de equi-pamentos elétricos, de processos e no diagnóstico de construções. Os equiequi-pamentos elétricos incluem motores, equipamentos de distribuição, quadros de comando, subes-tações entre outras. Equipamentos de processo incluem equipamentos de montagem e manufatura automatizados. Os diagnósticos de construção incluem a verificação de umidade em telhados e inspeções de vazamento de ar e detecção de umidade no iso-lamento de prédios. Dentre essas aplicações, são mais comumente utilizadas para ins-pecionar a integridade de sistemas elétricos[2].
Entre as aplicações de termografía, uma área de muita importância é a área de eletricidade. Neste caso se inspeciona aquecimento em acionamentos, bornes, compo-nentes elétricos, quadros de comando e subestações de energia. Em eletricidade e ele-trônica, a monitorização constante e a detecção precoce de alterações na temperatura de um determinado componente, permitem a prevenção de falhas de maquinaria e consequentes perdas de produtividade, além de resultar em redução significativa nos custos com manutenção corretiva por falhas indesejadas de máquinas, por conta de defeitos em componentes elétricos que as integram[2].
Imagens térmicas são também utilizadas na área médica(ver Fig.1.1) para detec-tar doenças ou lesões no corpo, em [3] foram usadas as câmeras térmicas da empresa Fluke para estimar parâmetros de tumores.
Imagens térmicas também são aplicadas em agricultura e na indústria dos ali-mentos como é mostrado na Figura 1.2.
As câmeras térmicas mostram exatamente onde estão os problemas de forma rápida e ajudam a detectar o desperdício de energia, umidade e problemas elétricos em edifícios. As imagens térmicas são usadas para manutenção de sistemas elétricos, mecânicos e estruturais, para detectar problemas, evitar tempo de inatividade, orientar
Figura 1.1 – Imagens térmicas aplicadas na área médica [4].
Figura 1.2 – Em (a) é mostrada uma imagem térmica usada para localizar frango mal cozida de modo que eles podem ser removidos. Em (b) imagem térmica que mostra garrafas de leite que podem estar mais cheios ou menos cheios do valor esperado.
a ação corretiva, e aumento da segurança no trabalho. Com uma câmera de imagem térmica, as áreas problemáticas potenciais de painéis solares podem ser detectadas e reparadas antes que ocorram problemas reais de falhas. Anomalias nos painéis podem claramente ser vistas na imagem térmica. As câmaras térmicas podem ser utilizadas para analisar os painéis solares instalados durante a operação normal (ver Fig.1.3).
Figura 1.3 – (a) Imagem térmica de uma casa. (b) Imagem térmica de um painel solar, estas imagens pertencem à empresa de câmeras térmicas FLIR [5].
1.2
Sobre aquecimento em componentes de média e baixa
tensão
O calor é um fator importante nas instalações elétricas. Como explicado em [6], quando uma corrente elétrica passa através de um elemento resistivo, gera calor. A resistência das conexões elétricas com o passar do tempo aumenta devido à corrosão. O próprio incremento na temperatura pode ocasionar falhas nos componentes o qual provoca quedas de tensão inesperadas. Do mesmo modo, o calor produzido ocasiona perdas de energia desnecessárias. Algumas empresas de distribuição de energia usam câmeras térmicas e elas mesmas constatam se existem conexões acima da temperatura de trabalho(como no exemplo da Fig.1.4), se não são detectadas a tempo, o calor po-deria se acumular até chegar ao ponto de fundir conexões e provocar falhas em outros equipamentos elétricos e até mesmo incêndios.
Figura 1.4 – A imagem térmica apresenta uma região quente o qual significa que algum componente elétrico necessita ser revisado para evitar seu mal funciona-mento(imagem obtida de [6]).
As principais falhas que podem ser detectadas em equipamentos de baixa ten-são segundo [6] ten-são:
• Conexões de alta resistência elétrica. • Conexões com corrosão.
• Danos internos nos fusíveis. • Falhas internas nos disjuntores. • Conexões errôneas e danos internos.
1.3
Extração da base de dados
A base de dados consiste em 720 imagens de postes elétricos e 720 imagens que não representam postes elétricos. Cada imagem de postes foi extraída do Google Maps[7] na região de Campinas em diferentes lugares para conseguir generalizar a base de dados, por exemplo foi extraída uma imagem como na Fig.1.5, uma vez que a câmera térmica determina um ponto quente(ponto vermelho na imagem), automa-ticamente é selecionado um ROI(região de interesse) representado por um retângulo vermelho na Fig.1.6.
Figura 1.5 – Imagem de exemplo utilizada para a explicação do método de extração de imagens de postes elétricos[8].
Na Fig.1.7 é mostrada a imagem contida no ROI, a resolução da imagem de-pende do algoritmo que será usado para a detecção automática do ROI, neste caso é uma resolução de 489×496 pixels.
Figura 1.6 – A região de interesse é determinada a partir da detecção do ponto quente detectado pela câmera térmica.
Figura 1.7 – Imagem de interesse de resolução 489×496 pixels.
A imagem é redimensionada para uma resolução de 256×256 pixels (ver Fig.1.8), e finalmente esta imagem será usada para o treinamento o teste do classificador. Das 720 imagens de postes elétricos, uma parte será usada para o treinamento (validação cruzada explicada no final do Capítulo 4) e outra será reservada para o teste final do classificador, da mesma forma com as imagens que não são postes.
Figura 1.8 – Imagem de resolução 256×256 pixels que será usada para treinar ou testar o classificador.
1.4
Objetivos
Os objetivos deste trabalho estão voltados principalmente para saber se em uma imagem tem no seu interior um poste de energia elétrica.
Dessa forma, serão enfocados os seguintes itens:
• Estudar os diferentes algoritmos de detecção e descrição de características que existem atualmente, e determinar o que seja mais adequado para a descrição de postes elétricos.
• Entender o classificador SVM e o uso do Kernel na forma do SVM não-linear, e comparar o resultado com outros classificadores.
• Na estrutura do algoritmo BoVW, escolher os parâmetros como número de cen-troides usado no K-means, número de amostras escolhidas para criar o vocabu-lário visual assim como a distribuição geométrica da Pirâmide Espacial.
• Implementar o algoritmo usando programação orientada a objetos em C++ para a sua utilização em outros projetos de classificação de imagens.
1.5
Estrutura da tese
Todas as informações envolvidas no desenvolvimento deste trabalho estão des-critas em cada um dos capítulos que compõem a presente pesquisa.
• Capítulo 2: definições gerais sobre detecção e descrição de características, apre-sentação do algoritmo Bag of Visual Words, e por último é realizada uma breve apresentação do classificador não supervisionado K-means.
• Capítulo 3: parâmetros de medição de classificadores, medição de separação de classes para obter a base de dados, explicação do classificador SVM e uma abor-dagem do seu uso, criação e propriedades do uso de Kernels para o classificador SVM não-linear.
• Capítulo 4: neste capitulo é abordado o método de criação da base de dados, obtenção de histogramas de palavras visuais, uma breve explicação sobre Pirâ-mides Espaciais e finalmente a forma como será distribuída a base de dados de imagens usando validação cruzada.
• Capítulo 5: Resultados que foram obtidos na classificação de postes elétricos para diferentes tipos de kernel e diferentes classificadores.
• Capítulo 6: Conclusões e Trabalhos Futuros.
2 Representação de Imagens
2.1
Introdução
Um dos objetivos deste trabalho é classificar uma imagem obtendo as caracte-rísticas dela. Para isto primeiro é necessário detectar as caractecaracte-rísticas locais para logo agrupa-las em uma representação global dentro da imagem (ver Fig. 2.1) e finalmente treinar um classificador para poder associar uma etiqueta a uma imagem e assim se de-sejamos classificar uma nova imagem, este classificador saberá que etiqueta coloca-la. Este trabalho de tese é baseado no diagrama de BoVW apresentado em Fig 2.2.
Figura 2.1 – Extração de características locais de um mesmo objeto em diferentes ima-gens.
Figura 2.2 – Representação do diagrama que será realizado neste trabalho( o diagrama foi modificado de [1]).
2.2
Detecção de características
A informação mais útil nas imagens está localizada em torno de certas zonas que normalmente correspondem aos pontos e regiões mais importantes. Em varias aplicações de reconhecimento de objetos, processamento local em torno destes pontos mais importantes é suficiente, desde que estes pontos sejam estáveis e distintivos[9]. Características locais, também chamados de pontos de interesse, são caracterizadas por mudanças bruscas de intensidade na região. Esses recursos locais são geralmente classificados em cantos, bordas e manchas[10].
Pontos de interesse têm alto conteúdo de informação local e eles devem ter uma alta repetitividade entre diferentes imagens. Detecção de pontos de interesse tem apli-cações em correspondência de imagem, reconhecimento de objetos, rastreamento, etc.
Uma imagem contém uma dados onde a maior parte proporciona muita pouca informação para interpretar a cena. Um algoritmo de extração de características deve, em um primeiro passo, extrair da forma mais eficaz e robusta possível, determinadas características que proporcionem a máxima informação possível. Essas características devem cumprir as seguintes condições:
• O custo computacional para a extração de características não deve ser excessivo. O tempo total da extração deve ser o menor possível.
• A localização deve ser precisa. O erro cometido na estimação das características também deve ser o menor possível.
• Devem ser robustas e estáveis. Deveriam permanecer ao longo de uma sequência de imagens similares.
• Conterão a maior informação possível da cena, isso significa que as características devem permitir a extração de informação de tipo geométrico.
As características mais importantes para serem extraídas são: cantos, bordas e manchas, como geometrias básicas na extração de características. Cada característica armazena o valor que representa uma determinada região ao redor dela que é repre-sentado por um vetor de dados. No caso do algoritmo SIFT[11] esse vetor tem 128 valores reais (utiliza 128×32 =4096 bits de armazenamento), e no caso do algoritmo ORB[12] pode ser usando 256 valores binários(utiliza 256 bits de armazenamento).
Figura 2.3 – Imagens de postes que serão usados para a obtenção das características locais de diferentes algoritmos que serão estudados a seguir.
A continuação será realizado um estudo dos métodos de detecção e descrição de características mais usados na atualidade, para a visualização das características serão usadas as duas imagens de postes elétricos mostradas na Fig. 2.3.
Alguns métodos de detecção de características mais usados estão mostrados na Tabela 2.1, não serão estudadas os métodos STAR,MSER,GFTT e SimpleBlob devido a seu pouco uso em classificação de imagens. O ‘X’ representa as características que os
Tabela 2.1 – Os detectores e os tipos de características locais que eles detectam. Cantos Bordas Blobs
Harris X X FAST X X SIFT X X SURF X X BRISK X X ORB X X STAR X X X MSER X GFTT X X SimpleBlob X
algoritmos conseguem extrair. A tabela foi construída com a ajuda do livro OpenCV Essentials[9].
2.2.1
Detecção de cantos usando Harris
O algoritmo de detecção de cantos Harris é um dos mais simples para extrair pontos característicos em uma imagem. A ideia principal é a de localizar pontos de interesse onde a vizinhança mostra arestas em mais de uma direção, e com isto elas seriam os cantos da imagem.
O algoritmo Harris é resumido em 5 passos:
1. Calcular as derivadas da imagem em x e y.
Ix =Gσx∗I Iy =Gσy∗ I Dado: Gσx = √1 2πσe −1 2(σx) 2
2. Calcular os produtos das derivadas em cada pixel.
Iy2 = Iy.Iy
Ixy = Ix.Iy
3. Calcular a soma dos produtos das derivadas em cada pixel, e definir a matriz de momentos. M=
∑
x,y w(x, y) Ix2 Ixy Ixy Iy2 (2.1)4. Calcular a resposta ao detector em cada pixel
R=det(M) −K.(trace(M))2 (2.2)
Onde:
det(M) =λ1.λ2
trace(M) = λ1+λ2
5. Limitar o valor de λ1 e λ2 baseado nos parâmetros da Fig. 2.4, ou limitar a
res-posta R como segue: se R é positivo então o ponto analisado é um canto, se R é negativo então o ponto pertence a uma borda e se R é um valor pequeno o ponto pertence a uma região.
O resultado da detecção de pontos de interesse usando o algoritmo Harris é apre-sentado em forma de pontos vermelhos na Fig. 2.5. Este algoritmo só existe na forma de detecção de características e não em forma de descrição das mesmas. Para poder utilizar esses pontos de interesse será necessário o uso de algum al-goritmo para a sua descrição.
Figura 2.4 – Detecção de canto, borda ou região segundo os valores de λ1e λ2.
Figura 2.5 – Extração dos pontos característicos usando o método Harris.
2.2.2
Features from Accelerated Segment Test (FAST)
O algoritmo FAST[13] foi proposto originalmente para identificar pontos de in-teresse em uma imagem.
O algoritmo é resumido em 5 passos(como descrito em [14]):
• Para saber se um pixel ‘p’ na imagem é um ponto de interesse, será primeira-mente obtida a intensidade desse pixel que chamaremos Ip.
Figura 2.6 – O ponto de interesse ‘p’ que é comparado com os 16 pixels no círculo a seu ao redor (imagem copiada de [13]).
• Considere-se um círculo de 16 pixels que cercam o pixel ‘p’ (como é mostrado na Fig. 2.6).
• Comparar as intensidades dos pixels 1,5,9 e 13 do circulo com Ip. Pelo menos três
desses quatro pixels devem estar acima ou abaixo de Ippelo valor de T.
• Se o passo 4 é verdadeiro, e as intensidades de 12 pixels contíguos estão acima ou abaixo de Ippelo valor de T, então o pixel ‘p’ é um ponto de interesse.
• Repetir o procedimento para todos os pixels da imagem.
Em [15] foi desenvolvida uma variação do algoritmo FAST que foi chamado de Cascaded-FAST onde não é utilizado só um círculo para fazer a comparação mas agora serão 3 círculos de 12,16 e 20 pixels. Se as orientações dos 3 círculos são parecidas então o ponto testado será um ponto de interesse. Uma grande vantagem desse algoritmo é que diminuem (por ser um algoritmo mais restritivo para obter cantos comparado com o FAST) a quantidade de pontos de interesse e com isto diminui o tempo de processa-mento para obter as distancias entre os pontos de interesse de duas imagens.
O resultado da detecção de pontos de interesse usando o algoritmo FAST é apre-sentado em forma de pontos vermelhos na Fig. 2.7. Este algoritmo só existe na forma de detecção de características ao igual que o algoritmo Harris. Na Fig. 2.8 são
mostra-Figura 2.7 – Extração de pontos característicos usando o método FAST.
dos esses pontos em forma de círculo, o ponto de interesse representa a informação da área contida no círculo verde.
Figura 2.8 – Escala dos pontos característicos usando o método FAST.
A continuação será estudado um dos algoritmos mais famosos e estudados e que foi conhecido por sua eficácia e repetitividade, o algoritmo SIFT.
2.2.3
Scale-Invariant Feature Transform (SIFT)
O algoritmo SIFT(foi desenvolvido por Lowe[16]) fornece em uma imagem um conjunto de características que não sofrem de complicações vividas em outros méto-dos, como mudanças de escala ou rotação. O SIFT transforma uma imagem em uma grande coleção de vetores de características locais. Cada um desses vetores caracterís-ticos é invariante para qualquer mudança de escala ou rotação da imagem. O algo-ritmo básico SIFT tem quatro fases: detecção de extremos no espaço-escala, localização
de pontos característicos, atribuição de orientação e de geração de descritor de pon-tos característicos[11]. Para detectar extremos no espaço de escalas, primeiramente se deve buscar pontos que sejam invariantes a mudanças de escala da imagem. A função chamada espaço de escalas foi utilizada para conseguir esse objetivo. Ela é construída usando funções gaussianas Chama-se Lσ(x, y) à função criada no espaço de escalas a
partir da imagem I(x, y)convoluída com a função gaussiana Gσ(x, y).
Lσ(x, y) = Gσ(x, y) ∗I(x, y) (2.3) Onde: Gσ(x, y) = 1 2π.σ2e − 1 2σ2(x 2+y2) (2.4)
Para gerar imagens do Laplaciano do Gaussiano de forma rápida, usou-se o espaço de escala. Calcula-se, assim, a diferença entre duas escalas consecutivas que é chamada de diferença de gaussianas. Nesse caso, obtém-se a diferença entre imagens vizinhas da pirâmide gaussiana separadas por uma constante K, conforme Fig. 2.9.
Definindo a função DoG como:
DoG =Gkσ(x, y) −Gσ(x, y) (2.5)
Seja Dσ(x, y)a diferença entre duas imagens vizinhas no espaço de escala.
Dσ(x, y) = (Gkσ(x, y) −Gσ(x, y)) ∗I(x, y) (2.6)
Dσ(x, y) = Lkσ(x, y) −Lσ(x, y) (2.7)
A equação (2.7) significa que DoG pode ser calculada subtraindo imagens sua-vizadas por um Filtro Gaussiano em escalas σ e kσ. Foi usada a função gaussiana
por-Figura 2.9 – Representação do procedimento de obtenção das Diferenças de Gaussia-nas (DoG) para diversas oitavas de uma imagem partindo da pirâmide gaussiana[17].
que elas suavizam as imagens. Isso significa que são eliminados detalhes indesejados e ruídos e, além disso, tem uma baixa complexidade computacional. Com a Diferença de Gaussiano que é esquematizado na Fig.2.9, as características fortes serão realçadas. A imagem inicial é convoluída consecutivamente com filtros gaussianos para produzir imagens separadas com um fator de escala k, conforme os passos seguintes.
1. Para cada oitava do espaço de escala, a imagem inicial é convoluída repetitiva-mente com Gaussianos para produzir o conjunto de imagens de espaço de escala que é mostrado à esquerda na Fig. 2.9. Lowe considera necessário fazer a convo-lução da imagem até 2σ, para ser possível a construção de descritores invariantes à escala.
2. São subtraídas imagens Gaussianas adjacentes para produzir as imagens de Di-ferenças de Gaussiano que é mostrada na direita.
3. Para criar a oitava seguinte, a resolução da imagem é reduzida (downsampling), tomando-se cada segundo pixel em cada linha e coluna da imagem convoluída
em 2σ, gerando-se uma nova oitava, e voltando-se ao passo 1.
Nas Figuras 2.10 e 2.11 é mostrado um esquema onde é exemplificada a pirâ-mide gaussiana para uma imagem de um olho humano, o exemplo foi extraído de [18].
Figura 2.10 – Obtendo a pirâmide gaussiana e a Diferença de Gaussiano para uma ima-gem de olho humano.
Em cada localização do candidato, um modelo detalhado está apto a determinar a localização e escala. Pontos característicos são selecionados com base em medidas de sua estabilidade.
Figura 2.11 – Se uma característica é achada na terceira oitava, a área que ela representa na imagem original será maior das achadas na primeira ou segunda oi-tava.
Para detectar os máximos e mínimos locais de Dσ(x, y), cada ponto é
compa-rado com seus oito vizinhos de sua escala, sendo nove vizinhos na escala superior e nove vizinhos na escala inferior, como é apresentado na Fig. 2.12. O ponto é selecio-nado se é o maior ou menor de todos os seus vizinhos. Nesta figura, o ponto marcado
com ‘X’ é comparado com seus vizinhos marcados como ‘O’. As 3 imagens DoG apre-sentadas na figura correspondem à diferença entre imagens adjacentes da pirâmide gaussiana.
Figura 2.12 – Detecção de extremos no espaço-escala.
O custo computacional para esse procedimento é baixo devido ao fato de que a maior parte de pontos será eliminada nas primeiras buscas. A partir de então, será feita a detecção de extremos em cada intervalo de cada oitava. Um extremo é definido como qualquer valor no DoG maior que todos os seus vizinhos no espaço-escala. A próxima etapa é definir a localização dos pontos característicos e fazer o descarte de pontos instáveis que não será explicado neste trabalho(estes passos estão explicados detalha-damente no artigo de Lowe[16]). Os pontos de interesse detectados pelo método SIFT é mostrado na Fig. 2.13, como pode ser observado, vários pontos de interesse estão localizados sobre o poste elétrico, o que será muito importante para a sua classificação.
Atribuição de orientações dos descritores
Cada ponto de interesse terá sua localização e escala, é necessário saber a ori-entação para construir o descritor e seja definido se o ponto é invariante à rotação. Essa orientação será calculada para cada Lσ(x, y), obtida na equação (2.3), a
magni-Figura 2.13 – Extração de pontos característicos usando o método SIFT. tude m(x, y)e orientação θ(x, y)do gradiente.
m(x, y) = q (Lσ(x+1, y) −Lσ(x−1, y))2+ (Lσ(x, y+1) −Lσ(x, y−1))2 (2.8) θ(x, y) = Atan Lσ(x, y+1) −Lσ(x, y−1) Lσ(x+1, y) −Lσ(x−1, y) (2.9)
Com os valores da magnitude e orientação do gradiente, obtidas de (2.8) e (2.9), é criado um histograma de orientações para pixels em uma região vizinha ao redor do ponto de interesse[16]. O histograma (de 0 a 2π) será dividido em 36 regiões, onde cada região cobrirá 10 graus sexagesimais assim como é mostrado na Fig. 2.14.
Figura 2.14 – Histograma de orientações de um ponto chave.
Os pontos que pertencem à vizinhança do ponto chave terão pesos que serão adicionados ao histograma.
O primeiro peso será a magnitude que é obtida de (2.8), o segundo peso será uma janela Gaussiana com σ igual a 1,5 vezes maior que a escala do ponto de interesse. A janela é representada pela equação (2.10).
Gσ(∆x, ∆y) = 1 2πσ2e − 1 2σ2(∆x 2+∆y2) (2.10)
onde∆x e ∆y são as distâncias entre cada ponto vizinho e o ponto de interesse. O valor dos pesos calculados para cada ponto na vizinhança em(x, y)é atualizado na expressão: W0θ =Wθ+α.m(x, y).Gσ(∆x, ∆y) (2.11) α = d i, se d <i, 0, se d >i.
onde W0θé a atualização de Wθ , d é a distância absoluta em graus entre a
orien-tação do ponto e o θ discretizado, e i é o intervalo em graus entre os θ0s discretizados (nesse caso i é igual a 10 graus) [17]. O valor máximo do histograma é o valor domi-nante dos gradientes locais. Também são considerados os valores acima de 80% do valor máximo e, por isso, um ponto de interesse poderá ter mais de uma orientação.
Para uma melhor exatidão é criada uma parábola para interpolar os três valores do histograma mais próximos ao ponto máximo. Logo, cada ponto de interesse tem as quatro dimensões: posição (x e y), magnitude e orientação.
A Fig.2.15 representa o algoritmo que realiza o cálculo da orientação. Na es-querda são representadas as magnitudes e orientações dos gradientes de cada vizinho, o círculo é o gaussiano e na direita é representada a orientação do ponto de interesse.
Figura 2.15 – Cálculo da orientação do ponto chave. Construção do Descritor Local
Os gradientes locais da imagem são medidos na escala selecionada na região em torno de cada ponto de interesse. Esses são transformados em uma representação que permite a localização mesmo com níveis significativos de distorção da forma local e mudança de iluminação.
Figura 2.16 – Descritor do ponto de interesse para uma janela de 8x8.
Um descritor é calculado para a região de imagem local, que é tão característico quanto possível em cada ponto de interesse candidato. As magnitudes dos gradientes e orientações são mostradas ao redor do ponto de interesse. Estes valores encontram-se ilustrados com pequenas setas em cada local da amostra na esquerda da imagem de Fig.2.16.
A função de ponderação gaussiana com ‘σ’ relacionada com a dimensão do ponto de interesse é utilizada para atribuir um peso à magnitude. Utilizou-se aqui um σ igual a metade da largura da janela do descritor nesta implementação. A fim de
Figura 2.17 – Obtenção do vector de 128 elementos no ponto característico. alcançar a invariância de orientação, as coordenadas do descritor e as orientações de gradiente são giradas em relação à orientação do ponto de interesse (esse processo é indicado na Fig. 2.18). Na aplicação deste trabalho, uma amostra de matriz de 16×16 (ver Fig.2.18) é calculada utilizando um histograma com 8 posições.
Figura 2.18 – Descritor do ponto de interesse para uma janela de 16x16.
O descritor consiste de um vetor contendo os valores do histograma. A janela de 16×16pixels é convertida em uma janela de 4×4 pixels, mas com cada pixel com um histograma de 8 posições, assim o vetor característico terá 128 elementos (ver Fig. 2.17). O vetor característico é normalizado para se obter invariância à iluminação.
Cada imagem será representada como um conjunto de descritores robustos onde cada um pertence a um ponto de interesse, e podem ser usados para fazer a
correspondência da imagem em outra imagem.
Cada ponto de interesse foi detectado a um determinado nível da pirâmide e a uma determinada escala e orientação dentro dela e assim na imagem original é repre-sentado por diferentes tamanhos de círculos e diferentes orientações como mostrado na Fig.2.19.
Figura 2.19 – Escala e orientações dos pontos característicos usando o método SIFT.
2.2.4
Speeded up Robust Features (SURF)
Será apresentada uma visão geral algoritmo SURF, com particular ênfase para os conceitos de detecção de pontos de interesse e a sua descrição. O conceito do SURF é baseado nos princípios fundamentais do algoritmo SIFT. A principal diferença é uma implementação relativamente eficiente que faz com que o algoritmo SURF seja mais adequado para aplicações em tempo quase real e para processamento de uma quanti-dade alta de imagens.
Para detectar pontos de interesse usando SURF(baseado em [19]) é necessário seguir os seguintes passos:
1. Conversão para tons de cinza.
O algoritmo SURF utiliza imagens em escala de cinza, para isto é necessário con-verter as imagens em cores para tons de cinza (de 0 a 255).
O objetivo das imagens integrais é facilitar a filtragem rápida de caixa, que foi introduzido pela primeira vez em visão computacional por Viola e Jones em
2001[20]. Uma imagem integral I(x)é uma imagem onde cada ponto x = (x, y)Tarmazena a soma de todos os pixels de uma área retangular entre a origem e x.
I(x) = i≤x
∑
i=0 j≤y∑
j=0 I(x, y) (2.12)A utilização de imagens integrais permite calcular a resposta de uma área re-tangular com tamanho arbitrário utilizando 4 look-ups, como ilustrado na figura 2.20.
Figura 2.20 – Usando imagens integrais, leva apenas três adições e quatro acessos à memória para calcular a soma de intensidades dentro de uma região re-tangular de qualquer tamanho.
Assim, o tempo de cálculo é independente do seu tamanho. Isto é importante na nossa abordagem, como usar tamanhos de filtro grandes.
3. Filtragem de caixa (Box filtering).
Este método é um processo eficiente para o cálculo da matriz Hessiana para um determinado pixel. A determinante da matriz Hessiana expressa a extensão da resposta ademais é uma expressão da mudança local ao redor da área[19].
O determinante da matriz Hessiana é projetado para medir o nível de curva-tura da intensidade do pixel na região em torno de um determinado ponto, que
é usado para a detecção de áreas(manchas) na abordagem SURF[21]. A matriz Hessiana é definida pela equação (2.13).
H(x, σ) = Lxx(x, σ) Lxy(x, σ) Lxy(x, σ) Lyy(x, σ) (2.13) Onde: Lxx(x, σ) = I(x). ∂ 2 ∂x2g(σ) Lxy(x, σ) = I(x). ∂ 2 ∂xyg(σ)
O termo Lxx(x, σ)representa a convolução da imagem com respeito da segunda
derivada da Gaussiana. O ponto principal do algoritmo SURF consiste na não supressão máxima do determinante da matriz Hessiana. A convolução tem um custo computacional elevado e por isto é aproximado usando as imagens inte-grais e aproximações de kernels, para com isto aumentar a sua velocidade de processamento. O kernel Gaussiano de segunda ordem ∂2
∂x2g(σ)usado na matriz
Hessiana deve ser discretizada e cortada antes da sua aplicação. Dois exemplos de kernels discretizados são mostrados na Fig. 2.21.
4. Geração do Espaço de Escalas.
O procedimento de espaço de escalas do SURF é diferente ao realizado pelo mé-todo SIFT, a figura do lado esquerdo de Fig. 2.22 é usando o mémé-todo SIFT que faz o downsampling da imagem original para criar as oitavas da pirâmide e realizar a convolução do kernel gaussiano. O algoritmo SURF realiza o processo inverso mas aplicado ao kernel discretizado (aumenta o tamanho do kernel mantendo a imagem original) como é mostrado na imagem da direita.
Assim o kernel aumenta de tamanho para cada oitava da pirâmide como é mos-trado na Fig. 2.23. A fim de manter uma proporção consistente do filtro de caixa
Figura 2.21 – Exemplo de discretização de kernels (imagem usada de [21])
Figura 2.22 – Comparação entre a criação do espaço de escalas entre SIFT e SURF(imagem utilizada de [22]).
de altura e largura do núcleo gaussiano como o filtro aumenta de tamanho, deve ser tomado cuidado para assegurar que tudo está proporcionalmente aumenta-das uma vez que o algoritmo SURF está sendo usado como pixels discretos. Logo, são procurados os pontos de interesse no espaço de escala usando a não supressão máxima similar ao métodos SIFT (ver Fig. 2.12), e finalmente é deter-minada a orientação de cada ponto de interesse usando a resposta dominante do wavelet Haar. O descritor SURF descreve a distribuição do conteúdo de intensi-dade similar ao SIFT. Com base na soma das respostas wavelet Haar, é construída uma região quadrada centrada em torno do ponto de interesse e orientada ao longo da orientação selecionada anteriormente. O tamanho do descritor SURF é
Figura 2.23 – Redimensionamento do kernel discreto, imagem usada de [16]. um vetor de 64 valores (a metade dos requeridos por SIFT).
Figura 2.24 – Extração de pontos característicos usando o método SURF.
Na Fig. 2.24 estão desenhados os pontos de interesse obtidos pelo algoritmo SURF, os pontos estão desenhados sobre as linhas de transmissão, as casas e o poste elétrico, são mais pontos obtidos comparados com o SIFT (ver Fig.2.13). Es-ses pontos são mais distanciados dos obtidos pelo algoritmo FAST, com o qual a redundância dos pontos característicos vai diminuir (comparado a FAST) usando o detector SURF. As escalas e orientações dos descritores de SURF é mostrado em Fig.2.25.
Figura 2.25 – Escala e orientações dos pontos característicos usando o método SURF.
2.2.5
Binary Robust Invariant Scalable Keypoints (BRISK)
O algoritmo BRISK foi desenvolvido em[23] e se destaca na descrição de pontos característicos e deu início ao algoritmo ORB[12] que será estudado mais na frente .
Para extrair as características usando o algoritmo BRISK é usado o método de espaço de escalas com oitavas e intra-oitavas (ver Fig.2.26), combinado com o método de extração de pontos característicos usado no método FAST-9(para que seja canto é necessário que pelo menos 9 pixels consecutivos dos 12 sejam o claros ou escuros no método FAST).
O algoritmo FAST-9 é aplicado a cada oitava e intra-oitava separadamente usando o mesmo limiar ‘T’. Depois naqueles pontos obtidos é aplicado o algoritmo de não-supressão máxima no espaço de escalas (em [23] é explicado todos os passos do algo-ritmo BRISK com seus parâmetros).
Os pontos de interesse obtidos pelo algoritmo BRISK é mostrado na Fig. 2.27, a quantidade de pontos e distribuição em toda a imagem é parecida ao algoritmo SIFT.
Na Fig. 2.28 podemos ver o tamanho e orientação dos pontos de interesse, o tamanho indica a área que o ponto de interesse representa a seu ao redor.
Figura 2.26 – Construção do espaço de escalas usando o método BRISK( imagem usada de [23]).
Figura 2.27 – Extração de pontos característicos usando o método BRISK.
2.2.6
Oriented-FAST and Rotated-BRIEF (ORB)
O algoritmo ORB(criado por Ethan Rublee[12]) foi desenvolvido como alter-nativa aos algoritmos SIFT e SURF, ademais é uma técnica de detecção e descrição de pontos característicos que é invariante em escala e rotação, robusto ao ruído e à transformação affine. O algoritmo ORB é a combinação de duas técnicas conhecidas chamadas FAST (para extração de características) e BRIEF (para a descrição das carac-terísticas).
Figura 2.28 – Escala e orientações dos pontos característicos usando o método BRISK. Detecção de pontos de interesse usando Oriented-FAST
A detecção de pontos característicos do FAST é usado para detectar pontos ca-racterísticos em tempo real. O algoritmo FAST é eficiente e razoável na detecção de cantos em uma imagem. Detecção de pontos característicos usando o algoritmo FAST envolve em limitar a intensidade entre o pixel central (ponto característico) e o anel em torno do centro. A tarefa primordial do algoritmo FAST dentro do algoritmo ORB é detectar cantos em múltiplas escalas, fazendo uma pirâmide de escalas da imagem e adicionar a orientação aos cantos. Essa orientação é atribuída usando uma técnica co-nhecida como intensidade de centroide que consiste em assumir que a intensidade dos cantos estão deslocados do seu centro, e um vetor é utilizado para imputar orientações. Em [24] é definido o momento de correção como:
mpq =
∑
x,yxpyqI(x, y) (2.14)
A intensidade do centroide do fragmento de imagem ao redor do pixel é defi-nido como: C = m10 m00 −m01 m00
A orientação do ponto de interesse é calculado como:
θ = Atan2(m01, m10) (2.15)
Figura 2.29 – Extração de pontos característicos usando o método ORB.
Os pontos característicos usando o algoritmo Oriented FAST são mostrados na Fig.2.29, como pode ser observado, esse algoritmo detecta menos pontos característicos dos usados no detector FAST e esses pontos estão localizados principalmente no objeto central o qual ajudaria para a detecção de postes.
Descritor dos pontos de interesse usando Rotated –BRIEF
O descritor BRIEF usa um método de atalho para localizar a cadeia binaria do descritor. Um teste binário é executada nos pixels. Isto é efetuado escolhendo um de-terminado número de localizações de pares de pixels aleatoriamente. Suponha que o primeiro par de localizações para o teste são ‘p’ e ‘q’, sobre eles vai render:
T(p : x, y):= f(x) = 1, se p(x) < p(y), 0, se p(x) ≥ p(y). (2.16)
Se a intensidade de I(p)é menor que I(q), o teste resultará em 1, de outra forma o resultado será 0. Esse processo é aplicado para todos os pares escolhidos. O compri-mento para todos os casos pode ser 128, 256 ou 512 e para comparar esses descritores
é utilizado a distância Hamming[25] devido a que os descritores são binários.
Figura 2.30 – Escala e orientações dos pontos característicos usando o método ORB. As escalas e orientações do algoritmo descritor Rotated–BRIEF são mostrados na Fig.2.30, as escalas são grandes devido a que cada ponto de interesse representará uma área de 31 x 31 pixels[12].
2.2.7
Extração de características Dense
O algoritmo Dense serve para obter pontos de interesse em toda a imagem, por exemplo, na Fig.2.31, são mostrados os pontos de interesse com um espaçamento de 5 pixels na horizontal e vertical. O ponto de interesse tem os parâmetros posição (x,y) e escala que é o valor do espaçamento. Este algoritmo não existe na versão do Opencv 3.1, e teve que ser implementado (existe em algumas versões de Opencv 2.4.x).
Figura 2.31 – Extração de pontos característicos usando o método Dense.
2.3
Bag of Visual Words (BoVW)
O algoritmo BoVW permite representar uma imagem como um único vetor nu-mérico reduzindo os problemas de sensibilidade ao ruído e à variabilidade, permitindo assim que possamos treinar qualquer tipo de classificador. Primeiramente é necessário saber quais podem ser as palavras visuais mais representativas que se adaptarem ao conteúdo concreto das imagens que queremos classificar, isto significa que construire-mos um vocabulário de palavras visuais. Para isto, o primeiro passo que realizareconstruire-mos é selecionar um conjunto de imagens e extrair as características locais que queremos utilizar para a classificação. Usando a descrição das características, cada uma delas será um ponto no espaço de coordenadas do descritor. Esta distribuição de pontos (ca-racterísticas) será dividida em grupos de características similares, aplicando algum al-goritmo de aprendizagem não supervisado. Uma palavra visual representa um grupo de características similares obtido com o algoritmo anterior.
Uma vez que já temos identificadas as palavras visuais, é possível construir o histograma de palavras visuais, como representação final da imagem. Primeiro atribui-remos cada característica local da imagem à palavra visual mais parecida e contaatribui-remos quantas vezes aparece cada palavra. Assim cada imagem que queremos classificar será representado por um vetor com a mesma dimensão.
passos:
1. Extração de características locais do conjunto de imagens de treinamento usando algum algoritmo detector de pontos de interesse.
2. Construção do vocabulário de palavras visuais usando ‘n’ amostras aleatórias (por exemplo podem ser escolhidos aleatoriamente 30 mil pontos de interesse obtidos pelo detector).
3. Quantização de características, para isto será necessário obter a descrição das ca-racterísticas obtidas no passo 1, com algum algoritmo de descrição e vamos agru-par todas as características similares entre elas agru-para poder encontrar as palavras visuais que sejam os representantes de cada grupo de características similares (este agrupamento pode ser obtido usando o classificador não supervisionado K-means). Uma vez construído o vocabulário, já podemos realizar a representação e classificação de imagens.
4. Construção do histograma, esse histograma representa quantas vezes aparece uma palavra visual na imagem, essa representação serve para treinar o classi-ficador final, e assim etiquetar as novas imagens.
Figura 2.32 – Diagrama do algorimto BoVW para a obtenção dos histogramas das ima-gens.
2.4
Agrupamento de dados usando o algoritmo K-means
Especificamente, o processo de agrupamento de pontos semelhantes é conhe-cido em inglês como clustering, o K-means é um dos algoritmos básicos e mais po-pulares existentes para classificar dados de forma não supervisionada. O algoritmo K-means toma como entrada o número de grupos que será gerado, K, e um conjunto de vetores de observação a se agrupar. Ele retorna um conjunto de centroides, um para
cada grupo. Assim um vetor de observação é classificado dentro de um grupo com o centroide do centroide mais próximo a ele. Um exemplo para 3 centroides é mostrado na Fig.2.34.
Figura 2.33 – Exemplo de agrupamento de dados não supervisionada para 3 centroi-des.
Os passos do algoritmo K-means são os seguintes (ver Fig.2.32 para o exemplo de 3 centroides):
1. Selecionar K pontos como os centroides iniciais.
2. Formar K grupos atribuindo cada ponto ao centroide mais perto. 3. Recalcular o centroide para cada grupo.
Figura 2.34 – Usando o algoritmo K-means para encontrar 3 clusters em uma amostra de dados.
3 Classificação de Imagens
3.1
Introdução
Classificar imagens e identificar objetos em imagens é um problema difícil, com várias aplicações como a recuperação da imagem ou anotação em imagens(labeling). Classificação é o processo de extração de informação em imagens para reconhecer pa-drões e objetos homogêneos.
Figura 3.1 – Passos que serão utilizados neste trabalho para a classificação de imagens. Os passos que se utilizarão na classificação de postes é similar ao mostrado na Fig.3.1, primeiramente os pontos de interesse são detectados e descritos usando um método de detector e um método de descrição, depois é obtido o vocabulário visual de palavras usando o classificador não supervisionado K-means explicado ao final do Capitulo 2 e usando o método de pirâmide espacial que será explicado no Capitulo 4, serão criados os histogramas finais de cada imagem. Este histograma que é a união de todos os histogramas obtidos pela pirâmide espacial é chamada de histograma espacial o qual será a entrada ao classificador. Se estas classes são linearmente separáveis não é necessária a utilização do Kernel prévio ao classificador supervisionado SVM.
3.2
Parâmetros para avaliar a eficiência dos classificadores
Para explicar a função de cada parâmetro será necessário criar a matriz de con-fusão. A matriz de confusão é uma ferramenta que permite visualizar o desempenho de um algoritmo que é aplicado em aprendizagem supervisionado. Cada coluna da matriz representa o número de predições de cada classe, enquanto cada fila representa as instâncias da classe real. O principal benefício da matriz de confusão é facilitar se
um sistema está confundindo as classes. Na seguinte figura é representada a matriz de confusão para duas classes (Classe Sim e Classe Não).
Figura 3.2 – Matriz de confusão que será usada para escrever as equações dos parâme-tros de medição[26]
Onde:
• TP (True Positive): Verdadeiro positivo. • FN (False Negative): Falso negativo. • FP (False Positive): Falso positivo.
• TN (True Negative): Verdadeiro negativo.
3.2.1
Precisão
O parâmetro precisão mede a proporção de previsões corretas, considerando as entradas positivas e negativas. É altamente dependente da distribuição de conjunto de dados que pode facilmente levar a conclusões erradas sobre o desempenho do sistema.
Precis˜ao= TOTAL DE ACERTOS
TOTAL DE DADOS NO CON JUNTO
Precis˜ao= TP+TN
TP+TN+FP+FN (3.1)
3.2.2
Sensibilidade (recall)
Ele mede a proporção dos verdadeiros positivos, isto é, a capacidade do sistema em predizer os valores corretos nos casos apresentados.
Sensibilidade= ACERTOS POSIT IVOS
TOTAL DE POSIT IVOS
Sensibilidade = TP
TP+FN (3.2)
3.2.3
Especificidade
Ele mede a proporção dos verdadeiros negativos, isto é, a capacidade do sistema em predizer os valores de correção para os casos que são o oposto ao desejado.
Especi f icidade= ACERTOS NEGAT IVOS
TOTAL DE NEGAT IVOS
Especi f icidade= TN
TN+FP (3.3)
3.2.4
Valor de predição de positivos(PPV)
Esta medida indica a estimativa de quão bom o sistema é ao fazer uma afir-mação positiva. No entanto não é recomendável usá-lo sozinho, causando facilmente levar a conclusões erradas sobre o desempenho do sistema. Este parâmetro mede a proporção dos verdadeiros positivos em contraste com todos os prognósticos positi-vos.
PPV = ACERTOS POSIT IVOS
TOTAL DE PREDIÇ ˜OES POSIT IVAS
PPV = TP