tensorflow::ops::CombinedNonMaxSuppression

#include <image_ops.h>

เลือกกลุ่มย่อยของกรอบล้อมรอบโดยเรียงลำดับจากคะแนนมากที่สุดไปน้อยที่สุดอย่างโลภ (Greeding selects)

สรุป

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

ข้อโต้แย้ง:

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

คุณลักษณะเสริม (ดูที่ Attrs ):

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

การส่งคืนสินค้า:

  • Output nmsed_boxes: เทนเซอร์ float32 ขนาด [batch_size, max_detections, 4] ที่มีกล่องที่ไม่ใช่ค่าสูงสุดที่ถูกระงับ
  • Output nmsed_scores: เทนเซอร์ float32 ขนาด [batch_size, max_detections] ที่มีคะแนนสำหรับกล่องแต่ละกล่อง
  • Output nmsed_classes: เทนเซอร์ float32 ขนาด [batch_size, max_detections] ที่มีคลาสสำหรับกล่องต่างๆ
  • Output valid_detections: เทนเซอร์ int32 ขนาด [batch_size] ที่ระบุจำนวนการตรวจจับที่ถูกต้องต่อรายการในแต่ละแบทช์ เฉพาะรายการที่มีค่าสูงสุด 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)

โครงสร้าง

tensorflow::ops::CombinedNonMaxSuppression::Attrs

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

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

nmsed_boxes

::tensorflow::Output nmsed_boxes

nmsed_classes

::tensorflow::Output nmsed_classes

คะแนน nmsed

::tensorflow::Output nmsed_scores

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

Operation operation

การตรวจจับที่ถูกต้อง

::tensorflow::Output valid_detections

หน้าที่สาธารณะ

การระงับแบบรวมที่ไม่ใช่ค่าสูงสุด

 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
)

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

คลิปบ็อกซ์

Attrs ClipBoxes(
  bool x
)

แพดต่อคลาส

Attrs PadPerClass(
  bool x
)