Вот оно, руководство по использованию обнаружения целей YOLOv11.
Вот оно, руководство по использованию обнаружения целей YOLOv11.

Обзор

YOLO11 анонсирован на мероприятии YOLO Vision 2024 27 сентября 2024 г.: https://www.youtube.com/watch?v=rfI5vOo3-_A.

YOLO11 — это новейшая версия семейства YOLO от Ultralytics, сочетающая в себе высочайшую точность, скорость и эффективность для обнаружения объектов, сегментации, классификации, ориентированных ограничивающих рамок и оценки позы. По сравнению с YOLOv8 он имеет меньше параметров и лучшие результаты. Нетрудно предвидеть, что YOLO11 более эффективен и быстрее на периферийных устройствах и будет часто появляться в новейших технологиях (SOTA) в области компьютеров. зрение.

Основные особенности

  • Расширенное извлечение функций:YOLO11 Используйте улучшенную архитектуру магистрали и шеи для улучшения извлечения функций, обеспечивая более точное обнаружение целей и выполнение сложных задач.
  • Оптимизировано для эффективности и скорости:отличноиз Архитектурный дизайниоптимизацияиз Тренировочный процесссуществоватьсохранять точностьипроизводительность Лучший баланс междуизв то же время,Обеспечить более высокую скорость обработки.
  • Меньше параметров, выше точность:YOLO11m существовать COCO набор данных достигнут, чем YOLOv8m выше м АП, параметры снижены 22%,Улучшен расчет эффективности,И все это без ущерба для точности.
  • Адаптивность в различных средах:YOLO11 Беспрепятственное развертывание периферийных устройств, облачных платформ и оборудования NVIDIA GPU система, обеспечивающая максимальную гибкость.
  • Поддерживает широкий спектр задач:YOLO11 Поддерживает различные задачи компьютерного зрения, такие как обнаружение объектов, сегментация экземпляров, классификация изображений, оценка позы и обнаружение ориентированных объектов (OBB).

Действия, описанные в этом руководстве

  • Настройки среды
  • Подготовить набор данных
  • Модель обучения
  • Проверить модель
  • Выполнить вывод на тестовых изображениях
  • в заключение

Настройки среды

Для использования Google Colab вам нужна учетная запись Google. Мы используем Colab для ресурсоемких задач, таких как глубокое обучение. Поскольку графического процессора моего компьютера недостаточно, мне нужно активировать поддержку графического процессора Colab.

После этого проверяем активность графического процессора.

Он поддерживает до 16 ГБ памяти и 2560 ядер CUDA для ускорения широкого спектра современных приложений. Затем этот код выполняется для динамического определения рабочего каталога и гибкого управления путями к файлам.

Язык кода:javascript
копировать
import os
HOME = os.getcwd()

Далее вам необходимо скачать пакет Ultralytics для загрузки и обработки модели и пакет Roboflow для набора данных.

Язык кода:javascript
копировать
!pip install ultralytics supervision roboflow

from ultralytics import YOLO
from roboflow import Roboflow

Подготовить набор данных

Для этого проекта я использовал набор данных о паразитах, включенный в RF100. Я обучу модель обнаружения объектов на этом наборе данных с 8 различными классами паразитов. Я буду обрабатывать помеченные классифицированные изображения с помощью Roboflow. Я часто использую эту платформу с открытым исходным кодом в своих личных проектах. Работая с готовыми наборами данных, вы можете быстро получить много информации о своих данных в разделе анализа работоспособности набора данных. Например, в разделе баланса классов, показанном ниже, мы видим, что класс Hymenolepis недостаточно представлен.

Ссылки, связанные с набором данных:

https://universe.roboflow.com/roboflow-100/parasites-1s07h

https://universe.roboflow.com/roboflow-100

https://universe.roboflow.com/roboflow-100/parasites-1s07h/health

Чтобы повысить точность этого класса, вам необходимо применить увеличение, передискретизацию или отрегулировать веса классов. В этой статье мы не будем затрагивать эти темы, не волнуйтесь, но если вас интересуют данные задачи, смело обращайтесь ко мне. Если будет достаточный спрос, я также могу поделиться своими подробными работами по этим темам. Вы можете загрузить и использовать любой проект с открытым исходным кодом в среде Roboflow, следуя формату. После подготовки или выбора набора данных мы будем работать в среде Colab. Причина, по которой мы перешли на Colab, заключается в том, что он предлагает бесплатное использование графического процессора NVIDIA T4 объемом 16 ГБ. Я упомянул об этой проблеме ниже. Нам нужно импортировать наши данные в формате YOLOv8 с помощью API Roboflow. Получим готовые фрагменты кода и форматы данных.

Язык кода:javascript
копировать
rf = Roboflow(api_key="your-api-key")
project = rf.workspace("roboflow-100").project("parasites-1s07h")
version = project.version(2)
dataset = version.download("yolov8")
!sed -i '$d' {dataset.location}/data.yaml   # Delete the last line
!sed -i '$d' {dataset.location}/data.yaml   # Delete the second-to-last line
!sed -i '$d' {dataset.location}/data.yaml   # Delete the third-to-last line

!echo 'test: ../test/images' >> {dataset.location}/data.yaml
!echo 'train: ../train/images' >> {dataset.location}/data.yaml
!echo 'val: ../valid/images' >> {dataset.location}/data.yaml

Нам нужно обновить формат data.yaml, как показано ниже, для обучения в формате YOLO11.

Язык кода:javascript
копировать
!sed -i '$d' {dataset.location}/data.yaml   # Delete the last line
!sed -i '$d' {dataset.location}/data.yaml   # Delete the second-to-last line
!sed -i '$d' {dataset.location}/data.yaml   # Delete the third-to-last line

!echo 'test: ../test/images' >> {dataset.location}/data.yaml
!echo 'train: ../train/images' >> {dataset.location}/data.yaml
!echo 'val: ../valid/images' >> {dataset.location}/data.yaml

Модель обучения

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

Язык кода:javascript
копировать
!yolo task=detect mode=train model=yolo11s.pt data={dataset.location}/data.yaml epochs=40 imgsz=640 plots=True

Вы также можете создать его с помощью Python для более гибких сценариев. Пример обучающего кода Python показан ниже:

Язык кода:javascript
копировать
from ultralytics import YOLO

# Load a COCO-pretrained YOLO11n model
model = YOLO("yolo11n.pt")

# Train the model on the COCO8 example dataset for 40 epochs
results = model.train(data="coco8.yaml", epochs=40, imgsz=640)

Обученная модель сохраняется в best.pt в файле /runs/detect/train/weights.

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

Показатели эффективности

матрица путаницы

Уведомление:существовать Модель обучение, обзор Ultralytics Полезны параметры в разделе документации «Настройки обучения». Эта часть имеет решающее значение для вашего тренировочного процесса.

Проверить модель

Вот преимущества использования режима Val YOLO11:

  • Точность: получайте точные показатели, такие как mAP50、mAP75 и mAP50–95,Комплексная оценка васиз Модель。
  • Удобство: упростите процесс проверки благодаря встроенной функции запоминания настроек обучения.
  • Гибкость: используйте одинаковые или разные изданные наборы и размеры изображений для проверки вашей из Модели.
  • Настройка гиперпараметров: используйте метрики проверки для точной настройки вашей модели и повышения производительности.
Язык кода:javascript
копировать
!yolo task=detect mode=val model={HOME}/runs/detect/train/weights/best.pt data={dataset.location}/data.yaml

Результаты Вал

Общая оценка:

  • точность, отзыв mAP Показатели достаточно высокие.
  • Несмотря на различия между различными категориями, общее впечатление является удовлетворительным.
  • существовать Скорость,Это действительная и з Модель,Время вывода очень мало.

Запустите вывод на тестовом наборе данных

Давайте оценим способность модели к обобщению и посмотрим ее прогнозы на ранее невиданном наборе тестовых данных.

Язык кода:javascript
копировать
# predict mode for test data
!yolo task=detect mode=predict model={HOME}/runs/detect/train/weights/best.pt conf=0.25 source={dataset.location}/test/images save=True
Язык кода:javascript
копировать
# for visualization

latest_folder = max(glob.glob('/content/runs/detect/predict*/'), key=os.path.getmtime)
for img in glob.glob(f'{latest_folder}/*.jpg')[:1]:
    display(IPyImage(filename=img, width=600))
    print("\n")
boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose