Модели, поддерживаемые Ultralytics
Добро пожаловать в документацию по моделям Ultralytics! Мы предлагаем поддержку широкого спектра моделей, каждая из которых адаптирована к конкретным задачам, таким как обнаружение объектов, сегментация экземпляров, классификация изображений, оценка позы и отслеживание нескольких объектов. Если вы заинтересованы в том, чтобы внести свой вклад в архитектуру моделей Ultralytics, ознакомьтесь с нашим Руководством для контрибьюторов.
Избранные модели
Вот некоторые из основных поддерживаемых моделей:
- YOLOv3: Третья итерация семейства моделей YOLO, первоначально разработанная Джозефом Редмоном, известна своими эффективными возможностями обнаружения объектов в реальном времени.
- YOLOv4: Обновление YOLOv3, изначально разработанное для darknet, выпущено Алексеем Бочковским в 2020 году.
- YOLOv5: Улучшенная версия архитектуры YOLO от Ultralytics, предлагающая более выгодный компромисс между производительностью и скоростью по сравнению с предыдущими версиями.
- YOLOv6: Выпущена компанией Meituan в 2022 году и используется во многих автономных роботах-доставщиках компании.
- YOLOv7: Обновленные модели YOLO, выпущенные в 2022 году авторами YOLOv4. Поддерживается только вывод.
- YOLOv8: Универсальная модель, обладающая расширенными возможностями, такими как сегментация экземпляров, оценка позы/ключевых точек и классификация.
- YOLOv9: Экспериментальная модель, обученная на кодовой базе YOLOv5 Ultralytics, реализующая Programmable Gradient Information (PGI).
- YOLOv10: Разработана Университетом Цинхуа, отличается обучением без NMS и архитектурой, ориентированной на эффективность и точность, обеспечивая современную производительность и минимальную задержку.
- YOLO11 🚀 NEW: Новейшие модели YOLO от Ultralytics, обеспечивающие современную (SOTA) производительность в различных задачах, включая обнаружение, сегментацию, оценку позы, отслеживание и классификацию.
- Segment Anything Model (SAM): Оригинальная модель Segment Anything Model (SAM) от Meta.
- Segment Anything Model 2 (SAM2): Следующее поколение Segment Anything Model (SAM) от Meta для видео и изображений.
- Mobile Segment Anything Model (MobileSAM): MobileSAM для мобильных приложений, разработана Университетом Кёнхи.
- Fast Segment Anything Model (FastSAM): FastSAM от Image & Video Analysis Group, Института автоматизации, Китайской академии наук.
- YOLO-NAS: YOLO Neural Architecture Search (NAS) Models.
- Realtime Detection Transformers (RT-DETR): Модели PaddlePaddle Realtime Detection Transformer (RT-DETR) от Baidu.
- YOLO-World: Модели обнаружения объектов с открытым словарем в реальном времени от Tencent AI Lab.
- YOLOE: Улучшенный детектор объектов с открытым словарем, который сохраняет производительность YOLO в реальном времени, обнаруживая произвольные классы за пределами данных, на которых он был обучен.
Смотреть: Запускайте модели Ultralytics YOLO всего в несколько строк кода.
С чего начать: Примеры использования
В этом примере представлены простые примеры обучения и инференса YOLO. Полную документацию по этим и другим режимам смотрите на страницах документации Predict, Train, Val и Export.
Обратите внимание, что приведенный ниже пример предназначен для моделей YOLOv8 Detect для обнаружения объектов. Дополнительные поддерживаемые задачи смотрите в документации Segment, Classify и Pose.
Пример
PyTorch предварительно обученные *.pt
модели, а также конфигурационные *.yaml
файлы могут быть переданы в YOLO()
, SAM()
, NAS()
и RTDETR()
классов для создания экземпляра модели на Python:
from ultralytics import YOLO
# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the YOLOv8n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
Для непосредственного запуска моделей доступны команды CLI:
# Load a COCO-pretrained YOLOv8n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640
# Load a COCO-pretrained YOLOv8n model and run inference on the 'bus.jpg' image
yolo predict model=yolov8n.pt source=path/to/bus.jpg
Добавление новых моделей
Заинтересованы в том, чтобы внести свою модель в Ultralytics? Отлично! Мы всегда открыты для расширения нашего портфеля моделей.
-
Сделайте форк репозитория: Начните с создания форка репозитория Ultralytics на GitHub.
-
Клонируйте свой форк: Клонируйте свой форк на локальную машину и создайте новую ветку для работы.
-
Реализуйте свою модель: Добавьте свою модель, следуя стандартам кодирования и рекомендациям, представленным в нашем Руководстве для контрибьюторов.
-
Тщательно протестируйте: Обязательно тщательно протестируйте свою модель как изолированно, так и в составе конвейера.
-
Создайте запрос на внесение изменений: Как только вы будете удовлетворены своей моделью, создайте запрос на внесение изменений в основной репозиторий для проверки.
-
Проверка кода и слияние: После проверки, если ваша модель соответствует нашим критериям, она будет объединена с основным репозиторием.
Для получения подробной информации обратитесь к нашему Руководству для контрибьюторов.
Часто задаваемые вопросы
Каковы ключевые преимущества использования Ultralytics YOLO11 для обнаружения объектов?
Ultralytics YOLO11 предлагает расширенные возможности, такие как обнаружение объектов в реальном времени, сегментация экземпляров, оценка позы и классификация. Его оптимизированная архитектура обеспечивает высокую скорость работы без ущерба для точности, что делает его идеальным для различных приложений в различных областях искусственного интеллекта. YOLO11 основан на предыдущих версиях с улучшенной производительностью и дополнительными функциями, как подробно описано на странице документации YOLO11.
Как обучить модель YOLO на пользовательских данных?
Обучение модели YOLO на пользовательских данных можно легко выполнить с помощью библиотек Ultralytics. Вот краткий пример:
Пример
from ultralytics import YOLO
# Load a YOLO model
model = YOLO("yolo11n.pt") # or any other YOLO model
# Train the model on custom dataset
results = model.train(data="custom_data.yaml", epochs=100, imgsz=640)
yolo train model=yolo11n.pt data='custom_data.yaml' epochs=100 imgsz=640
Для получения более подробных инструкций посетите страницу документации Train.
Какие версии YOLO поддерживаются Ultralytics?
Ultralytics поддерживает широкий спектр версий YOLO (You Only Look Once) от YOLOv3 до YOLO11, а также модели, такие как YOLO-NAS, SAM и RT-DETR. Каждая версия оптимизирована для различных задач, таких как обнаружение, сегментация и классификация. Подробную информацию о каждой модели можно найти в документации Models Supported by Ultralytics.
Зачем использовать Ultralytics HUB для проектов машинного обучения?
Ultralytics HUB предоставляет платформу без кода для обучения, развертывания и управления моделями YOLO. Она упрощает сложные рабочие процессы, позволяя пользователям сосредоточиться на производительности модели и ее применении. HUB также предлагает возможности облачного обучения, комплексное управление наборами данных и удобные интерфейсы как для начинающих, так и для опытных разработчиков.
Какие типы задач может выполнять YOLO11 и как он соотносится с другими версиями YOLO?
YOLO11 — это универсальная модель, способная выполнять такие задачи, как обнаружение объектов, сегментация экземпляров, классификация и оценка позы. По сравнению с более ранними версиями, YOLO11 предлагает значительные улучшения в скорости и точности благодаря своей оптимизированной архитектуре и конструкции без привязки к якорям. Для более глубокого сравнения обратитесь к документации YOLO11 и страницам задач для получения более подробной информации о конкретных задачах.