इमेज में डाइमेंशन जोड़ें

प्लैटफ़ॉर्म से जुड़ी गाइड

उपयोगकर्ता के एआरपी में ऑगमेंटेड इमेज एपीआई की मदद से आप ऐसे एआर (ऑगमेंटेड रिएलिटी) ऐप्लिकेशन बना सकते हैं जो उपयोगकर्ता के माहौल में 2D इमेज का पता लगा सकते हैं और उन्हें बदल सकते हैं. जैसे, पोस्टर या प्रॉडक्ट पैकेजिंग.

इससे, आपको इमेज का एक सेट मिलता है. ARCore, हर इमेज में मौजूद ग्रेस्केल जानकारी से सुविधाएं निकालने के लिए, कंप्यूटर विज़न एल्गोरिदम का इस्तेमाल करता है. साथ ही, एक या एक से ज़्यादा ऑगमेंटेड इमेज डेटाबेस में इन सुविधाओं को दिखाने के लिए स्टोर करता है.

रनटाइम पर, ARCore, उपयोगकर्ता की फ़्लैट स्क्रीन पर इन सुविधाओं को खोजें. इससे, ARCore को दुनिया में इन इमेज का पता लगाने और उनकी स्थिति, ओरिएंटेशन, और साइज़ का अनुमान लगाने में मदद मिलती है.

क्षमताएं

ARCore, एक साथ 20 इमेज ट्रैक कर सकता है. ARCore एक ही समय में एक ही इमेज के कई इंस्टेंस का पता नहीं लगाएगा या उनका पता नहीं लगाएगा.

हर ऑगमेंटेड इमेज डेटाबेस 1,000 रेफ़रंस इमेज तक स्टोर कर सकता है. डेटाबेस की संख्या की कोई सीमा नहीं है, लेकिन एक समय पर सिर्फ़ एक डेटाबेस को चालू किया जा सकता है.

रनटाइम के दौरान, इमेज को ऑगमेंटेड इमेज डेटाबेस में जोड़ा जा सकता है. ऐसा 1,000 इमेज की हर डेटाबेस के लिए तय सीमा तक होता है. किसी नेटवर्क कनेक्शन का उपयोग करके पहले बनाए गए डेटाबेस डाउनलोड करना संभव है.

इमेज जोड़ते समय, इमेज का साइज़ देना मुमकिन है. ऐसा करने से, इमेज की पहचान करने की परफ़ॉर्मेंस बेहतर होगी.

  • अगर कोई असली साइज़ नहीं दिया गया है, तो ARCore साइज़ का अनुमान लगाता है और समय के साथ इस अनुमान को बेहतर बनाता है.

  • अगर दिया गया साइज़ दिया गया है, तो ARCore, दिए गए साइज़ और अनुमान का इस्तेमाल करता है. इमेज के साइज़ और पोज़िशन का अनुमान लगाकर, वह साफ़ तौर पर और दिखने वाले साइज़ के बीच लगने वाले अंतर को अनदेखा कर देता है.

ARCore, ऐसी इमेज का जवाब दे सकता है और उन्हें ट्रैक कर सकता है:

  • ऐसी इमेज जो तय समय पर दी गई हों, जैसे कि दीवार पर लटका हुआ प्रिंट या टेबल पर कोई पत्रिका

  • इमेज का इस्तेमाल करना, जैसे कि किसी बस में विज्ञापन दिखाना या उपयोगकर्ता के हाथ में इधर-उधर उछलते हुए किसी सपाट ऑब्जेक्ट पर इमेज दिखना.

जब ARCore किसी इमेज को ट्रैक करना शुरू करता है, तो यह इमेज की पोज़िशन और हर फ़्रेम के ओरिएंटेशन के लिए अनुमान दिखाता है. ARCore इन अनुमानों को लगातार बेहतर बनाता रहता है, क्योंकि यह ज़्यादा डेटा इकट्ठा करता है.

किसी इमेज का पता लगने पर, ARCore जारी रहता है और उसको कोट &कोट करें. इमेज की स्थिति और ओरिएंटेशन, तब भी दिखती है, जब इमेज थोड़ी देर के लिए कैमरे के व्यू से बाहर चले जाती है, क्योंकि उपयोगकर्ता अपने डिवाइस को हिला चुका है. ऐसा होने पर, ARCore यह मान लेता है कि इमेज की स्थिति और ओरिएंटेशन स्थिर है. साथ ही, इमेज अपने-आप एनवायरमेंट में नहीं जा रही है.

सभी ट्रैकिंग डिवाइस पर होती हैं. इमेज को पहचानने और उन्हें ट्रैक करने के लिए, इंटरनेट कनेक्शन की ज़रूरत नहीं होती है.

ज़रूरी शर्तें

इमेज:

  • शुरुआत में पता लगाने के लिए, कम से कम 25% कैमरा फ़्रेम भरें.

  • सपाट रहें (उदाहरण के लिए, रिंच न करें या बोतल में रैप न करें).

  • कैमरे का साफ़ तौर पर व्यू रखें. उन्हें कुछ हद तक धुंधला नहीं किया जाना चाहिए, बहुत ज़्यादा तिरछे कोण से देखा जाना चाहिए या कैमरा धुंधला होने की वजह से ज़्यादा तेज़ी से कैमरा चलते समय नहीं दिखना चाहिए.

सीपीयू (CPU) का इस्तेमाल और परफ़ॉर्मेंस पर विचार

इस बात पर निर्भर करते हुए कि ARCore की सुविधाएं पहले से ही चालू हैं, ऑगमेंटेड रिएलिटी (एआर) की सुविधा चालू करने से ARCore's के सीपीयू के इस्तेमाल में बढ़ोतरी हो सकती है. अगर आपको एआर (ऑगमेंटेड रिएलिटी) अनुभव की ज़रूरत नहीं है, तो इस्तेमाल न की गई किसी भी सुविधा को बंद कर दें. इससे, आपके ऐप्लिकेशन के लिए अतिरिक्त सीपीयू साइकल उपलब्ध होंगी और थर्मल परफ़ॉर्मेंस और बैटरी लाइफ़ बेहतर होगी.

ज़्यादा जानकारी के लिए, परफ़ॉर्मेंस के बारे में खास बातें देखें.

सबसे सही तरीके

पहचान इमेज चुनने के लिए सलाह

  • इमेज और रिज़ॉल्यूशन कम से कम 300 x 300 पिक्सल होना चाहिए. ज़्यादा रिज़ॉल्यूशन वाली इमेज का इस्तेमाल करने से परफ़ॉर्मेंस बेहतर नहीं होती.
  • रेफ़रंस इमेज PNG या JPEG फ़ाइल फ़ॉर्मैट में दी जा सकती हैं.
  • रंग की जानकारी इस्तेमाल नहीं की जाती है. रंग और मिलते-जुलते स्लेटी रंग की इमेज का इस्तेमाल, पहचान इमेज के तौर पर या रनटाइम के दौरान उपयोगकर्ताओं की ओर से किया जा सकता है.
  • ज़्यादा कंप्रेस करने के लिए इमेज से बचें, क्योंकि ऐसा करने से सुविधा से निकाले जाने में रुकावट आती है.
  • ऐसी इमेज से बचें जिनमें बहुत ज़्यादा ज्यामितीय सुविधाएं या बहुत कम सुविधाएं हों (जैसे कि बारकोड, क्यूआर कोड, लोगो, और लाइन आर्ट की दूसरी चीज़ें) ऐसा करने से परफ़ॉर्मेंस का पता नहीं लगाया जा सकेगा और परफ़ॉर्मेंस ट्रैक नहीं होगी.
  • दोहराव वाले पैटर्न वाली इमेज इस्तेमाल करने से बचें. इससे इमेज की पहचान करने और उसे ट्रैक करने में भी समस्या हो सकती है.
  • हर इमेज के लिए 0 और 100 के बीच क्वालिटी स्कोर पाने के लिए, ARCore SDK में शामिल arcoreimg टूल का इस्तेमाल करें. हमारा सुझाव है कि आप क्वालिटी स्कोर कम से कम 75 रखें. ऐसा करने के दो उदाहरण यहां दिए गए हैं:

    पहली इमेज का उदाहरण दूसरी इमेज का उदाहरण
    स्कोर: 0 स्कोर: 100
    ज्यामितीय विशेषताओं को दोहराया जाता है ज़रूरत के हिसाब से रिज़ॉल्यूशन; इसमें कई यूनीक फ़ीचर हैं

इमेज का डेटाबेस बनाने के लिए सलाह

  • इमेज डेटाबेस फ़ाइल जनरेट करने के लिए, Android के लिए Arcoreimg टूल का इस्तेमाल करें. यह टूल सिर्फ़ Android और Android NDK के डेवलपमेंट के लिए उपलब्ध है. यह Unity SDK और ARCore असामान्य प्लग इन में पहले से मौजूद है.
  • डेटाबेस, रेफ़रंस इमेज में मौजूद ग्रेस्केल डेटा से निकाली गई सुविधाओं की कंप्रेस की गई इमेज सेव करता है. हर इमेज की एंट्री करीब छह केबी में होती है.
  • डेटाबेस में किसी इमेज को रनटाइम के दौरान जोड़ने में करीब 30 मि॰से॰ का समय लगता है.
    • यूज़र इंटरफ़ेस (यूआई) थ्रेड को ब्लॉक होने से बचाने के लिए, वर्कर थ्रेड में इमेज जोड़ें.
    • इसके अलावा, अगर हो सके, तो ARCore SDK टूल में शामिल arcoreimg टूल का इस्तेमाल करके, कंपाइल करने के दौरान कंपाइल करने के लिए इमेज जोड़ें.
  • अगर आपको किसी इमेज का अनुमानित साइज़ पता है, तो इसकी जानकारी दें. यह जानकारी, खास तौर पर बड़ी फ़िज़िकल इमेज (75 से॰मी॰ से ज़्यादा) के लिए पहचानने और ट्रैक करने की परफ़ॉर्मेंस को बेहतर बनाती है.
  • डेटाबेस में, इस्तेमाल न की गई कई इमेज को रखने से बचें, क्योंकि सीपीयू के इस्तेमाल की वजह से सिस्टम की परफ़ॉर्मेंस पर थोड़ा असर पड़ता है.

ट्रैकिंग को ऑप्टिमाइज़ करने के लिए सलाह

  • अगर आपकी इमेज कभी भी अपनी शुरुआती जगह से नहीं हटती है (उदाहरण के लिए, किसी वॉल पर अटैच किया गया पोस्टर), तो आप ट्रैकिंग की स्थिरता बढ़ाने के लिए इमेज में ऐंकर अटैच कर सकते हैं.
  • शुरुआत में पहचान करने के लिए फ़िज़िकल इमेज को कम से कम 25% कैमरे की इमेज का इस्तेमाल करना चाहिए. आप उपयोगकर्ताओं को उनके कैमरे के फ़्रेम में, इमेज को फ़िट करने के लिए कह सकते हैं.
  • इमेज और स्थिति के अनुमान का इस्तेमाल तब तक न करें, जब तक इमेज की ट्रैकिंग की स्थिति ट्रैक न हो जाए. जब किसी इमेज का शुरुआती तौर पर ARCore से पता लगाया जाता है और इमेज के साइज़ की जानकारी नहीं दी जाती, तो उसकी ट्रैकिंग की स्थिति रुक जाएगी. इसका मतलब है कि ARCore ने इमेज को पहचान लिया है, लेकिन 3D स्पेस में इसकी जगह का अनुमान लगाने के लिए ज़रूरी डेटा इकट्ठा नहीं किया है.