استكشاف أخطاء اكتشاف الكائن وإصلاحها
تفترض هذه المقالة أنك قمت بالفعل بتحويل نموذج 3D إلى نموذج اكتشاف Azure Object Anchors وقمت بتحميل النموذج بنجاح في تطبيق.
خطوات استكشاف الأخطاء وإصلاحها
- تأكد من أن الطراز الذي تكتشفه ضمن الحجم المدعوم (1-10 أمتار) للحصول على أفضل تجربة.
- تأكد من احتواء الغرفة على مواد كافية عن طريق إضافة بعض الملصقات.
- أزل الصور المجسمة الحالية لإعادة تعيين الخريطة كما هو موضح أدناه.
- تفحص الجسم بشكل كامل.
- قم بتوفير مربع إحاطة محكم كمنطقة بحث تتضمن كل أو معظم الجسم.
- امسح ذاكرة التخزين المؤقت لتعيين الموضع المكاني وأعِد فحص العنصر.
- تأكد من استخدام اتجاه الجاذبية الصحيح وبعد الأصول أثناء تحويل النموذج كما هو موضح أدناه.
- افحص نموذج الكشف بصريا كما هو موضح أدناه.
- اضبط قيم استعلام النموذج كما هو موضح أدناه.
- التقط التشخيصات كما هو موضح أدناه.
إزالة الصور المجسمة لإعادة تعيين الخريطة
إذا كنت ترى كائنات يتم اكتشافها مع أي من مشكلات المتابعة، فيمكن أن تؤدي إزالة الخريطة وإعادة تعيينها إلى حل المشكلة:
- الاتجاه المقلوب
- وضع غير صحيح
- نموذج مائل
لإزالة الصور المجسمة وإعادة تعيين الخريطة، افتح تطبيق الإعدادات وانتقل إلى System ->الهولوغرام. بعد ذلك، حدد إزالة كل الصور المجسمة للبدء بخريطة جديدة.
يضمن مسح الصور المجسمة إمكانية اكتشاف الأجسام بشكل صحيح في مواقعها الحالية في حالة نقلها مؤخرا.
قم بإعادة فحص بيئتك من خلال التجول في البيئة مرتديا HoloLens. تجول حول أي أشياء تنوي اكتشافها عدة مرات من 1-2 متر.
تأكد من صحة اتجاه الجاذبية ووحدة أبعاد الأصول
عند إرسال نموذج 3D للتحويل باستخدام SDK لتحويل Object Anchors (انظر هنا) ، ستحتاج إلى إدخال اتجاه الجاذبية الصحيح () ووحدة القياس (GravityAssetDimensionUnit) لنموذج 3D الخاص بك. إذا لم تكن هذه القيم صحيحة، فمن غير المرجح أن يكتشف Object Anchors الكائن بشكل صحيح.
اتجاه الجاذبية هو المتجه السفلي الذي يشير إلى الأرض. بالنسبة لنماذج CAD، يكون اتجاه الجاذبية عادةً عكس الاتجاه الصاعد. على سبيل المثال، في كثير من الحالات يمثل + Z لأعلى، وفي هذه الحالة يمثل -Z أو Vector3(0.0, 0.0, -1.0) اتجاه الجاذبية. عند تحديد الجاذبية، يجب أيضاً مراعاة الاتجاه الذي سيظهر فيه النموذج أثناء وقت التشغيل. إذا كنت تحاول اكتشاف كرسي في العالم الحقيقي على سطح مستو ، فقد تكون Vector3(0.0, 0.0, -1.0)الجاذبية . ومع ذلك، إذا كان الكرسي على منحدر 45 درجة، فقد تكون الجاذبية Vector3(0.0, -Sqrt(2)/2, -Sqrt(2)/2).
يمكن تحديد اتجاه الجاذبية باستخدام أداة تشكيل ثلاثية الأبعاد، مثل MeshLab.
تمثل وحدة القياس مقياس النموذج. يمكن العثور على الوحدات المعتمدة باستخدام تعداد Microsoft.Azure.ObjectAnchors.Conversion.AssetLengthUnit.
يمكنك أيضا اتباع التعليمات هنا لتصور نموذج اكتشاف في Unity لفحص اتجاه الجاذبية والمقياس بشكل مرئي يبدو صحيحا.
فحص بصري لشبكة نموذج الكشف
في بعض الأحيان قد يكون من المفيد فحص شبكة نموذج الكشف بصريا حتى تتمكن من رؤية أي مشكلات في الاتجاه أو المقياس أو الميزة. اتبع الإرشادات هنا لتصور نموذج محول في Unity.
ضبط قيم استعلام الكائن
- قم بتوفير مناطق بحث ضيقة لتغطية الجسم بالكامل بشكل مثالي لتحسين سرعة ودقة الكشف.
- غالبا ما تكون القيمة الافتراضية
ObjectQuery.MinSurfaceCoverageكافية، ولكن يمكنك استخدام قيمة أصغر للحصول على اكتشاف أسرع. - استخدم قيمة صغيرة لما
ObjectQuery.ExpectedMaxVerticalOrientationInDegreesإذا كان من المتوقع أن يكون الكائن في وضع مستقيم. - يجب أن يستخدم التطبيق دائماً نموذج كائن
1:1للكشف. يجب أن يكون المقياس المقدر قريباً من 1 بشكل مثالي ضمن خطأ 1 ٪. يمكن للتطبيق تعيينObjectQuery.MaxScaleChangeإلى0أو0.1لتعطيل تقدير المقياس أو تمكينه، وإجراء تقييم نوعي لوضع المثيل. - لمزيد من المعلومات، راجع طريقة اكتشاف كائن صعب .
التقاط التشخيصات
يمكن للتطبيق التقاط أرشيفات التشخيص وحفظها باستخدام كائن ObjectDiagnosticsSession .
يقوم تطبيق نموذج الوحدة مع MRTK بكتابة التشخيصات إلى مجلد TempState . يمكنك بدء جلسة تشخيص عن طريق فتح قائمة اليد، وتحديد بدء التتبع، وإعادة إنتاج محاولة اكتشاف، ثم تحديد إيقاف التتبع لحفظ أرشيف التشخيصات. يمكنك بعد ذلك استخدام Windows Device Portal لاسترداد أرشيف التشخيصات من مجلد TempState الخاص بالتطبيق.
يمكن بعد ذلك مشاركة أرشيف التشخيص معنا حتى نتمكن من المساعدة في تصحيح المشكلة.
الخطوات التالية
في دليل استكشاف الأخطاء وإصلاحها هذا، تعلمت كيفية استكشاف أخطاء اكتشاف كائن مادي وإصلاحها باستخدام Azure Object Anchors. فيما يلي بعض المقالات ذات الصلة: