Обзор наборов данных#
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
Шаги по добавлению нового набора данных#
-
Сбор изображений: собери изображения, которые войдут в набор данных. Их можно получить из различных источников, например из общедоступных баз данных или собственной коллекции.
-
Разметка изображений: разметь эти изображения ограничивающими рамками, сегментами или ключевыми точками в зависимости от задачи.
-
Экспорт разметки: преобразуй эту разметку в формат файла YOLO
*.txt, который поддерживает Ultralytics. -
Организация набора данных: распредели файлы набора данных в правильной структуре папок. У тебя должны быть каталоги верхнего уровня
images/иlabels/, а внутри каждого — подкаталогиtrain/иval/.dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/ -
Создание файла
data.yaml: в корневом каталоге набора данных создай файлdata.yaml, описывающий набор данных, классы и другую необходимую информацию. -
Оптимизация изображений (необязательно): если ты хочешь уменьшить размер набора данных для более эффективной обработки, оптимизируй изображения с помощью приведённого ниже кода. Это необязательно, но рекомендуется для уменьшения размера набора данных и ускорения загрузки.
-
Архивация набора данных: сожми всю папку набора данных в zip-файл.
-
Документация и 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 для различных задач обнаружения объектов.
Добавление нового набора данных включает несколько шагов:
- Сбор изображений: собери изображения из общедоступных баз данных или личных коллекций.
- Разметка изображений: добавь ограничивающие рамки, сегменты или ключевые точки в зависимости от задачи.
- Экспорт разметки: преобразуй разметку в формат YOLO
*.txt. - Организация набора данных: используй структуру папок с каталогами
train/иval/, каждый из которых содержит подкаталогиimages/иlabels/. - Создание файла
data.yaml: добавь описание набора данных, классы и другую необходимую информацию. - Оптимизация изображений (необязательно): уменьши размер набора данных для повышения эффективности.
- Архивация набора данных: сожми набор данных в zip-файл.
- Документация и 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.