Roboflow 100 데이터셋
Intel이 후원하는 Roboflow 100은 획기적인 객체 탐지 벤치마크 데이터셋입니다. 여기에는 100개의 다양한 데이터셋이 포함되어 있습니다. 이 벤치마크는 헬스케어, 항공 이미지, 비디오 게임 등 다양한 분야에서 컴퓨터 비전 모델(예: Ultralytics YOLO 모델)의 적응성을 테스트하도록 특별히 설계되었습니다.
Ultralytics는 다양한 사용 사례에 맞춰 두 가지 라이선스 옵션을 제공합니다:
- AGPL-3.0 라이선스: 이 OSI 승인 오픈 소스 라이선스는 학생과 애호가에게 이상적이며, 오픈 협업과 지식 공유를 장려합니다. 자세한 내용은 LICENSE 파일을 확인하고 AGPL-3.0 라이선스 페이지를 방문하십시오.
- 기업용 라이선스(Enterprise License): 상업적 사용을 위해 설계된 이 라이선스는 Ultralytics 소프트웨어 및 AI 모델을 상용 제품 및 서비스에 원활하게 통합할 수 있도록 허용합니다. 상업적 애플리케이션과 관련된 경우 Ultralytics 라이선스를 통해 문의해 주십시오.
주요 특징
- 다양한 도메인: 항공, 비디오 게임, 현미경, 수중, 문서, 전자기, 현실 세계 등 7개의 뚜렷한 도메인에 걸친 100개의 데이터셋이 포함되어 있습니다.
- 규모: 이 벤치마크는 805개 클래스에 걸쳐 224,714개의 이미지로 구성되며, 11,170시간 이상의 데이터 라벨링 노력을 나타냅니다.
- 표준화: 모든 이미지는 일관된 평가를 위해 전처리되었으며 640x640 픽셀로 크기가 조정되었습니다.
- 깔끔한 평가: 더 깔끔한 모델 평가를 보장하기 위해 클래스 모호성을 제거하고 충분히 대표되지 않은 클래스를 필터링하는 데 중점을 둡니다.
- Annotations: Includes bounding boxes for objects, suitable for training and evaluating object detection models using metrics like mAP.
데이터셋 구조
Roboflow 100 데이터셋은 7개의 카테고리로 구성되어 있으며, 각 카테고리에는 고유한 데이터셋, 이미지, 클래스 모음이 포함되어 있습니다:
- 항공: 데이터셋 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개.
This structure provides a diverse and extensive testing ground for object detection models, reflecting a wide array of real-world application scenarios found in various Ultralytics Solutions.
벤치마킹
데이터셋 벤치마킹은 표준화된 지표를 사용하여 특정 데이터셋에서 머신 러닝 모델의 성능을 평가하는 것을 포함합니다. 일반적인 지표로는 정확도, mAP(mean Average Precision), F1-score가 있습니다. 이에 대한 자세한 내용은 YOLO 성능 지표 가이드에서 확인할 수 있습니다.
제공된 스크립트를 사용한 벤치마킹 결과는 ultralytics-benchmarks/ 디렉토리, 구체적으로는 evaluation.txt에 저장됩니다.
다음 스크립트는 RF100Benchmark 클래스를 사용하여 Roboflow 100 벤치마크 내의 모든 100개 데이터셋에서 Ultralytics YOLO 모델(예: YOLO26n)을 프로그래밍 방식으로 벤치마킹하는 방법을 보여줍니다.
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!")응용 분야
Roboflow 100은 컴퓨터 비전 및 딥러닝과 관련된 다양한 애플리케이션에 매우 유용합니다. 연구자와 엔지니어는 이 벤치마크를 활용하여 다음을 수행할 수 있습니다:
- 다중 도메인 환경에서 객체 탐지 모델의 성능 평가.
- Test the adaptability and robustness of models to real-world scenarios beyond common benchmark datasets like COCO or PASCAL VOC.
- 헬스케어, 항공 이미지, 비디오 게임과 같은 전문 분야를 포함하여 다양한 데이터셋 전반에서 객체 탐지 모델의 역량 벤치마킹.
- 다양한 신경망 아키텍처 및 최적화 기술 간의 모델 성능 비교.
- Identify domain-specific challenges that may require specialized model training tips or fine-tuning approaches like transfer learning.
For more ideas and inspiration on real-world applications, explore our guides on practical projects or check out Ultralytics Platform for streamlined model training and deployment.
사용법
메타데이터 및 다운로드 링크를 포함한 Roboflow 100 데이터셋은 공식 Roboflow 100 GitHub 저장소에서 제공됩니다. 벤치마킹을 위해 그곳에서 직접 데이터셋에 액세스하고 활용할 수 있습니다. Ultralytics RF100Benchmark 유틸리티는 Ultralytics 모델과 함께 사용하기 위해 이러한 데이터셋을 다운로드하고 준비하는 과정을 간소화합니다.
샘플 데이터 및 주석
Roboflow 100은 다양한 각도와 도메인에서 촬영된 다양한 이미지 데이터셋으로 구성됩니다. 아래는 RF100 벤치마크에 포함된 어노테이션 이미지 예시이며, 다양한 객체와 장면을 보여줍니다. 데이터 증강과 같은 기술은 학습 중 다양성을 더욱 향상시킬 수 있습니다.
Roboflow 100 벤치마크에서 나타나는 다양성은 제한된 도메인 내에서 단일 지표를 최적화하는 데 집중하는 기존 벤치마크에서 크게 발전한 것입니다. 이러한 포괄적인 접근 방식은 다양한 시나리오에서 잘 작동할 수 있는 더욱 강건하고 다재다능한 컴퓨터 비전 모델을 개발하는 데 도움이 됩니다.
인용 및 감사의 글
연구 또는 개발 작업에 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 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, which includes a variety of other detection datasets.
FAQ
Roboflow 100 데이터셋은 무엇이며 객체 탐지에서 왜 중요한가요?
Roboflow 100 데이터셋은 객체 탐지 모델을 위한 벤치마크입니다. 이는 헬스케어, 항공 이미지, 비디오 게임과 같은 도메인을 아우르는 100개의 다양한 데이터셋으로 구성됩니다. 이 데이터셋의 중요성은 기존의 종종 도메인이 제한적이었던 벤치마크를 넘어, 광범위한 실제 시나리오에서 모델의 적응성과 강건성을 테스트하는 표준화된 방법을 제공하는 데 있습니다.
Roboflow 100 데이터셋은 어떤 도메인을 포함하나요?
Roboflow 100 데이터셋은 7개의 다양한 도메인을 아우르며 객체 탐지 모델에 고유한 과제를 제공합니다:
- 항공: 데이터셋 7개 (예: 위성 이미지, 드론 뷰).
- 비디오 게임: 데이터셋 7개 (예: 다양한 게임 환경의 객체).
- 현미경: 데이터셋 11개 (예: 세포, 입자).
- 수중: 데이터셋 5개 (예: 해양 생물, 침수된 객체).
- 문서: 데이터셋 8개 (예: 텍스트 영역, 양식 요소).
- 전자기: 데이터셋 12개 (예: 레이더 신호, 스펙트럼 데이터 시각화).
- 현실 세계: 데이터셋 50개 (일상적인 객체, 장면, 소매 등을 포함하는 광범위한 카테고리).
이러한 다양성 덕분에 RF100은 컴퓨터 비전 모델의 일반화 가능성을 평가하는 훌륭한 리소스가 됩니다.
연구에서 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 모델과 호환되는 다른 탐지 데이터셋을 찾아보십시오.