استخراج خصائص HOG وتدريب المصنف - كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: تطبيق المخطط التكراري للتدرجات الموجهة في رؤية الكمبيوتر

📚 معلومات الصفحة

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: example

الفصل: 4

مستوى الصعوبة: متوسط

📝 ملخص الصفحة

تشرح هذه الصفحة عملية استخراج خصائص المخطط التكراري للتدرجات الموجهة (HOG) من الصور باستخدام مكتبة scikit-image في Python. تبدأ بشرح كيفية استخدام دالة `hog()` لاستخراج متجه HOG من الصورة الأولى في مجموعة بيانات التدريب، حيث ينتج متجهًا أحادي البعد يحتوي على 8100 قيمة عددية تمثل خصائص الصورة.

يتم عرض التمثيل البصري لخصائص HOG باستخدام `plt.imshow()`، حيث يصور هذا التمثيل حدود الأشكال الأساسية في الصورة مع التركيز على الأجزاء المفيدة للتنبؤ وإزالة التفاصيل غير الضرورية. يوضح الشكل 4.10 النمط البصري لـ HOG مع خطوط متجهة تشير إلى اتجاهات وقوة التدرجات اللونية.

يتم تطبيق استخراج خصائص HOG على جميع الصور في مجموعتي التدريب والاختبار باستخدام قائمة الاستيعاب في Python، مما ينتج مصفوفات `X_train_hog` و `X_test_hog`. بعد ذلك، يتم تحجيم البيانات باستخدام `StandardScaler()` لتحسين أداء النموذج.

يتم تدريب مصنف SGD (Stochastic Gradient Descent) على البيانات المحجمة باستخدام `SGDClassifier()`، ويتم اختبار النموذج على مجموعة الاختبار. تصل دقة النموذج إلى حوالي 74.19%، مما يوضح فعالية استخدام خصائص HOG في تحسين أداء نماذج تعلم الآلة لاكتشاف الكائنات في رؤية الكمبيوتر.

📋 المحتوى المنظم

📖 محتوى تعليمي مفصّل

نوع: محتوى تعليمي

تتمثل الخطوة التالية في إنشاء خصائص المخطط التكراري للتدرجات الموجهة لكل صورة في البيانات، ويمكن تحقيق ذلك من خلال دالة ()hog من مكتبة scikit-image. ويوضح المقطع البرمجي التالي مثالاً على الصورة الأولى في مجموعة بيانات التدريب:

استخراج خصائص HOG

نوع: محتوى تعليمي

from skimage.feature import hog hog_vector, hog_img = hog( X_train_gray[0], visualize = True ) hog_vector.shape (8100,)

شكل 4.10

نوع: FIGURE_REFERENCE

شكل 4.10: مخطط تكراري للتدرجات الموجهة لصورة

نوع: محتوى تعليمي

hog_vector هو متجه أحادي البعد ذو ثمانية آلاف ومئة قيمة عددية، ويمكن استخدامها لتمثيل الصورة، ويظهر التمثيل البصري لهذا المتجه باستخدام:

عرض التمثيل البصري لـ HOG

نوع: محتوى تعليمي

plt.imshow(hog_img);

نوع: محتوى تعليمي

يصور هذا التمثيل الجديد حدود الأشكال الأساسية في الصورة، ويحذف التفاصيل الأخرى ويركز على الأجزاء المفيدة التي يمكنها أن تساعد المصنف على أن يقوم بالتنبؤ، ويطبق المقطع البرمجي التالي هذا التغيير على كل الصور في كل من مجموعة التدريب ومجموعة الاختبار:

تطبيق HOG على مجموعات البيانات

نوع: محتوى تعليمي

X_train_hog = np.array([hog(img) for img in X_train_gray]) X_test_hog = np.array([hog(img) for img in X_test_gray])

نوع: محتوى تعليمي

يمكن الآن تدريب SGDClassifier على هذا التمثيل الجديد:

تدريب واختبار SGDClassifier

نوع: محتوى تعليمي

# scales the new data scaler = StandardScaler() X_train_hog_scaled = scaler.fit_transform(X_train_hog) X_test_hog_scaled = scaler.fit_transform(X_test_hog) # trains a new model model_sgd = SGDClassifier() model_sgd.fit(X_train_hog_scaled, y_train) # tests the model pred = model_sgd.predict(X_test_hog_scaled) accuracy_score(y_test, pred) 0.7418604651162791

نوع: METADATA

وزارة التعليم 209 Ministry of Education 2025 - 1447

🔍 عناصر مرئية

شكل 4.10: مخطط تكراري للتدرجات الموجهة لصورة

بيان بصري يوضح خصائص المخطط التكراري للتدرجات الموجهة (HOG) المستخرجة من صورة. يظهر الشكل نمطًا دائريًا تقريبًا مع خطوط متجهة تشير إلى اتجاهات وقوة التدرجات اللونية في مناطق مختلفة من الصورة. تتراوح الألوان من الأزرق الداكن (قوة تدرج منخفضة) إلى الأصفر/الأزرق الفاتح (قوة تدرج عالية).

📄 النص الكامل للصفحة

تتمثل الخطوة التالية في إنشاء خصائص المخطط التكراري للتدرجات الموجهة لكل صورة في البيانات، ويمكن تحقيق ذلك من خلال دالة ()hog من مكتبة scikit-image. ويوضح المقطع البرمجي التالي مثالاً على الصورة الأولى في مجموعة بيانات التدريب:--- SECTION: استخراج خصائص HOG --- from skimage.feature import hog hog_vector, hog_img = hog( X_train_gray[0], visualize = True )hog_vector.shape(8100,)--- SECTION: شكل 4.10 --- شكل 4.10: مخطط تكراري للتدرجات الموجهة لصورةhog_vector هو متجه أحادي البعد ذو ثمانية آلاف ومئة قيمة عددية، ويمكن استخدامها لتمثيل الصورة، ويظهر التمثيل البصري لهذا المتجه باستخدام:--- SECTION: عرض التمثيل البصري لـ HOG --- plt.imshow(hog_img);يصور هذا التمثيل الجديد حدود الأشكال الأساسية في الصورة، ويحذف التفاصيل الأخرى ويركز على الأجزاء المفيدة التي يمكنها أن تساعد المصنف على أن يقوم بالتنبؤ، ويطبق المقطع البرمجي التالي هذا التغيير على كل الصور في كل من مجموعة التدريب ومجموعة الاختبار:--- SECTION: تطبيق HOG على مجموعات البيانات --- X_train_hog = np.array([hog(img) for img in X_train_gray]) X_test_hog = np.array([hog(img) for img in X_test_gray])يمكن الآن تدريب SGDClassifier على هذا التمثيل الجديد:--- SECTION: تدريب واختبار SGDClassifier --- # scales the new data scaler = StandardScaler() X_train_hog_scaled = scaler.fit_transform(X_train_hog) X_test_hog_scaled = scaler.fit_transform(X_test_hog)# trains a new model model_sgd = SGDClassifier() model_sgd.fit(X_train_hog_scaled, y_train)# tests the model pred = model_sgd.predict(X_test_hog_scaled) accuracy_score(y_test, pred)0.74186046511627912025 - 1447--- VISUAL CONTEXT --- **FIGURE**: شكل 4.10: مخطط تكراري للتدرجات الموجهة لصورة Description: بيان بصري يوضح خصائص المخطط التكراري للتدرجات الموجهة (HOG) المستخرجة من صورة. يظهر الشكل نمطًا دائريًا تقريبًا مع خطوط متجهة تشير إلى اتجاهات وقوة التدرجات اللونية في مناطق مختلفة من الصورة. تتراوح الألوان من الأزرق الداكن (قوة تدرج منخفضة) إلى الأصفر/الأزرق الفاتح (قوة تدرج عالية). X-axis: إحداثيات بكسل (0-80) Y-axis: إحداثيات بكسل (0-80) Data: يُظهر الشكل التوزيع المكاني واتجاهات التدرجات داخل الصورة المدخلة. تشير المناطق الأكثر إشراقًا (الأصفر/الأزرق الفاتح) إلى تدرجات أقوى، بينما تشير المناطق الداكنة (الأزرق الداكن) إلى تدرجات أضعف. تمثل الخطوط القصيرة أو 'المتجهات' داخل النمط الاتجاهات السائدة للتدرج في المناطق المحلية. Context: يوضح هذا الشكل تمثيل HOG البصري، وهو وصف قوي يستخدم في رؤية الكمبيوتر لاكتشاف الكائنات. يوضح كيف يتم تجميع تدرجات الصورة في مخططات اتجاهية، مما يوفر وصفًا قويًا لمظهر وشكل الكائن المحلي. يتم استخدام هذا التمثيل كمدخل لنماذج تعلم الآلة مثل SGDClassifier.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 5 بطاقة لهذه الصفحة

ما هو الغرض من معلمة `visualize=True` عند استخدام دالة `hog()`؟

الإجابة: تُستخدم معلمة `visualize=True` لعرض التمثيل البصري لخصائص HOG المستخرجة من الصورة، مما يساعد على فهم كيفية وصف المتجه للخصائص البصرية.

الشرح: تمكين `visualize=True` يُرجع ليس فقط متجه HOG، بل أيضًا صورة تمثل هذه الخصائص بصريًا، مما يسهل تحليلها وتفسيرها.

تلميح: عندما تريد رؤية نتيجة العملية بشكل مرئي، ما هي القيمة التي تضعها للمعلمة المرتبطة بالرؤية؟

ما هو الشكل النموذجي لمتجه HOG المستخرج من صورة (مثال 8100 قيمة)؟

الإجابة: يكون متجه HOG متجهًا أحادي البعد يحتوي على عدد كبير من القيم العددية، وفي المثال المذكور، يبلغ طول المتجه 8100 قيمة عددية.

الشرح: يمثل متجه HOG مجموعة من القيم العددية التي تلخص المعلومات الهيكلية والتدرجية للصورة، ويتم استخدام هذه القيم كمدخلات لنماذج تعلم الآلة.

تلميح: ما هو وصف المتجه `hog_vector` من حيث الأبعاد وعدد القيم؟

ما هي الدالة المستخدمة في مكتبة scikit-image لاستخراج خصائص المخطط التكراري للتدرجات الموجهة (HOG)؟

الإجابة: تُستخدم الدالة `hog()` من مكتبة scikit-image لاستخراج خصائص HOG.

الشرح: تُعد الدالة `hog()` هي الوسيلة الأساسية لتطبيق خوارزمية HOG في مكتبة scikit-image، وهي تقوم بحساب خصائص التدرج الموجه للصورة.

تلميح: ابحث عن اسم الدالة التي تبدأ بـ 'h' وتستخدم لاستخراج هذه الخصائص.

لماذا يتم تطبيق خصائص HOG على مجموعات التدريب والاختبار؟

الإجابة: يتم تطبيق خصائص HOG على جميع الصور في مجموعات التدريب والاختبار لضمان أن تكون جميع البيانات بنفس التمثيل الموحد، مما يسمح لنموذج تعلم الآلة بالتعلم والتقييم بشكل فعال.

الشرح: توحيد تمثيل البيانات باستخدام HOG يسمح للنموذج بفهم السمات المشتركة عبر جميع الصور، بغض النظر عن حجمها أو التفاصيل الدقيقة، مما يحسن الأداء العام.

تلميح: ما هو الهدف من تحويل جميع الصور إلى نفس التنسيق (تمثيل HOG) قبل تدريب النموذج؟

ماذا يمثل متجه HOG الذي تم الحصول عليه من الصورة؟

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

الشرح: يتم استخدام متجه HOG لتمثيل الصورة بشكل رقمي بحيث يمكن استخدامه كمدخل لنماذج تعلم الآلة.

تلميح: فكر في كيفية تحويل الصورة إلى تمثيل رقمي.

التصنيف: مفهوم جوهري | المستوى: متوسط