مشروع تصنيف الصور
بناء نموذج CNN أساسي
مشروع تصنيف الصور درس مجاني في Learn AI with Python على CoddyKit. هذا هو الدرس 4 من أصل 5. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn AI with Python، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn AI with Python 5 دروس في المجموع.
مشروع تصنيف الصور
مشروع تصنيف الصور
في هذا المشروع، سنبني شبكة CNN بسيطة لتصنيف الصور ضمن فئات. ويتضمن تصنيف الصور التنبؤ بفئة صورة الإدخال أو تسميتها.

مجموعة بيانات التصنيف
مجموعة بيانات التصنيف
سنستخدم مجموعة بيانات CIFAR-10، التي تتكون من 60,000 صورة ضمن 10 فئات، مثل الطائرات والسيارات والطيور والقطط. يبلغ حجم كل صورة 32×32 بكسل، وتحتوي على 3 قنوات لونية (RGB).
تحميل مجموعة البيانات
تحميل مجموعة البيانات
سنحمّل مجموعة بيانات CIFAR-10 باستخدام TensorFlow:
import tensorflow as tf
from tensorflow.keras.datasets import cifar10
# Load dataset
(x_train, y_train), (x_test, y_test) = cifar10.load_data()
# Normalize the pixel values to [0, 1]
x_train = x_train / 255.0
x_test = x_test / 255.0
print("Training data shape:", x_train.shape)بناء نموذج CNN
بناء نموذج CNN
سنعرّف بنية CNN التي تتضمن طبقات التفاف وتجميع وطبقات متصلة بالكامل:
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense
# Define the CNN model
model = Sequential([
Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),
MaxPooling2D((2, 2)),
Conv2D(64, (3, 3), activation='relu'),
MaxPooling2D((2, 2)),
Flatten(),
Dense(128, activation='relu'),
Dense(10, activation='softmax')
])تجميع النموذج
تجميع النموذج
نجمّع النموذج باستخدام:
- دالة الخسارة: الانتروبيا المتقاطعة الفئوية للتصنيف متعدد الفئات.
- المحسّن: محسّن Adam للتعلم الفعال.
- المقاييس: الدقة لتقييم الأداء.
# Compile the model
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])تدريب النموذج
تدريب النموذج
ندرّب النموذج باستخدام بيانات التدريب لمدة 10 دورات. ويتعلم النموذج أثناء التدريب تصنيف الصور ضمن فئات.
# Train the model
model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test))تقييم النموذج
تقييم النموذج
بعد التدريب، نقيّم النموذج باستخدام بيانات الاختبار للتحقق من دقته:
# Evaluate the model
loss, accuracy = model.evaluate(x_test, y_test)
print(f"Test Accuracy: {accuracy * 100:.2f}%")إجراء التنبؤات
إجراء التنبؤات
يمكننا استخدام النموذج المدرّب لإجراء تنبؤات على صور جديدة:
# Predict the category of a test image
import numpy as np
sample_image = x_test[0]
sample_label = y_test[0]
prediction = np.argmax(model.predict(sample_image[np.newaxis, ...]))
print(f"Predicted Label: {prediction}, Actual Label: {sample_label[0]}")تحديات تصنيف الصور
تحديات تصنيف الصور
تشمل التحديات الشائعة ما يلي:
- فرط التكيّف: يحقق النموذج أداءً جيدًا على بيانات التدريب، لكنه يحقق أداءً ضعيفًا على البيانات الجديدة.
- عدم توازن الفئات: تمثيل غير متساوٍ للفئات في مجموعة البيانات.
- التكلفة الحسابية: يتطلب تدريب الشبكات العميقة موارد كبيرة.
الملخص والخطوات التالية
الملخص والخطوات التالية
في هذا المشروع، قمنا بما يلي:
- أنشأنا ودرّبنا شبكة CNN لتصنيف الصور باستخدام مجموعة بيانات CIFAR-10.
- تعلّمنا تحميل مجموعة البيانات ومعالجتها مسبقًا وتقييمها.
- ناقشنا التحديات في مهام تصنيف الصور.
بعد ذلك، سنستكشف تقنيات زيادة البيانات لتحسين أداء النموذج من خلال إنشاء تنويعات من صور التدريب.

الأسئلة الشائعة
هل درس «مشروع تصنيف الصور» مجاني؟
نعم — نص درس «مشروع تصنيف الصور» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn AI with Python، انتقل إلى CoddyKit PRO. تتضمن دورة Learn AI with Python 5 دروس في المجموع.
ماذا ستتعلم في «مشروع تصنيف الصور»؟
بناء نموذج CNN أساسي تتمرن على Learn AI with Python مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Learn AI with Python؟
لا تُشترط خبرة سابقة. Learn AI with Python على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 5.
كم من الوقت يستغرق درس «مشروع تصنيف الصور»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Learn AI with Python هذا؟
نعم. كل درس في Learn AI with Python يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- ما بيانات الصور؟
- معالجة الصور باستخدام OpenCV
- الشبكات العصبية الالتفافية (CNN)
- مشروع تصنيف الصور
- تقنيات زيادة البيانات