Link to this sectionОбзор наборов данных#
Ultralytics обеспечивает поддержку различных наборов данных для решения задач компьютерного зрения, таких как детекция, сегментация экземпляров, семантическая сегментация, оценка позы, классификация и отслеживание нескольких объектов. Ниже представлен список основных наборов данных Ultralytics, за которым следует краткое описание каждой задачи компьютерного зрения и соответствующие наборы данных.
Watch: Ultralytics Datasets Overview
Link to this sectionДетекция объектов#
Детекция объектов с использованием ограничивающих рамок — это метод компьютерного зрения, который заключается в обнаружении и локализации объектов на изображении путем отрисовки ограничивающей рамки вокруг каждого объекта.
- African-wildlife: Набор данных с изображениями дикой природы Африки, включая буйволов, слонов, носорогов и зебр.
- Argoverse: Набор данных, содержащий информацию о 3D-отслеживании и прогнозировании движения в городских условиях с подробными аннотациями.
- Brain-tumor: Набор данных для обнаружения опухолей головного мозга, включающий МРТ или КТ-снимки с данными о наличии, расположении и характеристиках опухоли.
- COCO: Common Objects in Context (COCO) — это масштабный набор данных для детекции, сегментации и описания объектов, содержащий 80 категорий.
- COCO8: Небольшая подвыборка из первых 4 изображений из обучающей и валидационной выборок COCO, подходящая для быстрых тестов.
- COCO8-Grayscale: Чёрно-белая версия COCO8, созданная путем преобразования RGB в оттенки серого, полезна для оценки моделей с одним каналом.
- COCO8-Multispectral: 10-канальная мультиспектральная версия COCO8, созданная путем интерполяции длин волн RGB, полезна для оценки моделей с учетом спектральных данных.
- COCO128: Небольшая подвыборка из первых 128 изображений из COCO train2017, подходящая для тестов.
- Construction-PPE: Набор данных изображений строительных площадок с аннотациями ключевых средств защиты, таких как каски, жилеты, перчатки, ботинки и очки, а также метками для отсутствующего оборудования, что поддерживает разработку ИИ-моделей для обеспечения безопасности труда и соответствия требованиям.
- Global Wheat 2020: Набор данных, содержащий изображения колосьев пшеницы для конкурса Global Wheat Challenge 2020.
- HomeObjects-3K: Набор данных аннотированных интерьеров, содержащий 12 распространенных бытовых предметов, идеально подходящий для разработки и тестирования моделей компьютерного зрения в системах умного дома, робототехнике и дополненной реальности.
- KITTI New: Известный набор данных для автономного вождения, включающий данные стереокамер, LiDAR и GPS/IMU, используемый для 2D-детекции объектов в различных дорожных условиях.
- 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) для детекции и сегментации объектов с 20 классами и более 11 тыс. изображений.
- xView: Набор данных для детекции объектов на аэрофотоснимках с 60 категориями и более 1 миллиона аннотированных объектов.
Link to this sectionСегментация экземпляров#
Сегментация экземпляров — это метод компьютерного зрения, который включает идентификацию и локализацию объектов на изображении на уровне пикселей. В отличие от семантической сегментации, которая просто классифицирует каждый пиксель, сегментация экземпляров различает разные экземпляры одного и того же класса.
- Carparts-seg: Специализированный набор данных для идентификации автомобильных запчастей, предназначенный для нужд проектирования, производства и исследований. Он подходит как для задач детекции, так и для сегментации объектов.
- COCO: Масштабный набор данных, предназначенный для задач детекции, сегментации и описания объектов, содержащий более 200 тысяч размеченных изображений.
- COCO8-seg: Небольшой набор данных для задач сегментации экземпляров, содержащий подвыборку из 8 изображений COCO с аннотациями сегментации.
- COCO128-seg: Небольшой набор данных для задач сегментации экземпляров, содержащий подвыборку из 128 изображений COCO с аннотациями сегментации.
- Crack-seg: Специально разработанный набор данных для обнаружения трещин на дорогах и стенах, применимый как для задач детекции, так и для сегментации объектов.
- Package-seg: Специализированный набор данных для идентификации посылок на складах или в промышленных условиях, подходящий как для детекции, так и для сегментации объектов.
Link to this sectionСемантическая сегментация#
Семантическая сегментация присваивает метку класса каждому пикселю на изображении, создавая плотные карты сцен для таких приложений, как автономное вождение, синтаксический анализ сцен и картирование земного покрова.
- Cityscapes: Набор данных семантической сегментации городских уличных сцен с 19 классами для обучения.
- Cityscapes8: Компактная подвыборка из 8 изображений Cityscapes для быстрой проверки конвейера семантической сегментации.
- ADE20K: Набор данных для синтаксического анализа сцен со 150 семантическими классами.
Link to this sectionОценка позы#
Оценка позы — это метод, используемый для определения позы объекта относительно камеры или мировой системы координат. Он включает идентификацию ключевых точек или суставов на объектах, в частности, людях или животных.
- COCO: Масштабный набор данных с аннотациями поз человека, предназначенный для задач оценки позы.
- COCO8-pose: Небольшой набор данных для задач оценки позы, содержащий подвыборку из 8 изображений COCO с аннотациями поз человека.
- Dog-pose: Комплексный набор данных, включающий около 8500 изображений собак, аннотированных 24 ключевыми точками для каждой собаки, адаптированный для задач оценки позы.
- Hand-Keypoints: Краткий набор данных, включающий более 26 000 изображений кистей рук человека, аннотированных 21 ключевой точкой для каждой руки, разработанный для задач оценки позы.
- Tiger-pose: Компактный набор данных, состоящий из 263 изображений тигров, аннотированных 12 ключевыми точками для каждого тигра для задач оценки позы.
Link to this sectionКлассификация#
Классификация изображений — это задача компьютерного зрения, которая включает категоризацию изображения в один или несколько предопределенных классов на основе его визуального содержимого.
- 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 изображений.
Link to this sectionОриентированные ограничивающие рамки (OBB)#
Ориентированные ограничивающие рамки (OBB) — это метод в компьютерном зрении для обнаружения объектов под углом на изображениях с использованием повернутых рамок, который часто применяется к аэрофотоснимкам и спутниковым изображениям. В отличие от традиционных ограничивающих рамок, OBB лучше подходят для объектов с различной ориентацией.
- DOTA-v2: Популярный набор данных OBB для аэрофотосъемки, содержащий 1,7 миллиона экземпляров и 11 268 изображений.
- DOTA8: Небольшая подвыборка из первых 8 изображений из набора DOTAv1, 4 для обучения и 4 для валидации, подходящая для быстрых тестов.
- DOTA128: Подвыборка из 128 изображений набора DOTA для обучения и валидации, обеспечивающая хороший баланс между размером и разнообразием для тестирования моделей OBB.
Link to this sectionОтслеживание нескольких объектов#
Отслеживание нескольких объектов — это метод компьютерного зрения, который включает обнаружение и отслеживание нескольких объектов во времени в последовательности видео. Эта задача расширяет детекцию объектов, поддерживая согласованную идентификацию объектов между кадрами.
- Argoverse: Набор данных, содержащий данные 3D-отслеживания и прогнозирования движения из городской среды с подробными аннотациями для задач отслеживания нескольких объектов.
- VisDrone: Набор данных, содержащий данные детекции объектов и отслеживания нескольких объектов с аэрофотосъемки дронов, включающий более 10 тыс. изображений и видеопоследовательностей.
Link to this sectionВнеси свой вклад в создание новых наборов данных#
Внесение вклада в виде нового набора данных включает несколько шагов, чтобы гарантировать его соответствие существующей инфраструктуре. Ниже приведены необходимые шаги:
Watch: How to Contribute to Ultralytics Datasets
Link to this sectionШаги для внесения вклада в новый набор данных#
-
Сбор изображений: Собери изображения, которые относятся к набору данных. Их можно собрать из различных источников, таких как общедоступные базы данных или собственная коллекция.
-
Аннотирование изображений: Проаннотируй эти изображения ограничивающими рамками, сегментами или ключевыми точками в зависимости от задачи.
-
Экспорт аннотаций: Конвертируй эти аннотации в формат файлов YOLO
*.txt, который поддерживает Ultralytics. -
Организация набора данных: Упорядочи свой набор данных в правильную структуру папок. У тебя должны быть папки верхнего уровня
images/иlabels/, а внутри каждой — подпапкиtrain/иval/.dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/ -
Создание файла
data.yaml: В корневой директории твоего набора данных создай файлdata.yaml, описывающий набор данных, классы и другую необходимую информацию. -
Оптимизация изображений (необязательно): Если ты хочешь уменьшить размер набора данных для более эффективной обработки, ты можешь оптимизировать изображения с помощью кода ниже. Это не обязательно, но рекомендуется для уменьшения размера набора данных и ускорения загрузки.
-
Архивация набора данных: Сожми всю папку с набором данных в zip-файл.
-
Документирование и PR: Создай страницу документации, описывающую твой набор данных и то, как он вписывается в существующую структуру. После этого отправь Pull Request (PR). Обратись к Руководству по внесению вклада в Ultralytics для получения подробной информации о том, как отправить PR.
Link to this sectionПример кода для оптимизации и архивации набора данных#
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.
Link to this sectionFAQ#
Link to this sectionКакие наборы данных Ultralytics поддерживает для детекции объектов?#
Ultralytics поддерживает широкий спектр наборов данных для детекции объектов, включая:
- COCO: Масштабный набор данных для детекции, сегментации и описания объектов, содержащий 80 категорий.
- LVIS: Обширный набор данных с 1203 категориями объектов, разработанный для более детальной детекции и сегментации объектов.
- Argoverse: Набор данных, содержащий информацию о 3D-отслеживании и прогнозировании движения в городских условиях с подробными аннотациями.
- VisDrone: Набор данных с данными детекции и отслеживания нескольких объектов с аэрофотосъемки дронов.
- SKU-110K: Включает плотную детекцию объектов в розничной среде с более чем 11 тыс. изображений.
Эти наборы данных способствуют обучению надежных моделей Ultralytics YOLO для различных приложений детекции объектов.
Link to this sectionКак мне внести свой вклад в новый набор данных для Ultralytics?#
Внесение вклада в новый набор данных включает несколько шагов:
- Сбор изображений: Собери изображения из общедоступных баз данных или личных коллекций.
- Аннотирование изображений: Нанеси ограничивающие рамки, сегменты или ключевые точки в зависимости от задачи.
- Экспорт аннотаций: Конвертируй аннотации в формат YOLO
*.txt. - Организация набора данных: Используй структуру папок с директориями
train/иval/, каждая из которых содержит подпапкиimages/иlabels/. - Создание файла
data.yaml: Включи описание набора данных, классы и другую соответствующую информацию. - Оптимизация изображений (необязательно): Уменьши размер набора данных для эффективности.
- Архивация набора данных: Сожми набор данных в zip-файл.
- Документирование и PR: Опиши свой набор данных и отправь Pull Request, следуя Руководству по внесению вклада в Ultralytics.
Посети Внесение вклада в новые наборы данных для получения полного руководства.
Link to this sectionПочему мне стоит использовать платформу Ultralytics для своего набора данных?#
Ultralytics Platform предлагает мощные функции для управления данными и их анализа, включая:
- Бесшовное управление наборами данных: Загружай, организуй и управляй своими наборами данных в одном месте.
- Мгновенная интеграция с обучением: Используй загруженные наборы данных напрямую для обучения моделей без дополнительной настройки.
- Инструменты визуализации: Изучай и визуализируй изображения и аннотации твоего набора данных.
- Анализ наборов данных: Получай ценную информацию о распределении и характеристиках твоего набора данных.
Платформа упрощает переход от управления данными к обучению моделей, делая весь процесс более эффективным. Узнай больше об Ultralytics Platform Datasets.
Link to this sectionКаковы уникальные особенности моделей Ultralytics YOLO для компьютерного зрения?#
Модели Ultralytics YOLO предоставляют ряд уникальных возможностей для задач computer vision:
- Производительность в реальном времени: Высокоскоростной инференс и возможности обучения для приложений, критичных ко времени.
- Универсальность: Поддержка задач детектирования, сегментации экземпляров, семантической сегментации, классификации и оценки поз в рамках единого фреймворка.
- Предобученные модели: Доступ к высокопроизводительным предобученным моделям для различных приложений, что сокращает время обучения.
- Широкая поддержка сообщества: Активное сообщество и исчерпывающая документация для решения проблем и разработки.
- Легкая интеграция: Простой API для интеграции с существующими проектами и рабочими процессами.
Узнай больше о моделях YOLO на странице Ultralytics Models.
Link to this sectionКак я могу оптимизировать и заархивировать набор данных с помощью инструментов 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)Этот процесс помогает уменьшить размер набора данных для более эффективного хранения и ускорения загрузки. Узнай больше о том, как оптимизировать и заархивировать набор данных.