YOLO Vision 2026:

Nesne Algılama Veri Kümelerine Genel Bakış#

Sağlam ve doğru bir nesne tespiti modeli eğitmek kapsamlı bir veri seti gerektirir. Bu kılavuz, Ultralytics YOLO modeli ile uyumlu olan çeşitli veri seti formatlarını tanıtır ve bunların yapısı, kullanımı ile farklı formatlar arasında nasıl dönüştürme yapılacağı hakkında bilgiler sunar.

Desteklenen Veri Kümesi Formatları#

Ultralytics YOLO formatı#

Ultralytics YOLO formatı; veri seti kök dizinini, eğitim/doğrulama/test görüntü dizinlerinin göreli yollarını veya görüntü yollarını içeren *.txt dosyalarını ve sınıf adları sözlüğünü tanımlamanıza olanak tanıyan bir veri seti yapılandırma formatıdır. İşte bir örnek:

ultralytics/cfg/datasets/coco8.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# COCO8 dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8
# Example usage: yolo train data=coco8.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco8 ← downloads here (1 MB)

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

# Classes
names:
  0: person
  1: bicycle
  2: car
  3: motorcycle
  4: airplane
  5: bus
  6: train
  7: truck
  8: boat
  9: traffic light
  10: fire hydrant
  11: stop sign
  12: parking meter
  13: bench
  14: bird
  15: cat
  16: dog
  17: horse
  18: sheep
  19: cow
  20: elephant
  21: bear
  22: zebra
  23: giraffe
  24: backpack
  25: umbrella
  26: handbag
  27: tie
  28: suitcase
  29: frisbee
  30: skis
  31: snowboard
  32: sports ball
  33: kite
  34: baseball bat
  35: baseball glove
  36: skateboard
  37: surfboard
  38: tennis racket
  39: bottle
  40: wine glass
  41: cup
  42: fork
  43: knife
  44: spoon
  45: bowl
  46: banana
  47: apple
  48: sandwich
  49: orange
  50: broccoli
  51: carrot
  52: hot dog
  53: pizza
  54: donut
  55: cake
  56: chair
  57: couch
  58: potted plant
  59: bed
  60: dining table
  61: toilet
  62: tv
  63: laptop
  64: mouse
  65: remote
  66: keyboard
  67: cell phone
  68: microwave
  69: oven
  70: toaster
  71: sink
  72: refrigerator
  73: book
  74: clock
  75: vase
  76: scissors
  77: teddy bear
  78: hair drier
  79: toothbrush

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

train, val ve test öğelerinin her biri bir dizin, bir dizin listesi veya her satırda bir görsel yolu listeleyen bir *.txt dosyası kabul eder (./ ile başlayan yollar *.txt dosyasına göre çözümlenir). Bir *.txt dosyası, bir dizinin alt kümesi üzerinde eğitim yapmak, etiketlenmemiş görselleri atlamak veya birden fazla kaynaktan gelen görselleri tek bir bölüme (split) birleştirmek için kullanışlıdır.

`*.txt` dosyası olarak görüntü yolları
path: datasets/coco8 # dataset root
train: train.txt # a directory, a list e.g. [images/a, images/b], or a *.txt file
val: val.txt
names:
  0: person

Bu format için etiketler, görüntü başına bir *.txt dosyası olacak şekilde YOLO formatında dışa aktarılmalıdır. Bir görüntüde nesne yoksa, *.txt dosyası gerekmez. *.txt dosyası, class x_center y_center width height formatında her nesne için bir satır içerecek şekilde biçimlendirilmelidir. Kutu koordinatları normalize edilmiş xywh formatında (0 ile 1 arasında) olmalıdır. Kutularınız piksel cinsindense, x_center ve width değerlerini görüntü genişliğine, y_center ve height değerlerini ise görüntü yüksekliğine bölmelisiniz. Sınıf numaraları sıfır tabanlı indekslenmelidir (0 ile başlar).

YOLO labeled image with bounding boxes on persons and tie

Yukarıdaki görüntüye karşılık gelen etiket dosyası 2 insan (0 sınıfı) ve bir kravat (27 sınıfı) içerir:

YOLO format label file with normalized coordinates

Ultralytics YOLO formatını kullanırken, eğitim ve doğrulama görsellerinizi ile etiketlerinizi aşağıdaki COCO8 veri seti örneğinde gösterildiği gibi düzenle.

YOLO dataset directory structure with train and val folders

Kullanım Örneği#

YOLO formatındaki veri kümelerini modelini eğitmek için şu şekilde kullanabilirsin:

Örnek
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="coco8.yaml", epochs=100, imgsz=640)

Ultralytics NDJSON formatı#

NDJSON (Newline Delimited JSON) formatı, Ultralytics YOLO modelleri için veri kümelerini tanımlamanın alternatif bir yolunu sunar. Bu format, veri kümesi meta verilerini ve açıklamalarını, her satırın ayrı bir JSON nesnesi içerdiği tek bir dosyada depolar.

Bir NDJSON veri kümesi dosyası şunları içerir:

  1. Veri kümesi kaydı (ilk satır): Görev türü, sınıf isimleri ve genel bilgiler dahil olmak üzere veri kümesi meta verilerini içerir
  2. Görüntü kayıtları (sonraki satırlar): Boyutlar, açıklamalar ve dosya yolları dahil olmak üzere bireysel görüntü verilerini içerir
NDJSON Örneği
{
    "type": "dataset",
    "task": "detect",
    "name": "Example",
    "description": "COCO NDJSON example dataset",
    "url": "https://app.ultralytics.com/user/datasets/example",
    "class_names": { "0": "person", "1": "bicycle", "2": "car" },
    "bytes": 426342,
    "version": 0,
    "created_at": "2024-01-01T00:00:00Z",
    "updated_at": "2025-01-01T00:00:00Z"
}

Özel görüntü meta verileri#

Her görüntü kaydı, çekim koşulları, ekipman tanımlayıcıları veya inceleme durumu gibi uygulamaya özel bağlam için bir metadata JSON nesnesi içerebilir. İç içe değerler desteklenir. Ultralytics Platform'a içe aktarıldığında, meta veriler ilgili görüntüyle birlikte saklanır ve tam ekran bilgi panelinden görüntülenebilir veya düzenlenebilir.

{
    "type": "image",
    "file": "airbus-wing.jpg",
    "url": "https://example.com/airbus-wing.jpg",
    "split": "train",
    "metadata": { "aircraft": { "family": "A350", "section": "wing" }, "inspectionStatus": "reviewed" }
}

Platform, üst düzey meta veri anahtarlarını 128 karakterle, her görüntünün serileştirilmiş meta veri nesnesini 500.000 karakterle ve tek bir NDJSON içe aktarımındaki birleştirilmiş etkili meta verileri 500.000 karakterle sınırlar.

Kullanım Örneği#

YOLO26 ile bir NDJSON veri seti kullanmak için .ndjson dosyasının yolunu belirtmen yeterlidir:

Örnek
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")

# Train using NDJSON dataset
results = model.train(data="path/to/dataset.ndjson", epochs=100, imgsz=640)

NDJSON formatının avantajları#

  • Tek dosya: Tüm veri kümesi bilgileri tek bir dosyada bulunur
  • Akış: Büyük veri kümelerini her şeyi belleğe yüklemeden satır satır işleyebilir
  • Bulut entegrasyonu: Bulut tabanlı eğitim için uzak görüntü URL'lerini destekler
  • Genişletilebilir: Özel meta veri alanları eklemek kolaydır
  • Sürüm kontrolü: Tek dosya formatı git ve sürüm kontrol sistemleriyle uyumlu çalışır

Desteklenen Veri Kümeleri#

İşte desteklenen veri kümelerinin listesi ve her biri için kısa bir açıklama:

  • African-wildlife: Manda, fil, gergedan ve zebralar dahil olmak üzere Afrika yaban hayatının görüntülerine yer veren bir veri seti.
  • Argoverse: Zengin etiketlere sahip kentsel ortamlardan 3B izleme ve hareket tahmin verileri içeren bir veri seti.
  • Brain-tumor: Beyin tümörlerini tespit etmeye yönelik bu veri seti; tümörün varlığı, konumu ve özellikleri hakkında ayrıntılar içeren MRI veya BT tarama görüntüleri barındırır.
  • COCO: Bağlam İçindeki Ortak Nesneler (COCO), 80 nesne kategorisine sahip büyük ölçekli bir nesne tespiti, segmentasyon ve altyazı veri setidir.
  • COCO8: Hızlı testler için uygun olan, COCO train ve COCO val setlerindeki ilk 4 görselden oluşan daha küçük bir alt küme.
  • COCO8-Grayscale: RGB'nin gri tonlamalıya dönüştürülmesiyle oluşturulan ve tek kanallı model değerlendirmesi için yararlı olan bir COCO8 gri tonlamalı sürümü.
  • COCO8-Multispectral: RGB dalga boylarının enterpolasyonu ile oluşturulan ve spektruma duyarlı model değerlendirmesi için yararlı olan 10 kanallı çok spektrumlu bir COCO8 sürümü.
  • COCO12-Formats: Görüntü yükleme hatlarını doğrulamak için desteklenen 12 görüntü formatını (AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WebP) kapsayan 12 görüntülük bir test veri seti.
  • COCO16: Hızlı testler için uygun olan, COCO train2017 setindeki ilk 16 görselden oluşan bir alt küme (8 eğitim + 8 doğrulama).
  • COCO32: Hızlı testler için uygun olan, COCO train2017 setindeki ilk 32 görselden oluşan bir alt küme (16 eğitim + 16 doğrulama).
  • COCO64: Hızlı testler için uygun olan, COCO train2017 setindeki ilk 64 görselden oluşan bir alt küme (32 eğitim + 32 doğrulama).
  • COCO128: Testler için uygun, COCO train2017'nin ilk 128 görüntüsünden oluşan daha küçük bir alt küme.
  • Construction-PPE: Gerçek dünya uyumluluk takibi için no_helmet, no_goggle gibi eksik ekipman etiketleri dahil olmak üzere baret, yelek, eldiven, çizme ve koruyucu gözlük gibi etiketli güvenlik donanımlarına sahip şantiye çalışanlarını içeren bir veri seti.
  • Global Wheat 2020: Global Wheat Challenge 2020 için buğday başaklarının görsellerini içeren bir veri seti.
  • HomeObjects-3K: Akıllı ev otomasyonu, robotik, artırılmış gerçeklik ve oda yerleşimi analizi uygulamaları için ideal olan; yataklar, sandalyeler, TV'ler ve daha fazlasını içeren iç mekan ev eşyaları veri seti.
  • KITTI: Kentsel, kırsal ve otoyol ortamlarında araba, yaya ve bisikletlileri belirleme gibi 2B nesne tespiti görevleri için burada kullanılan; stereo, LiDAR ve GPS/IMU verilerine sahip gerçek dünya sürüş sahnelerini içeren bir veri seti.
  • LVIS: 1203 nesne kategorisine sahip büyük ölçekli bir nesne tespiti, segmentasyon ve altyazı veri seti.
  • Medical-pills: İlaç kalite güvencesi, hap sıralama ve yasal uyumluluk gibi uygulamalar için etiketlenmiş tıbbi hap görüntülerini içeren bir veri seti.
  • Objects365: 365 nesne kategorisi ve 600 binden fazla etiketli görsel ile nesne tespiti için yüksek kaliteli, büyük ölçekli bir veri seti.
  • OpenImagesV7: Google tarafından sunulan; 1,7 milyon eğitim ve 42 bin doğrulama görüntüsü içeren kapsamlı bir veri seti.
  • Roboflow 100: Kapsamlı model değerlendirmesi için yedi görsel alanını kapsayan 100 veri setine sahip, çeşitli bir nesne tespiti kıyaslama testi.
  • Signature: Belge doğrulama ve sahtekarlık tespit araştırmalarını destekleyen, etiketli imzalara sahip çeşitli belgelerin görüntülerinden oluşan bir veri seti.
  • SKU-110K: 11 binden fazla görüntü ve 1,7 milyon sınırlayıcı kutu ile perakende ortamlarında yoğun nesne tespiti içeren bir veri seti.
  • TT100K: Sağlam tespit ve sınıflandırma için 221 tabela kategorisinde 16.817 sokak görünümü görüntüsü içeren Tsinghua-Tencent 100K (TT100K) trafik işareti veri setini keşfet.
  • VisDrone: 10 binden fazla görüntü ve video sekmesi ile drone ile çekilen görüntülerden elde edilen nesne tespiti ve çoklu nesne izleme verilerini içeren bir veri seti.
  • VOC: 20 nesne sınıfı ve 11 binden fazla görüntüyle nesne tespiti ve segmentasyonu için Pascal Visual Object Classes (VOC) veri seti.
  • xView: 60 nesne kategorisi ve 1 milyondan fazla etiketli nesne ile yüksekten çekilen görüntülerde nesne tespiti için bir veri seti.

Kendi veri kümeni ekleme#

Kendi veri kümen varsa ve bunu Ultralytics YOLO formatıyla nesne algılama modelleri eğitmek için kullanmak istiyorsan, "Ultralytics YOLO formatı" bölümünde belirtilen formata uygun olduğundan emin ol. Açıklamalarını gerekli formata dönüştür ve YAML yapılandırma dosyasında yolları, sınıf sayısını ve sınıf isimlerini belirt.

Etiket Formatlarını Bağlama veya Dönüştürme#

COCO Veri Kümesi Formatından YOLO Formatına#

Aşağıdaki kod parçasını kullanarak etiketleri popüler COCO veri seti formatından kolayca YOLO formatına dönüştürebilirsin:

Örnek
from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/")

Bu dönüştürme aracı, COCO veri setini veya COCO formatındaki herhangi bir veri setini Ultralytics YOLO formatına dönüştürmek için kullanılabilir. İşlem, JSON tabanlı COCO etiketlerini daha basit metin tabanlı YOLO formatına dönüştürerek Ultralytics YOLO modelleri ile uyumlu hale getirir.

Kullanmak istediğin veri kümesinin modelinle uyumlu olduğundan ve gerekli format kurallarına uyduğundan emin ol. Doğru biçimlendirilmiş veri kümeleri, başarılı nesne algılama modelleri eğitmek için kritiktir.

Sırada ne var#

Veri setin biçimlendirildikten sonra modelini eğitmeye başla. Hangi ön eğitilmiş modelle başlayacağından emin değil misin? YOLO26 model ailesindeki seçenekleri karşılaştır.

SSS#

Ultralytics YOLO veri kümesi formatı nedir ve nasıl yapılandırılır?#

Ultralytics YOLO formatı, eğitim projelerindeki veri kümelerini tanımlamak için kullanılan yapılandırılmış bir yapılandırmadır. Eğitim, doğrulama ve test görüntülerine ve karşılık gelen etiketlere yolların ayarlanmasını içerir. Örneğin:

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

# COCO8 dataset (first 8 images from COCO train2017) by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/detect/coco8
# Example usage: yolo train data=coco8.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── coco8 ← downloads here (1 MB)

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

# Classes
names:
  0: person
  1: bicycle
  2: car
  3: motorcycle
  4: airplane
  5: bus
  6: train
  7: truck
  8: boat
  9: traffic light
  10: fire hydrant
  11: stop sign
  12: parking meter
  13: bench
  14: bird
  15: cat
  16: dog
  17: horse
  18: sheep
  19: cow
  20: elephant
  21: bear
  22: zebra
  23: giraffe
  24: backpack
  25: umbrella
  26: handbag
  27: tie
  28: suitcase
  29: frisbee
  30: skis
  31: snowboard
  32: sports ball
  33: kite
  34: baseball bat
  35: baseball glove
  36: skateboard
  37: surfboard
  38: tennis racket
  39: bottle
  40: wine glass
  41: cup
  42: fork
  43: knife
  44: spoon
  45: bowl
  46: banana
  47: apple
  48: sandwich
  49: orange
  50: broccoli
  51: carrot
  52: hot dog
  53: pizza
  54: donut
  55: cake
  56: chair
  57: couch
  58: potted plant
  59: bed
  60: dining table
  61: toilet
  62: tv
  63: laptop
  64: mouse
  65: remote
  66: keyboard
  67: cell phone
  68: microwave
  69: oven
  70: toaster
  71: sink
  72: refrigerator
  73: book
  74: clock
  75: vase
  76: scissors
  77: teddy bear
  78: hair drier
  79: toothbrush

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

Etiketler, görüntü başına bir dosya olacak şekilde *.txt dosyalarında, normalize edilmiş koordinatlarla class x_center y_center width height olarak biçimlendirilmiş şekilde kaydedilir. Ayrıntılı bir kılavuz için COCO8 veri seti örneğine göz at.

Bir COCO veri kümesini nasıl YOLO formatına dönüştürebilirim?#

Ultralytics dönüştürme araçlarını kullanarak bir COCO veri setini YOLO formatına dönüştürebilirsin. İşte hızlı bir yöntem:

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/")

Bu kod, COCO etiketlerini YOLO formatına dönüştürerek Ultralytics YOLO modelleri ile kusursuz entegrasyon sağlar. Ek ayrıntılar için Etiket Formatlarını Bağlama veya Dönüştürme bölümünü ziyaret et.

Ultralytics YOLO, nesne algılama için hangi veri kümelerini destekler?#

Ultralytics YOLO, aşağıdakiler dahil olmak üzere geniş bir veri kümesi yelpazesini destekler:

Her veri seti sayfası, verimli YOLO26 eğitimi için uyarlanmış yapı ve kullanım hakkında ayrıntılı bilgi sağlar. Desteklenen Veri Setleri bölümünde listenin tamamını incele.

Kendi veri kümemi kullanarak bir YOLO26 modelini eğitmeye nasıl başlarım?#

Bir YOLO26 modelini eğitmeye başlamak için veri kümenin doğru biçimlendirildiğinden ve yolların bir YAML dosyasında tanımlandığından emin ol. Eğitime başlamak için aşağıdaki betiği kullan:

Örnek
from ultralytics import YOLO

model = YOLO("yolo26n.pt")  # Load a pretrained model
results = model.train(data="path/to/your_dataset.yaml", epochs=100, imgsz=640)

CLI komutları dahil olmak üzere farklı modların kullanımı hakkında daha fazla ayrıntı için Kullanım bölümüne göz at.

Ultralytics YOLO'yu nesne algılama için kullanmaya dair pratik örnekleri nerede bulabilirim?#

Ultralytics, YOLO26'yı farklı uygulamalarda kullanmak için çok sayıda örnek ve pratik kılavuz sunar. Kapsamlı bir genel bakış için YOLO26 ile nesne tespiti, segmentasyon ve daha fazlasını sergileyen vaka çalışmalarını, ayrıntılı eğitimleri ve topluluk hikayelerini bulabileceğin Ultralytics Blog sayfasını ziyaret et. Belirli örnekler için belgelerdeki Kullanım bölümünü kontrol et.

Yorumlar