جدول المحتويات:

إنشاء مصنفات صور OpenCV باستخدام Python: 7 خطوات
إنشاء مصنفات صور OpenCV باستخدام Python: 7 خطوات

فيديو: إنشاء مصنفات صور OpenCV باستخدام Python: 7 خطوات

فيديو: إنشاء مصنفات صور OpenCV باستخدام Python: 7 خطوات
فيديو: بايثون الذكاء الاصطناعي التعرف على الاشياء في الصور ووضع نصوص #7 | python opencv course 2024, يوليو
Anonim
قم بإنشاء مصنفات صور OpenCV باستخدام Python
قم بإنشاء مصنفات صور OpenCV باستخدام Python

تعتبر مصنفات Haar في python و opencv مهمة صعبة إلى حد ما ولكنها سهلة.

غالبًا ما نواجه مشاكل في اكتشاف الصور وتصنيفها. أفضل حل هو إنشاء المصنف الخاص بك. هنا نتعلم صنع مصنفات الصور الخاصة بنا باستخدام بعض الأوامر وبرامج الثعبان الطويلة والبسيطة

يتطلب التصنيف عددًا كبيرًا من الصور السلبية والإيجابية لا تحتوي الصور السلبية على الكائن المطلوب بينما الإيجابيات هي التي تحتوي على الكائن المراد اكتشافه.

مطلوب حوالي 2000 سلبيات وإيجابيات. يقوم برنامج python بتحويل الصورة إلى تدرج رمادي وحجم مناسب بحيث تستغرق المصنفات الوقت الأمثل للإنشاء.

الخطوة 1: البرامج المطلوبة

أنت بحاجة إلى البرامج التالية لإنشاء المصنف الخاص بك

1) OpenCV: الإصدار الذي استخدمته هو 3.4.2. الإصدار متاح بسهولة على الإنترنت.

2) بايثون: الإصدار المستخدم هو 3.6.2. يمكن تنزيله من موقع python.org

علاوة على ذلك ، فأنت تحتاج إلى كاميرا ويب (بالطبع).

الخطوة الثانية: تنزيل الصور

تتمثل الخطوة الأولى في التقاط صورة واضحة للكائن المراد تصنيفه.

يجب ألا يكون الحجم كبيرًا جدًا حيث يستغرق الكمبيوتر وقتًا أطول للمعالجة. أخذت حجم 50 في 50.

بعد ذلك نقوم بتنزيل الصور السلبية والإيجابية. يمكنك العثور عليها على الانترنت. لكننا نستخدم كود python لتنزيل الصور من "https://image-net.org"

بعد ذلك نقوم بتحويل الصور إلى التدرج الرمادي وإلى الحجم العادي. يتم تنفيذ هذا في الكود. يزيل الكود أيضًا أي صورة معيبة

الآن يجب أن يحتوي دليلك على صورة الكائن ، على سبيل المثال ، watch5050-j.webp

إذا لم يتم إنشاء مجلد البيانات ، فقم بذلك يدويًا

يتم توفير كود python في ملف.py

الخطوة 3: إنشاء نماذج إيجابية في OpenCV

تكوين عينات إيجابية في OpenCV
تكوين عينات إيجابية في OpenCV
تكوين عينات إيجابية في OpenCV
تكوين عينات إيجابية في OpenCV

انتقل الآن إلى دليل opencv_createsamples وأضف كل المحتوى المذكور أعلاه

في موجه الأوامر ، انتقل إلى C: / opencv342 / build / x64 / vc14 / bin للعثور على تطبيقات opencv_createsamples و opencv_traincascade

الآن قم بتنفيذ الأوامر التالية

opencv_createsamples -img watch5050-j.webp

هذا الأمر مخصص لإنشاء عينات موجبة للكائن 1950 لتكون دقيقة وملف الوصف info.lst للصور الإيجابية يجب أن يكون الوصف مثل هذا 0001_0014_0045_0028_0028-j.webp

الآن يحتوي المجلد على ملفات

معلومات

مجلد الصور neg

ملف bg.txt

مجلد بيانات فارغ

الخطوة 4: إنشاء ملف موجه موجب

إنشاء ملف موجه موجب
إنشاء ملف موجه موجب

الآن قم بإنشاء ملف متجه موجب يوفر المسار إلى الصور الإيجابية ملف فك التشفير

استخدم الأمر التالي

opencv_createsamples -info info / info.lst -num 1950 -w 20 -h 20 -vec positives.vec

الآن يجب أن تكون محتويات الدليل كما يلي:

--ني

---- negimages.jpg

--opencv

--معلومات

--البيانات

--positives.vec

--bg.txt

--watch5050-j.webp

الخطوة 5: تدريب المصنف

تدريب المصنف
تدريب المصنف
تدريب المصنف
تدريب المصنف
تدريب المصنف
تدريب المصنف

الآن ، لنقوم بتدريب haar cascade وإنشاء ملف xml

استخدم الأمر التالي

opencv_traincascade-data data -vec positives.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20

المراحل 10 تتطلب زيادة المراحل مزيدًا من المعالجة ولكن المصنف هو طريقة أكثر كفاءة.

الآن تم إنشاء haarcascade يستغرق الأمر حوالي ساعتين لإكماله افتح مجلد البيانات هناك ستجد cascade.xml هذا المصنف الذي تم إنشاؤه

الخطوة 6: اختبار المصنف

يحتوي مجلد البيانات على الملفات كما هو موضح في الصورة أعلاه.

بعد إنشاء المصنف نرى ما إذا كان المصنف يعمل أم لا عن طريق تشغيل برنامج object_detect.py. لا تنس وضع ملف classifier.xml في دليل python.

الخطوة 7: شكر خاص

أود أن أشكر سينتديكس هنا الذي هو مبرمج بيثون عظيم.

لديه اسم يوتيوب بالاسم المذكور اعلاه والفيديو الذي ساعدني كثيرا يحتوي على هذا الرابط

تم نسخ معظم الكود من sentdex. على الرغم من أنني تلقيت الكثير من المساعدة من sentdex ، إلا أنني واجهت الكثير من المشاكل. أردت فقط أن أشارك تجربتي.

آمل أن يكون هذا الدرس قد ساعدك !!! ترقبوا المزيد.

BR

طاهر الحق

موصى به: