Unity's AR ফাউন্ডেশনে ব্যবহারকারীর পরিবেশ বুঝুন

আপনার নিজের অ্যাপে কীভাবে দৃশ্য শব্দার্থতত্ত্ব API ব্যবহার করবেন তা শিখুন।

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

বাম থেকে ডানে, একটি ইনপুট চিত্রের উদাহরণ, পিক্সেল লেবেলের শব্দার্থিক চিত্র এবং সংশ্লিষ্ট আত্মবিশ্বাসের চিত্র:

ইনপুট ইমেজ, সিমেন্টিক ইমেজ এবং সিমেন্টিক কনফিডেন্স ইমেজের উদাহরণ।

পূর্বশর্ত

এগিয়ে যাওয়ার আগে নিশ্চিত করুন যে আপনি মৌলিক AR ধারণা এবং কীভাবে একটি ARCore সেশন কনফিগার করবেন তা বুঝতে পেরেছেন।

দৃশ্য শব্দার্থ সক্রিয় করুন

একটি নতুন ARCore সেশনে , একজন ব্যবহারকারীর ডিভাইস দৃশ্য শব্দার্থতত্ত্ব API সমর্থন করে কিনা তা পরীক্ষা করুন৷ প্রসেসিং পাওয়ার সীমাবদ্ধতার কারণে সমস্ত ARCore-সামঞ্জস্যপূর্ণ ডিভাইস দৃশ্য শব্দার্থবিদ্যা API সমর্থন করে না।

সম্পদ সংরক্ষণ করতে, দৃশ্য শব্দার্থবিদ্যা ARCore-এ ডিফল্টরূপে অক্ষম করা হয়। আপনার অ্যাপ্লিকেশন দৃশ্য শব্দার্থবিদ্যা API ব্যবহার করতে শব্দার্থিক মোড সক্ষম করুন.

আপনার ARCoreExtensionsConfig- এ, শব্দার্থবিদ্যা মোডকে সক্ষম করুন।

শব্দার্থবিদ্যা মোড সক্ষম করা হয়েছে।

আইওএস ব্যবহার করলে, প্রজেক্ট সেটিংসে শব্দার্থবিদ্যাও সক্ষম করতে হবে:

  1. এডিট > প্রোজেক্ট সেটিংস > XR প্লাগ-ইন ম্যানেজমেন্ট > ARCore এক্সটেনশন- এ নেভিগেট করুন।
  2. ঐচ্ছিক বৈশিষ্ট্যের অধীনে, iOS-এ শব্দার্থবিদ্যা নির্বাচন করুন।

iOS-এ শব্দার্থবিদ্যা ঐচ্ছিক বৈশিষ্ট্যে সক্ষম।

শব্দার্থিক ইমেজ প্রাপ্ত

একবার দৃশ্য শব্দার্থবিদ্যা সক্ষম হলে, শব্দার্থক চিত্রটি পুনরুদ্ধার করা যেতে পারে। শব্দার্থিক চিত্রটি একটি TextureFormat.R8 চিত্র, যেখানে প্রতিটি পিক্সেল SemanticLabel দ্বারা সংজ্ঞায়িত একটি শব্দার্থিক লেবেলের সাথে মিলে যায়।

শব্দার্থক চিত্র অর্জন করতে ArSemanticManager.TryGetSemanticTexture() ব্যবহার করুন:

if (semanticManager.TryGetSemanticTexture(out Texture2D semanticImage))
{
    using (semanticImage)
    {
        // Use the semantic image here.
    }
}

আউটপুট শব্দার্থিক ছবিগুলি ডিভাইসের উপর নির্ভর করে সেশনের শুরু থেকে প্রায় 1-3 ফ্রেমের পরে পাওয়া উচিত।

আত্মবিশ্বাস ইমেজ প্রাপ্ত

শব্দার্থিক চিত্র ছাড়াও, যা প্রতিটি পিক্সেলের জন্য একটি লেবেল সরবরাহ করে, এপিআই সংশ্লিষ্ট পিক্সেল আত্মবিশ্বাসের মানগুলির একটি আত্মবিশ্বাসের চিত্রও সরবরাহ করে। কনফিডেন্স ইমেজ হল একটি TextureFormat.Alpha8 ইমেজ, যেখানে প্রতিটি পিক্সেল রেঞ্জের একটি মানের সাথে সঙ্গতিপূর্ণ হয় [0, 255] , প্রতিটি পিক্সেলের জন্য শব্দার্থিক লেবেলের সাথে সম্পর্কিত সম্ভাব্যতার সাথে সম্পর্কিত।

ArSemanticManager.TryGetSemanticConfidenceTexture() ব্যবহার করুন শব্দার্থক আত্মবিশ্বাসের চিত্র অর্জন করতে:

if (semanticManager.TryGetSemanticConfidenceTexture(out Texture2D semanticConfidenceImage))
{
    using (semanticConfidenceImage)
    {
        // Use the semantic confidence image here.
    }
}

ডিভাইসের উপর নির্ভর করে আউটপুট কনফিডেন্স ইমেজগুলি সেশনের শুরু থেকে প্রায় 1-3 ফ্রেমের পরে পাওয়া উচিত।

একটি শব্দার্থিক লেবেলের জন্য পিক্সেলের ভগ্নাংশ জিজ্ঞাসা করুন

আপনি বর্তমান ফ্রেমে পিক্সেলের ভগ্নাংশকেও জিজ্ঞাসা করতে পারেন যা একটি নির্দিষ্ট শ্রেণীর অন্তর্গত, যেমন আকাশ। এই ক্যোয়ারীটি শব্দার্থিক ইমেজ ফেরত দেওয়া এবং একটি নির্দিষ্ট লেবেলের জন্য পিক্সেল-ভিত্তিক অনুসন্ধান করার চেয়ে বেশি কার্যকর। প্রত্যাবর্তিত ভগ্নাংশ হল [0.0, 1.0] পরিসরে একটি ফ্লোট মান।

একটি প্রদত্ত লেবেলের জন্য ভগ্নাংশ অর্জন করতে ArSemanticManager.GetSemanticLabelFraction() ব্যবহার করুন:

var fraction = semanticManager.GetSemanticLabelFraction(SemanticLabel.SKY);