كشف الشذوذ بين الطالب والمعلم
هذا هو تطبيق للورقة "الطلاب غير المطلعين: الكشف عن الشذوذ بين الطالب والمعلم باستخدام التضمينات الكامنة التمييزية".
كيفية الاستخدام
- قم بتشغيل البرنامج النصي mvtec_dataset.sh لتنزيل مجموعة بيانات MVTec وإعدادها بالتنسيق الصحيح. وهذا يتطلب حوالي 5 جيجابايت من مساحة القرص.
يجب أن يكون مجلد البيانات متاحًا الآن. يحتوي كل مجلد فرعي في البيانات على اسم فئة. دعونا نبني نموذجا لفئة السجاد كمثال.
(اختياري) قم بتشغيل البرنامج النصي resnet18_training.py لتدريب resnet18 بشكل أكبر على مجموعة البيانات الخاصة بك
cd src
python3 resnet18_training.py --dataset carpet
- قم بتشغيل teacher_training.py لاستخلاص المعرفة حول resnet18 على شبكة عصبية أصغر. سيؤدي هذا إلى تسريع معالجة الصور. تقوم هذه الشبكة العصبية، التي تسمى المعلم، بإخراج متجه وصف ذي 512 بُعدًا لكل رقعة بحجم <patch_size> من الصورة. قيم patch_size المدعومة هي:
- الحجم = 17، فعال إذا كنا نبحث عن حالات شاذة صغيرة الحجم
- الحجم = 33، فعال إذا كنا نبحث عن حالات شاذة متوسطة الحجم
- الحجم = 65، فعال إذا كنا نبحث عن حالات شاذة كبيرة الحجم
cd src
python3 teacher_training.py --dataset carpet --patch_size 33
- قم بتشغيل Student_training.py لتدريب مجموعة من الطلاب M=3 على شبكة المعلمين. ويتم تدريب الطلاب على مجموعة بيانات خالية من الشذوذ. ونتوقع منهم أن يتم تعميمهم بشكل سيئ في الصور التي تحتوي على حالات شاذة
cd src
python students_training.py --dataset carpet --patch_size 33 --n_students 3
- قم بتشغيل anomaly_detection.py للحصول على خريطة الشذوذ لكل صورة من مجموعة الاختبار. يتم حساب خريطة الشذوذ باستخدام تباين تنبؤات الطلاب والخطأ بين تنبؤات الطلاب والمعلم.
cd src
python anomaly_detection.py --dataset carpet --patch_size 33 --n_students 3
نتائج
وتتوفر المزيد من النتائج ضمن مجلد /result
أداء
مراجع
الورق الأصلي
- https://arxiv.org/pdf/1911.02357v2.pdf
ورقة مجموعة بيانات MVTec
- https://openaccess.thecvf.com/content_CVPR_2019/papers/Bergmann_MVTec_AD_--_A_Comprehensive_Real-World_Dataset_for_Unsupervised_Anomaly_CVPR_2019_paper.pdf
استخراج ميزة كثيفة سريعة
- https://www.dfki.de/fileadmin/user_upload/import/9245_FastCNNFeature_BMVC.pdf
- https://github.com/erezposner/Fast_Dense_Feature_Extraction