─░├žeri─če ge├ž

├ľrnek Segmentasyon Veri K├╝melerine Genel Bak─▒┼č

Desteklenen Veri K├╝mesi Formatlar─▒

Ultralytics YOLO Bi├žim

YOLO segmentasyon modellerinin e─čitimi i├žin kullan─▒lan veri seti etiket format─▒ a┼ča─č─▒daki gibidir:

  1. G├Âr├╝nt├╝ ba┼č─▒na bir metin dosyas─▒: Veri k├╝mesindeki her g├Âr├╝nt├╝n├╝n, g├Âr├╝nt├╝ dosyas─▒yla ayn─▒ ada ve ".txt" uzant─▒s─▒na sahip kar┼č─▒l─▒k gelen bir metin dosyas─▒ vard─▒r.
  2. Nesne ba┼č─▒na bir sat─▒r: Metin dosyas─▒ndaki her sat─▒r g├Âr├╝nt├╝deki bir nesne ├Ârne─čine kar┼č─▒l─▒k gelir.
  3. Sat─▒r ba┼č─▒na nesne bilgisi: Her sat─▒r, nesne ├Ârne─či hakk─▒nda a┼ča─č─▒daki bilgileri i├žerir:
    • Nesne s─▒n─▒f─▒ indeksi: Nesnenin s─▒n─▒f─▒n─▒ temsil eden bir tamsay─▒ (├Ârne─čin, ki┼či i├žin 0, araba i├žin 1, vb.).
    • Nesne s─▒n─▒rlay─▒c─▒ koordinatlar─▒: Maske alan─▒n─▒n etraf─▒ndaki s─▒n─▒rlay─▒c─▒ koordinatlar, 0 ile 1 aras─▒nda olacak ┼čekilde normalle┼čtirilir.

Segmentasyon veri k├╝mesi dosyas─▒ndaki tek bir sat─▒r─▒n format─▒ a┼ča─č─▒daki gibidir:

<class-index> <x1> <y1> <x2> <y2> ... <xn> <yn>

Bu formatta, <class-index> nesne i├žin s─▒n─▒f─▒n indeksidir ve <x1> <y1> <x2> <y2> ... <xn> <yn> nesnenin segmentasyon maskesinin s─▒n─▒rlay─▒c─▒ koordinatlar─▒d─▒r. Koordinatlar bo┼čluklarla ayr─▒lm─▒┼čt─▒r.

A┼ča─č─▒da, 3 noktal─▒ segment ve 5 noktal─▒ segmentten olu┼čan iki nesne i├žeren tek bir g├Âr├╝nt├╝ i├žin YOLO veri k├╝mesi format─▒n─▒n bir ├Ârne─či yer almaktad─▒r.

0 0.681 0.485 0.670 0.487 0.676 0.487
1 0.504 0.000 0.501 0.004 0.498 0.004 0.493 0.010 0.492 0.0104

─░pucu

  • Her sat─▒r─▒n uzunlu─ču e┼čit olmak zorunda de─čildir.
  • Her segmentasyon etiketinin bir en az 3 xy noktas─▒: <class-index> <x1> <y1> <x2> <y2> <x3> <y3>

Veri k├╝mesi YAML bi├žimi

Ultralytics ├žer├ževesi, Tespit Modellerinin e─čitimi i├žin veri k├╝mesini ve model yap─▒land─▒rmas─▒n─▒ tan─▒mlamak ├╝zere bir YAML dosya bi├žimi kullan─▒r. Burada bir alg─▒lama veri k├╝mesini tan─▒mlamak i├žin kullan─▒lan YAML format─▒n─▒n bir ├Ârne─či yer almaktad─▒r:

# 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: ../datasets/coco8-seg  # 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 (80 COCO classes)
names:
  0: person
  1: bicycle
  2: car
  # ...
  77: teddy bear
  78: hair drier
  79: toothbrush

Bu train ve val alanlar─▒ s─▒ras─▒yla e─čitim ve do─črulama g├Âr├╝nt├╝lerini i├žeren dizinlerin yollar─▒n─▒ belirtir.

names s─▒n─▒f adlar─▒ndan olu┼čan bir s├Âzl├╝kt├╝r. ─░simlerin s─▒ras─▒, YOLO veri k├╝mesi dosyalar─▒ndaki nesne s─▒n─▒f─▒ indekslerinin s─▒ras─▒ ile e┼čle┼čmelidir.

Kullan─▒m

├ľrnek

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n-seg.pt")  # load a pretrained model (recommended for training)

# Train the model
results = model.train(data="coco8-seg.yaml", epochs=100, imgsz=640)
# Start training from a pretrained *.pt model
yolo detect train data=coco8-seg.yaml model=yolov8n-seg.pt epochs=100 imgsz=640

Desteklenen Veri Setleri

Desteklenen Veri Setleri

  • COCO: ├çok ├že┼čitli kategorilerde 200 binden fazla etiketli g├Âr├╝nt├╝ i├žeren nesne alg─▒lama, segmentasyon ve ba┼čl─▒kland─▒rma i├žin kapsaml─▒ bir veri k├╝mesi.
  • COCO8-seg: COCO'nun segmentasyon modeli e─čitiminin h─▒zl─▒ bir ┼čekilde test edilmesi i├žin tasarlanm─▒┼č kompakt, 8 g├Âr├╝nt├╝l├╝k bir alt k├╝mesi, CI kontrolleri ve i┼č ak─▒┼č─▒ do─črulamas─▒ i├žin ideal ultralytics Depo.
  • Carparts-seg: Otomotiv uygulamalar─▒ i├žin ideal olan, araba par├žalar─▒n─▒n segmentasyonuna odaklanan ├Âzel bir veri k├╝mesi. Bireysel araba bile┼čenlerinin ayr─▒nt─▒l─▒ a├ž─▒klamalar─▒n─▒ i├žeren ├že┼čitli ara├žlar i├žerir.
  • Crack-seg: ├çe┼čitli y├╝zeylerdeki ├žatlaklar─▒n segmentasyonu i├žin ├Âzel olarak tasarlanm─▒┼č bir veri k├╝mesi. Altyap─▒ bak─▒m─▒ ve kalite kontrol├╝ i├žin gerekli olan bu veri seti, yap─▒sal zay─▒fl─▒klar─▒ belirlemeye y├Ânelik e─čitim modelleri i├žin ayr─▒nt─▒l─▒ g├Âr├╝nt├╝ler sa─člar.
  • Package-seg: Farkl─▒ ambalaj malzemelerinin ve ┼čekillerinin segmentasyonuna adanm─▒┼č bir veri k├╝mesi. ├ľzellikle lojistik ve depo otomasyonu i├žin kullan─▒┼čl─▒d─▒r ve paket ta┼č─▒ma ve ay─▒rma sistemlerinin geli┼čtirilmesine yard─▒mc─▒ olur.

Kendi veri setinizi ekleme

Kendi veri k├╝meniz varsa ve bunu Ultralytics YOLO bi├žimiyle segmentasyon modellerini e─čitmek i├žin kullanmak istiyorsan─▒z, yukar─▒da "Ultralytics YOLO bi├žimi" alt─▒nda belirtilen bi├žime uygun oldu─čundan emin olun. Ek a├ž─▒klamalar─▒n─▒z─▒ gerekli bi├žime d├Ân├╝┼čt├╝r├╝n ve YAML yap─▒land─▒rma dosyas─▒nda yollar─▒, s─▒n─▒f say─▒s─▒n─▒ ve s─▒n─▒f adlar─▒n─▒ belirtin.

Etiket Formatlar─▒n─▒ Ta┼č─▒y─▒n veya D├Ân├╝┼čt├╝r├╝n

COCO Veri Seti Format─▒ndan YOLO Format─▒na

A┼ča─č─▒daki kod par├žac─▒─č─▒n─▒ kullanarak etiketleri pop├╝ler COCO veri k├╝mesi bi├žiminden YOLO bi├žimine kolayca d├Ân├╝┼čt├╝rebilirsiniz:

├ľrnek

from ultralytics.data.converter import convert_coco

convert_coco(labels_dir="path/to/coco/annotations/", use_segments=True)

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.

Kullanmak istedi─činiz veri k├╝mesinin modelinizle uyumlu olup olmad─▒─č─▒n─▒ ve gerekli bi├žim kurallar─▒na uyup uymad─▒─č─▒n─▒ iki kez kontrol etmeyi unutmay─▒n. D├╝zg├╝n bi├žimlendirilmi┼č veri k├╝meleri, ba┼čar─▒l─▒ nesne alg─▒lama modellerinin e─čitimi i├žin ├žok ├Ânemlidir.

Otomatik Notland─▒rma

Otomatik a├ž─▒klama, ├Ânceden e─čitilmi┼č bir alg─▒lama modeli kullanarak bir segmentasyon veri k├╝mesi olu┼čturman─▒za olanak tan─▒yan ├Ânemli bir ├Âzelliktir. Manuel etiketlemeye gerek kalmadan ├žok say─▒da g├Âr├╝nt├╝ye h─▒zl─▒ ve do─čru bir ┼čekilde a├ž─▒klama eklemenizi sa─člayarak zamandan ve emekten tasarruf etmenizi sa─člar.

Alg─▒lama Modeli Kullanarak Segmentasyon Veri K├╝mesi Olu┼čturma

Veri k├╝menize Ultralytics ├žer├ževesini kullanarak otomatik a├ž─▒klama eklemek i├žin auto_annotate fonksiyonu a┼ča─č─▒da g├Âsterildi─či gibi:

├ľrnek

from ultralytics.data.annotator import auto_annotate

auto_annotate(data="path/to/images", det_model="yolov8x.pt", sam_model="sam_b.pt")
Tart─▒┼čma Tip A├ž─▒klama Varsay─▒lan
data str A├ž─▒klama eklenecek g├Âr├╝nt├╝leri i├žeren bir klas├Âr├╝n yolu. None
det_model str, optional ├ľnceden e─čitilmi┼č YOLO alg─▒lama modeli. Varsay─▒lan de─čer 'yolov8x.pt'. 'yolov8x.pt'
sam_model str, optional ├ľnceden e─čitilmi┼č SAM segmentasyon modeli. Varsay─▒lan de─čer 'sam_b.pt'. 'sam_b.pt'
device str, optional Modellerin ├žal─▒┼čt─▒r─▒laca─č─▒ cihaz. Varsay─▒lan olarak bo┼č bir dizedir (varsa CPU veya GPU). ''
output_dir str or None, optional A├ž─▒klamal─▒ sonu├žlar─▒n kaydedilece─či dizin. Varsay─▒lan olarak 'labels' klas├Âr├╝ ile ayn─▒ dizinde 'data'. None

Bu auto_annotate i┼člevi, resimlerinizin yolunu ve ├Ânceden e─čitilmi┼č alg─▒lamay─▒ belirtmek i├žin iste─če ba─čl─▒ ba─č─▒ms─▒z de─či┼čkenleri al─▒r ve SAM segmentasyon modelleri, modellerin ├žal─▒┼čt─▒r─▒laca─č─▒ cihaz ve a├ž─▒klamal─▒ sonu├žlar─▒n kaydedilece─či ├ž─▒kt─▒ dizini.

Otomatik a├ž─▒klama, ├Ânceden e─čitilmi┼č modellerin g├╝c├╝nden yararlanarak, y├╝ksek kaliteli segmentasyon veri k├╝meleri olu┼čturmak i├žin gereken zaman─▒ ve ├žabay─▒ ├Ânemli ├Âl├ž├╝de azaltabilir. Bu ├Âzellik, b├╝y├╝k g├Âr├╝nt├╝ koleksiyonlar─▒yla ├žal─▒┼čan ara┼čt─▒rmac─▒lar ve geli┼čtiriciler i├žin ├Âzellikle yararl─▒d─▒r, ├ž├╝nk├╝ manuel a├ž─▒klama yerine model geli┼čtirme ve de─čerlendirmeye odaklanmalar─▒n─▒ sa─člar.



Created 2023-11-12, Updated 2024-06-06
Authors: Burhan-Q (1), glenn-jocher (11)

Yorumlar