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
Bir YOLO11n modelini VisDrone veri kümesi üzerinde 640 görüntü boyutuyla 100 epok için 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?
VisDrone Veri Kümesi, Çin'in Tianjin Üniversitesi'ndeki AISKYEYE ekibi tarafından oluşturulan büyük ölçekli bir kıyaslamadır. Drone tabanlı görüntü ve video analiziyle ilgili çeşitli bilgisayarla görme görevleri için tasarlanmıştır. Temel özellikleri şunlardır:
- Kompozisyon: 261.908 kare ve 10.209 statik görüntü içeren 288 video klip.
- Ek açıklamalar: 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ı altında toplanmıştır.
- Görevler: Görüntülerde ve videolarda nesne algılama, tek nesneli ve çok nesneli izleme ve kalabalık sayma olmak üzere beş ana göreve ayrılmıştır.
VisDrone Veri Kümesini Ultralytics ile bir YOLO11 modelini eğitmek için nasıl kullanabilirim?
VisDrone veri kümesinde 640 görüntü boyutuyla 100 epok için bir YOLO11 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?
VisDrone veri kümesi, her biri belirli bir bilgisayarla görme görevi için 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 sayımı.
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}
}