Bộ dữ liệu Roboflow 100
Roboflow 100, được tài trợ bởi Intel, là một bộ dữ liệu chuẩn phát hiện đối tượng mang tính đột phá. Nó bao gồm 100 bộ dữ liệu đa dạng được lấy mẫu từ hơn 90.000 bộ dữ liệu công khai có sẵn trên Roboflow Universe. 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, với nhiều lĩnh vực khác nhau, bao gồm chăm sóc sức khỏe, ảnh chụp từ 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 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: Được thiết kế để sử dụng 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 Ultralytics và các mô hình AI vào các sản phẩm và dịch vụ thương mại. Nếu kịch bản của bạn liên quan đến các ứng dụng thương mại, vui lòng liên hệ qua Ultralytics Licensing.
Các 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, Trò chơi điện tử, Vi mô, Dưới nước, Tài liệu, Điện từ và Thế giới thực.
- Quy mô: Điểm chuẩn bao gồm 224.714 hình ảnh trên 805 lớp, thể hiện 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 xử lý sơ bộ 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ồ của lớp và lọc ra 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 bounding box 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ác số liệu như mAP.
Cấu trúc bộ 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 tập hợp duy nhất các bộ dữ liệu, hình ảnh và lớp:
- Trên không: 7 bộ dữ liệu, 9.683 ảnh, 24 lớp.
- Trò chơi điện tử: 7 bộ dữ liệu, 11.579 hình ảnh, 88 lớp.
- Vi mô: 11 bộ dữ liệu, 13.378 hình ảnh, 28 lớp.
- Dưới nước: 5 bộ dữ liệu, 18.003 hình ảnh, 39 lớp.
- Tài liệu: 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: 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à mở rộng cho các mô hình phát hiện đối tượng, 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 các Giải pháp Ultralytics khác nhau.
Điểm chuẩn
Đánh giá chuẩn bộ dữ liệu bao gồm đánh giá hiệu suất của các mô hình máy học trên các bộ dữ liệu cụ thể bằng cách sử dụng các số liệu tiêu chuẩn. Các số liệu phổ biến bao gồm độ chính xác, độ chính xác trung bình (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 về Số liệu hiệu suất YOLO của chúng tôi.
Kết quả đánh giá hiệu năng
Kết quả đánh giá hiệu năng bằng cách sử dụng script được cung cấp sẽ được lưu trữ trong ultralytics-benchmarks/
thư mục, đặc biệt là trong evaluation.txt
.
Ví dụ về đánh giá hiệu năng
Đoạn script sau đây minh họa cách lập trình để đánh giá một mô hình Ultralytics YOLO (ví dụ: YOLOv11n) trên tất cả 100 bộ dữ liệu trong chuẩn Roboflow 100 bằng cách sử dụng RF100Benchmark
class.
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=yolo11s.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!")
Các ứng dụng
Roboflow 100 vô cùng giá trị cho nhiều ứng dụng 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 bối cảnh đa miền.
- Kiểm tra khả năng thích ứng và tính mạnh mẽ của các mô hình đối với các tình huống thực tế vượt ra ngoài các bộ dữ liệu chuẩn thông thường như COCO hoặc PASCAL VOC.
- Đánh giá khả năng của các mô hình phát hiện đối tượng 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ư chăm sóc sức khỏe, ảnh chụp từ trên không và trò chơi điện tử.
- So sánh hiệu suất mô hình trên các kiến trúc mạng nơ-ron và các kỹ thuật tối ưu hóa 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 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 giao.
Để 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 HUB để huấn luyện mô hình và triển khai được hợp lý hóa.
Cách sử dụng
Bộ 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 trang chính thức Kho lưu trữ Roboflow 100 GitHub. Bạn có thể truy cập và sử dụng dataset trực tiếp từ đó cho nhu cầu đo điểm chuẩn của mình. Ultralytics RF100Benchmark
utility giúp đơn giản hóa quy trình tải xuống và chuẩn bị các bộ 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 bộ 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. 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 được thấy trong chuẩn Roboflow 100 thể hiện 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 số liệu 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 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 nhiều tình huống khác nhau.
Trích dẫn và Lời cảm ơ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:
@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 xin gửi lời cảm ơn sâu sắc đến đội ngũ Roboflow và tất cả những người đóng góp vì những nỗ lực to lớn của họ trong việc tạo ra và duy trì bộ dữ liệu Roboflow 100, 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 quan tâm đến việc khám phá thêm các bộ dữ liệu để nâng cao các dự án học máy và phát hiện đối tượng của mình, vui lòng truy cập bộ sưu tập dữ liệu toàn diện của chúng tôi, bao gồm nhiều bộ dữ liệu phát hiện khác.
Câu hỏi thường gặp
Bộ 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?
Roboflow 100 là bộ dữ liệu chuẩn cho các mô hình phát hiện đối tượng. Nó bao gồm 100 bộ dữ liệu đa dạng có nguồn gốc từ Roboflow Universe, bao gồm các lĩnh vực như chăm sóc sức khỏe, ảnh chụp từ 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 để kiểm tra khả năng thích ứng và độ mạnh mẽ của mô hình trên một loạt các tình huống thực tế, vượt ra ngoài các tiêu chuẩn truyền thống, thường bị giới hạn về miền.
Bộ dữ liệu Roboflow 100 bao gồm những lĩnh vực nào?
Bộ dữ liệu Roboflow 100 trải rộng trên bảy lĩnh vực đa dạng, mang đến những thách thức riêng cho các mô hình phát hiện đối tượng:
- Trên không: 7 bộ dữ liệu (ví dụ: ảnh vệ tinh, ảnh chụp từ máy bay không người lái).
- Trò chơi điện tử: 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).
- Vi mô: 11 bộ dữ liệu (ví dụ: tế bào, hạt).
- Dưới nước: 5 bộ dữ liệu (ví dụ: sinh vật biển, vật thể chìm).
- Tài liệu: 8 bộ dữ liệu (ví dụ: vùng văn bản, thành phần biểu mẫu).
- Điện từ (Electromagnetic): 12 bộ dữ liệu (ví dụ: dấu hiệu radar, trực quan hóa dữ liệu quang phổ).
- Thế giới thực: 50 bộ dữ liệu (một danh mục rộng bao gồm các đối tượng, cảnh, bán lẻ, v.v. hàng ngày).
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 khái 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 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 của những người tạo ra nó. Đây là trích dẫn BibTeX được đề xuất:
@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 các bộ dữ liệu phát hiện khác tương thích với các mô hình Ultralytics.