Link to this sectionНабор данных Roboflow 100#
Roboflow 100, спонсируемый Intel, — это революционный набор данных для тестирования обнаружения объектов. Он включает 100 разнообразных наборов данных. Этот бенчмарк специально разработан для проверки адаптируемости моделей компьютерного зрения, таких как модели Ultralytics YOLO, к различным областям, включая здравоохранение, аэрофотосъемку и видеоигры.
Ultralytics предлагает два варианта лицензирования для разных сценариев использования:
- Лицензия AGPL-3.0: Эта одобренная OSI лицензия с открытым исходным кодом идеально подходит для студентов и энтузиастов, способствуя открытому сотрудничеству и обмену знаниями. Ознакомься с файлом LICENSE для получения более подробной информации и посети нашу страницу лицензии AGPL-3.0.
- Корпоративная лицензия (Enterprise License): Для разработки и коммерческого использования эта лицензия обеспечивает бесшовную интеграцию ПО и AI-моделей Ultralytics в бизнес-продукты и сервисы, включая внутренние инструменты, автоматизированные рабочие процессы и развертывание в продакшене, минуя требования открытого исходного кода AGPL-3.0. Чтобы начать, свяжись с нами через Ultralytics Licensing.
Link to this sectionКлючевые особенности#
- Разнообразные домены: Включает 100 наборов данных в семи различных доменах: аэрофотосъемка, видеоигры, микроскопические объекты, подводные объекты, документы, электромагнитные данные и реальный мир.
- Масштаб: Бенчмарк состоит из 224 714 изображений в 805 классах, что представляет собой более 11 170 часов работы по разметке данных.
- Стандартизация: Все изображения предобработаны и приведены к размеру 640x640 пикселей для единообразной оценки.
- Чистая оценка: Фокусируется на устранении двусмысленности классов и фильтрации недостаточно представленных классов для обеспечения более точной оценки модели.
- Аннотации: Включает ограничивающие рамки для объектов, подходящие для обучения и оценки моделей обнаружения объектов с использованием таких метрик, как mAP.
Link to this sectionСтруктура набора данных#
Набор данных Roboflow 100 организован по семи категориям, каждая из которых содержит уникальную коллекцию наборов данных, изображений и классов:
- Аэрофотосъемка: 7 наборов данных, 9 683 изображения, 24 класса.
- Видеоигры: 7 наборов данных, 11 579 изображений, 88 классов.
- Микроскопические объекты: 11 наборов данных, 13 378 изображений, 28 классов.
- Подводные объекты: 5 наборов данных, 18 003 изображения, 39 классов.
- Документы: 8 наборов данных, 24 813 изображений, 90 классов.
- Электромагнитные данные: 12 наборов данных, 36 381 изображение, 41 класс.
- Реальный мир: 50 наборов данных, 110 615 изображений, 495 классов.
Эта структура предоставляет разнообразную и обширную базу для тестирования моделей обнаружения объектов, отражающую широкий спектр реальных сценариев применения, встречающихся в различных решениях Ultralytics.
Link to this sectionБенчмаркинг#
Бенчмаркинг наборов данных включает оценку производительности моделей машинного обучения на конкретных наборах данных с использованием стандартизированных метрик. Распространенные метрики включают точность, среднюю точность (mAP) и F1-меру. Ты можешь узнать больше об этом в нашем руководстве по метрикам производительности YOLO.
Результаты бенчмаркинга, полученные с помощью предоставленного скрипта, будут сохранены в директории ultralytics-benchmarks/, конкретно в файле evaluation.txt.
Следующий скрипт демонстрирует, как программно протестировать модель Ultralytics YOLO (например, YOLO26n) на всех 100 наборах данных в рамках бенчмарка Roboflow 100 с использованием класса RF100Benchmark.
import os
import shutil
from pathlib import Path
from ultralytics.utils.benchmarks import RF100Benchmark
# Initialize RF100Benchmark and set API key
benchmark = RF100Benchmark()
benchmark.set_key(api_key="YOUR_ROBOFLOW_API_KEY")
# Parse dataset and define file paths
names, cfg_yamls = benchmark.parse_dataset()
val_log_file = Path("ultralytics-benchmarks") / "validation.txt"
eval_log_file = Path("ultralytics-benchmarks") / "evaluation.txt"
# Run benchmarks on each dataset in RF100
for ind, path in enumerate(cfg_yamls):
path = Path(path)
if path.exists():
# Fix YAML file and run training
benchmark.fix_yaml(str(path))
os.system(f"yolo detect train data={path} model=yolo26s.pt epochs=1 batch=16")
# Run validation and evaluate
os.system(f"yolo detect val data={path} model=runs/detect/train/weights/best.pt > {val_log_file} 2>&1")
benchmark.evaluate(str(path), str(val_log_file), str(eval_log_file), ind)
# Remove the 'runs' directory
runs_dir = Path.cwd() / "runs"
shutil.rmtree(runs_dir)
else:
print("YAML file path does not exist")
continue
print("RF100 Benchmarking completed!")Link to this sectionПрименение#
Roboflow 100 бесценен для различных приложений, связанных с компьютерным зрением и глубинным обучением. Исследователи и инженеры могут использовать этот бенчмарк для:
- Оценки производительности моделей обнаружения объектов в многодоменном контексте.
- Тестирования адаптируемости и устойчивости моделей к сценариям реального мира за пределами обычных наборов данных для бенчмаркинга, таких как COCO или PASCAL VOC.
- Сравнения возможностей моделей обнаружения объектов по разным наборам данных, включая такие узкоспециализированные области, как здравоохранение, аэрофотосъемка и видеоигры.
- Сравнения производительности моделей между различными архитектурами нейронных сетей и методами оптимизации.
- Выявления специфических для домена задач, которые могут потребовать специальных советов по обучению моделей или подходов тонкой настройки, таких как перенос обучения.
Чтобы найти больше идей и вдохновения для реальных приложений, изучи наши руководства по практическим проектам или посети платформу Ultralytics для упрощенного обучения моделей и развертывания.
Link to this sectionИспользование#
Набор данных Roboflow 100, включая метаданные и ссылки для скачивания, доступен в официальном репозитории Roboflow 100 на GitHub. Ты можешь получить доступ к набору данных и использовать его напрямую оттуда для своих нужд бенчмаркинга. Утилита Ultralytics RF100Benchmark упрощает процесс загрузки и подготовки этих наборов данных для работы с моделями Ultralytics.
Link to this sectionПримеры данных и аннотаций#
Roboflow 100 состоит из наборов данных с разнообразными изображениями, снятыми под разными углами и в разных доменах. Ниже приведены примеры аннотированных изображений, включенных в бенчмарк RF100, демонстрирующие разнообразие объектов и сцен. Такие методы, как аугментация данных, могут дополнительно повысить разнообразие во время обучения.
Разнообразие, представленное в бенчмарке Roboflow 100, является значительным шагом вперед по сравнению с традиционными бенчмарками, которые часто фокусируются на оптимизации одной метрики в рамках ограниченного домена. Этот комплексный подход помогает в разработке более устойчивых и универсальных моделей компьютерного зрения, способных эффективно работать в множестве различных сценариев.
Link to this sectionЦитирование и благодарности#
Если ты используешь набор данных Roboflow 100 в своей исследовательской или проектной работе, пожалуйста, сошлися на оригинальную статью:
@misc{rf100benchmark,
Author = {Floriana Ciaglia and Francesco Saverio Zuppichini and Paul Guerrie and Mark McQuade and Jacob Solawetz},
Title = {Roboflow 100: A Rich, Multi-Domain Object Detection Benchmark},
Year = {2022},
Eprint = {arXiv:2211.13523},
url = {https://arxiv.org/abs/2211.13523}
}Мы выражаем благодарность команде Roboflow и всем участникам за их значительные усилия по созданию и поддержке набора данных Roboflow 100 как ценного ресурса для сообщества компьютерного зрения.
Если ты хочешь изучить другие наборы данных для улучшения своих проектов по обнаружению объектов и машинному обучению, не стесняйся посетить нашу обширную коллекцию наборов данных, которая включает множество других наборов данных для обнаружения.
Link to this sectionЧасто задаваемые вопросы (FAQ)#
Link to this sectionЧто такое набор данных Roboflow 100 и почему он важен для обнаружения объектов?#
Набор данных Roboflow 100 — это бенчмарк для моделей обнаружения объектов. Он включает 100 разнообразных наборов данных, охватывающих такие области, как здравоохранение, аэрофотосъемка и видеоигры. Его важность заключается в предоставлении стандартизированного способа проверки адаптируемости и устойчивости моделей в широком спектре реальных сценариев, выходящих за рамки традиционных, часто ограниченных доменами, бенчмарков.
Link to this sectionКакие домены охватывает набор данных Roboflow 100?#
Набор данных Roboflow 100 охватывает семь разнообразных доменов, предлагая уникальные задачи для моделей обнаружения объектов:
- Аэрофотосъемка: 7 наборов данных (например, спутниковые снимки, виды с дронов).
- Видеоигры: 7 наборов данных (например, объекты из различных игровых сред).
- Микроскопические объекты: 11 наборов данных (например, клетки, частицы).
- Подводные объекты: 5 наборов данных (например, морская фауна, погруженные объекты).
- Документы: 8 наборов данных (например, текстовые области, элементы форм).
- Электромагнитные данные: 12 наборов данных (например, радиолокационные сигнатуры, визуализации спектральных данных).
- Реальный мир: 50 наборов данных (широкая категория, включающая повседневные объекты, сцены, ритейл и т.д.).
Такое разнообразие делает RF100 отличным ресурсом для оценки обобщающей способности моделей компьютерного зрения.
Link to this sectionЧто мне следует включить при цитировании набора данных Roboflow 100 в своих исследованиях?#
При использовании набора данных Roboflow 100, пожалуйста, сошлися на оригинальную статью, чтобы отдать должное создателям. Вот рекомендуемая BibTeX-цитата:
@misc{rf100benchmark,
Author = {Floriana Ciaglia and Francesco Saverio Zuppichini and Paul Guerrie and Mark McQuade and Jacob Solawetz},
Title = {Roboflow 100: A Rich, Multi-Domain Object Detection Benchmark},
Year = {2022},
Eprint = {arXiv:2211.13523},
url = {https://arxiv.org/abs/2211.13523}
}Для дальнейшего изучения рассмотри возможность посещения нашей обширной коллекции наборов данных или просмотра других наборов данных для обнаружения, совместимых с моделями Ultralytics.