ছবিতে মাত্রা যোগ করুন

প্ল্যাটফর্ম-নির্দিষ্ট নির্দেশিকা

অ্যান্ড্রয়েড (কোটলিন/জাভা)

অ্যান্ড্রয়েড এনডিকে (সি)

ইউনিটি (এআর ফাউন্ডেশন)

আনরিয়েল ইঞ্জিন

ARCore-এর অগমেন্টেড ইমেজ এপিআই আপনাকে এমন এআর অ্যাপ তৈরি করতে দেয় যা ব্যবহারকারীর পরিবেশে থাকা পোস্টার বা পণ্যের প্যাকেজিং-এর মতো ২ডি ছবি শনাক্ত ও অগমেন্ট করতে পারে।

আপনি এক সেট রেফারেন্স ছবি সরবরাহ করেন। ARCore একটি কম্পিউটার ভিশন অ্যালগরিদম ব্যবহার করে প্রতিটি ছবির গ্রেস্কেল তথ্য থেকে বৈশিষ্ট্যগুলো বের করে এবং এই বৈশিষ্ট্যগুলোর একটি উপস্থাপনা এক বা একাধিক অগমেন্টেড ইমেজ ডেটাবেসে সংরক্ষণ করে।

রানটাইমে, ARCore ব্যবহারকারীর পরিবেশের সমতল পৃষ্ঠগুলিতে এই বৈশিষ্ট্যগুলি অনুসন্ধান করে। এর ফলে ARCore জগতে এই চিত্রগুলি সনাক্ত করতে পারে এবং যদি তাদের অবস্থান, অভিমুখ এবং আকার সরবরাহ করা না থাকে, তবে তা অনুমান করতে পারে।

সক্ষমতা

ARCore একই সাথে সর্বোচ্চ ২০টি ছবি ট্র্যাক করতে পারে। ARCore একই সাথে একই ছবির একাধিক দৃষ্টান্ত শনাক্ত বা ট্র্যাক করবে না।

প্রতিটি অগমেন্টেড ইমেজ ডেটাবেস ১,০০০টি পর্যন্ত রেফারেন্স ইমেজের তথ্য সংরক্ষণ করতে পারে। ডেটাবেসের সংখ্যার কোনো সীমা নেই, কিন্তু যেকোনো নির্দিষ্ট সময়ে কেবল একটি ডেটাবেসই সক্রিয় থাকতে পারে।

রানটাইমে একটি অগমেন্টেড ইমেজ ডেটাবেসে ছবি যোগ করা যায়, যা প্রতি ডেটাবেসে ১,০০০টি ছবির নির্ধারিত সীমা পর্যন্ত সীমাবদ্ধ। নেটওয়ার্ক সংযোগ ব্যবহার করে পূর্বে তৈরি করা ডেটাবেস ডাউনলোড করা সম্ভব।

ছবি যোগ করার সময়, শনাক্ত করার জন্য ছবিটির ভৌত আকার উল্লেখ করা সম্ভব। এমনটা করলে ছবি শনাক্তকরণের কার্যকারিতা উন্নত হবে।

  • যদি কোনো ভৌত আকার প্রদান করা না হয়, তাহলে ARCore আকারটি অনুমান করে এবং সময়ের সাথে সাথে এই অনুমানটিকে পরিমার্জন করে।

  • যদি কোনো ভৌত আকার প্রদান করা হয়, তাহলে ARCore আপাত বা প্রকৃত আকার এবং প্রদত্ত ভৌত আকারের মধ্যেকার যেকোনো অমিল উপেক্ষা করে সেই প্রদত্ত আকারটি ব্যবহার করে এবং ছবিটির অবস্থান ও অভিমুখ অনুমান করে।

ARCore নিম্নলিখিত ধরনের ছবিতে সাড়া দিতে ও সেগুলোকে ট্র্যাক করতে পারে:

  • যে ছবিগুলো এক জায়গায় স্থির থাকে, যেমন দেওয়ালে ঝোলানো কোনো প্রিন্ট বা টেবিলের ওপর রাখা কোনো ম্যাগাজিন।

  • চলমান ছবি, যেমন চলন্ত বাসের বিজ্ঞাপন অথবা ব্যবহারকারীর হাতে থাকা কোনো সমতল বস্তুর ওপরের ছবি, যা তিনি হাত দিয়ে নাড়াচাড়া করার সময় দেখতে পান।

ARCore একবার কোনো ছবি ট্র্যাক করা শুরু করলে, এটি প্রতিটি ফ্রেমে ছবিটির অবস্থান এবং অভিমুখের আনুমানিক ধারণা দেয়। আরও ডেটা সংগ্রহ করার সাথে সাথে ARCore ক্রমাগত এই আনুমানিক ধারণাগুলিকে আরও পরিমার্জন করে।

একবার কোনো ছবি শনাক্ত হয়ে গেলে, ব্যবহারকারী তার ডিভাইসটি নাড়াচাড়া করার কারণে ছবিটি সাময়িকভাবে ক্যামেরার ভিউ থেকে সরে গেলেও, ARCore ছবিটির অবস্থান এবং অভিমুখ 'ট্র্যাক' করতে থাকে। এমনটা ঘটলে, ARCore ধরে নেয় যে ছবিটির অবস্থান এবং অভিমুখ স্থির, এবং ছবিটি নিজে পরিবেশের মধ্যে দিয়ে চলাচল করছে না।

সমস্ত ট্র্যাকিং ডিভাইসেই সম্পন্ন হয়। ছবি শনাক্ত ও ট্র্যাক করার জন্য কোনো ইন্টারনেট সংযোগের প্রয়োজন নেই।

প্রয়োজনীয়তা

ছবি অবশ্যই :

  • প্রাথমিকভাবে শনাক্ত হওয়ার জন্য ক্যামেরা ফ্রেমের কমপক্ষে ২৫% পূরণ করতে হবে।

  • সমতল হতে হবে (যেমন, কুঁচকানো বা বোতলের চারপাশে জড়ানো যাবে না)।

  • ক্যামেরার স্পষ্ট দৃষ্টিসীমার মধ্যে থাকতে হবে। তাদের আংশিকভাবে আড়াল করা, অত্যন্ত তির্যক কোণ থেকে দেখা, অথবা মোশন ব্লারের কারণে ক্যামেরা খুব দ্রুত নড়াচড়া করার সময় দেখা উচিত নয়।

সিপিইউ ব্যবহার এবং কর্মক্ষমতা বিবেচনা

ইতিমধ্যে কোন ARCore ফিচারগুলো চালু আছে তার উপর নির্ভর করে, অগমেন্টেড ইমেজ চালু করলে ARCore-এর সিপিইউ ব্যবহার বেড়ে যেতে পারে। যখন আপনার এআর অভিজ্ঞতার জন্য ফিচারগুলোর প্রয়োজন নেই, তখন অব্যবহৃত ফিচারগুলো নিষ্ক্রিয় করে রাখার কথা বিবেচনা করুন। এর ফলে আপনার অ্যাপের জন্য অতিরিক্ত সিপিইউ সাইকেল উপলব্ধ হবে এবং থার্মাল পারফরম্যান্স ও ব্যাটারি লাইফ উন্নত হবে।

অতিরিক্ত তথ্যের জন্য, কর্মক্ষমতা সংক্রান্ত বিবেচ্য বিষয়গুলো দেখুন।

সর্বোত্তম অনুশীলন

রেফারেন্স ছবি বাছাই করার জন্য কিছু পরামর্শ

  • ছবিটির রেজোলিউশন কমপক্ষে ৩০০ x ৩০০ পিক্সেল হওয়া উচিত। উচ্চ রেজোলিউশনের ছবি ব্যবহার করলে পারফরম্যান্সের উন্নতি হয় না
  • রেফারেন্স ছবি PNG বা JPEG ফাইল ফরম্যাটে প্রদান করা যেতে পারে।
  • রঙের তথ্য ব্যবহার করা হয় না । রঙিন এবং সমতুল্য গ্রেস্কেল উভয় ছবিই রেফারেন্স ইমেজ হিসেবে অথবা ব্যবহারকারীরা রানটাইমে ব্যবহার করতে পারেন।
  • অতিরিক্ত কম্প্রেশনযুক্ত ছবি পরিহার করুন, কারণ এটি ফিচার এক্সট্র্যাকশনে বাধা সৃষ্টি করে।
  • যেসব ছবিতে প্রচুর জ্যামিতিক বৈশিষ্ট্য বা খুব কম বৈশিষ্ট্য (যেমন বারকোড, কিউআর কোড, লোগো এবং অন্যান্য লাইন আর্ট) থাকে, সেগুলো পরিহার করুন, কারণ এর ফলে সনাক্তকরণ এবং ট্র্যাকিংয়ের কার্যকারিতা খারাপ হবে।
  • পুনরাবৃত্তিমূলক নকশাযুক্ত ছবি পরিহার করুন, কারণ এটিও শনাক্তকরণ এবং ট্র্যাকিংয়ে সমস্যা সৃষ্টি করতে পারে।
  • প্রতিটি ছবির জন্য 0 থেকে 100 এর মধ্যে একটি কোয়ালিটি স্কোর পেতে ARCore SDK-তে অন্তর্ভুক্ত arcoreimg টুলটি ব্যবহার করুন। আমরা কমপক্ষে ৭৫ কোয়ালিটি স্কোরের সুপারিশ করি । এখানে দুটি উদাহরণ দেওয়া হলো:

    উদাহরণ চিত্র ১ উদাহরণ চিত্র ২
    স্কোর: 0 স্কোর: 100
    পুনরাবৃত্তিমূলক জ্যামিতিক বৈশিষ্ট্য ধারণ করে পর্যাপ্ত রেজোলিউশন; এতে অনেক অনন্য বৈশিষ্ট্য রয়েছে

ইমেজ ডাটাবেস তৈরির জন্য কিছু টিপস

  • একটি ইমেজ ডাটাবেস ফাইল তৈরি করতে অ্যান্ড্রয়েডের জন্য arcoreimg টুলটি ব্যবহার করুন। এই টুলটি শুধুমাত্র অ্যান্ড্রয়েড এবং অ্যান্ড্রয়েড এনডিকে ডেভেলপমেন্টের জন্য উপলব্ধ। এটি ইউনিটি এসডিকে এবং ARCore আনরিয়েল প্লাগইনের সাথে বিল্ট-ইন রয়েছে।
  • ডাটাবেসটি রেফারেন্স ইমেজগুলোর গ্রেস্কেল ডেটা থেকে নিষ্কাশিত বৈশিষ্ট্যগুলোর একটি সংকুচিত রূপ সংরক্ষণ করে। প্রতিটি ইমেজ এন্ট্রি প্রায় ৬ কিলোবাইট জায়গা নেয়।
  • রানটাইমে ডাটাবেসে একটি ছবি যোগ করতে প্রায় ৩০ মিলিসেকেন্ড সময় লাগে।
    • UI থ্রেডকে ব্লক করা এড়াতে ওয়ার্কার থ্রেডে ছবি যোগ করুন।
    • অথবা, সম্ভব হলে, ARCore SDK-তে অন্তর্ভুক্ত arcoreimg টুলটি ব্যবহার করে কম্পাইল করার সময় ইমেজ যোগ করুন।
  • যদি আপনি কোনো ছবির প্রত্যাশিত ভৌত আকার জানেন, তবে তা উল্লেখ করুন। এই তথ্য ডিটেকশন এবং ট্র্যাকিং-এর কার্যকারিতা উন্নত করে, বিশেষ করে বড় ভৌত ছবির (৭৫ সেন্টিমিটারের বেশি) ক্ষেত্রে।
  • ডাটাবেসে অনেক অব্যবহৃত ছবি রাখা পরিহার করুন, কারণ এতে সিপিইউ-এর ব্যবহার বেড়ে যাওয়ায় সিস্টেমের পারফরম্যান্সের ওপর সামান্য প্রভাব পড়ে।

ট্র্যাকিং অপ্টিমাইজ করার জন্য টিপস

  • যদি আপনার ছবিটি তার প্রাথমিক অবস্থান থেকে কখনও না নড়ে (উদাহরণস্বরূপ, দেয়ালে লাগানো একটি পোস্টার), তাহলে ট্র্যাকিংয়ের স্থিতিশীলতা বাড়ানোর জন্য আপনি ছবিটির সাথে একটি অ্যাঙ্কর সংযুক্ত করতে পারেন।
  • প্রাথমিক সনাক্তকরণের জন্য বাস্তব চিত্রটিকে অবশ্যই ক্যামেরা চিত্রের কমপক্ষে ২৫% স্থান দখল করতে হবে। আপনি ব্যবহারকারীদেরকে তাদের ক্যামেরা ফ্রেমে বাস্তব চিত্রটি স্থাপন করার জন্য অনুরোধ করতে পারেন।
  • যতক্ষণ না ছবিটির ট্র্যাকিং অবস্থা সম্পূর্ণ ট্র্যাকিং হচ্ছে, ততক্ষণ পর্যন্ত ছবিটির পোজ এবং আকারের অনুমান ব্যবহার করবেন না। যখন ARCore দ্বারা প্রাথমিকভাবে একটি ছবি শনাক্ত করা হয় এবং কোনো প্রত্যাশিত ভৌত আকার নির্দিষ্ট করা থাকে না, তখন এর ট্র্যাকিং অবস্থা বিরতি দেওয়া হবে। এর মানে হলো, ARCore ছবিটি শনাক্ত করেছে, কিন্তু ত্রিমাত্রিক স্থানে এর অবস্থান অনুমান করার জন্য যথেষ্ট ডেটা সংগ্রহ করতে পারেনি।