Перейти к содержимому

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

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



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

Ultralytics Исследователь

Заметка для сообщества ⚠️

По состоянию на ultralytics>=8.3.10, поддержка Ultralytics explorer была упразднена. Но не волнуйся! Теперь ты можешь получить доступ к аналогичной и даже расширенной функциональности через Ultralytics HUBнаша интуитивно понятная платформа без кода, призванная оптимизировать твой рабочий процесс. С Ultralytics HUB ты сможешь продолжать исследовать, визуализировать и управлять своими данными без особых усилий, не написав ни строчки кода. Обязательно зацени его и воспользуйся его мощными возможностями!🚀

Создавай вкрапления для своего набора данных, ищи похожие изображения, выполняй SQL-запросы, проводи семантический поиск и даже поиск с помощью естественного языка! Ты можешь начать работу с нашим приложением с графическим интерфейсом или создать свое собственное, используя API. Узнать больше можно здесь.

Ultralytics Скриншот проводника

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

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

  • Argoverse: Набор данных, содержащий данные 3D-трекинга и прогнозирования движения в городской среде с богатыми аннотациями.
  • COCO: Common Objects in Context (COCO) - это масштабный набор данных по обнаружению, сегментации объектов и созданию надписей, включающий 80 категорий объектов.
  • LVIS: масштабный набор данных для обнаружения, сегментации и создания титров, включающий 1203 категории объектов.
  • COCO8: меньшее подмножество первых 4 изображений из COCO train и COCO val, подходящее для быстрых тестов.
  • COCO128: меньшее подмножество первых 128 изображений из COCO train и COCO val, подходящее для тестов.
  • Global Wheat 2020: Набор данных, содержащий изображения головок пшеницы для Глобального пшеничного вызова 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 миллионом аннотированных объектов.
  • RF100: эталон обнаружения разнообразных объектов, включающий 100 наборов данных, охватывающих семь областей изображений, для всесторонней оценки моделей.
  • Опухоль головного мозга: Набор данных для обнаружения опухолей мозга включает в себя снимки МРТ или КТ с подробной информацией о наличии, расположении и характеристиках опухоли.
  • African-wildlife: Набор данных, содержащий изображения диких животных Африки, включая буйвола, слона, носорога и зебру.
  • Подпись: Набор данных, содержащий изображения различных документов с аннотированными подписями, поддерживающий исследования по проверке документов и выявлению мошенничества.

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

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

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

Оценка позы

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

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

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

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

  • Caltech 101: набор данных, содержащий изображения 101 категории объектов для задач классификации изображений.
  • Caltech 256: Расширенная версия Caltech 101 с 256 категориями объектов и более сложными изображениями.
  • CIFAR-10: набор данных из 60 тысяч цветных изображений 32х32 в 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. Всего в наборе содержится 160 изображений.

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

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

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

Слежение за несколькими объектами

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

  • 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 Dataset: Сожми всю папку с набором данных в zip-файл.
  8. Документируй и пиарь: Создай страницу документации, описывающую твой набор данных и то, как он вписывается в существующий фреймворк. После этого отправь Pull Request (PR). Подробнее о том, как подавать PR, читай в Ultralytics Contribution Guidelines.

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

Оптимизируй и уменьшай набор данных

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

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

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

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

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

Посетите раздел " Вносить новые данные ", чтобы получить исчерпывающее руководство.

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

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

  • Генерация эмбеддингов: Создавай векторные вкрапления для изображений.
  • Семантический поиск: Ищи похожие изображения с помощью вкраплений или искусственного интеллекта.
  • SQL-запросы: Выполняй продвинутые SQL-запросы для детального анализа данных.
  • Поиск на естественном языке: Ищи с помощью запросов на простом языке для удобства использования.

Изучи Ultralytics Explorer, чтобы получить больше информации и попробовать демо-версию графического интерфейса.

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

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

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

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

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

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

📅 Создано 1 год назад ✏️ Обновлено 3 дня назад

Комментарии