راهنماهای مخصوص پلتفرم
Android (Kotlin/Java)
Android NDK (C)
یونیتی (بنیاد AR)
موتور غیر واقعی
Augmented Images APIs در ARCore به شما امکان میدهد برنامههای واقعیت افزوده بسازید که میتوانند تصاویر دوبعدی را در محیط کاربر، مانند پوسترها یا بستهبندی محصول، شناسایی و تقویت کنند.
شما مجموعه ای از تصاویر مرجع ارائه می دهید. ARCore از یک الگوریتم بینایی کامپیوتری برای استخراج ویژگی ها از اطلاعات مقیاس خاکستری در هر تصویر استفاده می کند و نمایشی از این ویژگی ها را در یک یا چند پایگاه داده تصویر افزوده ذخیره می کند.
در زمان اجرا، ARCore این ویژگی ها را بر روی سطوح صاف در محیط کاربر جستجو می کند. این به ARCore این امکان را می دهد که این تصاویر را در جهان شناسایی کند و در صورت عدم ارائه، موقعیت، جهت و اندازه آنها را تخمین بزند.
قابلیت ها
ARCore می تواند تا 20 تصویر را به طور همزمان ردیابی کند. ARCore چندین نمونه از یک تصویر را به طور همزمان شناسایی یا ردیابی نمی کند.
هر پایگاه داده تصویر افزوده می تواند اطلاعات تا 1000 تصویر مرجع را ذخیره کند. هیچ محدودیتی برای تعداد پایگاههای داده وجود ندارد، اما تنها یک پایگاه داده میتواند در هر زمان فعال باشد.
تصاویر را می توان در زمان اجرا تا سقف 1000 تصویر در هر پایگاه داده به پایگاه داده تصویر افزوده اضافه کرد. امکان دانلود پایگاه داده های ایجاد شده قبلی با استفاده از اتصال شبکه وجود دارد.
هنگام افزودن یک تصویر، می توان اندازه فیزیکی تصویر را برای شناسایی ارائه کرد. انجام این کار باعث بهبود عملکرد تشخیص تصویر می شود.
اگر اندازه فیزیکی ارائه نشده باشد، ARCore اندازه را تخمین زده و این تخمین را در طول زمان اصلاح می کند.
اگر اندازه فیزیکی ارائه شود، ARCore از اندازه ارائه شده استفاده می کند و موقعیت و جهت تصویر را تخمین می زند، بدون توجه به هر گونه اختلاف بین اندازه ظاهری یا واقعی و اندازه فیزیکی ارائه شده.
ARCore می تواند به تصاویری که عبارتند از:
تصاویری که در جای خود ثابت شده اند، مانند چاپ آویزان به دیوار یا مجله روی میز
تصاویر متحرک، مانند تبلیغات در اتوبوسی که در حال عبور است یا تصویری بر روی یک جسم صاف که کاربر هنگام حرکت دستان خود در دست نگه داشته است.
هنگامی که ARCore شروع به ردیابی یک تصویر می کند، تخمین هایی را برای موقعیت و جهت تصویر هر فریم ارائه می دهد. ARCore به طور مداوم این تخمین ها را با جمع آوری داده های بیشتر اصلاح می کند.
هنگامی که یک تصویر شناسایی شد، ARCore به "ردیابی" موقعیت و جهت تصویر ادامه می دهد، حتی زمانی که تصویر به طور موقت از نمای دوربین خارج می شود زیرا کاربر دستگاه خود را جابجا کرده است. وقتی این اتفاق میافتد، ARCore فرض میکند که موقعیت و جهت تصویر ثابت است و خود تصویر در حال حرکت در محیط نیست.
همه ردیابی ها روی دستگاه انجام می شود. برای شناسایی و ردیابی تصاویر به اینترنت نیازی نیست.
الزامات
تصاویر باید :
حداقل 25 درصد از قاب دوربین را پر کنید تا در ابتدا شناسایی شود.
صاف باشد (مثلاً چروکیده یا دور بطری پیچیده نشود).
در دید واضح دوربین باشید. آنها نباید تا حدی مبهم باشند، در زاویه بسیار مایل دیده شوند، یا زمانی که دوربین به دلیل تاری حرکت خیلی سریع حرکت می کند، نباید آنها را مشاهده کرد.
ملاحظات استفاده و عملکرد CPU
بسته به اینکه کدام ویژگی ARCore قبلاً فعال شده است، فعال کردن تصاویر افزوده ممکن است استفاده از CPU ARCore را افزایش دهد. در مواقعی که تجربه AR شما به آنها نیازی ندارد، هر ویژگی استفاده نشده را غیرفعال کنید. این باعث می شود چرخه های CPU اضافی در دسترس برنامه شما قرار گیرد و عملکرد حرارتی و عمر باتری بهبود یابد.
برای اطلاعات بیشتر، ملاحظات عملکرد را ببینید.
بهترین شیوه ها
نکاتی برای انتخاب تصاویر مرجع
- وضوح تصویر باید حداقل 300 x 300 پیکسل باشد. استفاده از تصاویر با وضوح بالا باعث بهبود عملکرد نمی شود.
- تصاویر مرجع را می توان در قالب فایل PNG یا JPEG ارائه کرد.
- اطلاعات رنگ استفاده نشده است . هم تصاویر رنگی و هم تصاویر مشابه خاکستری را می توان به عنوان تصاویر مرجع یا توسط کاربران در زمان اجرا استفاده کرد.
- از تصاویر با فشرده سازی زیاد خودداری کنید زیرا این کار در استخراج ویژگی اختلال ایجاد می کند.
- از تصاویری که دارای تعداد زیادی ویژگی هندسی یا ویژگیهای بسیار کمی هستند (مانند بارکد، کد QR، آرم و سایر هنرهای خطی) خودداری کنید، زیرا این امر منجر به تشخیص و عملکرد ردیابی ضعیف میشود.
- از تصاویر با الگوهای تکراری خودداری کنید زیرا این نیز می تواند مشکلاتی در تشخیص و ردیابی ایجاد کند.
از ابزار
arcoreimg
موجود در ARCore SDK استفاده کنید تا امتیاز کیفیتی بین0
تا100
برای هر تصویر بدست آورید. ما نمره کیفیت حداقل 75 را توصیه می کنیم . در اینجا دو نمونه وجود دارد:تصویر مثال 1 تصویر مثال 2 امتیاز: 0
امتیاز: 100
شامل ویژگی های هندسی تکراری است وضوح کافی؛ شامل بسیاری از ویژگی های منحصر به فرد است
نکاتی برای ایجاد پایگاه داده تصویر
- از ابزار arcoreimg برای اندروید برای تولید فایل پایگاه داده تصویر استفاده کنید. این ابزار فقط برای توسعه اندروید و اندروید NDK در دسترس است. این افزونه در Unity SDK و ARCore Unreal تعبیه شده است.
- پایگاه داده نمایش فشرده ای از ویژگی های استخراج شده از داده های مقیاس خاکستری را در تصاویر مرجع ذخیره می کند. هر ورودی تصویر حدود 6 کیلوبایت را اشغال می کند.
- اضافه کردن یک تصویر به پایگاه داده در زمان اجرا حدود 30 میلی ثانیه طول می کشد.
- برای جلوگیری از مسدود کردن رشته UI، تصاویر را در یک رشته کارگر اضافه کنید.
- یا در صورت امکان، تصاویر را در زمان کامپایل با استفاده از ابزار
arcoreimg
موجود در ARCore SDK اضافه کنید.
- اگر اندازه فیزیکی مورد انتظار یک تصویر را می دانید، آن را مشخص کنید. این اطلاعات عملکرد تشخیص و ردیابی را به ویژه برای تصاویر فیزیکی بزرگ (بیش از 75 سانتی متر) بهبود می بخشد.
- از نگهداری بسیاری از تصاویر استفاده نشده در پایگاه داده خودداری کنید زیرا به دلیل افزایش استفاده از CPU، تأثیر جزئی بر عملکرد سیستم وجود دارد.
نکاتی برای بهینه سازی ردیابی
- اگر تصویر شما هرگز از موقعیت اولیه خود حرکت نمی کند (به عنوان مثال، پوستری که به دیوار چسبانده شده است)، می توانید برای افزایش ثبات ردیابی، یک لنگر به تصویر بچسبانید.
- برای تشخیص اولیه، تصویر فیزیکی باید حداقل 25 درصد از تصویر دوربین را اشغال کند. می توانید از کاربران بخواهید که تصویر فیزیکی را در کادر دوربین خود جای دهند.
- تا زمانی که وضعیت ردیابی تصویر کاملاً ردیابی نشده است، از تخمین ژست و اندازه تصویر استفاده نکنید. هنگامی که یک تصویر در ابتدا توسط ARCore شناسایی شد و اندازه فیزیکی مورد انتظار مشخص نشد، وضعیت ردیابی آن متوقف خواهد شد. این بدان معنی است که ARCore تصویر را تشخیص داده است، اما داده های کافی برای تخمین موقعیت آن در فضای سه بعدی جمع آوری نکرده است.