Представляем сегментацию экземпляров в Ultralytics YOLOv5 v7.0
Ознакомься с YOLOv5 v7.0 с новыми моделями сегментации экземпляров, превосходящими эталонные показатели SOTA по точности и скорости ИИ. Присоединяйся к нашему сообществу.

YOLOv5 v7.0, новейшая версия нашей архитектуры ИИ, уже здесь, и мы рады представить наши новые модели сегментации экземпляров!

Работая над этим релизом, мы держали в фокусе две цели. Первая — наша миссия сделать ИИ доступным, а вторая — переосмыслить то, что на самом деле означает «state-of-the-art».
Благодаря значительным улучшениям, исправлениям и обновлениям мы сделали именно это. Сохраняя те же простые рабочие процессы, что и в наших существующих моделях обнаружения объектов YOLOv5, теперь тренировать, проверять и развертывать модели с помощью YOLOv5 v7.0 проще, чем когда-либо. Кроме того, мы превзошли все SOTA benchmarks, фактически сделав YOLOv5 самыми быстрыми и точными в мире.
Поскольку это наш первый релиз моделей segmentation, мы невероятно гордимся этим достижением. Мы очень благодарны нашему преданному сообществу и contributors, которые помогли сделать этот релиз возможным.

Итак, давай начнем с release notes для YOLOv5 v7.0!
Link to this sectionВажные обновления YOLOv5#
Вот что было обновлено в YOLOv5 с момента нашего последнего релиза YOLOv5 v6.2 в августе 2022 года.
- Модели сегментации ⭐ НОВОЕ: SOTA YOLOv5-seg модели сегментации, предобученные на COCO, теперь доступны впервые (#9052 от @glenn-jocher, @AyushExel и @Laughing-q)
- Экспорт в PaddlePaddle: Экспортируй любую модель YOLOv5 (cls, seg, det) в формат Paddle с помощью python export.py --include paddle (#9459 от @glenn-jocher)
- YOLOv5 AutoCache: Использование python train.py --cache ram теперь будет сканировать доступную память и сравнивать её с прогнозируемым использованием ОЗУ датасетом. Это снижает риски при кэшировании и должно помочь внедрению функции кэширования датасета, что может значительно ускорить обучение. (#10027 от @glenn-jocher)
- Интеграция логирования и визуализации Comet: Comet, бесплатный навсегда, позволяет сохранять модели YOLOv5, возобновлять обучение, а также интерактивно визуализировать и отлаживать предсказания. (#9232 от @DN6)
Link to this sectionНовые чекпоинты сегментации#
Мы обучили модели сегментации YOLOv5 на COCO в течение 300 эпох при размере изображения 640 с использованием графических процессоров A100. Мы экспортировали все модели в ONNX FP32 для тестов скорости на CPU и в TensorRT FP16 для тестов скорости на GPU. Мы провели все тесты скорости в блокнотах Google Colab Pro для удобной воспроизводимости.
- Все чекпоинты обучены в течение 300 эпох с использованием оптимизатора SGD с параметрами lr0=0.01 и weight_decay=5e-5 при размере изображения 640 и всех настройках по умолчанию. Все запуски протоколируются в Weights & Biases training logs.
- Значения точности указаны для одной модели при одном масштабе на датасете COCO. Воспроизведи с помощью python segment/val.py --data coco.yaml --weights yolov5s-seg.pt
- Скорость усреднена по 100 изображениям для инференса с использованием инстанса Colab Pro A100 High-RAM. Значения указывают только на скорость инференса (NMS добавляет около 1 мс на изображение). Воспроизведи с помощью python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1
- Экспорт в ONNX в FP32 и TensorRT в FP16 выполнен с помощью export.py. Воспроизведи с помощью python export.py --weights yolov5s-seg.pt --include engine --device 0 --half
Link to this sectionПримеры использования новой сегментации#
Link to this sectionОбучение#
Обучение сегментации YOLOv5 поддерживает автоматическую загрузку датасета COCO128-seg с аргументом --data coco128-seg.yaml и ручную загрузку датасета COCO-segments через bash data/scripts/get_coco.sh --train --val --segments, а затем python train.py --data coco.yaml.
Link to this sectionОдин GPU#
python segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640
Link to this sectionMulti-GPU DDP#
python -m torch.distributed.run --nproc_per_node 4 --master_port 1 segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640 --device 0,1,2,3
Link to this sectionВалидация#
Проверь точность YOLOv5m-seg на датасете COCO:
bash data/scripts/get_coco.sh --val --segments # скачать сплит сегментов COCO val (780 МБ, 5000 изображений) python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # валидация
Link to this sectionПредсказание#
Используй предобученную модель YOLOv5m-seg для предсказания на bus.jpg:
python segment/predict.py --weights yolov5m-seg.pt --data data/images/bus.jpg
model = torch.hub.load('ultralytics/yolov5', 'custom', 'yolov5m-seg.pt') # загрузка из PyTorch Hub (ВНИМАНИЕ: инференс пока не поддерживается)

Link to this sectionЭкспорт#
Экспортируй модель YOLOv5s-seg в ONNX и TensorRT:
python export.py --weights yolov5s-seg.pt --include onnx engine --img 640 --device 0

Есть вопросы? Спрашивай на Ultralytics forum, создавай issue или отправляй PR в репозиторий. Ты также можешь начать с нашего YOLOv5 segmentation Colab notebook для быстрых руководств.






