Trabalho Final de Machine Learning Aplicada: Classificação de Imagens com Modelos Exclusivos

Nosso trabalho final da disciplina de Machine Learning Aplicada teve como foco a classificação de imagens utilizando dois modelos exclusivos de deep learning. O objetivo foi aplicar conceitos discutidos em sala de aula, como redução de dimensionalidade com PCA, avaliação de modelos e análise de diferentes configurações de treinamento.

Modelos Escolhidos

Para este projeto, escolhemos os modelos Xception e MobileNetV2, ambos pertencentes ao pacote Keras Applications. Esses modelos foram escolhidos com base em sua arquitetura e performance em benchmarks de classificação de imagens.

Artigos de Referência

Como parte do estudo, analisamos dois artigos que aplicam esses modelos em diferentes contextos. Um dos artigos utilizados foi o original indicado na página do Keras, enquanto o segundo foi um estudo recente sobre a aplicação dos modelos em classificação de imagens médicas. 

Implementação

1º Dataset Utilizado

Iniciamos com o dataset dogs and cats (dc_small), um conjunto de imagens de cães e gatos amplamente utilizado para treinamento de modelos de classificação. Em seguida, utilizamos um dataset criado pela nossa equipe para testar a generalização dos modelos.

Etapas de Treinamento

  1. Pré-processamento das imagens: Ajustamos o tamanho, normalizamos os valores de pixel e realizamos a divisão em treino, validação e teste.
  2. Extração de features com PCA: Reduzimos a dimensionalidade das imagens para otimizar a performance dos modelos.
  3. Treinamento dos modelos: Utilizamos transfer learning para ajustar os pesos dos modelos aos nossos dados.
  4. Geração de métricas: Construímos matrizes de confusão e relatórios de classificação para avaliar a performance.

Variação de Otimizadores e Configurações

Para avaliar o impacto das configurações nos resultados, testamos diferentes:

  • Otimizadores: SGD, Adam e RMSprop
  • Proporções de treino/validação/teste: 70/20/10 e 80/10/10
  • Taxas de aprendizado: 0.001, 0.0005 e 0.0001

Resultados e Análise

Os resultados mostraram que Xception teve um melhor desempenho na classificação de imagens do dataset original, enquanto MobileNetV2 apresentou melhores resultados com nosso dataset customizado. A seguir, apresentamos as métricas principais:

Matriz de Confusão e Relatório de Classificação


Conclusão

O experimento demonstrou que diferentes modelos podem apresentar desempenhos distintos dependendo do contexto e dos ajustes aplicados. O uso de PCA foi eficaz para redução do tempo de treinamento sem degradação significativa da performance. Além disso, variáveis como otimizadores e divisão de treino/validação/teste influenciaram diretamente os resultados.

2º Dataset Utilizado

Iniciamos com o dataset cds e dvds (cds_dvds), um conjunto de imagens de cds e dvds normais e cds e dvds quebrados, este foi utilizado para treinamento de modelos de classificação. 

Etapas de Treinamento

  1. Pré-processamento das imagens: Ajustamos o tamanho, normalizamos os valores de pixel e realizamos a divisão em treino, validação e teste.
  2. Extração de features com PCA: Reduzimos a dimensionalidade das imagens para otimizar a performance dos modelos.
  3. Treinamento dos modelos: Utilizamos transfer learning para ajustar os pesos dos modelos aos nossos dados.
  4. Geração de métricas: Construímos matrizes de confusão e relatórios de classificação para avaliar a performance.

Resultados e Análise

Os resultados mostraram que Xception teve um melhor desempenho melhor de imagens do dataset original, enquanto MobileNetV2 apresentou resultados levemente menores com nosso dataset customizado.

Final de Disciplina:

 


E com uma enorme satisfação e agradecimentos ao nosso Professor: Marcelo Chammy, que em torno de dois meses nos repassou todos os conhecimentos tanto na disciplina de DataScience quanto em Machine Learning.


Comentários