เทนเซอร์โฟลว์:: ปฏิบัติการ:: รวม NonMaxSuppression

#include <image_ops.h>

เลือกชุดย่อยของกรอบขอบเขตอย่างตะกละตะกลามโดยเรียงลำดับคะแนนจากมากไปหาน้อย

สรุป

การดำเนินการนี้ดำเนินการ non_max_suppression บนอินพุตต่อแบตช์ ในทุกคลาส ตัดกล่องที่มีจุดตัดเกินสหภาพ (IOU) สูงซ้อนทับกับกล่องที่เลือกไว้ก่อนหน้านี้ กล่องกำหนดขอบเขตจะถูกกำหนดเป็น [y1, x1, y2, x2] โดยที่ (y1, x1) และ (y2, x2) เป็นพิกัดของมุมกล่องคู่ในแนวทแยงใดๆ และพิกัดสามารถระบุได้ให้เป็นมาตรฐาน (เช่น อยู่ใน ช่วง [0, 1]) หรือสัมบูรณ์ โปรดทราบว่าอัลกอริทึมนี้ไม่เชื่อเรื่องต้นกำเนิดที่อยู่ในระบบพิกัด โปรดทราบด้วยว่าอัลกอริทึมนี้ไม่แปรผันกับการแปลงมุมฉากและการแปลของระบบพิกัด ดังนั้นการแปลหรือการสะท้อนของระบบพิกัดส่งผลให้อัลกอริธึมเลือกกล่องเดียวกัน ผลลัพธ์ของการดำเนินการนี้คือกล่องสุดท้าย คะแนน และคลาสเทนเซอร์ที่ส่งคืนหลังจากดำเนินการ non_max_suppression

ข้อโต้แย้ง:

  • ขอบเขต: วัตถุ ขอบเขต
  • กล่อง: เทนเซอร์โฟลต 4 มิติของรูปร่าง [batch_size, num_boxes, q, 4] ถ้า q เท่ากับ 1 กล่องเดียวกันจะถูกใช้สำหรับทุกคลาส มิฉะนั้น ถ้า q เท่ากับจำนวนคลาส กล่องเฉพาะคลาสจะถูกใช้
  • คะแนน: เทนเซอร์โฟลตสามมิติของรูปร่าง [batch_size, num_boxes, num_classes] แทนคะแนนเดียวที่สอดคล้องกับแต่ละกล่อง (แต่ละแถวของกล่อง)
  • max_output_size_per_class: เทนเซอร์จำนวนเต็มสเกลาร์ซึ่งแสดงถึงจำนวนกล่องสูงสุดที่จะเลือกโดยการปราบปรามที่ไม่สูงสุดต่อคลาส
  • max_total_size: สเกลาร์ที่แสดงถึงจำนวนกล่องสูงสุดที่เก็บรักษาไว้ในทุกคลาส
  • iou_threshold: เทนเซอร์โฟลต 0-D แสดงถึงเกณฑ์ในการตัดสินใจว่ากล่องทับซ้อนกันมากเกินไปเมื่อเทียบกับ IOU หรือไม่
  • Score_threshold: เทนเซอร์โฟลต 0-D แสดงถึงเกณฑ์ในการตัดสินใจว่าจะลบกล่องเมื่อใดโดยพิจารณาจากคะแนน

แอ็ตทริบิวต์ทางเลือก (ดู Attrs ):

  • pad_per_class: หากเป็นเท็จ กล่องเอาต์พุต คะแนน และคลาสจะถูกเสริม/ตัดเป็น max_total_size หากเป็นจริง กล่องเอาต์พุต คะแนน และคลาสที่มี nmsed จะถูกเสริมให้มีความยาว max_size_per_class * num_classes เว้นแต่จะเกิน max_total_size ซึ่งในกรณีนี้จะถูกตัดเป็น max_total_size ค่าเริ่มต้นเป็นเท็จ
  • clip_boxes: หากเป็นจริง ถือว่าพิกัดของกล่องอยู่ระหว่าง [0, 1] และตัดกล่องเอาต์พุตหากเกิน [0, 1] ถ้าเป็นเท็จ อย่าทำการตัดและส่งออกพิกัดของกล่องตามที่เป็นอยู่

ผลตอบแทน:

  • Output nmsed_boxes: เทนเซอร์ [batch_size, max_detections, 4] float32 ที่มีกล่องที่ถูกระงับไม่สูงสุด
  • Output nmsed_scores: เทนเซอร์ [batch_size, max_detections] float32 ที่มีคะแนนสำหรับกล่อง
  • Output nmsed_classes: เทนเซอร์ [batch_size, max_detections] float32 ที่มีคลาสสำหรับกล่อง
  • Output valid_detections: เทนเซอร์ [batch_size] int32 ที่ระบุจำนวนการตรวจจับที่ถูกต้องต่อรายการแบตช์ เฉพาะรายการ num_detections[i] อันดับต้นๆ ใน nms_boxes[i], nms_scores[i] และ nms_class[i] เท่านั้นที่ถูกต้อง รายการที่เหลือไม่มีช่องว่างภายใน

ตัวสร้างและผู้ทำลาย

CombinedNonMaxSuppression (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size_per_class, :: tensorflow::Input max_total_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold)
CombinedNonMaxSuppression (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size_per_class, :: tensorflow::Input max_total_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold, const CombinedNonMaxSuppression::Attrs & attrs)

คุณลักษณะสาธารณะ

nmsed_boxes
nmsed_classes
nmsed_scores
operation
valid_detections

ฟังก์ชันคงที่สาธารณะ

ClipBoxes (bool x)
PadPerClass (bool x)

โครงสร้าง

เทนเซอร์โฟลว์ :: ops :: CombinedNonMaxSuppression :: Attrs

ตัวตั้งค่าแอ็ตทริบิวต์ทางเลือกสำหรับ CombinedNonMaxSuppression

คุณลักษณะสาธารณะ

nmsed_boxes

::tensorflow::Output nmsed_boxes

nmsed_classes

::tensorflow::Output nmsed_classes

nmsed_scores

::tensorflow::Output nmsed_scores

การดำเนินการ

Operation operation

valid_detections

::tensorflow::Output valid_detections

งานสาธารณะ

รวม NonMaxSuppression

 CombinedNonMaxSuppression(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input boxes,
  ::tensorflow::Input scores,
  ::tensorflow::Input max_output_size_per_class,
  ::tensorflow::Input max_total_size,
  ::tensorflow::Input iou_threshold,
  ::tensorflow::Input score_threshold
)

รวม NonMaxSuppression

 CombinedNonMaxSuppression(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input boxes,
  ::tensorflow::Input scores,
  ::tensorflow::Input max_output_size_per_class,
  ::tensorflow::Input max_total_size,
  ::tensorflow::Input iou_threshold,
  ::tensorflow::Input score_threshold,
  const CombinedNonMaxSuppression::Attrs & attrs
)

ฟังก์ชันคงที่สาธารณะ

คลิปบ็อกซ์

Attrs ClipBoxes(
  bool x
)

แพดเพอร์คลาส

Attrs PadPerClass(
  bool x
)