Roboflow 100 наборов данных
Roboflow 100, разработанный Roboflow и спонсируемая Intel, является революционным эталоном обнаружения объектов. Он включает в себя 100 разнообразных наборов данных, отобранных из более чем 90 000 публичных наборов данных. Этот эталон предназначен для проверки адаптивности моделей к различным областям, включая здравоохранение, аэрофотосъемку и видеоигры.
Основные характеристики
- Включает 100 наборов данных по семи областям: Аэрофотосъемка, Видеоигры, Микроскопическая съемка, Подводная съемка, Документы, Электромагнитная съемка и Реальный мир.
- Эталон включает 224 714 изображений, относящихся к 805 классам, благодаря более чем 11 170 часам работы по маркировке.
- Все изображения изменены до размера 640x640 пикселей, при этом особое внимание уделяется устранению двусмысленности классов и отсеиванию недопредставленных классов.
- Аннотации включают ограничительные рамки для объектов, что делает его пригодным для обучения и оценки моделей обнаружения объектов.
Структура набора данных
Набор данных 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 классам.
Такая структура позволяет создать разнообразный и обширный полигон для тестирования моделей обнаружения объектов, отражающий реальные сценарии применения.
Бенчмаркинг
Бенчмаркинг датасетов оценивает производительность моделей машинного обучения на определенных наборах данных с помощью стандартизированных показателей, таких как точность, средняя точность и F1-score.
Бенчмаркинг
Результаты бенчмаркинга будут сохранены в файле "ultralytics-benchmarks/evaluation.txt".
Пример бенчмаркинга
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=yolo11s.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!")
Приложения
Roboflow 100 является бесценным для различных приложений, связанных с компьютерным зрением и глубоким обучением. Исследователи и инженеры могут использовать этот эталон для:
- Оценка производительности моделей обнаружения объектов в многодоменном контексте.
- Проверьте адаптивность моделей к реальным сценариям, выходящим за рамки обычного распознавания объектов.
- Проверьте возможности моделей обнаружения объектов на различных наборах данных, включая данные из области здравоохранения, аэрофотосъемки и видеоигр.
Чтобы получить больше идей и вдохновения для реального применения, обязательно ознакомьтесь с нашими руководствами по реальным проектам.
Использование
Набор данных Roboflow 100 доступен на GitHub и Roboflow Universe.
Вы можете получить доступ к нему непосредственно из репозитория Roboflow 100 GitHub. Кроме того, на сайте Roboflow Universe вы можете загрузить отдельные наборы данных, просто нажав кнопку экспорта в каждом наборе данных.
Образцы данных и аннотации
Roboflow 100 состоит из наборов данных с различными изображениями и видео, снятыми с разных ракурсов и в разных областях. Вот примеры аннотированных изображений в бенчмарке RF100.
Разнообразие в бенчмарке Roboflow 100, которое можно увидеть выше, - это значительный шаг вперед по сравнению с традиционными бенчмарками, которые часто фокусируются на оптимизации одной метрики в ограниченной области.
Цитаты и благодарности
Если вы используете набор данных Roboflow 100 в своих исследованиях или разработках, пожалуйста, ссылайтесь на следующий документ:
Мы благодарим команду Roboflow и всех участников за их тяжелый труд по созданию и поддержанию набора данных Roboflow 100.
Если вы заинтересованы в изучении других наборов данных для улучшения ваших проектов по обнаружению объектов и машинному обучению, не стесняйтесь посетить нашу обширную коллекцию наборов данных.
ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ
Что такое набор данных Roboflow 100, и почему он важен для обнаружения объектов?
Набор данных Roboflow 100, разработанный Roboflow и спонсируемый Intel, является важнейшим эталоном обнаружения объектов. В нем представлены 100 различных наборов данных из более чем 90 000 общедоступных наборов данных, охватывающих такие области, как здравоохранение, аэрофотосъемка и видеоигры. Такое разнообразие обеспечивает адаптацию моделей к различным реальным сценариям, повышая их надежность и производительность.
Как я могу использовать набор данных Roboflow 100 для тестирования моих моделей обнаружения объектов?
Чтобы использовать набор данных Roboflow 100 для бенчмаркинга, вы можете реализовать класс RF100Benchmark из библиотеки Ultralytics . Вот краткий пример:
Пример бенчмаркинга
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=yolo11n.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 'runs' directory
runs_dir = Path.cwd() / "runs"
shutil.rmtree(runs_dir)
else:
print("YAML file path does not exist")
continue
print("RF100 Benchmarking completed!")
Какие домены охватывает набор данных Roboflow 100?
Набор данных 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 классов
Такая установка позволяет проводить обширное и разнообразное тестирование моделей в различных реальных приложениях.
Как получить доступ и загрузить набор данных Roboflow 100?
Набор данных Roboflow 100 доступен на GitHub и Roboflow Universe. Вы можете загрузить весь набор данных с GitHub или выбрать отдельные наборы данных на Roboflow Universe с помощью кнопки экспорта.
Что следует указывать при цитировании набора данных Roboflow 100 в своих исследованиях?
Используя набор данных Roboflow 100 в своих исследованиях, позаботьтесь о правильном цитировании. Вот рекомендуемый вариант цитирования:
Для получения более подробной информации вы можете обратиться к нашей обширной коллекции данных.