Skip to content

tutisnn/Smart-Waste-Detection-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

♻️ Derin Öğrenme Tabanlı Atık Sınıflandırma ve Nesne Tespiti

Project Banner Python Framework

Bu proje, atık yönetimini otomatize etmek ve geri dönüşüm verimliliğini artırmak amacıyla geliştirilmiş yapay zeka destekli bir sınıflandırma sistemidir. Üniversite kampüsünden toplanan özgün bir veri seti üzerinde 5 farklı son teknoloji (SOTA) mimari test edilmiş ve optimize edilmiştir.


📂 Proje İçeriği ve Hızlı Bağlantılar

Projenin teknik raporuna, veri setlerine ve kaynak kodlarına aşağıdaki tablodan doğrudan ulaşabilirsiniz:

Bölüm Açıklama Bağlantı
🗂️ Veri Seti (Kaggle) Sınıflandırma (Classification) için klasörlenmiş ham veri. Kaggle'da İncele
🏷️ Veri Seti (Roboflow) Nesne Tespiti (YOLO) için etiketlenmiş hazır veri. Roboflow'da İncele
📄 Proje Raporu Projenin tüm teknik detaylarını içeren PDF dosyası. Raporu Görüntüle
🧠 Eğitim Notebookları Modellerin (YOLOv8, VGG16, ViT vb.) eğitim kodları. Notebook Klasörüne Git
📱 Mobil Uygulama Geliştirilen modelin entegre edildiği Flutter uygulaması. Uygulama Dosyalarına Git

🎯 Proje Hakkında

Manuel atık ayrıştırma süreçleri maliyetli ve verimsizdir. Bu proje, görüntü işleme ve derin öğrenme tekniklerini kullanarak atıkları otonom olarak sınıflandırmayı hedefler. Çalışma kapsamında hem Görüntü Sınıflandırma hem de Nesne Tespiti (Object Detection) yaklaşımları karşılaştırılmıştır.

Nihai hedef olarak, en uygun model seçilerek bir mobil uygulama prototipine entegre edilmiştir.

📂 Veri Seti (Dataset)

Proje için literatürdeki hazır veri setleri yerine, kampüs ortamından toplanan atıklarla özgün bir veri seti oluşturulmuştur. Veri setine çalışacağınız probleme göre iki farklı formatta erişebilirsiniz:

📥 Veri Setine Erişim

  • Görüntü Sınıflandırma İçin: Klasör yapısında (train/test) düzenlenmiş veri seti için Kaggle Profilimizi ziyaret edebilirsiniz.
  • Nesne Tespiti (Object Detection) İçin: YOLO formatında etiketlenmiş (bounding box) veri seti için Roboflow Projemizi inceleyebilirsiniz.

📊 Veri İstatistikleri

  • Toplam Görüntü: 1.647 Adet
  • Görüntü Boyutları: Ort. $1276 \times 1720$ px (Eğitim için yeniden boyutlandırılmıştır)
  • Sınıflar (5 Sınıf):
    • metal (Metal) 🥫
    • plastic (Plastik) 🥤
    • paper (Kağıt) 📄
    • glass (Cam) 🍾
    • organic (Organik) 🍎

Not: Veri seti %80 Eğitim, %10 Doğrulama ve %10 Test olacak şekilde ayrılmıştır.

🧠 Kullanılan Modeller ve Yöntemler

Bu çalışmada 5 farklı mimari üzerinde deneyler yapılmıştır:

  1. VGG16: Transfer learning ve Fine-tuning uygulanmıştır. (Veri artırma teknikleri ile desteklendi).
  2. ResNet34: ImageNet ağırlıkları kullanılarak transfer learning yapılmıştır.
  3. Vision Transformer (ViT): google/vit-base-patch16-224 modeli kullanılarak Transformer mimarisi test edilmiştir.
  4. DINOv2 + SVM: Meta'nın DINOv2 modeli ile öznitelik çıkarımı (feature extraction) yapılmış ve SVM ile sınıflandırılmıştır.
  5. YOLOv8: Gerçek zamanlı nesne tespiti için kullanılmıştır.

📊 Deneysel Sonuçlar

Tüm modeller T4 ve P100 GPU'lar üzerinde eğitilmiştir. Karşılaştırmalı performans sonuçları aşağıdadır:

Model Görev Türü Doğruluk (Accuracy) Açıklama
DINOv2 + SVM Sınıflandırma %96 🏆 En yüksek sınıflandırma başarısı
ViT Sınıflandırma %93 Transformer tabanlı güçlü performans
ResNet34 Sınıflandırma %92 Dengeli sonuçlar
VGG16 Sınıflandırma %92 Başarılı ancak ağır mimari
YOLOv8 Nesne Tespiti %86* 🚀 Seçilen Model (Mobil için en uygun)

* YOLOv8, mAP50 skoru olarak eğitimde %98 başarı göstermiştir. Hız ve mobil uyumluluk nedeniyle final uygulamada tercih edilmiştir.

Sonuç Analizi

  • Modeller genel olarak Organik atıkları ayırt etmede en yüksek başarıyı göstermiştir.
  • En çok karıştırılan sınıflar Plastik ve Kağıt olmuştur.
  • DINOv2, karmaşık arka planlarda en iyi ayrıştırmayı yapmıştır.

👥 Takım Üyeleri

  • Tuhana Sinan
  • Sümeyye Berfin Korkmaz
  • Büşra Betül Poslu

About

♻️ Gerçek dünya verileriyle eğitilmiş Atık Tespiti ve Sınıflandırma Projesi. Modeller: YOLOv8, ViT, DINOv2, ResNet. 📱 Flutter Destekli.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors