צור תיבת תוחמת מעוותת באופן אקראי לתמונה באופן דטרמיניסטי.
הערות תיבות תוחמות מסופקות לעתים קרובות בנוסף לתוויות של אמת בבסיס במשימות זיהוי תמונות או לוקליזציה של אובייקטים. טכניקה נפוצה לאימון מערכת כזו היא עיוות אקראי של תמונה תוך שמירה על התוכן שלה, כלומר הגדלת נתונים . אופ זה, בהינתן אותו `זרע`, מוציא באופן דטרמיניסטי לוקליזציה מעוותת אקראית של אובייקט, כלומר תיבה תוחמת, בהינתן `גודל_תמונה`, `תיבות_תוחמות` וסדרה של אילוצים.
הפלט של אופ זה הוא תיבה תוחמת אחת שניתן להשתמש בה כדי לחתוך את התמונה המקורית. הפלט מוחזר כ-3 טנסורים: `התחלה`, `גודל` ו-`bboxes`. ניתן להזין את 2 הטנסורים הראשונים ישירות לתוך tf.slice
כדי לחתוך את התמונה. האחרון עשוי להיות מסופק ל- tf.image.draw_bounding_boxes
כדי לדמיין איך נראית התיבה התוחמת.
תיבות תוחמות מסופקות ומוחזרות בתור `[y_min, x_min, y_max, x_max]`. הקואורדינטות של התיבה התוחמת מרחפות ב-`[0.0, 1.0]` ביחס לרוחב ולגובה של התמונה הבסיסית.
הפלט של ה-Op הזה מובטח להיות זהה בהינתן אותו 'seed' והוא בלתי תלוי במספר הפעמים שהפונקציה נקראת, ואינו תלוי בהגדרות ה-Seed הגלובליות (למשל tf.random.set_seed
).
שימוש לדוגמה:
>>> image = np.array([[[1], [2], [3]], [[4], [5], [6]], [[7], [8], [9] ]]) >>> bbox = tf.constant( ... [0.0, 0.0, 1.0, 1.0], dtype=tf.float32, shape=[1, 1, 4]) >>> seed = (1, 2 ) >>> # צור תיבת תוחמת מעוותת אחת. >>> bbox_begin, bbox_size, bbox_draw = ( ... tf.image.stateless_sample_distorted_bounding_box( ... tf.shape(image), bounding_boxes=bbox, seed=seed)) >>> # השתמשו בתיבה התוחמת כדי לעוות את התמונה . >>> tf.slice(image, bbox_begin, bbox_size) שים לב שאם אין מידע זמין על תיבה תוחמת, ההגדרה 'use_image_if_no_bounding_boxes = true' תניח שיש תיבה תוחמת יחידה המכסה את כל התמונה. אם `use_image_if_no_bounding_boxes` הוא false ולא מסופקות תיבות תוחמות, נוצרת שגיאה.
כיתות מקוננות
מעמד | StatelessSampleDistortedBoundingBox.Options | תכונות אופציונליות עבור StatelessSampleDistortedBoundingBox |
קבועים
חוּט | OP_NAME | השם של המבצע הזה, כפי שידוע על ידי מנוע הליבה של TensorFlow |
שיטות ציבוריות
static StatelessSampleDistortedBoundingBox.Options | areaRange (List<Float> areaRange) |
static StatelessSampleDistortedBoundingBox.Options | aspectRatioRange (List<Float> aspectRatioRange) |
פלט < TFloat32 > | bboxes () תלת מימד עם צורה `[1, 1, 4]` המכילה את התיבה התוחמת המעוותת. |
פלט <T> | התחל () 1-D, המכיל '[offset_height, offset_width, 0]'. |
סטטי <T מרחיב TNummer > StatelessSampleDistortedBoundingBox <T> | |
static StatelessSampleDistortedBoundingBox.Options | maxAttempts (Long maxAttempts) |
פלט <T> | גודל () 1-D, המכיל '[target_height, target_width, -1]'. |
static StatelessSampleDistortedBoundingBox.Options | useImageIfNoBoundingBoxes (בוליאני useImageIfNoBoundingBoxes) |
שיטות בירושה
קבועים
מחרוזת סופית סטטית ציבורית OP_NAME
השם של המבצע הזה, כפי שידוע על ידי מנוע הליבה של TensorFlow
שיטות ציבוריות
public static StatelessSampleDistortedBoundingBox.Options areaRange (List<Float> areaRange)
פרמטרים
טווח שטח | האזור החתוך של התמונה חייב להכיל חלק מהתמונה שסופקה בטווח זה. |
---|
public static StatelessSampleDistortedBoundingBox.Options aspectRatioRange (List<Float> aspectRatioRange)
פרמטרים
aspectRatioRange | השטח החתוך של התמונה חייב להיות בעל יחס גובה-רוחב = רוחב/גובה בטווח זה. |
---|
פלט ציבורי < TFloat32 > bboxes ()
תלת מימד עם צורה `[1, 1, 4]` המכילה את התיבה התוחמת המעוותת. ספק כקלט ל- tf.image.draw_bounding_boxes
.
public static StatelessSampleDistortedBoundingBox <T> create ( Scope scope, Operand <T> imageSize, Operand < TFloat32 > boundingBoxes, Operand < TFloat32 > minObjectCovered, Operand <? מרחיב Tnumber > seed, Options... options)
שיטת מפעל ליצירת מחלקה העוטפת פעולת StatelessSampleDistortedBoundingBox חדשה.
פרמטרים
תְחוּם | ההיקף הנוכחי |
---|---|
גודל תמונה | 1-D, המכיל `[גובה, רוחב, ערוצים]`. |
boundingBoxes | תלת מימד עם צורה `[אצווה, N, 4]` המתארת את N התיבות התוחמות המשויכות לתמונה. |
minObjectCovered | האזור החתוך של התמונה חייב להכיל לפחות חלק זה מכל תיבה תוחמת שסופקה. הערך של פרמטר זה צריך להיות לא שלילי. במקרה של 0, השטח החתוך אינו צריך לחפוף אף אחת מהתיבות התוחמות שסופקו. |
זֶרַע | 1-D עם צורה `[2]`. הזרע למחולל המספרים האקראיים. חייב להיות dtype `int32` או `int64`. (בעת שימוש ב-XLA, רק 'int32' מותר). |
אפשרויות | נושא ערכי תכונות אופציונליות |
החזרות
- מופע חדש של StatelessSampleDistortedBoundingBox
public static StatelessSampleDistortedBoundingBox.Options maxAttempts (Long maxAttempts)
פרמטרים
maxAttempts | מספר הניסיונות ליצור אזור חתוך של התמונה של האילוצים שצוינו. לאחר כשלים של `max_attempts`, החזר את התמונה כולה. |
---|
public static StatelessSampleDistortedBoundingBox.Options useImageIfNoBoundingBoxes (Boolian useImageIfNoBoundingBoxes)
פרמטרים
useImageIfNoBoundingBoxes | שולט בהתנהגות אם אין תיבות תוחמות. אם זה נכון, נניח שתיבה תוחמת מרומזת המכסה את כל הקלט. אם שקר, העלה שגיאה. |
---|