CNN Görüntü Sınıflandırma

Convolutional Neural Network (CNN) mimarisi kullanarak farklı hayvan türlerini yüksek doğrulukla sınıflandırabilen derin öğrenme modeli

Yapay Zeka & Derin Öğrenme

Proje Detayları

📌 Proje Açıklaması

Bu proje, Convolutional Neural Network (CNN) mimarisi kullanarak farklı hayvan türlerini yüksek doğrulukla sınıflandırabilen bir model içerir. Görüntüler üzerinde derin öğrenme teknikleri kullanılarak hayvanların türlerine göre etiketlenmesi sağlanır ve model, canlı ya da önceden toplanmış görüntüler üzerinden çalışabilir.

CNN mimarisi sayesinde görüntülerden otomatik olarak özellik çıkarımı yapılır ve bu özellikler kullanılarak sınıflandırma işlemi gerçekleştirilir. Model, eğitim sırasında overfitting önleyici teknikler kullanılarak optimize edilmiştir.

🎯 Temel Amaçlar

  • ✅ Bilgisayarla görme alanında hayvan türlerini doğru sınıflandırmak
  • ✅ CNN temel mimarisiyle model geliştirme ve doğruluk/başarı oranlarını optimize etmek
  • ✅ Görüntü sınıflandırma konusundaki deneyimi artırmak ve sertifikalandırılabilir bir demonstrasyon sunmak

⚙️ Temel Özellikler

  • ✅ Yüksek sınıflandırma doğruluğu: Eğitim ve test setlerinde başarılı sonuçlar
  • ✅ Çeşitli sınıflar: Birden fazla hayvan türünü ayırt edebilecek şekilde eğitilmiş model
  • ✅ Modüler yapı: Model kolayca farklı veri setleriyle eğitilebilir ve genişletilebilir
  • ✅ Overfitting önleme: Dropout ve data augmentation teknikleri kullanılarak model genelleştirilmiştir

🤖 Yapay Zeka Kullanımı

Projede, temel bir CNN mimarisi kullanılmıştır. Görüntülerden öğrenilen özellikler; convolution ve pooling katmanları aracılığıyla çıkarılır. Bu özellikler daha sonra fully connected katmanlara iletilerek sınıflandırma işlemi gerçekleştirilir.

Ayrıca eğitim sırasında overfitting önleyici teknikler (örneğin dropout, augmentation) kullanılabilir. CNN çözümleri hakkında genel olarak da özellik çıkarımı, boyutsal indirgeme ve sınıflandırmanın nasıl işlediğini anlatan literatüre dayanmaktadır.

🛠️ Kullanılan Teknolojiler

Python Python
TensorFlow TensorFlow
Keras Keras

Python: Ana kodlama dili olarak kullanıldı.

Keras / TensorFlow: CNN modeli oluşturma, eğitim ve değerlendirme süreci için kullanıldı.

NumPy: Veri manipülasyonu ve sayısal işlemler için kullanıldı.

Jupyter Notebook: Model geliştirme, eğitim ve analiz süreçlerinin interaktif çalıştırılması için kullanıldı.

🔄 Geliştirme Süreci

Veri Ön İşleme

Hayvan görüntülerinden oluşan bir veri seti hazırlanmış; boyutlandırma, etiketleme ve eğitim/test ayrımı yapılmıştır.

Model Tasarımı

CNN mimarisi katman katman oluşturulmuş (convolution + pooling + fully connected).

Model Eğitimi

Eğitim seti ile model eğitilmiş ve doğruluk oranı gözlemlenmiştir. Gerekirse veri artırma (augmentation) ya da dropout gibi tekniklerle overfitting azaltılmıştır.

Değerlendirme & Analiz

Test verisiyle doğruluk ölçülmüş ve sonuçlar raporlanmıştır. Eğitim sürecinde loss ve accuracy grafiklerle görselleştirilebilir.

Dokümantasyon

README dosyası aracılığıyla proje yapısı, veri açıklamaları ve kullanım talimatları belgelenmiştir.

🔬 Teknik Detaylar

  • Model Mimarisi: Convolutional Neural Network (CNN)
  • Katmanlar: Convolution, Pooling, Fully Connected
  • Optimizasyon: Adam optimizer kullanıldı
  • Loss Function: Categorical Crossentropy
  • Overfitting Önleme: Dropout ve Data Augmentation
  • Veri Seti: Çeşitli hayvan türlerinden oluşan görüntü koleksiyonu

📊 Model Performansı

  • Eğitim Doğruluğu: %95+ başarı oranı
  • Test Doğruluğu: %90+ genelleştirme performansı
  • Eğitim Süresi: Optimize edilmiş GPU kullanımı
  • Model Boyutu: Hafif ve taşınabilir yapı
  • Çalışma Hızı: Gerçek zamanlı sınıflandırma kapasitesi