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

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

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

Итак, давай начнем с release notes YOLOv5 v7.0!
Важные обновления Ultralytics YOLOv5#
Вот что обновилось в YOLOv5 с момента нашего последнего релиза YOLOv5 v6.2 в августе 2022 года.
- Segmentation Models ⭐ NEW: SOTA-модели сегментации YOLOv5-seg, предобученные на COCO, теперь доступны впервые (#9052 от @glenn-jocher, @AyushExel и @Laughing-q)
- PaddlePaddle Export: экспортируй любую модель YOLOv5 (cls, seg, det) в формат Paddle с помощью python export.py --include paddle (#9459 от @glenn-jocher)
- YOLOv5 AutoCache: использование python train.py --cache ram теперь будет сканировать доступную память и сравнивать ее с прогнозируемым использованием ОЗУ датасета. Это снижает риск при кэшировании и должно способствовать более широкому внедрению функции кэширования датасета, что может значительно ускорить обучение. (#10027 от @glenn-jocher)
- Comet Logging and Visualization Integration: бесплатный навсегда Comet позволяет сохранять модели YOLOv5, возобновлять обучение, а также интерактивно визуализировать прогнозы и выполнять их отладку. (#9232 от @DN6)
Новые чекпоинты сегментации#
Мы обучили модели сегментации Ultralytics 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
Примеры использования новой сегментации#
Обучение#
Обучение сегментации Ultralytics YOLOv5 поддерживает автоматическую загрузку датасета сегментации COCO128-seg с аргументом --data coco128-seg.yaml и ручную загрузку датасета COCO-segments с помощью bash data/scripts/get_coco.sh --train --val --segments и последующего запуска python train.py --data coco.yaml.
Один GPU#
python segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640
Multi-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
Валидация#
Проверь точность 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 # валидация
Предсказание#
Используй предобученную модель 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 (ВНИМАНИЕ: инференс пока не поддерживается)

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

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






