Mudanças entre as edições de "Reconhecimento de Placas de Sinalização Via Processamento Digital de Imagem e Aprendizado de Máquina"
Linha 30: | Linha 30: | ||
==== Via processamento de imagens ==== | ==== Via processamento de imagens ==== | ||
− | * [http://ieeexplore.ieee.org.ez130.periodicos.capes.gov.br/stamp/stamp.jsp?arnumber=7053576 Gao - Traffic signs recognition based on PCA-SIFT] - Traz um apanhado geral sobre vários tipos de técnicas. Usa pré-processamento, SIFT ([https://en.wikipedia.org/wiki/Scale-invariant_feature_transform Scale-Invariant Feature Transform] e SVM (Support Vector Machine) | + | * [http://ieeexplore.ieee.org.ez130.periodicos.capes.gov.br/stamp/stamp.jsp?arnumber=7053576 Gao - Traffic signs recognition based on PCA-SIFT] - Traz um apanhado geral sobre vários tipos de técnicas. Usa pré-processamento, SIFT ([https://en.wikipedia.org/wiki/Scale-invariant_feature_transform Scale-Invariant Feature Transform] e SVM(Support Vector Machine) |
:{{collapse top | Anotações do artigo }} | :{{collapse top | Anotações do artigo }} | ||
− | O seguinte trabalho propõe um sistema de detecção e reconhecimento de placas de sinalização, dando foco na extração das características das regiões de interesse, especialmente na otimização utilizando o algoritmo ''Scale-Invariant Feature Transform'' (SIFT) | + | O seguinte trabalho propõe um sistema de detecção e reconhecimento de placas de sinalização de trânsito, dando foco na extração das características das regiões de interesse, especialmente na otimização desta etapa utilizando o algoritmo ''Scale-Invariant Feature Transform'' (SIFT) em conjunto com o procedimento de análise de componentes principais (''Principal Component Analysis'' - PCA). Na etapa de classificação é utilizada a técnica de Máquinas de Vetores de Suporte (SVM). |
'''SIFT''' | '''SIFT''' | ||
Linha 39: | Linha 39: | ||
O SIFT(''Scale-Invariant Feature Transform'') é uma técnica utilizada para detecção e extração de regiões de interesse que são praticamente invariáveis a mudanças de iluminação, ruído, rotação e escala. Após a detecção das regiões de interesse (chamadas neste trabalho como pontos-chave) em uma imagem, é criado um descritor de característica para cada região. Estes descritores são comparados entre si e possibilitam o casamento entre diferentes imagens contendo o mesmo objeto. O algoritmo que executa esta técnica é apresentado pelos seguintes passos: | O SIFT(''Scale-Invariant Feature Transform'') é uma técnica utilizada para detecção e extração de regiões de interesse que são praticamente invariáveis a mudanças de iluminação, ruído, rotação e escala. Após a detecção das regiões de interesse (chamadas neste trabalho como pontos-chave) em uma imagem, é criado um descritor de característica para cada região. Estes descritores são comparados entre si e possibilitam o casamento entre diferentes imagens contendo o mesmo objeto. O algoritmo que executa esta técnica é apresentado pelos seguintes passos: | ||
− | *Criação da pirâmide de imagens: O primeiro passo do algoritmo é criação de uma pirâmide de imagens ou de uma pirâmide Gaussiana. | + | *Criação da pirâmide de imagens: O primeiro passo do algoritmo é criação de uma pirâmide de imagens ou de uma pirâmide Gaussiana. Primeiramente, para se obter a pirâmide, é realizado sucessivas convoluções entre a imagem original e um filtro gaussiano de fator σ multiplicado por uma constante k(0,k,2k,...), onde cada componente formado possui um nível de resolução menor(ou com efeito blur maior) é faz parte do conjunto denominado de oitavas. |
+ | |||
+ | A partir das oitavas são gerados os intervalos, onde cada intervalo é a diferença entre duas oitavas consecutivas aproximação do Laplaciano da Gaussiana)<ref name="ref1">COUTINHO, D.P.; MARROQUIM R. SIFT - Scale Invariant Feature Transform. ''LCG Computer Graphics Lab'', Universidade Federal do Rio de Janeiro, 2013</ref>. A figura 1 abaixo apresenta o espaço de escala e a diferença das Gaussianas. A figura 2 apresenta a aplicação deste processo sobre uma imagem. | ||
<center>[[Imagem: piramideGaussiana.png|500px]]</center> | <center>[[Imagem: piramideGaussiana.png|500px]]</center> | ||
Linha 50: | Linha 52: | ||
<center>'''Fonte: Próprio artigo'''</center> | <center>'''Fonte: Próprio artigo'''</center> | ||
− | *Localização dos pontos chaves: Os pontos chaves são encontrados comparando- | + | *Localização dos pontos chaves: Os pontos chaves são encontrados comparando-se as regiões entre um determinado intervalo e as regiões dos intervalos vizinhos acima e abaixo. Os pontos chaves são identificados como os pontos de máximo(regiões totalmente pretas envoltas por áreas brancas) e pontos de mínimo(regiões brancas envoltas por área pretas) dos quais serão utilizados para a próxima etapa. Os pontos não identificados como pontos chaves, no caso, aqueles que possuem baixo contraste ou são localizados nas arestas, são eliminados.<ref name="ref2">BELO, F. A. Desenvolvimento de Algoritmos de Exploração e Mapeamento Visual para Robôs Móveis de Baixo Custo. Diss. PUC-Rio, 2006.</ref>. |
− | *Orientação do ponto-chave: | + | *Orientação do ponto-chave: Delimitando a área do ponto-chave, são determinados os gradientes e orientações de cada pixel, acumulados em um histograma de 36 posições. Para cada histograma, é determinado a posição máxima de maior magnitude e para este valor é criado um vetor espacial relacionando-o ao respectivo ponto-chave <ref name="ref2"/>. |
− | *Criação dos descritores locais: Por fim, para cada ponto chave é estabelecido um descritor | + | *Criação dos descritores locais: Por fim, para cada ponto chave, é estabelecido um descritor de característica utilizando uma janela de 16x16 ao redor do ponto. Um novo histograma é criado para a respectiva região e a união de todos os histogramas em uma matriz de 128 dimensões formará o descritor do ponto-chave<ref name="ref2"/>. |
− | Essas informações extraídas serão utilizadas posteriormente para a classificação. | + | Essas informações extraídas serão utilizadas posteriormente para a etapa de classificação. |
'''Análise de Componentes Principais (PCA)''' | '''Análise de Componentes Principais (PCA)''' | ||
− | A análise de componentes principais (Principal Component Analysis) é uma técnica estatística que consiste em transformar um conjunto de variáveis em outro conjunto de | + | A análise de componentes principais (Principal Component Analysis) é uma técnica estatística que consiste em transformar um conjunto de variáveis em outro conjunto de dimensão menor capaz de fornecer o mesmo tipo de informação. Os componentes deste novo conjunto são denominados componentes principais. Os componentes principais apresentam importantes propriedades: cada componente principal é uma combinação linear de todas as variáveis originais, são independentes entre si e estimados com o propósito de reter, em ordem de estimação, o máximo de informação, em termos da variação total contida nos dados <ref>VARELLA, C. A. Análise de componentes principais. Universidade Federal Rural do Rio de Janeiro, Seropédica, 2008</ref>.A análise de componentes principais é associada à ideia de redução de massa de dados, com menor perda possível da informação. Procura-se redistribuir a variação observada nos eixos originais de forma a se obter um conjunto de eixos ortogonais não correlacionados. |
− | |||
− | A análise de componentes principais é associada à ideia de redução de massa de dados, com menor perda possível da informação. Procura-se redistribuir a variação observada nos eixos originais de forma a se obter um conjunto de eixos ortogonais não correlacionados. | ||
− | Esta técnica é utilizada neste trabalho com o objetivo de otimizar a extração das características das regiões de interesse e consequentemente aumentar a precisão dos sistema de detecção e reconhecimento de placas de sinalização. | + | Esta técnica é utilizada neste trabalho com o objetivo de otimizar a extração das características das regiões de interesse e consequentemente aumentar a precisão dos sistema de detecção e reconhecimento de placas de sinalização de trânsito. |
'''SVM''' | '''SVM''' | ||
Uma Máquina de vetores de suporte (Support vector machine -SVM) é uma técnica de aprendizagem utilizada para classificação de classes binárias. Os resultados da aplicação desta técnica são comparáveis e muitas vezes superiores aos obtidos por outros algoritmos de aprendizado como as Redes Neurais Artificiais (RNAs). Exemplos de aplicações de sucesso podem ser encontradas na categorização de textos, reconhecimento de imagens e na Bioinformática. | Uma Máquina de vetores de suporte (Support vector machine -SVM) é uma técnica de aprendizagem utilizada para classificação de classes binárias. Os resultados da aplicação desta técnica são comparáveis e muitas vezes superiores aos obtidos por outros algoritmos de aprendizado como as Redes Neurais Artificiais (RNAs). Exemplos de aplicações de sucesso podem ser encontradas na categorização de textos, reconhecimento de imagens e na Bioinformática. | ||
− | + | ||
+ | O objetivo do algoritmo é encontrar a melhor escolha para um hiperplano que classifica os dados de entrada em duas classes distintas. Os fatores mais importantes são as margens entre o hiperplano e os dados adjacentes ao hiperplano, correspondentes à cada classe. | ||
+ | |||
+ | O técnica SVM pode ser utilizada para multiclasses posicionando a SVM binária em um estrutura de árvore. | ||
'''Resultados''' | '''Resultados''' | ||
Linha 85: | Linha 88: | ||
:{{collapse top | Anotações do artigo }} | :{{collapse top | Anotações do artigo }} | ||
− | A proposta do trabalho é apresentar um sistema para detecção e reconhecimento para placas de sinalização dando foco na comparação entre as principais técnicas de classificação utilizadas | + | A proposta do trabalho é apresentar um sistema para detecção e reconhecimento para placas de sinalização de trânsito dando foco na comparação entre as principais técnicas de classificação utilizadas nos trabalhos anteriores. O sistema é particionado em três principais estágios: segmentação da região de interesse utilizando características de cor (saturação e matiz), análise do formato da placa (círculo, retângulo ou triângulo) e classificação através de diversas técnicas. Rede neural artificial (ANN), K-Vizinhos Mais Próximos (''K-Nearest Neighbor'' - KNN), Máquina de vetores de suporte (''Support Vectores Machine'' - SVM) e ''Random Forest'' (RF) . |
'''Segmentação das cores''' | '''Segmentação das cores''' | ||
Linha 103: | Linha 106: | ||
Para extrair as características da imagem de uma possível placa de sinalização foi utilizada a técnica denominada Histograma de Gradientes Orientados (HOG). Primeiramente, a imagem é redimensionada em uma área de 100x100 pixels (no caso do trabalho proposto) para manter um equilíbrio entre a precisão do reconhecimento e o processamento envolvido. | Para extrair as características da imagem de uma possível placa de sinalização foi utilizada a técnica denominada Histograma de Gradientes Orientados (HOG). Primeiramente, a imagem é redimensionada em uma área de 100x100 pixels (no caso do trabalho proposto) para manter um equilíbrio entre a precisão do reconhecimento e o processamento envolvido. | ||
− | O HOG é obtido através de uma densa grade de células normalizadas em relação ao contraste. Cada célula forma um histograma em escala positiva de 8 bits, onde cada posição é relacionada às magnitudes dos pixels pertencentes a cada célula. Através dos valores máximos | + | O HOG é obtido através de uma densa grade de células normalizadas em relação ao contraste. Cada célula forma um histograma em escala positiva de 8 bits, onde cada posição é relacionada às magnitudes dos pixels pertencentes a cada célula. Através dos valores máximos dos histogramas, um vetor espacial é obtido e representa a informação que será utilizada posteriormente no processo de classificação. |
'''Classificação''' | '''Classificação''' | ||
Linha 109: | Linha 112: | ||
Entre os processos utilizados para classificação estão: | Entre os processos utilizados para classificação estão: | ||
− | *Rede Neural Artificial: Modelo matemático inspirado nas redes neurais biológicas. A ANN consiste em um grupo de neurônios artificias separados em camadas e interconectados | + | *Rede Neural Artificial: Modelo matemático inspirado nas redes neurais biológicas. A ANN consiste em um grupo de neurônios artificias separados em camadas e interconectados. Cada neurônio processa a informação utilizando um modelo complexo de relacionamento entre as entradas e saídas com o objetivo de encontrar um padrão entre os dados. |
− | *K-Vizinhos Mais Próximos: O princípio deste algoritmo é baseado no conceito de que os dados de uma mesma classe possuem características espaciais próximas ou semelhantes. O procedimento básico é | + | *K-Vizinhos Mais Próximos: O princípio deste algoritmo é baseado no conceito de que os dados de uma mesma classe possuem características espaciais próximas ou semelhantes. O procedimento básico é determinar através de um probabilidade estatística relacionada à uma distância mínima k quais regiões pertencem à uma determinada classe de interesse. |
− | *Máquina de vetores de suporte (comentada em outros artigos). | + | *Máquina de vetores de suporte: (comentada em outros artigos). |
*Random Forest: É um algoritmo computacional de aprendizagem que constrói uma elevada quantidade de árvores de decisão as quais são utilizadas para classificar um novo dado fornecido. | *Random Forest: É um algoritmo computacional de aprendizagem que constrói uma elevada quantidade de árvores de decisão as quais são utilizadas para classificar um novo dado fornecido. |
Edição das 10h54min de 23 de março de 2017
Uma câmera no painel do carro filma (ou tira fotos) da estrada. Via processamento de imagem, as placas de sinalização são detectadas pelo sistema, que emite um aviso ao motorista. Trabalho feito em MATLAB.
- Aluno: Mathias Silva da Rosa
- Orientador: Diego da Silva de Medeiros
Revisão bibliográfica
Sistemas diversos
- Mammeri - Traffic Signs Localisation and Recognition Using A Client-Server Architecture - Usa um sistema centralizado, semelhante ao GPS
Via processamento de imagens
- Gao - Traffic signs recognition based on PCA-SIFT - Traz um apanhado geral sobre vários tipos de técnicas. Usa pré-processamento, SIFT (Scale-Invariant Feature Transform e SVM(Support Vector Machine)
Anotações do artigo |
---|
O seguinte trabalho propõe um sistema de detecção e reconhecimento de placas de sinalização de trânsito, dando foco na extração das características das regiões de interesse, especialmente na otimização desta etapa utilizando o algoritmo Scale-Invariant Feature Transform (SIFT) em conjunto com o procedimento de análise de componentes principais (Principal Component Analysis - PCA). Na etapa de classificação é utilizada a técnica de Máquinas de Vetores de Suporte (SVM). SIFT O SIFT(Scale-Invariant Feature Transform) é uma técnica utilizada para detecção e extração de regiões de interesse que são praticamente invariáveis a mudanças de iluminação, ruído, rotação e escala. Após a detecção das regiões de interesse (chamadas neste trabalho como pontos-chave) em uma imagem, é criado um descritor de característica para cada região. Estes descritores são comparados entre si e possibilitam o casamento entre diferentes imagens contendo o mesmo objeto. O algoritmo que executa esta técnica é apresentado pelos seguintes passos:
A partir das oitavas são gerados os intervalos, onde cada intervalo é a diferença entre duas oitavas consecutivas aproximação do Laplaciano da Gaussiana)[1]. A figura 1 abaixo apresenta o espaço de escala e a diferença das Gaussianas. A figura 2 apresenta a aplicação deste processo sobre uma imagem.
Essas informações extraídas serão utilizadas posteriormente para a etapa de classificação. Análise de Componentes Principais (PCA) A análise de componentes principais (Principal Component Analysis) é uma técnica estatística que consiste em transformar um conjunto de variáveis em outro conjunto de dimensão menor capaz de fornecer o mesmo tipo de informação. Os componentes deste novo conjunto são denominados componentes principais. Os componentes principais apresentam importantes propriedades: cada componente principal é uma combinação linear de todas as variáveis originais, são independentes entre si e estimados com o propósito de reter, em ordem de estimação, o máximo de informação, em termos da variação total contida nos dados [3].A análise de componentes principais é associada à ideia de redução de massa de dados, com menor perda possível da informação. Procura-se redistribuir a variação observada nos eixos originais de forma a se obter um conjunto de eixos ortogonais não correlacionados. Esta técnica é utilizada neste trabalho com o objetivo de otimizar a extração das características das regiões de interesse e consequentemente aumentar a precisão dos sistema de detecção e reconhecimento de placas de sinalização de trânsito. SVM Uma Máquina de vetores de suporte (Support vector machine -SVM) é uma técnica de aprendizagem utilizada para classificação de classes binárias. Os resultados da aplicação desta técnica são comparáveis e muitas vezes superiores aos obtidos por outros algoritmos de aprendizado como as Redes Neurais Artificiais (RNAs). Exemplos de aplicações de sucesso podem ser encontradas na categorização de textos, reconhecimento de imagens e na Bioinformática. O objetivo do algoritmo é encontrar a melhor escolha para um hiperplano que classifica os dados de entrada em duas classes distintas. Os fatores mais importantes são as margens entre o hiperplano e os dados adjacentes ao hiperplano, correspondentes à cada classe. O técnica SVM pode ser utilizada para multiclasses posicionando a SVM binária em um estrutura de árvore. Resultados Os resultados alcançados estão apresentados pela tabela 1:
|
- Wahyono - A comparative study of classification methods for traffic signs recognition - Compara diversos métodos: Redes Neurais artificiais (ANN), Vizinhos k-Próximos (kNN), SVM, Random Forest (RF) e HOG (Histogram of Oriented Gradients)
- Jang - Data debiased traffic sign recognition using MSERs and CNN - Usa componentes de cor
Anotações do artigo |
---|
Inclua aqui suas anotações |
- Romdhane - An improved traffic signs recognition and tracking method for driver assistance system - Usa segmentação via cor e HOG (Histogram of Oriented Gradients)
Anotações do artigo |
---|
Inclua aqui suas anotações |
- Romdhane - Combined 2d/3d traffic signs recognition and distance estimation - Usa uma estrutura parecida, porém acrescenta o SVM
Anotações do artigo |
---|
Inclua aqui suas anotações |
- Feng - Ground traffic signs recognition based on Zernike moments and SVM - Usa os Momentos de Zernike e SVM
Anotações do artigo |
---|
Inclua aqui suas anotações |
- Elotmani - A light traffic signs recognition system - Usa detecção de cores e Projeção de Perfil
Anotações do artigo |
---|
Inclua aqui suas anotações |
- Wang - Traffic-signs recognition system based on multi-features - Usa um método de segmentação FCM (Fuzzy c-Means) e classificação CBIR (Content-Based Image Retrieval)
Anotações do artigo |
---|
Inclua aqui suas anotações |
- Mariut - Detection and recognition of traffic signs using Gabor filters - Usa espaço de cores HSV (matiz, saturação e valor), classificação por correlação e reconhecimento via distância euclidiana e filtro de Gabor
Anotações do artigo |
---|
Inclua aqui suas anotações |
- Chen - A Robust Traffic Sign Recognition System for Intelligent Vehicles - Classificação via Filtro Vetorial Simples, Transformada Hough e Curve Fitting, e classificação via Momentos Pseudo-Zernike
Anotações do artigo |
---|
Inclua aqui suas anotações |
Referências
- ↑ 1,0 1,1 COUTINHO, D.P.; MARROQUIM R. SIFT - Scale Invariant Feature Transform. LCG Computer Graphics Lab, Universidade Federal do Rio de Janeiro, 2013
- ↑ 2,0 2,1 2,2 BELO, F. A. Desenvolvimento de Algoritmos de Exploração e Mapeamento Visual para Robôs Móveis de Baixo Custo. Diss. PUC-Rio, 2006.
- ↑ VARELLA, C. A. Análise de componentes principais. Universidade Federal Rural do Rio de Janeiro, Seropédica, 2008