جدول المحتويات:
- الخطوة 1: الأشياء التي تحتاجها
- الخطوة 2: فتح مقدمة والتثبيت
- الخطوة الثالثة: اكتشاف الوجه والتعرف عليه في فيديو في الوقت الفعلي
- الخطوة 4: تشغيل الكود
فيديو: Opencv التعرف على الوجوه: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:39
يعد التعرف على الوجوه أمرًا شائعًا الآن في العديد من التطبيقات مثل الهواتف الذكية والعديد من الأدوات الإلكترونية. يتضمن هذا النوع من التكنولوجيا الكثير من الخوارزميات والأدوات وما إلى ذلك.. والتي تستخدم بعض منصات SOC المدمجة مثل Raspberry Pi ورؤية الكمبيوتر مفتوحة المصدر مكتبات مثل OpenCV ، يمكنك الآن إضافة ميزة التعرف على الوجوه إلى تطبيقاتك الخاصة مثل أنظمة الأمان.
في هذا المشروع ، سأخبرك بكيفية إنشاء التعرف على الوجوه باستخدام Raspberry Pi وقد استخدمنا arduino + Lcd لعرض اسم الشخص..
الخطوة 1: الأشياء التي تحتاجها
1. RASPBERRY PI
2. ARDUINO UNO / NANO
3.16x2 LCD DISPLAY
4. RASPI-CAMERA / WEBcam (أفضل كاميرا الويب للحصول على نتائج أفضل)
الخطوة 2: فتح مقدمة والتثبيت
OpenCV (مكتبة رؤية الكمبيوتر مفتوحة المصدر) هي مكتبة مفيدة للغاية - فهي توفر العديد من الميزات المفيدة مثل التعرف على النص والتعرف على الوجوه واكتشاف الكائنات وإنشاء خرائط العمق والتعلم الآلي.
ستوضح لك هذه المقالة كيفية تثبيت Opencv والمكتبات الأخرى على Raspberry Pi والتي ستكون مفيدة عند القيام باكتشاف الكائنات وغيرها من المشاريع. من هناك ، سنتعلم كيفية إجراء عمليات الصور والفيديو من خلال تنفيذ مشروع التعرف على الكائنات والتعلم الآلي. على وجه التحديد ، سنكتب رمزًا بسيطًا لاكتشاف الوجوه في الصورة.
ما هو OpenCV؟
OpenCV هي مكتبة برمجيات رؤية الكمبيوتر والتعلم الآلي مفتوحة المصدر. تم إصدار OpenCV بموجب ترخيص BSD مما يجعلها مجانية للاستخدام الأكاديمي والتجاري. يحتوي على واجهات C ++ و Python و Java ويدعم Windows و Linux و Mac OS و iOS و Android. تم تصميم OpenCV لتحقيق الكفاءة الحسابية والتركيز القوي على تطبيقات الوقت الفعلي.
كيفية تثبيت OpenCV على Raspberry Pi؟
لتثبيت OpenCV ، نحتاج إلى تثبيت Python. نظرًا لأن Raspberry Pis محمّل مسبقًا بـ Python ، يمكننا تثبيت OpenCV مباشرةً.
اكتب الأوامر أدناه للتأكد من أن Raspberry Pi الخاص بك محدث ولتحديث الحزم المثبتة على Raspberry Pi إلى أحدث الإصدارات.
sudo apt-get updatesudo apt-get ترقية
اكتب الأوامر التالية في الجهاز لتثبيت الحزم المطلوبة لـ OpenCV على Raspberry Pi الخاص بك.
sudo apt تثبيت libatlas3-base libsz2 libharfbuzz0b libtiff5 libjasper1 libilmbase12 libopenexr22 libilmbase12 libgstreamer1.0-0 libavcodec57 libavformat57 libavutil55 libswale4 libqtg4
اكتب الأمر التالي لتثبيت OpenCV 3 لـ Python 3 على Raspberry Pi الخاص بك ، تخبرنا pip3 أن OpenCV سيتم تثبيته لـ Python 3.
تثبيت sudo pip3 opencv-Contrib-python libwebp6
الآن ، يجب تثبيت OpenCV.
(في حالة حدوث أي أخطاء: لا يزال بإمكانك القيام بذلك باتباع الرابط أدناه
https://www.instructables.com/id/Raspberry-Pi-Hand…)
الآن لا تتعجل ، فنحن بحاجة إلى التحقق مما إذا كان قد تم تثبيته بشكل صحيح أم لا
اختبر opencv الخاص بك عن طريق:
1.انتقل إلى الجهاز الطرفي الخاص بك و typr "python"
2. ثم اكتب "import cv2".
3. ثم اكتب "cv2._ نسخة_".
ثم قم بتثبيت هذه المكتبات
pip3 تثبيت python-numpy
pip3 تثبيت python-matplotlib
اختبار الكود لاكتشاف الوجوه في الصورة:
استيراد السيرة الذاتية 2
faceCascade = cv2. CascadeClassifier ("haarcascade_frontalface_default.xml") ؛
image = cv2.imread ('اسم ملفك') #example cv2.imread ('home / pi / Desktop / filename.jpg')
ستحصل على الإخراج مثل مربعات مربعة تم تشكيلها على وجوه الأشخاص الموجودين في الصورة.
الخطوة الثالثة: اكتشاف الوجه والتعرف عليه في فيديو في الوقت الفعلي
استيراد السيرة الذاتية 2
استيراد numpy كـ np
استيراد نظام التشغيل
استيراد المسلسل
ser = serial. Serial ('/ dev / ttyACM0'، 9600، timeout = 1) قد يتغير # / dev / ttyACM0 في حالتك ، يعتمد على اردوينو
cascadePath = "haarcascade_frontalface_default.xml"
faceCascade = cv2. CascadeClassifier (cascadePath)
أداة التعرف = cv2.face.createLBPHFaceRecognizer ()
الصور =
تسميات =
لاسم الملف في os.listdir ('Dataset'):
im = cv2.imread ('Dataset /' + filename، 0)
images.append (im)
labels.append (int (filename.split ('.') [0] [0]))
#print اسم الملف
names_file = فتح ('labels.txt')
الأسماء = names_file.read (). split ('\ n')
أداة التعرف. القطار (الصور ، np.array (التسميات))
طباعة 'تم التدريب…"
الخط = cv2. FONT_
HERSHEY_SIMPLEXcap = cv2. VideoCapture (1) # جهاز الفيديو الخاص بك
lastRes = '' count = 0
بينما (1):
_ ، الإطار = الحد الأقصى للقراءة ()
رمادي = cv2.cvtColor (إطار ، cv2. COLOR_BGR2GRAY)
الوجوه = faceCascade.detectMultiScale (رمادي ، 1.3 ، 5)
العد + = 1
لـ (س ، ص ، ث ، ح) في الوجوه:
مستطيل cv2. (إطار ، (س ، ص) ، (س + ث ، ص + ح) ، (255 ، 0 ، 0) ، 2)
if count> 20: res = names [Recognizer.predict (grey [y: y + h، x: x + w]) - 1]
إذا الدقة! = lastRes:
lastRes = الدقة
طباعة lastRes
ser.write (lastRes)
العد = 0
استراحة
cv2.imshow ("إطار" ، إطار)
ك = 0xFF & cv2.waitKey (10)
إذا كان k == 27:
استراحة
cap.release ()
ser.close ()
cv2.destroyAllWindows ()
الخطوة 4: تشغيل الكود
1. قم بتنزيل الملفات المرفقة في الخطوة السابقة
2. انسخ صورك الرمادية (6 صور / عينات…..) إلى مجلد مجموعة البيانات
1. Tom Cruise 1_1، 1_2، 1_3، 1_4، 1_5، 1_6 (رقم صورة مجموعة البيانات لمزيد من مجلد مجموعة البيانات المفتوح)
2. براد بيت -2_1 ، 2_2 ، 2_3 ، 2_4 ، 2_5 ، 2_6
3. Leo-3_1 ، 3_2 ، 3_3 ، 3_4 ، 3_5 ، 3_6
4. الرجل الحديدي 4_1 ، 4_2 ، 4_3 ، 4_4 ، 4_5 ، 4_6
كما هو مذكور أعلاه ، يمكنك إضافة تسميات للأشخاص المعنيين ،
لذلك إذا اكتشف pi أي وجه بين 1_1 ، 1_2 ، 1_3 ، 1_4 ، 1_5 ، 1_6 ، فقد تم تحديده باسم Tom Cruise ، لذا يرجى توخي الحذر أثناء تحميل الصور …………………
ثم قم بتوصيل اردوينو الخاص بك بـ raspberry Pi الخاص بك وقم بإجراء تغييرات في main.py codeer = serial. Serial ('/ dev / ttyACM0'، 9600، timeout = 1) 3. قم بإدخال جميع الملفات التي تم تنزيلها (main.py ، مجلد مجموعة البيانات ، haarcascade_frontalface_default.xml في مجلد واحد.)
3- افتح الآن Raspi-terminal وشغل الكود الخاص بك عن طريق "sudo python main.py"
موصى به:
نظام التعرف على الحريق القائم على معالجة الصور ونظام الإطفاء: 3 خطوات
نظام التعرف على الحرائق القائم على معالجة الصور ونظام الإطفاء: مرحبًا أيها الأصدقاء ، هذا نظام يعتمد على معالجة الصور للكشف عن الحرائق وإطفاء الحرائق باستخدام Arduino
التعرف على النجوم باستخدام رؤية الكمبيوتر (OpenCV): 11 خطوة (بالصور)
التعرف على النجوم باستخدام رؤية الكمبيوتر (OpenCV): سيصف لك هذا التوجيه كيفية إنشاء برنامج رؤية كمبيوتر للتعرف تلقائيًا على أنماط النجوم في صورة ما. تستخدم الطريقة مكتبة OpenCV (رؤية كمبيوتر مفتوحة المصدر) لإنشاء مجموعة من مجموعات HAAR المدربة التي يمكن
التعرف على الوجوه والتعرف عليها - Arduino Face ID باستخدام OpenCV Python و Arduino: 6 خطوات
التعرف على الوجه والتعرف عليه | Arduino Face ID باستخدام OpenCV Python و Arduino: التعرف على الوجه يعد AKA Face ID أحد أهم الميزات على الهواتف المحمولة في الوقت الحاضر. لذلك ، كان لدي سؤال & quot؛ هل يمكنني الحصول على معرف وجه لمشروع Arduino الخاص بي & quot؛ والجواب نعم … بدأت رحلتي على النحو التالي: الخطوة 1: الوصول إلينا
التعرف على الصور باستخدام TensorFlow على Raspberry Pi: 6 خطوات
التعرف على الصور باستخدام TensorFlow على Raspberry Pi: Google TensorFlow عبارة عن مكتبة برامج مفتوحة المصدر للحسابات الرقمية باستخدام الرسوم البيانية لتدفق البيانات. يتم استخدامه من قبل Google في مختلف مجالات التعلم الآلي وتقنيات التعلم العميق. تم تطوير TensorFlow في الأصل بواسطة Google Brai
التعرف على الوجوه في الوقت الحقيقي: مشروع شامل: 8 خطوات (بالصور)
التعرف على الوجوه في الوقت الفعلي: مشروع شامل: في تعليمي الأخير لاستكشاف OpenCV ، تعلمنا تتبع كائن الرؤية التلقائي. الآن سوف نستخدم PiCam الخاص بنا للتعرف على الوجوه في الوقت الفعلي ، كما ترى أدناه: تم تنفيذ هذا المشروع باستخدام مكتبة رؤية الكمبيوتر ذات المصدر المفتوح & qu