Araba Gövde Tipi Sınıflandırma

Araba Gövde Tipi Sınıflandırma

Kullanılan Teknolojiler

Proje Kazanımları

Bu projede, Car Body Type Classification Dataset Kaggle veri seti kullanılarak eğitilen PyTorch tabanlı bir derin öğrenme modelinin Gradio arayüzü ile Hugging Face Spaces üzerinde Docker/Linux ortamında sıfır sunucu maliyetiyle canlıya alınması tecrübe edilmiştir.

  • Kaggle Veri Seti: Model eğitiminde 8 farklı araba gövde tipini içeren enesulku/car-body-type-classification-dataset veri seti kullanıldı.
  • Bulut Dağıtım: PyTorch modelinin CPU/Linux tabanlı sunuculara LFS entegrasyonuyla ücretsiz kurulması öğrenildi.
  • Sürüm Yönetimi: Python 3.13 sürüm çakışmaları analiz edilerek, Python 3.10 ile kararlı ve sorunsuz çalışma sağlandı.
  • DNS & IP Yapılandırması: Alan adı (domain) satın alımı sonrası Vercel IP yönlendirmesi ve DNS yönetimi yapıldı.
  • Grad-CAM Görselleştirme: Model kararlarının şeffaflığı için gradyan tabanlı ısı haritaları arayüze entegre edildi.
README.md Dosyasını Görüntüle

🚗 Car Body Type Classifier (Araba Gövde Tipi Sınıflandırma)

PyTorch & Gradio Tabanlı Derin Öğrenme ve Grad-CAM Görselleştirme Projesi

Bu proje; araçların dış görünüşlerine göre 8 farklı gövde tipini (Sedan, SUV, Hatchback, Coupe, Cabrio, Minivan, Pickup, Van) derin öğrenme modeliyle sınıflandıran ve modelin karar aşamasında görselin hangi bölgelerine odaklandığını Grad-CAM ile ısı haritası olarak gösteren web tabanlı bir yapay zeka uygulamasıdır.


🚀 Canlı Demo (Gradio & Hugging Face)

Uygulamayı tarayıcınız üzerinden canlı olarak test etmek için Hugging Face Space adresini ziyaret edebilirsiniz:
👉 ynsemreaykr-car-body-type-classifier.hf.space


📊 Kullanılan Veri Seti

Model eğitimi, enesulku tarafından paylaşılan aşağıdaki Kaggle veri seti kullanılarak gerçekleştirilmiştir:
👉 Kaggle - Car Body Type Classification Dataset


📸 Ekran Görüntüleri & Özellikler

1. Gradio Web Arayüzü & Grad-CAM Görselleştirme

Kullanıcılar kendi yükledikleri araç resimlerini analiz edebilir. Sistem, en yüksek olasılıklı 3 sınıf tahminini barındıran bir bar grafik sunmanın yanında, model kararlarının şeffaflığı ve açıklanabilir yapay zeka (XAI) standartları için modelin odaklandığı pikselleri Grad-CAM ısı haritası halinde görselleştirir.


🛠️ Teknoloji Yığıtı & Kütüphaneler

  • Derin Öğrenme Çerçevesi: PyTorch, Torchvision
  • Web Arayüzü: Gradio
  • Açıklanabilir Yapay Zeka (XAI): Grad-CAM (Gradient-weighted Class Activation Mapping)
  • Görüntü İşleme & Yardımcılar: OpenCV, Pillow, NumPy, Matplotlib
  • Sürüm Yönetimi & Dağıtım: Git (LFS entegrasyonu ile model ağırlıkları yönetimi), Docker, Hugging Face Spaces (CPU/Linux)

📦 Yerel Kurulum ve Çalıştırma

1. Gereksinimler

  • Python 3.10

2. Kurulum Adımları

  1. Bu depoyu klonlayın:
    git clone https://github.com/Ynsemreaykr/Car_Detection.git
    cd Car_Detection
    
  2. Gerekli kütüphaneleri yükleyin:
    pip install -r requirements.txt
    
  3. Arayüzü başlatın:
    python train.py # Modeli eğitmek için
    python inference.py # Eğitilmiş model ile test etmek veya Gradio arayüzünü açmak için
    

Görseller & Detaylar

Gradio Web Arayüzü

Kullanıcıların kendi yükledikleri araç resimlerini analiz edebileceği, tahmin sonuçlarını ve Grad-CAM ısı haritalarını canlı olarak sunan web demo ekranı.

/projects/car_detection/interface.png