Link to this sectionRoboflow 100 데이터셋#
Roboflow 100, sponsored by Intel, is a groundbreaking object detection benchmark dataset. It includes 100 diverse datasets. This benchmark is specifically designed to test the adaptability of computer vision models, like Ultralytics YOLO models, to various domains, including healthcare, aerial imagery, and video games.
Ultralytics는 다양한 사용 사례에 맞춰 두 가지 라이선스 옵션을 제공합니다.
- AGPL-3.0 라이선스: 이 OSI 승인 오픈 소스 라이선스는 학생 및 열성적인 사용자에게 이상적이며, 개방형 협업과 지식 공유를 장려합니다. 자세한 내용은 LICENSE 파일을 참조하고 AGPL-3.0 라이선스 페이지를 방문하시기 바랍니다.
- 엔터프라이즈 라이선스: 개발 및 프로덕션 용도로, 이 라이선스는 내부 도구, 자동화된 워크플로 및 프로덕션 배포를 포함하여 비즈니스 제품 및 서비스에 Ultralytics 소프트웨어 및 AI 모델을 원활하게 통합할 수 있도록 하며, AGPL-3.0의 오픈 소스 요구 사항을 우회합니다. 시작하려면 Ultralytics 라이선싱을 통해 문의하십시오.
Link to this section주요 특징#
- 다양한 도메인: 항공, 비디오 게임, 현미경, 수중, 문서, 전자기, 실세계 등 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.
Link to this section데이터셋 구조#
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.
Link to this section벤치마킹#
데이터셋 벤치마킹은 표준화된 지표를 사용하여 특정 데이터셋에서 머신 러닝 모델의 성능을 평가하는 것을 포함합니다. 일반적인 지표로는 정확도, mean Average Precision (mAP), F1-score가 있습니다. 자세한 내용은 YOLO 성능 지표 가이드에서 확인할 수 있습니다.
Every output is grouped under a single runs/<task>/multitrain/ directory: each dataset is fine-tuned in its own subdirectory (with its own results.png), and the per-dataset and mean metrics are written to multitrain_results.json alongside a multitrain_results.png bar chart. The model.train() call also returns a {dataset: metrics} dictionary for programmatic access.
아래 스크립트는 Roboflow에서 datasets_links.txt에 나열된 Roboflow 100 데이터셋을 다운로드한 다음, 단일 model.train() 호출에서 전체 컬렉션에 걸쳐 단일 기본 모델(예: YOLO26n)을 파인 튜닝합니다. 데이터셋 목록을 전달하면 기본 모델이 각 데이터셋에 대해 직렬로 파인 튜닝되고 데이터셋 간 결과를 자동으로 시각화합니다. 데이터셋을 다운로드하려면 무료 Roboflow API 키가 필요합니다.
import re
from pathlib import Path
from ultralytics import YOLO
from ultralytics.utils import ASSETS_URL, YAML
from ultralytics.utils.checks import check_requirements
from ultralytics.utils.downloads import safe_download
# Download the RF100 datasets from Roboflow (requires a free Roboflow API key)
check_requirements("roboflow")
from roboflow import Roboflow
rf = Roboflow(api_key="YOUR_ROBOFLOW_API_KEY")
safe_download(f"{ASSETS_URL}/datasets_links.txt") # list of RF100 dataset links
datasets = []
for line in Path("datasets_links.txt").read_text().splitlines():
try:
_, _url, workspace, project, version = re.split("/+", line.strip())
location = f"rf-100/{project}-{version}"
rf.workspace(workspace).project(project).version(version).download("yolov8", location=location)
yaml = Path(location) / "data.yaml"
cfg = YAML.load(yaml) # point train/val at the downloaded image folders
cfg["train"], cfg["val"] = "train/images", "valid/images"
YAML.save(yaml, cfg)
datasets.append(str(yaml))
except Exception:
continue
# Fine-tune one base model across all RF100 datasets and visualize the cross-dataset results
model = YOLO("yolo26n.pt")
results = model.train(data=datasets, epochs=100, imgsz=640) # {dataset: metrics}
# Per-dataset runs, multitrain_results.json (per-dataset + mean), and multitrain_results.png are saved
# together under runs/detect/multitrain. Read results in-memory or from the JSON for custom post-processing.
for dataset, metrics in results.items():
if metrics: # None if that dataset failed to train
print(f"{dataset}: mAP50-95 = {metrics['metrics/mAP50-95(B)']:.4f}")Link to this section응용 분야#
Roboflow 100은 컴퓨터 비전 및 딥 러닝과 관련된 다양한 애플리케이션에 매우 유용합니다. 연구자와 엔지니어는 이 벤치마크를 활용하여 다음을 수행할 수 있습니다:
- 다중 도메인 환경에서 객체 탐지 모델의 성능을 평가합니다.
- Test the adaptability and robustness of models to real-world scenarios beyond common benchmark datasets like COCO or PASCAL VOC.
- 헬스케어, 항공 이미지, 비디오 게임과 같은 전문 분야를 포함하여 다양한 데이터셋 전반에서 객체 탐지 모델의 성능을 벤치마크합니다.
- 다양한 신경망(Neural Network) 아키텍처 및 최적화 기술 간의 모델 성능을 비교합니다.
- 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.
Link to this section사용법#
메타데이터 및 다운로드 링크를 포함한 Roboflow 100 데이터셋은 공식 Roboflow 100 GitHub 저장소에서 확인할 수 있습니다. 벤치마킹을 위해 그곳에서 직접 데이터셋에 액세스하고 활용할 수 있습니다. 위와 같이 데이터셋이 다운로드되고 준비되면, 데이터셋 YAML 목록을 전달하여 단일 model.train() 호출로 전체 컬렉션에 걸쳐 Ultralytics 모델을 파인 튜닝할 수 있습니다.
Link to this section샘플 데이터 및 주석#
Roboflow 100은 다양한 각도와 도메인에서 캡처된 다양한 이미지의 데이터셋으로 구성됩니다. 아래는 RF100 벤치마크에 포함된 주석이 달린 이미지의 예시이며, 다양한 객체와 장면을 보여줍니다. 데이터 증강(Data Augmentation)과 같은 기술은 학습 중에 다양성을 더욱 향상시킬 수 있습니다.
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 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.
Link to this sectionFAQ#
Link to this sectionRoboflow 100 데이터셋이란 무엇이며, 객체 탐지에 있어 왜 중요한가요?#
Roboflow 100 데이터셋은 객체 탐지 모델을 위한 벤치마크입니다. 이는 헬스케어, 항공 이미지, 비디오 게임과 같은 분야를 아우르는 100개의 다양한 데이터셋으로 구성됩니다. 이 데이터셋의 중요성은 기존의 도메인이 제한된 벤치마크를 넘어, 광범위한 실제 시나리오 전반에서 모델의 적응성과 강건성을 테스트하는 표준화된 방법을 제공하는 데 있습니다.
Link to this sectionRoboflow 100 데이터셋은 어떤 도메인을 포함하나요?#
Roboflow 100 데이터셋은 7개의 다양한 도메인을 아우르며, 객체 탐지 모델에 고유한 과제를 제공합니다:
- 항공: 7개 데이터셋(예: 위성 이미지, 드론 뷰).
- 비디오 게임: 7개 데이터셋(예: 다양한 게임 환경의 객체).
- 현미경: 11개 데이터셋(예: 세포, 입자).
- 수중: 5개 데이터셋(예: 해양 생물, 수중 객체).
- 문서: 8개 데이터셋(예: 텍스트 영역, 양식 요소).
- 전자기: 12개 데이터셋(예: 레이더 신호, 스펙트럼 데이터 시각화).
- 실세계: 50개 데이터셋(일상적인 객체, 장면, 소매업 등을 포함하는 광범위한 범주).
이러한 다양성 덕분에 RF100은 컴퓨터 비전 모델의 일반화 가능성(Generalizability)을 평가하는 데 탁월한 리소스가 됩니다.
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 모델과 호환되는 다른 탐지 데이터셋을 찾아보시기 바랍니다.