Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас

Представляем сегментацию экземпляров в 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 года.

  • Модели сегментации ⭐ NEW: 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)

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

Мы обучили модели сегментации YOLOv5 на COCO в течение 300 эпох при размере изображения 640, используя графические процессоры A100. Мы экспортировали все модели в ONNX FP32 для тестов скорости ЦП и в TensorRT FP16 для тестов скорости графического процессора. Мы запустили все тесты скорости в блокнотах 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 instance. Значения указывают только скорость логического вывода (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.

Один 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

Val

Проверка точности YOLOv5m-seg на наборе данных ImageNet-1k:

bash data/scripts/get_coco.sh --val --segments  # скачать COCO val segments split (780MB, 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 (ВНИМАНИЕ: вывод еще не поддерживается)

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, создайте issue или отправьте PR в репозиторий. Вы также можете начать работу с нашим блокнотом Colab для сегментации YOLOv5 для получения кратких руководств.

Давайте строить будущее
ИИ вместе!

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

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