SampleDistortedBoundingBox

מחלקה סופית ציבורית SampleDistortedBoundingBox

צור תיבת תוחמת אחת מעוותת באופן אקראי עבור תמונה.

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

הפלט של אופ זה הוא תיבה תוחמת אחת שניתן להשתמש בה כדי לחתוך את התמונה המקורית. הפלט מוחזר כ-3 טנסורים: `התחלה`, `גודל` ו-`bboxes`. ניתן להזין את 2 הטנסורים הראשונים ישירות לתוך tf.slice כדי לחתוך את התמונה. האחרון עשוי להיות מסופק ל- tf.image.draw_bounding_boxes כדי לדמיין איך נראית התיבה התוחמת.

תיבות תוחמות מסופקות ומוחזרות בתור `[y_min, x_min, y_max, x_max]`. הקואורדינטות של התיבה התוחמת מרחפות ב-`[0.0, 1.0]` ביחס לרוחב ולגובה של התמונה הבסיסית.

לדוגמה,

# Generate a single distorted bounding box.
     begin, size, bbox_for_draw = tf.image.sample_distorted_bounding_box(
         tf.shape(image),
         bounding_boxes=bounding_boxes)
 
     # Draw the bounding box in an image summary.
     image_with_box = tf.image.draw_bounding_boxes(tf.expand_dims(image, 0),
                                                   bbox_for_draw)
     tf.summary.image('images_with_box', image_with_box)
 
     # Employ the bounding box to distort the image.
     distorted_image = tf.slice(image, begin, size)
 
שים לב שאם אין מידע זמין על תיבה תוחמת, הגדרת 'use_image_if_no_bounding_boxes = true' תניח שיש תיבה תוחמת יחידה המכסה את כל התמונה. אם `use_image_if_no_bounding_boxes` הוא false ולא מסופקות תיבות תוחמות, נוצרת שגיאה.

כיתות מקוננות

מעמד SampleDistortedBoundingBox.Options תכונות אופציונליות עבור SampleDistortedBoundingBox

קבועים

חוּט OP_NAME השם של המבצע הזה, כפי שידוע על ידי מנוע הליבה של TensorFlow

שיטות ציבוריות

static SampleDistortedBoundingBox.Options
areaRange (List<Float> areaRange)
static SampleDistortedBoundingBox.Options
aspectRatioRange (List<Float> aspectRatioRange)
פלט < TFloat32 >
bboxes ()
תלת מימד עם צורה `[1, 1, 4]` המכילה את התיבה התוחמת המעוותת.
פלט <T>
התחל ()
1-D, המכיל '[offset_height, offset_width, 0]'.
סטטי <T מרחיב TNummer > SampleDistortedBoundingBox <T>
create ( Scope scope, Operand <T> imageSize, Operand < TFloat32 > boundingBoxes, Operand < TFloat32 > minObjectCovered, Options... options)
שיטת מפעל ליצירת מחלקה העוטפת פעולת SampleDistortedBoundingBox חדשה.
static SampleDistortedBoundingBox.Options
maxAttempts (Long maxAttempts)
static SampleDistortedBoundingBox.Options
זרע (זרע ארוך)
static SampleDistortedBoundingBox.Options
seed2 (זרע ארוך2)
פלט <T>
גודל ()
1-D, המכיל '[target_height, target_width, -1]'.
static SampleDistortedBoundingBox.Options
useImageIfNoBoundingBoxes (בוליאני useImageIfNoBoundingBoxes)

שיטות בירושה

קבועים

מחרוזת סופית סטטית ציבורית OP_NAME

השם של המבצע הזה, כפי שידוע על ידי מנוע הליבה של TensorFlow

ערך קבוע: "SampleDistortedBoundingBoxV2"

שיטות ציבוריות

public static SampleDistortedBoundingBox.Options areaRange (List<Float> areaRange)

פרמטרים
טווח שטח האזור החתוך של התמונה חייב להכיל חלק מהתמונה שסופקה בטווח זה.

public static SampleDistortedBoundingBox.Options aspectRatioRange (List<Float> aspectRatioRange)

פרמטרים
aspectRatioRange השטח החתוך של התמונה חייב להיות בעל יחס גובה-רוחב = רוחב/גובה בטווח זה.

פלט ציבורי < TFloat32 > bboxes ()

תלת מימד עם צורה `[1, 1, 4]` המכילה את התיבה התוחמת המעוותת. ספק כקלט ל- tf.image.draw_bounding_boxes .

פלט ציבורי <T> מתחיל ()

1-D, המכיל '[offset_height, offset_width, 0]'. ספק כקלט ל- tf.slice .

public static SampleDistortedBoundingBox <T> create ( Scope scope, Operand <T> imageSize, Operand < TFloat32 > boundingBoxes, Operand < TFloat32 > minObjectCovered, Options... options)

שיטת מפעל ליצירת מחלקה העוטפת פעולת SampleDistortedBoundingBox חדשה.

פרמטרים
תְחוּם ההיקף הנוכחי
גודל תמונה 1-D, המכיל `[גובה, רוחב, ערוצים]`.
boundingBoxes תלת מימד עם צורה `[אצווה, N, 4]` המתארת ​​את N התיבות התוחמות המשויכות לתמונה.
minObjectCovered האזור החתוך של התמונה חייב להכיל לפחות חלק זה מכל תיבה תוחמת שסופקה. הערך של פרמטר זה צריך להיות לא שלילי. במקרה של 0, השטח החתוך אינו צריך לחפוף אף אחת מהתיבות התוחמות שסופקו.
אפשרויות נושא ערכי תכונות אופציונליות
החזרות
  • מופע חדש של SampleDistortedBoundingBox

public static SampleDistortedBoundingBox.Options maxAttempts (Long maxAttempts)

פרמטרים
maxAttempts מספר הניסיונות ליצור אזור חתוך של התמונה של האילוצים שצוינו. לאחר כשלים של `max_attempts`, החזר את התמונה כולה.

public static SampleDistortedBoundingBox. Options seed (Long seed)

פרמטרים
זֶרַע אם 'seed' או 'seed2' מוגדרים לא-אפס, מחולל המספרים האקראיים מושרש על ידי ה-seed הנתון. אחרת, הוא נזרע על ידי זרע אקראי.

Public static SampleDistortedBoundingBox.Options seed2 (Long seed2)

פרמטרים
זרע 2 זרע שני כדי למנוע התנגשות זרע.

גודל פלט ציבורי <T> ()

1-D, המכיל '[target_height, target_width, -1]'. ספק כקלט ל- tf.slice .

public static SampleDistortedBoundingBox.Options useImageIfNoBoundingBoxes (Boolian useImageIfNoBoundingBoxes)

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