Bộ dữ liệu VisDrone
VisDrone Dataset là chuẩn mực quy mô lớn do nhóm AISKYEYE tại Phòng thí nghiệm Học máy và Khai thác dữ liệu, Đại học Thiên Tân, Trung Quốc tạo ra. Nó chứa dữ liệu thực tế được chú thích cẩn thận cho nhiều tác vụ thị giác máy tính liên quan đến phân tích hình ảnh và video dựa trên máy bay không người lái.
Đồng hồ: Cách luyện tập Ultralytics YOLO Các mô hình trên Bộ dữ liệu VisDrone để Phân tích hình ảnh máy bay không người lái
VisDrone bao gồm 288 đoạn video clip với 261.908 khung hình và 10.209 hình ảnh tĩnh, được chụp bằng nhiều camera gắn trên máy bay không người lái. Bộ dữ liệu bao gồm nhiều khía cạnh, bao gồm vị trí (14 thành phố khác nhau trên khắp Trung Quốc), môi trường (thành thị và nông thôn), đối tượng (người đi bộ, phương tiện, xe đạp, v.v.) và mật độ (cảnh thưa thớt và đông đúc). Bộ dữ liệu được thu thập bằng nhiều nền tảng máy bay không người lái khác nhau trong các tình huống và điều kiện thời tiết và ánh sáng khác nhau. Các khung hình này được chú thích thủ công với hơn 2,6 triệu hộp giới hạn các mục tiêu như người đi bộ, ô tô, xe đạp và xe ba bánh. Các thuộc tính như khả năng hiển thị của cảnh, lớp đối tượng và che khuất cũng được cung cấp để sử dụng dữ liệu tốt hơn.
Cấu trúc tập dữ liệu
Bộ dữ liệu VisDrone được tổ chức thành năm tập hợp con chính, mỗi tập hợp con tập trung vào một nhiệm vụ cụ thể:
- Nhiệm vụ 1 : Phát hiện đối tượng trong hình ảnh
- Nhiệm vụ 2 : Phát hiện đối tượng trong video
- Nhiệm vụ 3 : Theo dõi một đối tượng
- Nhiệm vụ 4 : Theo dõi nhiều đối tượng
- Nhiệm vụ 5 : Đếm đám đông
Ứng dụng
Bộ dữ liệu VisDrone được sử dụng rộng rãi để đào tạo và đánh giá các mô hình học sâu trong các tác vụ thị giác máy tính dựa trên máy bay không người lái như phát hiện đối tượng, theo dõi đối tượng và đếm đám đông. Bộ dữ liệu đa dạng về dữ liệu cảm biến, chú thích đối tượng và thuộc tính của bộ dữ liệu khiến nó trở thành một nguồn tài nguyên có giá trị cho các nhà nghiên cứu và học viên trong lĩnh vực thị giác máy tính dựa trên máy bay không người lái.
Bộ dữ liệu YAML
Tệp YAML (Yet Another Markup Language) được sử dụng để xác định cấu hình tập dữ liệu. Tệp này chứa thông tin về đường dẫn, lớp và các thông tin liên quan khác của tập dữ liệu. Trong trường hợp của tập dữ liệu Visdrone, VisDrone.yaml
tập tin được duy trì tại https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/VisDrone.yaml.
ultralytics /cfg/datasets/VisDrone.yaml
# Ultralytics YOLO 🚀, AGPL-3.0 license
# VisDrone2019-DET dataset https://github.com/VisDrone/VisDrone-Dataset by Tianjin University
# Documentation: https://docs.ultralytics.com/datasets/detect/visdrone/
# Example usage: yolo train data=VisDrone.yaml
# parent
# ├── ultralytics
# └── datasets
# └── VisDrone ← downloads here (2.3 GB)
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/VisDrone # dataset root dir
train: VisDrone2019-DET-train/images # train images (relative to 'path') 6471 images
val: VisDrone2019-DET-val/images # val images (relative to 'path') 548 images
test: VisDrone2019-DET-test-dev/images # test images (optional) 1610 images
# Classes
names:
0: pedestrian
1: people
2: bicycle
3: car
4: van
5: truck
6: tricycle
7: awning-tricycle
8: bus
9: motor
# Download script/URL (optional) ---------------------------------------------------------------------------------------
download: |
import os
from pathlib import Path
from ultralytics.utils.downloads import download
def visdrone2yolo(dir):
from PIL import Image
from tqdm import tqdm
def convert_box(size, box):
# Convert VisDrone box to YOLO xywh box
dw = 1. / size[0]
dh = 1. / size[1]
return (box[0] + box[2] / 2) * dw, (box[1] + box[3] / 2) * dh, box[2] * dw, box[3] * dh
(dir / 'labels').mkdir(parents=True, exist_ok=True) # make labels directory
pbar = tqdm((dir / 'annotations').glob('*.txt'), desc=f'Converting {dir}')
for f in pbar:
img_size = Image.open((dir / 'images' / f.name).with_suffix('.jpg')).size
lines = []
with open(f, 'r') as file: # read annotation.txt
for row in [x.split(',') for x in file.read().strip().splitlines()]:
if row[4] == '0': # VisDrone 'ignored regions' class 0
continue
cls = int(row[5]) - 1
box = convert_box(img_size, tuple(map(int, row[:4])))
lines.append(f"{cls} {' '.join(f'{x:.6f}' for x in box)}\n")
with open(str(f).replace(f'{os.sep}annotations{os.sep}', f'{os.sep}labels{os.sep}'), 'w') as fl:
fl.writelines(lines) # write label.txt
# Download
dir = Path(yaml['path']) # dataset root dir
urls = ['https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-train.zip',
'https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-val.zip',
'https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-test-dev.zip',
'https://github.com/ultralytics/assets/releases/download/v0.0.0/VisDrone2019-DET-test-challenge.zip']
download(urls, dir=dir, curl=True, threads=4)
# Convert
for d in 'VisDrone2019-DET-train', 'VisDrone2019-DET-val', 'VisDrone2019-DET-test-dev':
visdrone2yolo(dir / d) # convert VisDrone annotations to YOLO labels
Cách sử dụng
Để đào tạo mô hình YOLO11n trên tập dữ liệu VisDrone trong 100 kỷ nguyên với kích thước hình ảnh là 640, bạn có thể sử dụng các đoạn mã sau. Để biết danh sách đầy đủ các đối số khả dụng, hãy tham khảo trang Đào tạo mô hình.
Ví dụ về tàu hỏa
Dữ liệu mẫu và chú thích
Bộ dữ liệu VisDrone chứa một tập hợp đa dạng các hình ảnh và video được chụp bằng camera gắn trên máy bay không người lái. Sau đây là một số ví dụ về dữ liệu từ bộ dữ liệu, cùng với các chú thích tương ứng của chúng:
- Nhiệm vụ 1 : Phát hiện đối tượng trong hình ảnh - Hình ảnh này minh họa một ví dụ về phát hiện đối tượng trong hình ảnh, trong đó các đối tượng được chú thích bằng hộp giới hạn. Bộ dữ liệu cung cấp nhiều hình ảnh khác nhau được chụp từ các vị trí, môi trường và mật độ khác nhau để tạo điều kiện thuận lợi cho việc phát triển các mô hình cho nhiệm vụ này.
Ví dụ này cho thấy sự đa dạng và phức tạp của dữ liệu trong tập dữ liệu VisDrone và nhấn mạnh tầm quan trọng của dữ liệu cảm biến chất lượng cao đối với các tác vụ thị giác máy tính dựa trên máy bay không người lái.
Trích dẫn và Lời cảm ơn
Nếu bạn sử dụng bộ dữ liệu VisDrone trong công tá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 sau:
@ARTICLE{9573394,
author={Zhu, Pengfei and Wen, Longyin and Du, Dawei and Bian, Xiao and Fan, Heng and Hu, Qinghua and Ling, Haibin},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
title={Detection and Tracking Meet Drones Challenge},
year={2021},
volume={},
number={},
pages={1-1},
doi={10.1109/TPAMI.2021.3119563}}
Chúng tôi muốn cảm ơn nhóm AISKYEYE tại Phòng thí nghiệm Học máy và Khai thác dữ liệu , Đại học Thiên Tân, Trung Quốc, vì đã tạo và duy trì tập dữ liệu VisDrone như một nguồn tài nguyên có giá trị cho cộng đồng nghiên cứu thị giác máy tính dựa trên máy bay không người lái. Để biết thêm thông tin về tập dữ liệu VisDrone và những người tạo ra nó, hãy truy cập kho lưu trữ VisDrone Dataset GitHub .
CÂU HỎI THƯỜNG GẶP
Bộ dữ liệu VisDrone là gì và các tính năng chính của nó là gì?
VisDrone Dataset là một chuẩn mực quy mô lớn do nhóm AISKYEYE tại Đại học Thiên Tân, Trung Quốc tạo ra. Nó được thiết kế cho nhiều tác vụ thị giác máy tính liên quan đến phân tích hình ảnh và video dựa trên máy bay không người lái. Các tính năng chính bao gồm:
- Thành phần : 288 đoạn video clip với 261.908 khung hình và 10.209 hình ảnh tĩnh.
- Chú thích : Hơn 2,6 triệu hộp giới hạn cho các đối tượng như người đi bộ, ô tô, xe đạp và xe ba bánh.
- Tính đa dạng : Được thu thập tại 14 thành phố, ở cả vùng thành thị và nông thôn, trong điều kiện thời tiết và ánh sáng khác nhau.
- Nhiệm vụ : Chia thành năm nhiệm vụ chính—phát hiện đối tượng trong hình ảnh và video, theo dõi một đối tượng và nhiều đối tượng, và đếm đám đông.
Làm thế nào tôi có thể sử dụng VisDrone Dataset để đào tạo một YOLO11 mô hình với Ultralytics ?
Để đào tạo một YOLO11 mô hình trên tập dữ liệu VisDrone trong 100 kỷ nguyên với kích thước hình ảnh là 640, bạn có thể làm theo các bước sau:
Ví dụ về tàu hỏa
Để biết thêm các tùy chọn cấu hình, vui lòng tham khảo trang Đào tạo mô hình.
Các tập hợp con chính của bộ dữ liệu VisDrone và ứng dụng của chúng là gì?
Bộ dữ liệu VisDrone được chia thành năm tập hợp con chính, mỗi tập hợp con được thiết kế riêng cho một tác vụ thị giác máy tính cụ thể:
- Nhiệm vụ 1 : Phát hiện đối tượng trong hình ảnh.
- Nhiệm vụ 2 : Phát hiện đối tượng trong video.
- Nhiệm vụ 3 : Theo dõi một đối tượng.
- Nhiệm vụ 4 : Theo dõi nhiều đối tượng.
- Nhiệm vụ 5 : Đếm số lượng người.
Các tập hợp con này được sử dụng rộng rãi để đào tạo và đánh giá các mô hình học sâu trong các ứng dụng dựa trên máy bay không người lái như giám sát, theo dõi giao thông và an toàn công cộng.
Tôi có thể tìm thấy tệp cấu hình cho tập dữ liệu VisDrone ở đâu? Ultralytics ?
Tệp cấu hình cho tập dữ liệu VisDrone, VisDrone.yaml
, có thể được tìm thấy trong Ultralytics kho lưu trữ tại liên kết sau:
VisDrone.yaml.
Tôi có thể trích dẫn bộ dữ liệu VisDrone như thế nào nếu tôi sử dụng nó trong nghiên cứu của mình?
Nếu bạn sử dụng bộ dữ liệu VisDrone trong công tá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 sau:
@ARTICLE{9573394,
author={Zhu, Pengfei and Wen, Longyin and Du, Dawei and Bian, Xiao and Fan, Heng and Hu, Qinghua and Ling, Haibin},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
title={Detection and Tracking Meet Drones Challenge},
year={2021},
volume={},
number={},
pages={1-1},
doi={10.1109/TPAMI.2021.3119563}
}