$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Описание набора данных
Набор данных, использованный в этом исследовании, был получен из общедоступного репозитория Kaggle под названием Paddy Leaf Disease Detection Dataset. Он состоит из 18 545 изображений рисовых листьев, разделенных на 10 классов болезней и 1 класс здоровых. Изображения различаются по разрешению и были сняты при разном освещении и условиях окружающей среды.
Предварительная обработка изображений
Размер всех изображений был изменен до 224 x 224 пикселей с помощью функции tf.image.resize() от TensorFlow. Эта однородность обеспечивает совместимость с входными требованиями предварительно обученных моделей СНС.: Значения пикселей были нормализованы в диапазон [0,1] с использованием параметра rescale=1./255 в Keras ImageDataGenerator. Аугментация (только для обучения): Такие методы, как горизонтальное и вертикальное переворачивание, поворот (± 20°) и масштабирование (до 20%), были применены с помощью ImageDataGenerator для улучшения генерализации.
Сегментация изображений
Модель UNet была использована для сегментации изображений, чтобы изолировать больные участки листьев от фонового беспорядка. Архитектура UNet была построена с использованием функционального API Keras со слоями кодера-декодера, пропуском соединений и активацией ReLU. Маски сегментации были применены к исходным изображениям с помощью попиксельного умножения (cv2.bitwise_and) для сохранения только релевантных признаков.
Архитектура модели и обучение
В качестве магистральных классификаторов были использованы следующие модели: VGG16, ResNet50, InceptionV3, MobileNet, AlexNet и DenseNet121. Предварительно обученные модели (на ImageNet) импортировались с include_top=False. Была добавлена пользовательская классификационная головка, состоящая из глобального среднего пулового слоя, двух плотных слоев со 128 и 64 нейронами (активация ReLU), слоя Dropout (rate = 0,4) и последнего плотного слоя с 11 выходами и активацией Softmax.
Экспериментальная установка
Все эксперименты проводились с использованием следующих настроек: Среда программирования: Python 3.11.5 с TensorFlow и Keras, Платформа выполнения: Jupyter Notebook, Аппаратное обеспечение: Intel Core i5-6300U, 8 ГБ ОЗУ, Windows 11, Размер партии: 32, Эпохи: 50, Оптимизатор: Адам, Скорость обучения: 0.0001, Функция потерь: Категориальная кроссэнтропия, Функции активации: ReLU для скрытых слоев, Softmax для конечного выходного слоя.
Метрики оценки
Точность, полнота и оценка F1 рассчитывались с использованием classification_report от sklearn.metrics. Матрицы неточностей строились с помощью confusion_matrix и seaborn.heatmap. Производительность оценивалась как на несегментированных, так и на сегментированных UNet изображениях для сравнительной оценки.
Разработка графического интерфейса пользователя
Простой графический пользовательский интерфейс был создан с использованием библиотеки Tkinter от Python. Пользователи могут загрузить изображение листа с помощью графического интерфейса, которое затем передается через обученную модель. Прогнозируемый класс заболевания отображается на экране вместе с оценкой достоверности.
Создание набора данных
Набор данных, использованный в этом исследовании, представляет собой общедоступный набор данных Paddy Leaf Diseases Detection от Kaggle36, состоящий в общей сложности из 18 545 изображений рисовых листьев с высоким разрешением, классифицированных по 10 классам болезней и 1 классу здоровых. Изображения были получены при различных условиях освещения и различных условиях окружающей среды, что делает набор данных очень репрезентативным и подходящим для создания надежных моделей глубокого обучения. Набор данных имеет размер около 8,33 ГБ и содержит следующие классы: Tungro, Tumor Binto (SB), Paddy Hispa (PH), Neck Blast (NB), Narrow Brown Spot (NBS), Leaf Scald (LS), Leaf Blast (LB), Healthy, Brown Spot (BS) и Бактериальный ожог листьев (BLB).
Чтобы обеспечить воспроизводимость и эффективную оценку модели, набор данных был случайным образом разделен на обучающие (80%) и тестовые (20%) подмножества с сохранением распределения классов. Обучающий набор использовался для обучения моделей, в то время как тестовый набор был зарезервирован для проверки производительности на невидимых данных. Оценка основывалась на стандартных показателях классификации: точности, точности, полноты и F1-score, которые обеспечивали всестороннюю оценку классификационных возможностей каждой модели. В исследовании сравнивались шесть моделей глубокого обучения: VGG16, ResNet, InceptionV3, MobileNet, AlexNet и DenseNet121, при этом DenseNet121 обеспечивает наилучшую производительность для выполнения этой задачи.
Распределение данных
Классификация заболеваний проводилась с помощью моделей глубокого обучения, обученных на наборе данных. Набор данных был разделен на два подмножества: обучающий и тестовый. Обучающий набор использовался для обучения модели, в то время как тестовый набор использовался для оценки ее производительности на ранее неизвестных данных. Сводная информация о распределении изображений по десяти категориям болезней и классу здоровых листьев представлена в таблице 1. Эта таблица обеспечивает всестороннее понимание визуальных симптомов, связанных с каждым заболеванием, облегчая обучение и оценку моделей классификации.
Такое распределение обеспечивает справедливое представительство каждой категории заболеваний как на этапе обучения, так и на этапе тестирования. Обучающий набор включает в себя большинство изображений, что позволяет модели эффективно изучать уникальные характеристики каждого класса. Тестовый набор, состоящий из меньшего подмножества изображений, обеспечивает надежную оценку точности модели и ее способности обобщать на новые, невидимые данные.
Сбалансированное и разнообразное распределение изображений по категориям гарантирует, что модель обладает достаточным количеством данных для изучения уникальных закономерностей, связанных с каждым типом заболевания, а также снижает риск переобучения или смещения в сторону какого-либо конкретного класса. Такое разделение данных имеет важное значение для получения надежных и надежных результатов классификации.
Очистка данных
На этапе предварительной обработки очистка данных имеет важное значение для повышения точности и эффективности модели классификации. Необработанные изображения рисовых листьев часто содержат нежелательные фоновые элементы, такие как почва, близлежащая растительность или сельскохозяйственные инструменты, которые могут создавать шум и ухудшать общую производительность модели.
Чтобы решить эту проблему, была проведена сегментация изображений с использованием модели UNet 37,38 — известной архитектуры сверточной нейронной сети, разработанной специально для задач семантической сегментации. Модель UNET способна сегментировать листовые области от фона с высокой точностью, гарантируя, что только соответствующие части изображений сохраняются для дальнейшей обработки39. Процесс сегментации был проиллюстрирован на рисунке 1.
Процесс сегментации с помощью модели UNet (Рисунок 2): Необработанные изображения из набора данных подаются в модель UNET. Модель UNET состоит из кодера, который извлекает иерархические признаки, и декодера, который восстанавливает изображение при сегментации листовой области. Модель выводит двоичную маску, в которой помечается область листа, а фон удаляется. Сегментированные изображения дополнительно уточняются с применением морфологических операций, чтобы обеспечить сглаживание краев и удалить любой остаточный шум (Рисунок 3).
Математическая формулировка сегментации UNet: UNet выполняет семантическую сегментацию, обучаясь отображению из пространства входного изображения в двоичную маску, которая выделяет область интереса (ROI), т. е. больную область листа, подавляя при этом нерелевантный фон. Разрешать:
обозначают входное RGB изображение размера H*W с C=3 цветовыми каналами.
быть выходными данными обученной модели UNet, где каждое значение пикселя в M представляет вероятность принадлежности этого пикселя к пораженной области листа.
Итоговая маска бинарной сегментации 
где τ [0,1] — порог сегментации (обычно устанавливается равным 0,5).
Затем сегментированное изображение
вычисляется следующим образом:

где
обозначает поэлементное умножение, применяемое пространственно по всем каналам. Эта операция сохраняет значения пикселей в ROI (где
) и маскирует пиксели фона (где
). Эти сегментированные выходные данные передаются в качестве входных данных в модель классификации (например, DenseNet121), что позволяет ей сосредоточиться исключительно на признаках, имеющих отношение к заболеванию, игнорируя зашумленные, неинформативные фоновые области, что улучшает производительность классификации и обобщение модели.
Этот этап предварительной обработки гарантирует, что следующие этапы извлечения признаков и классификации выполняются на основе чистых, релевантных данных, тем самым повышая общую производительность и надежность модели классификации болезней листьев риса.
Трансферное обучение
Transfer learning использует предварительно обученные нейронные сети для решения новых, но связанных проблем, устраняя необходимость создавать модели с нуля. Этот подход использует знания, полученные в ходе выполнения предыдущих задач, что позволяет эффективно учиться40. Предварительно обученные модели часто разрабатываются на основе обширных наборов данных и обладают надежными возможностями извлечения признаков, что делает их пригодными для тонкой настройки на конкретных наборах данных. Это сокращает время обучения, позволяет избежать переобучения и обеспечивает высокую точность даже при ограниченных вычислительных ресурсах.
В этом исследовании трансферное обучение было использовано для выявления болезней рисового листа путем оценки различных предварительно обученных моделей глубокого обучения. Архитектура, исследованная в экспериментах, включает VGG16, ResNet, InceptionV3, MobileNet, AlexNet и DenseNet121. Каждая из этих моделей изначально была обучена на больших наборах данных, таких как ImageNet, и в этой работе использовались их предварительно обученные веса. Для адаптации моделей к задаче классификации были внесены следующие изменения:
Модификация модели: Исходные полносвязные (классификационные) слои каждой модели были удалены с помощью параметра include_top=False во время импорта модели в Keras. Это гарантировало, что сохранялась только сверточная база (экстрактор признаков) каждой предварительно обученной модели. Вывод последнего сверточного блока был сведен в одномерный вектор с помощью слоя Flatten().
Плотные слои: Три полностью соединенных (плотных) слоя были добавлены последовательно после этапа выравнивания. Эти слои были определены с помощью функции Keras Dense(): первый с 256 нейронами и активацией ReLU, второй со 128 нейронами и активацией ReLU, а третий с 64 нейронами и активацией ReLU. Между слоями также был добавлен слой Dropout, чтобы уменьшить переобучение.
Выходной слой: Три полностью соединенных (плотных) слоя были добавлены последовательно после этапа выравнивания. Эти слои были определены с помощью функции Keras Dense(): первый с 256 нейронами и активацией ReLU, второй со 128 нейронами и активацией ReLU, а третий с 64 нейронами и активацией ReLU. Также был добавлен слой Dropout (коэффициент 0,4) между слоями для уменьшения переобучения.
Общий конвейер и поток методологии, включая предварительную обработку, сегментацию, реализацию модели трансферного обучения и оценку, показаны на рисунке 4. На этом рисунке представлен полный обзор шагов, которые были предприняты в этом исследовании. Использование трансферного обучения позволило свести к минимуму время обучения, снизить зависимость от высокопроизводительных вычислительных ресурсов и значительно повысить производительность классификации болезней рисового листа.
Предложенная модель DenseNet121 для классификации болезней листьев
Среди всех протестированных моделей DenseNet121 продемонстрировал лучшие результаты в классификации болезней листьев риса, достигнув замечательной точности. Эта передовая модель глубокого обучения отличается инновационной архитектурой40, которая способствует эффективному потоку информации и улучшает повторное использование функций.
Архитектура DenseNet121: DenseNet121 характеризуется плотно связанными слоями, где каждый слой может получить доступ к картам признаков из всех предыдущих слоев. Такая конструкция оптимизирует поток информации, снижает избыточность и значительно повышает общую эффективность модели.
Архитектура состоит из следующих ключевых компонентов:
Входной слой: Получает изображения с измененным размером до 224 x 224 пикселей для стандартизированной обработки.
Начальный сверточный слой: Применяет операцию свертки 7 x 7 с последующей максимальным объединением в пул для уменьшения пространственных размеров и извлечения низкоуровневых объектов.
Плотные блоки: Модель содержит четыре плотных блока. Каждый блок состоит из нескольких сверточных слоев, соединенных плотным образом, что означает, что каждый слой имеет прямой доступ к выходам всех предыдущих слоев внутри блока.
Переходные слои: Расположенные между плотными блоками, эти слои выполняют свертку 1 x 1 с последующим объединением в усреднение для уменьшения размерности признаков, повышая эффективность вычислений.
Global Average Pooling (GAP): Уменьшает пространственные размеры карт объектов перед полностью связными слоями.
Fully Connected Layer: Создает вектор вывода для классификации.
Пользовательские слои для классификации: Для этого исследования стандартные полносвязные слои были заменены на пользовательские архитектуры: слой Flatten, три плотных слоя (256, 128 и 64 нейронов с активацией ReLU) и последний активируемый сигмоидой слой для бинарной классификации.
Способность DenseNet121 повторно использовать функции и его компактная архитектура в значительной степени способствовали его превосходной производительности в наборе данных о болезни листьев риса. Такая эффективность в сочетании с возможностью свести к минимуму переобучение делает его идеальным для задач с ограниченными учебными данными. DenseNet121 достигла лучшей точности и обобщения по сравнению с другими моделями благодаря повторному использованию функций и свойствам градиентного потока. В то время как такие модели, как ResNet и VGG16, показали хорошие результаты, DenseNet121 превзошел их с точки зрения точности и вычислительной эффективности.
Во всех моделях были включены три полносвязных (плотных) слоя с использованием функций активации ReLU (как показано в уравнении 1), кульминацией которых является последний плотный слой с активацией SoftMax (уравнение 2) для облегчения многоклассовой классификации. Эта адаптация позволила каждой модели эффективно использовать предварительно обученные веса при классификации изображений в наборе данных.
ReLu f(x) = max(0, X) (1)

где xi представляет входные данные для функции SoftMax, скорректированные для классификации по десяти категориям болезней листьев риса. Уникальная архитектура каждой модели в сочетании с настраиваемым выходным слоем позволила эффективно извлекать признаки и точно классифицировать изображения.
На рисунке 5 представлена архитектурная схема DenseNet121, демонстрирующая бесшовный поток информации через его плотные блоки, переходные слои и специализированные слои классификации, интегрированные для этого исследования. Это визуальное изображение поясняет, как DenseNet121 обрабатывает входные данные изображений и создает выходные данные прогноза