Замкнутый контур "поток -> CV -> механика": товары идут по конвейеру с шагом 700 мм, класс определяется стереопайплайном во время движения, пушер и плуг реагируют физически. Состав: * control_test/ - ячейка и CV. run_sorting_cv.py + cv_worker.py (два процесса, потому что torch внутри Isaac роняет сцену), cell.py (физика лент, плуга, пушера), measure_plane.py (замер габаритов), README.md и .memory.md с замерами, проблемами и ловушками * robozon_sorter/ - модули симуляции, scripts/ - утилиты, scene/ - сцены * assets/ - меши товаров, плуг, объекты Objaverse Бейзлайн CV: DEFOM-Stereo vitl, вход 480, iters 24, кроп зоны осмотра, без сегментации. На потоке 700 мм - классы 8/9, габариты MAE 32.8 мм, 469 мс на товар при такте 700 мс. Веса моделей (4.5 ГБ) и пропсы конвейера NVIDIA (274 МБ) не включены - источники и команды скачивания в MODELS.md. Выход прогонов (captures/, runtime/) не включён: воспроизводится. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
3.7 KiB
Веса моделей
В репозиторий не попадают: около 4.5 ГБ, и все скачиваются из первоисточников. Ниже — откуда именно, чтобы окружение поднималось повторяемо.
DEFOM-Stereo — рабочий бейзлайн пайплайна
Репозиторий: https://github.com/Insta360-Research-Team/DEFOM-Stereo Веса: https://drive.google.com/drive/folders/1cZLcIjHlmUo986gkR6FbofG1cj5BT36x
git clone https://github.com/Insta360-Research-Team/DEFOM-Stereo.git
cd DEFOM-Stereo && mkdir -p checkpoints && cd checkpoints
gdown 1XuAM4vqzura_6NKN70hMW5lFD4TafnDL # defomstereo_vitl_sceneflow.pth 1.53 ГБ <- используется
gdown 1qyXKO-Nxq3ndl2H0deQpo6BSvwlGKYEg # defomstereo_vits_sceneflow.pth 173 МБ (лёгкий вариант)
wget https://huggingface.co/depth-anything/Depth-Anything-V2-Large/resolve/main/depth_anything_v2_vitl.pth
Энкодер DepthAnythingV2 обязателен: без него модель не поднимается.
Скачивание папкой целиком (gdown --folder) не работает — перечисляет файлы и ничего не
качает. Только по одному идентификатору.
В репозитории есть и штатные скрипты: scripts/download_models.sh, scripts/download_dav2.sh.
CREStereo — второй движок, точнее по габаритам
https://github.com/megvii-research/CREStereo — веса crestereo_eth3d.pth (95 МБ) по
ссылкам из его README.
Сегментация
Обе модели в текущем бейзлайне не используются — товар отделяется от полотна превышением над плоскостью. Оставлены для сравнительных прогонов.
- FastSAM-s.pt (23 МБ) — https://github.com/CASIA-IVA-Lab/FastSAM
- yolo26n-seg.pt — https://huggingface.co/openvision/yolo26-s-seg (у нас вариант
n, неs)
Fast FoundationStereo — проверялся, в бейзлайн не вошёл
https://github.com/NVlabs/fast-foundationstereo Веса: https://drive.google.com/drive/folders/1HuTt7UIp7gQsMiDvJwVuWmKpvFzIIMap
Брался ONNX-экспорт 23_36_37_iters_4_res_320x736 (69 МБ, id 1p9vgRh_8R1FXA79l8VdnN28dDQ3NEEhf)
и его yaml (11oKt_6_jSdTqwBw1qotxmwqKxzYkvKdI).
Замер получился нечестным по времени: onnxruntime-gpu 1.28 требует CUDA 13, на сервере
12.8, колёс под CUDA 12 для python 3.12 нет, onnx2torch падает на динамическом Clip,
TensorRT не установлен — модель шла на CPU. Точность при этом от устройства не зависит и
вышла вчетверо хуже CRE (152.8 против 32.4 мм).
Пропсы конвейера NVIDIA
assets/conveyors/ (274 МБ) тоже не в репозитории — восстанавливаются штатным
python3 scripts/fetch_assets.py. Источник: omniverse-content-production.s3-us-west-2.amazonaws.com,
раздел Assets/Isaac/6.0/Isaac/Props/Conveyors/.
Куда смотрят пути в коде
Сейчас они абсолютные и указывают на сервер:
control_test/measure_flow.py,control_test/cv_worker.py— константаCV = "/home/dasha/isaac_assets/cv"control_test/measure_plane.py— путь кdefom-stereo/checkpoints/
При переносе на другую машину поправить в этих трёх файлах.