An analysis of deep neural networks for texture classification
Resumo
Resumo: Classificação de texturas é um problema na área de Reconhecimento de Padrões com uma ampla gama de aplicações. Esse problema é geralmente tratado com o uso de descritores de texturas e modelos de reconhecimento de padrões, tais como Máquinas de Vetores de Suporte (SVM) e Regra dos K vizinhos mais próximos (KNN). O método clássico para endereçar o problema depende do conhecimento de especialistas no domínio para a criação de extratores de características relevantes (discriminantes), criando-se vários descritores de textura, cada um voltado para diferentes cenários (por exemplo, descritores de textura que são invariantes à rotação, ou invariantes ao borramento da imagem). Uma estratégia diferente para o problema é utilizar algoritmos para aprender os descritores de textura, ao invés de construí-los manualmente. Esse é um dos objetivos centrais de modelos de Arquitetura Profunda – modelos compostos por múltiplas camadas, que tem recebido grande atenção nos últimos anos. Um desses métodos, chamado de Rede Neural Convolucional, tem sido utilizado para atingir o estado da arte em vários problemas de visão computacional como, por exemplo, no problema de reconhecimento de objetos. Entretanto, esses métodos ainda não são amplamente explorados para o problema de classificação de texturas. A presente dissertação preenche essa lacuna, propondo um método para treinar Redes Neurais Convolucionais para problemas de classificação de textura, lidando com os desafios e tomando em consideração as características particulares desse tipo de problema. O método proposto foi testado em seis bases de dados de texturas, cada uma apresentando um desafio diferente, e resultados próximos ao estado da arte foram observados para a maioria das bases, obtendo-se resultados superiores em duas das seis bases de dados. Por fim, é apresentado um método para transferência de conhecimento entre diferentes problemas de classificação de texturas, usando Redes Neurais Convolucionais. Os experimentos conduzidos demonstraram que essa técnica pode melhorar o desempenho dos classificadores em problemas de textura com bases de dados pequenas, utilizando o conhecimento aprendido em um problema similar, que possua uma grande base de dados. Abstract: Texture classification is a Pattern Recognition problem with a wide range of applications. This task is commonly addressed using texture descriptors designed by domain experts, and standard pattern recognition models, such as Support Vector Machines (SVM) and K-Nearest Neighbors (KNN). The classical method to address the problem relies on expert nowledge to build relevant (discriminative) feature extractors. Experts are required to create multiple texture descriptors targeting different scenarios (e.g. features that are invariant to image rotation, or invariant to blur). A different approach for this problem is to learn the feature extractors instead of using human knowledge to build them. This is a core idea behind Deep Learning, a set of models composed by multiple layers that are receiving increased attention in recent years. One of these methods, Convolutional Neural Networks, has been used to set the state-of-the-art in many computer vision tasks, such as object recognition, but are not yet widely explored for the task of texture classification. The present work address this gap, by proposing a method to train Convolutional Neural Networks for texture classification tasks, facing the challenges of texture recognition and taking advantage of particular characteristics of textures. We tested our method on six texture datasets, each one posing different challenges, and achieved results close to the state-of-the-art in the majority of the datasets, surpassing the best previous results in two of the six tasks. We also present a method to transfer learning across different texture classification problems using Convolutional Neural Networks. Our experiments demonstrated that this technique can improve the performance on tasks with small datasets, by leveraging knowledge learned from tasks with larger datasets.
Collections
- Teses & Dissertações [10345]