عن المشروع

يحتوي هذا المستودع على عرض توضيحي بحثي وتطبيق ويب مغلف للكشف عن الوجوه يعمل بالكامل داخل المتصفح. تتم جميع عمليات الاستدلال من جانب العميل عبر face-api.js على TensorFlow.js؛ حيث يقوم الحاوية فقط بتقديم الملفات الثابتة وأوزان النماذج. يوجد رابط لعرض حي على face.jedarden.com، ويشير ملف README إلى أن المستودع هو مرآة للقراءة فقط لمضيف Git خارجي. يتم وصف دليلين رئيسيين. الأول، research/face-detection-lite، يحتوي على ملاحظات حول مناهج الكشف عن الوجوه (Viola-Jones مع Haar cascades، و HOG بالإضافة إلى SVM، والكاشفات القائمة على CNN)، ومجموعة papers/ من المواد المصدرية، وصفحة ثابتة تشغل face-api.js مقابل الكاميرا مع خيار الاختيار بين Tiny Face Detector و SSD MobileNet v1، بالإضافة إلى نماذج اختيارية للمعالم والتعبيرات والعمر/الجنس. ويحتوي مجلد إضافي، research/face-detection-pro، على ملاحظات بصيغة markdown حول اكتشاف المعالم. يتم تشغيل العرض البحثي باستخدام python3 -m http.server بسيط. الثاني، docker-app، هو تطبيق صفحة واحدة مبني بواسطة webpack ويتم تقديمه عبر nginx مع وضعين. يقوم وضع Lite برسم صناديق إحاطة من Tiny Face Detector مع عتبة قابلة للتعديل، مدفوعاً بـ requestAnimationFrame. أما وضع Pro فيستخدم SSD MobileNet v1 جنباً إلى جنب مع نموذج معالم مكون من 68 نقطة، والتعرف على التعبيرات عبر فئات التعبيرات السبع في face-api.js، وتقدير العمر/الجنس، مع تراكبات للمعالم والخطوط الخارجية والتعبيرات والديموغرافية. ويُذكر أن وضع Pro أثقل وأبطأ. تشمل الميزات الإضافية اختيار الكاميرا عند وجود كاميرات متعددة، وتراكب تشخيصي قابل للتبديل يبلغ عن FPS والذاكرة والتوقيت، ونقطة دخول لخلفية TensorFlow.js WASM مع فحص التوافق. يوثق ملف README ملف Dockerfile متعدد المراحل (Node builder، و nginx:alpine runtime)، وصورة بحجم 80 ميجابايت تقريباً مضغوطة للوسم 2.0.5 على GHCR، و Docker HEALTHCHECK مع نقطة نهاية nginx /health، و HTTPS على المنفذ 8443 باستخدام شهادة موقعة ذاتياً في وقت البناء يمكن استبدالها عن طريق تركيب الشهادات في /etc/nginx/ssl. تغطي تعليمات البدء السريع سحب ghcr.io/jedarden/face-detection:2.0.5، والتشغيل من المصدر باستخدام docker-compose، وملف تعريف تطوير على المنفذ 3000. يتم وصف الاختبارات على أنها اختبارات وحدة وتكامل Jest، واختبارات Puppeteer E2E، ومواصفات Playwright، وملف اختبار أمني. يُشار إلى الإصدار 1.1.0 كتحديث للتبعيات استجابة لنتائج npm audit، مع دليل هجرة أمني مرتبط؛ ويتم وصف security-audit.json الملتزم به كلقطة زمنية لتسع نتائج. يذكر ملف README أنه لم يتم إدراج أرقام قياسية (benchmarks) وأن معدل الإطارات يعتمد على خلفية متصفح المضيف، مع إظهار ذلك مباشرة عبر التراكب داخل التطبيق. متطلبات المتصفح هي getUserMedia ودعم WebGL أو WebAssembly. كود المشروع مرخص بموجب MIT، بينما تحمل أوزان النماذج والمكتبات تراخيصها الخاصة تحت LICENSES/. يسجل ملف README أيضاً عملية التطوير المدعومة بالذكاء الاصطناعي والموجهة بالأوامر والقرارات المعمارية المتخذة، بما في ذلك اختيار JavaScript البسيطة بدلاً من إطار عمل واختيار الاستدلال من جانب المتصفح.