Bỏ để qua phần nội dung

Tổng quan về bộ dữ liệu

Ultralytics Cung cấp hỗ trợ cho các bộ dữ liệu khác nhau để tạo điều kiện thuận lợi cho các tác vụ thị giác máy tính như phát hiện, phân đoạn phiên bản, ước tính tư thế, phân loại và theo dõi đa đối tượng. Dưới đây là danh sách chính Ultralytics bộ dữ liệu, tiếp theo là tóm tắt từng tác vụ thị giác máy tính và các bộ dữ liệu tương ứng.



Xem: Ultralytics Tổng quan về bộ dữ liệu

MỚI 🚀 Ultralytics Explorer

Tạo nhúng cho tập dữ liệu của bạn, tìm kiếm các hình ảnh tương tự, chạy truy vấn SQL, thực hiện tìm kiếm ngữ nghĩa và thậm chí tìm kiếm bằng ngôn ngữ tự nhiên! Bạn có thể bắt đầu với ứng dụng GUI của chúng tôi hoặc xây dựng ứng dụng của riêng bạn bằng API. Tìm hiểu thêm tại đây.

Ultralytics Ảnh chụp màn hình Explorer

Phát hiện đối tượng

Phát hiện đối tượng hộp giới hạn là một kỹ thuật thị giác máy tính liên quan đến việc phát hiện và khoanh vùng các đối tượng trong hình ảnh bằng cách vẽ một hộp giới hạn xung quanh mỗi đối tượng.

  • Argoverse: Một bộ dữ liệu chứa dữ liệu theo dõi 3D và dự báo chuyển động từ môi trường đô thị với các chú thích phong phú.
  • COCO: Đối tượng phổ biến trong ngữ cảnh (COCO) là bộ dữ liệu phát hiện, phân đoạn và chú thích đối tượng quy mô lớn với 80 danh mục đối tượng.
  • LVIS: Bộ dữ liệu phát hiện, phân đoạn và tạo phụ đề đối tượng quy mô lớn với 1203 danh mục đối tượng.
  • COCO8: Một tập hợp con nhỏ hơn của 4 hình ảnh đầu tiên từ tàu COCO và COCO val, phù hợp để kiểm tra nhanh.
  • Lúa mì toàn cầu 2020: Bộ dữ liệu chứa hình ảnh đầu lúa mì cho Thử thách lúa mì toàn cầu 2020.
  • Objects365: Bộ dữ liệu quy mô lớn, chất lượng cao để phát hiện đối tượng với 365 danh mục đối tượng và hơn 600K hình ảnh được chú thích.
  • OpenImagesV7: Một bộ dữ liệu toàn diện của Google với 1,7 triệu hình ảnh xe lửa và 42k hình ảnh xác thực.
  • SKU-110K: Một bộ dữ liệu có tính năng phát hiện đối tượng dày đặc trong môi trường bán lẻ với hơn 11K hình ảnh và 1,7 triệu hộp giới hạn.
  • VisDrone: Một bộ dữ liệu chứa dữ liệu phát hiện đối tượng và theo dõi đa đối tượng từ hình ảnh chụp bằng máy bay không người lái với hơn 10K hình ảnh và chuỗi video.
  • VOC: Bộ dữ liệu Pascal Visual Object Classes (VOC) để phát hiện và phân đoạn đối tượng với 20 lớp đối tượng và hơn 11K hình ảnh.
  • xView: Một bộ dữ liệu để phát hiện đối tượng trong hình ảnh trên cao với 60 danh mục đối tượng và hơn 1 triệu đối tượng được chú thích.
  • Roboflow 100: Điểm chuẩn phát hiện đối tượng đa dạng với 100 bộ dữ liệu trải dài trên bảy miền hình ảnh để đánh giá mô hình toàn diện.
  • Khối u não: Một bộ dữ liệu để phát hiện khối u não bao gồm hình ảnh quét MRI hoặc CT với các chi tiết về sự hiện diện, vị trí và đặc điểm của khối u.
  • Động vật hoang dã châu Phi: Một bộ dữ liệu có hình ảnh của động vật hoang dã châu Phi, bao gồm trâu, voi, tê giác và ngựa vằn.
  • Chữ ký: Một bộ dữ liệu có hình ảnh của các tài liệu khác nhau với chữ ký được chú thích, hỗ trợ xác minh tài liệu và nghiên cứu phát hiện gian lận.

Phân đoạn phiên bản

Phân đoạn phiên bản là một kỹ thuật thị giác máy tính liên quan đến việc xác định và bản địa hóa các đối tượng trong hình ảnh ở cấp độ pixel.

  • COCO: Một bộ dữ liệu quy mô lớn được thiết kế cho các tác vụ phát hiện, phân đoạn và tạo phụ đề đối tượng với hơn 200 nghìn hình ảnh được gắn nhãn.
  • COCO8-seg: Một tập dữ liệu nhỏ hơn cho các tác vụ phân đoạn phiên bản, chứa một tập hợp con gồm 8 hình ảnh COCO với chú thích phân đoạn.
  • Crack-seg: Bộ dữ liệu được chế tạo đặc biệt để phát hiện các vết nứt trên đường và tường, áp dụng cho cả nhiệm vụ phát hiện và phân đoạn đối tượng.
  • Package-seg: Bộ dữ liệu phù hợp để xác định các gói hàng trong kho hoặc môi trường công nghiệp, phù hợp cho cả ứng dụng phát hiện và phân đoạn đối tượng.
  • Carparts-seg: Bộ dữ liệu được xây dựng có mục đích để xác định các bộ phận của xe, phục vụ cho nhu cầu thiết kế, sản xuất và nghiên cứu. Nó phục vụ cho cả nhiệm vụ phát hiện đối tượng và phân đoạn.

Ước tính tư thế

Ước tính tư thế là một kỹ thuật được sử dụng để xác định tư thế của vật thể so với máy ảnh hoặc hệ tọa độ thế giới.

  • COCO: Một bộ dữ liệu quy mô lớn với các chú thích tư thế của con người được thiết kế cho các nhiệm vụ ước tính tư thế.
  • COCO8-pose: Một bộ dữ liệu nhỏ hơn cho các nhiệm vụ ước tính tư thế, chứa một tập hợp con gồm 8 hình ảnh COCO với chú thích tư thế của con người.
  • Tư thế hổ: Một bộ dữ liệu nhỏ gọn bao gồm 263 hình ảnh tập trung vào hổ, được chú thích với 12 điểm chính trên mỗi con hổ cho các nhiệm vụ ước tính tư thế.

Phân loại

Phân loại hình ảnh là một nhiệm vụ thị giác máy tính liên quan đến việc phân loại hình ảnh thành một hoặc nhiều lớp hoặc danh mục được xác định trước dựa trên nội dung trực quan của nó.

  • Caltech 101: Một tập dữ liệu chứa hình ảnh của 101 loại đối tượng cho các tác vụ phân loại hình ảnh.
  • Caltech 256: Một phiên bản mở rộng của Caltech 101 với 256 loại đối tượng và hình ảnh thách thức hơn.
  • CIFAR-10: Một tập dữ liệu gồm 60K hình ảnh màu 32x32 trong 10 lớp, với 6K hình ảnh mỗi lớp.
  • CIFAR-100: Phiên bản mở rộng của CIFAR-10 với 100 loại đối tượng và 600 hình ảnh mỗi lớp.
  • Thời trang-MNIST: Một bộ dữ liệu bao gồm 70.000 hình ảnh thang độ xám của 10 danh mục thời trang cho các nhiệm vụ phân loại hình ảnh.
  • ImageNet: Một bộ dữ liệu quy mô lớn để phát hiện đối tượng và phân loại hình ảnh với hơn 14 triệu hình ảnh và 20.000 danh mục.
  • ImageNet-10: Một tập hợp con nhỏ hơn của ImageNet với 10 danh mục để thử nghiệm và thử nghiệm nhanh hơn.
  • Imagenette: Một tập hợp con nhỏ hơn của ImageNet chứa 10 lớp dễ phân biệt để đào tạo và kiểm tra nhanh hơn.
  • Imagewoof: Một tập hợp con khó khăn hơn của ImageNet chứa 10 danh mục giống chó cho các nhiệm vụ phân loại hình ảnh.
  • MNIST: Một bộ dữ liệu gồm 70.000 hình ảnh thang độ xám của các chữ số viết tay cho các tác vụ phân loại hình ảnh.

Hộp giới hạn định hướng (OBB)

Hộp giới hạn định hướng (OBB) là một phương pháp trong thị giác máy tính để phát hiện các vật thể góc cạnh trong hình ảnh bằng cách sử dụng các hộp giới hạn xoay, thường được áp dụng cho hình ảnh trên không và vệ tinh.

  • DOTA-v2: Bộ dữ liệu hình ảnh trên không OBB phổ biến với 1,7 triệu phiên bản và 11.268 hình ảnh.

Theo dõi đa đối tượng

Theo dõi đa đối tượng là một kỹ thuật thị giác máy tính liên quan đến việc phát hiện và theo dõi nhiều đối tượng theo thời gian trong một chuỗi video.

  • Argoverse: Một bộ dữ liệu chứa dữ liệu theo dõi 3D và dự báo chuyển động từ môi trường đô thị với các chú thích phong phú cho các tác vụ theo dõi đa đối tượng.
  • VisDrone: Một bộ dữ liệu chứa dữ liệu phát hiện đối tượng và theo dõi đa đối tượng từ hình ảnh chụp bằng máy bay không người lái với hơn 10K hình ảnh và chuỗi video.

Đóng góp bộ dữ liệu mới

Đóng góp một tập dữ liệu mới bao gồm một số bước để đảm bảo rằng nó phù hợp tốt với cơ sở hạ tầng hiện có. Dưới đây là các bước cần thiết:

Các bước để đóng góp một tập dữ liệu mới

  1. Thu thập hình ảnh: Thu thập hình ảnh thuộc tập dữ liệu. Chúng có thể được thu thập từ nhiều nguồn khác nhau, chẳng hạn như cơ sở dữ liệu công cộng hoặc bộ sưu tập của riêng bạn.
  2. Chú thích hình ảnh: Chú thích những hình ảnh này bằng các hộp, phân đoạn hoặc điểm chính giới hạn, tùy thuộc vào tác vụ.
  3. Xuất chú thích: Chuyển đổi các chú thích này thành YOLO *.txt định dạng tệp Ultralytics Hỗ trợ.
  4. Tổ chức tập dữ liệu: Sắp xếp tập dữ liệu của bạn vào cấu trúc thư mục chính xác. Bạn nên có train/val/ các thư mục cấp cao nhất và trong mỗi thư mục, một images/labels/ Thư mục.

    dataset/
    ├── train/
    │   ├── images/
    │   └── labels/
    └── val/
        ├── images/
        └── labels/
    
  5. Tạo một data.yaml Tệp: Trong thư mục gốc của tập dữ liệu, hãy tạo một data.yaml tệp mô tả tập dữ liệu, lớp và các thông tin cần thiết khác.

  6. Tối ưu hóa hình ảnh (Tùy chọn): Nếu bạn muốn giảm kích thước của tập dữ liệu để xử lý hiệu quả hơn, bạn có thể tối ưu hóa hình ảnh bằng cách sử dụng mã bên dưới. Điều này là không bắt buộc, nhưng được khuyến nghị cho kích thước tập dữ liệu nhỏ hơn và tốc độ tải xuống nhanh hơn.
  7. Tập dữ liệu zip: Nén toàn bộ thư mục tập dữ liệu thành tệp zip.
  8. Tài liệu và PR: Tạo một trang tài liệu mô tả tập dữ liệu của bạn và cách nó phù hợp với khung hiện có. Sau đó, gửi Yêu cầu kéo (PR). Tham khảo Ultralytics Hướng dẫn đóng góp để biết thêm chi tiết về cách gửi PR.

Mã ví dụ để tối ưu hóa và nén tập dữ liệu

Tối ưu hóa và nén tập dữ liệu

from pathlib import Path

from ultralytics.data.utils import compress_one_image
from ultralytics.utils.downloads import zip_directory

# Define dataset directory
path = Path("path/to/dataset")

# Optimize images in dataset (optional)
for f in path.rglob("*.jpg"):
    compress_one_image(f)

# Zip dataset into 'path/to/dataset.zip'
zip_directory(path)

Bằng cách làm theo các bước này, bạn có thể đóng góp một tập dữ liệu mới tích hợp tốt với Ultralytics' cấu trúc hiện có.



Created 2023-11-12, Updated 2024-06-02
Authors: glenn-jocher (9), RizwanMunawar (2), Burhan-Q (1), Laughing-q (1), abirami-vina (1), AyushExel (2)

Ý kiến