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

प्लैटफ़ॉर्म के हिसाब से गाइड

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

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

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

मिलने वाली अनुमतियां

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

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

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

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

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

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

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

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

  • वीडियो में इमेज की जगह बदलना. जैसे, पास से जा रही बस पर विज्ञापन दिखाना या हाथ हिलाते समय किसी समतल चीज़ पर विज्ञापन दिखाना.

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

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

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

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

इमेज में:

  • कैमरे के कम से कम 25% हिस्से में जगह की जानकारी भरें, ताकि शुरुआत में उसका पता लगाया जा सके.

  • सपाट होना चाहिए. उदाहरण के लिए, झुर्रीदार या बोतल के चारों ओर लिपटा हुआ नहीं होना चाहिए.

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

सीपीयू के इस्तेमाल और परफ़ॉर्मेंस से जुड़ी ज़रूरी बातें

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

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

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

पहचान फ़ाइल चुनने के लिए सलाह

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

    उदाहरण इमेज 1 दूसरी इमेज का उदाहरण
    स्कोर: 0 स्कोर: 100
    इसमें दोहराव वाली ज्यामितीय विशेषताएं हैं पर्याप्त रिज़ॉल्यूशन; कई विशिष्ट सुविधाएं शामिल हैं

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

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

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

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