Skip to content

wesambadr72/BunkerModel

Repository files navigation

🗑️ مشروع تصنيف النفايات باستخدام الذكاء الاصطناعي (Waste Classification)

مشروع متكامل لتصنيف النفايات إلى 8 فئات مختلفة باستخدام نموذج YOLOv8-CLS، مصمم للعمل بكفاءة عالية على أجهزة NVIDIA Jetson Nano.

🚀 الخطوات السريعة للتشغيل على Jetson Nano

1. تحضير البيئة

تأكد من أن جهازك يعمل بنظام JetPack 4.6 أو أحدث.

# تثبيت المكتبات المطلوبة
pip3 install -r requirements_jetson.txt

2. تحويل النموذج

يجب تحويل النموذج إلى صيغة TensorRT على الجهاز نفسه لضمان أقصى سرعة:

python3 scripts/export_tensorrt.py

3. التشغيل المباشر

فتح الكاميرا والبدء في التصنيف:

python3 scripts/inference_jetson.py

📊 مواصفات النموذج (Model Details)

  • المعمارية: YOLOv8n-CLS (Nano Classification Model).
  • عدد المعاملات (Parameters): ~1.4 مليون معامل (خفيف جداً).
  • حجم الدخل: 224x224 RGB.
  • التنسيقات المدعومة: PyTorch (.pt), ONNX (.onnx), TensorRT (.engine).
  • المنصات المستهدفة: NVIDIA Jetson Nano, Edge Devices.

⚡ الأداء (Performance)

تم اختبار النموذج على وحدة معالجة رسوميات RTX 3050 ومقارنتها بالنتائج المتوقعة على Jetson Nano:

المقياس (Metric) PyTorch (RTX 3050) ONNX (RTX 3050) TensorRT (Jetson Nano - Est.)
الدقة (Accuracy) 92.34% 92.34% 92.1% - 92.3%
زمن الاستجابة (Latency) 7.81 ms 2.66 ms 15.0 - 25.0 ms
الإطارات (FPS) 128 FPS 376 FPS 40 - 60 FPS

🧠 منهجية التدريب (Training Methodology)

  1. تحضير البيانات:

    • استخدام مجموعة بيانات TrashNet مع إضافة فئات مخصصة (Organic, Aluminum) من Kaggel.
    • موازنة البيانات (Data Balancing) لضمان 550 صورة لكل فئة لتجنب الانحياز.
    • تقسيم البيانات بنسبة 70% للتدريب، 15% للتحقق، و15% للاختبار النهائي.
  2. التحسينات (Augmentation):

    • استخدام تقنيات (HSV augmentation, Degrees, Translate, Scale, Flip).
    • إضافة تقنيات متقدمة مثل (Mixup, Mosaic, Copy-paste) لزيادة صلابة النموذج.
  3. عملية التدريب:

    • المحسن (Optimizer): AdamW مع معدل تعلم 0.001.
    • عدد الدورات (Epochs): 100 دورة مع خاصية التوقف المبكر (Early Stopping) بعد 15 دورة بدون تحسن.
    • حجم الدفعة (Batch Size): 32.

📁 هيكلية المشروع

  • scripts/: تحتوي على ملفات التدريب، الاختبار، والتحويل.
  • models/: مكان حفظ ملفات الـ Engine الخاصة بـ Jetson.
  • data/processed/: البيانات المنظمة والمقسمة.
  • results/: تقارير الأداء ومصفوفة الارتباك.

🛠️ الفئات المدعومة (8 Classes)

PET, Aluminum, Cardboard, Paper, Glass, Metal, Organic, Non-Recyclable

فريق العمل 🫡

  • wesam Badr Alluhaybi
  • Ayman Mohamed Alshamrani
  • Faisal Ali Ageeli

تم تطوير المشروع وتدريبه باستخدام وحدة معالجة الرسوميات RTX 3050.

About

AI-powered waste classification system using YOLOv8 — detects 8 waste types (PET, Glass, Metal, Organic, Cardboard...) with 92.3% accuracy. Optimized for edge deployment on NVIDIA Jetson Nano via TensorRT at 40-60 FPS.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages