Tập dữ liệu Roboflow 100
Roboflow 100, được tài trợ bởi Intel, là một tập dữ liệu chuẩn phát hiện đối tượng mang tính đột phá. Nó bao gồm 100 tập 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 mô hình thị giác máy tính, như các mô hình Ultralytics YOLO, đối với nhiều lĩnh vực khác nhau, bao gồm chăm sóc sức khỏe, hình ảnh trên không và trò chơi điện tử.
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 là lựa chọn lý tưởng cho sinh viên và những người đam mê, giúp 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: Được thiết kế cho mục đích thương mại, 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ụ thương mại. Nếu trường hợp của bạn liên quan đến các ứng dụng thương mại, vui lòng liên hệ qua Cấp phép Ultralytics.
Các tính năng chính
- Lĩnh vực đa dạng: Bao gồm 100 tập dữ liệu thuộc bảy lĩnh vực riêng biệt: Trên không, Trò chơi điện tử, Kính hiển vi, Dưới nước, Tài liệu, Điện từ và Thế giới thực.
- Quy mô: Tiêu chuẩn này bao gồm 224.714 hình ảnh thuộc 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 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 đánh giá mô hình sạch hơn.
- Chú thích: Bao gồm hộp bao cho các đối tượng, phù hợp để huấn luyện và đánh giá các mô hình phát hiện đối tượng bằng cách sử dụng các chỉ số như mAP.
Cấ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 bộ sưu tập duy nhất gồm các tập dữ liệu, hình ảnh và lớp:
- Trên không: 7 tập dữ liệu, 9.683 hình ảnh, 24 lớp.
- Trò chơi điện tử: 7 tập dữ liệu, 11.579 hình ảnh, 88 lớp.
- Kính hiển vi: 11 tập dữ liệu, 13.378 hình ảnh, 28 lớp.
- Dưới nước: 5 tập dữ liệu, 18.003 hình ảnh, 39 lớp.
- Tài liệu: 8 tập dữ liệu, 24.813 hình ảnh, 90 lớp.
- Điện từ: 12 tập dữ liệu, 36.381 hình ảnh, 41 lớp.
- Thế giới thực: 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à phong phú cho các mô hình phát hiện đối tượng, phản ánh nhiều tình huống ứng dụng thực tế được tìm thấy trong các Giải pháp Ultralytics khác nhau.
Đánh giá chuẩn
Đánh giá chuẩn tập dữ liệu liên quan đến việc đánh giá hiệu suất của các mô hình học máy trên các tập dữ liệu cụ thể bằng cách sử dụng các chỉ số tiêu chuẩn hóa. Các chỉ số phổ biến bao gồm độ chính xác, mean Average Precision (mAP) và F1-score. Bạn có thể tìm hiểu thêm về các chỉ số này trong hướng dẫn về Chỉ số hiệu suất YOLO của chúng tôi.
Kết quả đánh giá chuẩn 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.
Tập lệnh sau đây minh họa cách đánh giá chuẩn theo chương trình một mô hình Ultralytics YOLO (ví dụ: YOLO26n) trên tất cả 100 tập dữ liệu trong chuẩn Roboflow 100 bằng cách 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!")Ứng dụng
Roboflow 100 là nguồn tài nguyên vô giá cho các ứng dụng khác nhau liên quan đến thị giác máy tính và học sâu. Các nhà nghiên cứu và kỹ sư có thể tận dụng chuẩn này để:
- Đánh giá hiệu suất của các mô hình phát hiện đối tượng trong ngữ cảnh đa miền.
- Kiểm tra khả năng thích ứng và độ bền vững của các mô hình đối với các kịch bản thực tế ngoài các tập dữ liệu chuẩn phổ biến như COCO hoặc PASCAL VOC.
- Đánh giá chuẩn khả năng của các mô hình phát hiện đối tượng 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ư chăm sóc sức khỏe, hình ảnh trên không và trò chơi điện tử.
- So sánh hiệu suất mô hình giữa các kiến trúc mạng thần kinh và kỹ thuật tối ưu hóa khác nhau.
- Xác định các thách thức cụ thể của miền có thể yêu cầu các mẹo huấn luyện mô hình chuyên biệt hoặc các phương pháp tinh chỉnh như học chuyển tiếp.
Để 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 Nền tảng Ultralytics để huấn luyện mô hình và triển khai đượ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 đánh giá chuẩn của mình. Tiện ích RF100Benchmark của Ultralytics đơ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 mô hình Ultralytics.
Dữ 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ó trong chuẩn RF100, thể hiện sự đa dạng của các đối tượng và cảnh quay. Các kỹ thuật như tăng cường dữ liệu có thể nâng cao hơn nữa sự đa dạng trong quá trình huấn luyện.
Sự đa dạng trong chuẩn Roboflow 100 đại diện cho một bước tiến đáng kể so với các 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 hạn chế. Cách tiếp cận toàn diện này hỗ trợ phát triển các mô hình thị giác máy tính 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 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:
@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 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 thị giác máy tính.
Nếu bạn muốn khám phá thêm các tập dữ liệu để nâng cao các dự án phát hiện đối tượng và học máy 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 tập dữ liệu phát hiện khác.
Câu hỏi thường gặp (FAQ)
Tập dữ liệu Roboflow 100 là gì và tại sao nó lại quan trọng đối với việc phát hiện đối tượng?
Tập dữ liệu Roboflow 100 là một chuẩn cho các mô hình phát hiện đối tượng. Nó bao gồm 100 tập dữ liệu đa dạng bao gồm các lĩnh vực như chăm sóc sức khỏe, 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 tiêu chuẩn hóa để kiểm tra khả năng thích ứng và độ bền vững của mô hình trên phạm vi rộng các tình huống thực tế, vượt ra ngoài các chuẩn truyền thống thường bị hạn chế về miền.
Những lĩnh vực nào được bao phủ bởi tập dữ liệu Roboflow 100?
Tập dữ liệu Roboflow 100 trải dài trên bảy lĩnh vực đa dạng, mang đến những thách thức độc đáo cho các mô hình phát hiện đối tượng:
- Trên không: 7 tập dữ liệu (ví dụ: hình ảnh vệ tinh, góc nhìn từ máy bay không người lái).
- Trò chơi điện tử: 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).
- Kính hiển vi: 11 tập dữ liệu (ví dụ: tế bào, hạt).
- Dưới nước: 5 tập dữ liệu (ví dụ: sinh vật biển, vật thể chìm dưới nước).
- Tài liệu: 8 tập dữ liệu (ví dụ: các vùng văn bản, thành phần biểu mẫu).
- Điện từ: 12 tập dữ liệu (ví dụ: tín hiệu radar, hình ảnh hóa dữ liệu phổ).
- Thế giới thực: 50 tập dữ liệu (một danh mục rộng bao gồm các vật dụng hàng ngày, cảnh quay, 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 của các mô hình thị giác máy tính.
Tô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ác tác giả. Đây là trích dẫn BibTeX được khuyến nghị:
@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 phát hiện khác tương thích với các mô hình Ultralytics.