הוספת מימד לתמונות

מדריכים ספציפיים לפלטפורמה

ממשקי ה-API של תמונות רבודה ב-ARCore מאפשרים לכם לפתח אפליקציות AR שיכולות לזהות להעשיר תמונות דו-ממדיות בסביבת המשתמש, כמו פוסטרים או מוצר אריזה.

אתם מספקים קבוצה של תמונות עזר. טכנולוגיית ARCore משתמשת באלגוריתם ראייה ממוחשבת לחלץ תכונות מהמידע בגווני אפור בכל תמונה, ולשמור ייצוג של התכונות האלה במסד נתונים אחד או יותר של תמונות מרובות.

בזמן הריצה, ARCore מחפש את התכונות האלה על משטחים ישרים הסביבה. כך ARCore יכול לזהות את התמונות האלה בעולם ולהעריך המיקום, הכיוון והגודל שלהם, אם לא יסופק מידע.

יכולות

ARCore יכול לעקוב אחרי עד 20 תמונות בו-זמנית. ARCore לא יפעל בו-זמנית לזהות או לעקוב אחר מופעים מרובים של אותה תמונה.

בכל מסד נתונים של תמונות רבודה אפשר לאחסן מידע של עד 1,000 הפניות תמונות. אין הגבלה על מספר מסדי הנתונים, אלא רק מסד נתונים אחד יכול להיות פעיל בכל רגע נתון.

אפשר להוסיף תמונות למסד נתונים של תמונות רבודה בזמן הריצה, עד מגבלה של 1,000 תמונות לכל מסד נתונים. אפשר להוריד סרטונים שנוצרו בעבר מסדי נתונים באמצעות חיבור לרשת.

כשמוסיפים תמונה, אפשר לציין את הגודל הפיזי של התמונה לזיהוי. כך ישפר את ביצועי זיהוי התמונות.

  • אם לא צוין גודל פיזי, ARCore מעריך את הגודל ומצמצם את הערך הזה. את ההערכה לאורך זמן.

  • אם מציינים גודל פיזי, ARCore משתמש בגודל ובאומדנים שסופקו את המיקום והכיוון של התמונה, תוך התעלמות מכל אי-התאמה לכאורה או בפועל ואת הגודל הפיזי שסופק.

ARCore יכול להגיב לתמונות ש:

  • תמונות שקבועות במקומן, כמו דפוס שתלוי על הקיר או כתב עת על שולחן

  • תמונות נעות, כמו פרסומת באוטובוס חולף או תמונה במישור מוחזקת על ידי המשתמש בזמן שהוא מזיז את הידיים.

אחרי ש-ARCore מתחיל לעקוב אחרי תמונה, הוא מספק אומדנים למיקום התמונה ואת הכיוון של כל מסגרת. ARCore משפר את האומדנים האלה כל הזמן, אוספת יותר נתונים.

אחרי זיהוי תמונה, ARCore ממשיך 'במעקב' את המיקום של התמונה, כיוון התמונה, גם כאשר התמונה יוצאת באופן זמני מתצוגת המצלמה כי המשתמש העביר את המכשיר שלו. במקרה כזה, ARCore מניח המיקום והכיוון של התמונה הם סטטיים, ושהתמונה היא לא עצמה לנוע בסביבה.

כל המעקב מתבצע במכשיר. לא נדרש חיבור לאינטרנט כדי לזהות ועוקבים אחרי תמונות.

דרישות

התמונות חייבות:

  • יש למלא לפחות 25% ממסגרת המצלמה כדי שניתן יהיה לזהות אותה בהתחלה.

  • להיות שטוחה (לדוגמה, לא מקומטים או עטופים בבקבוק).

  • צריך להיות בסביבה ברורה של המצלמה. צריך להסתיר אותן באופן חלקי, להציג אותן בזווית לא נטויה מאוד, או כשהמצלמה נעה מהר מדי עקב טשטוש תנועה.

שיקולים לשימוש במעבד (CPU) ולביצועים

בהתאם לתכונות ARCore שכבר מופעלות, הפעלת Augmented השימוש בתמונות יכול להגביר את השימוש במעבד של ARCore. כדאי להשבית נכסים שלא בשימוש לתכונות מסוימות בפעמים שבהן אתם לא נדרשים להשתמש ב-AR. הפעולה הזו תגרור להפוך מחזורי מעבד (CPU) נוספים לזמינים לאפליקציה שלך, ולשפר את התרמוסטט ביצועים וחיי סוללה.

מידע נוסף זמין במאמר הבא: שיקולי ביצועים.

שיטות מומלצות

טיפים לבחירת תמונות עזר

  • רזולוציית התמונה צריכה להיות לפחות 300 x 300 פיקסלים. שימוש בתמונות ברזולוציה גבוהה לא משפר את הביצועים.
  • אפשר לספק תמונות עזר בפורמט PNG או JPEG.
  • לא נעשה שימוש בפרטי הצבע. גם תמונות צבעוניות וגם תמונות בגווני אפור מקבילים יכולים לשמש כתמונות עזר או כמשתמשים בזמן ריצה.
  • מומלץ להימנע משימוש בתמונות עם דחיסה חזקה, כי הן מפריעות לפעולה של התכונה חילוץ.
  • אל תשתמשו בתמונות שמכילות מספר רב של מאפיינים גאומטריים, או מעט תכונות (למשל ברקודים, קודי QR, סמלי לוגו וגרפיקה אחרת) יובילו לביצועים נמוכים של זיהוי ומעקב.
  • מומלץ להימנע משימוש בתמונות עם דפוסים חוזרים, כי הפעולה הזו עלולה גם לגרום לבעיות זיהוי ומעקב.
  • אפשר להשתמש בכלי arcoreimg שכלול ב-ARCore SDK כדי לקבל ציון איכות בין 0 ל-100 לכל תמונה. מומלץ שציון האיכות הוא 75 לפחות. להלן שתי דוגמאות:

    תמונה לדוגמה 1 תמונה לדוגמה 2
    ניקוד: 0 ניקוד: 100
    מכיל תכונות גאומטריות שחוזרות על עצמן פתרון מספיק, מכיל תכונות ייחודיות רבות

טיפים ליצירת מסד הנתונים של התמונות

  • שימוש בכלי arcoreimg ל-Android כדי ליצור קובץ מסד נתונים של תמונות. הכלי הזה זמין רק ב-Android ו-Android NDK. הוא מובנה ב-Unity SDK וב-ARCore פלאגין לא מציאותי.
  • במסד הנתונים נשמר ייצוג דחוס של התכונות שחולצו. מנתוני גווני אפור בתמונות העזר. כל רשומה של תמונה בגודל של כ-6KB.
  • הוספת תמונה למסד הנתונים בזמן הריצה נמשכת כ-30 אלפיות השנייה.
    • כדי לא לחסום את ה-thread של ממשק המשתמש, כדאי להוסיף תמונות ב-thread של עובד.
    • לחלופין, אם אפשר, כדאי להוסיף תמונות בזמן הידור בעזרת הכלי arcoreimg שכלול ב-ARCore SDK.
  • אם אתם יודעים מה הגודל הפיזי הצפוי של תמונה, ציינו אותו. הזה משפר את ביצועי הזיהוי והמעקב, במיוחד עבור תמונות פיזיות גדולות (מעל 75 ס"מ).
  • להימנע משמירת תמונות רבות שלא נמצאות בשימוש במסד הנתונים, כי יש ההשפעה על ביצועי המערכת בגלל שימוש מוגבר במעבד.

טיפים לאופטימיזציה של המעקב

  • אם התמונה לעולם לא תזוז מהמיקום הראשוני שלה (לדוגמה, פוסטר שמוצמד לקיר), אפשר לחבר עוגן לתמונה כדי לשפר את יציבות המעקב.
  • התמונה הפיזית חייבת לתפוס לפחות 25% משטח תמונת המצלמה בזיהוי ראשוני. אפשר לבקש מהמשתמשים להתאים את התמונה הפיזית לתמונה פריים של המצלמה.
  • אל תשתמשו בהערכות המיקום והגודל של התמונה עד למעקב אחרי התמונה יש מעקב מלא. כשתמונה מזוהה לראשונה על ידי ב-ARCore, ולא צוין גודל פיזי צפוי, מצב המעקב שלו בהשהיה. פירוש הדבר ש-ARCore זיהה את התמונה, לא נאספו מספיק נתונים כדי להעריך את מיקומו במרחב תלת-ממדי.