Bu proje, SpaceNet veri setini kullanarak bina tespiti için YOLOv8 modelini eğitir ve ONNX formatına dönüştürür.
docutils>=0.20,<0.22
ultralytics
geopandas
shapely
onnxruntime
rasterio
scikit-learn
opencv-python
awscli
tqdm- Gerekli paketleri yükleyin:
pip install -r requirements.txt- AWS CLI kurulumunu kontrol edin:
aws --version- Python betiğini çalıştırın:
python spacenet_buildingdetection_yolov8_onnx.py-
Veri Seti İndirme
- SpaceNet veri seti AWS'den indirilir
- İndirilen arşiv otomatik olarak açılır
- Eğer veri seti zaten mevcutsa, bu adım atlanır
-
Görüntü İşleme
- TIFF görüntüler JPG formatına dönüştürülür
- Görüntüler normalize edilir ve iyileştirilir
- İşlem durumu progress bar ile gösterilir
-
Etiket Dönüştürme
- GeoJSON formatındaki etiketler YOLO formatına dönüştürülür
- Dönüştürme işlemi progress bar ile takip edilir
-
Veri Seti Hazırlama
- Görüntüler eğitim ve doğrulama setlerine ayrılır (%80 eğitim, %20 doğrulama)
- Dosyalar ilgili dizinlere kopyalanır
-
Model Eğitimi
- YOLOv8n modeli eğitilir
- Eğitim parametreleri:
- Epochs: 50
- Batch size: 16
- Görüntü boyutu: 640x640
- Optimizer: AdamW
- Learning rate: 0.001
-
ONNX Dönüşümü
- Eğitilen model ONNX formatına dönüştürülür
- ONNX model test edilir
spacenet.yaml: YOLOv8 yapılandırma dosyasıyolov8n.onnx: ONNX formatında modelruns/detect/spacenet_buildings/: Eğitim sonuçları ve grafikler
- Veri seti büyük olduğu için indirme işlemi uzun sürebilir
- GPU kullanımı önerilir
- İşlemler sırasında ilerleme durumu ve istatistikler gösterilir
- Hata durumunda detaylı bilgi verilir