Описание разрабатываемого приложения


Назначение приложения

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

Целевая аудитория

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

Функции разрабатывамеой системы

  1. Выбирать изображение для анализа;
  2. Производить анализ полученного изображения (классифицировать заболевание) при помощи технологий искусственного интеллекта;
  3. Сохранять историю последних проведенных анализов;
  4. Содержать каталог с перечнем всех заболеваний в виде набора заметок, каждая из которых содержит информацию о заболевании и способах излечения от него;
  5. Отмечать в каталоге заболевания, которые наиболее интересны пользователю (отображать соотвествующие пометки в каталоге).

В целом, сценарий использования системы можно представить на диаграмме активности:

Выбор типа приложения


Контекст

Приложение предназначено для дачников и садоводов, которым требуется определять заболевания растений по фотографии удобным способом на своем участке. Такие участки зачастую находятся за пределами развитой инфраструктуры городской среды, где могут наблюдаться проблемы с доступом к Интернету. Исследование Высшей Школы Экономики показало, что полностью удовлетворенны качеством интернет-соединения только 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].

Последствия

  • ✅ Возможность делать снимки растений и получать диагностику прямо на месте;
  • ✅ Возможность работы приложения в оффлайн режиме;
  • ✅ Приложение можно легко интегрировать с камерой и локальными ресурсами мобильного устройства;
  • ❌ Требуется предварительная установка приложения;
  • ❌ Обновление приложения будет требовать загрузки новой версии.

Источники

  1. issek.hse.ru - Девять из десяти российских семей подключены к интернету [Электронный ресурс]. - URL: https://issek.hse.ru/news/1038792738.html?ysclid=mgva0s69lp904512695
  2. developer.android.com - Camera API [Электронный ресурс]. - URL: https://developer.android.com/media/camera/camera-deprecated/camera-api
  3. developer.apple.com - AVFoundation [Электронный ресурс]. - URL: https://developer.apple.com/documentation/avfoundation
  4. www.w3.org - Media Capture and Streams [Электронный ресурс]. - URL: https://www.w3.org/TR/mediacapture-streams/
  5. 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
  6. 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] при нестаблином подключении к сети или его отсутсвии;
  • У команды разработчиков есть экспертиза в области реализации мобильных приложений со встроенной ИИ-моделью.

Последствия

  • ✅ Доступность функций приложения в любое время в любом месте;
  • ✅ Отсутсвие расходов на сервера и их обслуживание;
  • ❌ На менее производительных мобильных устройствах обработка изображений может занимать больше времени.

Источники

  1. issek.hse.ru - Девять из десяти российских семей подключены к интернету [Электронный ресурс]. - URL: https://issek.hse.ru/news/1038792738.html?ysclid=mgva0s69lp904512695
  2. 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%) приложение будет не доступно.

Источники

  1. statcounter - Mobile Operating System Market Share Russian Federation [Электронный ресурс]. Режим доступа: https://gs.statcounter.com/os-market-share/mobile/russian-federation (Дата обращения: 01.10.2025);
  2. 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;
  3. 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 приведены на рисунке:

Последствия

  • ✅ Точность распознавания образов будет достаточно высокой;
  • ✅ Модель будет занимать приемлемый размер по памяти на устройстве;
  • ❌ Более сложная архитектура модели и, как следствие, процесс обучения несколько сложнее.

Источники

  1. 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/
  2. 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
  3. Goodfellow I., Bengio Y., Courville A. Deep learning. - Cambridge, MA: MIT Press, 2016. - 775 с. - ISBN 0262035618. - URL: https://www.deeplearningbook.org/

Итоговый вывод в ходе принятых решений


В результате, рассмотрения вопросов, относящихся к вопросам архитектуры будущего приложени,были сделаны следующие выводы:

  1. Система распознавания заболеваний дачных растений по фотографии будет выполнена в виде мобильного Android-приложения с использованием нативного фреймворка Jetpack Compose на языке Kotlin. Это решение обеспечит эффективное использование ресурсов устройства и доступность для более 60% российских пользователей, несмотря на отсутствие поддержки iOS;
  2. Выбор в пользу монолитной архитектуры позволит обеспечить автономность приложения, повысив доступность диагностики в "полевых условиях". Локальное размещение AI-модели и базы данных минимизирует зависимость от интернет-соединения, что устраняет денежные расходы на приобретение и поддержание внешних серверов, а также решает проблему с нестабильным Интернет-соединением в сельской местности;
  3. Основу интеллектуальной диагностики составит сверточная нейронная сеть (CNN), которая обеспечит высокую точность распознавания изображений при приемлемом использовании памяти устройства, несмотря на некоторую сложность архитектуры и обучения модели.