İç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 modelini eğitmek için kapsamlı bir veri kümesi gerekir. Bu kılavuz, Ultralytics YOLO modelleriyle uyumlu çeşitli OBB veri kümesi formatlarını açıklamakta, yapıları, uygulamaları ve format dönüştürme yöntemleri hakkında bilgiler sunmaktadır.

Desteklenen OBB Veri Kümesi Formatları

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

class_index x1 y1 x2 y2 x3 y3 x4 y4

Dahili olarak, YOLO kayıpları ve çıktıları aşağıdaki şekilde işler xywhr formatını temsil eden sınırlayıcı kutu'nin merkez noktası (xy), genişliği, yüksekliği ve dönüşü.

OBB biçimi örnekleri

Bir örnek *.txt sınıfından bir nesne içeren yukarıdaki görüntü için etiket dosyası 0 OBB formatında, şöyle görünebilir:

0 0.780811 0.743961 0.782371 0.74686 0.777691 0.752174 0.776131 0.749758

Kullanım

Bu OBB formatlarını kullanarak bir modeli 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 Setleri

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

  • DOTA-v1: Nesne tespiti için yönlendirilmiş sınırlayıcı kutulara sahip kapsamlı bir hava görüntüleri seti sağlayan DOTA veri setinin ilk sürümü.
  • DOTA-v1.5: DOTA veri setinin, gelişmiş nesne algılama görevleri için DOTA-v1'e göre ek açıklamalar ve iyileştirmeler sunan bir ara sürümü.
  • DOTA-v2: DOTA (A Large-scale Dataset for Object Detection in Aerial Images) 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: İş akışlarının test edilmesi ve OBB eğitiminin Sürekli Entegrasyon (CI) kontrolleri için uygun olan tam DOTA veri kümesinin küçük, 8 görüntülük bir alt kümesi ultralytics Depo.

Kendi OBB veri setinizi dahil etme

Yönlendirilmiş sınırlayıcı kutularla kendi veri kümelerini tanıtmak isteyenler için, yukarıda bahsedilen "YOLO OBB formatı" ile uyumluluğu sağlayın. Ek açıklamalarınızı bu gerekli biçime dönüştürün ve yolları, sınıfları ve sınıf adlarını ilgili bir YAML yapılandırma dosyasında detaylandırın.

Etiket Formatlarını Dönüştürme

DOTA Veri Seti Formatından YOLO OBB Formatına

Etiketlerin DOTA veri seti formatından YOLO OBB formatına geçişi bu kod ile 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 uyumluluk 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) nedir ve Ultralytics YOLO modellerinde nasıl kullanılır?

Yönlendirilmiş Sınırlayıcı Kutular (OBB), kutunun sadece eksenle hizalanmak yerine tespit edilen nesneyle daha yakın hizalanacak şekilde döndürülebildiği bir tür sınırlayıcı kutu ek açıklamasıdır. Bu özellikle nesnelerin görüntü eksenleriyle hizalanamayabileceği hava veya uydu görüntülerinde kullanışlıdır. Ultralytics YOLO modellerinde, OBB'ler YOLO OBB formatında dört köşe noktasıyla temsil edilir. Bu, sınırlayıcı kutular nesnelere daha iyi uyacak şekilde dönebildiğinden daha doğru nesne tespitine olanak tanır.

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

DOTA veri seti etiketlerini YOLO OBB formatına dönüştürmek için convert_dota_to_yolo_obb UltralyticsBu dönüşüm, Ultralytics YOLO modelleriyle uyumluluk sağlayarak gelişmiş nesne algılama 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 ek açıklamalarınızı YOLO uyumlu bir biçime dönüştürür.

Veri kümemde yönlendirilmiş sınırlayıcı kutular (OBB) ile bir YOLO11 modelini nasıl eğitebilirim?

OBB'lerle bir YOLO11 modelinin eğitilmesi, veri kümenizin YOLO OBB biçiminde olmasını sağlamayı ve ardından modeli eğitmek için Ultralytics API'sini kullanmayı içerir. İşte hem Python hem de CLI adresinde 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 gelişmiş algılama doğruluğu için ayrıntılı OBB ek açıklamalarından yararlanmasını sağlar.

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

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

  • DOTA-v1: Nesne tespiti için yönlendirilmiş sınırlayıcı kutulara sahip kapsamlı bir hava görüntüleri seti sağlayan DOTA veri setinin ilk sürümü.
  • DOTA-v1.5: DOTA veri setinin, gelişmiş nesne algılama görevleri için DOTA-v1'e göre ek açıklamalar ve iyileştirmeler sunan bir ara sürümü.
  • DOTA-v2: Bu veri kümesi, yönlendirilmiş sınırlayıcı kutulara sahip 1,7 milyon örnek ve 11.268 görüntü içerir ve öncelikle havadan nesne tespitine odaklanır.
  • 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 setleri, OBB'lerin hava ve uydu görüntü analizi gibi önemli bir avantaj sunduğu senaryolar için özel olarak tasarlanmıştır.

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

Evet, YOLO11 eğitimi için yönlendirilmiş sınırlayıcı kutulara sahip kendi veri setinizi kullanabilirsiniz. Veri kümesi ek açıklamalarınızın YOLO OBB biçimine dönüştürüldüğünden emin olun; bu, sınırlayıcı kutuların dört köşe noktasıyla tanımlanmasını içerir. Daha sonra veri kümesi yollarını, sınıfları 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 ✏️ 1 ay önce güncellendi

Yorumlar