Açıklamalı Bilgisayarla Görme Verileri için Veri Ön İşleme Teknikleri
Giriş
Bilgisayarla görme projenizin hedeflerini belirledikten ve verileri toplayıp açıklama ekledikten sonra, bir sonraki adım açıklama eklenmiş verileri önceden işlemek ve model eğitimi için hazırlamaktır. Temiz ve tutarlı veriler, iyi performans gösteren bir model oluşturmak için hayati önem taşır.
Ön işleme, görüntülerin yeniden boyutlandırılması, piksel değerlerinin normalleştirilmesi, veri kümesinin artırılması ve verilerin eğitim, doğrulama ve test kümelerine bölünmesini içeren bilgisayarla görme projesi iş akışındaki bir adımdır. Verilerinizi temizlemek için gerekli teknikleri ve en iyi uygulamaları keşfedelim!
Veri Ön İşlemenin Önemi
Verilerimizi zaten birçok hususu göz önünde bulundurarak dikkatlice topluyor ve notlandırıyoruz. O halde veri ön işlemeyi bir bilgisayarla görme projesi için bu kadar önemli kılan nedir? Veri ön işleme, verilerinizi hesaplama yükünü azaltan ve model performansını artırmaya yardımcı olan eğitim için uygun bir biçime getirmekle ilgilidir. İşte ön işlemenin ele aldığı ham verilerdeki bazı yaygın sorunlar:
- Gürültü: Verilerdeki alakasız veya rastgele değişimler.
- 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şlemenin ilk ve en önemli adımlarından biri yeniden boyutlandırmadır. Bazı modeller değişken girdi boyutlarını işlemek için tasarlanmıştır, ancak birçok model tutarlı bir girdi 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
Aşağıdaki yöntemleri kullanarak resimlerinizi yeniden boyutlandırabilirsiniz:
- Bilineer 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 yol açar ancak daha hızlı hesaplama sağlar.
Yeniden boyutlandırmayı daha basit bir iş 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 bilgisayarla görme kütüphanesi.
- PIL (Yastık): 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 girdi boyutlarına izin verir. Model, 640 gibi belirli bir boyuta ayarlandığında, orijinal en boy oranını korurken giriş görüntülerini en büyük boyutları 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 farklı 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-Maks Ölçekleme: Piksel değerlerini 0 ila 1 aralığında ölçeklendirir.
- Z-Skor Normalleştirme: Piksel değerlerini ortalamalarına 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 demektir. Verileri eğitim, doğrulama ve test setlerine bölmek, modelin genelleme performansını değerlendirmek için görülmemiş veriler üzerinde değerlendirilebilmesini sağlamak için yapılır. Eğitim için %70, doğrulama için %20 ve test için %10 gibi yaygın bir oran kullanılır. Verilerinizi bölmek için kullanabileceğiniz scikit-learn veya TensorFlow gibi çeşitli araçlar ve kütüphaneler vardır.
Veri setinizi bölerken aşağıdakileri göz önünde bulundurun:
- Veri Dağılımının Korunması: Sınıfların veri dağılımının eğitim, doğrulama ve test setleri arasında korunduğundan emin olun.
- Veri Sızıntısını Önleme: Tipik olarak veri büyütme işlemi veri kümesi bölündükten sonra yapılır. Doğrulama veya test setlerinden gelen bilgilerin model eğitimini etkilemesini önlemek için veri büyütme ve diğer ön işlemler yalnızca eğitim setine uygulanmalıdır. -Sınıfları Dengeleme: Dengesiz veri kümeleri için, eğitim setinde azınlık sınıfını aşırı örnekleme veya çoğunluk sınıfını az örnekleme gibi teknikleri göz önünde bulundurun.
Veri Artırımı Nedir?
En sık tartışılan veri ön işleme adımı veri büyütmedir. Veri büyütme, 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ı uyumu azaltabilir ve model genellemesini iyileştirebilirsiniz.
İşte veri artırmanın diğer bazı faydaları:
- Daha Sağlam Bir Veri Kümesi Oluşturur: Veri artırımı, modeli girdi verilerindeki değişimlere ve bozulmalara karşı daha sağlam hale getirebilir. Buna aydınlatma, yönlendirme ve ölçekteki değişiklikler de dahildir.
- Uygun Maliyetli: Veri artırımı, yeni veri toplamadan ve etiketlemeden eğitim verisi miktarını artırmanın uygun maliyetli bir yoludur.
- Verilerin Daha İyi Kullanımı: Mevcut her veri noktası, yeni varyasyonlar oluşturularak maksimum potansiyelde kullanılır
Veri Artırma Yöntemleri
Yaygın büyütme teknikleri arasında çevirme, döndürme, ölçekleme ve renk ayarlamaları yer alır. Albumentations, Imgaug ve TensorFlow's ImageDataGenerator gibi çeşitli kütüphaneler bu büyütmeleri 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 artırabilirsiniz. Bu dosyada, verilerinizi nasıl artırmak istediğinizi belirten parametreler içeren bir artırma bölümü ekleyebilirsiniz.
Ultralytics YOLO11 deposu çok çeşitli veri artırımlarını destekler. Aşağıdakiler gibi çeşitli dönüşümler uygulayabilirsiniz:
- Rastgele Mahsuller
- Çevirme: Görüntüler yatay veya dikey olarak çevrilebilir.
- Döndürme: Görüntüler belirli açılarla döndürülebilir.
- Distorsiyon
Ayrıca, daha fazla veri çeşitliliği oluşturmak için belirli parametreler aracılığıyla bu artırma tekniklerinin yoğunluğunu ayarlayabilirsiniz.
Ön İşleme Üzerine Bir Vaka Çalışması
YOLO11 adresini 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ülerini topladık ve bunlara sınırlayıcı kutular ve etiketler ekledik.
Bu proje için her bir ön işleme adımının nasıl görüneceği aşağıda açıklanmıştır:
- Görüntüleri Yeniden Boyutlandırma: YOLO11 esnek girdi boyutlarını işlediğinden ve yeniden boyutlandırmayı otomatik olarak gerçekleştirdiğinden, 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 , ön işleme sırasında piksel değerlerini otomatik olarak 0 ila 1 aralığına normalleştirir, bu nedenle gerekli değildir.
- Veri Kümesini Bölme: Veri kümesini scikit-learn gibi araçlar kullanarak eğitim (%70), doğrulama (%20) ve test (%10) kümelerine bölün.
- Veri Büyütme: Veri kümesi yapılandırma dosyasını (.yaml) rastgele kırpmalar, yatay çevirmeler ve parlaklık ayarlamaları gibi veri artırma tekniklerini içerecek şekilde değiştirin.
Bu adımlar, veri setinin herhangi bir potansiyel sorun olmadan hazırlandığından ve Keşifsel Veri Analizi (EDA) için hazır olduğundan emin olunmasını sağlar.
Keşifsel Veri Analizi Teknikleri
Veri setinizi önceden işledikten ve zenginleştirdikten sonra, bir sonraki adım Keşifsel Veri Analizi yoluyla içgörüler elde etmektir. 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, görüntü veri setinizin piksel yoğunluğu dağılımları gibi özelliklerine hızlı bir genel bakış sağlar. Bu temel istatistikleri anlamak, verilerinizin genel kalitesini ve özelliklerini kavramanıza yardımcı olarak herhangi bir düzensizliği erkenden tespit etmenize olanak tanır.
Görsel EDA Teknikleri
Görselleştirmeler, görüntü veri kümeleri için EDA'da kilit öneme sahiptir. Örneğin, sınıf dengesizliği analizi EDA'nın bir başka hayati yönüdür. Veri setinizde 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ğu veya özellik dağılımlarındaki anormallikleri vurgulayan kutu grafikleri gibi görselleştirme araçları kullanılarak belirlenebilir. Aykırı değer tespiti, olağandışı 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 Çizimleri: Piksel değerlerinin dağılımını anlamak ve aykırı değerleri belirlemek için kullanışlıdır.
- Dağılım Plotları: Görüntü özellikleri veya ek açıklamalar arasındaki ilişkileri keşfetmek için faydalıdır.
- Isı haritaları: Piksel yoğunluklarının dağılımını veya görüntülerdeki açıklamalı özelliklerin uzamsal dağılımını görselleştirmek için etkilidir.
EDA için Ultralytics Explorer'ı kullanma
Topluluk Notu ⚠️
İtibariyle ultralytics>=8.3.10
, Ultralytics explorer desteği kullanımdan kaldırılmıştır. Ama endişelenmeyin! Artık benzer ve hatta gelişmiş işlevselliğe şu yolla erişebilirsiniz Ultralytics HUBiş akışınızı kolaylaştırmak için tasarlanmış sezgisel kodsuz platformumuz. Ultralytics HUB ile tek bir satır kod yazmadan verilerinizi zahmetsizce keşfetmeye, görselleştirmeye ve yönetmeye devam edebilirsiniz. Mutlaka göz atın ve güçlü özelliklerinden yararlanın!🚀
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. Semantik arama, SQL sorguları ve vektör benzerlik aramasını destekleyen araç, verilerinizi analiz etmeyi ve anlamayı kolaylaştırır. Ultralytics Explorer ile, benzer görüntüleri bulmak için veri kümeniz için katıştırmalar 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 yapabilirsiniz.
Ulaşın ve Bağlantı Kurun
Projeniz hakkında diğer bilgisayarla görme meraklılarıyla tartışmalar yapmak size farklı bakış açılarından yeni fikirler verebilir. İşte öğrenmenin, sorun gidermenin ve ağ kurmanın bazı harika yolları:
Toplulukla Bağlantı Kurabileceğiniz Kanallar
- GitHub Sorunları: YOLO11 GitHub deposunu ziyaret edin ve soru sormak, hata bildirmek ve özellik önermek için Sorunlar sekmesini kullanın. Topluluk ve bakımcılar karşılaştığınız her türlü sorunda size yardımcı olmaya hazırdır.
- Ultralytics Discord Sunucusu: Diğer kullanıcılar ve geliştiricilerle bağlantı kurmak, destek almak, bilgi paylaşmak ve beyin fırtınası yapmak için Ultralytics Discord sunucusuna katılın.
Resmi Belgeler
- Ultralytics YOLO11 Dokümantasyon: Çok sayıda bilgisayarla görme görevi ve projesi hakkında kapsamlı kılavuzlar ve değerli bilgiler için resmi YOLO11 belgelerine bakın.
Veri Setiniz Hazır!
Uygun şekilde 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 setiniz hazır olduğunda, projenizdeki sonraki adımlara güvenle geçebilirsiniz.
SSS
Bilgisayarlı görü projelerinde veri ön işlemenin önemi nedir?
Verilerin temiz, tutarlı ve model eğitimi için en uygun formatta olmasını sağladığı için bilgisayarla görme projelerinde veri ön işleme çok önemlidir. Ham verilerdeki gürültü, tutarsızlık ve dengesizlik gibi sorunları ele alarak, yeniden boyutlandırma, normalleştirme, büyütme 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 bilgisayarla görme projesinin adımlarını ziyaret edin.
Veri artırımı için Ultralytics YOLO adresini nasıl kullanabilirim?
Ultralytics YOLO11 ile veri artırımı 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 büyütme tekniklerini belirtebilirsiniz. Bu, burada açıklanan eğitim konfigürasyonları kullanılarak etkili bir şekilde yapılabilir. Veri büyütme, daha sağlam bir veri kümesi oluşturmaya, aşırı uyumu azaltmaya ve model genellemesini iyileştirmeye yardımcı olur.
Bilgisayarla görme 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-Maks Ölçekleme: Piksel değerlerini 0 ila 1 aralığında ölçeklendirir.
- Z-Skor Normalleştirme: Piksel değerlerini ortalamalarına ve standart sapmalarına göre ölçeklendirir.
YOLO11 için normalleştirme, RGB'ye dönüştürme ve piksel değeri ölçeklendirme dahil olmak üzere otomatik olarak gerçekleştirilir. Model eğitimi bölümünde bu konuda daha fazla bilgi edinin.
Eğitim için açıklamalı veri kümemi nasıl bölmeliyim?
Veri setinizi bölmek için yaygın bir uygulama, eğitim için %70, doğrulama için %20 ve test için %10'a bölmektir. Bu bölünmelerde 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. Scikit-learn gibi araçları kullanın veya TensorFlow verimli veri kümesi bölme için. Veri kümesi hazırlama ile ilgili ayrıntılı kılavuza bakın.
YOLO11 adresinde farklı görüntü boyutlarını manuel olarak yeniden boyutlandırmadan 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, en boy oranını korurken görüntülerin en büyük boyutlarının belirtilen boyutla (örn. 640 piksel) eşleşecek şekilde yeniden boyutlandırılmasını sağlar. Daha esnek girdi işleme ve otomatik ayarlamalar için model eğitimi bölümünü kontrol edin.