/Machine-learning_Identificacao_de_enfermidades_em_folhas_de_macieira

Identificação de doenças em folhas de maçã, utilizando rede neural convolucional. Identificando as folhas que estão saudáveis, as que estão infectadas com a ferrugem da macieira, as que têm sarna da macieira e as que têm mais de uma doença.

Primary LanguageJupyter NotebookGNU General Public License v3.0GPL-3.0

Machine learning - Identificação de doenças em folhas de maçã.

Identificação de doenças em folhas de maçã, utilizando rede neural convolucional.
Utilizando as imagens do dataset do kaggle Plant Pathology 2020, com imagens de folhas de macieira saudaveis, com rust, scab e com multiplas doenças.
Serão treinados alguns modelos de CNN para tentar identificando as folhas que estão saudáveis, as que estão infectadas com a ferrugem da macieira, as que têm sarna da macieira e as que têm mais de uma doença.
E comparar os resultados dos modelos com e sem Dada Augmentation.

Fonte do dataset: https://www.kaggle.com/competitions/plant-pathology-2020-fgvc7/data

Exemplos de imagens utilizadas para algumas das classes testadas. sendo saudaveis = 0,
multiple_diseases = 1, rust = 2, scab = 3.
exemplo folhas

MobileNetV2 sem Data Augmentation

Ajuste do Hyperparâmetro - Taxa de Aprendizado

Para o ajuste da taxa de aprendizado foram realizadas 10 iterações, onde tentou minimizar a taxa de loss, com um limite maximo de 40 epocas.
O DataSet possui 1821 imagens de folhas de maçã, sendo: 516 amostras de folhas saudaveis, 91 com multiple diseases, 622 com rust e 592 com scab. Sendo Distribuidos 80% para treinamento e 20% para validação.

Valor da taxa de loss ao longo das iterações.
Curva de convergencia

Melhor Parametros encontrado: Taxa de Aprendizado: 0.004694027 com uma taxa de Loos de 0.22845.

Curva de prendizado do melhor modelo encontrado

Para os gráficos abaixo, o primeiro é do comportamento da taxa de loos para os dados de treinemento e validação, o segundo é o gráfico da acurácia de treinamento e validação e o terceiro é a diferença em pontos percentuais da acurácia de treinamento e validação.
Curva de aprendizado

O melhor modelo encontrado após as 10 iterações possui uma acurácia de 0.9203 e uma taxa de loss de 0.2806. Resultado obtido com a função evaluate() utilizando o dataset de validação.

MobileNetV2 Com Data Augmentation

Ajuste do Hyperparâmetro - Taxa de Aprendizado

Para este modelo foi usada a taxa de aprendizado de 0.004694027, com um limite maximo de 40 epocas.
O DataSet possui 2548 imagens de folhas de maçã, sendo: 637 amostras de folhas saudaveis, 637 com multiple diseases, 637 com rust e 637 com scab. Sendo Distribuidos 80% para treinamento e 20% para validação.

Curva de prendizado do melhor modelo encontrado

Para os gráficos abaixo, o primeiro é do comportamento da taxa de loos para os dados de treinemento e validação, o segundo é o gráfico da acurácia de treinamento e validação e o terceiro é a diferença em pontos percentuais da acurácia de treinamento e validação.
modelo 2

O modelo possui uma acurácia de 0.9136 e uma taxa de loss de 0.2660. Resultado obtido com a função evaluate() utilizando o dataset de validação.