الرؤية الحاسوبية مبتدئ · Beginner 15 دقيقة

تصنيف الصور

Image Classification

من البكسلات إلى الفئة: خط معالجة كامل لتدريب مصنف صور وتقييمه.

تقدّمك في المسار0%

خط العمل

  1. جمع الصور وتسميتها والتحقق من جودة التسميات.
  2. التقسيم إلى تدريب وتحقق واختبار (على مستوى المصدر عند الحاجة).
  3. المعالجة المسبقة وزيادة البيانات.
  4. اختيار نموذج وتدريبه (نقل التعلم غالباً).
  5. التقييم والتحليل وفحص الأخطاء.

تنظيم البيانات

data/
  train/  cat/  dog/
  val/    cat/  dog/
  test/   cat/  dog/

المعالجة وزيادة البيانات

from torchvision import datasets, transforms
from torch.utils.data import DataLoader

mean, std = [0.485, 0.456, 0.406], [0.229, 0.224, 0.225]   # إحصاءات ImageNet
train_tf = transforms.Compose([
    transforms.RandomResizedCrop(224),
    transforms.RandomHorizontalFlip(),
    transforms.ColorJitter(0.2, 0.2, 0.2),
    transforms.ToTensor(),
    transforms.Normalize(mean, std),
])
eval_tf = transforms.Compose([
    transforms.Resize(256), transforms.CenterCrop(224),
    transforms.ToTensor(), transforms.Normalize(mean, std),
])
train_ds = datasets.ImageFolder("data/train", transform=train_tf)
val_ds   = datasets.ImageFolder("data/val", transform=eval_tf)
train_dl = DataLoader(train_ds, batch_size=32, shuffle=True, num_workers=2)

بعدها يُستخدم نموذج مدرب مسبقاً مع رأس جديد كما في درس نقل التعلم.

التقييم

  • Top-1 / Top-5: شائعتان في ImageNet.
  • مصفوفة الالتباس: تكشف الفئات التي يخلط بينها النموذج.
  • الدقة المتوازنة وF1: مع الفئات غير المتوازنة.
  • افحص عينة من الأخطاء بعينك؛ كثيراً ما تكشف مشكلات في التسميات.

تعلم الاختصارات

النموذج يتعلم أي إشارة تفصل الفئات في بيانات التدريب، حتى لو كانت زائفة: الخلفية، أو علامة مائية، أو ملصق جهاز التصوير. علاجه: بيانات متنوعة، واختبار على مصادر خارجية، وأدوات تفسير مثل Grad-CAM.

مصطلحات الدرس

تصنيف الصور Image Classification
مهمة إسناد فئة أو أكثر لصورة كاملة.
تعلم الاختصارات Shortcut Learning
اعتماد النموذج على إشارات زائفة مرتبطة بالفئة في بيانات التدريب بدلاً من السمات الحقيقية للمفهوم.
زيادة البيانات Data Augmentation
توليد نسخ معدلة من صور التدريب (قلب، قص، تدوير، تغيير ألوان) لتحسين التعميم.

الملخص

تصنيف الصور يسند فئة (أو عدة فئات) لصورة كاملة. يتضمن خط العمل تجهيز البيانات وتقسيمها، والمعالجة المسبقة وزيادة البيانات، واختيار نموذج (غالباً CNN أو ViT مدرب مسبقاً)، والتدريب، والتقييم بمقاييس مناسبة كدقة Top-1 وTop-5 ومصفوفة الالتباس. يجب الحذر من التسرب بين التدريب والاختبار ومن تعلم النموذج اختصارات زائفة من الخلفية أو العلامات.

أسئلة مراجعة

  1. ما الفرق بين دقة Top-1 وTop-5؟

    Top-1 تعد التنبؤ صحيحاً إذا كانت الفئة الأعلى احتمالاً هي الصحيحة، وTop-5 إذا كانت الصحيحة ضمن أعلى خمس فئات.

  2. لماذا لا نطبق زيادة البيانات العشوائية على بيانات الاختبار؟

    لأننا نريد تقييماً ثابتاً وقابلاً للتكرار على صور تمثل الاستخدام الحقيقي.

المصادر والمراجع

  1. PyTorch — Training a Classifier (CIFAR-10)
  2. torchvision — Models and pre-trained weights
  3. Geirhos et al. (2020) Shortcut learning in deep neural networks — Nature Machine Intelligence

إكمال الدرس