Roboflow 100 데이터 세트
Intel에서 후원하는 Roboflow 100은 획기적인 객체 감지 벤치마크 데이터 세트입니다. 여기에는 Roboflow Universe에서 사용할 수 있는 90,000개 이상의 공개 데이터 세트에서 샘플링한 100개의 다양한 데이터 세트가 포함되어 있습니다. 이 벤치마크는 의료, 항공 이미지 및 비디오 게임을 포함한 다양한 영역에 대한 컴퓨터 비전 모델(예: Ultralytics YOLO 모델)의 적응성을 테스트하도록 특별히 설계되었습니다.
라이선스
Ultralytics는 다양한 사용 사례를 수용하기 위해 두 가지 라이선스 옵션을 제공합니다.
- AGPL-3.0 라이선스: 이 OSI 승인 오픈 소스 라이선스는 학생과 매니아에게 이상적이며, 개방형 협업과 지식 공유를 장려합니다. 자세한 내용은 LICENSE 파일을 참조하고 AGPL-3.0 라이선스 페이지를 방문하십시오.
- Enterprise License: 상업적 용도로 설계된 이 라이선스를 통해 Ultralytics 소프트웨어 및 AI 모델을 상업용 제품 및 서비스에 원활하게 통합할 수 있습니다. 상업적 애플리케이션과 관련된 시나리오의 경우 Ultralytics 라이선스를 통해 문의해 주십시오.
주요 기능
- Diverse Domains: 항공, 비디오 게임, 현미경, 수중, 문서, 전자기 및 실제 세계의 7가지 고유한 도메인에서 100개의 데이터 세트를 포함합니다.
- 규모: 이 벤치마크는 805개의 클래스에 걸쳐 224,714개의 이미지로 구성되어 있으며, 데이터 라벨링에 11,170시간 이상의 노력이 투입되었습니다.
- 표준화: 일관된 평가를 위해 모든 이미지는 전처리되고 640x640 픽셀로 크기가 조정됩니다.
- 클린 평가: 클래스 모호성을 제거하고 과소 대표 클래스를 필터링하여 더 깔끔한 모델 평가를 보장하는 데 중점을 둡니다.
- Annotations: 객체에 대한 bounding boxes를 포함하며, 학습 및 mAP와 같은 메트릭을 사용하여 객체 탐지 모델을 평가하는 데 적합합니다.
데이터 세트 구조
Roboflow 100 데이터 세트는 각각 고유한 데이터 세트, 이미지 및 클래스 컬렉션을 포함하는 7개의 범주로 구성됩니다.
- 항공: 7개의 데이터 세트, 9,683개의 이미지, 24개의 클래스.
- 비디오 게임: 7개의 데이터 세트, 11,579개의 이미지, 88개의 클래스.
- 현미경: 11개의 데이터 세트, 13,378개의 이미지, 28개의 클래스.
- 수중: 5개의 데이터 세트, 18,003개의 이미지, 39개의 클래스.
- 문서: 8개의 데이터 세트, 24,813개의 이미지, 90개의 클래스.
- Electromagnetic: 12개의 데이터 세트, 36,381개의 이미지, 41개의 클래스.
- 실제 환경: 50개의 데이터 세트, 110,615개의 이미지, 495개의 클래스.
이 구조는 다양한 Ultralytics 솔루션에서 볼 수 있는 광범위한 실제 응용 시나리오를 반영하여 객체 감지 모델에 대한 다양하고 광범위한 테스트 환경을 제공합니다.
벤치마킹
데이터세트 벤치마킹은 표준화된 지표를 사용하여 특정 데이터세트에서 머신 러닝 모델의 성능을 평가하는 것을 포함합니다. 일반적인 지표에는 정확도, mAP(mean Average Precision) 및 F1-score가 포함됩니다. 자세한 내용은 YOLO 성능 지표 가이드에서 확인할 수 있습니다.
벤치마킹 결과
제공된 스크립트를 사용한 벤치마킹 결과는 다음 위치에 저장됩니다. ultralytics-benchmarks/
디렉토리, 특히 evaluation.txt
.
벤치마킹 예제
다음 스크립트는 Ultralytics YOLO 모델(예: YOLOv11n)을 사용하여 Roboflow 100 벤치마크 내의 모든 100개 데이터 세트에서 프로그래밍 방식으로 벤치마킹하는 방법을 보여줍니다. RF100Benchmark
class.
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은 컴퓨터 비전 및 딥러닝과 관련된 다양한 애플리케이션에 매우 유용합니다. 연구원과 엔지니어는 이 벤치마크를 활용하여 다음을 수행할 수 있습니다.
- 다중 도메인 환경에서 객체 감지 모델의 성능을 평가합니다.
- 일반적인 벤치마크 데이터 세트(예: COCO 또는 PASCAL VOC)를 넘어 실제 시나리오에 대한 모델의 적응성 및 견고성을 테스트합니다.
- 의료, 항공 이미지 및 비디오 게임과 같은 전문 분야를 포함하여 다양한 데이터 세트에서 객체 감지 모델의 기능을 벤치마킹합니다.
- 다양한 신경망 아키텍처 및 최적화 기술에서 모델 성능을 비교합니다.
- 모델 학습 팁 또는 미세 조정 접근 방식(예: 전이 학습)이 필요한 특정 도메인 관련 문제점을 식별합니다.
실제 애플리케이션에 대한 더 많은 아이디어와 영감을 얻으려면 실용적인 프로젝트에 대한 가이드를 탐색하거나 간소화된 모델 학습 및 배포를 위해 Ultralytics HUB를 확인하십시오.
사용법
메타데이터 및 다운로드 링크를 포함한 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 팀과 모든 기여자에게 감사를 드립니다.
객체 감지 및 머신 러닝 프로젝트를 향상시키기 위해 더 많은 데이터 세트를 탐색하는 데 관심이 있다면 다양한 감지 데이터 세트를 포함하는 종합적인 데이터 세트 컬렉션을 방문하십시오.
FAQ
Roboflow 100 데이터 세트란 무엇이며 객체 감지에 왜 중요한가요?
Roboflow 100 데이터 세트는 객체 감지 모델의 벤치마크입니다. 여기에는 의료, 항공 이미지 및 비디오 게임과 같은 도메인을 다루는 Roboflow Universe에서 제공되는 100개의 다양한 데이터 세트가 포함됩니다. 그 중요성은 기존의 도메인 제한적인 벤치마크를 넘어 광범위한 실제 시나리오에서 모델 적응성 및 견고성을 테스트하는 표준화된 방법을 제공하는 데 있습니다.
Roboflow 100 데이터 세트에서 다루는 도메인은 무엇인가요?
Roboflow 100 데이터 세트는 객체 감지 모델에 대한 고유한 과제를 제공하는 7개의 다양한 도메인에 걸쳐 있습니다.
- 항공: 7개의 데이터 세트(예: 위성 이미지, 드론 뷰).
- 비디오 게임: 7개의 데이터 세트(예: 다양한 게임 환경의 객체).
- 현미경: 11개의 데이터 세트(예: 세포, 입자).
- 수중: 5개의 데이터 세트(예: 해양 생물, 수중 물체).
- 문서: 8개의 데이터 세트(예: 텍스트 영역, 양식 요소).
- Electromagnetic: 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 모델과 호환되는 다른 detection 데이터 세트를 찾아보십시오.