Описание разрабатываемого приложения
Назначение приложения
Приложение по определению заболеваний дачных растений по фотографии предназначено для анализа изображений растений на факт наличия заболения и для предоставления рекомендаций по лечению растения.
Целевая аудитория
Приложение предназначено для людей-садоводов, имеющих свой собственный придворовой участок, дачный участок или живущих в сельской местности.
Функции разрабатывамеой системы
- Выбирать изображение для анализа;
- Производить анализ полученного изображения (классифицировать заболевание) при помощи технологий искусственного интеллекта;
- Сохранять историю последних проведенных анализов;
- Содержать каталог с перечнем всех заболеваний в виде набора заметок, каждая из которых содержит информацию о заболевании и способах излечения от него;
- Отмечать в каталоге заболевания, которые наиболее интересны пользователю (отображать соотвествующие пометки в каталоге).
В целом, сценарий использования системы можно представить на диаграмме активности:
Выбор типа приложения
Контекст
Приложение предназначено для дачников и садоводов, которым требуется определять заболевания растений по фотографии удобным способом на своем участке. Такие участки зачастую находятся за пределами развитой инфраструктуры городской среды, где могут наблюдаться проблемы с доступом к Интернету. Исследование Высшей Школы Экономики показало, что полностью удовлетворенны качеством интернет-соединения только 39% сельских и 59% городских домохозяйств [1].
Рассматриваемые варианты
- Web-приложение;
- Мобильное приложение;
- Desktop-приложение.
Решение
Мобильное приложение
Обоснование
- Мобильное приложение позволяет нативно использовать функции телефона, в частности, доступ к камере (Camera API для Android [2] и AVFoundation для iOS [3]), благодаря чему снимок можно сделать внутри приложения. В свою очередь, web‑приложения, использующие для доступа к функциях устройства (камере) Media Capture and Streams API [4], имеют ограничения и вариации использования в зависимости от браузера, а также предъявляют повышенные требования к безопасности (например, обязательная настройка HTTPS протокла), что усложняет разработку;
- Web-приложение подразумевает взаимодействие с удаленными серверами (которые также нужно приобретать и обслуживать) и общение по сети, с чем могут возникнуть трудности в отдаленных от городской инфраструктры местностях. В свою очередь, мобильное и desktop- приложения могут быть организованы без необходимости взаимодействия с сетью [5];
- Desktop-приложение требует от пользователей предварительной загрузки изображений через внешние устройства. Это усложняет взаимодействие человека с системой, увеличивая количество шагов. Такой подход не соответсвует принципам UX, предполагающим упрощение пользовательских задач и снижение когнитивной нагрузки [6].
Последствия
- ✅ Возможность делать снимки растений и получать диагностику прямо на месте;
- ✅ Возможность работы приложения в оффлайн режиме;
- ✅ Приложение можно легко интегрировать с камерой и локальными ресурсами мобильного устройства;
- ❌ Требуется предварительная установка приложения;
- ❌ Обновление приложения будет требовать загрузки новой версии.
Источники
- issek.hse.ru - Девять из десяти российских семей подключены к интернету [Электронный ресурс]. - URL: https://issek.hse.ru/news/1038792738.html?ysclid=mgva0s69lp904512695
- developer.android.com - Camera API [Электронный ресурс]. - URL: https://developer.android.com/media/camera/camera-deprecated/camera-api
- developer.apple.com - AVFoundation [Электронный ресурс]. - URL: https://developer.apple.com/documentation/avfoundation
- www.w3.org - Media Capture and Streams [Электронный ресурс]. - URL: https://www.w3.org/TR/mediacapture-streams/
- Pothineni, S. H. Offline-First Mobile Architecture: Enhancing Usability and Resilience in Mobile Systems // Journal of Artificial Intelligence General Science (JAIGS) №7(01), 2024. P. 320–326. ISSN: 3006-4023. DOI: 10.60087/jaigs.v7i01.387
- www.nngroup.com - 10 Usability Heuristics for User Interface Design [Электронный ресурс]. - URL: https://www.nngroup.com/articles/ten-usability-heuristics/
Выбор архитектуры приложения
Контекст
Для работы приложения необходимо обеспечить обработку и диагностику изображений дачных растений. Выполнить это можно на самом устройстве или делегировать задачу удаленному серверу, содержание и поддержка которого требует дополнительных усилий и вложений. Предполагается, что использование приложения будет производиться преимущественно в пригородных или сельских местностях с нестабильным или отсутсвующим интернетом. Повторим, что согласно исследованию ВШЭ полностью удовлетворенны качеством интернет-соединения только 39% сельских и 59% городских домохозяйств [1].
Рассматриваемые варианты
- Монолитное приложение, в котором AI-модель и база данных являются частью одного приложения;
- Клиент-серверное приложение, в которой мобильное приложение обращается к удаленным серверам с AI-моделью и базой данных.
Диаграммы компонентов, отражающие варианты расположение компонентов системы для сравниваемых архитектур приведены на рисунке:
Решение
Монолитное приложение, в котором AI-модель и база данных являются частью одного приложения
Обоснование
- Не требуется приобретать и поддерживать дополнительные сервера, что снижает денежные расходы;
- Монолитное приложение с локальной базой данных и AI-моделью в значительной мере снижает необходимость взаимодействия с сетью, что повышает доступность использования приложения [2] при нестаблином подключении к сети или его отсутсвии;
- У команды разработчиков есть экспертиза в области реализации мобильных приложений со встроенной ИИ-моделью.
Последствия
- ✅ Доступность функций приложения в любое время в любом месте;
- ✅ Отсутсвие расходов на сервера и их обслуживание;
- ❌ На менее производительных мобильных устройствах обработка изображений может занимать больше времени.
Источники
- issek.hse.ru - Девять из десяти российских семей подключены к интернету [Электронный ресурс]. - URL: https://issek.hse.ru/news/1038792738.html?ysclid=mgva0s69lp904512695
- Pothineni, S. H. Offline-First Mobile Architecture: Enhancing Usability and Resilience in Mobile Systems // Journal of Artificial Intelligence General Science (JAIGS) №7(01), 2024. P. 320–326. ISSN: 3006-4023. DOI: 10.60087/jaigs.v7i01.387
Выбор средства разработки приложения
Контекст
Проект ориентирован на создание работающего оффлайн мобильного приложения с обработкой фото нейросетевой моделью. Модель будет являться составной частью самого приложения. В России пользовтелей Android - 64%, iOS - 35% [1]. Также стоит отметить факт отсутсвия у разработчиков устройств на базе iOS.
Рассматриваемые варианты
- Jetpack Compose - фреймворк для Android на базе языка Kotlin;
- SwiftUI - фреймворк от Apple на базe языка Swift для создания пользовательских интерфейсов на всех платформах Apple;
- Flutter - кроссплатформенный фреймворк на базе языка Dart;
- React Native - кроссплатформенный фреймворк для создания мобильных приложений на JavaScript и React.
Решение
Jetpack Compose
Обоснование
- Команда разработчиков не имеет в начилии ни одного устройства на базе iOS, в связи с чем публикация приложения на данной платформе не представляется возможной. Средств на приобретение устройств Apple также нет;
- Команды разработчиков не располагает экспертизой по работе с языком Swift;
- Нативные решения (Android с Jetpack compose, iOS c SwiftUi) в среднем меньше нагружают процессор и меньше расходуют память мобильных устрйоств, чем кроссплатформенные решения [2] (Flutter [3] и React Native [2]). Это фактор важен, так как работа нейросетевой модели будет осуществляться на самом устройстве.
Последствия
- ✅ Приложение будет эффективнее использовать ресурсы мобильного устройста;
- ✅ Приложением смогут пользоваться более 60% российских пользователей;
- ❌ Для пользователей с iOS (35%) приложение будет не доступно.
Источники
- statcounter - Mobile Operating System Market Share Russian Federation [Электронный ресурс]. Режим доступа: https://gs.statcounter.com/os-market-share/mobile/russian-federation (Дата обращения: 01.10.2025);
- Thomas Dorfer, Lukas Demetz, Stefan Huber, Impact of mobile cross-platform development on CPU, memory and battery of mobile devices when using common mobile app features // Procedia Computer Science №175, 2020. P. 189-196. DOI: 10.1016/j.procs.2020.07.029;
- Hina Hussain, Comparative Study of Android Native and Flutter App Development / Hina Hussain, Kamran Khan, Faiza Farooqui, Dr. Qasim Ali Arain, Dr. Isma Farah Siddiqui // KSII The 13th International Conference on Internet (ICONI), Jeju, South Korea, 2021. P. 99-101.
Выбор технологии искусственного интеллекта
Контекст
Изображение представляет собой неструктурированный набор пикселей, для которых трудно задать логические признаки вручную. Задача определения заболевания дачных растений по фото относится к категории задач распознавания (классификация).
Рассматриваемые варианты
- Система, основанная на знаниях;
- Нейросетевая система, основанная на многослойном перцептроне (MLP);
- Нейросетевая система, основанная на сверточной нейронной сети (CNN).
Решение
Нейросетевая система, основанная на сверточной нейронной сети (CNN).
Обоснование
- Изоражение как неструктурированный набор пикселей едва поддается описанию с помощью правил, характерных для систем, основанных на знаниях;
- Модели на основе многослойного перцептрона чувствительны к сдвигам, масштабированию и другим геометрическим искажениям изображения, так как не учитывают пространственные зависимости между пикселями [1];
- Модели, основанные на сверточной нейросети, в целом демонстрируют лучшие результаты в задачач распознавания, чем многослойные перцептроны [2];
- Свёрточные слои используют разделяемые веса (sparse weights) [3], благодаря чему количество параметров и занимаемая память значительно меньше [1], чем у MLP при работе с изображениями большого размера.
Сравнение числа весов, исходя из архитектур MLP и CNN приведены на рисунке:
Последствия
- ✅ Точность распознавания образов будет достаточно высокой;
- ✅ Модель будет занимать приемлемый размер по памяти на устройстве;
- ❌ Более сложная архитектура модели и, как следствие, процесс обучения несколько сложнее.
Источники
- Aston Z., Zhang A., Lipton Z. C., Smola A. J. Dive into learning. 1-е изд. - Cambridge: Cambridge University Press, 2023. - 574 с. - ISBN 1009389432. - URL: https://d2l.ai/
- Maryna Dovbnych, Małgorzata Plechawska–Wójcik, A comparison of conventional and deep learning methods of image classification // Journal of Computer Sciences Institute №21, 2021. P. 303-308. - DOI: 10.35784/jcsi.2727
- Goodfellow I., Bengio Y., Courville A. Deep learning. - Cambridge, MA: MIT Press, 2016. - 775 с. - ISBN 0262035618. - URL: https://www.deeplearningbook.org/
Итоговый вывод в ходе принятых решений
В результате, рассмотрения вопросов, относящихся к вопросам архитектуры будущего приложени,были сделаны следующие выводы:
- Система распознавания заболеваний дачных растений по фотографии будет выполнена в виде мобильного Android-приложения с использованием нативного фреймворка Jetpack Compose на языке Kotlin. Это решение обеспечит эффективное использование ресурсов устройства и доступность для более 60% российских пользователей, несмотря на отсутствие поддержки iOS;
- Выбор в пользу монолитной архитектуры позволит обеспечить автономность приложения, повысив доступность диагностики в "полевых условиях". Локальное размещение AI-модели и базы данных минимизирует зависимость от интернет-соединения, что устраняет денежные расходы на приобретение и поддержание внешних серверов, а также решает проблему с нестабильным Интернет-соединением в сельской местности;
- Основу интеллектуальной диагностики составит сверточная нейронная сеть (CNN), которая обеспечит высокую точность распознавания изображений при приемлемом использовании памяти устройства, несмотря на некоторую сложность архитектуры и обучения модели.