İçeriğe geç

Data Preprocessing Techniques for Annotated Computer Vision Data

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 birden fazla hususu göz önünde bulundurarak dikkatli bir şekilde topluyor ve açıklama ekliyoruz. Peki, veri ön işlemeyi bir görüntü işleme 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. Ham verilerde ön işlemenin giderdiği bazı yaygın sorunlar şunlardır:

  • 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 İşleme Teknikleri

Veri ön işlemenin ilk ve en önemli adımlarından biri yeniden boyutlandırmadır. Bazı modeller değişken giriş boyutlarını işleyecek şekilde 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

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 görev haline getirmek için aşağıdaki araçları kullanabilirsiniz:

  • OpenCV: A popular computer vision library with extensive functions for image processing.
  • PIL (Yastık): Görüntü dosyalarını açmak, işlemek ve kaydetmek için bir Python Görüntüleme Kitaplığı.

With respect to YOLO11, the 'imgsz' parameter during model training allows for flexible input sizes. When set to a specific size, such as 640, the model will resize input images so their largest dimension is 640 pixels while maintaining the original aspect ratio.

Modelinizin ve veri kümenizin özel gereksinimlerini 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

Başka bir ön işleme tekniği 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. Yaygın olarak kullanılan bazı normalleştirme teknikleri şunlardır:

  • 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. Verilerin eğitim, doğrulama ve test kümelerine bölünmesi, modelin genelleme performansını değerlendirmek için görünmeyen veriler üzerinde değerlendirilebilmesini sağlamak için yapılır. Ortak 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 kullanabileceğiniz çeşitli araçlar ve kitaplıklar vardır. scikit-learn veya TensorFlow.

Veri kümenizi 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 Büyütme 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ş sürümlerini oluşturarak veri kümesinin boyutunu yapay olarak artırır. Verilerinizi artırarak, aşırı öğrenmeyi azaltabilir ve model genellemesini geliştirebilirsiniz.

Veri artırmanın diğer bazı faydaları şunlardır:

  • 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.
  • Cost-Effective: Data augmentation is a cost-effective way to increase the amount of training data without collecting and labeling new data.
  • 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ı bulunur. Albumentations, Imgaug ve TensorFlow'nin ImageDataGenerator'ı, bu büyütmeleri oluşturabilir.

Veri Artırımlarına Genel Bakış

With respect to YOLO11, you can augment your custom dataset by modifying the dataset configuration file, a .yaml file. In this file, you can add an augmentation section with parameters that specify how you want to augment your data.

The Ultralytics YOLO11 repository supports a wide range of data augmentations. You can apply various transformations such as:

  • 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.
  • Bozulma

Ayrıca, daha fazla veri çeşitliliği oluşturmak için bu büyütme tekniklerinin yoğunluğunu belirli parametreler aracılığıyla ayarlayabilirsiniz.

Ön İşleme Vaka Çalışması

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ülerini topladık ve bunlara sınırlayıcı kutular ve etiketler ekledik.

Bu proje için ön işlemenin her adımı şöyle görünü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: scikit-learn gibi araçları kullanarak veri kümesini eğitim (%70), doğrulama (%20) ve test (%10) kümelerine bölün.
  • Data Augmentation: Modify the dataset configuration file (.yaml) to include data augmentation techniques such as random crops, horizontal flips, and brightness adjustments.

Bu adımlar, veri kümesinin olası sorunlar olmadan hazırlandığından ve Keşifsel Veri Analizi (EDA) için hazır olduğundan emin olun.

Keşifsel Veri Analizi Teknikleri

Veri kümenizi ön işlemden geçirip artırdıktan sonraki adım, Keşifsel Veri Analizi aracılığıyla 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 ölçümler, görüntü veri kümenizin 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 anahtardır. Ö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, Çubuk grafikler kullanarak farklı görüntü sınıflarının veya kategorilerinin dağılımını 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 tanımlanabilir. Aykırı değer algılama, 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 Grafikleri: Piksel değerlerinin dağılımını anlamak ve aykırı değerleri belirlemek için kullanışlıdır.
  • Dağılım Grafikleri: Görüntü özellikleri veya ek açıklamalar arasındaki ilişkileri keşfetmek için yararlı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.

Kullan -arak Ultralytics EDA için Explorer

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!🚀

For a more advanced approach to EDA, you can use the Ultralytics Explorer tool. It offers robust capabilities for exploring computer vision datasets. By supporting semantic search, SQL queries, and vector similarity search, the tool makes it easy to analyze and understand your data. With Ultralytics Explorer, you can create embeddings for your dataset to find similar images, run SQL queries for detailed analysis, and perform semantic searches, all through a user-friendly graphical interface.

Ultralytics Explorer'a Genel Bakış

Ulaşın ve Bağlanın

Projeniz hakkında diğer bilgisayarla görme meraklılarıyla tartışmalar yapmak size farklı bakış açılarından yeni fikirler verebilir. Öğrenmenin, sorun gidermenin ve ağ kurmanın bazı harika yolları şunlardır:

Toplulukla Bağlantı Kurmak için Kanallar

  • GitHub Issues: Visit the YOLO11 GitHub repository and use the Issues tab to raise questions, report bugs, and suggest features. The community and maintainers are there to help with any issues you face.
  • 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 Documentation: Refer to the official YOLO11 documentation for thorough guides and valuable insights on numerous computer vision tasks and projects.

Veri Kümeniz Hazır!

Düzgün bir şekilde yeniden boyutlandırılmış, normalleştirilmiş ve artırılmış veriler, gürültüyü azaltarak ve genellemeyi geliş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 ilerleyebilirsiniz.

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 veri ön işleme, bilgisayarla görme projelerinde ç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?

For data augmentation with Ultralytics YOLO11, you need to modify the dataset configuration file (.yaml). In this file, you can specify various augmentation techniques such as random crops, horizontal flips, and brightness adjustments. This can be effectively done using the training configurations explained here. Data augmentation helps create a more robust dataset, reduce overfitting, and improve model generalization.

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.

For YOLO11, normalization is handled automatically, including conversion to RGB and pixel value scaling. Learn more about it in the model training section.

Eğitim için açıklamalı veri kümemi nasıl bölmeliyim?

To split your dataset, a common practice is to divide it into 70% for training, 20% for validation, and 10% for testing. It is important to maintain the data distribution of classes across these splits and avoid data leakage by performing augmentation only on the training set. Use tools like scikit-learn or TensorFlow for efficient dataset splitting. See the detailed guide on dataset preparation.

YOLO11'de farklı görüntü boyutlarını manuel olarak yeniden boyutlandırmadan işleyebilir miyim?

Yes, Ultralytics YOLO11 can handle varying image sizes through the 'imgsz' parameter during model training. This parameter ensures that images are resized so their largest dimension matches the specified size (e.g., 640 pixels), while maintaining the aspect ratio. For more flexible input handling and automatic adjustments, check the model training section.

📅 5 ay önce oluşturuldu ✏️ 1 ay önce güncellendi

Yorumlar