Açıklamalı Bilgisayar Görüntüsü Verileri için Veri Ön İşleme Teknikleri
Giriş
Bilgisayar görüşü projenizin hedeflerini ve veri toplama ve açıklama ekleme işlemlerini tanımladıktan sonra, bir sonraki adım açıklama eklenmiş verileri ön işlemek ve model eğitimi için hazırlamaktır. İyi performans gösteren bir model oluşturmak için temiz ve tutarlı veriler hayati önem taşır.
İzle: Gerçek Dünya Senaryolarında Model Doğruluğunu İyileştirmek için Veri Ön İşleme ve Artırma Nasıl Kullanılır? 🚀
Ön işleme, görüntüleri yeniden boyutlandırmayı, piksel değerlerini normalleştirmeyi, veri kümesini artırmayı ve verileri eğitim, doğrulama ve test kümelerine ayırmayı içeren bir bilgisayarlı görü projesi iş akışındaki bir adımdır. Verilerinizi temizlemek için temel teknikleri ve en iyi uygulamaları keşfedelim!
Veri Ön İşlemenin Önemi
Verilerimizi zaten birden fazla hususu göz önünde bulundurarak dikkatlice topluyor ve etiketliyoruz. O zaman, veri ön işlemesini bir bilgisayarlı görü projesi için bu kadar önemli kılan nedir? Veri ön işleme, verilerinizi hesaplama yükünü azaltan ve model performansını iyileştirmeye yardımcı olan eğitim için uygun bir formata getirmekle ilgilidir. İşte ön işlemenin ele aldığı ham verilerdeki bazı yaygın sorunlar:
- Gürültü (Noise): Verilerdeki ilgisiz veya rastgele varyasyonlar.
- Tutarsızlık: Görüntü boyutları, formatları ve kalitesindeki farklılıklar.
- Dengesizlik: Veri kümesindeki sınıfların veya kategorilerin eşit olmayan dağılımı.
Veri Ön İşleme Teknikleri
Veri ön işlemede ilk ve en önemli adımlardan biri yeniden boyutlandırmadır. Bazı modeller değişken giriş boyutlarını işlemek için tasarlanmıştır, ancak birçok model tutarlı bir giriş boyutu gerektirir. Görüntüleri yeniden boyutlandırmak, onları tek tip hale getirir ve hesaplama karmaşıklığını azaltır.
Görüntüleri Yeniden Boyutlandırma
Görüntülerinizi aşağıdaki yöntemleri kullanarak yeniden boyutlandırabilirsiniz:
- Bilinear Enterpolasyon: En yakın dört piksel değerinin ağırlıklı ortalamasını alarak piksel değerlerini yumuşatır.
- En Yakın Komşu: Ortalama almadan en yakın piksel değerini atar, bu da bloklu bir görüntüye ancak daha hızlı hesaplamaya yol açar.
Yeniden boyutlandırmayı daha basit bir görev haline getirmek için aşağıdaki araçları kullanabilirsiniz:
- OpenCV: Görüntü işleme için kapsamlı işlevlere sahip popüler bir bilgisayar görüşü kütüphanesi.
- PIL (Pillow): Görüntü dosyalarını açmak, işlemek ve kaydetmek için bir python Görüntüleme Kitaplığı.
YOLO11 ile ilgili olarak, model eğitimi sırasında 'imgsz' parametresi esnek giriş boyutlarına olanak tanır. 640 gibi belirli bir boyuta ayarlandığında, model giriş görüntülerini orijinal en boy oranını korurken en büyük boyutu 640 piksel olacak şekilde yeniden boyutlandırır.
Modelinizin ve veri kümenizin özel ihtiyaçlarını değerlendirerek, yeniden boyutlandırmanın gerekli bir ön işleme adımı olup olmadığını veya modelinizin değişen boyutlardaki görüntüleri verimli bir şekilde işleyip işleyemeyeceğini belirleyebilirsiniz.
Piksel Değerlerini Normalleştirme
Bir diğer ön işleme tekniği de normalleştirmedir. Normalleştirme, piksel değerlerini standart bir aralığa ölçeklendirir; bu da eğitim sırasında daha hızlı yakınsamaya yardımcı olur ve model performansını artırır. İşte bazı yaygın normalleştirme teknikleri:
- Min-Max Ölçeklendirme: Piksel değerlerini 0 ile 1 aralığına ölçeklendirir.
- Z-Skoru Normalizasyonu: Piksel değerlerini ortalama ve standart sapmalarına göre ölçeklendirir.
YOLO11 ile ilgili olarak, normalleştirme, model eğitimi sırasında ön işleme hattının bir parçası olarak sorunsuz bir şekilde ele alınır. YOLO11, RGB'ye dönüştürme, piksel değerlerini [0, 1] aralığına ölçekleme ve önceden tanımlanmış ortalama ve standart sapma değerlerini kullanarak normalleştirme dahil olmak üzere çeşitli ön işleme adımlarını otomatik olarak gerçekleştirir.
Veri Kümesini Bölme
Verileri temizledikten sonra, veri kümesini bölmeye hazırsınız. Verileri eğitim, doğrulama ve test kümelerine bölmek, modelin genelleme performansını değerlendirmek için görülmemiş veriler üzerinde değerlendirilebilmesini sağlamak için yapılır. Yaygın bir bölünme, eğitim için %70, doğrulama için %20 ve test için %10'dur. Verilerinizi bölmek için scikit-learn veya TensorFlow gibi çeşitli araçlar ve kütüphaneler kullanabilirsiniz.
Veri kümenizi bölerken aşağıdakileri göz önünde bulundurun:
- Veri Dağılımını Koruma: Sınıfların veri dağılımının eğitim, doğrulama ve test setleri genelinde korunmasını sağlayın.
- Veri Sızıntısından Kaçınma: Genellikle, veri artırma, veri kümesi bölündükten sonra yapılır. Veri artırma ve diğer tüm ön işlemler, doğrulama veya test kümelerinden gelen bilgilerin model eğitimini etkilemesini önlemek için yalnızca eğitim kümesine uygulanmalıdır.
- Sınıfları Dengeleme: Dengesiz veri kümeleri için, eğitim kümesinde azınlık sınıfını aşırı örnekleme veya çoğunluk sınıfını eksik örnekleme gibi teknikleri göz önünde bulundurun.
Veri Artırma (Data Augmentation) nedir?
En sık tartışılan veri ön işleme adımı, veri artırmadır. Veri artırma, görüntülerin değiştirilmiş versiyonlarını oluşturarak veri kümesinin boyutunu yapay olarak artırır. Verilerinizi artırarak aşırı öğrenmeyi azaltabilir ve model genellemesini iyileştirebilirsiniz.
İşte veri artırmanın diğer bazı faydaları:
- Daha Güçlü Bir Veri Kümesi Oluşturur: Veri artırma, modeli girdi verilerindeki varyasyonlara ve bozulmalara karşı daha güçlü hale getirebilir. Bu, aydınlatma, yönlendirme ve ölçekteki değişiklikleri içerir.
- Uygun Maliyetli: Veri artırma, yeni veri toplama ve etiketleme yapmadan eğitim verisi miktarını artırmanın uygun maliyetli bir yoludur.
- Verilerin Daha İyi Kullanımı: Yeni varyasyonlar oluşturarak mevcut her veri noktası maksimum potansiyelinde kullanılır.
Veri Artırma Yöntemleri
Yaygın artırma teknikleri arasında çevirme, döndürme, ölçekleme ve renk ayarlamaları bulunur. Albumentations, Imgaug ve TensorFlow'un ImageDataGenerator'ı gibi çeşitli kitaplıklar bu artırmaları oluşturabilir.
YOLO11 ile ilgili olarak, bir .yaml dosyası olan veri kümesi yapılandırma dosyasını değiştirerek özel veri kümenizi zenginleştirebilirsiniz. Bu dosyada, verilerinizi nasıl zenginleştirmek istediğinizi belirten parametrelerle bir zenginleştirme bölümü ekleyebilirsiniz.
Ultralytics YOLO11 deposu, çok çeşitli veri artırmalarını destekler. Aşağıdaki gibi çeşitli dönüşümler uygulayabilirsiniz:
- Rastgele Kırpmalar
- Çevirme: Görüntüler yatay veya dikey olarak çevrilebilir.
- Döndürme: Görüntüler belirli açılarla döndürülebilir.
- Bozulma
Ayrıca, daha fazla veri çeşitliliği oluşturmak için bu artırma tekniklerinin yoğunluğunu belirli parametreler aracılığıyla ayarlayabilirsiniz.
Ön İşleme Örnek Olay İncelemesi
YOLO11 kullanarak trafik görüntülerindeki farklı araç türlerini tespit etmek ve sınıflandırmak için bir model geliştirmeyi amaçlayan bir proje düşünün. Trafik görüntüleri topladık ve bunları sınırlayıcı kutular ve etiketlerle işaretledik.
İşte bu proje için ön işlemenin her adımının nasıl görüneceği:
- Görüntüleri Yeniden Boyutlandırma: YOLO11 esnek giriş boyutlarını işlediği ve yeniden boyutlandırmayı otomatik olarak gerçekleştirdiği için manuel yeniden boyutlandırma gerekli değildir. Model, eğitim sırasında belirtilen 'imgsz' parametresine göre görüntü boyutunu ayarlayacaktır.
- Piksel Değerlerini Normalleştirme: YOLO11, önişleme sırasında piksel değerlerini otomatik olarak 0 ile 1 aralığına normalleştirir, bu nedenle gerekli değildir.
- Veri Kümesini Bölme: Scikit-learn gibi araçları kullanarak veri kümesini eğitim (%70), doğrulama (%20) ve test (%10) kümelerine ayırın.
- Veri Artırma: Rastgele kırpmalar, yatay çevirmeler ve parlaklık ayarlamaları gibi veri artırma tekniklerini dahil etmek için veri kümesi yapılandırma dosyasını (.yaml) değiştirin.
Bu adımlar, veri kümesinin herhangi bir potansiyel sorun olmadan hazırlanmasını ve Keşifsel Veri Analizi (EDA) için hazır olmasını sağlar.
Keşifsel Veri Analizi Teknikleri
Veri kümenizi ön işleme ve artırmadan sonraki adım, Keşifsel Veri Analizi yoluyla içgörü kazanmaktır. EDA, verilerinizdeki kalıpları ve dağılımları anlamak için istatistiksel teknikler ve görselleştirme araçları kullanır. Sınıf dengesizlikleri veya aykırı değerler gibi sorunları belirleyebilir ve daha fazla veri ön işleme veya model eğitimi ayarlamaları hakkında bilinçli kararlar verebilirsiniz.
İstatistiksel EDA Teknikleri
İstatistiksel teknikler genellikle ortalama, medyan, standart sapma ve aralık gibi temel metriklerin hesaplanmasıyla başlar. Bu metrikler, piksel yoğunluğu dağılımları gibi görüntü veri kümenizin özelliklerine hızlı bir genel bakış sağlar. Bu temel istatistikleri anlamak, verilerinizin genel kalitesini ve özelliklerini anlamanıza yardımcı olur ve herhangi bir düzensizliği erkenden tespit etmenizi sağlar.
Görsel EDA Teknikleri
Görselleştirmeler, görüntü veri kümeleri için EDA'da önemlidir. Örneğin, sınıf dengesizliği analizi, EDA'nın bir diğer hayati yönüdür. Veri kümenizde belirli sınıfların yeterince temsil edilip edilmediğini belirlemeye yardımcı olur. Farklı görüntü sınıflarının veya kategorilerinin dağılımını çubuk grafikler kullanarak görselleştirmek, herhangi bir dengesizliği hızla ortaya çıkarabilir. Benzer şekilde, aykırı değerler, piksel yoğunluğundaki veya özellik dağılımlarındaki anormallikleri vurgulayan kutu grafikleri gibi görselleştirme araçları kullanılarak belirlenebilir. Aykırı değer tespiti, alışılmadık veri noktalarının sonuçlarınızı çarpıtmasını önler.
Görselleştirmeler için yaygın araçlar şunlardır:
- Histogramlar ve Kutu Grafikleri: Piksel değerlerinin dağılımını anlamak ve aykırı değerleri belirlemek için kullanışlıdır.
- Saçılım Grafikleri: Görüntü özellikleri veya açıklamaları arasındaki ilişkileri keşfetmek için faydalıdır.
- Isı Haritaları: Görüntülerdeki piksel yoğunluklarının dağılımını veya açıklama eklenmiş özelliklerin uzamsal dağılımını görselleştirmek için etkilidir.
EDA için Ultralytics Explorer'ı kullanma
Topluluk Notu ⚠️
İtibarıyla ultralytics>=8.3.10
, Ultralytics explorer desteği kullanımdan kaldırılmıştır. Ama endişelenmeyin! Artık benzer ve hatta geliştirilmiş işlevlere şuradan erişebilirsiniz: Ultralytics HUB, iş akışınızı kolaylaştırmak için tasarlanmış sezgisel, kodsuz platformumuz. Ultralytics HUB ile, tek bir kod satırı yazmadan verilerinizi zahmetsizce keşfetmeye, görselleştirmeye ve yönetmeye devam edebilirsiniz. Kontrol ettiğinizden ve güçlü özelliklerinden yararlandığınızdan emin olun!🚀
EDA'ya daha gelişmiş bir yaklaşım için Ultralytics Explorer aracını kullanabilirsiniz. Bilgisayarla görme veri kümelerini keşfetmek için güçlü yetenekler sunar. Anlamsal arama, SQL sorguları ve vektör benzerlik aramayı destekleyerek, araç verilerinizi analiz etmeyi ve anlamayı kolaylaştırır. Ultralytics Explorer ile, benzer resimleri bulmak için veri kümeniz için gömme oluşturabilir, ayrıntılı analiz için SQL sorguları çalıştırabilir ve kullanıcı dostu bir grafik arayüz aracılığıyla anlamsal aramalar gerçekleştirebilirsiniz.
Ulaşın ve Bağlantı Kurun
Projeniz hakkında diğer bilgisayar görüşü meraklılarıyla tartışmak, farklı bakış açılarından yeni fikirler verebilir. İşte öğrenmek, sorun gidermek ve ağ kurmak için bazı harika yollar:
Toplulukla Bağlantı Kurma Kanalları
- GitHub Sorunları: YOLO11 GitHub deposunu ziyaret edin ve soru sormak, hataları bildirmek ve özellikler önermek için Sorunlar sekmesini kullanın. Topluluk ve yöneticiler karşılaştığınız sorunlarda size yardımcı olmak için oradalar.
- Ultralytics Discord Sunucusu: Diğer kullanıcılar ve geliştiricilerle bağlantı kurmak, destek almak, bilgi paylaşmak ve fikir alışverişinde bulunmak için Ultralytics Discord sunucusuna katılın.
Resmi Belgelendirme
- Ultralytics YOLO11 Dökümantasyonu: Çok sayıda bilgisayar görüşü görevi ve projesi hakkında eksiksiz kılavuzlar ve değerli bilgiler için resmi YOLO11 dökümantasyonuna bakın.
Veri Kümeniz Hazır!
Düzgün yeniden boyutlandırılmış, normalleştirilmiş ve artırılmış veriler, gürültüyü azaltarak ve genellemeyi iyileştirerek model performansını artırır. Bu kılavuzda özetlenen ön işleme tekniklerini ve en iyi uygulamaları izleyerek sağlam bir veri kümesi oluşturabilirsiniz. Önceden işlenmiş veri kümeniz hazır olduğunda, projenizdeki sonraki adımlara güvenle geçebilirsiniz.
SSS
Bilgisayar görüşü projelerinde veri ön işlemenin önemi nedir?
Veri ön işleme, bilgisayar görüşü projelerinde çok önemlidir çünkü verilerin temiz, tutarlı ve model eğitimi için en uygun biçimde olmasını sağlar. Ham verilerdeki gürültü, tutarsızlık ve dengesizlik gibi sorunları ele alarak, yeniden boyutlandırma, normalleştirme, artırma ve veri kümesi bölme gibi ön işleme adımları, hesaplama yükünü azaltmaya ve model performansını artırmaya yardımcı olur. Daha fazla ayrıntı için, bir bilgisayar görüşü projesinin adımlarını ziyaret edin.
Veri artırma için Ultralytics YOLO'yu nasıl kullanabilirim?
Ultralytics YOLO11 ile veri artırma için, veri kümesi yapılandırma dosyasını (.yaml) değiştirmeniz gerekir. Bu dosyada, rastgele kırpmalar, yatay çevirmeler ve parlaklık ayarlamaları gibi çeşitli artırma tekniklerini belirtebilirsiniz. Bu, burada açıklanan eğitim yapılandırmaları kullanılarak etkili bir şekilde yapılabilir. Veri artırma, daha sağlam bir veri kümesi oluşturmaya, aşırı uyumu azaltmaya ve model genellemesini iyileştirmeye yardımcı olur.
Bilgisayarlı görü verileri için en iyi veri normalleştirme teknikleri nelerdir?
Normalleştirme, eğitim sırasında daha hızlı yakınsama ve gelişmiş performans için piksel değerlerini standart bir aralığa ölçeklendirir. Yaygın teknikler şunları içerir:
- Min-Max Ölçeklendirme: Piksel değerlerini 0 ile 1 aralığına ölçeklendirir.
- Z-Skoru Normalizasyonu: Piksel değerlerini ortalama ve standart sapmalarına göre ölçeklendirir.
YOLO11 için normalizasyon, RGB'ye dönüştürme ve piksel değeri ölçeklendirme dahil olmak üzere otomatik olarak yapılır. Model eğitimi bölümünde daha fazla bilgi edinin.
Etiketlenmiş veri kümemi eğitim için nasıl bölmeliyim?
Veri kümenizi bölmek için, yaygın bir uygulama, onu %70 eğitim, %20 doğrulama ve %10 test için bölmektir. Bu bölmeler arasında sınıfların veri dağılımını korumak ve yalnızca eğitim kümesinde artırma gerçekleştirerek veri sızıntısını önlemek önemlidir. Veri kümesi bölme için scikit-learn veya TensorFlow gibi araçları kullanın. veri kümesi hazırlama hakkındaki ayrıntılı kılavuza bakın.
YOLO11'de değişen görüntü boyutlarını manuel yeniden boyutlandırma olmadan işleyebilir miyim?
Evet, Ultralytics YOLO11, model eğitimi sırasında 'imgsz' parametresi aracılığıyla değişen görüntü boyutlarını işleyebilir. Bu parametre, görüntülerin en büyük boyutunun belirtilen boyuta (örneğin, 640 piksel) uyması için yeniden boyutlandırılmasını sağlarken, en boy oranını korur. Daha esnek giriş işleme ve otomatik ayarlamalar için model eğitimi bölümünü kontrol edin.