MediaPipe Python: دليل شامل لمكتبة الرؤية الحاسوبية من Google
MediaPipe — هي مكتبة ثورية مفتوحة المصدر من Google، مصممة لإنشاء خطوط أنابيب ML متعددة الوسائط معقدة. توفر هذه المنصة القوية حلولاً جاهزة عالية الدقة للرؤية الحاسوبية في الوقت الفعلي، بما في ذلك تتبع اليدين، التعرف على الوجوه، كشف الوضعية، تحليل الإيماءات، اكتشاف الأشياء، والعديد من الإمكانيات الأخرى.
بفضل الغلاف المناسب للغة Python، يمكن للمطورين دمج تقنيات التعلم الآلي المتقدمة بسهولة في مشاريعهم، مما يخلق حلولاً مبتكرة للألعاب، أنظمة التحكم بالإيماءات، الواقع المعزز، تحليل السلوك، تطبيقات اللياقة البدنية، وغيرها الكثير.
تثبيت وإعداد MediaPipe
التثبيت الأساسي
pip install mediapipe opencv-pythonالتبعيات الإضافية للوظائف المتقدمة
pip install mediapipe opencv-python numpy matplotlibالتحقق من التثبيت
import mediapipe as mpimport cv2print(f"MediaPipe الإصدار: {mp.__version__}")print(f"OpenCV الإصدار: {cv2.__version__}")الهندسة المعمارية والمكونات الرئيسية لـ MediaPipe
تم بناء MediaPipe على هندسة معيارية، حيث يتخصص كل وحدة في مهمة محددة للرؤية الحاسوبية. تستخدم المكتبة شبكات عصبية محسّنة، تم تدريبها على مجموعات بيانات ضخمة، مما يضمن دقة وأداء عاليين.
الوحدات الرئيسية لـ MediaPipe
| الوحدة | الوظيفة | عدد النقاط | التطبيق |
|---|---|---|---|
| Hands | تتبع اليدين | 21 نقطة لكل يد | التحكم بالإيماءات، لوحات المفاتيح الافتراضية، الألعاب |
| FaceMesh | رسم خرائط تفصيلي للوجه | 468 نقطة | مرشحات AR، تحليل المشاعر، التعرف |
| Pose | تتبع وضعية الجسم | 33 نقطة رئيسية | اللياقة البدنية، الرياضة، إعادة التأهيل، الرسوم المتحركة |
| Holistic | تحليل شامل | الوجه + اليدين + الجسم | التقاط الحركة الكامل |
| FaceDetection | كشف سريع للوجوه | 6 نقاط رئيسية | أنظمة الأمان، عد الأشخاص |
| SelfieSegmentation | تجزئة الشخص | قناع التجزئة | استبدال الخلفية، التأثيرات |
| Objectron | كشف ثلاثي الأبعاد للأشياء | مربع إحاطة ثلاثي الأبعاد | AR، الروبوتات |
| MediaPipeHandLandmarker | تتبع محسّن لليدين | 21 نقطة + مقاييس إضافية | التعرف الدقيق على الإيماءات |
وصف تفصيلي للوحدات
وحدة Hands - تتبع اليدين
توفر وحدة Hands تتبعًا عالي الدقة لليدين في وقت واحد، مع تحديد 21 نقطة رئيسية على كل يد.
المعلمات الرئيسية للتهيئة
import mediapipe as mp
mp_hands = mp.solutions.handshands = mp_hands.Hands( static_image_mode=False, # وضع الفيديو (False) أو الصور الثابتة (True) max_num_hands=2, # الحد الأقصى لعدد اليدين للكشف min_detection_confidence=0.5, # الحد الأدنى لثقة الكشف min_tracking_confidence=0.5 # الحد الأدنى لثقة التتبع)مثال عملي مع معالجة الإحداثيات
import cv2import mediapipe as mpimport numpy as np
mp_hands = mp.solutions.handshands = mp_hands.Hands(min_detection_confidence=0.