Meet YOLO26: next-gen vision AI.

Link to this sectionTập dữ liệu Roboflow 100#

Roboflow 100, được tài trợ bởi Intel, là một tập dữ liệu benchmark object detection mang tính đột phá. Nó bao gồm 100 tập dữ liệu đa dạng. Benchmark 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, như các model Ultralytics YOLO, 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 phê duyệt này rất 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 Enterprise: Cho 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ác công cụ nội bộ, quy trình 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 Ultralytics Licensing.

Roboflow 100 diverse object detection benchmark

Link to this sectionCác tính năng chính#

  • Các Lĩnh vực Đa dạng: Bao gồm 100 tập 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 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 gán nhãn dữ liệu.
  • Tiêu chuẩn hóa: Tất cả hình ảnh đều được tiền xử lý và thay đổi kích thước về 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 đánh giá model sạch hơn.
  • Chú thích: Bao gồm bounding box cho các đối tượng, phù hợp để training và đánh giá các model object detection sử dụng các số liệu như mAP.

Link to this sectionCấu trúc Tập dữ liệu#

Tập 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 tập hợp duy nhất các tập dữ liệu, hình ảnh và lớp:

  • Trên không (Aerial): 7 tập dữ liệu, 9.683 hình ảnh, 24 lớp.
  • Trò chơi điện tử (Video Games): 7 tập dữ liệu, 11.579 hình ảnh, 88 lớp.
  • Kính hiển vi (Microscopic): 11 tập dữ liệu, 13.378 hình ảnh, 28 lớp.
  • Dưới nước (Underwater): 5 tập dữ liệu, 18.003 hình ảnh, 39 lớp.
  • Tài liệu (Documents): 8 tập dữ liệu, 24.813 hình ảnh, 90 lớp.
  • Điện từ (Electromagnetic): 12 tập dữ liệu, 36.381 hình ảnh, 41 lớp.
  • Thế giới thực (Real World): 50 tập 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à mở rộng cho các model object detection, phản ánh nhiều kịch bản ứng dụng trong thế giới thực có trong các Ultralytics Solutions khác nhau.

Link to this sectionBenchmarking#

Benchmarking tập dữ liệu bao gồm 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ác số liệu tiêu chuẩn. Các số liệu phổ biến bao gồm accuracy, mAP và F1-score. Bạn có thể tìm hiểu thêm về các số liệu này trong hướng dẫn Số liệu Hiệu suất YOLO của chúng tôi.

Kết quả Benchmarking

Kết quả benchmarking sử dụng tập lệnh được cung cấp sẽ được lưu trữ trong thư mục ultralytics-benchmarks/, cụ thể là trong evaluation.txt.

Ví dụ về Benchmarking

Tập lệnh sau đây minh họa cách benchmark theo chương trình một model Ultralytics YOLO (ví dụ: YOLO26n) trên tất cả 100 tập dữ liệu trong benchmark Roboflow 100 sử dụng lớp RF100Benchmark.

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=yolo26s.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!")

Link to this sectionỨng dụng#

Roboflow 100 là vô giá cho các ứng dụng khác nhau 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 lĩnh vực.
  • Kiểm tra khả năng thích ứng và độ bền (robustness) của các model đối với các kịch bản thế giới thực ngoài các tập dữ liệu benchmark phổ biến như COCO hoặc PASCAL VOC.
  • Benchmark các khả năng của model object detection trên các tập 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à các kỹ thuật optimization khác nhau.
  • Xác định các thách thức đặc thù của từng lĩnh vực có thể yêu cầu các mẹo training model 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á các hướng dẫn về dự án thực tế hoặc xem Ultralytics Platform để tối ưu hóa việc trainingtriển khai (deployment) model.

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

Tập 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 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 các nhu cầu benchmarking của mình. Tiện ích RF100Benchmark của Ultralytics giúp đơn giản hóa quy trình tải xuống và chuẩn bị các tập dữ liệu này để sử dụng với các model Ultralytics.

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

Roboflow 100 bao gồm các tập dữ liệu với hình ảnh đa dạng được chụp từ nhiều 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 bao gồm trong benchmark RF100, thể hiện sự đa dạng của các đối tượng và bối 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 trong benchmark Roboflow 100 đại diện cho 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 vào việc tối ưu hóa một số liệu duy nhất trong một lĩnh vực hạn chế. Cách tiếp cận toàn diện này hỗ trợ việc 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.

Link to this sectionTrích dẫn và Ghi nhận#

Nếu bạn sử dụng tập 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 đến độ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 ra và duy trì tập dữ liệu Roboflow 100 như một nguồn 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 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 tập dữ liệu detection khác.

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

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

Tập dữ liệu Roboflow 100 là một benchmark 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ử. Tầm quan trọng 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à độ bền của model trên nhiều kịch bản thế giới thực, vượt xa các benchmark truyền thống thường bị giới hạn trong một lĩnh vực.

Link to this sectionNhững lĩnh vực nào được tập dữ liệu Roboflow 100 bao phủ?#

Tập 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 tập 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 tập 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 tập dữ liệu (ví dụ: tế bào, hạt nhỏ).
  4. Dưới nước (Underwater): 5 tập dữ liệu (ví dụ: sinh vật biển, đối tượng dưới nước).
  5. Tài liệu (Documents): 8 tập dữ liệu (ví dụ: các vùng văn bản, các phần tử biểu mẫu).
  6. Điện từ (Electromagnetic): 12 tập dữ liệu (ví dụ: tín hiệu radar, dữ liệu quang phổ trực quan hóa).
  7. Thế giới thực (Real World): 50 tập dữ liệu (một danh mục rộng bao gồm các đối tượng hàng ngày, bối cảnh, 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á khả năng tổng quát hóa (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 tập dữ liệu Roboflow 100 trong nghiên cứu của mình?#

Khi sử dụng tập dữ liệu Roboflow 100, vui lòng trích dẫn bài báo gốc để ghi nhận công lao của 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 tập dữ liệu detection khác tương thích với các model Ultralytics.

Bình luận