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 🚀 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 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.
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 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).

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:

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.

Kullanım Örneği#
YOLO formatındaki veri kümelerini modelini eğitmek için ş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 (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:
- 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
- Görüntü kayıtları (sonraki satırlar): Boyutlar, açıklamalar ve dosya yolları dahil olmak üzere bireysel görüntü verilerini içerir
{
"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:
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:
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.zipEtiketler, 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:
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.