콘텐츠로 건너뛰기

Roboflow 100 데이터 세트

Roboflow 100이 개발하고 Roboflow 에서 개발하고 Intel 에서 후원하는 100은 획기적인 객체 탐지 벤치마크입니다. 여기에는 90,000개 이상의 공개 데이터 세트에서 샘플링된 100개의 다양한 데이터 세트가 포함되어 있습니다. 이 벤치마크는 의료, 항공 이미지, 비디오 게임 등 다양한 영역에 대한 모델의 적응성을 테스트하기 위해 고안되었습니다.

Roboflow 100 개요

주요 기능

  • 7개 영역에 걸쳐 100개의 데이터 세트가 포함되어 있습니다: 항공, 비디오 게임, 현미경, 수중, 문서, 전자기, 실제 세계.
  • 이 벤치마크는 805개 클래스에 걸쳐 224,714개의 이미지로 구성되어 있으며, 11,170시간이 넘는 라벨링 작업 덕분에 가능했습니다.
  • 모든 이미지의 크기는 640x640픽셀로 조정되며, 클래스 모호성을 없애고 잘 드러나지 않는 클래스를 필터링하는 데 중점을 둡니다.
  • 주석에는 객체에 대한 경계 상자가 포함되어 있어 객체 감지 모델을 훈련하고 평가하는 데 적합합니다.

데이터 세트 구조

Roboflow 100 데이터 세트는 7개의 카테고리로 구성되어 있으며, 각 카테고리에는 고유한 데이터 세트, 이미지 및 클래스 집합이 있습니다:

  • Aerial: 총 9,683개의 이미지가 포함된 7개의 데이터 세트로 구성되어 있으며, 24개의 서로 다른 클래스를 포괄합니다.
  • 비디오 게임: 88개 클래스에 걸쳐 11,579개의 이미지가 포함된 7개 데이터 세트가 포함되어 있습니다.
  • 현미경: 28개 클래스에 걸쳐 13,378개의 이미지가 포함된 11개의 데이터 세트로 구성됩니다.
  • 수중: 39개 클래스의 18,003개 이미지를 포함하는 5개의 데이터 세트가 포함되어 있습니다.
  • 문서: 24,813개의 이미지가 포함된 8개의 데이터 세트로 구성되며 90개의 클래스로 나뉩니다.
  • 전자기: 12개 데이터 세트, 41개 클래스의 총 36,381개 이미지로 구성됩니다.
  • 실제 세계: 50개의 데이터 세트가 있는 가장 큰 카테고리로, 495개 클래스에 걸쳐 110,615개의 이미지를 제공합니다.

이 구조는 실제 애플리케이션 시나리오를 반영하여 객체 감지 모델에 대한 다양하고 광범위한 테스트 환경을 제공합니다.

벤치마킹

Dataset benchmarking evaluates machine learning model performance on specific datasets using standardized metrics like accuracy, mean average precision and 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 is invaluable for various applications related to computer vision and deep learning. Researchers and engineers can use this benchmark to:

  • 다중 도메인 컨텍스트에서 개체 감지 모델의 성능을 평가하세요.
  • 일반적인 객체 인식을 넘어 실제 시나리오에 대한 모델의 적응성을 테스트합니다.
  • 의료, 항공 이미지, 비디오 게임 등 다양한 데이터 세트에서 객체 감지 모델의 기능을 벤치마킹해 보세요.

실제 애플리케이션에 대한 더 많은 아이디어와 영감을 얻으려면 실제 프로젝트에 대한 가이드를 확인하세요.

사용법

Roboflow 100 데이터 세트는 GitHub와 Roboflow Universe에서 모두 사용할 수 있습니다.

Roboflow 100 GitHub 리포지토리에서 직접 액세스할 수 있습니다. 또한 Roboflow 유니버스에서는 각 데이터 세트 내에서 내보내기 버튼을 클릭하기만 하면 개별 데이터 세트를 다운로드할 수 있습니다.

샘플 데이터 및 주석

Roboflow 100은 다양한 각도와 영역에서 캡처한 다양한 이미지와 동영상이 포함된 데이터 세트로 구성되어 있습니다. 다음은 RF100 벤치마크에 포함된 주석이 달린 이미지의 예시입니다.

샘플 데이터 및 주석

위에서 볼 수 있는 Roboflow 100 벤치마크의 다양성은 제한된 도메인 내에서 단일 메트릭을 최적화하는 데 중점을 두는 기존 벤치마크보다 크게 발전한 것입니다.

인용 및 감사

연구 또는 개발 작업에 Roboflow 100 데이터셋을 사용하는 경우 다음 논문을 인용해 주세요:

@misc{2211.13523,
    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},
    Eprint = {arXiv:2211.13523},
}

Roboflow 100 데이터셋을 만들고 유지하는 데 힘써주신 Roboflow 팀과 모든 기여자에게 감사의 말씀을 전합니다.

If you are interested in exploring more datasets to enhance your object detection and machine learning projects, feel free to visit our comprehensive dataset collection.

자주 묻는 질문

Roboflow 100 데이터 세트는 무엇이며, 객체 감지에 중요한 이유는 무엇인가요?

Roboflow 100 데이터 세트는 Roboflow 에서 개발하고 Intel 에서 후원하는 100 데이터 세트는 중요한 객체 감지 벤치마크입니다. 의료, 항공 이미지, 비디오 게임 등의 분야를 아우르는 90,000개 이상의 공개 데이터 세트에서 100개의 다양한 데이터 세트를 제공합니다. 이러한 다양성은 모델이 다양한 실제 시나리오에 적응하여 견고성과 성능을 향상시킬 수 있도록 보장합니다.

객체 감지 모델을 벤치마킹하기 위해 Roboflow 100 데이터 세트를 사용하려면 어떻게 해야 하나요?

벤치마킹을 위해 Roboflow 100 데이터 세트를 사용하려면 Ultralytics 라이브러리에서 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=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 데이터 세트에는 어떤 도메인이 포함되나요?

The Roboflow 100 dataset spans seven domains, each providing unique challenges and applications for object detection models:

  1. 항공: 7개 데이터 세트, 9,683개 이미지, 24개 클래스
  2. 비디오 게임: 7개 데이터 세트, 11,579개 이미지, 88개 클래스
  3. 현미경: 11개 데이터 세트, 13,378개 이미지, 28개 클래스
  4. 수중: 5개의 데이터 세트, 18,003개의 이미지, 39개의 클래스
  5. 문서: 8개 데이터 세트, 24,813개 이미지, 90개 클래스
  6. 전자기: 12개 데이터 세트, 36,381개 이미지, 41개 클래스
  7. 실제 세계: 50개의 데이터 세트, 110,615개의 이미지, 495개의 클래스

이 설정을 사용하면 다양한 실제 애플리케이션에서 모델을 광범위하고 다양하게 테스트할 수 있습니다.

Roboflow 100 데이터 세트에 액세스하고 다운로드하려면 어떻게 하나요?

Roboflow 100 데이터 세트는 GitHubRoboflow Universe에서 액세스할 수 있습니다. GitHub에서 전체 데이터 집합을 다운로드하거나 Roboflow Universe에서 내보내기 버튼을 사용하여 개별 데이터 집합을 선택할 수 있습니다.

Roboflow 100 데이터셋을 연구에 인용할 때 어떤 내용을 포함해야 하나요?

Roboflow 100 데이터셋을 연구에 사용할 때는 반드시 적절하게 인용하세요. 다음은 권장 인용 방법입니다:

@misc{2211.13523,
    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},
    Eprint = {arXiv:2211.13523},
}

자세한 내용은 종합 데이터 세트 컬렉션을 참조하세요.

📅 Created 8 months ago ✏️ Updated 22 days ago

댓글