$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Descrição do conjunto de dados
O conjunto de dados usado nesta pesquisa foi obtido do repositório Kaggle disponível publicamente intitulado Conjunto de dados de detecção de doenças de folhas de arroz. Consiste em 18.545 imagens de folhas de arroz categorizadas em 10 classes de doenças e 1 classe saudável. As imagens variam em resolução e foram capturadas sob diferentes condições de iluminação e ambiente.
Pré-processamento de imagem
Todas as imagens foram redimensionadas para 224 x 224 pixels usando a função tf.image.resize() do TensorFlow. Essa uniformidade garante a compatibilidade com os requisitos de entrada de modelos CNN pré-treinados.: Os valores de pixel foram normalizados para o intervalo [0,1] usando o parâmetro rescale=1./255 no Keras ImageDataGenerator. Aumento (somente para treinamento): Técnicas como inversão horizontal e vertical, rotação (± 20°) e zoom (até 20%) foram aplicadas usando ImageDataGenerator para melhorar a generalização.
Segmentação de imagem
Um modelo UNet foi empregado para segmentação de imagens para isolar áreas foliares doentes da desordem de fundo. A arquitetura UNet foi criada usando a API funcional Keras com camadas codificador-decodificador, ignorar conexões e ativação ReLU. Máscaras de segmentação foram aplicadas às imagens originais usando multiplicação por pixel (cv2.bitwise_and) para reter apenas recursos relevantes.
Arquitetura e treinamento de modelos
Os seguintes modelos foram usados como classificadores de backbone: VGG16, ResNet50, InceptionV3, MobileNet, AlexNet e DenseNet121. Modelos pré-treinados (no ImageNet) foram importados com include_top=False. Uma cabeça de classificação personalizada foi adicionada, consistindo em uma camada de agrupamento média global, duas camadas densas com 128 e 64 neurônios (ativação ReLU), uma camada Dropout (taxa = 0,4) e uma camada densa final com 11 saídas e ativação Softmax.
Configuração experimental
Todos os experimentos foram conduzidos usando as seguintes configurações: Ambiente de Programação: Python 3.11.5 com TensorFlow e Keras, Plataforma de Execução: Jupyter Notebook, Hardware: Intel Core i5-6300U, 8 GB de RAM, Windows 11, Tamanho do Lote: 32, Épocas: 50, Otimizador: Adam, Taxa de Aprendizado: 0,0001, Função de Perda: Crossentropia Categórica, Funções de Ativação: ReLU para camadas ocultas, Softmax para a camada de saída final.
Métricas de avaliação
Exatidão, precisão, recordação e pontuação F1 foram calculadas usando classification_report do sklearn.metrics. As matrizes de confusão foram plotadas usando confusion_matrix e seaborn.heatmap. O desempenho foi avaliado em imagens não segmentadas e não segmentadas para avaliação comparativa.
Desenvolvimento de GUI
Uma interface gráfica de usuário simples foi criada usando a biblioteca Tkinter do Python. Os usuários podem fazer upload de uma imagem folha usando a GUI, que é então passada pelo modelo treinado. A classe de doença prevista é exibida na tela, juntamente com uma pontuação de confiança.
Criação de conjunto de dados
O conjunto de dados usado neste estudo é o conjunto de dados de detecção de doenças de folhas de arroz disponível publicamente do Kaggle36, compreendendo um total de 18.545 imagens de alta resolução de folhas de arroz categorizadas em 10 classes de doenças e 1 classe saudável. As imagens foram capturadas sob condições de iluminação variadas e diversas configurações ambientais, tornando o conjunto de dados altamente representativo e adequado para a construção de modelos robustos de aprendizado profundo. O conjunto de dados tem aproximadamente 8,33 GB de tamanho e contém as seguintes classes: Tungro, Sheath Blight (SB), Paddy Hispa (PH), Neck Blast (NB), Narrow Brown Spot (NBS), Leaf Scald (LS), Leaf Blast (LB), Healthy, Brown Spot (BS) e Bacterial Leaf Blight (BLB).
Para garantir a reprodutibilidade e a avaliação eficaz do modelo, o conjunto de dados foi dividido aleatoriamente em subconjuntos de treinamento (80%) e teste (20%), mantendo a distribuição de classes. O conjunto de treinamento foi usado para treinar os modelos, enquanto o conjunto de teste foi reservado para validação de desempenho em dados não vistos. A avaliação foi baseada em métricas de classificação padrão: Exatidão, Precisão, Recall e pontuação F1, que forneceram uma avaliação abrangente da capacidade de classificação de cada modelo. O estudo comparou seis modelos de aprendizado profundo: VGG16, ResNet, InceptionV3, MobileNet, AlexNet e DenseNet121, com o DenseNet121 oferecendo o melhor desempenho para a tarefa.
Distribuição dos dados
A classificação da doença foi realizada usando modelos de aprendizado profundo treinados no conjunto de dados. O conjunto de dados foi dividido em dois subconjuntos: um conjunto de treinamento e um conjunto de testes. O conjunto de treinamento foi usado para ensinar o modelo, enquanto o conjunto de testes foi usado para avaliar seu desempenho em dados inéditos. Um resumo da distribuição de imagens entre as dez categorias de doenças e a classe de folhas saudáveis é fornecido na Tabela 1. Esta tabela fornece uma compreensão abrangente dos sintomas visuais associados a cada doença, facilitando o treinamento e a avaliação de modelos de classificação.
Essa distribuição garante uma representação equitativa de cada categoria de doença durante as fases de treinamento e teste. O conjunto de treinamento inclui a maioria das imagens, permitindo que o modelo aprenda efetivamente as características exclusivas de cada classe. O conjunto de testes, que consiste em um subconjunto menor de imagens, garante uma avaliação confiável da precisão do modelo e sua capacidade de generalizar para dados novos e não vistos.
A distribuição equilibrada e diversificada de imagens entre as categorias garante que o modelo tenha dados suficientes para aprender os padrões exclusivos associados a cada tipo de doença, ao mesmo tempo em que mitiga o risco de sobreajuste ou viés em relação a qualquer classe específica. Essa divisão de dados é essencial para obter resultados de classificação robustos e confiáveis.
Limpeza de dados
Na fase de pré-processamento, a limpeza dos dados é essencial para aumentar a precisão e a eficiência do modelo de classificação. As imagens brutas de folhas de arroz geralmente incluem elementos de fundo indesejados, como solo, vegetação próxima ou ferramentas agrícolas, que podem introduzir ruído e degradar o desempenho geral do modelo.
Para resolver isso, a segmentação de imagens foi realizada usando o modelo UNet 37,38, uma conhecida arquitetura de rede neural convolucional projetada especificamente para tarefas de segmentação semântica. O modelo UNET é capaz de segmentar regiões foliares a partir do fundo com alta precisão, garantindo que apenas as partes relevantes das imagens sejam retidas para processamento posterior39. O processo de segmentação foi ilustrado na Figura 1.
Processo de segmentação com o modelo UNet (Figura 2): As imagens brutas do conjunto de dados são alimentadas no modelo UNET. O modelo UNET consiste em um codificador que extrai recursos hierárquicos e um decodificador que reconstrói a imagem enquanto segmenta a região folha. O modelo gera uma máscara binária em que a região folha é marcada e o plano de fundo é removido. As imagens segmentadas são ainda mais refinadas pela aplicação de operações morfológicas para garantir bordas suaves e remover qualquer ruído residual (Figura 3).
Formulação matemática da segmentação UNet: A UNet realiza a segmentação semântica aprendendo um mapeamento do espaço da imagem de entrada para uma máscara binária que destaca a região de interesse (ROI), ou seja, a área foliar doente, enquanto suprime o fundo irrelevante. Deixar:
denotam a imagem RGB de entrada de tamanho H*W com canais de cores C=3.
ser a saída do modelo UNet treinado, onde cada valor de pixel em M representa a probabilidade de esse pixel pertencer à região folha doente.
A máscara de segmentação binária final 
onde τ [0,1] é o limite de segmentação (comumente definido como 0,5).
A imagem
segmentada é então calculada como:

onde
denota multiplicação elementar, aplicada espacialmente em todos os canais. Essa operação retém os valores de pixel no ROI (onde
) e mascara os pixels de fundo (onde
). Essa saída segmentada é passada como entrada para o modelo de classificação (por exemplo, DenseNet121), permitindo que ele se concentre exclusivamente em recursos relevantes para a doença, ignorando áreas de fundo barulhentas e não informativas, o que melhora o desempenho da classificação e a generalização do modelo.
Esta etapa de pré-processamento garante que os seguintes estágios de extração e classificação de características sejam realizados em dados limpos e relevantes, melhorando assim o desempenho geral e a confiabilidade do modelo de classificação de doenças da folha de arroz.
Transferir Aprendizagem
O aprendizado por transferência utiliza redes neurais pré-treinadas para resolver problemas novos, mas relacionados, eliminando a necessidade de construir modelos do zero. Essa abordagem aproveita o conhecimento adquirido em tarefas anteriores, permitindo uma aprendizagem eficiente40. Modelos pré-treinados geralmente são desenvolvidos em conjuntos de dados extensos e possuem recursos robustos de extração de recursos, tornando-os adequados para ajuste fino em conjuntos de dados específicos. Isso reduz o tempo de treinamento, evita o sobreajuste e alcança alta precisão, mesmo com recursos computacionais limitados.
Neste estudo, o aprendizado por transferência foi empregado para identificar doenças da folha do arroz, avaliando vários modelos de aprendizado profundo pré-treinados. A arquitetura explorada nos experimentos inclui VGG16, ResNet, InceptionV3, MobileNet, AlexNet e DenseNet121. Cada um desses modelos foi inicialmente treinado em grandes conjuntos de dados, como o ImageNet, e seus pesos pré-treinados foram utilizados neste trabalho. Para adaptar os modelos à tarefa de classificação, foram feitas as seguintes modificações:
Modificação do modelo: As camadas originais totalmente conectadas (classificação) de cada modelo foram removidas usando o parâmetro include_top=False durante a importação do modelo no Keras. Isso garantiu que apenas a base convolucional (extrator de recursos) de cada modelo pré-treinado fosse mantida. A saída do último bloco convolucional foi nivelada em um vetor unidimensional usando a camada Flatten().
Camadas densas: Três camadas totalmente conectadas (densas) foram anexadas sequencialmente após a etapa de achatamento. Essas camadas foram definidas usando a função Keras Dense(): a primeira com 256 neurônios e ativação de ReLU, a segunda com 128 neurônios e ativação de ReLU e a terceira com 64 neurônios e ativação de ReLU. Uma camada Dropout também foi adicionada entre as camadas para reduzir o sobreajuste.
Camada de saída: Três camadas totalmente conectadas (densas) foram anexadas sequencialmente após a etapa de achatamento. Essas camadas foram definidas usando a função Keras Dense(): a primeira com 256 neurônios e ativação de ReLU, a segunda com 128 neurônios e ativação de ReLU e a terceira com 64 neurônios e ativação de ReLU. Uma camada de dropout (taxa de 0,4) também foi adicionada entre as camadas para reduzir o sobreajuste.
O pipeline geral e o fluxo da metodologia, incluindo pré-processamento, segmentação, implementação do modelo de aprendizado de transferência e avaliação, são representados na Figura 4. Esta figura fornece uma visão abrangente das etapas seguidas nesta pesquisa. Ao empregar o aprendizado de transferência, o tempo de treinamento foi minimizado com sucesso, a dependência de recursos computacionais de ponta foi reduzida e melhorias significativas de desempenho foram alcançadas na classificação da doença da folha do arroz.
Modelo DenseNet121 proposto para classificação de doenças foliares
Dentre todos os modelos testados, o DenseNet121 exibiu o melhor desempenho na classificação das doenças da folha do arroz, alcançando notável precisão. Este modelo de aprendizado profundo de ponta se distingue por sua arquitetura inovadora40, que promove um fluxo eficiente de informações e aprimora a reutilização de recursos.
Arquitetura do DenseNet121: O DenseNet121 é caracterizado por camadas densamente conectadas, onde cada camada pode acessar os mapas de recursos de todas as camadas anteriores. Esse design otimiza o fluxo de informações, reduz a redundância e melhora significativamente a eficiência geral do modelo.
A arquitetura consiste nos seguintes componentes principais:
Camada de entrada: Recebe imagens redimensionadas para 224 x 224 pixels para processamento padronizado.
Camada convolucional inicial: Aplica uma operação de convolução 7 x 7 seguida de agrupamento máximo para reduzir as dimensões espaciais e extrair feições de baixo nível.
Blocos densos: o modelo contém quatro blocos densos. Cada bloco compreende várias camadas convolucionais conectadas de maneira densa, o que significa que cada camada tem acesso direto às saídas de todas as camadas anteriores dentro do bloco.
Camadas de transição: Posicionadas entre blocos densos, essas camadas executam uma convolução 1 x 1 seguida de agrupamento médio para reduzir as dimensões do recurso, melhorando a eficiência computacional.
Global Average Pooling (GAP): Reduz as dimensões espaciais dos mapas de feição antes das camadas totalmente conectadas.
Camada totalmente conectada: Produz o vetor de saída para classificação.
Camadas personalizadas para classificação: Para esta pesquisa, as camadas padrão totalmente conectadas foram substituídas por uma arquitetura personalizada: camada achatada, três camadas densas (256, 128 e 64 neurônios com ativação de ReLU) e uma camada final ativada por sigmoide para classificação binária.
A capacidade do DenseNet121 de reutilizar recursos e sua arquitetura compacta contribuíram significativamente para seu desempenho superior no conjunto de dados de doenças da folha de arroz. Essa eficiência, juntamente com sua capacidade de minimizar o sobreajuste, o torna ideal para tarefas com dados de treinamento limitados. O DenseNet121 alcançou melhor precisão e generalização do que outros modelos devido à sua reutilização de recursos e propriedades de fluxo de gradiente. Embora modelos como ResNet e VGG16 tenham tido um bom desempenho, o DenseNet121 os superou em termos de precisão e eficiência computacional.
Em todos os modelos, três camadas totalmente conectadas (densas) foram incluídas utilizando funções de ativação ReLU (conforme mostrado na Equação 1), culminando em uma camada densa final com uma ativação SoftMax (Equação 2) para facilitar a classificação multiclasse. Essa adaptação permitiu que cada modelo utilizasse efetivamente seus pesos pré-treinados enquanto classificava as imagens no conjunto de dados.
ReLu f(x) = max(0, X) (1)

onde xi representa a entrada para a função SoftMax, ajustada para classificação nas dez categorias de doenças da folha do arroz. A arquitetura exclusiva de cada modelo, combinada com essa camada de saída personalizada, permitiu a extração eficaz de recursos e a classificação precisa da imagem.
A Figura 5 apresenta o layout arquitetônico do DenseNet121, mostrando o fluxo contínuo de informações por meio de seus blocos densos, camadas de transição e as camadas de classificação personalizadas integradas para esta pesquisa. Essa representação visual esclarece como o DenseNet121 lida com entradas de imagem e gera saídas de previsão