Привет, я Ярослав и хочу рассказать, как производили подсчет объема древесины с помощью Computer Vision)
Отвечу почему мужик с линейкой не подойдет)
Задача
Приезжает вот такой вот Камаз с кучей древесины и ее объем надо измерить:
Люди постоянно ошибались.
"Так можно взвесить и все"
Нельзя, так как есть дождь, снег, солярка, диета водителя.
А еще из задач
- Оценка качества баланса.
- Оценка сортности.
- Выявление неправильной укладки (расстояние между пачками).
Термины (да, тут непросто)
КПД (коэффициент полнодревесности) — коэффициент пересчёта в нет объём (из объёма брутто в объём нетто).
ЦБК — целлюлозно-бумажный комбинат.
Баланс — вид круглой древесины.
Пачка — сложенная группа бревен в рамках лесовоза.
Штабель — группа бревен , сложенная на земле.
Раскатка — процесс разгрузки лесовоза с дальнейшим проведением замеров размеров и объёмов каждого бревна.
Как все происходит
As is
Дополнительные вводные:
- 100-150 лесовозов в день (а еще есть жд, кораблики).
- 1млрд+ ₽/год — объем потребления древесины.
- 10-15% — оценка убытков от неправильной оценки.
To be
А вот как оно все разделяется
Что влияет на КПД:
- сорт;
- диаметр;
- длина;
- качество укладки;
- снег;
- сучки.
И вот что мы придумали с помощью Computer Vision
рамка с камерами:
а вот так с торца:
Далее надо посчитать объем для каждой пачки, для этого:
- разделить пачки;
- определить сорт;
- диаметры;
- длины;
- наличие льда и т.д.
Как решаем — классические ComputerVision и DL
Все время боремся и обучаем противодействовать со снегом, днем, ночью)
Как ищем КПД:
ML (инфа по длине, сорту, диаметру) → Кпд
Добавляем CV фичи (embedding-и, определенный сорт, детекция льда)
Результаты
100% точность определения сорта древесины
99%+ точность разделения на пачки
98%+ определение КПД vs. оператор
90%+ определение КПД vs. раскатка
Я создал канал, где описываю, как мы делаем такие проекты — @r77_ai приходите, там много промышленного и не только)
Как вы определяете размеры, ширину и высоту?
Спасибо за вопрос!
Общие размеры пачки с помощью сканеров (лидары), которые уже установлены.
Также для ML моделей мы отдельно подаем размеры (вроде диаметров), они идут от камер с нормировкой на реальные физические размеры.
А на каком стеке делается такой анализ? Можно название библиотек.
Все по классике: python stack - PyTorch, OpenCV, FastAPI, Sklearn/Catboost