Meet YOLO26: next-gen vision AI.

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:

  1. Görev 1: Görüntülerde nesne algılama
  2. Görev 2: Videolarda nesne algılama
  3. Görev 3: Tek nesne takibi
  4. Görev 4: Çoklu nesne takibi
  5. 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/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 directory

Link 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.

Eğitim Örneği
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:

VisDrone veri kümesi nesne algılamalı hava drone görüntüleri

  • 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:

Alıntı
@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:

Eğitim Örneği
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:

  1. Görev 1: Görüntülerde nesne algılama.
  2. Görev 2: Videolarda nesne algılama.
  3. Görev 3: Tek nesne takibi.
  4. Görev 4: Çoklu nesne takibi.
  5. 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:

Alıntı
@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}
}

Yorumlar