وصف المدون

الصفحة الرئيسية تقنية التعرف على الوجوه أو Face Recognition باستعمال مكتبة OpenCV في بايثون

تقنية التعرف على الوجوه أو Face Recognition باستعمال مكتبة OpenCV في بايثون

 


في هذه المقالة سنعمل على تقنية من تقنيات الذكاء الإصطناعي و هي التعرف على الوجوه أو face recognition  

سنقوم باستعمال مكتبة OpenCV الخاصة بلغة البرمجة بايثون


من طبيعة الحال ممكن استعمال مكتبات أخرى مثل : Dlib أو Sickit-image  أو Mediapipe  أو MTCNN إذا أردنا العمل ب Deep Learning

يجب أولا معرفة ما هي face recognition  و في ماذا يمكن أن نستعملها ، و بعدها نعمل تطبيقات بلغة البرمجة بايثون .

 التعرف على الوجوه أو face recognition هو وسيلة لتحديد هوية الشخص و تأكيدها باستخدام وجهه ، من بين استعمالات هاد التقنية :

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

بالنسبة للتطبيقات،أولا سنقوم بتطبيق هذه التقنية على صورة ، ثم بعدها نقوم بتطبيقها على فيديو.

أول شيء نقوم باستدعاء مكتبة OpenCV .

بعدها ، نقوم بتعريف الصورة التي سنعمل عليها للسكريبت الخاص بنا عن طريق خاصية imread .

بعدها ، نعمل بوظيفة إسمها  cascade classifier،و التي تمكننا من استخدام ملف اسمه haarcascade_frontalface_default(هذا الملف مدرب على التعرف على الوجوه)

بعدها ، نحدد الوجوه الموجودة في الصورة باستعمال الوظيفة detectMultiScale

بعدها ، نقوم بإنشاء حلقة لتطبيق كل ما بداخلها على كل وجه وجدناه من قبل، و نرسم مربع أخضر على كل وجه باستعمال وظيفة Rectangle الموجودة في مكتبة  OpenCV .

و في الأخير نرى النتيجة باستعمال imshow .

(waitKey و  destroyAllWindows نبرمج سكريبت على أن لا يغلق النتيجة حتى نضغط على رمز في لوحة المفاتيح )

بالنسبة لتطبيق هذه التقنية على فيديو، سنعمل تغييرات بسيطة على ما رأيناه من قبل.

أولا نقوم باستبدال خاصية imread بخاصية videocapture  و ندخل إسم الفيديو الذي سنعمل عليه، أو نقوم بإدخال الرقم 0 لاستخدام الكاميرا الخاصة بجهازنا و تطبيق هذه التقنية على ما تلتقطه الكاميرا .

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

بعد بتطبيق خاصية read على الفيديو الخاص بنا ، نحصل على متغيران ، واحد منهم هو ذلك Frame ، و نقوم بتطبيق كل ما طبقناه على صورة من قبل ، مع إزالة  waitKey و  destroyAllWindows  لكي لا يتوقف البرنامج في كل Frame.

 

كود المشروع على GitHub 💻:

https://github.com/AyoubAllali1/Face-recognition-with-OpenCV-Python



تعديل المشاركة
ليست هناك تعليقات
إرسال تعليق

Back to top button