YOLO Vision 2026:

Bộ dữ liệu Roboflow 100#

Roboflow 100, tài trợ bởi Intel, là một tập dữ liệu benchmark object detection đột phá. Nó bao gồm 100 tập dữ liệu đa dạng. Benchmark này được thiết kế cụ thể để kiểm tra khả năng thích ứng của các model computer vision, như Ultralytics YOLO models, đối với các lĩnh vực khác nhau, bao gồm y tế, hình ảnh trên không và trò chơi điện tử.

Cấp phép

Ultralytics cung cấp hai tùy chọn cấp phép để phù hợp với các trường hợp sử dụng khác nhau:

  • AGPL-3.0 License: Giấy phép mã nguồn mở được OSI-approved này rất lý tưởng cho học sinh, sinh viên và người có sở thích, thúc đẩy sự hợp tác mở và chia sẻ kiến thức. Xem tệp LICENSE để biết thêm chi tiết và truy cập trang Giấy phép AGPL-3.0 của chúng tôi.
  • Giấy phép Doanh nghiệp: Dành cho việc phát triển và sử dụng trong sản xuất, giấy phép này cho phép tích hợp liền mạch phần mềm Ultralytics và các mô hình AI vào các sản phẩm và dịch vụ kinh doanh, bao gồm các công cụ nội bộ, quy trình tự động và việc triển khai trong môi trường sản xuất, bỏ qua các yêu cầu mã nguồn mở của AGPL-3.0. Để bắt đầu, vui lòng liên hệ với chúng tôi qua Ultralytics Licensing.

Roboflow 100 diverse object detection benchmark

Tính năng chính#

  • Các lĩnh vực đa dạng: Bao gồm 100 bộ dữ liệu trên bảy lĩnh vực riêng biệt: Trên không (Aerial), Trò chơi điện tử (Video games), Kính hiển vi (Microscopic), Dưới nước (Underwater), Tài liệu (Documents), Điện từ (Electromagnetic) và Thế giới thực (Real World).
  • Quy mô: Benchmark bao gồm 224.714 hình ảnh trên 805 lớp, đại diện cho hơn 11.170 giờ nỗ lực data labeling.
  • Tiêu chuẩn hóa: Tất cả hình ảnh đều được preprocessed và thay đổi kích thước thành 640x640 pixel để đánh giá nhất quán.
  • Đánh giá sạch: Tập trung loại bỏ sự mơ hồ về lớp và lọc bỏ các lớp đại diện kém để đảm bảo model evaluation sạch hơn.
  • Chú thích: Bao gồm bounding boxes cho các đối tượng, phù hợp để training và đánh giá các model object detection sử dụng các metric như mAP.

Cấu trúc tập dữ liệu#

Bộ dữ liệu Roboflow 100 được tổ chức thành bảy danh mục, mỗi danh mục chứa một bộ sưu tập duy nhất các bộ dữ liệu, hình ảnh và lớp:

  • Trên không (Aerial): 7 bộ dữ liệu, 9.683 hình ảnh, 24 lớp.
  • Trò chơi điện tử (Video Games): 7 bộ dữ liệu, 11.579 hình ảnh, 88 lớp.
  • Kính hiển vi (Microscopic): 11 bộ dữ liệu, 13.378 hình ảnh, 28 lớp.
  • Dưới nước (Underwater): 5 bộ dữ liệu, 18.003 hình ảnh, 39 lớp.
  • Tài liệu (Documents): 8 bộ dữ liệu, 24.813 hình ảnh, 90 lớp.
  • Điện từ (Electromagnetic): 12 bộ dữ liệu, 36.381 hình ảnh, 41 lớp.
  • Thế giới thực (Real World): 50 bộ dữ liệu, 110.615 hình ảnh, 495 lớp.

Cấu trúc này cung cấp một môi trường thử nghiệm đa dạng và phong phú cho các model object detection, phản ánh một loạt các kịch bản ứng dụng thực tế được tìm thấy trong nhiều Ultralytics Solutions.

Benchmarking#

Dataset benchmarking liên quan đến việc đánh giá hiệu suất của các model machine learning trên các tập dữ liệu cụ thể bằng cách sử dụng các metric chuẩn hóa. Các metric phổ biến bao gồm accuracy, mean Average Precision (mAP) và F1-score. Bạn có thể tìm hiểu thêm về những điều này trong hướng dẫn Metric Hiệu suất YOLO của chúng tôi.

Kết quả Benchmarking

Mỗi đầu ra được nhóm lại dưới một thư mục runs/<task>/multitrain/ duy nhất: mỗi tập dữ liệu được fine-tune trong thư mục con riêng của nó (với results.png riêng), và các metric trên mỗi tập dữ liệu và giá trị trung bình được ghi vào multitrain_results.json cùng với một biểu đồ thanh multitrain_results.png. Lệnh gọi model.train() cũng trả về một từ điển {dataset: metrics} để truy cập theo chương trình.

Ví dụ về Benchmarking

Script bên dưới tải xuống các tập dữ liệu Roboflow 100 được liệt kê trong datasets_links.txt từ Roboflow, sau đó fine-tune một model cơ sở duy nhất (ví dụ: YOLO26n) trên toàn bộ bộ sưu tập trong một lệnh gọi model.train(). Việc truyền một danh sách các tập dữ liệu sẽ fine-tune model cơ sở trên từng tập theo chuỗi và tự động trực quan hóa kết quả chéo tập dữ liệu.

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

Ứng dụng#

Roboflow 100 rất có giá trị cho nhiều ứng dụng liên quan đến computer visiondeep learning. Các nhà nghiên cứu và kỹ sư có thể tận dụng benchmark này để:

  • Đánh giá hiệu suất của các model object detection trong bối cảnh đa miền.
  • Kiểm tra khả năng thích ứng và robustness của các model đối với các kịch bản thực tế ngoài các benchmark datasets phổ biến như COCO hoặc PASCAL VOC.
  • Benchmark khả năng của các model object detection trên các bộ dữ liệu đa dạng, bao gồm các lĩnh vực chuyên biệt như y tế, hình ảnh trên không và trò chơi điện tử.
  • So sánh hiệu suất model giữa các kiến trúc neural network và kỹ thuật optimization khác nhau.
  • Xác định các thách thức cụ thể theo lĩnh vực có thể yêu cầu model training tips chuyên specialized hoặc các phương pháp fine-tuning như transfer learning.

Để có thêm ý tưởng và cảm hứng về các ứng dụng thực tế, hãy khám phá các hướng dẫn của chúng tôi về các dự án thực tế hoặc xem Ultralytics Platform để model trainingdeployment được hợp lý hóa.

Cách sử dụng#

Tập dữ liệu Roboflow 100, bao gồm siêu dữ liệu và liên kết tải xuống, có sẵn trên kho lưu trữ GitHub Roboflow 100 chính thức. Bạn có thể truy cập và sử dụng tập dữ liệu trực tiếp từ đó cho nhu cầu benchmarking của mình. Sau khi các tập dữ liệu được tải xuống và chuẩn bị như hiển thị ở trên, các model Ultralytics có thể được fine-tune trên toàn bộ bộ sưu tập trong một lệnh gọi model.train() duy nhất bằng cách truyền danh sách các YAML tập dữ liệu.

Dữ liệu mẫu và Chú thích#

Roboflow 100 bao gồm các tập dữ liệu với nhiều hình ảnh đa dạng được chụp từ các góc độ và lĩnh vực khác nhau. Dưới đây là các ví dụ về hình ảnh được chú thích có trong RF100 benchmark, thể hiện sự đa dạng của các đối tượng và cảnh. Các kỹ thuật như data augmentation có thể nâng cao hơn nữa sự đa dạng trong quá trình training.

Roboflow 100 sample images with annotations

Sự đa dạng được thấy trong Roboflow 100 benchmark thể hiện một bước tiến đáng kể so với các benchmark truyền thống, vốn thường tập trung tối ưu hóa một metric duy nhất trong một miền giới hạn. Tiết diện toàn diện này hỗ trợ phát triển các model computer vision mạnh mẽ và linh hoạt hơn, có khả năng hoạt động tốt trên vô số kịch bản khác nhau.

Trích dẫn và Ghi nhận#

Nếu bạn sử dụng bộ dữ liệu Roboflow 100 trong công việc nghiên cứu hoặc phát triển của mình, vui lòng trích dẫn bài báo gốc:

Trích dẫn
@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}
}

Chúng tôi gửi lời cảm ơn tới đội ngũ Roboflow và tất cả những người đóng góp vì những nỗ lực đáng kể của họ trong việc tạo và duy trì bộ dữ liệu Roboflow 100 như một tài nguyên quý giá cho cộng đồng computer vision.

Nếu bạn quan tâm đến việc khám phá thêm các tập dữ liệu để nâng cao các dự án object detection và machine learning của mình, hãy thoải mái truy cập bộ sưu tập tập dữ liệu toàn diện của chúng tôi, bao gồm nhiều detection datasets khác.

Câu hỏi thường gặp#

  • Tập dữ liệu Roboflow 100 là một benchmark dành cho các model object detection. Nó bao gồm 100 tập dữ liệu đa dạng bao gồm các lĩnh vực như y tế, hình ảnh trên không và trò chơi điện tử. Ý nghĩa của nó nằm ở việc cung cấp một cách chuẩn hóa để kiểm tra khả năng thích ứng và độ mạnh mẽ của model trên một loạt các kịch bản thực tế rộng lớn, vượt ra ngoài các benchmark truyền thống, thường bị giới hạn trong miền.

  • Tập dữ liệu Roboflow 100 trảiσ rộng trên bảy lĩnh vực đa dạng, mang lại những thách thức độc đáo cho các model object detection:

    1. Trên không (Aerial): 7 bộ dữ liệu (ví dụ: hình ảnh vệ tinh, góc nhìn từ flycam).
    2. Trò chơi điện tử (Video Games): 7 bộ dữ liệu (ví dụ: các đối tượng từ nhiều môi trường trò chơi khác nhau).
    3. Kính hiển vi (Microscopic): 11 bộ dữ liệu (ví dụ: tế bào, hạt).
    4. Dưới nước (Underwater): 5 bộ dữ liệu (ví dụ: sinh vật biển, các đối tượng chìm dưới nước).
    5. Tài liệu (Documents): 8 bộ dữ liệu (ví dụ: các vùng văn bản, các thành phần biểu mẫu).
    6. Điện từ (Electromagnetic): 12 bộ dữ liệu (ví dụ: chữ ký radar, trực quan hóa dữ liệu phổ).
    7. Thế giới thực (Real World): 50 bộ dữ liệu (một danh mục rộng bao gồm các đối tượng hàng ngày, cảnh vật, bán lẻ, v.v.).

    Sự đa dạng này làm cho RF100 trở thành một nguồn tài nguyên tuyệt vời để đánh giá tính generalizability của các model computer vision.

  • Khi sử dụng bộ dữ liệu Roboflow 100, vui lòng trích dẫn bài báo gốc để ghi nhận công lao cho những người tạo ra nó. Đây là trích dẫn BibTeX được khuyến nghị:

    Trích dẫn
    @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}
    }

    Để khám phá thêm, hãy cân nhắc truy cập bộ sưu tập tập dữ liệu toàn diện của chúng tôi hoặc duyệt qua các detection datasets khác tương thích với các model Ultralytics.

Bình luận