Link to this sectionEtiketli 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 eğitilmesi için gereken temiz ve tutarlı girdilere dönüştürür. Ultralytics YOLO26 ile RGB dönüşümü, [0, 1] aralığına ölçekleme ve yeniden boyutlandırma gibi temel piksel işlemleri eğitim hattında otomatik olarak yürütülür; bu nedenle sana kalan iş, veri kümeni doğru şekilde bölmek, sınıfları dengelemek ve veri artırma yöntemlerini seçmektir. Bu kılavuz; yeniden boyutlandırma, normalizasyon, veri kümesi bölme, veri artırma ve keşifçi veri analizi (EDA) gibi temel teknikleri kapsamaktadır.
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ü proje iş akışının erken aşamalarında yer alır.
Link to this sectionÖn İşleme Neden Önemlidir?#
Ön işleme, verilerini hesaplama yükünü azaltan ve model performansını iyileştiren bir formata getirir. Ham verilerdeki şu üç yaygın sorunu ele alır:
- Gürültü: Verideki ilgisiz veya rastgele değişimler.
- Tutarsızlık: Görüntü boyutlarındaki, biçimlerindeki ve kalitesindeki değişiklikler.
- Dengesizlik: Veri kümesi genelinde sınıfların veya kategorilerin eşit olmayan dağılımı.
Link to this sectionÖn İşleme Teknikleri#
Ana teknikler yeniden boyutlandırma, normalizasyon, veri kümesi bölme ve veri artırmadır. YOLO26 ile ilk ikisi otomatiktir; bölme ve veri artırma ise seçimlerinin en önemli olduğu kısımlardır.
Link to this sectionGörüntüleri Yeniden Boyutlandırma#
Birçok model tutarlı bir girdi boyutu gerektirir, bu nedenle yeniden boyutlandırma görüntüleri tekdüze hale getirir ve hesaplama karmaşıklığını azaltır. İki yaygın interpolasyon yöntemi şunlardır:
- İki Doğrusal (Bilinear) İnterpolasyon: En yakın dört pikselin ağırlıklı ortalamasını alarak piksel değerlerini yumuşatır.
- En Yakın Komşu: Piksel değerini ortalamasını almadan kopyalar; daha hızlıdır ancak daha bloklu bir görüntü oluşturur.
Libraries like OpenCV and PIL (Pillow) provide these functions, but with YOLO26 you usually don't resize manually. The imgsz argument during model training handles it: when set to a value such as 640, YOLO scales each image so its largest dimension is 640 pixels while preserving the aspect ratio, then pads the shorter side (default gray, value 114) to reach a square 640 × 640 input.
Link to this sectionPiksel Değerlerini Normalleştirme#
Normalizasyon, 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. İki yaygın teknik şunlardır:
- Min-Max Ölçeklendirme: Piksel değerlerini 0 ile 1 arasına ölçeklendirir.
- Z-Skoru Normalleştirmesi: Piksel değerlerini ortalamalarına ve standart sapmalarına göre ölçeklendirir.
YOLO26, normalizasyonu ön işleme hattının bir parçası olarak otomatik halleder: görüntüleri RGB'ye dönüştürür ve 255'e bölerek (min-max ölçekleme) piksel değerlerini [0, 1] aralığına ölçekler. YOLO varsayılan olarak ImageNet tarzı ortalama/standart sapma (z-skoru) normalizasyonu uygulamaz, bu nedenle manuel bir normalizasyon adımı gerekmez.
Link to this sectionVeri Kümesini Bölme#
Verileri eğitim, doğrulama ve test kümelerine ayırmak, modeli görünmeyen veriler üzerinde değerlendirmeni ve genelleme yeteneğini ölçmeni sağlar. Yaygın bir bölme oranı %70 eğitim, %20 doğrulama ve %10 test şeklindedir. scikit-learn veya TensorFlow gibi araçlar bunu kolaylaştırır.
Bölme yaparken şu noktaları aklında bulundur:
- Sınıf dağılımını koru: Her sınıfın eğitim, doğrulama ve test kümelerinde orantılı olarak temsil edildiğinden emin ol.
- Sınıfları dengele: Dengesiz veri kümeleri için, yalnızca eğitim kümesi içinde olacak şekilde azınlık sınıfını aşırı örneklemeyi (oversampling) veya çoğunluk sınıfını eksik örneklemeyi (under-sampling) değerlendir.
Veri kümesini herhangi bir veri artırma veya diğer ön işleme işlemlerini uygulamadan önce böl ve bu dönüşümleri yalnızca eğitim kümesine uygula. Bölme işleminden önce veri artırma yapmak, doğrulama veya test görüntülerinden gelen bilgilerin eğitimi etkilemesine izin vererek gerçek dünya verilerinde çöken yanıltıcı derecede yüksek puanlar üretir.
Link to this sectionVeri Kümesini Artırma#
Veri artırma, mevcut görüntülerin değiştirilmiş sürümlerini oluşturarak bir veri kümesinin boyutunu yapay olarak artırır. Aşırı öğrenmeyi (overfitting) azaltmaya yardımcı olur ve genellemeyi çeşitli faydalarla geliştirir:
- Daha sağlam modeller: Işık, yön ve ölçekteki değişimler, modeli gerçek dünyadaki bozulmalara karşı dirençli hale getirir.
- Uygun maliyetli: Yeni veri toplamak ve etiketlemek zorunda kalmadan eğitim kümesini genişletirsin.
- Verinin daha iyi kullanımı: Her etiketli görüntü birden fazla eğitim varyasyonu sağlar.
With YOLO26, augmentation is controlled through training arguments passed to model.train() or the equivalent CLI flags — not by editing the dataset YAML, which defines dataset metadata such as paths, class names, and splits. The built-in augmentations include:
- Mosaic, MixUp ve CutMix (
mosaic,mixup,cutmix): Birden fazla görüntüyü tek bir eğitim örneğinde birleştirir. - Döndürmeler (Flips) (
fliplr,flipud): Görüntüleri yatay veya dikey olarak yansıtır. - 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 büker. - HSV renk titremesi (color jitter) (
hsv_h,hsv_s,hsv_v): Ton, doygunluk ve parlaklığı değiştirir. - Kopyala-yapıştır (
copy_paste): Segmentasyon için nesneleri görüntüler arasında kopyalayıp yapıştırır.
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)Veri artırma argümanlarının tam listesi ve varsayılan değerleri için veri artırma ayarları referansına ve özel YOLO veri artırma kılavuzuna bak. Eğer albumentations paketi kuruluysa, YOLO yerleşik Albumentations tabanlı veri artırma işlemlerini de otomatik olarak etkinleştirir.
Link to this sectionBir Örnek Olay: Araç Tespiti için Ön İşleme#
YOLO26 ile trafik görüntülerindeki araçları tespit etmek ve sınıflandırmak için bir proje düşündüğünü varsayalım. sınırlayıcı kutular (bounding boxes) ve etiketlerle işaretlenmiş görüntülerden başlayarak, her ön işleme kararının nasıl göründüğüne bakalım:
- Yeniden boyutlandırma: Manuel iş yok — YOLO26 eğitim sırasında
imgszdeğerine göre yeniden boyutlandırır. - Normalizasyon: Manuel iş yok — YOLO26 piksel değerlerini otomatik olarak
[0, 1]aralığına ölçekler. - Bölme: Veri kümesini %70 eğitim, %20 doğrulama ve %10 test olarak ayır, sınıf dağılımını bölümler genelinde tutarlı tut.
- Veri artırma: Trafik sahnelerine uygun eğitim argümanlarını ayarla; örneğin yön değişmezliği için
fliplr, gece/gündüz aydınlatması içinhsv_vve değişen nesne yoğunluğu içinmosaic.
Bu kararlar alındıktan sonra veri kümen Keşifçi Veri Analizi (EDA) için hazırdır.
Link to this sectionKeşifçi Veri Analizi (EDA)#
EDA, verilerindeki kalıpları ve dağılımları ortaya çıkarmak için istatistik ve görselleştirmelerden yararlanır; böylece eğitim öncesinde sınıf dengesizliği veya aykırı değerler gibi sorunları yakalamana yardımcı olur.
Link to this sectionİstatistiksel EDA Teknikleri#
İstatistiksel EDA, piksel yoğunluğu dağılımları gibi özellikler üzerinden hesaplanan ortalama, medyan, standart sapma ve aralık gibi temel metriklerle başlar. Bunlar, veri kümenin kalitesine dair hızlı bir genel bakış sunar ve düzensizlikleri erkenden yüzeye çıkarır.
Link to this sectionGörsel EDA Teknikleri#
Görselleştirmeler, özet istatistiklerin gözden kaçırdığı sınıf dengesizliği ve aykırı değerler gibi kalıpları 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ıfın kaç örneği olduğunu karşılaştırarak sınıf dengesizliğini ortaya çıkarır.
- Dağılım grafikleri (Scatter plots): Görüntü özellikleri veya etiketler arasındaki ilişkileri keşfetmeni sağlar.
- Isı haritaları: Piksel yoğunluğu dağılımlarını veya etiketlerin görüntüler üzerindeki uzamsal dağılımını görselleştirir.
Link to this sectionEDA için Ultralytics Platformu#
EDA için kod yazmadan bir yaklaşım arıyorsan, veri kümeni Ultralytics Platform'a yükle. Veri kümesinin Charts sekmesi, önemli EDA görselleştirmelerini otomatik olarak oluşturur: bölüm dağılımı, en üst sınıf sayıları, görüntü genişliği/yüksekliği histogramları ve etiket konumlarının ve görüntü boyutlarının 2B ısı haritaları. Images sekmesi, verilerine ızgara, kompakt veya tablo görünümlerinde etiket bindirmeleriyle göz atmanı sağlar; böylece herhangi bir kod yazmadan yanlış etiketlenmiş örnekleri veya dengesiz sınıfları kolayca fark edebilirsin.
Link to this sectionSonuç#
Düzgün şekilde bölünmüş, normalize edilmiş ve artırılmış veriler gürültüyü azaltır ve genellemeyi 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 sonra bir sonraki adım modelini eğitmektir. Yol boyunca soruların olursa, Ultralytics GitHub deposunda veya Ultralytics Discord sunucusunda topluluğa sor.
Link to this sectionSSS#
Link to this sectionBilgisayarlı görü projelerinde veri ön işleme neden önemlidir?#
Ön işleme, verilerinin temiz, tutarlı ve eğitim için optimize edilmiş bir formatta olmasını sağlar. Ham verilerdeki gürültü, tutarsızlık ve sınıf dengesizliğini ele alarak yeniden boyutlandırma, normalizasyon, veri artırma ve veri kümesi bölme gibi adımlar hesaplama yükünü azaltır ve model performansını artırır. Bu sürecin daha geniş iş akışına nasıl uyduğunu görmek için bilgisayarlı görü projesinin adımlarına göz at.
Link to this sectionVeri artırma için Ultralytics YOLO'yu nasıl kullanırım?#
Veri artırmayı veri kümesi YAML dosyası yerine eğitim argümanları ü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 argümanları model.train() fonksiyonuna (veya eşdeğer CLI bayraklarına) geçir. Bunlar veri artırma ayarlarında tanımlanmış ve YOLO veri artırma kılavuzunda açıklanmıştır.
Link to this sectionBilgisayarlı görü verileri için en iyi normalizasyon teknikleri nelerdir?#
En yaygın iki teknik min-max ölçekleme (pikselleri 0 ile 1 arasına yeniden ölçeklendirme) ve z-skoru normalizasyonudur (ortalama ve standart sapmaya göre yeniden ölçeklendirme). YOLO26, görüntüleri RGB'ye dönüştürüp piksel değerlerini 255'e bölerek min-max ölçeklemeyi otomatik uygular, bu nedenle manuel bir normalizasyon adımına ihtiyacın yoktur. Varsayılan olarak z-skoru normalizasyonu uygulamaz.
Link to this sectionEğitim için etiketli veri kümemi nasıl bölmeliyim?#
Yaygın bir uygulama %70 eğitim, %20 doğrulama ve %10 test oranıdır. Sınıf dağılımını her üç bölümde de koru ve veri artırmayı yalnızca bölme işleminden sonra 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 bir şekilde halleder. Kaynak veri kümesi hazırlığı için veri toplama ve etiketleme kılavuzuna bak.
Link to this sectionYOLO26 manuel yeniden boyutlandırma olmadan farklı görüntü boyutlarını işleyebilir mi?#
Evet. imgsz argümanı, görüntüleri eğitim ve çıkarım sırasında en büyük boyutları belirtilen boyuta (örneğin 640 piksel) uyacak şekilde, en boy oranını koruyarak yeniden boyutlandırır ve ardından kısa tarafı doldurur. Görüntüleri kendin yeniden boyutlandırmana gerek yoktur; detaylar için model eğitimi belgelerine bak.