YOLO Vision 2026:

Etiketli Bilgisayarlı Görü Verileri için Veri Ön İşleme Teknikleri#

Veri ön işleme, ham ve etiketli görüntüleri bir bilgisayarlı görü modelinin iyi bir şekilde eğitilmek için ihtiyaç duyduğu temiz ve tutarlı girdilere dönüştürür. Ultralytics YOLO26 ile temel piksel işlemleri — RGB dönüşümü, [0, 1] değerine ölçekleme ve yeniden boyutlandırma — eğitim işlem hattının içinde otomatik olarak gerçekleştirilir; bu nedenle geriye veri kümeni doğru şekilde bölmek, sınıfları dengelemek ve artırma yöntemlerini seçmek kalır. Bu kılavuzda şu temel teknikler ele alınır: yeniden boyutlandırma, normalleştirme, veri kümesini bölme, veri artırma ve keşifsel veri analizi (EDA).



Watch: How to Use Data Preprocessing and Augmentation to Improve Model Accuracy in Real-World Scenarios 🚀

Bu adım, projenin hedeflerini tanımladıktan ve verilerini toplayıp etiketledikten sonra gelir ve bilgisayarlı görü projesi iş akışının erken aşamalarında yer alır.

Ön İşleme Neden Önemlidir?#

Ön işleme, verilerini hesaplama yükünü azaltan ve model performansını iyileştiren bir biçime dönüştürür. Ham verilerdeki üç yaygın sorunu ele alır:

  • Gürültü: Verilerdeki ilgisiz veya rastgele değişiklikler.
  • Tutarsızlık: Görüntü boyutları, biçimleri ve kalitesindeki farklılıklar.
  • Dengesizlik: Veri kümesindeki sınıf veya kategorilerin eşit olmayan dağılımı.

Ön İşleme Teknikleri#

Temel teknikler yeniden boyutlandırma, normalleştirme, veri kümesini bölme ve artırmadır. YOLO26 ile ilk ikisi otomatik olarak gerçekleştirilirken, seçimlerinin en önemli olduğu alanlar bölme ve artırmadır.

Görüntüleri Yeniden Boyutlandırma#

Birçok model tutarlı bir girdi boyutu gerektirir; bu nedenle yeniden boyutlandırma görüntüleri tek biçimli hâle getirir ve hesaplama karmaşıklığını azaltır. Yaygın iki enterpolasyon yöntemi şunlardır:

  • Bilineer Enterpolasyon: En yakın dört pikselin ağırlıklı ortalamasını alarak piksel değerlerini yumuşatır.
  • En Yakın Komşu: Ortalama alma işlemi yapmadan en yakın piksel değerini kopyalar; daha hızlıdır ancak daha bloklu bir görüntü oluşturur.

OpenCV ve PIL (Pillow) gibi kütüphaneler bu işlevleri sağlar; ancak YOLO26 ile genellikle manuel olarak yeniden boyutlandırma yapmazsın. imgsz bağı bunu yönetir. Sabit boyutlu kare yolunda doğrulama ve çıkarım, en-boy oranını koruyarak görüntüleri imgsz × imgsz biçimindeki bir girdiye, örneğin 640 × 640 değerine doğru letterbox yöntemiyle sığdırır ve gri dolguyla (114 değeri) tamamlar. Daha büyük görüntüler sığacak şekilde küçültülür; ölçek büyütme devre dışı bırakıldığında daha küçük görüntüler büyütülmez. Varsayılan eğitim yolunda ise mosaic=1.0, dört görüntüyü daha büyük bir tuval üzerine döşer ve imgsz boyutuna kırpar; close_mosaic son epoch'lar için mozaik artırmayı devre dışı bıraktığında görüntülere letterbox uygulanır ve ardından doğrudan geçirilmek yerine yine rastgele dönüştürülür. Dikdörtgen batch'ler (rect=True) ve multi_scale farklı girdi şekilleri kullanır.

Piksel Değerlerini Normalleştirme#

Normalleştirme, piksel değerlerini standart bir aralığa ölçekler; bu da modelin eğitim sırasında daha hızlı yakınsamasına yardımcı olur. Yaygın iki teknik şunlardır:

  • Min-Max Ölçekleme: Piksel değerlerini 0 ile 1 arasındaki bir aralığa ölçekler.
  • Z-Skoru Normalleştirmesi: Piksel değerlerini ortalamalarına ve standart sapmalarına göre ölçekler.

YOLO26, normalleştirmeyi ön işleme işlem hattının bir parçası olarak otomatik şekilde gerçekleştirir: görüntüleri RGB'ye dönüştürür ve piksel değerlerini 255'e bölerek (min-max ölçekleme) [0, 1] aralığına ölçekler. YOLO, varsayılan olarak ImageNet tarzı ortalama/standart sapma (z-skoru) normalleştirmesi uygulamaz; bu nedenle manuel bir normalleştirme adımı gerekmez.

Veri Kümesini Bölme#

Verileri eğitim, doğrulama ve test kümelerine bölmek, modeli görülmemiş veriler üzerinde değerlendirmeni ve genelleme yeteneğini ölçmeni sağlar. Yaygın bir bölme oranı eğitim için %70, doğrulama için %20 ve test için %10'dur. scikit-learn veya TensorFlow gibi araçlar bu işlemi kolaylaştırır.

Bölme işlemi sırasında şu noktaları göz önünde bulundur:

  • Sınıf dağılımını koru: Her sınıfın eğitim, doğrulama ve test kümelerinde orantılı şekilde temsil edildiğinden emin ol.
  • Sınıfları dengele: Dengesiz veri kümelerinde azınlık sınıfını aşırı örneklemeyi veya çoğunluk sınıfını düşük örneklemeyi yalnızca eğitim kümesi içinde değerlendirebilirsin.
Veri sızıntısından kaçın

Veri kümesini herhangi bir artırma veya başka bir ön işleme uygulamadan önce böl ve bu dönüşümleri yalnızca eğitim kümesine uygula. Bölmeden önce artırma uygulamak, doğrulama veya test görüntülerindeki bilgilerin eğitimi etkilemesine ve gerçek dünya verilerinde çöken yanıltıcı derecede yüksek skorlar üretilmesine yol açar.

Veri Kümesini Artırma#

Veri artırma, mevcut görüntülerin değiştirilmiş sürümlerini oluşturarak veri kümesinin boyutunu yapay olarak artırır. Aşırı öğrenmeyi azaltmaya ve genelleme yeteneğini iyileştirmeye yardımcı olur ve çeşitli faydalar sağlar:

  • Daha dayanıklı modeller: Aydınlatma, yönelim ve ölçek değişiklikleri modeli gerçek dünyadaki bozulmalara karşı dayanıklı hâle getirir.
  • Maliyet açısından verimli: Yeni veriler toplamadan ve etiketlemeden eğitim kümesini genişletirsin.
  • Verilerin daha iyi kullanımı: Etiketlenmiş her görüntü birden fazla eğitim varyasyonu üretir.

Examples of data augmentation techniques including flips, rotations, scaling, and color adjustments applied to a sample image

YOLO26 ile artırma gücü, model.train() öğesine aktarılan eğitim bağımsız değişkenleri veya eşdeğer CLI bayrakları üzerinden kontrol edilir; yollar, sınıf adları ve bölmeler gibi veri kümesi meta verilerini tanımlayan veri kümesi YAML dosyası düzenlenerek kontrol edilmez. Bunun tek istisnası flip_idx öğesidir: poz veri kümeleri, sol/sağ anahtar nokta çiftlerini eşlemek için bunu veri kümesi YAML dosyasında tanımlar ve bu değer eksik olduğunda YOLO fliplr ile flipud öğelerini tamamen devre dışı bırakır. Yerleşik artırmalar şunları içerir:

  • Mosaic, MixUp ve CutMix (mosaic, mixup, cutmix): Birden fazla görüntüyü tek bir eğitim örneğinde birleştirir.
  • Çevirme (fliplr, flipud): Görüntüleri yatay veya dikey olarak aynalar.
  • Geometrik dönüşümler (degrees, translate, scale, shear, perspective): Görüntüleri döndürür, kaydırır, yakınlaştırır ve deforme eder.
  • HSV renk titreşimi (hsv_h, hsv_s, hsv_v): Ton, doygunluk ve parlaklığı değiştirir.
  • Copy-paste (copy_paste): Segmentlere ayrılmış nesnelerin ek kopyalarını yapıştırır; bunlar varsayılan olarak aynı görüntü içinde aynalanır veya copy_paste_mode=mixup ile başka bir görüntüden alınır.
  • Kanal değiştirme (bgr): RGB kanal sırasını BGR olarak değiştirir.
  • Sınıflandırma dönüşümleri (auto_augment, erasing): Bir sınıflandırıcı eğitilirken otomatik bir artırma politikası ve rastgele silme uygular.
Eğitim sırasında artırma gücünü ayarla
from ultralytics import YOLO

model = YOLO("yolo26n.pt")

# Augmentation is configured with training arguments, not the dataset YAML
model.train(data="coco8.yaml", epochs=10, hsv_h=0.015, fliplr=0.5, mosaic=1.0, degrees=10.0)

Artırma bağımsız değişkenlerinin tam listesi ve varsayılan değerleri için artırma ayarları referansına ve özel YOLO veri artırma kılavuzuna bak. albumentations paketi yüklüyse YOLO, yerleşik Albumentations tabanlı artırmalarını da otomatik olarak etkinleştirir.

Örnek Olay: Araç Tespiti için Ön İşleme#

Sınırlayıcı kutular ve etiketlerle açıklanmış görüntülerden başlayarak YOLO26 ile trafik görüntülerindeki araçları tespit edip sınıflandırmaya yönelik bir proje düşün. Her ön işleme kararının görünümü şöyledir:

  • Yeniden boyutlandırma: Manuel işlem gerekmez — YOLO26 eğitim sırasında imgsz boyutuna yeniden boyutlandırır.
  • Normalleştirme: Manuel işlem gerekmez — YOLO26 piksel değerlerini otomatik olarak [0, 1] aralığına ölçekler.
  • Bölme: Sınıf dağılımını bölmeler arasında tutarlı tutarak veri kümesini %70 eğitim, %20 doğrulama ve %10 test olarak ayır.
  • Artırma: Trafik sahnelerine uygun eğitim bağımsız değişkenleri ayarla; örneğin yön değişmezliği için fliplr, gündüz/gece aydınlatması için hsv_v ve farklı nesne yoğunlukları için mosaic.

Bu kararlar alındığında veri kümesi Keşifsel Veri Analizi (EDA) için hazırdır.

Keşifsel Veri Analizi (EDA)#

EDA, verilerindeki örüntüleri ve dağılımları ortaya çıkarmak için istatistikleri ve görselleştirmeleri kullanır; eğitimden önce sınıf dengesizliği veya aykırı değerler gibi sorunları fark etmene yardımcı olur.

İstatistiksel EDA Teknikleri#

İstatistiksel EDA, piksel yoğunluğu dağılımları gibi özellikler üzerinden hesaplanan temel metriklerle — ortalama, medyan, standart sapma ve aralık — başlar. Bunlar veri kümenin kalitesine hızlı bir genel bakış sunar ve düzensizlikleri erken aşamada ortaya çıkarır.

Görsel EDA Teknikleri#

Görselleştirmeler, özet istatistiklerin gözden kaçırdığı sınıf dengesizliği ve aykırı değerler gibi örüntüleri ortaya çıkarır. Yaygın araçlar şunlardır:

  • Histogramlar ve kutu grafikleri: Piksel değerlerinin dağılımını gösterir ve yoğunluk veya özellik dağılımlarındaki aykırı değerleri işaretler.
  • Çubuk grafikler: Her sınıfta kaç örnek bulunduğunu karşılaştırarak sınıf dengesizliğini ortaya çıkarır.
  • Dağılım grafikleri: Görüntü özellikleri veya açıklamalar arasındaki ilişkileri inceler.
  • Isı haritaları: Piksel yoğunluğu dağılımlarını veya açıklamaların görüntülerdeki uzamsal dağılımını görselleştirir.

EDA için Ultralytics Platformu#

EDA için kod gerektirmeyen bir yaklaşım olarak veri kümeni Ultralytics Platformu üzerine yükle. Veri kümesinin Charts sekmesi temel EDA görselleştirmelerini otomatik olarak oluşturur: bölme dağılımı, en çok bulunan sınıfların sayıları, görüntü genişliği/yüksekliği histogramları ve açıklama konumları ile görüntü boyutlarının 2B ısı haritaları. Images sekmesi, açıklama katmanlarıyla verilerine ızgara, kompakt veya tablo görünümlerinde göz atmanı sağlar; böylece herhangi bir kod yazmadan yanlış etiketlenmiş örnekleri veya dengesiz sınıfları kolayca fark edebilirsin.

Sonuç#

Doğru şekilde bölünen, normalleştirilen ve artırılan veriler gürültüyü azaltır ve genelleme yeteneğini iyileştirerek ham görüntü koleksiyonunu güvenilir bir eğitim kümesine dönüştürür. Veri kümen ön işlendikten sonraki adım modelini eğitmektir. Bu süreçte soruların olursa Ultralytics GitHub deposunda veya Ultralytics Discord sunucusunda topluluğa sor.

SSS#

  • Ön işleme, verilerinin temiz, tutarlı ve eğitim için optimize edilmiş bir biçimde olmasını sağlar. Ham verilerdeki gürültü, tutarsızlık ve sınıf dengesizliğini ele alan yeniden boyutlandırma, normalleştirme, artırma ve veri kümesini bölme gibi adımlar hesaplama yükünü azaltır ve model performansını iyileştirir. Bunun daha geniş iş akışındaki yerini görmek için bilgisayarlı görü projesinin adımlarına bak.

  • Artırmayı veri kümesi YAML dosyası yerine eğitim bağımsız değişkenleri üzerinden yapılandır. Her dönüşümün olasılığını ve gücünü ayarlamak için fliplr, mosaic, hsv_h ve degrees gibi bağımsız değişkenleri model.train() öğesine (veya eşdeğer CLI bayraklarına) aktar. Bunlar artırma ayarlarında tanımlanır ve YOLO veri artırma kılavuzunda açıklanır. Poz veri kümeleri bir istisnadır: flip_idx anahtar noktası eşlemesi veri kümesi YAML dosyasında bulunur ve bu değer olmadan çevirme işlemleri devre dışı bırakılır.

  • En yaygın iki teknik min-max ölçekleme (pikselleri 0 ile 1 arasındaki bir aralığa yeniden ölçekleme) ve z-skoru normalleştirmesidir (ortalama ve standart sapmaya göre yeniden ölçekleme). YOLO26 min-max ölçeklemeyi otomatik olarak uygular — görüntüleri RGB'ye dönüştürür ve piksel değerlerini 255'e böler — bu nedenle manuel bir normalleştirme adımına ihtiyacın yoktur. Varsayılan olarak z-skoru normalleştirmesi uygulamaz.

  • Yaygın bir uygulama eğitim için %70, doğrulama için %20 ve test için %10 ayırmaktır. Sınıf dağılımını üç bölmenin tamamında koru ve bölmeden sonra artırmayı yalnızca eğitim kümesine uygulayarak veri sızıntısından kaçın. scikit-learn veya TensorFlow gibi araçlar bölme işlemini verimli şekilde gerçekleştirir. Üst düzey veri kümesi hazırlığı için veri toplama ve açıklama kılavuzuna bak.

  • Evet. imgsz bağı, manuel işlem gerektirmeden hedef girdi boyutunu kontrol eder. Sabit boyutlu kare yolunda doğrulama ve çıkarım, en-boy oranını koruyarak görüntüleri belirtilen şekle doğru letterbox yöntemiyle sığdırır; daha büyük görüntüler sığacak şekilde küçültülür, ölçek büyütme devre dışı bırakıldığında daha küçük görüntüler büyütülmez. Eğitim sırasında varsayılan mozaik artırma, dört görüntüyü döşeyip kırparak hedef boyuta ulaşır. Dikdörtgen batch'ler (rect=True) ve multi_scale farklı girdi şekilleri kullanır. Ayrıntılar için model eğitimi belgelerine bak.

Yorumlar