Meet YOLO26: next-gen vision AI.

Link to this sectionBộ dữ liệu Roboflow 100#

Roboflow 100, được tài trợ bởi Intel, là một bộ dữ liệu tiêu chuẩn mang tính đột phá về object detection. Nó bao gồm 100 bộ dữ liệu đa dạng. Tiêu chuẩn này được thiết kế đặc biệt để kiểm tra khả năng thích ứng của các model computer vision, chẳng hạn như các model Ultralytics YOLO models, với nhiều 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:

  • Giấy phép AGPL-3.0: Giấy phép mã nguồn mở được OSI chấp thuận này lý tưởng cho sinh viên và những người đam mê, 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: Đối với mục đích phát triển và 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 và các mô hình AI của Ultralytics vào các sản phẩm và dịch vụ kinh doanh, bao gồm công cụ nội bộ, quy trình làm việc tự động và triển khai 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 Cấp phép Ultralytics.

Roboflow 100 diverse object detection benchmark

Link to this sectionTí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ô: Tiêu chuẩn này 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 vào việc loại bỏ sự mơ hồ về lớp và lọc bỏ các lớp không được đại diện đầy đủ để đảm bảo việc 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 bằng cách sử dụng các chỉ số như mAP.

Link to this sectionCấ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 nền tảng thử nghiệm đa dạng và phong phú cho các model object detection, phản ánh hàng loạt các kịch bản ứng dụng trong thế giới thực được tìm thấy trong nhiều Ultralytics Solutions.

Link to this sectionBenchmarking#

Việc benchmarking bộ dữ liệu liên quan đến việc đánh giá hiệu suất của các model machine learning trên các bộ dữ liệu cụ thể bằng cách sử dụng các chỉ số tiêu chuẩn. Các chỉ số 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 chỉ số này trong hướng dẫn YOLO Performance Metrics của chúng tôi.

Kết quả Benchmarking

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

Ví dụ về Benchmarking

Script dưới đây tải xuống các bộ dữ liệu Roboflow 100 được liệt kê trong datasets_links.txt từ Roboflow, sau đó fine-tune một base model 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 bộ dữ liệu sẽ fine-tune base model trên từng bộ dữ liệu theo chuỗi và tự động trực quan hóa kết quả trên các bộ dữ liệu. Cần có Roboflow API key miễn phí để tải xuống các bộ dữ liệu.

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Ứng dụng#

Roboflow 100 vô cùng quý giá 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 tiêu chuẩn 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 với các kịch bản thực tế bên 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 trên 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 miền có thể đòi hỏi model training tips chuyên biệt hoặc các cách tiếp cận 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á hướng dẫn của chúng tôi về các dự án thực tế hoặc xem Ultralytics Platform để tối ưu hóa quá trình model trainingdeployment.

Link to this sectionCách sử dụng#

Bộ dữ liệu Roboflow 100, bao gồm metadata và các liên kết tải xuống, có sẵn trên kho lưu trữ GitHub của Roboflow 100. Bạn có thể truy cập và sử dụng bộ dữ liệu trực tiếp từ đó cho các nhu cầu benchmarking của mình. Khi các bộ 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 YAML của bộ dữ liệu.

Link to this sectionDữ liệu mẫu và Chú thích#

Roboflow 100 bao gồm các bộ dữ liệu với 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 tiêu chuẩn RF100, 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ể tăng cường hơn nữa sự đa dạng trong quá trình đào tạo.

Roboflow 100 sample images with annotations

Sự đa dạng được thấy trong tiêu chuẩn Roboflow 100 đại diện cho một bước tiến đáng kể so với các tiêu chuẩn truyền thống, vốn thường tập trung vào việc tối ưu hóa một chỉ số duy nhất trong một miền giới hạn. Cách tiếp cậ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ố các kịch bản khác nhau.

Link to this sectionTrí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 bộ 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 bộ dữ liệu toàn diện của chúng tôi, bao gồm nhiều detection datasets khác.

Link to this sectionCâu hỏi thường gặp#

Link to this sectionBộ dữ liệu Roboflow 100 là gì và tại sao nó lại quan trọng đối với object detection?#

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

Link to this sectionBộ dữ liệu Roboflow 100 bao gồm những lĩnh vực nào?#

Bộ dữ liệu Roboflow 100 bao phủ bảy lĩnh vực đa dạng, mang đến 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 tài nguyên tuyệt vời để đánh giá generalizability của các model computer vision.

Link to this sectionTôi nên bao gồm những gì khi trích dẫn bộ dữ liệu Roboflow 100 trong nghiên cứu của mình?#

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 bộ 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