Машинное обучение для управления природными ресурсами (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.

Другие работы
Разработка мобильного приложения для «Подели»
Усиление команды «ТехноНИКОЛЬ»: разработка системы управления грузоперевозками
Автоматизация финансовой аналитики: модернизация сервиса
Развитие приложения для «Асконы»
Разработка мобильного приложения для HeadHunter
Создание корпоративных продуктов для «Татнефти»
ВкусВилл
Разработка мобильного приложения для «Подели»
Усиление команды «ТехноНИКОЛЬ»: разработка системы управления грузоперевозками
Автоматизация финансовой аналитики: модернизация сервиса
Развитие приложения для «Асконы»
Разработка мобильного приложения для HeadHunter
Создание корпоративных продуктов для «Татнефти»
ВкусВилл
Оставьте заявку на проект
Оставьте контакты, чтобы обсудить проект и условия сотрудничества, или позвоните: 8 800 200-99-24
Прикрепить файл до 10Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Написать нам
Оставьте контакты, чтобы обсудить проект и условия
сотрудничества, или позвоните: 8 800 200-99-24
Прикрепить файл до 10Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Оставьте свои контакты
SimbirSoft регулярно расширяет штат сотрудников.
Отправьте контакты, чтобы обсудить условия сотрудничества.
Прикрепить резюме, до 10 Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Написать нам
Расскажите, какие задачи сейчас на вашем проекте.
Проконсультируем и предложим подходящих специалистов, а также сориентируем по ставкам на аутстаф.
Направление
Количество специалистов
Middle
TeamLead
Senior
TechLead
Прикрепить файл до 10Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Экспресс-консультация
Заполните все поля формы.
Эксперт свяжется с вами в течение рабочего дня.
Тематика
Прикрепить файл до 10Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.
Порекомендуйте друга — получите вознаграждение!
  • Middle Fullstack QA Engineer (Mobile)
  • Python-paзработчик
  • Java-разработчик
  • Angular-разработчик
  • PHP-разработчик
  • Системный аналитик
  • QA Engineer Fullstack (Python)
  • C#-разработчик
  • Инженер по нагрузочному тестированию
  • Golang-разработчик
  • DevOps-инженер
  • 1С-аналитик
  • 1C QA Engineer
  • Юрист
  • Разработчик на C++
  • UI/UX дизайнер
  • 1С-разработчик
  • DWH-разработчик
  • Менеджер по сопровождению бизнес-процессов
  • SDET (Python)
  • Маркетолог
  • Архитектор C#
  • Менеджер по продажам IT SaaS
  • QA Engineer Fullstack (Java/Kotlin)
  • C# /.NET-разработчик
  • Бизнес-аналитик
  • Аналитик DWH
  • Team Lead Java
  • Менеджер проектов 1С
  • Руководитель отдела Backend
  • Руководитель отдела Frontend
  • SDET (Java)
  • Менеджер по продажам IT продуктов на иностранное направление
  • Менеджер по продажам IT продуктов
  • Team Lead Python
  • SAP-аналитик
  • Middle Golang разработчик (Teamlead)
  • SDET (JavaScript)
  • Fullstack-аналитик
  • SDET Python (мобильные приложения)
Прикрепить резюме, до 10Мб
Файл выбран
Можно прикрепить один файл в формате: txt, doc, docx, odt, xls, xlsx, pdf, jpg, jpeg, png.

Размер файла до 10 Мб.