เทนเซอร์โฟลว์ :: ops :: NonMaxSuppressionV5.0

#include <image_ops.h>

เลือกส่วนย่อยของกล่องขอบเขตตามลำดับคะแนนจากมากไปหาน้อย

สรุป

การตัดแต่งกล่องที่มีจุดตัดสูงเกินสหภาพ (IOU) ทับซ้อนกับกล่องที่เลือกไว้ก่อนหน้านี้ กล่อง score_threshold มีคะแนนน้อยกว่า score_threshold จะถูกลบออก กล่องขอบเขตถูกจัดให้เป็น [y1, x1, y2, x2] โดยที่ (y1, x1) และ (y2, x2) เป็นพิกัดของมุมกล่องคู่แนวทแยงมุมและสามารถระบุพิกัดได้ตามมาตรฐาน (กล่าวคืออยู่ใน ช่วงเวลา [0, 1]) หรือค่าสัมบูรณ์ โปรดสังเกตว่าอัลกอริทึมนี้ไม่เชื่อเรื่องพระเจ้าว่าต้นกำเนิดอยู่ที่ไหนในระบบพิกัดและโดยทั่วไปแล้วจะไม่แปรผันกับการแปลงมุมฉากและการแปลของระบบพิกัด ดังนั้นการแปลหรือการสะท้อนของระบบพิกัดส่งผลให้อัลกอริทึมเลือกกล่องเดียวกัน ผลลัพธ์ของการดำเนินการนี้คือชุดของจำนวนเต็มที่ทำดัชนีในคอลเลกชันอินพุตของกล่องขอบเขตที่แสดงถึงกล่องที่เลือก จากนั้นสามารถหาพิกัดกล่องขอบเขตที่สอดคล้องกับดัชนีที่เลือกได้โดยใช้การ tf.gather operation ตัวอย่างเช่น selected_indices = tf.image.non_max_suppression_v2 (กล่องคะแนน max_output_size iou_threshold score_threshold) selected_boxes = tf.gather (กล่อง selected_indices) op นี้ยังรองรับโหมด Soft-NMS (พร้อมการถ่วงน้ำหนักแบบเกาส์เซียน) , https://arxiv.org/abs/1704.04503 ) โดยที่กล่องจะลดคะแนนของกล่องที่ทับซ้อนกันแทนที่จะทำให้ถูกตัดออกโดยตรง ในการเปิดใช้งานโหมด Soft-NMS นี้ให้ตั้งค่าพารามิเตอร์ soft_nms_sigma ให้มากกว่า 0

อาร์กิวเมนต์:

  • ขอบเขต: วัตถุ ขอบเขต
  • กล่อง: เทนเซอร์ของโฟลท 2 มิติ [num_boxes, 4]
  • คะแนน: รูปร่างเทนเซอร์ลอยตัว 1 มิติ [num_boxes] แสดงถึงคะแนนเดียวที่สอดคล้องกับแต่ละกล่อง (แต่ละแถวของกล่อง)
  • max_output_size: เทนเซอร์จำนวนเต็มสเกลาร์ที่แสดงจำนวนกล่องสูงสุดที่จะเลือกโดยไม่ใช่การป้องกันสูงสุด
  • iou_threshold: เทนเซอร์ลอย 0-D แสดงถึงเกณฑ์สำหรับการตัดสินใจว่ากล่องทับซ้อนกันมากเกินไปหรือไม่เมื่อเทียบกับ IOU
  • score_threshold: เทนเซอร์ลอยตัว 0-D แสดงถึงเกณฑ์สำหรับการตัดสินใจว่าจะลบกล่องตามคะแนนเมื่อใด
  • soft_nms_sigma: เทนเซอร์ลอย 0-D แทนค่าพารามิเตอร์ sigma สำหรับ Soft NMS; ดู Bodla et al (cf https://arxiv.org/abs/1704.04503 ) เมื่อ soft_nms_sigma=0.0 (ซึ่งเป็นค่าเริ่มต้น) เราจะกลับไปใช้ NMS มาตรฐาน (ยาก)

แอตทริบิวต์เสริม (ดู Attrs ):

  • pad_to_max_output_size: ถ้าเป็นจริงเอาต์พุตที่ selected_indices max_output_size จะมีความยาว max_output_size ค่าเริ่มต้นเป็นเท็จ

ผลตอบแทน:

  • Output เลือก M <= max_output_size ดัชนี: เทนเซอร์จำนวนเต็ม 1 มิติ [M] แทนดัชนีที่เลือกจากกล่องเทนเซอร์โดยที่ M <= max_output_size
  • Output เลือก Output : เทนเซอร์ลอยตัว 1 มิติ [M] แทนคะแนนที่สอดคล้องกันสำหรับแต่ละช่องที่เลือกโดยที่ M <= max_output_size คะแนนจะแตกต่างจากคะแนนอินพุตที่สอดคล้องกันเมื่อใช้ Soft NMS เท่านั้น (เช่นเมื่อ soft_nms_sigma>0 )
  • Output valid_outputs: เทนเซอร์จำนวนเต็ม 0-D แทนจำนวนองค์ประกอบที่ถูกต้องใน 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

selected_indices

::tensorflow::Output selected_indices

selected_scores

::tensorflow::Output selected_scores

valid_outputs

::tensorflow::Output valid_outputs

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

NonMaxSuppressionV5.0

 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.0

 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
)