ملخص الدراسة
استهدف المشروع نظارات ذكية تعمل بنظام Android ومعالج RK3588. يجري اكتشاف الوجه الأمامي والجانبين الأيسر والأيمن محلياً على الجهاز دون الاعتماد على خدمة تعرف سحابية. يستقبل SDK إطارات Camera2 أو صوراً محلية ويعيد صندوق الوجه وخمس نقاط واتجاه الوجه وyaw والثقة ومعرف تتبع قصير ووقت المعالجة. شمل التسليم Core AAR وFace AAR وCamera2 Demo ووثائق الدمج.
النطاق هو اكتشاف الوجه وتقدير اتجاه الوضعية، وليس التعرف على هوية الشخص. لا يشمل الاسم أو رقم الموظف أو قاعدة وجوه أو تحقق 1:1 أو بحث 1:N أو كشف الحيوية أو تحليل العمر والجنس والعاطفة.
خلفية المشروع
الجهاز المستهدف نظارات RK3588 Android بمعمارية arm64-v8a. احتاج العميل إلى تحديد الأشخاص في معاينة الكاميرا للاختيار باللمس والتكبير الموضعي والتفاعلات اللاحقة. كان المطلوب أن تعمل المعالجة دون اتصال على الجهاز وأن تندمج في تطبيق Android قائم.
تشمل المدخلات Camera2 بصيغة YUV_420_888 وNV21 وRGBA_8888 والصور الثابتة. عالج التنفيذ أيضاً اختلاف معدل الكاميرا عن معدل الاستدلال، وعمر المخزن المؤقت، والدوران والانعكاس وYUV stride وتحويل إحداثيات النموذج إلى المعاينة.
نطاق التسليم
| البند | المحتوى |
|---|---|
| Android SDK | Core AAR وFace AAR |
| Demo | تطبيق Camera2 Demo APK للاكتشاف اللحظي |
| API | اكتشاف متزامن وغير متزامن |
| المدخلات | YUV_420_888 وNV21 وRGBA_8888 وصور محلية |
| المخرجات | صندوق الوجه والثقة وخمس نقاط وأمامي/يسار/يمين وyaw وtrackId ووقت النداء |
| الوثائق | دليل الدمج وأمثلة وتشخيص الأخطاء وملاحظات الإصدار وقائمة SHA-256 |
| التشغيل | معالجة محلية دون اتصال على RK3588 Android |
الحل التقني
المسار: Camera2 أو صورة ثابتة ← معالجة الصيغة والاتجاه ← اكتشاف OpenCV YuNet ← التحليل الهندسي لخمس نقاط ← تصنيف أمامي/يسار/يمين ← تتبع قصير ← callback وطبقة العرض.
يعتمد خط الأساس على OpenCV 4.10.0 وكاشف YuNet على CPU. يستخدم المسار اللحظي 320×320، وتستخدم الصور الثابتة 640×640. تشترك الاتجاهات الثلاثة في كاشف وواجهة SDK واحدة، ويقدر الاتجاه من هندسة النقاط.
يرسل Demo طلباً كل 100 مللي ثانية، أي نحو عشرة طلبات في الثانية. يحتفظ كل مثيل SDK بطلب غير متزامن واحد غير مكتمل. تخزن DirectBuffer التابعة للتطبيق بيانات Y/U/V. يستخدم Camera2 الدالة acquireLatestImage() لتجاوز الإطارات القديمة وتقليل تراكم التأخير.
سبب المشكلة والإصلاح
اكتُشفت بعض الصور على الحاسوب لكنها أعادت صفراً في Android Demo. حددت مقارنة النموذج والمدخلات والمخرجات سبب المشكلة في قراءة مصفوفة نتائج OpenCV Java.
تعيد FaceDetectorYN.detect() مصفوفة أحادية القناة N×15. لم يقرأ الكود الأصلي القيم الخمس عشرة كاملة في كل صف، فاستبعد فحص الطول نتائج صحيحة. يقرأ الإصلاح الصف كاملاً وفق عدد الأعمدة والقنوات. وأضيفت معالجة الدوران وتحويل اللون وحالة بديلة للصور العريضة وفحص اتساق AAR.
وُسع الانحدار ليشمل الوجه الأمامي والجانبي وعدم وجود وجه والصور الثابتة ومسار Camera2 لفصل أخطاء النموذج والمعالجة المسبقة وفك النتائج وإحداثيات الواجهة.
التحقق الهندسي
البيانات التالية من سجل التسليم بتاريخ 2026-07-29 وتنطبق على Eye Algo Face SDK 0.4.5 fix5 فوق RK3588 Android arm64-v8a. تثبت البناء والواجهة والمسار القصير المحدد، ولا تثبت دقة مجموعة كبيرة أو الاستقرار الطويل أو أداء الإنتاج.
| التحقق | النتيجة |
|---|---|
| اختبارات SDK وCore وFace | نجح 157/157 |
| اختبارات Demo المستقلة | نجح 13/13 |
| اختبارات أدوات Python | نجح 143/143 |
| Android Lint | 0 Error و19 Warning |
| بناء APK وAAR | نجح |
| التثبيت والتشغيل والصلاحيات | نجح |
| Camera2 لمدة 10 ثوانٍ | submit/callback 79/79 وdropped 0 |
| فحص أخطاء قصير | لم تُرصد أخطاء انهيار أو كاميرا أو صلاحيات أو مكتبات أصلية |
تغطي العينات وجهاً أمامياً وجانبين متناظرين وعينات سلبية بلا وجه. تستخدم للتحقق من الاكتشاف والاتجاه والواجهة فقط، ولا تُستخدم لاستنتاج Precision أو Recall أو F1 أو دقة كل وضعية.
النتائج والاستخدام
- دمج اكتشاف الأمام واليسار واليمين في واجهة Android SDK واحدة.
- تستخدم إطارات Camera2 والصور المحلية بنية نتائج موحدة.
- تقلل المعالجة المحلية الحاجة إلى رفع الفيديو الخام وتعمل من دون شبكة.
- تخدم الصناديق والنقاط الاختيار والتتبع القصير والتكبير والخوارزميات اللاحقة.
- تتضمن الحزمة Demo وAAR ودليل الدمج وتشخيص الأخطاء وقائمة hash.
تشمل الاستخدامات اختيار الأشخاص في النظارات الذكية والمشاهد متعددة الأشخاص وإشارة اتجاه الوجه والصور غير المتصلة وتجهيز قصاصات الوجه. التعرف على الهوية والحيوية وتحليل السلوك اللاحق خارج النطاق.
حدود القبول
النسخة الحالية لاختبار العميل والدمج الهندسي، وليست موقعة للإنتاج. قبل الإطلاق يلزم توقيع العميل ومجموعة قبول حقيقية مجمدة لتأكيد قواعد الوسم وPrecision وRecall وF1 ومصفوفة الالتباس حسب الوضعية والحدود المسموحة.
قد تسبب الزوايا الشديدة والحجب والانعكاس القوي والإضاءة الضعيفة والوجوه الصغيرة وإعادة تصوير الشاشة حالات فقد أو اتجاه خاطئ. لا يمثل زمن صورة واحدة المتوسط أو P95 أو معدل إطارات ثابتاً أو أداء طويل المدة. اختبار الثماني ساعات غير المكتمل لا يسجل كناجح.
أسئلة شائعة
هل يحتاج SDK إلى شبكة؟
يعمل الاكتشاف على جهاز RK3588 Android ولا يعتمد على السحابة. اتصال التطبيق يتوقف على وظائف العميل.
هل يشمل التعرف على الهوية؟
لا. يشمل موضع الوجه وخمس نقاط واتجاه أمامي/يسار/يمين، دون اسم أو قاعدة وجوه أو 1:1 أو 1:N.
كيف يدمج في تطبيق Android؟
يوفر Core AAR وFace AAR واجهات متزامنة وغير متزامنة. وتشمل الحزمة Camera2 Demo وصيغ الإدخال وقواعد المخزن وأمثلة وتشخيصاً.
ما اختبارات RK3588 المكتملة؟
التثبيت والتشغيل والصلاحيات وعينات الصور ومسار Camera2 لمدة عشر ثوانٍ. الدقة الرسمية والتوقيع واستقرار ثماني ساعات بنود قبول منفصلة.
هل يعمل مباشرة على جهاز RK3588 آخر؟
يمكن إعادة استخدام الواجهة وطريقة الدمج، لكن اختلاف الكاميرا وAndroid والاتجاه وstride والذاكرة والحرارة والحمل يتطلب إعادة اختبار البناء والوظائف والأداء والاستقرار.

Online
Phone
WeChat
Top