İçindekiler[Saklamak][Göstermek]
- Görüntü sınıflandırması nedir?
- Görüntü sınıflandırması nasıl çalışır?
Python'da Tensorflow ve Keras kullanılarak görüntü sınıflandırması+-
- 1. Kurulum Gereksinimleri
- 2. Bağımlılıkları içe aktarma
- 3. Başlatma parametreleri
- 4. Veri kümesinin yüklenmesi
- 5. Modeli oluşturma
- 6. Modeli eğitmek
- Modelin test edilmesi
- 7. Test için yardımcı programları içe aktarma
- 8. Bir python dizini yapmak
- 9. Test verileri ve modeli yükleniyor
- 10. Değerlendirme ve Tahmin
- 11. Sonuçlar
- Sonuç
Örneklerle öğrenme ve çevrelerini algılama konusunda doğuştan gelen yeteneklerimizi robotlara aşılamayı başardığımızı bilmek güven verici. Temel zorluk, bilgisayarlara insanlar gibi “görmeyi” öğretenlerin çok daha fazla zamana ve çabaya ihtiyaç duymasıdır.
Ancak, bu becerinin şu anda kurum ve kuruluşlara sağladığı pratik değeri düşündüğümüzde, çabaya değer. Bu makalede, görüntü sınıflandırması, nasıl çalıştığı ve pratik uygulaması hakkında bilgi edineceksiniz. Hadi başlayalım.
Görüntü sınıflandırması nedir?
Bir görüntüyü bir resme besleme işi sinir ağı ve o resim için bir tür etiket çıktısı almak, görüntü tanıma olarak bilinir. Ağın çıkış etiketi, önceden tanımlanmış bir sınıfa karşılık gelir.
Resme atanan çok sayıda sınıf olabilir veya sadece bir tane olabilir. Tek bir sınıf olduğunda sıklıkla “tanıma” terimi, birden fazla sınıf olduğunda ise sıklıkla “sınıflandırma” terimi kullanılır.
Nesne algılama hayvanlar, araçlar veya insanlar gibi belirli bir sınıfa ait nesnelerin belirli örneklerinin tespit edildiği resim sınıflandırmasının bir alt kümesidir.
Görüntü sınıflandırması nasıl çalışır?
Piksel biçimindeki bir görüntü bir bilgisayar tarafından analiz edilir. Bunu, resmi, boyutu görüntü çözünürlüğü tarafından belirlenen bir matrisler topluluğu olarak ele alarak gerçekleştirir. Basitçe söylemek gerekirse, resim sınıflandırması, bir bilgisayar perspektifinden algoritmalar kullanan istatistiksel verilerin incelenmesidir.
Görüntü sınıflandırma, pikselleri önceden belirlenmiş gruplara veya "sınıflara" gruplayarak dijital görüntü işlemede gerçekleştirilir. Algoritmalar, görüntüyü, son sınıflandırıcının yükünü azaltan, dikkate değer özellikler dizisine böler.
Bu nitelikler, sınıflandırıcıya görüntünün anlamı ve potansiyel sınıflandırma hakkında bilgi verir. Bir resmi sınıflandırmanın geri kalanı ona bağlı olduğundan, karakteristik çıkarma yöntemi en kritik aşamadır.
The sağlanan veriler Algoritma, görüntü sınıflandırmada, özellikle denetimli sınıflandırmada da çok önemlidir. Sınıf ve düşük resim ve açıklama kalitesine dayalı veri dengesizliği olan korkunç bir veri kümesiyle karşılaştırıldığında, iyi optimize edilmiş bir sınıflandırma veri kümesi takdire şayan bir performans sergiliyor.
Python'da Tensorflow ve Keras kullanılarak görüntü sınıflandırması
kullanacağız Cifar-10 veri seti (uçakları, uçakları, kuşları ve diğer 7 şeyi içerir).
1. Kurulum Gereksinimleri
Aşağıdaki kod tüm önkoşulları yükleyecektir.
2. Bağımlılıkları içe aktarma
Python'da bir train.py dosyası oluşturun. Aşağıdaki kod, Tensorflow ve Keras bağımlılıklarını içe aktaracaktır.
3. Başlatma parametreleri
CIFAR-10 sadece 10 resim kategorisi içerir, bu nedenle num sınıfları basitçe sınıflandırılacak kategori sayısını ifade eder.
4. Veri kümesinin yüklenmesi
İşlev, veri kümesini yüklemek için Tensorflow Veri Kümeleri modülünü kullanır ve onun hakkında bazı bilgiler elde etmek için bilgi ile True olarak ayarlanır. Hangi alanların ve değerlerinin olduğunu görmek için çıktısını alabilirsiniz ve biz de bu bilgileri eğitim ve test setlerindeki örnek sayısını almak için kullanacağız.
5. Modeli oluşturma
Şimdi, her biri maksimum havuzlama ve ReLU etkinleştirme işlevine sahip iki ConvNet'ten ve ardından tamamen bağlı 1024 birimlik bir sistemden oluşan üç katman oluşturacağız. Son teknoloji modeller olan ResNet50 veya Xception ile karşılaştırıldığında, bu nispeten küçük bir model olabilir.
6. Modeli eğitmek
Her çağdaki doğruluğu ve kaybı ölçmek için Tensorboard'u kullandım ve verileri içe aktardıktan ve modeli oluşturduktan sonra bize güzel bir görüntü sağladım. Aşağıdaki kodu çalıştırın; CPU/GPU'nuza bağlı olarak eğitim birkaç dakika sürecektir.
Tensorboard'u kullanmak için, terminalde aşağıdaki komutu veya geçerli dizinde komut istemini yazmanız yeterlidir:
Doğrulama kaybının azaldığını ve doğruluğun yaklaşık %81'e yükseldiğini göreceksiniz. Bu harika!
Modelin test edilmesi
Eğitim bittiğinde, nihai model ve ağırlıklar sonuçlar klasörüne kaydedilerek bir kez antrenman yapmamıza ve istediğimiz zaman tahminler yapmamıza olanak tanır. Test.py adlı yeni bir python dosyasındaki kodu izleyin.
7. Test için yardımcı programları içe aktarma
8. Bir python dizini yapmak
Her tamsayı değerini veri kümesinin uygun etiketine çeviren bir Python sözlüğü yapın:
9. Test verileri ve modeli yükleniyor
Aşağıdaki kod, test verilerini ve modeli yükleyecektir.
10. Değerlendirme ve Tahmin
Aşağıdaki kod, kurbağa görüntülerini değerlendirecek ve tahminlerde bulunacaktır.
11. Sonuçlar
Model, kurbağayı %80.62 doğrulukla tahmin etti.
Sonuç
Tamam, bu dersle işimiz bitti. %80.62 küçük bir CNN için iyi olmasa da, daha iyi sonuçlar için modeli değiştirmenizi veya ResNet50, Xception veya diğer son model modellere bakmanızı şiddetle tavsiye ederim.
Artık Keras'ta ilk görüntü tanıma ağınızı oluşturduğunuza göre, farklı parametrelerin performansını nasıl etkilediğini keşfetmek için modelle denemeler yapmalısınız.
Yorum bırak