جدول المحتويات[يخفي][يعرض]
من المطمئن أن نعرف أننا نجحنا في إضفاء قدراتنا الفطرية على الروبوتات للتعلم بالقدوة وإدراك ما يحيط بها. التحدي الأساسي يكمن في تعليم أجهزة الكمبيوتر "الرؤية" مثلما يحتاج البشر إلى مزيد من الوقت والجهد.
ومع ذلك ، عندما نفكر في القيمة العملية التي توفرها هذه المهارة حاليًا للمنظمات والمؤسسات ، فإن الجهد يستحق العناء. في هذه المقالة ، ستتعرف على تصنيف الصور ، وكيف يعمل ، وتنفيذه العملي. هيا نبدأ.
ما هو تصنيف الصور؟
مهمة تغذية الصورة في ملف الشبكة العصبية ويعرف جعلها تُخرج شكلاً من أشكال الملصقات لتلك الصورة بالتعرف على الصور. سوف تتوافق تسمية مخرجات الشبكة مع فئة محددة مسبقًا.
قد يكون هناك العديد من الفئات المخصصة للصورة ، أو ببساطة واحدة. عندما يكون هناك فئة واحدة فقط ، يتم استخدام مصطلح "التعرف" بشكل متكرر ، بينما في حالة وجود فئات متعددة ، يتم استخدام مصطلح "التصنيف" بشكل متكرر.
كشف الكائن هي مجموعة فرعية من تصنيف الصور يتم فيها اكتشاف حالات معينة من الكائنات على أنها تنتمي إلى فئة معينة مثل الحيوانات أو المركبات أو البشر.
كيف يعمل تصنيف الصور؟
يتم تحليل صورة على شكل بكسل بواسطة جهاز كمبيوتر. يتم تحقيق ذلك من خلال معالجة الصورة كمجموعة من المصفوفات ، يتم تحديد حجمها من خلال دقة وضوح الصورة. ببساطة ، تصنيف الصور هو دراسة البيانات الإحصائية باستخدام الخوارزميات من منظور الكمبيوتر.
يتم تصنيف الصور في معالجة الصور الرقمية من خلال تجميع وحدات البكسل في مجموعات محددة مسبقًا ، أو "فئات". تقسم الخوارزميات الصورة إلى سلسلة من الخصائص الجديرة بالملاحظة ، مما يقلل العبء على المصنف النهائي.
تخبر هذه الصفات المصنف عن معنى الصورة والتصنيف المحتمل. نظرًا لأن بقية العمليات في تصنيف الصورة تعتمد عليها ، فإن طريقة الاستخراج المميزة هي المرحلة الأكثر أهمية.
• البيانات المقدمة إلى الخوارزمية أمر بالغ الأهمية أيضًا في تصنيف الصور ، وخاصة التصنيف الخاضع للإشراف. بالمقارنة مع مجموعة بيانات رهيبة مع عدم توازن في البيانات استنادًا إلى الطبقة والصورة المنخفضة وجودة التعليقات التوضيحية ، فإن مجموعة بيانات التصنيف المحسّنة جيدًا تعمل بشكل مثير للإعجاب.
تصنيف الصور باستخدام Tensorflow & Keras في لغة python
سنستخدم ملف سيفار 10 مجموعة البيانات (التي تشمل الطائرات والطائرات والطيور و 7 أشياء أخرى).
1. تثبيت المتطلبات
سيقوم الكود أدناه بتثبيت جميع المتطلبات الأساسية.
2. استيراد التبعيات
قم بإنشاء ملف train.py في بايثون. سيستورد الكود أدناه تبعيات Tensorflow و Keras.
3. تهيئة المعلمات
يشتمل CIFAR-10 على 10 فئات للصور فقط ، ومن ثم تشير الفصول الدراسية ببساطة إلى عدد الفئات المطلوب تصنيفها.
4. تحميل مجموعة البيانات
تستخدم الوظيفة وحدة Tensorflow Datasets لتحميل مجموعة البيانات ، وقمنا بتعيين المعلومات على True للحصول على بعض المعلومات عنها. يمكنك طباعته لمعرفة الحقول وقيمها ، وسنستخدم المعلومات لاسترداد عدد العينات في مجموعات التدريب والاختبار.
5. إنشاء النموذج
سنقوم الآن ببناء ثلاث طبقات ، تتكون كل منها من شبكتين ConvNets مع أقصى تجمع ووظيفة تنشيط ReLU ، متبوعة بنظام 1024 وحدة متصل بالكامل. بالمقارنة مع ResNet50 أو Xception ، وهما أحدث النماذج ، قد يكون هذا نموذجًا صغيرًا نسبيًا.
6. تدريب النموذج
لقد استخدمت Tensorboard لقياس الدقة والخسارة في كل عصر وتزويدنا بشاشة جميلة بعد استيراد البيانات وإنشاء النموذج. قم بتشغيل التعليمات البرمجية التالية ؛ اعتمادًا على وحدة المعالجة المركزية / وحدة معالجة الرسومات ، سيستغرق التدريب عدة دقائق.
لاستخدام tensorboard ، ما عليك سوى كتابة الأمر التالي في Terminal أو موجه الأوامر في الدليل الحالي:
ستلاحظ أن فقدان التحقق من الصحة يتناقص وأن الدقة ترتفع إلى حوالي 81٪. هذا رائع!
اختبار النموذج
عند الانتهاء من التدريب ، يتم حفظ النموذج النهائي والأوزان في مجلد النتائج ، مما يسمح لنا بالتدريب مرة واحدة والتنبؤ متى نختار. اتبع التعليمات البرمجية الموجودة في ملف python جديد يسمى test.py.
7. استيراد المرافق للاختبار
8. عمل دليل بيثون
أنشئ قاموس Python يترجم كل قيمة عدد صحيح إلى التسمية المناسبة لمجموعة البيانات:
9. تحميل بيانات الاختبار والنموذج
سوف يقوم الكود التالي بتحميل بيانات الاختبار والنموذج.
10. التقييم والتنبؤ
الكود التالي سيقيم ويضع تنبؤات على صور الضفادع.
11. النتائج
توقع النموذج وجود الضفدع بدقة 80.62٪.
وفي الختام
حسنًا ، انتهينا من هذا الدرس. في حين أن 80.62٪ ليس جيدًا لقليل من CNN ، فإنني أنصحك بشدة بتغيير النموذج أو إلقاء نظرة على ResNet50 أو Xception أو غيرها من الطرز المتطورة للحصول على نتائج أفضل.
الآن بعد أن قمت ببناء أول شبكة للتعرف على الصور في Keras ، يجب عليك تجربة النموذج لاكتشاف كيف تؤثر المعلمات المختلفة على أدائه.
اترك تعليق