Ultralytics YOLO27:
Get Started

Обзор наборов данных#

Ultralytics поддерживает различные наборы данных для задач компьютерного зрения, включая обнаружение объектов, сегментацию экземпляров, семантическую сегментацию, оценку глубины, классификацию, оценку позы и ориентированные ограничивающие рамки (OBB). Ниже перечислены основные наборы данных Ultralytics, а затем приведен обзор каждой задачи компьютерного зрения и соответствующих наборов данных. Режим отслеживания работает поверх моделей обнаружения, сегментации, оценки позы и OBB без обучения с учетом конкретного трекера; см. наборы данных для отслеживания.



Смотри: Обзор датасетов Ultralytics

Обнаружение объектов#

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

  • African-wildlife: набор данных с изображениями африканских диких животных, включая буйволов, слонов, носорогов и зебр.
  • Argoverse: набор данных с информацией об отслеживании объектов в 3D и прогнозировании движения в городской среде, содержащий подробную разметку.
  • Brain-tumor: набор данных для обнаружения опухолей мозга, включающий снимки МРТ или КТ с информацией о наличии, расположении и характеристиках опухолей.
  • COCO: COCO (Common Objects in Context) — крупномасштабный набор данных для обнаружения и сегментации объектов, а также создания подписей к изображениям; содержит 80 категорий объектов.
  • COCO8: небольшой набор из первых 8 изображений COCO train2017: 4 для обучения и 4 для валидации; подходит для быстрых проверок.
  • COCO8-Grayscale: версия COCO8 в градациях серого, созданная путем преобразования RGB-изображений; подходит для оценки моделей с одним каналом.
  • COCO8-Multispectral: 10-канальная мультиспектральная версия COCO8, созданная интерполяцией длин волн RGB; подходит для оценки моделей, учитывающих спектральные характеристики.
  • COCO12-Formats: тестовый набор из 12 изображений, охватывающий 12 поддерживаемых форматов изображений (AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WebP) для проверки конвейеров загрузки изображений.
  • COCO128: небольшой набор из первых 128 изображений COCO train2017, подходящий для тестирования.
  • Construction-PPE: набор изображений строительных площадок с разметкой основных средств защиты: касок, жилетов, перчаток, ботинок и очков, а также отсутствующего оборудования. Подходит для разработки моделей ИИ, проверяющих соблюдение требований и защищающих работников.
  • Global Wheat 2020: набор изображений колосьев пшеницы для конкурса Global Wheat Challenge 2020.
  • HomeObjects-3K: набор размеченных изображений помещений с 12 распространенными предметами домашнего обихода. Идеально подходит для разработки и тестирования моделей компьютерного зрения для систем умного дома, робототехники и дополненной реальности.
  • KITTI: известный набор данных для автономного вождения с данными стереокамер, LiDAR и GPS/IMU; используется для обнаружения 2D-объектов в различных дорожных сценах.
  • LVIS: крупномасштабный набор данных для обнаружения объектов и сегментации экземпляров, включающий 1 203 категории объектов.
  • Medical-pills: набор данных с размеченными изображениями медицинских таблеток для таких задач, как контроль качества фармацевтической продукции, сортировка и проверка соответствия отраслевым стандартам.
  • Objects365: высококачественный крупномасштабный набор данных для обнаружения объектов, включающий 365 категорий и более 1,7 миллиона размеченных изображений.
  • OpenImagesV7: обширный набор данных Google с 1,7 млн изображений для обучения и 42 тыс. изображений для валидации.
  • RF100: разнообразный бенчмарк обнаружения объектов, включающий 100 наборов данных из семи визуальных областей для всесторонней оценки моделей.
  • Signature: набор изображений различных документов с разметкой подписей для исследований в области проверки документов и обнаружения мошенничества.
  • SKU-110K: набор для обнаружения большого количества объектов в розничной торговле; содержит более 11 тыс. изображений и 1,7 млн ограничивающих рамок.
  • TT100K: набор дорожных знаков Tsinghua-Tencent 100K, содержащий 16 817 изображений улиц и 221 категорию знаков.
  • VisDrone: набор данных для обнаружения и отслеживания нескольких объектов на изображениях и видеозаписях с дронов; содержит более 10 тыс. изображений и видеопоследовательностей.
  • VOC: набор данных Pascal Visual Object Classes (VOC) для обнаружения и сегментации объектов; содержит 20 классов и более 21 тыс. изображений.
  • xView: набор для обнаружения объектов на аэрофотоснимках; содержит 60 категорий и более 1 млн размеченных объектов.

Сегментация экземпляров#

Сегментация экземпляров — это метод компьютерного зрения, который позволяет обнаруживать объекты на изображении и определять их местоположение на уровне пикселей. В отличие от семантической сегментации, которая только присваивает класс каждому пикселю, сегментация экземпляров различает отдельные экземпляры одного класса.

  • Carparts-seg: специализированный набор данных для распознавания деталей автомобилей, предназначенный для задач проектирования, производства и исследований. Подходит как для обнаружения объектов, так и для сегментации.
  • COCO: крупномасштабный набор данных для обнаружения и сегментации объектов, а также создания подписей к изображениям; содержит более 200 тыс. размеченных изображений.
  • COCO8-seg: небольшой набор данных для сегментации экземпляров, включающий подмножество из 8 изображений COCO с разметкой сегментации.
  • COCO128-seg: небольшой набор данных для сегментации экземпляров, включающий подмножество из 128 изображений COCO с разметкой сегментации.
  • Crack-seg: специализированный набор данных для обнаружения трещин на дорогах и стенах, подходящий как для обнаружения объектов, так и для сегментации.
  • Package-seg: специализированный набор данных для распознавания посылок на складах и промышленных объектах; подходит как для обнаружения объектов, так и для сегментации.

Семантическая сегментация#

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

  • Cityscapes: набор данных для семантической сегментации городских улиц с 19 классами для обучения.
  • Cityscapes8: компактное подмножество Cityscapes из 8 изображений для быстрой проверки конвейеров семантической сегментации.
  • ADE20K: набор данных для анализа сцен со 150 семантическими классами.

Оценка глубины#

Монокулярная оценка глубины предсказывает карту глубины для каждого пикселя в метрах по одному RGB-изображению; она применяется для реконструкции 3D-сцен, навигации роботов и задач AR/VR.

  • Depth8: компактное подмножество SUN RGB-D из 8 изображений для быстрой проверки конвейеров.
  • ARKitScenes: реальные RGB-D-данные для помещений, снятые с помощью LiDAR и Apple ARKit; крупнейший источник реальных данных для обучения.
  • SUN RGB-D: реальные сцены помещений, снятые с помощью четырех разных RGB-D-сенсоров.
  • DIODE: плотные данные о глубине в помещениях и на открытом воздухе, полученные с помощью лазерного сканера геодезического класса.
  • Hypersim: фотореалистичные синтетические сцены помещений с точными данными о глубине для каждого пикселя.
  • TartanAir: синтетические среды AirSim с плотными данными о глубине на расстоянии до ~80 м.
  • Virtual KITTI 2: синтетическая реконструкция дорожных сцен KITTI с плотными данными о глубине.
  • KITTI: реальные дорожные сцены на открытом воздухе для автономного вождения с данными о глубине от LiDAR Velodyne; также бенчмарк KITTI Eigen.
  • ImageNet (псевдоразмеченный): изображения ImageNet-1K с псевдометками Depth Anything 3 для дистилляции.
  • NYU Depth V2: стандартный бенчмарк глубины для помещений, снятых с помощью Microsoft Kinect v1.
  • ETH3D: высокоточный бенчмарк с данными лазерного сканирования помещений и открытых пространств.
  • Make3D: бенчмарк для открытых пространств кампуса с данными вне обучающего распределения.
  • iBims-1: высококачественный бенчмарк для помещений, предназначенный для оценки границ глубины и плоских поверхностей.

Классификация#

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

  • Caltech 101: набор изображений 101 категории объектов для задач классификации изображений.
  • Caltech 256: расширенная версия Caltech 101 с 256 категориями объектов и более сложными изображениями.
  • CIFAR-10: набор из 60 тыс. цветных изображений размером 32x32 в 10 классах — по 6 тыс. изображений на класс.
  • CIFAR-100: расширенная версия CIFAR-10 со 100 категориями объектов и 600 изображениями на класс.
  • Fashion-MNIST: набор из 70 000 изображений в градациях серого, представляющих 10 категорий одежды, для задач классификации изображений.
  • ImageNet: крупномасштабный набор данных для обнаружения объектов и классификации изображений; содержит более 14 млн изображений и 20 тыс. категорий.
  • ImageNet-10: небольшое подмножество ImageNet с 10 категориями для более быстрого экспериментирования и тестирования.
  • Imagenette: небольшое подмножество ImageNet с 10 легко различимыми классами для ускорения обучения и тестирования.
  • Imagewoof: более сложное подмножество ImageNet, включающее 10 категорий пород собак для задач классификации изображений.
  • MNIST: набор из 70 000 изображений рукописных цифр в градациях серого для задач классификации изображений.
  • MNIST160: первые 8 изображений каждой цифры (0-9) из обучающей и тестовой выборок MNIST. Всего в наборе 160 изображений.

Оценка позы#

Оценка позы — это метод определения положения объекта относительно камеры или мировой системы координат. Для этого на объектах, прежде всего на людях и животных, определяют ключевые точки или суставы.

  • COCO: крупномасштабный набор данных с разметкой поз людей для задач оценки позы.
  • COCO8-pose: небольшой набор данных для оценки позы, включающий подмножество из 8 изображений COCO с разметкой поз людей.
  • Dog-pose: обширный набор примерно из 8 500 изображений собак с разметкой 24 ключевых точек для каждой собаки, предназначенный для задач оценки позы.
  • Hand-Keypoints: компактный набор из более чем 26 000 изображений человеческих рук с разметкой 21 ключевой точки на каждой руке, предназначенный для задач оценки позы.
  • Tiger-pose: компактный набор из 263 изображений тигров с разметкой 12 ключевых точек для каждого тигра, предназначенный для задач оценки позы.

Ориентированные ограничивающие рамки (OBB)#

Ориентированные ограничивающие рамки (OBB) — это метод компьютерного зрения для обнаружения объектов под углом с помощью повернутых ограничивающих рамок; его часто применяют к аэрофотоснимкам и спутниковым изображениям. В отличие от обычных ограничивающих рамок, OBB лучше охватывают объекты с разной ориентацией.

  • DOTA-v2: популярный набор аэрофотоснимков для OBB с 1,7 млн экземпляров и 11 268 изображениями.
  • DOTA8: небольшое подмножество из первых 8 изображений раздела DOTAv1: 4 для обучения и 4 для валидации; подходит для быстрых проверок.
  • DOTA128: подмножество набора DOTA из 128 изображений для обучения и валидации, обеспечивающее хороший баланс размера и разнообразия при тестировании моделей OBB.

Добавление новых наборов данных#

Чтобы новый набор данных хорошо вписался в существующую инфраструктуру, при его добавлении нужно выполнить несколько шагов. Ниже перечислены необходимые действия:



Смотри: Как внести вклад в датасеты Ultralytics

Шаги по добавлению нового набора данных#

  1. Собери изображения: собери изображения, которые войдут в набор данных. Их можно получить из разных источников, например из общедоступных баз данных или собственной коллекции.

  2. Разметь изображения: разметь изображения ограничивающими рамками, сегментами или ключевыми точками в зависимости от задачи.

  3. Экспортируй разметку: преобразуй разметку в формат файлов YOLO *.txt, который поддерживает Ultralytics.

  4. Организуй набор данных: размести файлы в правильной структуре папок. В корне должны находиться каталоги верхнего уровня images/ и labels/, а в каждом из них — подкаталоги train/ и val/.

    dataset/
    ├── images/
    │   ├── train/
    │   └── val/
    └── labels/
        ├── train/
        └── val/
  5. Создай файл data.yaml: в корневом каталоге набора данных создай файл data.yaml с описанием набора данных, классов и другой необходимой информацией.

  6. Оптимизируй изображения (необязательно): если ты хочешь уменьшить размер набора данных, чтобы ускорить обработку, оптимизируй изображения с помощью приведенного ниже кода. Это необязательно, но рекомендуется для уменьшения размера набора данных и ускорения загрузки.

  7. Архивировать датасет: Сожми всю папку датасета в ZIP-архив.

  8. Документация и PR: Создай страницу документации с описанием датасета и его совместимости с существующей структурой. Затем отправь Pull Request (PR). Подробнее о том, как отправить PR, см. в Руководстве по внесению вклада в Ultralytics.

Пример кода для оптимизации и архивирования датасета#

Оптимизация и архивирование датасета
from pathlib import Path

from ultralytics.data.utils import compress_one_image
from ultralytics.utils.downloads import zip_directory

# Задать каталог датасета
path = Path("path/to/dataset")

# Оптимизировать изображения в датасете (необязательно)
for f in path.rglob("*.jpg"):
    compress_one_image(f)

# Заархивировать датасет в 'path/to/dataset.zip'
zip_directory(path)

Следуя этим шагам, ты сможешь добавить новый датасет, который хорошо впишется в существующую структуру Ultralytics.

Часто задаваемые вопросы#

  • Ultralytics поддерживает множество датасетов для обнаружения объектов, в том числе:

    • COCO: Крупномасштабный датасет для обнаружения объектов, сегментации и создания описаний, содержащий 80 категорий объектов.
    • LVIS: Обширный датасет с 1 203 категориями объектов, предназначенный для более детализированного обнаружения объектов и сегментации.
    • Argoverse: набор данных с информацией об отслеживании объектов в 3D и прогнозировании движения в городской среде, содержащий подробную разметку.
    • VisDrone: Датасет с данными для обнаружения объектов и многократного сопровождения объектов на изображениях, снятых с дронов.
    • SKU-110K: Датасет для обнаружения множества объектов в розничной торговле, включающий более 11 тысяч изображений.

    Эти датасеты помогают обучать надежные модели Ultralytics YOLO для различных задач обнаружения объектов.

  • Чтобы добавить новый датасет, выполни несколько шагов:

    1. Собери изображения: Используй общедоступные базы данных или личные коллекции.
    2. Разметь изображения: В зависимости от задачи добавь ограничивающие рамки, сегменты или ключевые точки.
    3. Экспортируй разметку: Преобразуй разметку в формат YOLO *.txt.
    4. Организуй датасет: Используй структуру папок с каталогами images/ и labels/, в каждом из которых есть подкаталоги train/ и val/.
    5. Создай файл data.yaml: Добавь описание датасета, классы и другую важную информацию.
    6. Оптимизируй изображения (необязательно): Уменьши размер датасета для повышения эффективности.
    7. Заархивируй датасет: Сожми датасет в ZIP-архив.
    8. Документация и PR: Опиши датасет и отправь Pull Request в соответствии с Руководством по внесению вклада в Ultralytics.

    Подробное руководство см. в разделе Добавление новых датасетов.

  • Ultralytics Platform предлагает мощные инструменты для управления датасетами и их анализа, в том числе:

    • Удобное управление датасетами: Загружай, упорядочивай и контролируй датасеты в одном месте.
    • Мгновенная интеграция с обучением: Используй загруженные датасеты для обучения моделей без дополнительной настройки.
    • Инструменты визуализации: Просматривай и визуализируй изображения и разметку датасета.
    • Анализ датасета: Получай сведения о распределении данных и характеристиках датасета.

    Платформа упрощает переход от управления датасетом к обучению модели и делает весь процесс эффективнее. Подробнее см. в разделе Датасеты Ultralytics Platform.

  • Модели Ultralytics YOLO предоставляют ряд уникальных возможностей для задач компьютерного зрения:

    • Работа в реальном времени: Высокая скорость инференса и обучения для задач, чувствительных к задержкам.
    • Универсальность: Поддержка обнаружения объектов, сегментации экземпляров, семантической сегментации, оценки глубины, классификации, оценки позы и задач с ориентированными ограничивающими рамками (OBB) в единой структуре.
    • Предобученные модели: Высокопроизводительные предобученные модели для разных задач, позволяющие сократить время обучения.
    • Широкая поддержка сообщества: Активное сообщество и подробная документация помогают решать проблемы и вести разработку.
    • Простая интеграция: Удобный API для интеграции с существующими проектами и рабочими процессами.

    Подробнее о моделях YOLO см. на странице Модели Ultralytics.

  • Чтобы оптимизировать и заархивировать датасет с помощью инструментов Ultralytics, воспользуйся этим примером кода:

    Оптимизация и архивирование датасета
    from pathlib import Path
    
    from ultralytics.data.utils import compress_one_image
    from ultralytics.utils.downloads import zip_directory
    
    # Задать каталог датасета
    path = Path("path/to/dataset")
    
    # Оптимизировать изображения в датасете (необязательно)
    for f in path.rglob("*.jpg"):
        compress_one_image(f)
    
    # Заархивировать датасет в 'path/to/dataset.zip'
    zip_directory(path)

    Этот процесс помогает уменьшить размер датасета, упростить хранение и ускорить загрузку. Подробнее об оптимизации и архивировании датасета.

Комментарии