Ultralytics YOLO27:

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

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



Watch: Ultralytics Datasets Overview

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

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

  • African-wildlife: набор данных с изображениями африканских животных, включая буйволов, слонов, носорогов и зебр.
  • Argoverse: набор данных, содержащий информацию для 3D-отслеживания и прогнозирования движения в городской среде с подробной разметкой.
  • Brain-tumor: набор данных для обнаружения опухолей мозга, включающий изображения МРТ или КТ с информацией о наличии, местоположении и характеристиках опухолей.
  • COCO: «Общие объекты в контексте» (COCO) — крупномасштабный набор данных для обнаружения объектов, сегментации и создания описаний изображений с 80 категориями объектов.
  • COCO8: Меньшая подвыборка из первых 8 изображений из обучающего набора COCO train2017 (4 для обучения и 4 для валидации), подходящая для быстрых тестов.
  • COCO8-Grayscale: версия COCO8 в градациях серого, созданная преобразованием RGB в градации серого и подходящая для оценки одноканальных моделей.
  • COCO8-Multispectral: мультиспектральная версия COCO8 с 10 каналами, созданная интерполяцией длин волн RGB и подходящая для оценки моделей с учётом спектральных характеристик.
  • COCO12-Formats: Тестовый набор из 12 изображений, охватывающий 12 поддерживаемых форматов изображений (AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WebP) для проверки конвейеров загрузки изображений.
  • COCO128: уменьшенное подмножество из первых 128 изображений COCO train2017, подходящее для тестов.
  • Construction-PPE: набор данных с изображениями строительных площадок, размеченными по основным средствам безопасности, таким как каски, жилеты, перчатки, ботинки и защитные очки, а также по отсутствующему оборудованию; он поддерживает разработку AI-моделей для контроля соблюдения требований и защиты работников.
  • Global Wheat 2020: набор данных с изображениями колосьев пшеницы для Global Wheat Challenge 2020.
  • HomeObjects-3K: набор данных с размеченными изображениями помещений, содержащими 12 распространённых предметов домашнего обихода; подходит для разработки и тестирования моделей компьютерного зрения в системах умного дома, робототехнике и дополненной реальности.
  • KITTI: Известный набор данных для автономного вождения со стереокамерой, лидаром и GPS/IMU-данными, используемый для обнаружения объектов в 2D в различных дорожных сценариях.
  • LVIS: крупномасштабный набор данных для обнаружения объектов, сегментации и создания описаний изображений с 1203 категориями объектов.
  • Medical-pills: набор данных с размеченными изображениями медицинских таблеток, предназначенный для таких задач, как контроль качества фармацевтической продукции, сортировка и обеспечение соответствия отраслевым стандартам.
  • Objects365: высококачественный крупномасштабный набор данных для обнаружения объектов с 365 категориями объектов и более чем 600 тыс. размеченных изображений.
  • OpenImagesV7: комплексный набор данных от Google с 1,7 млн обучающих изображений и 42 тыс. проверочных изображений.
  • RF100: разнообразный эталонный набор для обнаружения объектов, включающий 100 наборов данных из семи доменов изображений для всесторонней оценки моделей.
  • Signature: набор данных с изображениями различных документов и размеченными подписями, предназначенный для исследований проверки документов и обнаружения мошенничества.
  • SKU-110K: набор данных для обнаружения большого количества объектов в розничной торговле, содержащий более 11 тыс. изображений и 1,7 млн ограничивающих рамок.
  • TT100K: Набор данных дорожных знаков Tsinghua-Tencent 100K, содержащий 16 817 изображений уличных видов в 221 категории знаков.
  • VisDrone: набор данных с информацией для обнаружения объектов и отслеживания нескольких объектов на изображениях, снятых дронами, содержащий более 10 тыс. изображений и видеопоследовательностей.
  • VOC: набор данных Pascal «Визуальные классы объектов» (VOC) для обнаружения объектов и сегментации с 20 классами объектов и более чем 11 тыс. изображений.
  • 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-данные, полученные с помощью Apple ARKit LiDAR, представляющие собой крупнейший реальный источник для обучения.
  • SUN RGB-D: Реальные интерьерные сцены, полученные с помощью четырех различных RGB-D-сенсоров.
  • DIODE: Плотная глубина в помещениях и на улице, полученная с помощью лазерного сканера геодезического класса.
  • Hypersim: Фотореалистичные синтетические интерьерные сцены с идеальной глубиной на каждый пиксель.
  • TartanAir: Синтетические среды AirSim с плотной глубиной до ~80 м.
  • Virtual KITTI 2: Синтетическое воссоздание сцен вождения KITTI с плотной глубиной.
  • KITTI: Реальные уличные сцены автономного вождения с глубиной от лидара 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 000 категорий.
  • 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: комплексный набор данных примерно из 8500 изображений собак с разметкой 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.

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

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



Watch: How to Contribute to Ultralytics Datasets

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

  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: создай страницу документации с описанием набора данных и его интеграции в существующую структуру. После этого отправь запрос на слияние (PR). Подробнее о том, как отправить PR, см. в руководстве Ultralytics по внесению изменений.

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

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

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

# Define dataset directory
path = Path("path/to/dataset")

# Optimize images in dataset (optional)
for f in path.rglob("*.jpg"):
    compress_one_image(f)

# Zip dataset into 'path/to/dataset.zip'
zip_directory(path)

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

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

  • Ultralytics поддерживает широкий спектр наборов данных для обнаружения объектов, включая:

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

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

  • Добавление нового набора данных включает несколько шагов:

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

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

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

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

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

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

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

    Узнай больше о моделях YOLO на странице моделей Ultralytics.

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

    Оптимизация и архивация набора данных
    from pathlib import Path
    
    from ultralytics.data.utils import compress_one_image
    from ultralytics.utils.downloads import zip_directory
    
    # Define dataset directory
    path = Path("path/to/dataset")
    
    # Optimize images in dataset (optional)
    for f in path.rglob("*.jpg"):
        compress_one_image(f)
    
    # Zip dataset into 'path/to/dataset.zip'
    zip_directory(path)

    Этот процесс помогает уменьшить размер датасета, чтобы эффективнее хранить его и быстрее скачивать. Узнай больше о том, как оптимизировать и упаковать датасет в ZIP.

Комментарии