راهنماهای مخصوص پلتفرم
اندروید (کاتلین/جاوا)
اندروید NDK (سی)
یونیتی (بنیاد واقعیت افزوده)
موتور غیرواقعی
رابطهای برنامهنویسی کاربردی تصاویر افزوده در ARCore به شما امکان میدهد برنامههای واقعیت افزودهای بسازید که بتوانند تصاویر دوبعدی را در محیط کاربر، مانند پوسترها یا بستهبندی محصولات، شناسایی و تقویت کنند.
شما مجموعهای از تصاویر مرجع را ارائه میدهید. ARCore از یک الگوریتم بینایی کامپیوتر برای استخراج ویژگیها از اطلاعات خاکستری در هر تصویر استفاده میکند و نمایشی از این ویژگیها را در یک یا چند پایگاه داده تصویر افزوده ذخیره میکند.
در زمان اجرا، ARCore این ویژگیها را روی سطوح صاف در محیط کاربر جستجو میکند. این به ARCore اجازه میدهد تا این تصاویر را در جهان شناسایی کرده و موقعیت، جهت و اندازه آنها را در صورت عدم ارائه، تخمین بزند.
قابلیتها
ARCore میتواند تا 20 تصویر را به طور همزمان ردیابی کند. ARCore نمیتواند چندین نمونه از یک تصویر را به طور همزمان شناسایی یا ردیابی کند.
هر پایگاه داده تصویر افزوده میتواند اطلاعات تا ۱۰۰۰ تصویر مرجع را ذخیره کند. هیچ محدودیتی برای تعداد پایگاههای داده وجود ندارد، اما فقط یک پایگاه داده میتواند در هر زمان معین فعال باشد.
تصاویر را میتوان در زمان اجرا به پایگاه داده تصویر افزوده اضافه کرد، تا سقف ۱۰۰۰ تصویر در هر پایگاه داده. دانلود پایگاههای داده ایجاد شده قبلی با استفاده از اتصال شبکه امکانپذیر است.
هنگام افزودن تصویر، میتوان اندازه فیزیکی تصویر مورد نظر برای تشخیص را ارائه داد. انجام این کار عملکرد تشخیص تصویر را بهبود میبخشد.
اگر اندازه فیزیکی ارائه نشود، ARCore اندازه را تخمین میزند و این تخمین را به مرور زمان اصلاح میکند.
اگر اندازه فیزیکی ارائه شود، ARCore از اندازه ارائه شده استفاده میکند و موقعیت و جهت تصویر را تخمین میزند و هرگونه اختلاف بین اندازه ظاهری یا واقعی و اندازه فیزیکی ارائه شده را نادیده میگیرد.
ARCore میتواند به تصاویری که شرایط زیر را دارند، پاسخ داده و آنها را ردیابی کند:
تصاویری که در جای خود ثابت هستند، مانند یک چاپ آویزان از دیوار یا یک مجله روی میز
تصاویر متحرک، مانند تبلیغات روی اتوبوس در حال عبور یا تصویر روی یک جسم صاف که کاربر هنگام حرکت دستهایش آن را نگه داشته است.
به محض اینکه ARCore شروع به ردیابی یک تصویر میکند، تخمینهایی از موقعیت و جهت تصویر در هر فریم ارائه میدهد. ARCore به طور مداوم این تخمینها را با جمعآوری دادههای بیشتر اصلاح میکند.
به محض اینکه یک تصویر شناسایی شود، ARCore به «ردیابی» موقعیت و جهت تصویر ادامه میدهد، حتی زمانی که تصویر به دلیل جابجایی دستگاه کاربر، موقتاً از نمای دوربین خارج میشود. وقتی این اتفاق میافتد، ARCore فرض میکند که موقعیت و جهت تصویر ثابت است و خود تصویر در محیط حرکت نمیکند.
تمام ردیابیها روی دستگاه انجام میشود. برای تشخیص و ردیابی تصاویر نیازی به اتصال به اینترنت نیست.
الزامات
تصاویر باید :
حداقل ۲۵٪ از کادر دوربین را برای شناسایی اولیه پر کنید.
صاف باشد (مثلاً چروکیده نباشد یا دور بطری پیچیده نشده باشد).
در دید واضح دوربین باشند. نباید تا حدی مبهم باشند، با زاویه بسیار مورب دیده شوند، یا به دلیل تاری حرکت، وقتی دوربین خیلی سریع حرکت میکند، دیده شوند.
ملاحظات مربوط به استفاده از پردازنده و عملکرد
بسته به اینکه کدام ویژگیهای ARCore از قبل فعال هستند، فعال کردن تصاویر افزوده ممکن است استفاده از CPU توسط ARCore را افزایش دهد. غیرفعال کردن ویژگیهای بلااستفاده را در مواقعی که تجربه AR شما به آنها نیاز ندارد، در نظر بگیرید. این کار چرخههای CPU بیشتری را در دسترس برنامه شما قرار میدهد و عملکرد حرارتی و عمر باتری را بهبود میبخشد.
برای اطلاعات بیشتر، به ملاحظات عملکرد مراجعه کنید.
بهترین شیوهها
نکاتی برای انتخاب تصاویر مرجع
- وضوح تصویر باید حداقل ۳۰۰ در ۳۰۰ پیکسل باشد. استفاده از تصاویر با وضوح بالا عملکرد را بهبود نمیبخشد .
- تصاویر مرجع میتوانند با فرمت PNG یا JPEG ارائه شوند.
- اطلاعات رنگی استفاده نمیشود . تصاویر رنگی و تصاویر معادل خاکستری میتوانند به عنوان تصاویر مرجع یا توسط کاربران در زمان اجرا استفاده شوند.
- از تصاویر با فشردهسازی سنگین خودداری کنید زیرا این امر در استخراج ویژگی اختلال ایجاد میکند.
- از تصاویری که شامل تعداد زیادی ویژگی هندسی یا ویژگیهای بسیار کمی (مانند بارکد، کدهای QR، لوگو و سایر هنرهای خطی) هستند، خودداری کنید زیرا این امر منجر به عملکرد ضعیف تشخیص و ردیابی خواهد شد.
- از تصاویر با الگوهای تکراری خودداری کنید زیرا این امر نیز میتواند باعث ایجاد مشکل در تشخیص و ردیابی شود.
از ابزار
arcoreimgکه در ARCore SDK موجود است برای دریافت امتیاز کیفیت بین0تا100برای هر تصویر استفاده کنید. ما حداقل امتیاز کیفیت ۷۵ را توصیه میکنیم . در اینجا دو مثال آورده شده است:تصویر مثال ۱ تصویر مثال ۲ 

امتیاز: 0امتیاز: 100شامل ویژگیهای هندسی تکراری است وضوح کافی؛ شامل بسیاری از ویژگیهای منحصر به فرد
نکاتی برای ایجاد پایگاه داده تصویر
- از ابزار arcoreimg برای اندروید برای تولید یک فایل پایگاه داده تصویر استفاده کنید. این ابزار فقط برای اندروید و توسعه NDK اندروید در دسترس است. این ابزار در Unity SDK و افزونه ARCore Unreal تعبیه شده است.
- این پایگاه داده، نمایش فشردهای از ویژگیهای استخراجشده از دادههای خاکستری در تصاویر مرجع را ذخیره میکند. هر ورودی تصویر حدود ۶ کیلوبایت فضا اشغال میکند.
- اضافه کردن یک تصویر به پایگاه داده در زمان اجرا حدود 30 میلیثانیه طول میکشد.
- برای جلوگیری از مسدود شدن نخ رابط کاربری، تصاویر را روی یک نخ کارگر اضافه کنید.
- یا در صورت امکان، تصاویر را در زمان کامپایل با استفاده از ابزار
arcoreimgکه در ARCore SDK موجود است، اضافه کنید.
- اگر اندازه فیزیکی مورد انتظار یک تصویر را میدانید، آن را مشخص کنید. این اطلاعات عملکرد تشخیص و ردیابی را بهبود میبخشد، به خصوص برای تصاویر فیزیکی بزرگ (بیش از 75 سانتیمتر).
- از نگهداری تصاویر بلااستفاده زیاد در پایگاه داده خودداری کنید، زیرا به دلیل افزایش استفاده از CPU، تأثیر کمی بر عملکرد سیستم دارد.
نکاتی برای بهینهسازی ردیابی
- If your image will never move from its initial position (for example, a poster affixed to a wall), you can attach an anchor to the image to increase tracking stability.
- برای تشخیص اولیه، تصویر فیزیکی باید حداقل ۲۵٪ از تصویر دوربین را اشغال کند. میتوانید از کاربران بخواهید تصویر فیزیکی را در قاب دوربین خود جای دهند.
- تا زمانی که وضعیت ردیابی تصویر به ردیابی کامل نرسیده است، از تخمینهای موقعیت و اندازه تصویر استفاده نکنید. هنگامی که تصویری در ابتدا توسط ARCore شناسایی میشود و هیچ اندازه فیزیکی مورد انتظاری مشخص نشده است، وضعیت ردیابی آن متوقف میشود. این بدان معناست که ARCore تصویر را شناسایی کرده است، اما دادههای کافی برای تخمین موقعیت آن در فضای سهبعدی جمعآوری نکرده است.