Отправьте статью сегодня! Журнал выйдет ..., печатный экземпляр отправим ...
Опубликовать статью

Молодой учёный

Разработка мобильного приложения с ИИ-помощником для ухода за комнатными растениями

Научный руководитель
Информационные технологии
20.06.2026
2
Поделиться
Библиографическое описание
Гафурова, Е. В. Разработка мобильного приложения с ИИ-помощником для ухода за комнатными растениями / Е. В. Гафурова. — Текст : непосредственный // Молодой ученый. — 2026. — № 25 (628). — С. 22-24. — URL: https://moluch.ru/archive/628/138489.


Введение

Комнатные растения — это не просто элемент декора, а источник кислорода, психологического комфорта и связи с природой в условиях мегаполиса. Для городского жителя они становятся источником кислорода, живым напоминанием о природе и даже способом снизить стресс после насыщенного рабочего дня. Интерес к домашнему садоводству заметно вырос в последние годы: люди всё активнее обустраивают зелёные уголки у себя дома и в офисах. Но современный человек, погруженный в рабочие задачи и социальные обязательства, часто забывает о необходимости полить, подкормить или пересадить растение. Цветок, за которым не следят, быстро приходит в упадок, а вместе с ним угасает и мотивация заниматься садоводством вообще.

Актуальность связана с ростом популярности домашнего садоводства и осознанного растениеводства. Новички и опытные энтузиасты сталкиваются с проблемами: неправильный уход, несвоевременное выявление болезней, недостаток структурированных знаний. Существующие приложения для ухода за растениями лишь частично решают эту проблему. Пространство для более умного и персонализированного решения остаётся незанятым.

Функциональные требования для приложения с ИИ-помощником для любителей комнатных растений следующие:

– добавление нового растения в коллекцию и при том для него должна сохраняться информация: прозвище растения, его вид и сорт, дата добавления в коллекцию, фотография растения;

– изменение всех параметров растения;

– отображение списка всех растений;

– возможность создавать график ухода на основе параметров растения;

– push-уведомления о предстоящих процедурах ухода;

– ИИ-помощник, отвечающий на популярные запросы и способный по фотографии определять болезнь растения и рекомендовать решение;

– наличие элементов геймификации для поддержания активности пользователя;

– каталог статей по уходу за растениями, содержащих полезные материалы.

Рассмотрим диаграмму Исикавы для мобильного приложения с ИИ-помощником для ухода за комнатными растениями на рисунке 1.

Диаграмма Исикавы

Рис. 1. Диаграмма Исикавы

Данная диаграмма необходима, чтобы обобщить функциональные требования и соответствующие им процессы.

Р азработка ИИ-модуля

Подробнее остановимся на реализации ИИ-модуля. В разработке использовалась вторая версия модели MobileNet, представленная разработчиками Google в 2018 году. Она стала логическим продолжением идей, лежащих в основе первой версии, однако авторы внесли в неё несколько действительно значимых нововведений. Главной целью было не просто создать облегчённую модель для мобильных устройств, но и сохранить высокую точность, что всегда представляет собой сложный компромисс.

Датасет взят на Kaggle — ведущей платформе для специалистов в области Data Science и машинного обучения. Она хорошо подходит как для начинающих, так и для профи [19]. Огромный репозиторий датасетов и готовые к развертыванию модели являются огромными плюсами платформы, поэтому была выбрана именно она.

Визуальная модель обучена на датасете PlantVillage, который содержит около 50 тысяч изображений листьев различных растений с разными заболеваниями. Датасет разделен на 38 классов, включающих здоровые растения и различные болезни для них.

MobileNetV2 использует специальные блоки с inverted residuals и linear bottlenecks, что позволяет достичь хорошей точности при небольшом размере модели.

В процессе реализации приложения взята MobileNetV2 без верхних полносвязных слоев. Она загружается с весами, предобученными на ImageNet. Затем добавляются собственные слои: GlobalAveragePooling2D для усреднения признаков по пространственным измерениям, Dropout слой с коэффициентом 0.5 для регуляризации и предотвращения переобучения и полносвязный Dense слой с 38 выходами и функцией активации softmax для классификации по числу классов болезней. Обучение проходило в два этапа.

На первом этапе замораживаются все слои базовой модели MobileNetV2 и обучаются только добавленные слои. Это позволяет быстро адаптировать выходные слои под задачу, не теряя признаки, которые MobileNetV2 научилась извлекать на ImageNet. На этом этапе используется оптимизатор Adam со скоростью обучения 0.001, и модель обучается около 5 эпох.

На втором этапе выполняется тонкая настройка. Размораживаются последние 50 слоев базовой модели, и вся сеть дообучается с маленькой скоростью обучения 0.0001, чтобы не испортить уже выученные признаки. Этот этап длится 10 эпох.

После обучения модель сохраняется в формате Keras H5, а затем конвертируется в формат TensorFlow Lite для использования на мобильных устройствах.

Конвертация выполняется через TFLiteConverter. Поскольку MobileNet V2 содержит некоторые операции, которые не полностью поддерживаются базовым TFLite, при конвертации включается поддержка SELECT_TF_OPS, что позволяет использовать часть операций TensorFlow напрямую.

При инициализации сервиса загружаются три файла из assets приложения: TFLite модель plant_disease_model.tflite, метаданные модели plant_disease_metadata.json, содержащие названия классов на английском, их переводы на русский и рекомендации по лечению каждого заболевания, а также база вопросов и ответов qa_database.json.

Метод analyzeImage принимает файл изображения и возвращает результат анализа. Сначала изображение декодируется и масштабируется до размера 224 на 224 пикселя. Затем пиксели нормализуются к диапазону от 0 до 1. Подготовленный тензор подается на вход TFLite интерпретатору, который выполняет инференс и возвращает массив из 38 значений, представляющих вероятности каждого класса.

Результаты сортируются по вероятности, и формируется ответ. Если класс с максимальной вероятностью содержит слово healthy, значит растение здорово. В противном случае выводятся топ-3 наиболее вероятных заболевания с их русскими названиями и рекомендациями по лечению.

Если TFLite модель по какой-либо причине не загрузилась, используется fallback метод анализа по цветам. Сервис переключается на примитивный анализ, основанный на соотношениях цветов пикселей, что, конечно, менее точно, но лучше, чем полный сбой. Если количество зеленых пикселей более 80 %, то система предполагает, что оно здорово, если более 40 % желтого, то пользователь получит сообщение о признаке пожелтения листьев и базовые рекомендации по уходу, если более 40 % коричневых пикселей, то система оповещает об обнаружении сухих участков или коричневых пятен, которые могут быть признаком грибкового заболевания, если обнаружено более 40 % белого цвета, то это признак мучнистой росы. Если определение по пикселям по каким-либо причинам не получилось, то ассистент попросит сделать фото еще раз крупным планом

Метод sendMessage принимает текстовый вопрос и возвращает ответ. Он перебирает все вопросы в базе знаний и ищет тот, который содержит максимальное количество общих слов с запросом пользователя. Если подходящий вопрос найден, возвращается соответствующий ответ. Если пользователь ввел всего одно слово, то выдается самый первый ответ, содержащий это слово. Первый ответ для каждого растения — это общие рекомендации по уходу. В противном случае выводится сообщение, что ответ не найден, с предложением переформулировать вопрос.

Файл plant_disease_metadata.json содержит всю информацию, необходимую для интерпретации результатов классификации. Поле class_names представляет собой словарь, где ключом является индекс класса от 0 до 37 (поскольку язык обучения модели — Python, в нем нумерация начинается с нуля), а значением — английское название класса в формате «Растение_Болезнь». Поле translations содержит переводы английских названий на русский. Поле treatments содержит рекомендации по лечению для различных ключевых слов. Сервис ищет ключевые слова в английском названии болезни и подбирает соответствующую рекомендацию.

Заключение

В ходе работы спроектировано и разработано мобильное приложение Planty для ухода за комнатными растениями. Реализованы следующие функции: ведение коллекции растений с графиком ухода, ИИ-помощник, каталог статей и список желаний.

Приложение не имеет бесплатных русскоязычных аналогов и позволит пользователям повысить выживаемость растений за счет персонализированного графика ухода, своевременных напоминаний и оперативной диагностики болезней по фотографии.

Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт и справку о публикации.
Опубликовать статью
Молодой учёный №25 (628) июнь 2026 г.
Скачать часть журнала с этой статьей(стр. 22-24):
Часть 1 (стр. 1-67)
Расположение в файле:
стр. 1стр. 22-24стр. 67

Молодой учёный