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.
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 |
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.
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:
- 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.
- 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.
Bu çalışmada 5 farklı mimari üzerinde deneyler yapılmıştır:
- VGG16: Transfer learning ve Fine-tuning uygulanmıştır. (Veri artırma teknikleri ile desteklendi).
- ResNet34: ImageNet ağırlıkları kullanılarak transfer learning yapılmıştır.
- Vision Transformer (ViT):
google/vit-base-patch16-224modeli kullanılarak Transformer mimarisi test edilmiştir. - 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.
- YOLOv8: Gerçek zamanlı nesne tespiti için kullanılmıştır.
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.
- 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.
- Tuhana Sinan
- Sümeyye Berfin Korkmaz
- Büşra Betül Poslu