Представление сегментации экземпляров в Ultralytics YOLOv5 v7.0

Команда Ultralytics

3 мин. чтения

23 ноября 2022 г.

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

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

Работая над этой последней версией, мы ставили перед собой две задачи. Первая - сделать ИИ простым, а вторая - переосмыслить значение слова "современный".

Благодаря значительным улучшениям, исправлениям и обновлениям мы сделали именно это. Сохранив те же простые рабочие процессы, что и в наших существующих моделях обнаружения объектов YOLOv5, теперь обучать, проверять и внедрять свои модели с YOLOv5 v7.0 стало проще, чем когда-либо. Кроме того, мы превзошли все контрольные показатели SOTA, сделав YOLOv5 самым быстрым и точным в мире.

Поскольку это наш первый выпуск моделей сегментации, мы безмерно гордимся этим событием. Мы выражаем огромную благодарность нашему сообществу и разработчикам, которые помогли сделать этот выпуск возможным.  

Ultralytics YOLOv5 v7.0 SOTA Сегментация экземпляров в реальном времени

Итак, давайте начнем знакомиться с информацией о выпуске YOLOv5 v7.0!

Важные обновления YOLOv5

Вот что было обновлено в YOLOv5 с момента нашего последнего выпуска YOLOv5 v6.2 в августе 2022 года.

  • Модели сегментации ⭐ НОВИНКА: Впервые доступны модели сегментации SOTA YOLOv5-seg COCO-pretrained(#9052 by @glenn-jocher, @AyushExel, and @Laughing-q)
  • Экспорт PaddlePaddle: Экспорт любой модели YOLOv5 (cls, seg, det) в формат Paddle с помощью python export.py --include paddle #9459 by @glenn-jocher)
  • YOLOv5 AutoCache: Использование python train.py --cache ram теперь будет проверять доступную память и сравнивать с прогнозируемым использованием оперативной памяти набора данных. Это снижает риск при кэшировании и должно помочь улучшить использование функции кэширования наборов данных, которая может значительно ускорить обучение.(#10027 by @glenn-jocher)
  • Интеграция журналов и визуализации Comet: Бесплатный навсегда, Comet позволяет сохранять модели YOLOv5, возобновлять обучение, а также интерактивно визуализировать и отлаживать прогнозы.(#9232 by @DN6)

Новые контрольные точки сегментации

Мы обучили модели сегментации YOLOv5 на COCO в течение 300 эпох при размере изображения 640, используя графические процессоры A100. Мы экспортировали все модели в ONNX FP32 для тестирования скорости CPU и в TensorRT FP16 для тестирования скорости GPU. Все тесты проводились на ноутбуках Google Colab Pro для удобства воспроизведения.

  • Все контрольные точки обучены на 300 эпох с оптимизатором SGD с lr0=0.01 и weight_decay=5e-5 при размере изображения 640 и всех настройках по умолчанию. Все прогоны регистрируются здесь.
  • Значения точности приведены для одномодельного одномасштабного набора данных 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

Примеры использования новой сегментации

Поезд

Обучение сегментации YOLOv5 поддерживает автоматическую загрузку набора данных сегментации COCO128-seg с аргументом --data coco128-seg.yaml и ручную загрузку набора данных COCO-segments с помощью bash data/scripts/get_coco.sh --train --val --segments и затем python train.py --data coco.yaml.

Однопроцессорный

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 на наборе данных ImageNet-1k:

bash data/scripts/get_coco.sh --val --segments # загрузить сегменты COCO val split (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 (WARNING: inference not yet supported)

Сегментация экземпляров Ultralytics YOLOv5 v7.0


Экспорт

Экспортируйте модель YOLOv5s-seg в ONNX и TensorRT:

python export.py --weights yolov5s-seg.pt --include onnx engine --img 640 --device 0

Сегментация экземпляров Ultralytics YOLOv5 v7.0

Есть вопросы? Задайте их на форуме Ultralytics, поднимите вопрос или отправьте PR в репозиторий. Вы также можете начать работу с нашим блокнотом YOLOv5 сегментации Colab для быстрого обучения.

Давайте вместе построим будущее
искусственного интеллекта!

Начните свое путешествие в будущее машинного обучения

Начните бесплатно
Ссылка копируется в буфер обмена