Машинное обучение для управления природными ресурсами (MVP)

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

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

Клиент

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

Задача

Создать с нуля мобильное приложение на Android в рамках единой системы, которая также включает базу данных и web-сервер с интерфейсной частью. Перед нами стояла задача спроектировать основные бизнес-процессы на лесопроизводстве, а также разработать и внедрить в приложение алгоритмы машинного обучения. Их цель  — учёт стоячего и спиленного леса («пиловочника») с измерением диаметра стволов деревьев по фото с точностью до сантиметра.

В рамках проекта было необходимо реализовать:

  • MVP мобильного приложения;
  • бэкенд для мобильного приложения;
  • синхронизацию данных между бэкендом и мобильным приложением;
  • распознавание диаметра деревьев и пиловочника с помощью машинного обучения;
  • чтение и запись RFID-меток, а также взаимодействие с RFID-сканером.
3,5
месяца разработки
9
специалистов в команде
100+
тест-кейсов разработано и успешно проверено

Что сделали

Этап аналитики занял 2 месяца, в течение которых мы обсудили с клиентом необходимые требования, составили техническое задание, подготовили прототипы будущего сервиса, а также исследовали возможность внедрения в мобильное приложение алгоритмов машинного обучения.

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

После этого мы перешли к стадии разработки: в соответствии с ТЗ реализовали основные бизнес-процессы в приложении, интегрировали процесс чтения и записи c RFID-меток в приложение, реализовали API для передачи данных между приложением и системой.

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

В основу первого легли алгоритмы машинного зрения: выделение границ объектов и объединение их в контуры с дальнейшим анализом и фильтрацией этих контуров. Этот подход показал низкую эффективность из-за большого количества деталей на фото и сложности их анализа. Поэтому мы решили дополнить этот способ нейросетевым детектором границ. Он позволил повысить точность выделения границ и качество работы алгоритма в целом, однако мы всё ещё встречали трудности в некоторых случаях взаимного расположения объектов.

В ходе работы над проектом команда выдвинула гипотезу, что наиболее качественный результат сможет обеспечить полностью нейросетевой алгоритм, основанный на семантической сегментации объектов на фото. Однако его использование внушало два опасения. Во-первых, имеющихся у нас фото могло не хватить для качественного обучения нейросети. Во-вторых, был риск недостаточной скорости работы нейронной сети при высоком энергопотреблении самого устройства. Тем не менее, опасения не оправдались: эксперименты показали, что модель обучилась на имеющихся данных качественно, а потребление энергии на устройстве не превысило норму.

В команде работали 1 аналитик, 4 backend-разработчика (включая 2-х разработчиков Machine Learning), 2 Android-разработчика, 1 QA, 1 PM

Особенности работы над проектом

Наибольшим вызовом для команды стала интеграция с RFID-сканером, в документации к SDK которого не было необходимого описания технических нюансов. Мы успешно справились с задачей благодаря опытным специалистам: знание hardware-технологий помогло им быстро разобраться в особенностях считывания меток.

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

Результаты

Тесная коммуникация с командой клиента и налаженные внутренние процессы позволили нам завершить проект в срок. Клиент получил MVP мобильного приложения, аналогов которому на текущий момент нет на российском рынке, и приступил к проработке дальнейших задач.

Технологии

Kotlin, Kotlin Coroutines, Android SDK, Jetpack, Retrofit, OkHttp, Gson, Moshi, Room, SQLite, UHF RFID Reader SDK, Python, Django, PostgreSQL, OpenCV, PyTorch.

Другие работы
Оставьте заявку на проект
Оставьте контакты, чтобы обсудить проект и условия сотрудничества, или позвоните: 8 800 200-99-24
Написать нам
Оставьте контакты, чтобы обсудить проект и условия
сотрудничества, или позвоните: 8 800 200-99-24
Оставьте свои контакты
SimbirSoft регулярно расширяет штат сотрудников.
Отправьте контакты, чтобы обсудить условия сотрудничества.
Порекомендуйте друга — получите вознаграждение!
  • Python-разработчик
  • Java-разработчик
  • Верстальщик
  • Full-stack developer (Node.js-React)
  • Системный аналитик
  • iOS-разработчик
  • Android-разработчик
  • DevOps Engineer
  • Менеджер по привлечению клиентов
  • Консультант 1С
  • Data Engineer
  • C++-разработчик
  • Middle Mobile QA Engineer
  • 1С-разработчик
  • DBA-разработчик
  • Архитектор Java
  • Архитектор 1С
  • SDET
Прикрепить резюме, до 10Мб
Файл выбран