967.03K

Bozon_AI_sort (3)

1.

РОБОЗОН · ТРЕК 3
СТЕРЕОЗРЕНИЕ ИЗМЕРЯЕТ КАЖДЫЙ ТОВАР
НА ЛЕНТЕ И РАЗВОДИТ ПОТОК
ПО КАТЕГОРИЯМ B / C / D
Bozon AI sort · команда Bozon
BOZON

2.

Общая концепция программно-аппаратного комплекса
Задача
Идея
Измерительный контур
Поток разнородных товаров нужно разводить
на три маршрута: B — годный, C — негабарит,
D — круглый.
Измерять геометрию, а не распознавать товар:
класс-агностическая сегментация и
стереооблако точек дают размеры и круглость
любого объекта.
Стереопара над лентой → YOLO-сегментация
→ облако точек StereoSGBM → размеры,
круглость, категория.
Исполнительный контур
Проверка
Отказоустойчивость
Трекинг объекта по кадрам, планировщик:
категория → команда поворотной заслонке в
рассчитанный момент прибытия.
2200 отложенных синтетических сцен с ground
truth из STL + сквозной живой контур в
симуляторе Webots.
Ошибка зрения не может закрыть заслонку:
невалидное решение отбрасывается, объект
уходит прямым каналом.
Две заслонки дают три маршрута.
Юнит-тесты трекера и планировщика.
Мелочь ниже 10 мм отсекает физический
просвет.
Какой именно товар едет по ленте — заранее
неизвестно.
385 мс на товар.

3.

Архитектура решения
Синхронные камеры (стереопара 150 мм над лентой)

Сегментация YOLO11n-seg — маска «объект — лента», без знания типа товара

StereoSGBM → облако точек двух камер, фильтры ленты и выбросов

Габариты (ориентированный прямоугольник + перцентиль высоты) и круглость K

Категория: размеры → C · K ≥ 0.74 → D · иначе B

Планировщик: момент прибытия к заслонке, приоритет прямого канала

Команда приводу: OPEN_BOTH / CLOSE_BALLS / CLOSE_UNSIZED
Два контура, один контракт
Измерительный и исполнительный контуры
разделены интерфейсом «категория + момент
времени».
Оффлайн-оценка и живой контур симуляции
используют одни и те же алгоритмические
пакеты и один конфиг порогов — расхождения
«что меряли / что едет» нет.
Алгоритм зрения заменяем без изменения
механики; сервопривод заменяем без
переписывания классификации.
Дежурное состояние системы — обе заслонки
убраны: любой сбой оставляет товар в
безопасном прямом канале.

4.

Классификация товаров по категориям B, C, D
B — годный некруглый
C — негабарит
D — круглый
Все размеры внутри лимитов 10×10×10 …
450×320×320 мм, объект не признан
круглым.
Хотя бы один из отсортированных размеров
вне лимитов.
Размеры в лимитах и коэффициент
круглости K = r_in / r_out ≥ порога хотя бы в
одной проекции.
Маршрут: вторая (нижняя по потоку)
заслонка.
Примеры каталога: короб 300×200×200,
ланчбокс, моющее средство, цилиндр
(вытянутое круглое сечение — намеренно
B).
B — fallback-ветка правила, поэтому
границы решений смещены от B (см. слайд
про ошибки).
Проверяется первым: слишком большой
круглый объект — всё равно C.
Маршрут: обе заслонки убраны, прямой
канал.
Примеры: короб 400×400×300 (400 > 320),
пуфик (489 > 450), ручка (9 < 10).
Порог инференса 0.74 против 0.8 в правиле
разметки — калиброван по данным.
Маршрут: первая (верхняя по потоку)
заслонка.
Примеры: тарелка, бутылка, мешок, шлем.

5.

Работа с STL-моделями, сенсорами, алгоритмами
определения
STL → ground truth
Сенсоры
Данные и модель
Каталог из 11 объектов (4 B / 3 C / 4 D).
Основной риг: стереопара RGB над лентой,
база 150 мм, разрешение 1024×1024.
Blender-синтетика с рандомизацией позы,
грани укладки, камеры, материала и света:
1320 обучающих + 330 валидационных
сцен.
Из каждой STL-модели считаются:
габаритный бокс → размеры,
ортографические силуэты → K по трём
проекциям, категория по правилу 0.8 /
450×320×320.
Разметка не зависит от инференсных
порогов.
Запасной риг: верхняя + боковая камеры.
Для физического макета выбраны камеры с
глобальным затвором и синхронизацией
PTP (LUCID Phoenix, GigE Vision).
Плюс реальные кадры Webots: 1118 + 180.
YOLO11n-seg, один класс: mAP50 маски 0.97
на отложенных кадрах Webots.

6.

Основной алгоритм: стереопара и облако точек (baseline2)
Синхронная пара кадров (левая + правая камеры)

YOLO-сегментация — маска объекта на каждом кадре

StereoSGBM: окно диспаратности по физике рига, ROI по маске, два потока

Обратная проекция в 3D, слияние облаков, срез 5 мм над лентой

Размеры: прямоугольник футпринта + робастный перцентиль высоты

Круглость: K контура + вето по 3D-кривизне поверхности

Категория B / C / D по калиброванным порогам
Почему он основной
Точность важнее скорости: MAE размеров 3.3 мм
против 5.8 мм у запасного RGB-варианта; в ±10
мм попадает 91.8% против 50.6%.
Реальный StereoSGBM, без чтения Z-буфера
симулятора — у настоящей камеры его нет.
После оптимизации стереопрофиля (окно
диспаратности, ROI, параллельный матчер) — 385
мс на товар, в 3.1 раза быстрее, при той же
точности.
Вето по 3D-кривизне ловит круглое-компактное
в неудачной позе (шлем на боку) и держит
вытянутые круглые тела (цилиндр) вне D.
Запасной вариант «верх + бок» (~205 мс)
сохранён как более простой fallback без
стереосопоставления.

7.

Исполнительный механизм и маршрутизация товара
Две поворотные заслонки — три
маршрута
Схема потока (лента 1 м/с)
Заслонка ~1 м на вертикальной оси, рабочий ход 36°
за 200 мс; S-образный профиль движения, упругая
кромка, механический упор.
Привод: серводвигатель Delta 1 кВт + планетарный
редуктор 10:1 (расчёт моментов — в отчёте).
Команды: CLOSE_BALLS (D), CLOSE_UNSIZED (B),
OPEN_BOTH (C, дежурное).
Зона измерения
Момент срабатывания планируется по времени
прибытия; на стенде — по энкодеру ленты.
Датчики конечных положений подтверждают, что
заслонка встала до прихода товара.
Обе заслонки одновременно не закрываются никогда;
при конфликте приоритет у прямого канала C.
Заслонка 1 → D круглые
→ движение ленты →
камеры,
классификация
Заслонка 2 → B годные
Товар без валидного решения и мелочь ниже просвета 10 мм остаются в прямом канале C —
безопасный маршрут по умолчанию.

8.

Компоновка рабочей зоны и взаимодействие с A, B, C, D
Зоны системы
A — подача: товары поступают на ленту с
шагом, достаточным для цикла заслонки.
Измерительная зона — стереопара над
лентой, решение за один проход.
Кадр Webots: общий вид конвейера
(добавит коллега)
Кадр Webots: измерительная зона, вид камер
(добавит коллега)
Кадр Webots: срабатывание заслонки D
(добавит коллега)
Кадр Webots: срабатывание заслонки B
(добавит коллега)
Кадр Webots: прямой проход C
(добавит коллега)
Фото/рендер физического макета
(добавит коллега)
D — карман правой заслонки : круглые.
B — карман левой заслонки: годные
некруглые.
C — прямой канал в конце ленты: негабарит
и всё сомнительное.
Скорость ленты 1 м/с; запас времени на ход
заслонки — 200 мс + резерв.

9.

Сценарии проверки и результаты
Протокол
Основной алгоритм (стерео)
Запасной алгоритм (верх + бок)
Отложенная тестовая выборка: 2200 сцен (11
объектов × 200 случайных
поз/материалов/света).
Точность категории 99.23%.
Точность категории 98.86%, MAE 5.82 мм.
MAE размеров 3.34 мм; ±10 мм — 91.8%
образцов.
Precision класса B 0.992 — политика «чужое в
B не пускать» выдержана обоими.
Не участвовала ни в обучении сегментации,
ни в калибровке порогов.
Precision / recall класса D — 0.995 / 0.995.
Скорость
Живой контур
Сегментация
385 мс на товар у основного (после
оптимизации стерео в 3.1 раза), ~205 мс у
запасного.
Сквозной прогон в Webots: камеры →
сегментация → категория → команда заслонке.
mAP50 маски 0.97, mAP50-95 0.90 на
отложенных кадрах Webots.
Юнит-тесты трекера объектов и
планировщика: 8/8, включая два объекта без
пустого кадра между ними.
Один класс — работает на товарах, которых не
было в каталоге.
Замер: i5-10400F + RTX 3060, 100 сэмплов.

10.

Обработка ошибок, пограничных и нештатных ситуаций
Калиброванные границы
решений
B — fallback-ветка правила, поэтому границы
смещены от B: precision B важнее recall.
Круглость: порог 0.74 против 0.8 в разметке —
колено свипа на 4400 образцах.
Габарит: маржа 10 мм к верхним лимитам
(~3× MAE) — сомнительное уходит в C.
Снизу маржи нет намеренно: границу 9 мм
против лимита 10 мм закрывает железо, а не
оптика.
Защиты живого контура
Физика страхует софт
Один трек — одно решение: повторная
сортировка объекта исключена.
Просвет 10 мм под кромкой: мелочь
проходит под заслонкой даже при ошибке
классификации.
Невалидный результат (в т.ч. пустая маска) →
журнал, команды нет, товар идёт прямым
каналом.
Неполный набор кадров пропускается;
разрыв связи → переподключение со
сбросом трекера и планировщика.
Вето круглости fail-closed: неопределённость
никогда не расширяет класс D.
Обе заслонки никогда не закрыты
одновременно; конфликт решается в пользу
прямого канала C.
Датчик конечного положения: нет
подтверждения — товар не сортируется по
расчётному времени вслепую.

11.

Ограничения решения и направления доработки
ОГРАНИЧЕНИЯ
ДОРАБОТКИ
Все метрики получены на синтетике и кадрах симулятора — это не
характеристика натурного оборудования.
Явный статус «объект не найден» и порог уверенности детектора в
результате измерения.
Ручка (ось 9 мм при лимите 10 мм) лежит внутри шума стерео ±3 мм —
оптически не решается, отсекается просветом заслонки.
Энкодер ленты и позиционное (а не временное) планирование на
стенде.
Физический просвет 10 мм и энкодер ленты пока не воспроизведены в
модели Webots.
Узел дозирования на входе: гарантированный минимальный шаг
товаров.
Ресурс сервопривода и редуктора в реверсивном режиме не
подтверждён натурным испытанием.
Натурная валидация: одна ось «серво — редуктор — заслонка», просвет,
ресурсные циклы.
99,23%
3,3 мм
точность категории,
2200 сцен
средняя ошибка
размеров

12.

Точность важнее скорости: 3,3 мм ошибки измерения
при 385 мс на товар — конвейер ограничен
физикой ленты, а не вычислениями
Bozon AI sort · команда Bozon
English     Русский Rules