Информационная система для идентификации фитопатологий домашних растений на основе глубоких нейронных сетей
ВВЕДЕНИЕ
В процессе активной глобализации и развития современных технологий человечество сталкивается с множеством проблем, начиная с экономического кризиса, заканчивая нехваткой качественных продуктов питания. Одной из главных отраслей современного мира до сих пор является сельское хозяйство.
Сельское хозяйство – это совокупность всех видов деятельности человека, связанной с выращиванием, уборкой и первичной обработкой сельскохозяйственных культур, уходом и разведением животных, уходом за садовыми участками. Оно является основой экономики любой страны и направлено на обеспечение населения продовольствием и на получение сырья для ряда отраслей промышленности. Производство сельскохозяйственной продукции по итогам 2020 г. оценивалось в 395,0 млрд руб. По сравнению с 2019 г. эти расчеты ниже на 46,6 млрд руб [14]. Причины этому являлись неблагоприятные природные явления (почвенная засуха, заморозки или выдувание), а также недостаточный контроль состояний сельскохозяйственных культур, в
Содержание
Аннотация5
ВВЕДЕНИЕ8
1 Исследовательская часть10
1.1Постановка задачи10
1.1.1 Актуальность проблемы10
1.1.2 Предметная область11
1.2Обзор существующих решений и аналогов на рынке13
1.3Функции и требования к платформе14
1.4Описание системы15
1.5Обзор существующих решений17
1.5.1 Общая информация о сверточных нейронных сетях18
1.5.2 AlexNet19
1.5.3 U-Net20
1.5.4 ResNet и ResNet++22
1.5.5 VGGNet25
1.5.6 EfficientNet26
1.5.6 Сравнение архитектур28
1.6Библиотека OpenCV29
1.7Библиотека Keras30
1.8Выводы32
2Конструкторская часть33
2.1 Выбор и обоснование инструментов решения задачи33
2.2 Набор данных для обучения34
2.3 Выбор архитектуры для реализации39
2.4 Архитектура ПО и пользовательский интерфейс41
2.5 Подключение базы данных42
2.5.1 Хранение информации о фитопатологиях42
2.5.2 Хранение истории идентификаций43
2.6 Пользовательский интерфейс43
3Технологическая часть50
3.1 Функциональное тестирование50
3.2 Нефункциональное тестирование53
3.2.1 Обучение сверточной нейронной сети53
3.2.2 Тестирование обученной модели56
ЗАКЛЮЧЕНИЕ61
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ62
ПРИЛОЖЕНИЕ A65
ПРИЛОЖЕНИЕ B67
ПРИЛОЖЕНИЕ C68
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Atila Ü., Uçar M., Akyol K., Uçar E. Plant leaf disease classification using EfficientNet deep learning model [Электронный ресурс] // Ecological Informatics: электрон. науч. журн. 2021. N 61. URL: http://openaccess.iste.edu.tr/xmlui/bitstream/handle/20.500.12508/1754/murat-ucar.pdf?sequence=2&isAllowed=y (дата обращения: 16.04.2023);
Gerasimov V., Zagoruyko S. Is Bigger Always Better? Lessons Learnt from the Evolution of Deep Learning Architectures for Image Classification. [Электронный ресурс] // IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW). 2019. URL: https://www.researchgate.net/publication/337486420_Is_Bigger_Always_Better_Lessons_Learnt_from_the_Evolution_of_Deep_Learning_Architectures_for_Image_Classification (дата обращения: 25.11.2022);
He K., Zhang X., Ren S., Sun, J. Deep residual learning for image recognition [Электронный ресурс] // IEEE conference on computer vision and pattern recognition. URL: https://arxiv.org/pdf/1512.03385.pdf (дата обращения: 20.02.2023).
Ketkar S. N. Deep Learning with Python. A Hands-on Introduction [Электронный ресурс]: издание официальное. М.: Apress Berkeley, CA, 2017. С. 97-111. URL: https://link.springer.com/book/10.1007/978-1-4842-2766-4 (дата обращения: 12.03.2023);
Krizhevsky A., Sutskever I, Hinton G. E. ImageNet Classification with Deep Convolutional Neural Networks [Электронный ресурс] // The Twenty-sixth Annual Conference on Neural Information Processing Systems. 2012. URL: https://proceedings.neurips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf (дата обращения: 02.12.2022)
O’Shea K., Nash R. An Introduction to Convolutional Neural Networks // ResearchGate. 2015.
Ronneberger O., Fischer P., Brox T. U-net: Convolutional networks for biomedical image segmentation [Электронный ресурс] // International Conference on Medical image computing and computer-assisted intervention. 2015. 18 мая. URL: https://arxiv.org/pdf/
1.5.6 EfficientNet
Еще одним примером, но более современной сверточной нейронной сети является архитектура EfficientNet. EfficientNet была представлена в 2019 году на конференции CVPR (Conference on Computer Vision and Pattern Recognition) и на данный момент является одной из наиболее эффективных архитектур для классификации изображений на больших наборах данных. Структура этой архитектуры изображена на рисунке 8.
Рисунок 8 – Архитектура EfficientNet
Эта архитектура является результатом оптимизации глубины, ширины и разрешения сети с помощью метода автоматической масштабирования (AutoML). Использование такого метода обусловлено тем, что не все слои и фильтры имеют одинаковую важность для решения задачи, поэтому можно изменять количество слоев и фильтров для каждого слоя в зависимости от их значимости для задачи. Это позволяет создавать более эффективные и точные модели при более низких затратах на вычисления.
Архитектура EfficientNet состоит из нескольких блоков: