نظام حضور طلابي بالتعرف على الوجوه بنموذج FaceNet512 مع تحقق من الحيوية عبر MediaPipe لمنع الحضور بالنيابة، وتغذية راجعة LED لاسلكية عبر NodeMCU.

مشروع أكاديمي لتطوير نظام ذكي لتسجيل حضور الطلاب بالتعرف على الوجوه مع كشف التلاعب (Anti-Spoofing)، نفذه فريق من الطلاب بمساعدة تقنية من مكتب تكنو إنجاز. يلتقط النظام صور الطلاب عبر كاميرات القاعات، ويستخرج لكل وجه بصمة رقمية من 512 بُعدًا بنموذج التعلم العميق FaceNet512، ثم يطابقها مع البصمات المخزنة في قاعدة بيانات SQLite ليسجل الحضور تلقائيًا أثناء المحاضرة.
قبل المطابقة يمر الوجه بطبقة تحقق من الحيوية تعتمد على MediaPipe Face Mesh (468 نقطة وجهية) لكشف الرمش وتحليل العمق والنسيج، بهدف منع التسجيل بالنيابة باستخدام صورة مطبوعة أو شاشة هاتف. وتُرسل نتيجة كل محاولة لاسلكيًا إلى وحدة NodeMCU ESP8266 تضيء مؤشرًا أخضر للطالب المعروف وأحمر للمرفوض. يوثّق المشروع التصميم والواجهات المنفذة، ولا يتضمن قياسات رقمية لدقة التعرف أو كشف الانتحال.
| العنصر | البيانات |
|---|---|
| نوع المشروع | نظام حضور آلي بالتعرف على الوجوه مع تحقق من الحيوية وتغذية راجعة عبر إنترنت الأشياء |
| المجال | الرؤية الحاسوبية، التعلم العميق، إنترنت الأشياء، الأنظمة التعليمية الذكية |
| حالة المشروع | نموذج عامل بواجهة رسومية منفذة، دون تقييم رقمي منشور للدقة |
| دور تكنو إنجاز | دعم ومساعدة تقنية للطلاب أثناء تطوير المشروع |
| تقنيات أساسية | Python، OpenCV (Haar Cascade)، DeepFace + FaceNet512، MediaPipe Face Mesh، SQLite، Multithreading، CustomTkinter، Pandas، OpenPyXL، NodeMCU ESP8266 |
| المخرجات | تسجيل حضور تلقائي، مؤشرات LED خضراء/حمراء، إدارة جلسات وقاعات ومواد، تقارير حضور وتأخر وغياب، تصدير إلى Excel |
يستهلك التفقد اليدوي الدقائق الأولى من كل محاضرة، والسجلات الورقية سهلة التلاعب، إذ ينتشر تسجيل الحضور بالنيابة (Proxy Attendance) ويصعب ضبطه. كما أن تفريغ الأوراق وإعداد التقارير عبء إداري معرض للأخطاء والتلف وفقدان البيانات. أما بصمة الإصبع فتكون بطيئة مع الأعداد الكبيرة وتتطلب تلامسًا جسديًا.
من هنا انطلق المشروع نحو حل لا تلامسي يعتمد على الرؤية الحاسوبية، لا يكتفي بمطابقة الوجه، بل يتحقق أولًا من أن الوجه أمام الكاميرا حي وليس صورة أو شاشة، ويعالج عدة قاعات في الوقت نفسه، ويقدم تغذية راجعة فورية وأرشفة مركزية وتقارير قابلة للتصدير.
نُفذ المشروع أكاديميًا بواسطة الطلاب، مع مساعدة ودعم تقني من مكتب تكنو إنجاز أثناء مراحل التطوير. ويُعرض ضمن أعمال المكتب مثالًا على دعمه للمشاريع التي تجمع التعرف على الوجوه وكشف الانتحال مع إنترنت الأشياء في تطبيقات تعليمية.
يصف مخطط النشاط في المشروع مسار تسجيل حضور طالب واحد على النحو الآتي:
| طبقة الحماية | الآلية | نوع الهجوم المستهدف |
|---|---|---|
| كشف الرمش (Blink) | تتبع النقاط الوجهية وحساب تغير EAR | الصور الفوتوغرافية الثابتة |
| التحليل المكاني للعمق (3D Depth) | قياس التباين الهندسي بين النقاط | الأقنعة المسطحة وشاشات العرض |
| تحليل النسيج (Texture) | قياس التباين المكاني (Laplacian Variance) | التمييز بين نسيج الجلد وبكسلات الشاشة |
| الحركات الدقيقة (Micro-movements) | تحليل الفروق بين الإطارات المتتالية | الوجوه الجامدة والصور عالية الدقة |
ويمكن تفعيل ميزة مكافحة الانتحال أو إيقافها من واجهة التعرف المباشر.
تنقسم معمارية النظام إلى عقدتين يربطهما Wi-Fi وفق معيار IEEE 802.11 b/g/n:
| المكون | دوره في النظام |
|---|---|
| NodeMCU ESP8266 | عقدة اتصال لاسلكية بمعالج Tensilica L106 بدقة 32 بت وراديو 2.4 GHz؛ تستقبل أوامر TCP عبر مكدس LwIP وتتحكم بالمؤشرات عبر منافذ GPIO |
| مؤشرات LED | أخضر لتأكيد تسجيل الحضور، وأحمر للرفض |
| أسلاك التوصيل (Jumper Wires) | نقل إشارات GPIO والتغذية من الوحدة إلى المؤشرات |
| كابل USB 2.0 | وصل الحاسب بشريحة المحول التسلسلي على اللوحة (اتصال UART، ومنه التحكم بأوامر AT) |
| الكاميرات | التقاط البث الحي، بدقة 720p فأعلى |
متطلبات بيئة العمل الموثقة: معالج متعدد الأنوية، وذاكرة 8 جيجابايت فأكثر، ونظام Windows 10/11 أو Linux، وPython 3.8 فأحدث.
بُنيت الواجهة الرسومية بمكتبة CustomTkinter، وتضم الشاشات التالية:
| الشاشة | الوظيفة |
|---|---|
| تسجيل الدخول | اسم مستخدم وكلمة مرور، مع التبديل بين العربية والإنجليزية وصلاحيات حسب الدور |
| الواجهة الرئيسية | وصول سريع إلى إدارة الطلاب والجلسات والتعرف والتقارير والتحليلات وإدارة المستخدمين |
| إدارة الجامعة | تبويبات للكليات والتخصصات والمواد والقاعات مع الإضافة والتعديل والحذف |
| إدارة السنوات الدراسية | إضافة السنوات وتعديلها وحذفها |
| إعداد جلسة الحضور | اختيار القاعة والمادة وتحديد نافذة الحضور ومدة التأخر ثم بدء الجلسة |
| التعرف المباشر | حالة كل قاعة، وبدء الجلسة وإيقافها، وعدد الوجوه المكتشفة، ومؤقت الجلسة، واختيار الكاميرا، وتفعيل مكافحة الانتحال |
| تقارير الجلسات | عدد الحاضرين والمتأخرين والغائبين لكل جلسة وتفاصيل حضور الطلاب، مع العرض والتصدير |
| التحليلات المتقدمة | إحصائيات عامة ومخططات توزيع حالات الحضور، وتحليلات طالب محدد، وتصدير إلى Excel |
تُعالَج سجلات الحضور بمكتبة Pandas وتُصدَّر إلى ملفات Excel بمكتبة OpenPyXL.
يعرض المشروع واجهات النظام المنفذة ومخططات المعمارية والنشاط والتسلسل، ويخلص إلى أن التصميم يحقق المتطلبات الوظيفية المطروحة. لكنه لا يقدم قياسات رقمية لدقة التعرف، أو معدلات القبول والرفض الخاطئ (FAR/FRR)، أو نسبة كشف هجمات الانتحال، أو زمن الاستجابة، أو أداء التشغيل الفعلي على أربع قاعات. لذلك تُفهم قدرات النظام هنا على أنها قدرات مصممة ومنفذة، لا نتائج تقييم مقيسة.
بحسب الآفاق الواردة في المشروع:
يخزن النظام بصمات وجهية وبيانات شخصية للطلاب، وهي بيانات بيومترية حساسة. أي استخدام فعلي يحتاج إلى موافقة واضحة من الطلاب، وضوابط لصلاحيات الوصول ومدة الاحتفاظ بالبيانات وحمايتها.
إذا كنت تعمل على نظام حضور بالتعرف على الوجه مع الحماية من التلاعب وتحتاج إلى مساعدة تقنية في تطوير الفكرة أو بناء نموذج أولي، يمكن التواصل مع مكتب تكنو إنجاز لمناقشة متطلبات المشروع ونطاق الدعم المناسب.
نظام أكاديمي نفذه فريق من الطلاب بمساعدة تقنية من مكتب تكنو إنجاز، يسجل حضور الطلاب تلقائيًا بالتعرف على وجوههم عبر كاميرات القاعات. يستخدم نموذج FaceNet512 لاستخراج بصمة وجهية من 512 بُعدًا ويطابقها مع قاعدة بيانات SQLite، بعد التحقق من أن الوجه حي وليس صورة أو شاشة.
يمر كل وجه بطبقة تحقق من الحيوية تعتمد على MediaPipe Face Mesh بـ468 نقطة وجهية. تكشف هذه الطبقة الرمش عبر مؤشر نسبة العين EAR، وتحلل العمق المكاني والنسيج (Laplacian Variance) والحركات الدقيقة بين الإطارات، فإذا اكتُشفت صورة مطبوعة أو شاشة يُرفض التسجيل ويضيء المؤشر الأحمر.
بعد قرار المطابقة يُرسل الحاسب أمرًا داخل حزمة TCP عبر شبكة Wi-Fi إلى عنوان IP الخاص بوحدة NodeMCU ESP8266. الأمر "1" يضيء مؤشر LED الأخضر لتأكيد الحضور، والأمر "0" يضيء الأحمر عند فشل التحقق من الحيوية أو عدم وجود تطابق.
واجهة رسومية مبنية بـCustomTkinter تضم إدارة الكليات والتخصصات والمواد والقاعات والسنوات الدراسية، وإعداد جلسات الحضور بنافذة حضور ومدة تأخر، وشاشة تعرف مباشر لعدة قاعات. وتعرض تقارير الجلسات أعداد الحاضرين والمتأخرين والغائبين، مع لوحة تحليلات وتصدير إلى Excel عبر Pandas وOpenPyXL.
لا يقدم المشروع قياسات رقمية لدقة التعرف أو معدلات القبول والرفض الخاطئ أو نسبة كشف الانتحال، بل يوثق التصميم والواجهات المنفذة. ومن حدوده الاعتماد على كاميرا عادية دون حساسات عمق، وقاعدة بيانات محلية، والحاجة إلى ضبط عتبة المطابقة في القاعات المزدحمة.
تواصل مع فريق تكنو إنجاز لمناقشة قابلية التنفيذ العملي، اختيار القطع، وتطوير النموذج الأولي.