Что нового в YOLOv11: трансформация обнаружения объектов снова, часть 1

Введение

На мероприятии YOLO Vision 2024 компания Ultralytics объявила о новом варианте серии YOLO, названном YOLOv11. Эта статья предоставит обзор нового модели, инструкции по выполнению инFERENCE с использованием YOLOv11, а также ключевые усовершенствования и особенности модели по сравнению с ее предшественником. Модель YOLOv11 предназначена для быстроты, точности и удобства использования для таких задач, как обнаружение объектов, сегментация изображений, классификация изображений, оценка положения и реального времени обнаружение объектов.
Новая state-of-the-art (SOTA) модель достигла более высокой скорости вference и улучшенной точности по сравнению с предыдущими моделями YOLO. прежде чем начать, давайте посмотрим на результаты, опубликованные Ultralytics. В графике сравнения YOLOv11 со сравнением YOLOv5, v6, v7, v8, v9 и v10.

Выделенный синим цветом график показывает Performace YOLOv11 и, как мы можем видеть, она превзошла практически все модели YOLO или серии по среднему среднему precision на COCO датасете и по скорости инFERENCE, показанной по оси X.

Поддерживаемые задачи YOLOv11

  • Обнаружение объектов:- Определение объектов в изображении или видео путём рисования рамок с уверенностью. Utile для приложений, таких как автономное вождение, камеры наблюдения или пологи дорожной пошлины.
  • Инстанс-сеgmentation:- Идентификация и разделение объектов или индивидуумов на изображении. Utile для медицинской диагностики, производства и других приложений.
  • Оценка позы:- Идентификация ключевых точек на изображении или кадре видео для мониторинга движений тела или жеста, делая ее полезной для приложений, таких как виртуальная реальность, танцевальное обучение и физическая терапия.
  • Ориентированное обнаружение объектов (OBB):- Обнаружение объектов с углом ориентации, позволяя более точное определение наклонных или поворотных элементов. Эта функция особенно полезна для приложений, таких как автономное вождение, проверка промышленных изделий и анализ изображений с дронов или спутников.
Model Tasks
YOLO11 Detection (COCO)
YOLO11-seg Segmentation (COCO)
YOLO11-pose Pose/Keypoints (COCO)
YOLO11-obb Ориентированное обнаружение (DOTAv1)
YOLO11-cls Классификация (ImageNet)

YOLOv11 предоставляет модели для обнаружения, сегментации и распознавания позу, пред先режанные на датасете COCO, а также модели для классификации, пред先режанные на датасете ImageNet. также доступен режим трекинга для всех моделей обнаружения, сегментации и распознавания позу. для получения более подробной информации о моделях и их различных версиях смотрите официальную GitHub репозиторий. мы включили ссылку на него в нашей секции ресурсов для удобства.

Предусловия

следующие являются условиями для запуска моделей YOLO:

  • Python Environment: установите Python 3.8 или более позднюю версию.
  • CUDA & cuDNN: установите GPU, совместимую с CUDA (NVIDIA), и установите CUDA и cuDNN для более быстрого обучения и инFERENCE.
  • PyTorch: установите PyTorch, совместимую с вашей версией CUDA.
  • Ядро YOLO: установите пакет с определенной версией YOLO из Ultralytics.
  • Датасет: метки датасета в формате YOLO (изображения и файлы аннотаций).
  • Требования к оборудованию: по меньшей мере 16 GB RAM и GPU с 4+ GB VRAM для гладкого обучения и инFERENCE.

Ключевые особенности новых моделей

YOLOv11 предлагает ряд усовершенствований, которые делают ее удобным выбором для задач компьютерного зрения. У нее улучшеный дизайн основной и области обнаружения, что позволяет обнаруживать объекты с большей точностью и легко справиться с сложными задачами. Модель оптимизирована для скорости,提供了更快的处理时间,同时仍保持了准确性和性能之间的良好平衡。即便是与YOLOv8m相比少了22%的参数,这个轻量级模型也实现了更高的准确度,使其既高效又有效。YOLOv11的推断时间比YOLOv10快2%,因此使其高度适应各种平台,如边缘设备、云系统和NVIDIA GPU。此外,它还支持广泛的任务,包括目标检测、图像分类、姿态估计等。

YOLOv11设计用于轻松集成到各种系统和平台中。在YOLOv8的支持基础上,它在不同的环境中的训练、测试和部署方面表现良好。无论您使用NVIDIA GPU、边缘设备还是云平台,YOLOv11都能顺利适应您的工作流程。

这些特性使YOLOv11适用于不同行业。

Демо YOLOv11

Когда YOLOv11 запущен на GPU Droplet DigitalOcean, скорость вference достигает 5-6 мс на каждую картинку, что делает его идеальным выбором для реального времени приложений, требующих быстрого и эффективного обработки.
Мы начнем с установки пакета ultralytics или обновления пакета.

!pip install ultralytics --upgrade

Обучение модели YOLOv11 для обнаружения объектов может быть осуществлено как с использованием Python, так и с использованием командной строки.

from ultralytics import YOLO  
# Загрузите модель YOLO11n, обученную на COCO,  
model = YOLO("yolo11n.pt")  
# обучите модель на данных COCO8 примера в 100 эпохах  
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Загрузите модель YOLO11n, обученную на COCO, и обучите ее на данных COCO8 примера в 100 эпохах  
yolo train model=yolo11n.pt data=coco8.yaml epochs=100 imgsz=640

Мы предоставили код для использования модели для обнаружения объектов в видео.

# Загрузите модель YOLO11n, обученную на COCO,  
model = YOLO("yolo11n.pt")  
results = model("data/video.mp4", save=True, show=True)

Далее мы попробуем использовать модель для обнаружения объектов на картинке.

# Загрузите модель YOLO11n, обученную на COCO,  
model = YOLO("yolo11n.pt")  
results = model("/folder_path/image_det.jpeg")  
results[0].show()

Чтобы использовать модель для сегментации, нам нужно скачать YOLO11, поскольку попытка использовать модель direttamente может привести к ошибке.

#сегментация  
from ultralytics import YOLO  
model = YOLO('yolo11n-seg.pt')  
results = model("/folder_path/image_seg.jpeg")  
results[0].show()

Также для определения позы и классификации задач нам нужно скачать модель YOLO11 и затем попробовать модель на картинке.

#определение позы  
from ultralytics import YOLO  
model = YOLO('yolo11n-pose.pt')  
results = model("/folder_path/image_pose.jpeg")  
results[0].show()

#классификация изображения  
from ultralytics import YOLO  
model = YOLO('yolo11n-cls.pt')  
results = model("/folder_path/image_class.jpeg")  
results[0].show()

Теперь рекомендуется использовать высококлассную GPU для запуска или обучения YOLOv11, в противном случае обучение или обработка данных могут быть медленными и неэффективными. Когда дело доходит до запуска или обучения YOLOv11, выбор GPU вместо CPU может значительно улучшить производительность и эффективность. YOLOv11, с улучшенным извлечением признаков и повышенной точностью, требует высоких вычислительных мощностей, особенно для обучения на больших наборах данных. ГПУ специально разработаны для параллельных вычислений, что позволяет им обрабатывать сложные матричные операции, необходимые для глубокого обучения, намного быстрее, чем ЦП. GPU Droplets DigitalOcean оптимизированы для работы с AI/ML, предоставляя доступ к мощным GPU, таким как H100, специально разработанным для передовой производительности и обработки тяжелых вычислений.

Итоговые мысли

Мы увидели, какие интересные вещи может сделать модель с изображениями и видео. YOLOv11 является мощной и многофункциональной моделью для компьютерного зрения. Ее улучшенные особенности, высокая скорость и точность делают ее значительным upgrade по сравнению с предшественниками.
Конечно, YOLOv11 – это большой шаг вперед в обнаружении объектов и компьютерном зрении. С лучшим архитектурным дизайном, более высокой скоростью и улучшенной точностью, она отлично подходит для различных применений – реального обнаружения на небольших устройствах или более детального анализа в облаке. Ее способность гладко работать с существующими системами意味着 businesses can easily integrate it into their daily operations, whether in farming, security, or robotics. YOLOv11’s blend of flexibility and performance makes it a powerful tool for anyone tackling computer vision challenges.
Тем не менее, это только часть 1 руководства, и в части 2 мы узнаем, как настроить и обучить модель для обнаружения объектов на пользовательском наборе данных.

References

Source:
https://www.digitalocean.com/community/tutorials/what-is-new-with-yolo