Comments 9
Отличное решение, однозначно в закладки, спасибо что поделились!
Вопрос по архитектуре, почему выбрали YOLO, а не RF-DETR? Проводили ли какие-то сравнительные тесты? У RF-DETR mAP лучше и за счет Dyno v2 он должен точнее вытаскивать мелкие детали на зашумленном фоне асфальта.
c:\Tools\YOLO-Annotator-1.5>run.bat
First run: creating the Python environment ...
The system cannot find the path specified.
Press any key to continue . . .
c:\Tools\YOLO-Annotator-1.5>python --version
Python 3.13.13Это почему?
Нашёл крайний случай в COCO Panoptic export. Если изображения пришли из разных каталогов, но называются одинаково (например, road_a/frame.jpg и road_b/frame.jpg), экспорт складывает их в плоские папки и использует только basename/stem. При copy_images=True один файл перезапишет другой; panoptic PNG тоже перезапишется, а в JSON останутся две записи с одинаковыми именами.
Минимальный патч в цикле по img_records:
- coco_images.append({"id": img_id, "file_name": img_path.name,
+ image_file_name = f"{img_id}_{img_path.name}"
+ coco_images.append({"id": img_id, "file_name": image_file_name,
"width": iw, "height": ih})
- png_name = f"{img_path.stem}.png"
+ png_name = f"{img_id}_{img_path.stem}.png"
...
- shutil.copy2(img_path, img_out / img_path.name)
+ shutil.copy2(img_path, img_out / image_file_name)
Проверка для пары путей с одинаковым basename: после такого префикса имена изображений (0_frame.jpg, 1_frame.jpg) и масок (0_frame.png, 1_frame.png) уникальны. Эту проверку прогнал отдельно; полный набор проекта здесь не запускал.
Спасибо! Исправим в ближайшее время. Сейчас пока вне компьютера и вне страны.
Если честно, просто никогда не работали из нескольких папок.
Как мы сделали простой офлайн‑разметчик для YOLO и COCO с семантической и panoptic‑сегментацией