Link to this sectionVisDrone 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 veri kümesidir. İnsansız hava aracı (İHA) tabanlı görüntü ve video analizine yönelik çeşitli bilgisayarlı görü görevleri için özenle etiketlenmiş temel gerçeklik (ground truth) verileri içerir.
Watch: How to Train Ultralytics YOLO26 on the VisDrone Dataset | Aerial Detection | Complete Tutorial 🚀
VisDrone, çeşitli drone kameraları ile çekilmiş 261.908 karelik 288 video klibi ve 10.209 statik görüntüden oluşur. Veri kümesi; konum (Çin genelinde 14 farklı şehir), ortam (kentsel ve kırsal), nesneler (yayalar, araçlar, bisikletler vb.) ve yoğunluk (seyrek ve kalabalık sahneler) dahil olmak üzere geniş bir yelpazeyi kapsar. Veri kümesi, farklı senaryolarda, hava ve ışık koşullarında çeşitli drone platformları kullanılarak toplanmıştır. Bu kareler; yayalar, arabalar, bisikletler ve üç tekerlekli bisikletler gibi hedeflerin 2,6 milyondan fazla sınırlayıcı kutusu (bounding box) ile manuel olarak etiketlenmiştir. Sahne görünürlüğü, nesne sınıfı ve tıkanıklık gibi özellikler de daha iyi veri kullanımı için sağlanmıştır.
Link to this sectionVeri Kümesi Yapısı#
VisDrone veri kümesi, her biri belirli bir göreve odaklanan beş ana alt kümeye ayrılmıştır:
- Görev 1: Görüntülerde nesne algılama
- Görev 2: Videolarda nesne algılama
- Görev 3: Tek nesne takibi
- Görev 4: Çoklu nesne takibi
- Görev 5: Kalabalık sayma
Link to this sectionUygulamalar#
VisDrone veri kümesi, nesne algılama, nesne takibi ve kalabalık sayma gibi drone tabanlı bilgisayarlı görü görevlerinde derin öğrenme modellerini eğitmek ve değerlendirmek için yaygın olarak kullanılmaktadır. Veri kümesinin çok çeşitli sensör verileri, nesne etiketleri ve nitelikleri, onu drone tabanlı bilgisayarlı görü alanındaki araştırmacılar ve uygulayıcılar için değerli bir kaynak haline getirmektedir.
Link to this sectionVeri Kümesi YAML#
Veri kümesi yapılandırmasını tanımlamak için bir YAML (Yet Another Markup Language) dosyası kullanılır. Bu dosya, veri kümesinin yolları, sınıfları ve diğer ilgili bilgiler hakkında veriler içerir. Visdrone veri kümesi özelinde, VisDrone.yaml dosyası şu adreste tutulmaktadır: https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/VisDrone.yaml.
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/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: VisDrone # dataset root dir
train: images/train # train images (relative to 'path') 6471 images
val: images/val # val images (relative to 'path') 548 images
test: images/test # test-dev 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
import shutil
from ultralytics.utils.downloads import download
from ultralytics.utils import ASSETS_URL, TQDM
def visdrone2yolo(dir, split, source_name=None):
"""Convert VisDrone annotations to YOLO format with images/{split} and labels/{split} structure."""
from PIL import Image
source_dir = dir / (source_name or f"VisDrone2019-DET-{split}")
images_dir = dir / "images" / split
labels_dir = dir / "labels" / split
labels_dir.mkdir(parents=True, exist_ok=True)
# Move images to new structure
if (source_images_dir := source_dir / "images").exists():
images_dir.mkdir(parents=True, exist_ok=True)
for img in source_images_dir.glob("*.jpg"):
img.rename(images_dir / img.name)
for f in TQDM((source_dir / "annotations").glob("*.txt"), desc=f"Converting {split}"):
img_size = Image.open(images_dir / f.with_suffix(".jpg").name).size
dw, dh = 1.0 / img_size[0], 1.0 / img_size[1]
lines = []
with open(f, encoding="utf-8") as file:
for row in [x.split(",") for x in file.read().strip().splitlines()]:
if row[4] != "0": # Skip ignored regions
x, y, w, h = map(int, row[:4])
cls = int(row[5]) - 1
# Convert to YOLO format
x_center, y_center = (x + w / 2) * dw, (y + h / 2) * dh
w_norm, h_norm = w * dw, h * dh
lines.append(f"{cls} {x_center:.6f} {y_center:.6f} {w_norm:.6f} {h_norm:.6f}\n")
(labels_dir / f.name).write_text("".join(lines), encoding="utf-8")
# Download (ignores test-challenge split)
dir = Path(yaml["path"]) # dataset root dir
urls = [
f"{ASSETS_URL}/VisDrone2019-DET-train.zip",
f"{ASSETS_URL}/VisDrone2019-DET-val.zip",
f"{ASSETS_URL}/VisDrone2019-DET-test-dev.zip",
# f"{ASSETS_URL}/VisDrone2019-DET-test-challenge.zip",
]
download(urls, dir=dir, threads=4)
# Convert
splits = {"VisDrone2019-DET-train": "train", "VisDrone2019-DET-val": "val", "VisDrone2019-DET-test-dev": "test"}
for folder, split in splits.items():
visdrone2yolo(dir, split, folder) # convert VisDrone annotations to YOLO labels
shutil.rmtree(dir / folder) # cleanup original directoryLink to this sectionKullanım#
VisDrone veri kümesi üzerinde 640 görüntü boyutu ile 100 dönem (epoch) boyunca bir YOLO26n modeli eğitmek için aşağıdaki kod parçacıklarını kullanabilirsin. Kullanılabilir argümanların kapsamlı bir listesi için model Eğitim sayfasına bakabilirsin.
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="VisDrone.yaml", epochs=100, imgsz=640)Link to this sectionÖrnek Veriler ve Etiketler#
VisDrone veri kümesi, drone kameraları ile çekilmiş çok çeşitli görüntü ve videolar içerir. İşte veri kümesinden bazı veri örnekleri ve bunlara karşılık gelen etiketler:

- Görev 1: Görüntülerde nesne algılama - Bu görüntü, nesnelerin sınırlayıcı kutularla etiketlendiği görüntülerde nesne algılama örneğini göstermektedir. Veri kümesi, bu görev için modellerin geliştirilmesini kolaylaştırmak amacıyla farklı konumlardan, ortamlardan ve yoğunluklardan alınan çok çeşitli görüntüler sağlar.
Bu örnek, VisDrone veri kümesindeki verilerin çeşitliliğini ve karmaşıklığını sergilemekte ve drone tabanlı bilgisayarlı görü görevleri için yüksek kaliteli sensör verilerinin önemini vurgulamaktadır.
Link to this sectionAlıntılar ve Teşekkür#
VisDrone veri kümesini araştırma veya geliştirme çalışmalarında kullanırsan, lütfen aşağıdaki makaleye atıfta bulun:
@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}}VisDrone veri kümesini drone tabanlı bilgisayarlı görü araştırma topluluğu için değerli bir kaynak olarak oluşturdukları ve sürdürdükleri için Çin'deki Tianjin Üniversitesi, Makine Öğrenimi ve Veri Madenciliği Laboratuvarı'ndaki AISKYEYE ekibine teşekkür ederiz. VisDrone veri kümesi ve yaratıcıları hakkında daha fazla bilgi için VisDrone Veri Kümesi GitHub deposunu ziyaret edebilirsin.
Link to this sectionSSS#
Link to this sectionVisDrone Veri Kümesi nedir ve temel özellikleri nelerdir?#
VisDrone Veri Kümesi, Çin'deki Tianjin Üniversitesi'ndeki AISKYEYE ekibi tarafından oluşturulan büyük ölçekli bir kıyaslama veri kümesidir. Drone tabanlı görüntü ve video analizine yönelik çeşitli bilgisayarlı görü görevleri için tasarlanmıştır. Temel özellikleri şunlardır:
- Yapı: 261.908 kare içeren 288 video klibi ve 10.209 statik görüntü.
- Etiketler: Yayalar, arabalar, bisikletler ve üç tekerlekli bisikletler gibi nesneler için 2,6 milyondan fazla sınırlayıcı kutu.
- Çeşitlilik: 14 şehirde, kentsel ve kırsal ortamlarda, farklı hava ve ışık koşullarında toplanmıştır.
- Görevler: Beş ana göreve ayrılmıştır: görüntülerde ve videolarda nesne algılama, tek nesne ve çoklu nesne takibi ve kalabalık sayma.
Link to this sectionVisDrone Veri Kümesi'ni Ultralytics ile bir YOLO26 modelini eğitmek için nasıl kullanabilirim?#
VisDrone veri kümesinde 640 görüntü boyutu ile 100 dönem boyunca bir YOLO26 modelini eğitmek için şu adımları izleyebilirsin:
from ultralytics import YOLO
# Load a pretrained model
model = YOLO("yolo26n.pt")
# Train the model
results = model.train(data="VisDrone.yaml", epochs=100, imgsz=640)Ek yapılandırma seçenekleri için lütfen model Eğitim sayfasına bak.
Link to this sectionVisDrone veri kümesinin ana alt kümeleri ve uygulamaları nelerdir?#
VisDrone veri kümesi, her biri belirli bir bilgisayarlı görü görevine göre uyarlanmış beş ana alt kümeye ayrılmıştır:
- Görev 1: Görüntülerde nesne algılama.
- Görev 2: Videolarda nesne algılama.
- Görev 3: Tek nesne takibi.
- Görev 4: Çoklu nesne takibi.
- Görev 5: Kalabalık sayma.
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.
Link to this sectionUltralytics içindeki VisDrone veri kümesi için yapılandırma dosyasını nerede bulabilirim?#
VisDrone veri kümesi için yapılandırma dosyası olan VisDrone.yaml, Ultralytics deposunda şu bağlantıda bulunabilir:
VisDrone.yaml.
Link to this sectionAraştırmamda kullanırsam VisDrone veri kümesine nasıl atıfta bulunabilirim?#
VisDrone veri kümesini araştırma veya geliştirme çalışmalarında kullanırsan, lütfen aşağıdaki makaleye atıfta bulun:
@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}
}