Bu proje, uydu görüntülerinden su alanlarını tespit etmek için U-Net derin öğrenme modelini kullanır.
- Projeyi bilgisayarınıza indirin.
- Gerekli kütüphaneleri kurun:
Not: Eğer NVIDIA ekran kartınız varsa, PyTorch'un GPU versiyonunu kurmanız önerilir. (Bakınız: pytorch.org)
pip install -r requirements.txt
GitHub deposunda dosya boyutunu düşük tutmak için işlenmiş veri seti (dataset_processed) bulunmamaktadır. Aşağıdaki adımları takip ederek veriyi kendiniz hazırlamalısınız.
-
Ham Veriyi İndirin: GID (Gaofen Image Dataset) verilerini projenin ana dizinindeki
data/klasörüne koyun. (Eğerdataklasörü yoksa oluşturun).Klasör yapısı tam olarak şöyle görünmelidir:
data/ ├── GID-img-1/ (Orijinal görüntüler burada olmalı) ├── GID-img-2/ (Varsa diğer parça) ├── ... └── GID-label/ (Renkli etiket/maske dosyaları burada olmalı) -
Veriyi İşleyin: Aşağıdaki komutu çalıştırarak eğitim için gerekli olan siyah-beyaz maskeleri ve klasör düzenini otomatik oluşturun:
python prepare_dataset.py
⏳ Bu işlem bilgisayar hızınıza göre 5-15 dakika sürebilir.
İşlem bittiğinde
dataset_processed/adında yeni bir klasör oluşacak ve içindeimagesilemasksklasörleri yer alacaktır.
Modeli eğitmek için:
python train.py- Kod otomatik olarak veriyi %80 Eğitim, %20 Test olarak ayırır.
- Eğitim bittiğinde (veya her iyileşmede) en iyi model
best_model.ptholarak kaydedilecektir. - Eğer eğitim çok uzun sürerse
train.pyiçindekiEPOCHSsayısını düşürebilirsiniz.
Modeli test etmek ve yeni görüntülerde su tespiti yapmak için:
best_model.pthdosyasının olduğundan emin olun.predict.pydosyasını açıpTEST_IMG_DIRdeğişkenine test etmek istediğiniz resimlerin klasör yolunu yazın.- Kodu çalıştırın:
python predict.py
- Sonuçlar (siyah-beyaz maskeler)
predictions/klasörüne kaydedilir.