עזרה להגן על שונית המחסום הגדולה עם TensorFlow על Kaggle הצטרפו אתגר

זרימת טנסור :: אופ :: NonMaxSuppressionV5

#include <image_ops.h>

בחמדנות בוחרת קבוצת משנה של תיבות תוחמת בסדר ציון יורד.

סיכום

גיזום משם תיבות בעלות צומת גבוה-איחוד (IOU) חופפות לתיבות שנבחרו בעבר. תיבות score_threshold עם ציון נמוך מ- score_threshold מוסרות. תיבות הגבול מסופקות כ- [y1, x1, y2, x2], כאשר (y1, x1) ו- (y2, x2) הם הקואורדינטות של כל זוג פינות תיבה אלכסוניות וניתן לספק את הקואורדינטות כמנורמל (כלומר, בשכיבה בתוך המרווח [0, 1]) או מוחלט. שים לב שאלגוריתם זה הוא אגנוסטי למקום בו המקור נמצא במערכת הקואורדינטות ובאופן כללי הוא משתנה לתמורות אורתוגונליות ותרגומים של מערכת הקואורדינטות; כך תרגום או השתקפויות של מערכת הקואורדינטות גורמים לכך שאותן תיבות נבחרות על ידי האלגוריתם. הפלט של פעולה זו הוא קבוצה של מספרים שלמים המוסיפים אינדקס לאוסף הקלט של תיבות התוחם המייצגות את התיבות שנבחרו. לאחר מכן ניתן להשיג את קואורדינטות תיבת התוחם המתאימות למדדים שנבחרו באמצעות tf.gather operation . לדוגמא: select_indices = tf.image.non_max_suppression_v2 (boxes, scores, max_output_size, iou_threshold, score_threshold) selected_boxes = tf.gather (boxes, selected_indices) אופציה זו תומכת גם במצב Soft-NMS (עם שקלול גאוס) (ראה Bodla et al. , https://arxiv.org/abs/1704.04503 ) כאשר תיבות מפחיתות את הציון של תיבות חופפות אחרות במקום לגרום להן לגזום ישירות. כדי לאפשר מצב Soft-NMS זה, הגדר את הפרמטר soft_nms_sigma גדול מ- 0.

טענות:

  • היקף: אובייקט Scope
  • תיבות: [num_boxes, 4] של צורה דו-ממדית לצוף [num_boxes, 4] .
  • ציונים: טנסור צף 1-D של צורה [num_boxes] המייצג ציון יחיד המתאים לכל תיבה (כל שורה של תיבות).
  • max_output_size: טנסור שלם סקלרי המייצג את המספר המרבי של תיבות שיש לבחור על ידי דיכוי לא מקסימלי.
  • iou_threshold: טנסור צף 0-D המייצג את סף ההחלטה אם תיבות חופפות יותר מדי ביחס ל- IOU.
  • score_threshold: טנסור צף 0-D המייצג את סף ההחלטה מתי להסיר תיבות על בסיס ציון.
  • soft_nms_sigma: טנסור צף 0-D המייצג את פרמטר sigma עבור NMS רך; ראה Bodla et al (ראה https://arxiv.org/abs/1704.04503 ). כאשר soft_nms_sigma=0.0 (שהוא ברירת המחדל), אנו חוזרים ל- NMS סטנדרטי (קשה).

תכונות אופציונליות (ראה Attrs ):

  • pad_to_max_output_size: אם נכון, את הפלט selected_indices מרופד להיות באורך max_output_size . ברירת המחדל היא שקר.

החזרות:

  • Output שנבחר_אינדקסים: טנסור שלם חד-פעמי של צורה [M] המייצג את המדדים שנבחרו מהתיבות טנזור, כאשר M <= max_output_size .
  • Output נבחר_סקוריות: טנסור צף 1-D של צורה [M] המייצג את הציונים המתאימים לכל תיבה שנבחרה, כאשר M <= max_output_size . ציונים נבדלים רק מציוני קלט תואמים בעת שימוש ב- NMS רך (כלומר כאשר soft_nms_sigma>0 )
  • Output valid_outputs: טנסור שלם של 0-D המייצג את מספר האלמנטים החוקיים ב- indices selected_indices , כאשר האלמנטים החוקיים מופיעים ראשונים.

קונסטרוקטורים ומשחתנים

NonMaxSuppressionV5 (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold, :: tensorflow::Input soft_nms_sigma)
NonMaxSuppressionV5 (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold, :: tensorflow::Input soft_nms_sigma, const NonMaxSuppressionV5::Attrs & attrs)

תכונות ציבוריות

operation
selected_indices
selected_scores
valid_outputs

פונקציות סטטיות ציבוריות

PadToMaxOutputSize (bool x)

סטרוקטורים

tensorflow :: ops :: NonMaxSuppressionV5 :: Attrs

קובעי תכונות אופציונליים עבור NonMaxSuppressionV5 .

תכונות ציבוריות

מבצע

Operation operation

שנבחרו_אינדקסים

::tensorflow::Output selected_indices

נבחרים_ציונים

::tensorflow::Output selected_scores

יציאות תקפות

::tensorflow::Output valid_outputs

פונקציות ציבוריות

NonMaxSuppressionV5

 NonMaxSuppressionV5(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input boxes,
  ::tensorflow::Input scores,
  ::tensorflow::Input max_output_size,
  ::tensorflow::Input iou_threshold,
  ::tensorflow::Input score_threshold,
  ::tensorflow::Input soft_nms_sigma
)

NonMaxSuppressionV5

 NonMaxSuppressionV5(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input boxes,
  ::tensorflow::Input scores,
  ::tensorflow::Input max_output_size,
  ::tensorflow::Input iou_threshold,
  ::tensorflow::Input score_threshold,
  ::tensorflow::Input soft_nms_sigma,
  const NonMaxSuppressionV5::Attrs & attrs
)

פונקציות סטטיות ציבוריות

PadToMaxOutputSize

Attrs PadToMaxOutputSize(
  bool x
)