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

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

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

Заметка

🚧 Наша многоязычная документация в настоящее время находится в стадии разработки, и мы усердно работаем над ее улучшением. Спасибо за терпение! 🙏

Наборы данных для обнаружения

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

  • Argoverse: Набор данных, содержащий данные о 3D отслеживании и прогнозировании движения из городских условий с подробными аннотациями.
  • COCO: Масштабный набор данных, предназначенный для обнаружения объектов, сегментации и аннотирования с более чем 200 тыс. помеченных изображений.
  • COCO8: Содержит первые 4 изображения из наборов COCO train и COCO val, подходит для быстрых тестов.
  • Global Wheat 2020: Набор данных из изображений колосьев пшеницы, собранных со всего мира для задач обнаружения и локализации объектов.
  • Objects365: Качественный набор данных большого масштаба для обнаружения объектов с 365 категориями объектов и более чем 600 тыс. помеченных изображений.
  • OpenImagesV7: Обширный набор данных от Google с 1,7 млн. изображений для обучения и 42 тыс. изображений для проверки.
  • SKU-110K: Набор данных для плотного обнаружения объектов в розничной торговле с более чем 11 тыс. изображений и 1,7 млн. ограничивающих рамок.
  • VisDrone: Набор данных, содержащий данные для обнаружения объектов и многократного отслеживания из изображений, полученных с дронов, с более чем 10 тыс. изображений и видеопоследовательностей.
  • VOC: Набор данных Pascal Visual Object Classes (VOC) для обнаружения объектов и сегментации с 20 категориями объектов и более чем 11 тыс. изображений.
  • xView: Набор данных для обнаружения объектов на изображениях с воздуха с 60 категориями объектов и более чем 1 млн. аннотированных объектов.

Наборы данных для индивидуальной сегментации

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

  • COCO: Масштабный набор данных, разработанный для задач обнаружения объектов, сегментации и аннотирования с более чем 200 тыс. помеченных изображений.
  • COCO8-seg: Уменьшенный набор данных для задач индивидуальной сегментации, содержащий подмножество из 8 изображений COCO с аннотациями сегментации.

Оценка поз

Оценка позы - это техника, используемая для определения позы объекта относительно камеры или системы координат мира.

  • COCO: Масштабный набор данных с аннотациями человеческой позы, разработанный для задач оценки позы.
  • COCO8-pose: Уменьшенный набор данных для задач оценки позы, содержащий подмножество из 8 изображений COCO с аннотациями позы человека.
  • 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 тыс. изображений в оттенках серого 10 модных категорий для задач классификации изображений.
  • ImageNet: Масштабный набор данных для обнаружения объектов и классификации изображений с более чем 14 млн. изображений и 20 тыс. категорий.
  • ImageNet-10: Уменьшенное подмножество ImageNet с 10 категориями для более быстрого экспериментирования и тестирования.
  • Imagenette: Уменьшенное подмножество ImageNet, содержащее 10 легко различаемых классов для более быстрого обучения и тестирования.
  • Imagewoof: Более сложное подмножество ImageNet, содержащее 10 категорий пород собак для задач классификации изображений.
  • MNIST: Набор данных из 70 тыс. изображений в оттенках серого рукописных цифр для задач классификации изображений.

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

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

  • DOTAv2: Популярный набор данных аэрофотосъемки OBB с 1,7 миллионами инста nces и 11,268 изображениями.

Многократное отслеживание объектов

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

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

Внесение новых наборов данных

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

Шаги для внесения нового набора данных

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

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

  3. Экспорт аннотаций: Конвертируйте эти аннотации в формат файлов YOLO *.txt, который поддерживается Ultralytics.

  4. Организация набора данных: Распределите ваш набор данных в правильную структуру папок. У вас должны быть каталоги верхнего уровня train/ и val/, и в каждом из них подкаталоги images/ и labels/.

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

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

  7. Архивация набора данных: Сжать всю папку набора данных в zip-файл.

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

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

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

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.


Created 2023-11-13, Updated 2023-11-19
Authors: glenn-jocher (3)

Комментарии