تصنيف الصور
Image Classification
من البكسلات إلى الفئة: خط معالجة كامل لتدريب مصنف صور وتقييمه.
خط العمل
- جمع الصور وتسميتها والتحقق من جودة التسميات.
- التقسيم إلى تدريب وتحقق واختبار (على مستوى المصدر عند الحاجة).
- المعالجة المسبقة وزيادة البيانات.
- اختيار نموذج وتدريبه (نقل التعلم غالباً).
- التقييم والتحليل وفحص الأخطاء.
تنظيم البيانات
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 ومصفوفة الالتباس. يجب الحذر من التسرب بين التدريب والاختبار ومن تعلم النموذج اختصارات زائفة من الخلفية أو العلامات.
أسئلة مراجعة
-
ما الفرق بين دقة Top-1 وTop-5؟
Top-1 تعد التنبؤ صحيحاً إذا كانت الفئة الأعلى احتمالاً هي الصحيحة، وTop-5 إذا كانت الصحيحة ضمن أعلى خمس فئات.
-
لماذا لا نطبق زيادة البيانات العشوائية على بيانات الاختبار؟
لأننا نريد تقييماً ثابتاً وقابلاً للتكرار على صور تمثل الاستخدام الحقيقي.
المصادر والمراجع
إكمال الدرس
أكملت كل دروس المسار! يمكنك الآن طلب شهادة إكمال المسار.
اطلب الشهادة