Перейти к содержанию

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

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



Смотреть: Обзор наборов данных Ultralytics

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

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

  • African-wildlife: Набор данных с изображениями африканской дикой природы, включая буйволов, слонов, носорогов и зебр.
  • Argoverse: Набор данных, содержащий данные 3D-трекинга и прогнозирования движения из городских сред с богатой аннотацией.
  • Brain-tumor: Набор данных для detection опухолей головного мозга, включающий изображения МРТ или КТ-сканов с подробной информацией о наличии опухоли, ее местоположении и характеристиках.
  • COCO: Common Objects in Context (COCO) — это масштабный набор данных для object detection, segmentation и создания подписей с 80 категориями объектов.
  • COCO8: Небольшое подмножество из первых 4 изображений из COCO train и COCO val, подходящее для быстрых тестов.
  • COCO8-Grayscale: Версия COCO8 в оттенках серого, созданная путем преобразования RGB в оттенки серого, полезна для оценки одноканальных моделей.
  • COCO8-Multispectral: 10-канальная мультиспектральная версия COCO8, созданная путем интерполяции длин волн RGB, полезна для оценки моделей, учитывающих спектральные характеристики.
  • COCO128: Небольшое подмножество из первых 128 изображений из COCO train и COCO val, подходящее для тестов.
  • Construction-PPE: Набор данных изображений строительной площадки с аннотациями ключевых средств защиты, таких как каски, жилеты, перчатки, ботинки и очки, а также с метками для отсутствующего оборудования, что поддерживает разработку моделей ИИ для контроля соответствия требованиям и защиты работников.
  • Global Wheat 2020: Набор данных, содержащий изображения колосьев пшеницы для Global Wheat Challenge 2020.
  • HomeObjects-3K: Набор данных с аннотированными изображениями помещений, содержащий 12 распространенных предметов домашнего обихода, идеально подходящий для разработки и тестирования моделей компьютерного зрения в системах умного дома, робототехнике и дополненной реальности.
  • KITTI New: Известный набор данных для автономного вождения, включающий стереоизображения, данные LiDAR и GPS/IMU, используемый для 2D detect объектов в различных дорожных сценах.
  • LVIS: Масштабный набор данных для обнаружения объектов, сегментации и создания подписей с 1203 категориями объектов.
  • Medical-pills: Набор данных, содержащий размеченные изображения медицинских таблеток, предназначенный для помощи в таких задачах, как контроль качества фармацевтической продукции, сортировка и обеспечение соответствия отраслевым стандартам.
  • Objects365: Высококачественный, масштабный набор данных для обнаружения объектов с 365 категориями объектов и более 600 тыс. аннотированных изображений.
  • OpenImagesV7: Обширный набор данных от Google с 1,7 млн обучающих изображений и 42 тыс. изображений для проверки.
  • RF100: Разнообразный эталон для обнаружения объектов, включающий 100 наборов данных, охватывающих семь областей изображений для всесторонней оценки модели.
  • Signature: Набор данных с изображениями различных документов с аннотированными подписями, поддерживающий проверку документов и исследования по обнаружению мошенничества.
  • SKU-110K: Набор данных, предназначенный для плотного обнаружения объектов в розничной торговле, содержит более 11 тыс. изображений и 1,7 млн ограничивающих рамок.
  • VisDrone: Набор данных, содержащий данные об обнаружении объектов и отслеживании нескольких объектов, полученные с помощью изображений, снятых с дронов, с более чем 10 тыс. изображений и видеопоследовательностей.
  • VOC: Набор данных Pascal Visual Object Classes (VOC) для detect и segment с 20 классами объектов и более 11 тыс. изображений.
  • xView: Набор данных для обнаружения объектов на изображениях сверху с 60 категориями объектов и более 1 миллиона аннотированных объектов.

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

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

  • Carparts-seg: Специально созданный набор данных для идентификации автомобильных деталей, предназначенный для нужд проектирования, производства и исследований. Он служит как для задач обнаружения объектов, так и для сегментации.
  • COCO: Масштабный набор данных, предназначенный для задач object detection, segmentation и создания подписей, содержащий более 200 тысяч размеченных изображений.
  • COCO8-seg: Небольшой набор данных для задач instance segmentation, содержащий подмножество из 8 изображений COCO с аннотациями segmentation.
  • COCO128-seg: Небольшой набор данных для задач instance segmentation, содержащий подмножество из 128 изображений COCO с аннотациями segmentation.
  • Crack-seg: Специально разработанный набор данных для обнаружения трещин на дорогах и стенах, применимый как для задач обнаружения объектов, так и для сегментации.
  • Package-seg: Специализированный набор данных для идентификации пакетов на складах или в промышленных условиях, подходящий как для обнаружения объектов, так и для сегментации.

Оценка позы

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

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

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

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

  • 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 изображений каждой категории MNIST из набора данных MNIST. Набор данных содержит 160 изображений.

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

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

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

Отслеживание нескольких объектов

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

  • Argoverse: Набор данных, содержащий данные 3D-трекинга и прогнозирования движения из городских сред с богатой аннотацией для задач отслеживания нескольких объектов.
  • VisDrone: Набор данных, содержащий данные об обнаружении объектов и отслеживании нескольких объектов, полученные с помощью изображений, снятых с дронов, с более чем 10 тыс. изображений и видеопоследовательностей.

Добавить новые наборы данных

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



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

Этапы добавления нового набора данных

  1. Сбор изображений: Соберите изображения, которые принадлежат набору данных. Их можно собрать из различных источников, таких как общедоступные базы данных или ваша собственная коллекция.
  2. Аннотирование изображений: Аннотируйте эти изображения с помощью ограничивающих рамок, сегментов или ключевых точек, в зависимости от задачи.
  3. Экспорт аннотаций: Преобразуйте эти аннотации в формат *.txt файлов YOLO, который поддерживает 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). Обратитесь к Руководству по внесению вклада Ultralytics для получения более подробной информации о том, как отправить PR.

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

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

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 для обнаружения объектов?

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

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

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

Как добавить новый набор данных в Ultralytics?

Вклад в создание нового набора данных включает несколько этапов:

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

Посетите страницу Внести новые наборы данных для получения подробного руководства.

Почему я должен использовать платформу Ultralytics для моего набора данных?

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

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

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

В чем уникальные особенности моделей Ultralytics YOLO для компьютерного зрения?

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

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

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

Как я могу оптимизировать и заархивировать набор данных с помощью инструментов Ultralytics?

Чтобы оптимизировать и заархивировать набор данных с помощью инструментов 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)

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



📅 Создано 2 лет назад ✏️ Обновлено 7 дней назад
glenn-jocherRizwanMunawarjk4eLaughing-qRizwanMunawarAyushExelpderrengerfcakyonlakshanthadMatthewNoyceBurhan-Qabirami-vina

Комментарии