← Projeler

Uydu görüntülerinde arazi sınıflandırma ve Grad-CAM

EuroSAT üzerinde CNN modellerini karşılaştıran, Grad-CAM açıklamalarını etkileşimli haritada sunan FastAPI ve React uygulaması.

Rol
Makine öğrenmesi ve full-stack geliştirici
Kurum
Kocaeli Üniversitesi
Dönem
2025
Teknolojiler
Python · PyTorch · FastAPI · React · Grad-CAM · Leaflet
Uydu haritası, AnnualCrop tahmini ve Grad-CAM ısı haritasını gösteren EuroSAT.AI arayüzü.

Problem

Uydu görüntüsüne bir sınıf etiketi atamak, modelin hangi görüntü bölgelerine dayanarak karar verdiğini göstermiyor. Bu projede üç CNN modelini aynı veri kümesinde karşılaştırdık. Eğitilen modelleri FastAPI üzerinden sunup React arayüzünde harita, tahmin ve Grad-CAM görselleştirmesini bir araya getirdim.

Model karşılaştırması

EuroSAT’ın RGB veri kümesinde 10 arazi sınıfına ait 27.000 etiketli Sentinel-2 görüntüsüyle üç PyTorch modeli eğittik. ResNet-50 ve GoogLeNet için ImageNet ağırlıklarıyla transfer learning uygulandı. Karşılaştırma için küçük bir CNN modeli sıfırdan eğitildi. Tüm deneylerde aynı train/test ayrımı ve sabit random seed kullanıldı.

Özel CNN, ResNet-50 ve GoogLeNet modellerinin doğruluk, kesinlik, duyarlılık ve F1 karşılaştırması

ResNet-50 ve GoogLeNet test doğruluğunda %98’i geçti. GoogLeNet, 6–7 milyon parametreyle yaklaşık 25 milyon parametreli ResNet-50’ye yakın sonuç verdi.

Modelden uygulamaya

Model inference işlemlerini FastAPI servisine bağladım; EuroSAT.AI arayüzünü React ve Leaflet ile geliştirdim. Kullanıcı model seçip görüntü veya koordinat girerek sınıf tahminini ve confidence skorunu görebiliyor. Grad-CAM görünümü, modelin tahmin sırasında ağırlık verdiği bölgeleri ısı haritasıyla gösteriyor.

AnnualCrop tahmini için Grad-CAM açıklaması etkinleştirilmiş EuroSAT.AI harita arayüzü

X-ray görünümü, modelin aktivasyon haritasını sınıf ve güven skoruyla birlikte sunuyor.

Model sınırlamaları

Sıfırdan eğitilen CNN yaklaşık %85–88 doğrulukta kaldı. Özellikle Highway ve River sınıflarında PermanentCrop ile karışmalar görüldü. Bu model, önceden eğitilmiş ağların yakaladığı mekânsal ve dokusal özellikleri aynı başarıyla öğrenemedi. Test sonuçlarında GoogLeNet, ResNet-50’ye yakın doğruluğu daha az parametreyle sağladı.

Sonuç

ResNet-50 ve GoogLeNet %98’in üzerinde test doğruluğuna ulaştı. Full-stack uygulamada model seçimi, haritadan girdi, inference API’si ve Grad-CAM çıktıları birlikte çalışıyor.

Sistem 64×64 RGB görüntüler üzerinde çalışıyor; Sentinel-2’nin NIR ve SWIR bantları kullanılmıyor. Model görüntünün tamamını sınıflandırdığı için küçük nesnelerin konumunu belirlemiyor. Sonraki adımlar multispektral veriyle eğitim ve semantic segmentation.