Tổng quan về dataset#
Ultralytics hỗ trợ nhiều dataset để thực hiện các tác vụ thị giác máy tính như phát hiện, phân đoạn đối tượng, phân đoạn ngữ nghĩa, ước tính độ sâu, phân loại, ước tính tư thế và bounding box định hướng (OBB). Dưới đây là danh sách các dataset chính của Ultralytics, cùng phần tóm tắt từng tác vụ thị giác máy tính và dataset tương ứng. Chế độ theo dõi hoạt động trên các model phát hiện, phân đoạn, tư thế và OBB mà không cần huấn luyện riêng cho tracker; xem dataset theo dõi.
Xem: Tổng quan về dataset của Ultralytics
Phát hiện đối tượng#
Phát hiện vật thể bằng bounding box là kỹ thuật thị giác máy tính giúp phát hiện và xác định vị trí vật thể trong ảnh bằng cách vẽ một bounding box quanh mỗi vật thể.
- African-wildlife: Dataset gồm hình ảnh động vật hoang dã châu Phi, bao gồm trâu, voi, tê giác và ngựa vằn.
- Argoverse: Dataset chứa dữ liệu theo dõi 3D và dự báo chuyển động trong môi trường đô thị, kèm chú thích phong phú.
- Brain-tumor: Dataset phát hiện khối u não, gồm ảnh MRI hoặc CT với thông tin chi tiết về sự hiện diện, vị trí và đặc điểm của khối u.
- COCO: Common Objects in Context (COCO) là dataset quy mô lớn về phát hiện, phân đoạn và tạo chú thích cho vật thể, với 80 danh mục vật thể.
- COCO8: Tập con nhỏ gồm 8 ảnh đầu tiên của COCO train2017, trong đó 4 ảnh dùng để huấn luyện và 4 ảnh để xác thực, phù hợp cho các bài kiểm tra nhanh.
- COCO8-Grayscale: Phiên bản ảnh thang độ xám của COCO8, được tạo bằng cách chuyển RGB sang thang độ xám, hữu ích để đánh giá model một kênh.
- COCO8-Multispectral: Phiên bản đa phổ 10 kênh của COCO8, được tạo bằng cách nội suy các bước sóng RGB, hữu ích để đánh giá model có nhận biết phổ.
- COCO12-Formats: Dataset kiểm thử gồm 12 ảnh, bao quát 12 định dạng ảnh được hỗ trợ (AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WebP) để xác thực quy trình tải ảnh.
- COCO128: Tập con nhỏ gồm 128 ảnh đầu tiên của COCO train2017, phù hợp cho kiểm thử.
- Construction-PPE: Dataset gồm hình ảnh công trường xây dựng, được gán nhãn các thiết bị an toàn thiết yếu như mũ bảo hộ, áo phản quang, găng tay, ủng và kính bảo hộ, cùng nhãn cho thiết bị còn thiếu; hỗ trợ phát triển model AI nhằm đảm bảo tuân thủ quy định và bảo vệ người lao động.
- Global Wheat 2020: Dataset gồm hình ảnh bông lúa mì dành cho Global Wheat Challenge 2020.
- HomeObjects-3K: Dataset gồm các cảnh trong nhà được chú thích, với 12 đồ vật gia dụng phổ biến; lý tưởng để phát triển và kiểm thử model thị giác máy tính trong hệ thống nhà thông minh, robot và thực tế tăng cường.
- KITTI: Dataset lái xe tự hành nổi tiếng, có đầu vào stereo, LiDAR và GPS/IMU, được sử dụng để phát hiện vật thể 2D trong nhiều cảnh đường sá khác nhau.
- LVIS: Dataset quy mô lớn về phát hiện và phân đoạn đối tượng, với 1.203 danh mục vật thể.
- Medical-pills: Dataset chứa ảnh thuốc viên được gán nhãn, được thiết kế để hỗ trợ các tác vụ như kiểm soát chất lượng dược phẩm, phân loại và đảm bảo tuân thủ tiêu chuẩn ngành.
- Objects365: Dataset chất lượng cao, quy mô lớn về phát hiện vật thể, với 365 danh mục vật thể và hơn 1,7 triệu ảnh được chú thích.
- OpenImagesV7: Dataset toàn diện của Google với 1,7 triệu ảnh huấn luyện và 42 nghìn ảnh xác thực.
- RF100: Benchmark phát hiện vật thể đa dạng gồm 100 dataset trải rộng trên bảy miền hình ảnh, phục vụ đánh giá model toàn diện.
- Signature: Dataset gồm hình ảnh nhiều loại tài liệu với chữ ký được chú thích, hỗ trợ nghiên cứu xác minh tài liệu và phát hiện gian lận.
- SKU-110K: Dataset phục vụ phát hiện vật thể dày đặc trong môi trường bán lẻ, gồm hơn 11 nghìn ảnh và 1,7 triệu bounding box.
- TT100K: Dataset biển báo giao thông Tsinghua-Tencent 100K với 16.817 ảnh đường phố thuộc 221 danh mục biển báo.
- VisDrone: Dataset chứa dữ liệu phát hiện vật thể và theo dõi nhiều vật thể từ hình ảnh do drone ghi lại, với hơn 10 nghìn ảnh và chuỗi video.
- VOC: Dataset Pascal Visual Object Classes (VOC) phục vụ phát hiện và phân đoạn vật thể, với 20 lớp vật thể và hơn 21 nghìn ảnh.
- xView: Dataset phát hiện vật thể trong ảnh chụp từ trên cao, với 60 danh mục vật thể và hơn 1 triệu vật thể được chú thích.
Phân đoạn đối tượng#
Phân đoạn đối tượng là kỹ thuật thị giác máy tính giúp nhận diện và xác định vị trí vật thể trong ảnh ở cấp độ pixel. Khác với phân đoạn ngữ nghĩa vốn chỉ phân loại từng pixel, phân đoạn đối tượng phân biệt các cá thể khác nhau thuộc cùng một lớp.
- Carparts-seg: Dataset được thiết kế chuyên biệt để nhận diện các bộ phận xe, đáp ứng nhu cầu thiết kế, sản xuất và nghiên cứu. Dataset hỗ trợ cả tác vụ phát hiện lẫn phân đoạn vật thể.
- COCO: Dataset 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 chú thích, với hơn 200 nghìn ảnh được gán nhãn.
- COCO8-seg: Dataset nhỏ dành cho các tác vụ phân đoạn đối tượng, gồm tập con 8 ảnh COCO có chú thích phân đoạn.
- COCO128-seg: Dataset nhỏ dành cho các tác vụ phân đoạn đối tượng, gồm tập con 128 ảnh COCO có chú thích phân đoạn.
- Crack-seg: Dataset được xây dựng chuyên biệt để phát hiện vết nứt trên đường và tường, phù hợp cho cả tác vụ phát hiện lẫn phân đoạn vật thể.
- Package-seg: Dataset được thiết kế để nhận diện kiện 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 lẫn phân đoạn vật thể.
Phân đoạn ngữ nghĩa#
Phân đoạn ngữ nghĩa gán nhãn lớp cho từng pixel trong ảnh, tạo bản đồ cảnh dày đặc phục vụ các ứng dụng như lái xe tự hành, phân tích cảnh và lập bản đồ lớp phủ đất.
- Cityscapes: Dataset phân đoạn ngữ nghĩa cảnh đường phố đô thị với 19 lớp huấn luyện.
- Cityscapes8: Tập con Cityscapes gọn nhẹ gồm 8 ảnh, dùng để kiểm tra nhanh quy trình phân đoạn ngữ nghĩa.
- ADE20K: Dataset phân tích cảnh với 150 lớp ngữ nghĩa.
Ước lượng độ sâu#
Ước tính độ sâu đơn ảnh dự đoán bản đồ độ sâu theo từng pixel, tính bằng mét, từ một ảnh RGB duy nhất; hỗ trợ tái tạo cảnh 3D, điều hướng robot và các ứng dụng AR/VR.
- Depth8: Tập con SUN RGB-D gọn nhẹ gồm 8 ảnh, dùng để kiểm tra nhanh quy trình.
- ARKitScenes: Dữ liệu RGB-D trong nhà thực tế được ghi lại bằng LiDAR của Apple ARKit, là nguồn dữ liệu huấn luyện thực tế lớn nhất.
- SUN RGB-D: Các cảnh trong nhà thực tế được ghi lại bằng bốn cảm biến RGB-D khác nhau.
- DIODE: Dữ liệu độ sâu dày đặc trong nhà và ngoài trời, thu thập bằng máy quét laser cấp độ khảo sát.
- Hypersim: Các cảnh trong nhà tổng hợp chân thực như ảnh chụp, với độ sâu hoàn hảo ở từng pixel.
- TartanAir: Môi trường AirSim tổng hợp với dữ liệu độ sâu dày đặc ở khoảng cách ~80 m.
- Virtual KITTI 2: Tái tạo tổng hợp các cảnh lái xe KITTI với dữ liệu độ sâu dày đặc.
- KITTI: Các cảnh lái xe tự hành ngoài trời trong thế giới thực với dữ liệu độ sâu LiDAR Velodyne, đồng thời là benchmark KITTI Eigen.
- ImageNet (gán nhãn giả): Ảnh ImageNet-1K với nhãn giả từ Depth Anything 3 để chưng cất model.
- NYU Depth V2: Benchmark độ sâu trong nhà tiêu chuẩn, được ghi lại bằng Microsoft Kinect v1.
- ETH3D: Benchmark máy quét laser độ chính xác cao trong nhà và ngoài trời.
- Make3D: Benchmark khuôn viên ngoài trời có phân phối khác biệt.
- iBims-1: Benchmark trong nhà chất lượng cao dành cho biên độ sâu và bề mặt phẳng.
Phân loại#
Phân loại ảnh là tác vụ thị giác máy tính nhằm phân loại ảnh thành một hoặc nhiều lớp hay danh mục được xác định trước dựa trên nội dung hình ảnh.
- Caltech 101: Dataset gồm ảnh thuộc 101 danh mục vật thể, phục vụ các tác vụ phân loại ảnh.
- Caltech 256: Phiên bản mở rộng của Caltech 101 với 256 danh mục vật thể và hình ảnh thách thức hơn.
- CIFAR-10: Dataset gồm 60 nghìn ảnh màu kích thước 32x32 thuộc 10 lớp, mỗi lớp có 6 nghìn ảnh.
- CIFAR-100: Phiên bản mở rộng của CIFAR-10 với 100 danh mục vật thể và 600 ảnh mỗi lớp.
- Fashion-MNIST: Dataset gồm 70.000 ảnh thang độ xám thuộc 10 danh mục thời trang, phục vụ các tác vụ phân loại ảnh.
- ImageNet: Dataset quy mô lớn phục vụ phát hiện vật thể và phân loại ảnh, với hơn 14 triệu ảnh và 20.000 danh mục.
- ImageNet-10: Tập con nhỏ của ImageNet gồm 10 danh mục, giúp thử nghiệm và kiểm thử nhanh hơn.
- Imagenette: Tập con nhỏ của ImageNet gồm 10 lớp dễ phân biệt, giúp huấn luyện và kiểm thử nhanh hơn.
- Imagewoof: Tập con ImageNet khó hơn, gồm 10 danh mục giống chó, phục vụ các tác vụ phân loại ảnh.
- MNIST: Dataset gồm 70.000 ảnh thang độ xám về chữ số viết tay, phục vụ các tác vụ phân loại ảnh.
- MNIST160: 8 ảnh đầu tiên của mỗi chữ số (0-9) từ cả tập huấn luyện và tập kiểm thử MNIST. Dataset có tổng cộng 160 ảnh.
Ước lượng tư thế#
Ước tính tư thế là kỹ thuật xác định tư thế của vật thể so với camera hoặc hệ tọa độ thế giới. Kỹ thuật này bao gồm việc xác định các điểm then chốt hoặc khớp trên vật thể, đặc biệt là con người hoặc động vật.
- COCO: Dataset quy mô lớn có chú thích tư thế người, được thiết kế cho các tác vụ ước tính tư thế.
- COCO8-pose: Dataset nhỏ dành cho các tác vụ ước tính tư thế, gồm tập con 8 ảnh COCO có chú thích tư thế người.
- Dog-pose: Dataset toàn diện gồm khoảng 8.500 ảnh tập trung vào chó, được chú thích 24 điểm then chốt cho mỗi con chó và thiết kế cho các tác vụ ước tính tư thế.
- Hand-Keypoints: Dataset gọn gồm hơn 26.000 ảnh tập trung vào bàn tay người, được chú thích 21 điểm then chốt cho mỗi bàn tay và thiết kế cho các tác vụ ước tính tư thế.
- Tiger-pose: Dataset gọn gồm 263 ảnh tập trung vào hổ, được chú thích 12 điểm then chốt cho mỗi con hổ để phục vụ các tác vụ ước tính tư thế.
BBox định hướng (OBB)#
Bounding box định hướng (OBB) là phương pháp thị giác máy tính để phát hiện vật thể nghiêng trong ảnh bằng bounding box xoay, thường được áp dụng cho ảnh hàng không và ảnh vệ tinh. Khác với bounding box truyền thống, OBB có thể khớp với vật thể ở nhiều hướng khác nhau tốt hơn.
- DOTA-v2: Dataset ảnh hàng không OBB phổ biến với 1,7 triệu đối tượng và 11.268 ảnh.
- DOTA8: Tập con nhỏ gồm 8 ảnh đầu tiên của tập chia DOTAv1, trong đó 4 ảnh dùng để huấn luyện và 4 ảnh để xác thực, phù hợp cho các bài kiểm tra nhanh.
- DOTA128: Tập con DOTA gồm 128 ảnh dùng cho huấn luyện và xác thực, mang lại sự cân bằng hợp lý giữa kích thước và tính đa dạng để kiểm thử model OBB.
Đóng góp dataset mới#
Việc đóng góp dataset mới gồm một số bước để đảm bảo dataset tương thích tốt với hạ tầng hiện có. Dưới đây là các bước cần thực hiện:
Xem: Cách đóng góp cho dataset của Ultralytics
Các bước đóng góp dataset mới#
-
Thu thập ảnh: Tập hợp các ảnh thuộc dataset. Bạn có thể thu thập ảnh từ nhiều nguồn, chẳng hạn như cơ sở dữ liệu công khai hoặc bộ sưu tập của riêng mình.
-
Chú thích ảnh: Chú thích các ảnh này bằng bounding box, segment hoặc keypoint, tùy theo tác vụ.
-
Xuất chú thích: Chuyển đổi các chú thích này sang định dạng tệp YOLO
*.txtmà Ultralytics hỗ trợ. -
Sắp xếp dataset: Sắp xếp dataset theo cấu trúc thư mục chính xác. Bạn cần có các thư mục cấp cao nhất
images/vàlabels/, bên trong mỗi thư mục là các thư mục contrain/vàval/.dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/ -
Tạo tệp
data.yaml: Trong thư mục gốc của dataset, hãy tạo tệpdata.yamlmô tả dataset, các lớp và thông tin cần thiết khác. -
Tối ưu hóa ảnh (Tùy chọn): Nếu muốn giảm kích thước dataset để xử lý hiệu quả hơn, bạn có thể tối ưu hóa ảnh bằng đoạn code dưới đây. Bước này không bắt buộc, nhưng được khuyến nghị để giảm dung lượng dataset và tăng tốc độ tải xuống.
-
Nén dataset: Nén toàn bộ thư mục dataset thành tệp zip.
-
Tài liệu và PR: Tạo một trang tài liệu mô tả dataset của bạn và cách dataset tích hợp với framework hiện có. Sau đó, gửi Pull Request (PR). Tham khảo Hướng dẫn đóng góp cho Ultralytics để biết thêm chi tiết về cách gửi PR.
Ví dụ mã để tối ưu hóa và nén dataset#
from pathlib import Path
from ultralytics.data.utils import compress_one_image
from ultralytics.utils.downloads import zip_directory
# Xác định thư mục dataset
path = Path("path/to/dataset")
# Tối ưu hóa ảnh trong dataset (không bắt buộc)
for f in path.rglob("*.jpg"):
compress_one_image(f)
# Nén dataset thành '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 dataset mới tích hợp tốt với cấu trúc hiện có của Ultralytics.
Câu hỏi thường gặp#
Ultralytics hỗ trợ nhiều loại dataset cho phát hiện đối tượng, bao gồm:
- COCO: Dataset quy mô lớn về phát hiện đối tượng, phân đoạn và tạo chú thích, với 80 danh mục đối tượng.
- LVIS: Dataset đa dạng với 1.203 danh mục đối tượng, được thiết kế cho các bài toán phát hiện và phân đoạn đối tượng chi tiết hơn.
- Argoverse: Dataset chứa dữ liệu theo dõi 3D và dự báo chuyển động trong môi trường đô thị, kèm chú thích phong phú.
- VisDrone: Dataset gồm dữ liệu phát hiện đối tượng và theo dõi đa đối tượng từ hình ảnh do drone ghi lại.
- SKU-110K: Dataset tập trung vào phát hiện đối tượng dày đặc trong môi trường bán lẻ, với hơn 11K ảnh.
Các dataset này hỗ trợ huấn luyện các model Ultralytics YOLO mạnh mẽ cho nhiều ứng dụng phát hiện đối tượng.
Đóng góp dataset mới gồm một số bước sau:
- Thu thập ảnh: Tập hợp ảnh từ cơ sở dữ liệu công khai hoặc bộ sưu tập cá nhân.
- Gán nhãn ảnh: Tùy theo tác vụ, hãy gán bounding box, segment hoặc keypoint.
- Xuất nhãn: Chuyển đổi nhãn sang định dạng YOLO
*.txt. - Sắp xếp dataset: Sử dụng cấu trúc thư mục gồm các thư mục
images/vàlabels/, mỗi thư mục chứa các thư mục contrain/vàval/. - Tạo tệp
data.yaml: Thêm mô tả dataset, các class và thông tin liên quan khác. - Tối ưu hóa ảnh (không bắt buộc): Giảm kích thước dataset để tăng hiệu quả.
- Nén dataset: Nén dataset thành tệp zip.
- Tài liệu và PR: Mô tả dataset của bạn và gửi Pull Request theo Hướng dẫn đóng góp cho Ultralytics.
Truy cập Đóng góp dataset mới để xem hướng dẫn đầy đủ.
Ultralytics Platform cung cấp các tính năng mạnh mẽ để quản lý và phân tích dataset, bao gồm:
- Quản lý dataset liền mạch: Tải lên, sắp xếp và quản lý dataset tại một nơi.
- Tích hợp huấn luyện tức thì: Sử dụng dataset đã tải lên trực tiếp để huấn luyện model mà không cần thiết lập thêm.
- Công cụ trực quan hóa: Khám phá và trực quan hóa ảnh cùng nhãn của dataset.
- Phân tích dataset: Nắm được thông tin chi tiết về phân bố và đặc điểm của dataset.
Nền tảng này đơn giản hóa quá trình chuyển từ quản lý dataset sang huấn luyện model, giúp toàn bộ quy trình hiệu quả hơn. Tìm hiểu thêm về Dataset trên Ultralytics Platform.
Các model Ultralytics YOLO cung cấp một số tính năng độc đáo cho các tác vụ thị giác máy tính:
- Hiệu năng thời gian thực: Khả năng suy luận và huấn luyện tốc độ cao cho các ứng dụng nhạy cảm về thời gian.
- Tính linh hoạt: Hỗ trợ phát hiện, phân đoạn instance, phân đoạn ngữ nghĩa, ước tính độ sâu, phân loại, ước tính pose và các tác vụ bounding box định hướng (OBB) trong một framework thống nhất.
- Model pretrained: Truy cập các model pretrained có hiệu năng cao cho nhiều ứng dụng, giúp rút ngắn thời gian huấn luyện.
- Hỗ trợ cộng đồng rộng rãi: Cộng đồng năng động và tài liệu toàn diện hỗ trợ khắc phục sự cố và phát triển.
- Tích hợp dễ dàng: API đơn giản để tích hợp với các dự án và workflow hiện có.
Tìm hiểu thêm về các model YOLO trên trang Models của Ultralytics.
Để tối ưu hóa và nén dataset bằng các công cụ Ultralytics, hãy làm theo đoạn mã ví dụ sau:
Tối ưu hóa và nén datasetfrom pathlib import Path from ultralytics.data.utils import compress_one_image from ultralytics.utils.downloads import zip_directory # Xác định thư mục dataset path = Path("path/to/dataset") # Tối ưu hóa ảnh trong dataset (không bắt buộc) for f in path.rglob("*.jpg"): compress_one_image(f) # Nén dataset thành 'path/to/dataset.zip' zip_directory(path)Quy trình này giúp giảm kích thước dataset để lưu trữ hiệu quả hơn và tải xuống nhanh hơn. Tìm hiểu thêm về cách Tối ưu hóa và nén dataset.