YOLO Vision 2026:

Roboflow 100 데이터셋#

Intel에서 후원하는 Roboflow 100은 획기적인 object detection 벤치마크 데이터셋입니다. 이 데이터셋은 100개의 다양한 데이터셋을 포함하고 있습니다. 이 벤치마크는 헬스케어, 항공 이미지, 비디오 게임을 포함한 다양한 도메인에서 Ultralytics YOLO models과 같은 computer vision 모델의 적응력을 테스트하기 위해 특별히 설계되었습니다.

라이선스

Ultralytics는 다양한 사용 사례에 맞춰 두 가지 라이선스 옵션을 제공합니다.

  • AGPL-3.0 라이선스: 이 OSI 승인 오픈소스 라이선스는 학생과 엔터프라이즈 사용자에게 이상적이며, 개방형 협업과 지식 공유를 촉진합니다. 자세한 내용은 LICENSE 파일을 참조하고 AGPL-3.0 라이선스 페이지를 방문하세요.
  • Enterprise License: 개발 및 프로덕션 용도를 위한 이 라이선스는 AGPL-3.0의 오픈소스 요구사항을 우회하여 내부 도구, 자동화된 워크플로, 프로덕션 배포를 포함한 비즈니스 제품 및 서비스에 Ultralytics 소프트웨어와 AI 모델을 원활하게 통합할 수 있도록 지원합니다. 시작하려면 Ultralytics Licensing을 통해 문의해 주세요.

Roboflow 100 diverse object detection benchmark

주요 특징#

  • 다양한 도메인: 항공, 비디오 게임, 현미경, 수중, 문서, 전자기, 실세계 등 7개의 고유한 도메인에 걸쳐 100개의 데이터셋이 포함되어 있습니다.
  • 규모: 이 벤치마크는 805개 클래스에 걸쳐 224,714개의 이미지로 구성되어 있으며, 11,170시간 이상의 데이터 라벨링 작업 노력을 나타냅니다.
  • 표준화: 모든 이미지는 일관된 평가를 위해 전처리 과정을 거쳐 640x640 픽셀로 크기가 조정됩니다.
  • 클린 평가: 보다 깨끗한 모델 평가를 보장하기 위해 클래스 모호성을 제거하고 대표성이 부족한 클래스를 필터링하는 데 중점을 둡니다.
  • 주석(Annotations): 객체에 대한 bounding boxes를 포함하며, mAP와 같은 지표를 사용하여 객체 검출 모델을 training하고 평가하는 데 적합합니다.

데이터셋 구조#

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개 클래스.

이 구조는 다양한 Ultralytics Solutions에서 발견되는 광범위한 실제 응용 시나리오를 반영하여, object detection 모델을 위한 다양하고 광범위한 테스트 환경을 제공합니다.

벤치마킹#

데이터셋 벤치마킹에는 표준화된 메트릭을 사용하여 특정 데이터셋에서 머신러닝 모델의 성능을 평가하는 작업이 포함됩니다. 일반적인 메트릭으로는 정확도, 평균 정밀도(mAP), F1 점수가 있습니다. 이에 대한 자세한 내용은 YOLO 성능 메트릭 가이드에서 확인할 수 있습니다.

벤치마킹 결과

모든 출력은 단일 runs/<task>/multitrain/ 디렉터리 아래에 그룹화됩니다. 각 데이터셋은 고유한 하위 디렉터리(고유한 results.png 포함)에서 파인튜닝되며, 데이터셋별 지표와 평균 지표는 multitrain_results.png 막대 차트와 함께 multitrain_results.json에 기록됩니다. model.train() 호출은 프로그래밍 방식 접근을 위한 {dataset: metrics} 딕셔너리도 반환합니다.

벤치마킹 예시

아래 스크립트는 datasets_links.txt에 나열된 Roboflow 100 데이터셋을 Roboflow에서 다운로드한 다음, 단일 model.train() 호출을 통해 전체 컬렉션에서 단일 베이스 모델(예: YOLO26n)을 파인튜닝합니다. 데이터셋 목록을 전달하면 각 데이터셋에서 베이스 모델이 연속으로 파인튜닝되며 교차 데이터셋 결과가 자동으로 시각화됩니다.

import re
from pathlib import Path

from roboflow import Roboflow

from ultralytics import YOLO
from ultralytics.utils import ASSETS_URL, LOGGER, YAML
from ultralytics.utils.downloads import safe_download

# Download the RF100 datasets (requires a Roboflow API key)
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 as e:
        LOGGER.warning(f"Failed to prepare dataset from {line!r}: {e}")

# 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}")

응용 분야#

Roboflow 100은 컴퓨터 비전딥러닝과 관련된 다양한 애플리케이션에 매우 유용합니다. 연구원과 엔지니어는 이 벤치마크를 활용하여 다음을 수행할 수 있습니다:

  • 다중 도메인 환경에서 객체 탐지 모델의 성능을 평가합니다.
  • COCOPASCAL VOC와 같은 일반적인 벤치마크 데이터셋을 넘어, 실제 시나리오에서 모델의 적응성과 강인성을 테스트합니다.
  • 헬스케어, 항공 이미지, 비디오 게임과 같은 전문 분야를 포함하여 다양한 데이터셋 전반에서 객체 탐지 모델의 성능을 벤치마크합니다.
  • 다양한 신경망 아키텍처와 최적화 기법 간의 모델 성능을 비교합니다.
  • 특수 model training tips 또는 transfer learning과 같은 fine-tuning 접근 방식이 필요할 수 있는 도메인 특화 과제를 식별합니다.

실제 애플리케이션에 대한 더 많은 아이디어와 영감을 얻으려면 our guides on practical projects을 살펴보거나, 간소화된 model trainingdeployment을 위해 Ultralytics Platform을 확인해 보세요.

사용법#

메타데이터와 다운로드 링크를 포함한 Roboflow 100 데이터셋은 공식 Roboflow 100 GitHub 저장소에서 확인할 수 있습니다. 벤치마킹 니즈에 맞춰 해당 위치에서 직접 데이터셋에 액세스하여 활용할 수 있습니다. 위와 같이 데이터셋을 다운로드하고 준비한 후, 데이터셋 YAML 목록을 전달하면 단일 model.train() 호출로 전체 컬렉션에서 Ultralytics 모델을 파인튜닝할 수 있습니다.

샘플 데이터 및 주석#

Roboflow 100은 다양한 각도와 도메인에서 캡처된 다양한 이미지로 구성된 데이터셋입니다. 아래는 RF100 벤치마크에 포함된 어노테이션된 이미지의 예시로, 다양한 객체와 씬을 보여줍니다. 데이터 증강과 같은 기법은 학습 중 다양성을 더욱 향상시킬 수 있습니다.

Roboflow 100 sample images with annotations

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 팀과 모든 기여자에게 감사드립니다.

객체 검출 및 머신 러닝 프로젝트를 향상시키기 위해 더 많은 데이터셋을 탐색하는 데 관심이 있다면, 다양한 다른 detection datasets을 포함하는 our comprehensive dataset collection을 자유롭게 방문해 보세요.

FAQ#

Roboflow 100 데이터셋이란 무엇이며, 객체 탐지에 있어 왜 중요한가요?#

Roboflow 100 데이터셋은 객체 검출 모델을 위한 벤치마크입니다. 여기에는 의료, 항공 이미지, 비디오 게임 같은 도메인을 아우르는 100개의 다양한 데이터셋이 포함되어 있습니다. 그 중요성은 전통적인, 종종 도메인이 제한된 벤치마크를 넘어, 광범위한 실제 시나리오에서 모델의 적응성과 견고성을 테스트하는 표준화된 방법을 제공하는 데 있습니다.

Roboflow 100 데이터셋은 어떤 도메인을 포함하나요?#

Roboflow 100 데이터셋은 7개의 다양한 도메인에 걸쳐 있으며, 객체 검출 모델에 고유한 과제를 제공합니다.

  1. 항공: 7개 데이터셋(예: 위성 이미지, 드론 뷰).
  2. 비디오 게임: 7개 데이터셋(예: 다양한 게임 환경의 객체).
  3. 현미경: 11개 데이터셋(예: 세포, 입자).
  4. 수중: 5개 데이터셋(예: 해양 생물, 수중 객체).
  5. 문서: 8개 데이터셋(예: 텍스트 영역, 양식 요소).
  6. 전자기: 12개 데이터셋(예: 레이더 신호, 스펙트럼 데이터 시각화).
  7. 실세계: 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 모델과 호환되는 다른 검출 데이터셋을 살펴보세요.

댓글