مجموعة بيانات VisDrone
مجموعة بيانات VisDrone هي معيار واسع النطاق تم إنشاؤه بواسطة فريق AISKYEYE في مختبر التعلم الآلي واستخراج البيانات ، جامعة تيانجين ، الصين. يحتوي على بيانات حقيقة أرضية مشروحة بعناية لمختلف مهام رؤية الكمبيوتر المتعلقة بتحليل الصور والفيديو المستند إلى الطائرات بدون طيار.
يتكون VisDrone من 288 مقطع فيديو مع 261,908 إطارا و 10,209 صورة ثابتة ، تم التقاطها بواسطة العديد من الكاميرات المثبتة على الطائرات بدون طيار. تغطي مجموعة البيانات مجموعة واسعة من الجوانب ، بما في ذلك الموقع (14 مدينة مختلفة في جميع أنحاء الصين) ، والبيئة (الحضرية والريفية) ، والأشياء (المشاة ، والمركبات ، والدراجات ، وما إلى ذلك) ، والكثافة (المشاهد المتناثرة والمزدحمة). تم جمع مجموعة البيانات باستخدام منصات مختلفة للطائرات بدون طيار في ظل سيناريوهات مختلفة وظروف الطقس والإضاءة. يتم تعليق هذه الإطارات يدويا بأكثر من 2.6 مليون صندوق محيط للأهداف مثل المشاة والسيارات والدراجات والدراجات ثلاثية العجلات. يتم أيضا توفير سمات مثل رؤية المشهد وفئة الكائن والانسداد لاستخدام البيانات بشكل أفضل.
هيكل مجموعة البيانات
يتم تنظيم مجموعة بيانات VisDrone في خمس مجموعات فرعية رئيسية ، تركز كل منها على مهمة محددة:
- المهمة 1: اكتشاف الكائنات في الصور
- المهمة 2: اكتشاف الكائنات في مقاطع الفيديو
- المهمة 3: تعقب كائن واحد
- المهمة 4: تعقب الكائنات المتعددة
- المهمة 5: عد الحشود
التطبيقات
تستخدم مجموعة بيانات VisDrone على نطاق واسع لتدريب وتقييم نماذج التعلم العميق في مهام رؤية الكمبيوتر القائمة على الطائرات بدون طيار مثل اكتشاف الأشياء وتتبع الكائنات وعد الحشود. مجموعة البيانات المتنوعة من بيانات أجهزة الاستشعار والتعليقات التوضيحية للكائنات والسمات تجعلها موردا قيما للباحثين والممارسين في مجال رؤية الكمبيوتر القائمة على الطائرات بدون طيار.
مجموعة البيانات YAML
يتم استخدام ملف YAML (لغة ترميز أخرى) لتحديد تكوين مجموعة البيانات. يحتوي على معلومات حول مسارات مجموعة البيانات والفئات والمعلومات الأخرى ذات الصلة. في حالة مجموعة بيانات Visdrone ، فإن VisDrone.yaml
يتم الاحتفاظ بالملف في 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/yolov5/releases/download/v1.0/VisDrone2019-DET-train.zip',
'https://github.com/ultralytics/yolov5/releases/download/v1.0/VisDrone2019-DET-val.zip',
'https://github.com/ultralytics/yolov5/releases/download/v1.0/VisDrone2019-DET-test-dev.zip',
'https://github.com/ultralytics/yolov5/releases/download/v1.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
استخدام
لتدريب أ YOLOv8n على مجموعة بيانات VisDrone ل 100 حقبة بحجم صورة 640 ، يمكنك استخدام مقتطفات التعليمات البرمجية التالية. للحصول على قائمة شاملة بالوسيطات المتاحة، ارجع إلى صفحة نموذج التدريب .
مثال القطار
عينة من البيانات والتعليقات التوضيحية
تحتوي مجموعة بيانات VisDrone على مجموعة متنوعة من الصور ومقاطع الفيديو التي تم التقاطها بواسطة كاميرات مثبتة على الطائرات بدون طيار. في ما يلي بعض الأمثلة على البيانات من مجموعة البيانات، إلى جانب التعليقات التوضيحية المقابلة لها:
- المهمة 1: اكتشاف الكائن في الصور - توضح هذه الصورة مثالا لاكتشاف الكائنات في الصور، حيث يتم تعليق الكائنات بمربعات محيطة. توفر مجموعة البيانات مجموعة متنوعة من الصور المأخوذة من مواقع وبيئات وكثافات مختلفة لتسهيل تطوير نماذج لهذه المهمة.
يعرض المثال تنوع وتعقيد البيانات في مجموعة بيانات VisDrone ويسلط الضوء على أهمية بيانات المستشعر عالية الجودة لمهام رؤية الكمبيوتر القائمة على الطائرات بدون طيار.
الاستشهادات والشكر
إذا كنت تستخدم مجموعة بيانات VisDrone في أعمال البحث أو التطوير الخاصة بك ، فيرجى الاستشهاد بالورقة التالية:
@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}}
نود أن نعرب عن تقديرنا لفريق AISKYEYE في مختبر التعلم الآلي واستخراج البيانات ، جامعة تيانجين ، الصين ، لإنشاء وصيانة مجموعة بيانات VisDrone كمورد قيم لمجتمع أبحاث رؤية الكمبيوتر القائم على الطائرات بدون طيار. لمزيد من المعلومات حول مجموعة بيانات VisDrone ومنشئيها ، قم بزيارة مستودع GitHub لمجموعة بيانات VisDrone.