EcoSort AI, görüntü işleme ve derin öğrenme teknikleri kullanılarak geliştirilmiş bir atık sınıflandırma prototipidir. Bu proje, Yapay Zeka (Transfer Learning), Backend Geliştirme ve DevOps (Docker & Cloud) süreçlerini uçtan uca deneyimlemek ve öğrenmek amacıyla geliştirilmiştir.
Sistem, yüklenen fotoğrafları analiz ederek atığın "Geri Dönüştürülebilir" mi yoksa "Organik" mi olduğunu tespit eder ve sonuçları veritabanına kaydeder.
🔗 Canlı Demo (Swagger UI): https://ecosort-ai-aar9.onrender.com (Not: Sunucu uyku modundaysa açılması 30-40 saniye sürebilir.)
Bu projede modern bir teknoloji yığını (Tech Stack) kullanılmıştır:
- Yapay Zeka: TensorFlow & Keras (MobileNetV2 kullanılarak Transfer Learning yapıldı).
- Backend: FastAPI (Yüksek performanslı Python web çatısı).
- Veritabanı: SQLite (Tahmin sonuçlarını ve güven oranlarını loglamak için).
- Deployment: Docker (Konteynerizasyon) & Render (Cloud Hosting).
- 📸 Görüntü Sınıflandırma:
.jpgveya.pngformatındaki atık görsellerini analiz eder. - 🧠 Yüksek Başarım: MobileNetV2 tabanlı model ile hızlı ve doğru tahminler.
- 💾 Veri Kaydı: Yapılan her tahmin, güven oranı ve tarih bilgisiyle birlikte SQLite veritabanına kaydedilir.
- 📊 İstatistik API:
/statsendpoint'i üzerinden toplam ayrıştırılan atık sayısı ve dağılımı görülebilir. - 🐳 Docker Desteği:
Dockerfileile her ortamda sorunsuz çalışacak şekilde paketlenmiştir.
Sistem çalışır durumdayken aşağıdaki endpoint'ler kullanılabilir:
| Metot | Endpoint | Açıklama |
|---|---|---|
POST |
/predict |
Resim yükleyerek tahmin sonucunu (JSON) al. |
GET |
/stats |
Veritabanındaki toplam atık istatistiklerini gör. |
GET |
/ |
API durum kontrolü (Health Check). |
Projeyi kendi bilgisayarınızda çalıştırmak isterseniz:
-
Repoyu klonlayın:
git clone [https://github.com/mehmetkosee/EcoSort_AI.git](https://github.com/mehmetkosee/EcoSort_AI.git) cd EcoSort_AI -
Sanal ortam oluşturun ve kütüphaneleri yükleyin:
python -m venv .venv .\.venv\Scripts\activate # Windows için pip install -r requirements.txt
-
Uygulamayı başlatın:
python main.py
Bu proje bir **öğrenme ve deneyimleme ** çalışmasıdır. Veri seti ve model, eğitim amaçlı optimize edilmiştir.