DOI: 10.12731/2227-930X-2024-14-1-276 УДК 004.8
Научная статья |
Системный анализ, управление и обработка информации
МОБИЛЬНОЕ ПРИЛОЖЕНИЕ ПО АВТОМАТИЗИРОВАННОЙ ДИАГНОСТИКЕ БОЛЕЗНЕЙ АГРОКУЛЬТУР И ПОДБОРУ РЕКОМЕНДАЦИЙ ИХ ЛЕЧЕНИЯ
Ю.В. Торкунова, Д.Э. Иванов
Целью исследования была мобильная разработка на основе технологий компьютерного зрения и парсинга сайтов, позволяющая автоматизировать процесс диагностики болезней агрокультур и выдачи рекомендаций по лечению. В статье рассмотрены методы распознавания болезней растений с помощью компьютерного зрения, описаны принципы работы сверточных нейронных сетей, выбрана наиболее подходящая модель машинного обучения, основанная на точности, скорости и эффективности модели в условиях ограниченных ресурсов мобильного устройства, описан инструментарий: библиотеки и фреймворки, использованные для разработки. Представлена развернутая архитектура работы приложения, а так же продемонстрированы результаты работы разработанного программного обеспечения. Новым вкладом в развитие данной тематики является экспериментальное обоснование выбора модели нейронной сети на основе анализа ее результативности на подготовленном датасете, а так же внедрение автоматического поиска рекомендаций по определенной болезни агрокультуры. В дальнейшем в данное мобильное приложение планируется переход на мультиплотформенность и расширение функционала.
Ключевые слова: компьютерное зрение; автоматизированное распознавание болезней растений; сверточные нейронные сети; мобильное приложение
Для цитирования. ТоркуноваЮ.В., Иванов Д.Э. Мобильное приложение по автоматизированной диагностике болезней агрокультур и подбору рекомендаций их лечения // International Journal of Advanced Studies. 2024. Т. 14, № 1. С. 168-183. DOI: 10.12731/2227-930X-2024-14-1-276
Original article | System Analysis, Management and Information Processing
A MOBILE APPLICATION FOR THE AUTOMATED DIAGNOSIS OF DISEASES OF AGRICULTURAL CROPS AND THE SELECTION OF RECOMMENDATIONS FOR THEIR TREATMENT
J.V. Torkunova, D.Je. Ivanov
The aim of the study was a mobile development based on computer vision technologies and site parsing, which allows automating the process of diagnosing diseases of agricultural crops and issuing recommendations for treatment. The article discusses methods for recognizing plant diseases using computer vision, describes the principles of convolutional neural networks, selects the most appropriate machine learning model based on the accuracy, speed and efficiency of the model in conditions of limited resources of a mobile device, describes the tools: libraries and frameworks used for development. The detailed architecture of the application is presented, as well as the results of the developed software are demonstrated. A new contribution to the development of this topic is the experimental substantiation of the choice of a neural network model based on the analysis of its effectiveness on a prepared dataset, as well as the introduction of an automatic search for recommendations for a certain disease of
agriculture. In the future, it is planned to introduce a voice assistant into this mobile application.
Keywords: computer vision; automated recognition of plant diseases; convolutional neural networks; mobile application
For citation. Torkunova J.V., Ivanov D.Je. A Mobile Application for the Automated Diagnosis of Diseases of Agricultural Crops and the Selection of Recommendations for Their Treatment. International Journal of Advanced Studies, 2024, vol. 14, no. 1, pp. 168-183. DOI: 10.12731/2227-930X-2024-14-1-276
Введение
Современным специалистам сельского хозяйства, начинающим фермерам, а так же просто любителям садоводства и огородничества бывает зачастую сложно быстро определить болезни агрокультуры, а так же подобрать быстро и своевременно способы и пути лечения, особенно будучи на природе, когда под рукой нет компьютерной техники. Поэтому разработка мобильного приложения для распознавания болезней растений и автоматизированная выдача рекомендаций по лечению является актуальной и востребованной, поскольку поможет своевременно принимать меры по защите культур [2].
Основными признаками болезни растений являются пятна на листьях, увядание, деформации, а также изменения в цвете и форме растений. Важным элементом является также понимание причин возникновения заболеваний, будь то инфекционные агенты (вирусы, бактерии, грибки) или абиотические факторы (например, недостаток питательных веществ, вредные погодные условия).
Материалы и методы
Методы компьютерного зрения основанные на применении нейронных сетей достаточно активно внедряются в различные сферы деятельности человека [1, 9]. С развитием технологий, особенно в области компьютерного зрения и машинного обучения, появились новые методы распознавания и классификации
заболеваний растений. Эти методы позволяют автоматизировать процесс диагностики и делают его более точным и эффективным.
Ниже приведены некоторые из наиболее перспективных подходов в этой области:
1. Использование изображений листьев для диагностики. Применение компьютерного зрения и цифровой обработки изображений для анализа фотографий листьев. Алгоритмы могут распознавать пятна, деформации, изменения цвета и другие визуальные признаки болезней.
2. Машинные методы обучения. Классификация изображений с помощью машинного обучения и глубокого обучения для определения конкретных заболеваний. Методы могут включать использование сверточных нейронных сетей (CNN) для анализа текстурных и цветовых особенностей листьев.
3. Анализ спектральных данных. Применение машинного обучения к спектральным данным для идентификации специфических шаблонов, связанных с определенными заболеваниями [12].
Сверточные сети достаточно широко применяются в интеллектуальном анализе изображений [4, 8]Для решения задачи распознавания болезней растений на изображениях существует множество различные архитектуры глубоких сверточных нейронных сетей, каждая из которых обладает уникальными характеристиками и преимуществами, делающими их подходящими для анализа данных. Среди них можно выделить несколько ключевых архитектур CNN, которые мы разберем и обоснуем почему они эффективны для задачи распознавания болезней растений, такие как MobileNetV2, GoogleNet (InceptionV3) и EfficientNetBO.
В текущей работе за основу датасета было принято решение использовать PlantVillage.
Набор данных представляет открытую, доступную и обширную коллекцию изображений листьев растений размером 256x256 пикселей, предназначенная для поддержки исследований и разработок
в области агротехнологий, особенно для диагностики болезней растений. Этот датасет содержит тысячи изображений листьев, классифицированных по различным видам растений и типам заболеваний, включая как здоровые, так и пораженные образцы.
Перед обучением нейронной сети, помимо подготовки датасе-та, необходимо выполнить несколько важных этапов. Эти этапы помогают улучшить качество обучения и обеспечить более надежную проверку эффективности модели (рисунок 1).
Рис. 1. Рабочий процесс обучения модели
Для решения задачи распознавания болезней растений на изображениях существует множество различные архитектуры глубоких сверточных нейронных сетей, каждая из которых обладает уникальными характеристиками и преимуществами, делающими их подходящими для анализа данных. Среди них можно выделить несколько ключевых архитектур CNN, которые мы разберем и обоснуем почему они эффективны для задачи распознавания болез-
ней растений, такие как MobileNetV2, GoogleNet (InceptionV3) и EfficientNetBO. Для каждого набора данных (обучающего, валида-ционного и тестового) был подготовлен свой ImageDataGenerator. Это позволяет точно настроить процесс аугментации для каждого типа данных, учитывая, например, что для тестового набора данных часто не применяются некоторые виды аугментации, чтобы сохранить исходное качество изображений для корректной оценки модели. Модели были протестированы на подготовленных данных, результаты тестирования показали более высокую точность модели EfficientNetO (0,98) по сравнению с GoogleNet (0,94) и MobileNet (0,95), что обусловило выбор EfficientNetO.
Для написания серверной части и обучения модели был использован язык программирования Python. Для клиентской части - язык Kotlin.
Проанализировав потребительские предпочтения в сфере предметной области - распознавание болезней растений мы сделали выбор в пользу платформы: Android. Соответственно среда разработки - Android Studio
Обучение модели проводилось в интерактивной среде разработки Jupyter Notebook, которая позволяет создавать и выполнять код в виде блокнотов, объединяя код, текст и результаты его выполнения в формате удобном для анализа и представления [5].
Для разработки платформы использовались библиотека Tensor-Flow, Kotlin Coroutines, фреймворки FastAPI, Jetpack Compose и Koin TensorFlow - мощная библиотека для машинного обучения, разработанная Google, часто используется в сочетании с Keras, высокоуровневым API, который облегчает создание и обучение моделей глубокого обучения. TensorFlow предлагает лучшие возможности для масштабирования и развертывания моделей. Он поддерживает различные платформы и устройства, включая мобильные [14].
FastAPI - это фреймворк для создания лаконичных и довольно быстрых HTTP API-серверов со встроенными валидацией, сериали-зацией и асинхронностью. Основной особенностью FastAPI являет-
ся его способность автоматически создавать документацию для API, что значительно облегчает процесс разработки и тестирования.
Jetpack Compose - современный фреймворк от компании Google для разработки пользовательского интерфейса. Он преобразует подход к разработке UI, предлагая декларативный стиль программирования, который значительно отличается от традиционного императивного подхода с использованием XML. В Compose мы описываем, что должен отображать интерфейс, вместо того чтобы указывать последовательность действий для его построения. Тесно интегрированная с Kotlin, Jetpack Compose использует все преимущества этого языка, включая лямбды, расширения и корутины, улучшая тем самым возможности программирования и поддержку реактивных паттернов [10].
Kotlin Coroutines - это библиотека, входящая в состав Kotlin Standard Library, предоставляющая возможности для асинхронного программирования. Основной их особенностью является возможность писать асинхронный код, который выглядит как синхронный, что значительно упрощает понимание и поддержку кода. Также эта библиотека находит широкое применение в разработке мобильных приложений на платформе Android, где она используется для управления сетевыми запросами, взаимодействием с базами данных и выполнением длительных задач без блокирования пользовательского интерфейса [11].
Koin, разработанный специально для Kotlin, представляет собой легковесный фреймворк для внедрения зависимостей, который облегчает управление зависимостями в Kotlin-приложени-ях [7] . Его ключевая особенность - предоставление простого и интуитивно понятного подхода к внедрению зависимостей, что делает его доступным даже для разработчиков, не имеющих глубоких знаний в этой области [3].
В совокупности, использование этих библиотек в Kotlin-проек-тах не только повышает качество и читаемость кода, но и обеспечивает более гладкий переход к мультиплатформенной разработке, благодаря их мультиплатформенной поддержке и способности унифицировать подходы к разработке на различных платформах.
Результаты
Для полного понимания функциональности разработанного мобильного приложения, предназначенного для распознавания болезней растений, составим диаграмму взаимодействия системы [6, 15]. Эта диаграмма будет отражать взаимосвязи между разными аспектами приложения и их влиянием на общую эффективность. Она поможет визуализировать поток данных и последовательность шагов, начиная от момента выбора изображения пользователем и заканчивая получением результатов анализа и рекомендаций по уходу за растением (рисунок 2).
Рис. 2,
',. Диаграмма взаимодействия системы диагностики болезней растений
Работа приложения начинается с главного экрана, где пользователь может выбрать изображение растения, используя камеру своего устройства или выбрав фотографию из галереи. Чтобы обеспечить пользователю максимально информативный и удобный опыт использования, на главном экране мобильного приложения для распознавания болезней растений отображается список всех растений и болезней, которые поддерживаются системой. Это предоставляет возможность заранее ознакомиться с областью применения приложения и убедиться в его пригодности для конкретных потребностей пользователя (Рисунок 3).
Рис. 3. Главный экран приложения
После этого происходит процесс диагностики: в зависимости от наличия интернет-соединения и работоспособности сервера изображение либо отправляется на сервер для анализа с использованием модели нейросети, либо обрабатывается локально с помощью встроенной модели tflite. Затем результаты диагностики отображаются на экране пользователя и сохраняются в базе данных.
После обработки изображения приложение отображает результаты диагностики, предоставляя пользователю не только информацию о возможной болезни, но и сохраняя эти данные в базе данных для последующего просмотра на отдельном экране (рисунок 4).
При нажатии на кнопку «Посмотреть рекомендации и советы» пользователь может просмотреть рекомендации по лечению и уходу за растением, доступные как в онлайн, так и в офлайн режиме. Кроме того, приложение предлагает функцию прослушивания этих рекомендаций для удобства пользователя. (рисунок 5).
Таким образом, нами была разработана и успешно реализована система мобильного приложения для распознавания болезней растений - надёжный и удобный в использовании инструмент, позволяющий диагностировать заболевания растений, используя технологии машинного обучения и обработки изображений.
Рис. 4. Экран результата диагностики
Рис. 5. Экран выдачи рекомендаций
Основной функционал приложения включает в себя выбор изображения растения, диагностику болезни с помощью модели, развернутой на сервере, или оффлайн Шке модели, отображение результатов, сохранение данных в базу данных, просмотр рекомендаций по уходу (как локально, так и онлайн) и прослушивание этих рекомендаций. Также реализована функция просмотра списка всех поддерживаемых системой растений и болезней.
Обсуждение результатов
Результаты, достигнутые в ходе разработки, подтверждают эффективность выбранных методов и технологий. Приложение успешно справляется с задачей распознавания болезней растений и может быть использовано широким кругом пользователей, включая агрономов, фермеров и любителей садоводства. Возможность работы как в онлайн, так и в офлайн режиме делает приложение универсальным и доступным в любых условиях.
Заключение
В дальнейшем планируется уделить особое внимание обучению и оптимизации алгоритмов, чтобы повысить их эффективность в распознавании не только общераспространенных, но и более сложных, редких заболеваний растений. Помимо этого, планируется внедрить дополнительные функции и возможности, которые значительно расширят функциональность и удобство использования приложения.
Важным шагом станет создание интегрированного календаря для садоводов и фермеров, который позволит планировать и контролировать основные мероприятия, такие как полив, сбор урожая, окучивание и другие важные работы. Этот инструмент планируется адаптировать под индивидуальные нужды пользователя и специфику выращиваемых им растений, что сделает уход за растениями более организованным и эффективным.
Также в будущем планируется сотрудничество с компаниями, которые производят удобрения, семена и средства защиты растений. Благодаря этому пользователи будут получать свежую информацию о новинках и эффективных продуктах, а также смогут воспользоваться особыми предложениями и скидками. Это сотрудничество сделает наше приложение не только более полезным, но и выгодным для тех, кто им пользуется.
Дополнительно, учитывая выбранный нами стек технологий, планируется переход на мультиплатформенность. Это позволит нам охватить более широкий рынок устройств, предоставляя доступ к приложению для пользователей различных операционных систем. Такой шаг значительно расширит аудиторию и сделает приложение доступным для большего числа садоводов и фермеров.
Список литературы 1. Аветисян Т. В., Львович Я. Е., Преображенский А. П. Разработка подсистемы распознания сигналов сложной формы // International Journal of Advanced Studies. 2023. Т. 13, № 1. С. 102-114. https:// doi.org/10.12731/2227-930X-2023-13-1-102-114
2. Доктрина продовольственной безопасности. URL://www.scrf.gov. ru/security/economic/document108/ (дата обращения 01.02.2024)
3. Документация Koin. URL://insert-koin.io/ (дата обращения 01.02.2024).
4. Осовский С. Нейронные сети для обработки информации. М.: Горячая линия. Телеком. 2019. 448 с.
5. Jupyter Notebook. URL://jupyter.org/ (дата обращения 21.02.2024).
6. Проектирование информационных систем: учебник и практикум для вузов/ Чистов Д.В., Мельников П.П. , Золотарюк А.В., Ниче-порук Н.Б.; под общей редакцией Чистова Д.В. 2-е изд., перераб. и доп. Москва: Издательство Юрайт, 2024. 293 с.
7. Скин Дж., Гринхол Д. Kotlin. Программирование для профессионалов. СПб.: Питер, 2023. 464 с.
8. Торкунова Ю.В., Коростелева Д.М., Кривоногова А.Е. Формирование цифровых навыков в электронной информационно-образовательной среде с использованием нейросетевых технологий // Современное педагогическое образование. 2020. №5. С. 107-110.
9. Торкунова Ю.В., Милованов Д.В. Оптимизация нейронных сетей: методы и их сравнение на примере интеллектуального анализа текста // International Journal of Advanced Studies. 2023. Т. 13, № 4. С. 142-158. https://doi.org/10.12731/2227-930X2023-13-4-142-158
10. Castillo J. Jetpack Compose internals / J. Castillo. Leanpub, 2021. 121 с.
11. Moskala M. Kotlin Coroutines: Deep Dive (Kotlin for Developers) / M. Moskala. 2022.
12.Nguyen C., Sagan V., Maimaitiyiming M., Maimaitijiang M., Bhadra S., Kwasniewski M.T. Early detection of plant viral disease using hyperspectral imaging and deep learning // Sensors. 2021. Vol. 21, № 3. 742 с.
13. Пятаева А., Мерко М., Жуковская В., Пинчук, И. Елисеева М. Распознавание рукописной подписи с применением нейронных сетей // International Journal of Advanced Studies. 2023. Т. 13, № 3. С. 130-148. https://doi.org/10.12731/2227-930X-2023-13-3-130-148
14. TensorFlow Overview. URL: https://www.tensorflow.org/overview (дата обращения 03.02.2024)
15. What is a Swimlane Diagram. URL: https://www.lucidchart.com/ pages/tutorial/swimlane-diagram (дата обращения 03.02.2024)
References
1. Avetisjan T.V., L'vovich Ja.E., Preobrazhenskij A.P. Razrabotka pod-sistemy raspoznanija signalov slozhnoj formy [Development of a subsystem for recognizing complex-shaped signals]. International Journal of Advanced Studies, 2023, vol. 13, no. 1, pp. 102-114. https://doi. org/10.12731/2227-930X-2023-13-1-102-114
2. The doctrine of food security. URL://www.scrf.gov.ru/security/eco-nomic/document108/ (accessed February 01, 2024)
3. Documentation Koin. URL://insert-koin.io/ (accessed February 01, 2024).
4. Osovskij S. Nejronnye seti dlja obrabotki informacii [Neural networks for information processing]. M., 2019, 448 p.
5. Jupyter Notebook. URL://jupyter.org/ (accessed February 21, 2024)
6. Proektirovanie informacionnyh sistem: uchebnik i praktikum dlja vu-zov [Information Systems design: textbook and workshop for universities] / D.V.Chistov, P.P.Mel'nikov, A.V.Zolotarjuk, N.B. Nicheporuk; ed. D.V.Chistov. Moscow: Jurajt Publ., 2024, 293 p.
7. Skin Dzh., Grinhol D. Kotlin. Programmirovanie dljaprofessionalov [Kotlin. Programming for professionals]. SPb.: Piter, 2023, 464 p.
8. Torkunova Ju.V., Korosteleva D.M., Krivonogova A.E. Formirovanie cifrovyh navykov v jelektronnoj informacionno-obrazovatel'noj srede s ispol'zovaniem nejrosetevyh tehnologij [Formation of digital skills in an electronic information and educational environment using neural network technologies]. Sovremennoe pedagogicheskoe obrazovanie, 2020, no. 5, pp.107-110.
9. Torkunova Ju.V., Milovanov D.V. Optimizacija nejronnyh setej: metody i ih sravnenie na primere intellektual'nogo analiza teksta [Optimization of neural networks: methods and their comparison on the example of text mining]. International Journal of Advanced Studies, 2023, vol. 13, no. 4, pp. 142-158. https://doi.org/10.12731/2227-930X2023-13-4-142-158
10. Castillo J. Jetpack Compose internals. Leanpub, 2021, 121 p.
11. Moskala M. Kotlin Coroutines: Deep Dive (Kotlin for Developers). 2022.
12.Nguyen C., Sagan V., Maimaitiyiming M., Maimaitijiang M., Bhadra S., Kwasniewski M.T. Early detection of plant viral disease using hy-perspectral imaging and deep learning. Sensors, 2021, vol. 21, no. 3, 742 p.
13. Pyataeva A., Merko M., Zhukovskaya V., Pinchuk I., Eliseeva M. Raspoznavanie rukopisnoj podpisi s primeneniem nejronnyh setej [Handwritten signature recognition using neural networks]. International Journal of Advanced Studies, 2023, vol. 13, no. 3, pp. 130-148. https://doi.org/10.12731/2227-930X-2023-13-3-130-148
14. TensorFlow Overview URL: //www.tensorflow.org/overview. (accessed February 3, 2024)
15. What is a Swimlane Diagram. URL: https://www.lucidchart.com/pag-es/tutorial/swimlane-diagram (accessed February 3, 2024)
ДАННЫЕ ОБ АВТОРАХ Торкунова Юлия Владимировна, профессор кафедры «Информационные технологии и интеллектуальные системы», доктор педагогических наук
Казанский государственный энергетический университет; Сочинский государственный университет ул. Красносельская, 51, г. Казань, Республика Татарстан, 420066, Российская Федерация; ул. Пластунская, 94, г. Сочи, Краснодарский край, 354000, Российская Федерация torkynova@mail.ru
Иванов Дмитрий Эдуардович, магистр
Казанский государственный энергетический университет ул. Красносельская, 51, г. Казань, Республика Татарстан, 420066, Российская Федерация alwayswannafly070400@mail.ru
DATA ABOUT THE AUTHORS Julia V. Torkunova, Professor of the Department of Information Technologies and Intelligent Systems, Doctor of Pedagogical Sciences
Kazan State Power Engineering University; Sochi State University
51, Krasnoselskaya Str., Kazan, Republic of Tatarstan, 420066, Russian Federation; 94, Plastunskaya Str., Sochi, Krasnodar region, 354000, Russian Federation torkynova@mail.ru SPIN-code: 7422-4238
ORCID: https://orcid.org/0000-0001-7642-6663
Dmitrij Je. Ivanov, Magister
Kazan State Power Engineering University
51, Krasnoselskaya Str., Kazan, Republic of Tatarstan, 420066,
Russian Federation
alwayswannafly070400@mail.ru
Поступила 28.02.2024
После рецензирования 12.03.2024
Принята 17.03.2024
Received 28.02.2024 Revised 12.03.2024 Accepted 17.03.2024