VisDrone Veri Kümesi
VisDrone Veri Kümesi, Çin'deki Tianjin Üniversitesi Makine Öğrenimi ve Veri Madenciliği Laboratuvarı'ndaki AISKYEYE ekibi tarafından oluşturulan büyük ölçekli bir kıyaslama ölçütüdür. Drone tabanlı görüntü ve video analiziyle ilgili çeşitli bilgisayarla görme görevleri için dikkatlice açıklanmış temel gerçek verilerini içerir.
İzle: Drone Görüntü Analizi için VisDrone Veri Kümesinde Ultralytics YOLO Modelleri Nasıl Eğitilir?
VisDrone, drone'a monte edilmiş çeşitli kameralar tarafından çekilen 261.908 kare ve 10.209 statik görüntü içeren 288 video klipten oluşmaktadır. Veri kümesi konum (Çin genelinde 14 farklı şehir), çevre (kentsel ve kırsal), nesneler (yayalar, araçlar, bisikletler vb.) ve yoğunluk (seyrek ve kalabalık sahneler) gibi çok çeşitli unsurları kapsamaktadır. Veri seti, farklı senaryolar, hava ve ışık koşulları altında çeşitli drone platformları kullanılarak toplanmıştır. Bu karelere yayalar, arabalar, bisikletler ve üç tekerlekli bisikletler gibi hedeflerin 2,6 milyondan fazla sınırlayıcı kutusu manuel olarak eklenmiştir. Daha iyi veri kullanımı için sahne görünürlüğü, nesne sınıfı ve oklüzyon gibi öznitelikler de sağlanmıştır.
Veri Kümesi Yapısı
VisDrone veri kümesi, her biri belirli bir göreve odaklanan beş ana alt küme halinde düzenlenmiştir:
- Görev 1: Görüntülerde nesne algılama
- Görev 2: Videolarda nesne algılama
- Görev 3: Tek nesne izleme
- Görev 4: Çoklu nesne takibi
- Görev 5: Kalabalık sayımı
Uygulamalar
VisDrone veri kümesi, nesne algılama, nesne izleme ve kalabalık sayma gibi drone tabanlı bilgisayarla görme görevlerinde derin öğrenme modellerini eğitmek ve değerlendirmek için yaygın olarak kullanılmaktadır. Veri setinin çok çeşitli sensör verileri, nesne açıklamaları ve öznitelikleri, onu drone tabanlı bilgisayarla görme alanındaki araştırmacılar ve uygulayıcılar için değerli bir kaynak haline getirmektedir.
Veri Kümesi YAML
Veri kümesi yapılandırmasını tanımlamak için bir YAML (Yet Another Markup Language) dosyası kullanılır. Veri kümesinin yolları, sınıfları ve diğer ilgili bilgiler hakkında bilgi içerir. Visdrone veri kümesi söz konusu olduğunda VisDrone.yaml
dosyası şu adreste tutulur 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
Kullanım
VisDrone veri kümesinde bir YOLOv8n modelini 640 görüntü boyutuyla 100 epok boyunca eğitmek için aşağıdaki kod parçacıklarını kullanabilirsiniz. Kullanılabilir bağımsız değişkenlerin kapsamlı bir listesi için Model Eğitimi sayfasına bakın.
Tren Örneği
Örnek Veriler ve Açıklamalar
VisDrone veri kümesi, drone'a monte edilmiş kameralar tarafından çekilen çeşitli görüntü ve videoları içerir. İşte veri kümesinden bazı veri örnekleri ve bunlara karşılık gelen ek açıklamalar:
- Görev 1: Görüntülerde nesne tespiti - Bu görüntü, nesnelerin sınırlayıcı kutularla açıklandığı görüntülerde nesne tespitinin bir örneğini göstermektedir. Veri kümesi, bu görev için modellerin geliştirilmesini kolaylaştırmak üzere farklı konumlardan, ortamlardan ve yoğunluklardan alınan çok çeşitli görüntüler sunmaktadır.
Bu örnek VisDrone veri setindeki verilerin çeşitliliğini ve karmaşıklığını ortaya koymakta ve drone tabanlı bilgisayarla görme görevleri için yüksek kaliteli sensör verilerinin önemini vurgulamaktadır.
Atıflar ve Teşekkür
VisDrone veri setini araştırma veya geliştirme çalışmalarınızda kullanırsanız, lütfen aşağıdaki makaleye atıfta bulunun:
@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}}
Drone tabanlı bilgisayarla görme araştırma topluluğu için değerli bir kaynak olarak VisDrone veri setini oluşturan ve sürdüren Çin'deki Tianjin Üniversitesi Makine Öğrenimi ve Veri Madenciliği Laboratuvarı'ndaki AISKYEYE ekibine teşekkür ederiz. VisDrone veri seti ve yaratıcıları hakkında daha fazla bilgi için VisDrone Veri Seti GitHub deposunu ziyaret edin.
SSS
VisDrone Veri Seti nedir ve temel özellikleri nelerdir?
The VisDrone Dataset is a large-scale benchmark created by the AISKYEYE team at Tianjin University, China. It is designed for various computer vision tasks related to drone-based image and video analysis. Key features include:
- Composition: 288 video clips with 261,908 frames and 10,209 static images.
- Annotations: Over 2.6 million bounding boxes for objects like pedestrians, cars, bicycles, and tricycles.
- Diversity: Collected across 14 cities, in urban and rural settings, under different weather and lighting conditions.
- Tasks: Split into five main tasks—object detection in images and videos, single-object and multi-object tracking, and crowd counting.
VisDrone Veri Kümesini Ultralytics ile bir YOLOv8 modelini eğitmek için nasıl kullanabilirim?
VisDrone veri kümesinde 640 görüntü boyutuyla 100 epok için bir YOLOv8 modelini eğitmek için aşağıdaki adımları takip edebilirsiniz:
Tren Örneği
Ek yapılandırma seçenekleri için lütfen model Eğitim sayfasına bakın.
VisDrone veri setinin ana alt kümeleri ve bunların uygulamaları nelerdir?
The VisDrone dataset is divided into five main subsets, each tailored for a specific computer vision task:
- Task 1: Object detection in images.
- Task 2: Object detection in videos.
- Task 3: Single-object tracking.
- Task 4: Multi-object tracking.
- Task 5: Crowd counting.
Bu alt kümeler, gözetim, trafik izleme ve kamu güvenliği gibi drone tabanlı uygulamalarda derin öğrenme modellerini eğitmek ve değerlendirmek için yaygın olarak kullanılmaktadır.
VisDrone veri kümesi için yapılandırma dosyasını Ultralytics adresinde nerede bulabilirim?
VisDrone veri kümesi için yapılandırma dosyası, VisDrone.yaml
'ye aşağıdaki bağlantıda bulunan Ultralytics deposundan ulaşabilirsiniz:
VisDrone.yaml.
VisDrone veri setini araştırmamda kullanırsam nasıl alıntı yapabilirim?
VisDrone veri setini araştırma veya geliştirme çalışmalarınızda kullanırsanız, lütfen aşağıdaki makaleye atıfta bulunun:
@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}
}