إضافة بُعد إلى الصور

الأدلة الخاصة بالمنصة

تتيح لك واجهات برمجة التطبيقات لميزة "الصور المعزّزة" في 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 قد رصد الصورة، ولكنه لم يجمع بيانات كافية لتقدير موقعها في الفضاء الثلاثي الأبعاد.