الأدلة الخاصة بالمنصة
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Unreal Engine
تتيح لك واجهات برمجة التطبيقات Augmented Images في ARCore إنشاء تطبيقات الواقع المعزّز التي يمكنها رصد الصور الثنائية الأبعاد وتعزيزها في بيئة المستخدم، مثل الملصقات أو حزم المنتجات.
يمكنك تقديم مجموعة من الصور المرجعية. يستخدم ARCore خوارزمية رؤية الكمبيوتر لاستخراج العناصر من معلومات التدرج الرمادي في كل صورة، ويخزِّن تمثيلاً لهذه العناصر في قاعدة بيانات واحدة أو أكثر من قواعد بيانات الصور المعزّزة.
أثناء التشغيل، يبحث ARCore عن هذه الميزات على الأسطح المستوية في بيئة المستخدم. ويتيح ذلك لـ ARCore اكتشاف هذه الصور في العالم وتقدير موضعها واتجاهها وحجمها في حال عدم توفير إحدى الصور.
الإمكانات
يمكن لـ ARCore تتبع ما يصل إلى 20 صورة في وقت واحد. لن يتمكّن ARCore من رصد أو تتبُّع نُسخ متعددة من الصورة نفسها في الوقت نفسه.
يمكن لكل قاعدة بيانات للصور المعززة تخزين معلومات ما يصل إلى 1,000 صورة مرجعية. ما مِن حدّ أقصى لعدد قواعد البيانات، ولكن يمكن أن تكون قاعدة بيانات واحدة فقط فعالة في أيّ وقت معيّن.
يمكن إضافة صور إلى قاعدة بيانات الصور الموسّعة أثناء التشغيل، بما يصل إلى 1,000 صورة لكل قاعدة بيانات. من الممكن تنزيل قواعد بيانات تم إنشاؤها سابقًا باستخدام اتصال بالشبكة.
عند إضافة صورة، يمكنك تقديم الحجم الفعلي للصورة للكشف عنها. سيؤدي ذلك إلى تحسين أداء ميزة "اكتشاف الصور".
إذا لم يتوفر حجم مادي، يقدّر ARCore الحجم ويحسّن هذا التقدير بمرور الوقت.
إذا تم توفير حجم مادي، يستخدم ARCore الحجم المقدَّم ويقدِّر موضع الصورة واتجاهها، مع تجاهل أي تناقض بين الحجم الظاهر أو الفعلي والحجم المادي المقدَّم.
يمكن لـ ARCore الردّ على الصور وتتبُّعها في الحالات التالية:
الصور الثابتة في مكانها، مثل صورة معلقة على الحائط أو مجلّة على طاولة
الصور المتحركة، مثل إعلان على حافلة تمرّ أو صورة على جسم مسطّح يحمله المستخدم أثناء تحريك يديه
بعد أن يبدأ ARCore في تتبُّع صورة، يقدّم تقديرات لموضع الصورة واتجاهها في كل لقطة. تعمل تقنية ARCore باستمرار على تحسين هذه التقديرات أثناء جمع المزيد من البيانات.
بعد اكتشاف صورة، يواصل ARCore "تتبع" موضع الصورة واتجاهها، حتى عندما تنتقل الصورة مؤقتًا من عرض الكاميرا لأن المستخدم قد حرّك جهازه. وعندما يحدث ذلك، يفترض ARCore أنّ موقع الصورة واتجاهها ثابتان وأنّ الصورة نفسها لا تتحرّك في البيئة.
تتم جميع عمليات التتبُّع على الجهاز. لا يلزم الاتصال بالإنترنت لرصد وتتبُّع الصور.
المتطلبات
يجب أن تستوفي الصور الشروط التالية:
يجب أن تملأ الصورة 25% على الأقل من إطار الكاميرا لكي يتم رصدها في البداية.
أن تكون مسطّحة (على سبيل المثال، ألّا تكون مجعّدة أو ملفوفة حول زجاجة)
يجب أن تظهر بوضوح في الكاميرا. يجب ألا تكون محجوبة جزئيًا أو يتم عرضها من زاوية مائلة جدًا أو عند تحرك الكاميرا بسرعة كبيرة بسبب أثر التمويه في الحركة.
الاعتبارات المتعلقة باستخدام وحدة المعالجة المركزية (CPU) وأدائها
استنادًا إلى ميزات ARCore المفعَّلة حاليًا، قد يؤدي تفعيل ميزة "الصور المعزّزة" إلى زيادة معدّل استخدام وحدة المعالجة المركزية في ARCore. يمكنك إيقاف أي ميزات غير مستخدَمة عندما لا تحتاج إليها تجربة الواقع المعزّز. سيؤدي ذلك إلى إتاحة دورات وحدة المعالجة المركزية (CPU) الإضافية لتطبيقك، وتحسين الأداء الحراري وعمر البطارية.
لمزيد من المعلومات، يُرجى الاطّلاع على العوامل التي يجب مراعاتها في ما يتعلّق بالأداء.
أفضل الممارسات
نصائح لاختيار الصور المرجعية
- يجب أن تكون دقة الصورة 300 × 300 بكسل على الأقل. لا يؤدي استخدام صور بدقة عالية إلى تحسين الأداء.
- يمكن تقديم الصور المرجعية بتنسيق ملف PNG أو JPEG.
- لا يتم استخدام معلومات اللون. يمكن استخدام كل من الصور بتدرج الرمادي والصور المكافئة كصور مرجعية أو بواسطة المستخدمين في وقت التشغيل.
- تجنَّب الصور التي تم ضغطها بشكل كبير لأنّ ذلك يتداخل مع عملية استخراج العناصر.
- تجنَّب الصور التي تحتوي على عدد كبير من الأشكال الهندسية أو عدد قليل جدًا من الأشكال (مثل الرموز الشريطية ورموز الاستجابة السريعة والشعارات والأشكال الهندسية الأخرى)، لأنّ ذلك منجرّ إلى ضعف أداء رصد العناصر وتتبُّعها.
- تجنَّب الصور التي تتضمّن أنماطًا متكرّرة لأنّ ذلك قد يؤدي أيضًا إلى حدوث مشاكل في الرصد والتتبُّع.
استخدِم أداة
arcoreimg
المضمّنة في حزمة تطوير البرامج (SDK) لتطبيق ARCore للحصول على نقاط جودة تتراوح بين0
و100
لكل صورة. ننصح بالحصول على نقاط جودة لا تقل عن 75. وإليك مثالان:مثال الصورة 1 مثال الصورة 2 النتيجة: 0
النتيجة: 100
يحتوي على ميزات هندسية متكررة درجة دقة كافية، وتحتوي على العديد من الميزات الفريدة
نصائح لإنشاء قاعدة بيانات الصور
- استخدِم أداة arcoreimg لنظام التشغيل Android لإنشاء ملف قاعدة بيانات للصور. هذه الأداة متاحة لتطوير Android وAndroid NDK فقط. وهي مدمجة في حزمة تطوير البرامج (SDK) لـ Unity وARCore والمكوّن الإضافي Unreal.
- تخزِّن قاعدة البيانات تمثيلاً مضغوطًا للسمات المستخرَجة من بيانات التدرج الرمادي في الصور المرجعية. يشغل كل إدخال صورة مساحة تبلغ 6 كيلوبايت تقريبًا.
- تستغرق إضافة صورة إلى قاعدة البيانات أثناء التشغيل حوالي 30 ملي ثانية.
- أضِف الصور إلى سلسلة مهام فرعية لتجنُّب حظر سلسلة مهام واجهة المستخدم.
- أو يمكنك إضافة الصور في وقت الترجمة، إن أمكن، باستخدام أداة
arcoreimg
المضمّنة في حزمة تطوير البرامج (SDK) لـ ARCore.
- إذا كنت تعرف الحجم المادي المتوقّع للصورة، حدِّده. وتعمل هذه المعلومات على تحسين أداء الاكتشاف والتتبُّع، خاصةً مع الصور المادية الكبيرة (التي يزيد حجمها عن 75 سم).
- تجنَّب الاحتفاظ بالعديد من الصور غير المستخدَمة في قاعدة البيانات لأنّ ذلك يؤدي إلى تأثير بسيط في أداء النظام بسبب زيادة استخدام وحدة المعالجة المركزية.
نصائح لتحسين التتبّع
- إذا كانت صورتك لن تتحرك أبدًا من موضعها الأوّلي (مثل ملف تعريفي مصوّر مثبّت على الحائط)، يمكنك إرفاق نقطة تثبيت بالصورة لزيادة ثبات التتبّع.
- يجب أن تشغل الصورة المادية 25% على الأقل من صورة الكاميرا لأجل عملية الكشف الأولية. يمكنك توجيه المستخدمين إلى ملاءمة الصورة الفعلية في إطار الكاميرا.
- لا تستخدم تقديرات وضعية الصورة وحجمها حتى تصبح حالة التتبع كاملة للصورة. عندما يرصد ARCore صورة في البداية، ولا يتم تحديد حجمها الفعلي المتوقّع، سيتم أولاً إيقاف حالة التتبّع مؤقتًا. يعني ذلك أنّ ARCore قد رصد الصورة، ولكنه لم يجمع بيانات كافية لتقدير موقعها في الفضاء الثلاثي الأبعاد.