Nesne Tespiti Veri Kümelerine Genel Bakış#
Sağlam ve doğru bir nesne tespiti modeli eğitmek kapsamlı bir veri kümesi gerektirir. Bu kılavuz, Ultralytics YOLO modeliyle uyumlu çeşitli veri kümesi formatlarını tanıtır ve bunların yapısı, kullanımı ve farklı formatlar arasında nasıl dönüştürüleceği hakkında bilgiler sunar.
Desteklenen Veri Kümesi Formatları#
Ultralytics YOLO formatı#
Ultralytics YOLO formatı; veri kümesinin kök dizinini, eğitim/doğrulama/test görüntü dizinlerine veya görüntü yollarını içeren *.txt dosyalarına ait göreli yolları ve sınıf adlarından oluşan bir sözlüğü tanımlamanı sağlayan bir veri kümesi yapılandırma formatıdır. Aşağıda bir örnek verilmiştir:
# 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.ziptrain, val ve test öğelerinin her biri bir dizini, dizin listesini veya satır başına bir görüntü yolu listeleyen bir *.txt dosyasını kabul eder (./ ile başlayan yollar, *.txt dosyasına göre çözümlenir). *.txt dosyası; bir dizinin alt kümesiyle eğitim yapmak, etiketlenmemiş görüntüleri atlamak veya birden fazla kaynaktaki görüntüleri tek bir bölüme birleştirmek için kullanışlıdır.
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: personBu formattaki etiketler, görüntü başına bir *.txt dosyası olacak şekilde YOLO formatına aktarılmalıdır. Bir görüntüde hiç nesne yoksa *.txt dosyası gerekmez. *.txt dosyası, class x_center y_center width height formatında nesne başına bir satır olacak şekilde biçimlendirilmelidir. Kutu koordinatları normalize edilmiş xywh formatında (0 ile 1 arasında) olmalıdır. Kutuların piksel cinsindeyse 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ölmelisin. Sınıf numaraları sıfır tabanlı olmalıdır (0'dan başlamalıdır).

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

Ultralytics YOLO formatını kullanırken eğitim ve doğrulama görüntülerini ve etiketlerini aşağıdaki COCO8 veri kümesi örneğinde gösterildiği gibi düzenle.

Kullanım Örneği#
Modelini eğitmek için YOLO formatındaki veri kümelerini şu şekilde kullanabilirsin:
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 (Yeni Satırla Sınırlandırılmış 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 ek açıklamaları, her satırda ayrı bir JSON nesnesi bulunacak şekilde tek bir dosyada depolar.
Bir NDJSON veri kümesi dosyası şunları içerir:
- Veri kümesi kaydı (ilk satır): Görev türü, sınıf adları ve genel bilgiler dâhil olmak üzere veri kümesi meta verilerini içerir
- Görüntü kayıtları (sonraki satırlar): Boyutlar, ek açıklamalar ve dosya yolları dâhil olmak üzere tek tek görüntü verilerini içerir
{
"type": "dataset",
"task": "detect",
"name": "Example",
"description": "COCO NDJSON example dataset",
"url": "https://platform.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 özgü bağlamlar için bir metadata JSON nesnesi içerebilir. İç içe değerler desteklenir. Ultralytics Platform'a aktarıldığında meta veriler görüntüyle birlikte depolanı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 aktarmasındaki birleşik etkin meta verileri 500.000 karakterle sınırlar.
Kullanım Örneği#
Bir NDJSON veri kümesini YOLO26 ile kullanmak için .ndjson dosyasının yolunu belirtmen yeterlidir:
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ış: Her şeyi belleğe yüklemeden büyük veri kümelerini 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 denetimi: Tek dosyalı format, git ve sürüm denetimi sistemleriyle iyi çalışır
Desteklenen Veri Kümeleri#
İşte desteklenen veri kümelerinin bir listesi ve her biri için kısa bir açıklama. Bu veri kümelerinin çoğu, görselleri ve etiketleri inceleyebileceğin, veri kümesi istatistiklerini görüntüleyebileceğin ve bulutta eğitim için bunları klonlayabileceğin Ultralytics Platform üzerinde de barındırılmaktadır.
- African-wildlife: Bufalo, fil, gergedan ve zebralar dâhil olmak üzere Afrika yaban hayatına ait görüntüler içeren bir veri kümesi.
- Argoverse: Zengin açıklamalara sahip kentsel ortamlardan 3B takip ve hareket tahmini verileri içeren bir veri kümesidir.
- Brain-tumor: Beyin tümörlerini tespit etmeye yönelik bu veri kümesi, tümör varlığı, konumu ve özellikleri hakkında ayrıntılar içeren MRI veya CT tarama görüntülerini kapsar.
- COCO: Bağlam İçindeki Yaygın Nesneler (COCO), 80 nesne kategorisine sahip büyük ölçekli bir nesne tespiti, segmentasyon ve açıklama veri kümesidir.
- COCO8: COCO train2017 veri kümesinden ilk 8 görselin yer aldığı daha küçük bir alt küme (4 görsel eğitim, 4 görsel doğrulama için), hızlı testler için uygundur.
- COCO8-Grayscale: RGB'nin gri tonlamaya dönüştürülmesiyle oluşturulan COCO8'in gri tonlamalı sürümüdür ve tek kanallı model değerlendirmesi için kullanışlıdır.
- COCO8-Multispectral: RGB dalga boylarının enterpolasyonuyla oluşturulan, 10 kanallı multispektral COCO8 sürümüdür ve spektral farkındalığa sahip model değerlendirmesi için kullanışlıdır.
- COCO12-Formats: Görüntü yükleme işlem 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ü bir test veri kümesi.
- COCO16: COCO train2017'deki ilk 16 görüntünün (8 eğitim + 8 doğrulama) hızlı testlere uygun bir alt kümesi.
- COCO32: COCO train2017'deki ilk 32 görüntünün (16 eğitim + 16 doğrulama) hızlı testlere uygun bir alt kümesi.
- COCO64: COCO train2017'deki ilk 64 görüntünün (32 eğitim + 32 doğrulama) hızlı testlere uygun bir alt kümesi.
- COCO128: COCO train2017'deki ilk 128 görüntünün daha küçük bir alt kümesidir ve testler için uygundur.
- Construction-PPE: Kask, yelek, eldiven, bot ve gözlük gibi etiketlenmiş güvenlik ekipmanlarına sahip inşaat sahası çalışanlarını içeren ve gerçek dünyadaki uygunluk izleme için no_helmet, no_goggle gibi eksik ekipman ek açıklamalarını kapsayan bir veri kümesi.
- Global Wheat 2020: 2020 Global Wheat Challenge için buğday başaklarının görüntülerini içeren bir veri kümesidir.
- HomeObjects-3K: Akıllı ev otomasyonu, robotik, artırılmış gerçeklik ve oda yerleşimi analizi uygulamaları için ideal; yatak, sandalye, TV ve daha fazlası dâhil olmak üzere iç mekân ev eşyalarından oluşan bir veri kümesi.
- KITTI: Stereo, LiDAR ve GPS/IMU verileri içeren gerçek dünya sürüş sahnelerinden oluşan ve burada kentsel, kırsal ve otoyol ortamlarında otomobilleri, yayaları ve bisikletlileri belirleme gibi 2B nesne tespiti görevleri için kullanılan bir veri kümesi.
- LVIS: 1203 nesne kategorisine sahip, geniş ölçekli bir nesne tespiti, segmentasyon ve açıklama veri kümesidir.
- Medical-pills: İlaç kalite güvencesi, hap sınıflandırma ve mevzuata uygunluk gibi uygulamalar için açıklanmış tıbbi hap görüntülerinden oluşan bir veri kümesi.
- Objects365: 365 nesne kategorisine ve 600 binden fazla açıklamalı görüntüye sahip, nesne tespiti için yüksek kaliteli ve geniş ölçekli bir veri kümesidir.
- OpenImagesV7: Google tarafından oluşturulmuş; 1,7 milyon eğitim görüntüsü ve 42 bin doğrulama görüntüsü içeren kapsamlı bir veri kümesidir.
- Roboflow 100: Kapsamlı model değerlendirmesi için yedi görüntü alanına yayılan 100 veri kümesini içeren çeşitli bir nesne tespiti kıyaslama veri kümesi.
- Signature: Belge doğrulama ve sahtecilik tespiti araştırmalarını destekleyen, açıklamalı imzalar içeren çeşitli belge görüntülerinden oluşan bir veri kümesidir.
- SKU-110K: 11 binden fazla görüntü ve 1,7 milyon sınırlayıcı kutu ile perakende ortamlarında yoğun nesne tespitini içeren bir veri kümesi.
- TT100K: Sağlam tespit ve sınıflandırma için 221 işaret kategorisinde 16.817 sokak görünümü görüntüsü içeren Tsinghua-Tencent 100K (TT100K) trafik işareti veri kümesini keşfet.
- VisDrone: 10 binden fazla görüntü ve video dizisiyle, dronlarla çekilmiş görüntülerden nesne tespiti ve çoklu nesne takip verileri içeren bir veri kümesidir.
- VOC: 20 nesne sınıfı ve 11 binden fazla görüntü içeren, nesne tespiti ve segmentasyonu için Pascal Görsel Nesne Sınıfları (VOC) veri kümesidir.
- xView: 60 nesne kategorisine ve 1 milyondan fazla açıklamalı nesneye sahip, havadan çekilmiş görüntülerde nesne tespiti için kullanılan bir veri kümesidir.
Kendi veri kümeni ekleme#
Kendi veri kümen varsa ve bunu Ultralytics YOLO formatıyla tespit modellerini eğitmek için kullanmak istiyorsan "Ultralytics YOLO formatı" bölümünde yukarıda belirtilen formata uygun olduğundan emin ol. Ek 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 adlarını belirt.
Etiket Formatlarını Taşıma veya Dönüştürme#
COCO Veri Kümesi Formatından YOLO Formatına#
Popüler COCO veri kümesi formatındaki etiketleri aşağıdaki kod parçacığını kullanarak kolayca YOLO formatına dönüştürebilirsin:
from ultralytics.data.converter import convert_coco
convert_coco(labels_dir="path/to/coco/annotations/")Bu dönüştürme aracı, COCO veri kümesini veya COCO formatındaki herhangi bir veri kümesini Ultralytics YOLO formatına dönüştürmek için kullanılabilir. İşlem, JSON tabanlı COCO ek açıklamalarını daha basit metin tabanlı YOLO formatına dönüştürerek bunları Ultralytics YOLO modelleri ile uyumlu hâle getirir. Sınıf kimliği eşlemesi, dizin düzeni ve segmentasyon veya poz ek açıklamaları dâhil olmak üzere eksiksiz iş akışı için COCO Ek Açıklamalarını YOLO'ya Dönüştürme bölümüne bakabilirsin.
Kullanmak istediğin veri kümesinin modelinle uyumlu olup olmadığını ve gerekli format kurallarına uyup uymadığını tekrar kontrol etmeyi unutma. Doğru biçimlendirilmiş veri kümeleri, başarılı nesne tespiti modelleri eğitmek için kritik öneme sahiptir.
Sırada Ne Var?#
Veri kümen biçimlendirildiğinde modelini eğitmeye başla. Hangi önceden eğitilmiş modelle başlayacağından emin değil misin? Seçenekleri YOLO26 model ailesinde karşılaştır.
SSS#
Ultralytics YOLO formatı, eğitim projelerinde veri kümelerini tanımlamaya yönelik yapılandırılmış bir yapılandırmadır. Eğitim, doğrulama ve test görüntülerinin yanı sıra bunlara karşılık gelen etiketlerin yollarını ayarlamayı 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.zipEtiketler, görüntü başına bir dosya olacak şekilde
*.txtdosyalarına kaydedilir ve normalize edilmiş koordinatlarlaclass x_center y_center width heightolarak biçimlendirilir. Ayrıntılı bir kılavuz için COCO8 veri kümesi örneğine bakabilirsin.Bir COCO veri kümesini Ultralytics dönüştürme araçlarını kullanarak 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 ek açıklamalarını YOLO formatına dönüştürerek Ultralytics YOLO modelleriyle sorunsuz entegrasyon sağlar. Ek ayrıntılar için belgelerdeki Etiket Formatlarını Taşıma veya Dönüştürme bölümünü ziyaret et.
Ultralytics YOLO, aşağıdakiler dâhil olmak üzere çok çeşitli veri kümelerini destekler:
Her veri kümesi sayfası, verimli YOLO26 eğitimi için uyarlanmış yapı ve kullanıma ilişkin ayrıntılı bilgiler sunar. Listenin tamamını Desteklenen Veri Kümeleri bölümünde keşfet.
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ğitimi başlatmak için aşağıdaki betiği kullan:
Örnekfrom 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ı dâhil olmak üzere farklı modların kullanımı hakkında daha fazla bilgi için Kullanım bölümüne bakabilirsin.
Ultralytics, YOLO26'nın çeşitli uygulamalarda kullanımına yönelik çok sayıda örnek ve pratik kılavuz sunar. Kapsamlı bir genel bakış için YOLO26 ile nesne tespiti, segmentasyon ve daha fazlasını gösteren örnek olayları, ayrıntılı eğitimleri ve topluluk hikâyelerini bulabileceğin Ultralytics Blog sayfasını ziyaret et. Belirli örnekler için belgelerdeki Kullanım bölümüne bak.