İçeriğe geç

Yönlendirilmiş Sınırlayıcı Kutu (OBB) Veri Kümelerine Genel Bakış

Yönlendirilmiş sınırlayıcı kutular (OBB) ile hassas bir nesne algılama modeli eğitmek, kapsamlı bir veri kümesi gerektirir. Bu kılavuz, Ultralytics YOLO modelleriyle uyumlu çeşitli OBB veri kümesi biçimlerini açıklar ve bunların yapısı, uygulaması ve biçim dönüştürme yöntemleri hakkında bilgiler sunar.

Desteklenen OBB Veri Kümesi Biçimleri

YOLO OBB Formatı

YOLO OBB formatı, sınırlayıcı kutuları, 0 ile 1 arasında normalleştirilmiş koordinatlara sahip dört köşe noktasıyla belirtir. Şu formatı izler:

class_index x1 y1 x2 y2 x3 y3 x4 y4

YOLO, kayıpları ve çıktıları dahili olarak şu şekilde işler: xywhr biçimi, sınırlayıcı kutu'nin merkez noktası (xy), genişliği, yüksekliği ve dönüşü.

OBB formatı örnekleri

Bir örneği *.txt yukarıdaki resim için sınıf nesnesi içeren etiket dosyası 0 OBB biçiminde şöyle görünebilir:

0 0.780811 0.743961 0.782371 0.74686 0.777691 0.752174 0.776131 0.749758

Veri Kümesi YAML formatı

Ultralytics çatısı, OBB Modellerini eğitmek için veri seti ve model yapılandırmasını tanımlamak üzere bir YAML dosya biçimi kullanır. İşte bir OBB veri setini tanımlamak için kullanılan YAML biçimine bir örnek:

# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# DOTA8 dataset 8 images from split DOTAv1 dataset by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/obb/dota8/
# Example usage: yolo train model=yolov8n-obb.pt data=dota8.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── dota8 ← downloads here (1MB)

# 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: dota8 # dataset root dir
train: images/train # train images (relative to 'path') 4 images
val: images/val # val images (relative to 'path') 4 images

# Classes for DOTA 1.0
names:
  0: plane
  1: ship
  2: storage tank
  3: baseball diamond
  4: tennis court
  5: basketball court
  6: ground track field
  7: harbor
  8: bridge
  9: large vehicle
  10: small vehicle
  11: helicopter
  12: roundabout
  13: soccer ball field
  14: swimming pool

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/dota8.zip

Kullanım

Bu OBB formatlarını kullanarak bir model eğitmek için:

Örnek

from ultralytics import YOLO

# Create a new YOLO11n-OBB model from scratch
model = YOLO("yolo11n-obb.yaml")

# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=1024)
# Train a new YOLO11n-OBB model on the DOTAv1 dataset
yolo obb train data=DOTAv1.yaml model=yolo11n-obb.pt epochs=100 imgsz=1024

Desteklenen Veri Kümeleri

Şu anda, Yönlendirilmiş Sınırlayıcı Kutulara sahip aşağıdaki veri kümeleri desteklenmektedir:

  • DOTA-v1: Nesne algılama için yönlendirilmiş sınırlayıcı kutularla kapsamlı bir hava görüntüleri seti sağlayan DOTA veri kümesinin ilk sürümü.
  • DOTA-v1.5: Gelişmiş nesne algılama görevleri için DOTA veri kümesinin ara bir sürümü olup, DOTA-v1'e göre ek açıklamalar ve iyileştirmeler sunar.
  • DOTA-v2: DOTA (Hava Görüntülerinde Nesne Algılama için Geniş Ölçekli Bir Veri Kümesi) sürüm 2, hava perspektiflerinden algılamayı vurgular ve 1,7 milyon örnek ve 11.268 görüntü ile yönlendirilmiş sınırlayıcı kutular içerir.
  • DOTA8: Tam DOTA veri kümesinin küçük, 8 görüntülük bir alt kümesi; iş akışlarını test etmek ve OBB eğitiminin Sürekli Entegrasyon (CI) kontrolleri için uygundur. ultralytics deposu.

Kendi OBB veri kümenizi dahil etme

Kendi yönlendirilmiş sınırlayıcı kutularına sahip veri kümelerini tanıtmak isteyenler için, yukarıda bahsedilen "YOLO OBB formatı" ile uyumluluğu sağlayın. Açıklamalarınızı bu gerekli formata dönüştürün ve ilgili bir YAML yapılandırma dosyasında yolları, sınıfları ve sınıf adlarını detaylandırın.

Etiket Biçimlerini Dönüştür

DOTA Veri Kümesi Formatından YOLO OBB Formatına

DOTA veri kümesi formatındaki etiketleri YOLO OBB formatına dönüştürme, bu komut dosyasıyla gerçekleştirilebilir:

Örnek

from ultralytics.data.converter import convert_dota_to_yolo_obb

convert_dota_to_yolo_obb("path/to/DOTA")

Bu dönüştürme mekanizması, DOTA formatındaki veri kümeleri için çok önemlidir ve Ultralytics YOLO OBB formatıyla uyum sağlar.

Veri kümesinin modelinizle uyumluluğunu doğrulamak ve gerekli format kurallarına uymak zorunludur. Düzgün yapılandırılmış veri kümeleri, yönlendirilmiş sınırlayıcı kutulara sahip verimli nesne algılama modellerini eğitmek için çok önemlidir.

SSS

Yönlendirilmiş Sınırlayıcı Kutular (OBB) nelerdir ve Ultralytics YOLO modellerinde nasıl kullanılır?

Yönlendirilmiş Sınırlandırma Kutuları (OBB), kutunun sadece eksenlere hizalı olmak yerine, algılanan nesneyle daha yakından hizalanmak üzere döndürülebildiği bir tür sınırlandırma kutusu etiketlemesidir. Bu, nesnelerin görüntü eksenleriyle hizalı olmayabileceği hava veya uydu görüntülerinde özellikle kullanışlıdır. Ultralytics YOLO modellerinde, OBB'ler YOLO OBB formatındaki dört köşe noktasıyla temsil edilir. Bu, sınırlandırma kutuları nesnelere daha iyi uyacak şekilde dönebildiğinden, daha doğru nesne algılamaya olanak tanır.

Mevcut DOTA veri seti etiketlerimi Ultralytics YOLO11 ile kullanım için YOLO OBB formatına nasıl dönüştürürüm?

DOTA veri kümesi etiketlerini, Ultralytics'in convert_dota_to_yolo_obb fonksiyonunu kullanarak YOLO OBB biçimine dönüştürebilirsiniz. convert_dota_to_yolo_obb Ultralytics'ten bir fonksiyon. Bu dönüştürme, Ultralytics YOLO modelleriyle uyumluluğu sağlayarak, gelişmiş nesne tespiti için OBB özelliklerinden yararlanmanıza olanak tanır. İşte hızlı bir örnek:

from ultralytics.data.converter import convert_dota_to_yolo_obb

convert_dota_to_yolo_obb("path/to/DOTA")

Bu betik, DOTA açıklamalarınızı YOLO uyumlu bir biçime yeniden biçimlendirecektir.

Veri kümem üzerinde yönlendirilmiş sınırlayıcı kutular (OBB) ile bir YOLO11 modeli nasıl eğitirim?

OBB'lerle bir YOLO11 modelini eğitmek, veri kümenizin YOLO OBB formatında olduğundan emin olmayı ve ardından modeli eğitmek için Ultralytics API'sini kullanmayı içerir. İşte hem Python hem de CLI'da bir örnek:

Örnek

from ultralytics import YOLO

# Create a new YOLO11n-OBB model from scratch
model = YOLO("yolo11n-obb.yaml")

# Train the model on the custom dataset
results = model.train(data="your_dataset.yaml", epochs=100, imgsz=640)
# Train a new YOLO11n-OBB model on the custom dataset
yolo obb train data=your_dataset.yaml model=yolo11n-obb.yaml epochs=100 imgsz=640

Bu, modelinizin iyileştirilmiş algılama doğruluğu için ayrıntılı OBB ek açıklamalarından yararlanmasını sağlar.

Ultralytics YOLO modellerinde OBB eğitimi için şu anda hangi veri kümeleri desteklenmektedir?

Şu anda, Ultralytics, OBB eğitimi için aşağıdaki veri kümelerini desteklemektedir:

  • DOTA-v1: Nesne algılama için yönlendirilmiş sınırlayıcı kutularla kapsamlı bir hava görüntüleri seti sağlayan DOTA veri kümesinin ilk sürümü.
  • DOTA-v1.5: Gelişmiş nesne algılama görevleri için DOTA veri kümesinin ara bir sürümü olup, DOTA-v1'e göre ek açıklamalar ve iyileştirmeler sunar.
  • DOTA-v2: Bu veri kümesi, öncelikle hava nesne algılamaya odaklanan 1,7 milyon örnek ve yönlendirilmiş sınırlayıcı kutulara sahip 11.268 görüntü içerir.
  • DOTA8: Test ve sürekli entegrasyon (CI) kontrolleri için kullanılan DOTA veri kümesinin daha küçük, 8 görüntülük bir alt kümesi.

Bu veri kümeleri, OBB'lerin hava ve uydu görüntü analizi gibi önemli bir avantaj sağladığı senaryolar için özel olarak tasarlanmıştır.

YOLO11 eğitimi için yönlendirilmiş sınırlayıcı kutularla kendi veri kümemi kullanabilir miyim ve eğer kullanabilirsem, nasıl?

Evet, YOLO11 eğitimi için yönlendirilmiş sınırlayıcı kutularla kendi veri kümenizi kullanabilirsiniz. Veri kümesi açıklamalarınızın, sınırlayıcı kutuları dört köşe noktasıyla tanımlamayı içeren YOLO OBB biçimine dönüştürüldüğünden emin olun. Daha sonra veri kümesi yollarını, sınıflarını ve diğer gerekli ayrıntıları belirten bir YAML yapılandırma dosyası oluşturabilirsiniz. Veri kümelerinizi oluşturma ve yapılandırma hakkında daha fazla bilgi için Desteklenen Veri Kümeleri bölümüne bakın.



📅 1 yıl önce oluşturuldu ✏️ 15 gün önce güncellendi

Yorumlar