Nesne Algılama Veri Kümelerine Genel Bakış
Sağlam ve doğru bir nesne algılama 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 formatlar arası dönüştürme işlemleri hakkında bilgiler sağlar.
Desteklenen Veri Kümesi Formatları
Ultralytics YOLO formatı
Ultralytics YOLO formatı, veri kümesi kök dizinini, eğitim/doğrulama/test görüntü dizinlerine veya görüntü yollarını içeren *.txt dosyalarına giden göreli yolları ve sınıf adlarından oluşan bir sözlüğü tanımlamanıza olanak tanıyan bir veri kümesi 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.zipBu format için etiketler, görüntü başına bir *.txt dosyası olacak şekilde YOLO formatına dışa aktarılmalıdır. Bir görüntüde nesne yoksa, *.txt dosyasına gerek yoktur. *.txt dosyası, nesne başına bir satır olacak şekilde class x_center y_center width height formatında düzenlenmelidir. Kutu koordinatları normalleştirilmiş xywh formatında (0'dan 1'e kadar) olmalıdır. Kutuların 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ölmelisin. Sınıf numaraları sıfır tabanlı (0 ile başlayan) olmalı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ülerin ile 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 (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 saklar.
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 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"
}Kullanım Örneği
Bir NDJSON veri kümesini YOLO26 ile kullanmak için .ndjson dosyasına giden yolu 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 iyi çalışır
Desteklenen Veri Kümeleri
İşte desteklenen veri kümelerinin bir listesi ve her biri için kısa bir açıklama:
- African-wildlife: Bufalo, fil, gergedan ve zebralar dahil olmak üzere Afrika yaban hayatı görüntülerinin yer aldığı bir veri kümesi.
- Argoverse: Kentsel ortamlardan gelen, zengin açıklamalara sahip 3D takip ve hareket tahmin verilerini içeren bir veri kümesi.
- 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: Common Objects in Context (COCO), 80 nesne kategorisine sahip büyük ölçekli bir nesne algılama, segmentasyon ve altyazı veri kümesidir.
- COCO8: COCO train ve COCO val içindeki ilk 4 görüntünün, hızlı testler için uygun daha küçük bir alt kümesidir.
- COCO8-Grayscale: RGB'nin gri tonlamaya dönüştürülmesiyle oluşturulmuş, tek kanallı model değerlendirmesi için yararlı bir COCO8 gri tonlama sürümüdür.
- COCO8-Multispectral: RGB dalga boylarının enterpolasyonu ile oluşturulmuş, spektral farkındalıklı model değerlendirmesi için yararlı 10 kanallı çok spektrumlu bir COCO8 sürümüdür.
- COCO12-Formats: Görüntü yükleme hatlarını doğrulamak için tüm desteklenen görüntü formatlarını (AVIF, BMP, DNG, HEIC, JP2, JPEG, JPG, MPO, PNG, TIF, TIFF, WebP) kapsayan 12 görüntülük bir test veri kümesidir.
- COCO128: COCO train ve COCO val içindeki ilk 128 görüntünün, testler için uygun daha küçük bir alt kümesidir.
- Construction-PPE: Şantiye çalışanlarının kask, yelek, eldiven, bot ve gözlük gibi güvenlik ekipmanlarıyla etiketlendiği; ayrıca gerçek dünya uyum izleme için no_helmet, no_googles gibi eksik ekipman açıklamalarını da içeren bir veri kümesidir.
- Global Wheat 2020: Global Wheat Challenge 2020 için buğday başaklarının görüntülerini içeren bir veri kümesi.
- HomeObjects-3K: Yataklar, sandalyeler, TV'ler ve daha fazlasını içeren ev eşyalarından oluşan; akıllı ev otomasyonu, robotik, artırılmış gerçeklik ve oda düzeni analizi uygulamaları için ideal bir veri kümesi.
- KITTI: Stereo, LiDAR ve GPS/IMU verileriyle gerçek dünya sürüş sahnelerini içeren, burada kentsel, kırsal ve otoyol ortamlarında araba, yaya ve bisikletlileri tanımlama gibi 2D nesne algılama görevleri için kullanılan bir veri kümesi.
- LVIS: 1203 nesne kategorisine sahip büyük ölçekli bir nesne algılama, segmentasyon ve altyazı veri kümesidir.
- Medical-pills: İlaç kalite güvencesi, hap ayırma ve mevzuata uygunluk gibi uygulamalar için açıklanmış, tıbbi hap görüntülerinin yer aldığı bir veri kümesi.
- Objects365: 365 nesne kategorisi ve 600 binden fazla açıklanmış görüntü ile nesne algılama için yüksek kaliteli, büyük ölçekli bir veri kümesi.
- OpenImagesV7: Google tarafından hazırlanan, 1.7M eğitim ve 42k doğrulama görüntüsü içeren kapsamlı bir veri kümesi.
- Roboflow 100: Kapsamlı model değerlendirmesi için yedi görüntüleme alanına yayılan 100 veri kümesi içeren çeşitli bir nesne algılama kıyaslamasıdır.
- Signature: Çeşitli belgelerin imzalı görüntülerini içeren, belge doğrulama ve sahtecilik tespit araştırmalarını destekleyen bir veri kümesi.
- SKU-110K: 11 binden fazla görüntü ve 1.7 milyon sınırlayıcı kutu ile perakende ortamlarında yoğun nesne algılamayı içeren bir veri kümesi.
- TT100K: 100.000 sokak görünümü görüntüsü ve 30.000'den fazla açıklanmış trafik işareti ile sağlam algılama ve sınıflandırma için Tsinghua-Tencent 100K (TT100K) trafik işareti veri kümesini keşfet.
- VisDrone: İHA'dan çekilmiş görüntülerden elde edilen, 10 binden fazla görüntü ve video dizisi içeren nesne algılama ve çoklu nesne takip verilerini barındıran bir veri kümesi.
- VOC: 20 nesne sınıfı ve 11 binden fazla görüntü ile nesne algılama ve segmentasyon için Pascal Visual Object Classes (VOC) veri kümesi.
- xView: 60 nesne kategorisi ve 1 milyondan fazla açıklanmış nesne ile yukarıdan çekilen görüntülerde nesne algılama için bir veri kümesi.
Kendi veri kümeni ekleme
Kendi veri kümen varsa ve bunu Ultralytics YOLO formatıyla nesne algılama modellerini eğitmek için kullanmak istiyorsan, "Ultralytics YOLO formatı" altında 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 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 açıklamalarını daha basit metin tabanlı YOLO formatına dönüştürerek Ultralytics YOLO modelleriyle uyumlu hale getirir.
Kullanmak istediğin veri kümesinin modelinle uyumlu olup olmadığını ve gerekli format kurallarına uyup uymadığını iki kez kontrol etmeyi unutma. Düzgün biçimlendirilmiş veri kümeleri, başarılı nesne algılama modelleri eğitmek için kritiktir.
SSS
Ultralytics YOLO veri kümesi formatı nedir ve nasıl yapılandırılır?
Ultralytics YOLO formatı, eğitim projelerinde veri kümelerini tanımlamak için yapılandırılmış bir konfigürasyondur. Eğitim, doğrulama ve test görüntülerine ve ilgili etiketlere giden 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ına kaydedilir ve normalleştirilmiş koordinatlarla class x_center y_center width height şeklinde biçimlendirilir. Detaylı bir kılavuz için COCO8 veri kümesi örneğine bak.
COCO veri kümesini YOLO formatına nasıl dönüştürürüm?
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 açıklamalarını YOLO formatına dönüştürerek Ultralytics YOLO modelleriyle sorunsuz entegrasyon sağlar. Ek ayrıntılar için Etiket Formatlarını Taşıma 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 çok çeşitli veri kümelerini destekler:
Her veri kümesi sayfası, verimli YOLO26 eğitimi için özel olarak uyarlanmış yapı ve kullanım hakkında ayrıntılı bilgi sağlar. Desteklenen Veri Kümeleri bölümünde tam listeyi keşfet.
Kendi veri kümemi kullanarak bir YOLO26 modelini eğitmeye nasıl başlarım?
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:
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ı da dahil olmak üzere farklı modların kullanımıyla ilgili daha fazla ayrıntı için Kullanım bölümüne bak.
Ultralytics YOLO'yu nesne algılama için kullanmaya dair pratik örnekleri nerede bulabilirim?
Ultralytics, YOLO26'yı çeşitli uygulamalarda kullanmak için çok sayıda örnek ve pratik kılavuz sunar. Kapsamlı bir genel bakış için, YOLO26 ile nesne algılama, segmentasyon ve daha fazlasını sergileyen vaka analizleri, ayrıntılı öğreticiler ve topluluk hikayeleri bulabileceğin Ultralytics Blog sayfasını ziyaret et. Belirli örnekler için belgelerdeki Kullanım bölümünü incele.