Ultralytics YOLO27: Bekleme listesine katıl.
Get Started
Bilgisayarlı Görünün Temelleri·Veri Kümeleri ve Etiketler·Ders 6/10
Dersbaşlangıç düzeyi

Gerçekliği Yansıtan Veri Kümeleri

Daha fazla etiket oluşturmadan önce gerçek bir veri kümesindeki kapsama boşluklarını denetle ve bu boşlukları zor negatifler içeren bir veri toplama planına dönüştür.

Hayal kırıklığı yaratan görüntü modellerinin çoğu kötü model değildir; dağıtıldıkları yere benzemeyen bir veri kümesiyle eğitilmiş iyi modellerdir. Önceki derste COCO algılayıcısı, drone görüntüsünde sıfır tekne buldu; çünkü COCO'daki tekneler yandan fotoğraflanmıştı. Beş dakikalık bir denetim, etiketlemeye para harcamadan önce bu boşlukları gösterir.

Sonuç

Bir YOLO veri kümesinde kapsama denetimi yap ve sonuçları önceliklendirilmiş bir veri toplama planına dönüştür.

Hızlı Başlangıç
Nasıl ilerleyeceğini zaten biliyorsan, işte kısa sürüm.
  1. Herhangi bir şeyi etiketlemeden önce gerçek dağıtım kameralarından örnekler al.

  2. Aydınlatma, hava durumu, örtülme ve kamera bakış açısını özellikle kapsa.

  3. Denetim ölçümleri: bölme başına görüntü sayısı, sınıf başına örnek sayısı, arka plan görüntüleri, kutu boyutları, çözünürlükler ve parlaklık.

  4. Ortamından seçtiğin zor negatiflerden oluşan %0–10 arası arka plan görüntüsü ekle.

  5. Sınıf ve koşul ızgarasındaki boş hücreler veri toplama planını oluşturur.

Uygulamalı

Modeller dünyayı değil, veri kümesini öğrenir#

Bir model, gördüğü örneklerin arasındaki durumlar için tahmin yürütür. Güneşli gündüz sokaklarında eğitip gece sisli bir garajda kullanırsan başarısız olur; arabalar farklı göründüğü için değil, bu koşullarda hiç araba görmediği için. Bu uyumsuzluğa alan kayması denir. Doğrulama görüntüleri de aynı dengesiz koleksiyondan geldiğinde, doğrulama bu konuda seni uyarmaz:

Çözüm algoritmik değil, yapısaldır: Etiketlemeden önce dağıtım dünyasından bilinçli olarak örnekler al. Veri toplama ve açıklama kılavuzu uygulama ayrıntılarını ele alıyor.

Gerçek bir veri kümesini denetle#

Ultralytics Platform'daki medical-pills veri kümesi sayfası: mavi hap kutularıyla işaretlenmiş blister ambalaj görüntülerinden oluşan bir ızgara, sınıf ve görüntü sayıları ile train, val ve test bölmelerini gösteren çubuk

Yukarıdaki medical-pills veri kümesi, tüm hapların kutularla işaretlendiği blister ambalaj yakın çekimleriyle, denetim için iyi bir örnektir. Ultralytics Platform, veri kümesi sayfasında temel sayıları gösterir; aşağıdaki komut dosyası ise ultralytics ile birlikte gelen kopyadaki kapsama durumunu ortaya çıkaran ölçümleri hesaplar:

from collections import Counter
from pathlib import Path

from PIL import Image, ImageStat
from ultralytics.data.utils import check_det_dataset

data = check_det_dataset("medical-pills.yaml")  # downloads the dataset on first use

for split in ("train", "val"):
    images = sorted(Path(data[split]).glob("*.jpg"))
    labels = [Path(str(p).replace("/images/", "/labels/")).with_suffix(".txt") for p in images]
    rows = [line.split() for f in labels if f.exists() for line in f.read_text().splitlines()]
    classes = Counter(data["names"][int(r[0])] for r in rows)
    backgrounds = sum(not f.exists() or not f.read_text().strip() for f in labels)
    areas = sorted(float(r[3]) * float(r[4]) for r in rows)  # box area as a share of the image
    sizes = Counter(Image.open(p).size for p in images)
    brightness = [ImageStat.Stat(Image.open(p).convert("L")).mean[0] for p in images]
    print(f"{split}: {len(images)} images, {backgrounds} backgrounds, {dict(classes)}, sizes {dict(sizes)}")
    print(f"  boxes: median {areas[len(areas) // 2]:.1%} of the image, {sum(a < 0.01 for a in areas)} of {len(areas)} under 1%")
    print(f"  brightness: {min(brightness):.0f} to {max(brightness):.0f} (0 = black, 255 = white)")
train: 92 images, 0 backgrounds, {'pill': 1623}, sizes {(1920, 1080): 92}
  boxes: median 1.4% of the image, 320 of 1623 under 1%
  brightness: 171 to 198 (0 = black, 255 = white)
val: 23 images, 0 backgrounds, {'pill': 399}, sizes {(1920, 1080): 23}
  boxes: median 1.4% of the image, 79 of 399 under 1%
  brightness: 171 to 198 (0 = black, 255 = white)

Bunu, her satırında bir bulgu olan kapsama raporu olarak oku:

BulguAnlamıKarar
Tek çözünürlük: 1920×1080Tek kamera, tek kurulumDağıtım yapacağın her kamera modelinden görüntü topla
Parlaklık aralığı yalnızca 171–198Aydınlık ve eşit stüdyo ışığı, loş ortam yokEczane tezgâhında dağıtıma başlamadan önce loş, arkadan aydınlatmalı ve karma ışıklı çekimler topla
0 arka plan görüntüsüModel hiç hapsiz bir sahne görmüyorZor negatif olarak boş blister ambalajlar, başka tabletler ve boş tezgâhlar ekle
Medyan kutu görüntünün %1,4'ü; kutuların 5'te 1'i %1'den küçükKüçük nesnelerimgsz değerini yeterince yüksek tut ve uzaktaki çekimleri özellikle ekle
Tek sınıf: pillHap türleri yokSayım için uygun; yalnızca karar vermek için gerekliyse sınıf ekle

Doğrulama görüntüleri bu özelliklerin her birini paylaştığı için bunların hiçbiri doğrulama puanında görünmez.

Kapsamanın dört boyutu#

BoyutToplanacaklarEksikse görülen tipik sorun
AydınlatmaŞafak, öğle, alacakaranlık, gece, parlama, arkadan aydınlatma, titreyen floresan ışıklarVardiya değişimlerinde veya doğrudan güneş altında geri çağırım düşer
Hava ve atmosfer koşullarıYağmur, sis, kar, toz, mercekte yoğuşmaSu damlalarında yanlış pozitifler, pus içinde kaçırılan nesneler
Örtülme ve karmaşaKısmen gizlenmiş hedefler, kalabalık sahneler, kadraj kenarında kesilmiş nesnelerHedef tamamen görünmediğinde algılama başarısız olur
Kamera ve bakış açısıMercek, montaj yüksekliği ve açısı, çözünürlük, sıkıştırma, hareket bulanıklığıPilot kamerada çalışır, sonraki tesiste başarısız olur

Marina örneğinde gözden kaçan boyut bakış açısıydı: aynı sınıf, yeni bir açı ve geri çağırım sıfıra düştü.

Zor negatifler ve arka plan görüntüleri#

Bir algılayıcının hedefin ne olmadığını da öğrenmesi gerekir. Zor negatifler yüzeysel olarak hedefe benzer: forklift algılayıcısı için transpalet, makaslı platform, parlak zemindeki forklift yansıması ve üzerine forklift basılmış bir güvenlik posteri.

YOLO biçiminde arka plan görüntüsü, etiket dosyası olmayan, yani üzerine hiçbir şey çizilmeyen bir görüntüdür. Ultralytics eğitim ipuçları, yanlış pozitifleri azaltmak için yaklaşık %0–10 arka plan görüntüsü önerir; COCO'nun kendisinde bu oran yaklaşık %1'dir. Bu payı rastgele boş kareler yerine kendi ortamındaki zor negatiflerle doldur. Veri artırma parlaklığı ve açıyı değiştirebilir ama modelin daha önce hiç görmediği bir transpaleti ortaya çıkaramaz.

Yaygın Hatalar#

Örnekleme yapmadan önce etiketleme

Belirti: tamamı gündüz çekilmiş ve tamamı pilot kameradan alınmış 10.000 etiketli görüntü. Çözüm: dağıtım kameralarından birkaç hafta boyunca tüm koşulları kapsayan kayıtlar al, kapsama alanını denetle, sonra etiketler için ödeme yap. Sentetik veri bilinen bir boşluğu doldurabilir ama gerçek çekimlerin yerini tutmaz.

Doğrulamanın kapsama boşluklarını bulacağına güvenmek

Belirti: yüksek doğrulama mAP'si, ilk yeni sahada kötü sonuçlar. Çözüm: doğrulama verilerinin de veri kümesindeki kör noktaları paylaştığını unutma. Eğitim görüntülerinden rastgele on tane ve üretim karelerinden on tane alıp bir ekip arkadaşından bunları ayırt etmesini iste; ayırt edebiliyorsa alan farkın var demektir.

Hedef koşul başına sayılar içeren bir örnekleme planı için Yüksek Performanslı YOLO Veri Kümeleri Oluşturma içindeki Yüksek Kaliteli, Temsili Veri Toplama bölümüne geç.

Dene

Denetim betiğini kendi veri kümenizde (YAML yolunu değiştirerek) veya medical-pills veri kümesinde çalıştır. Çıktıyı sınıf-koşul ızgarasına dönüştür: satırlarda sınıflar, sütunlarda dağıtımda önemli olan koşullar (ışıklandırma, kamera, örtülme, hava durumu) yer alsın; her hücreye sayıları veya tahminleri yaz. Boş hücreleri, ilgili koşulun üretimde görülme sıklığına göre sırala ve toplayacağın iki zor negatif kategoriyi ekle.

Tamamlanma ölçütü
Aşağıdakilerin tümü doğru olduğunda dersi tamamlamış olursun.
  • Gerçek bir veri kümesi için denetim çıktısı elinde: görüntüler, arka planlar, sınıflar, kutu boyutları, çözünürlükler ve parlaklık.

  • Boş hücreleri üretimde görülme sıklığına göre sıralanmış bir sınıf-koşul ızgarası elinde.

  • Planında dağıtım ortamından en az iki zor negatif kategori listeleniyor.

Çözümü göster

Karışık mağaza ışıklandırması altında eczane tezgâhında kullanılan medical-pills veri kümesi için ızgarayı denetimden (parlaklık 171–198, tek bir 1920×1080 kaynak, sıfır arka plan) ve görüntülere hızlıca göz atarak doldur; görüntülerde aynı parlak yüzey üzerindeki aynı paketler, elsiz olarak görünüyor:

SınıfParlak stüdyo ışığıLoş veya sıcak tonlu mağaza ışığıArkadan aydınlatma / parlamaElle kısmen kapatılmışTelefon kamerası
pill2,0220000
arka plan000—0

Öncelik sırasına göre veri toplama planı:

  1. Loş veya sıcak tonlu mağaza ışığı — tezgâhın olağan koşulu; şu anda sıfır görüntü var.
  2. Elle kısmen kapatılmış — gerçek etkileşimlerin neredeyse her birinde görülür.
  3. Telefon kamerası — ikinci bir algılayıcı ve çözünürlük.
  4. Arkadan aydınlatma / parlama — folyo paketler pencereleri ve tavan ışıklarını yansıtır.

Zor negatifler: boş blister ambalajlar (aynı folyo, hap yok) ve tezgâhtaki diğer yuvarlak nesneler — madeni paralar, düğmeler, şekerler. Bunları veri kümesine arka plan görüntüleri olarak, yaklaşık %5–10 oranında ekle.

Sırada ne var

Sıradaki adım: her etiketleyicinin aynı şeyi çizmesini sağlamak ve bunu yapmadıkları dosyaları yakalamak için verileri etiketlemek.

İlerlemeni kaydetmek için giriş yap