tensorflow::ops::NonMaxSuppressionV5

#include <image_ops.h>

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

สรุป

การตัดทิ้งกล่องที่มีค่าการทับซ้อน (IOU) สูงกับกล่องที่เลือกไว้ก่อนหน้านี้ กล่องขอบเขตที่มีคะแนนน้อยกว่า score_threshold จะถูกลบออก กล่องขอบเขตจะถูกป้อนในรูปแบบ [y1, x1, y2, x2] โดยที่ (y1, x1) และ (y2, x2) คือพิกัดของมุมกล่องคู่ทแยงมุมใดๆ และพิกัดสามารถระบุได้ทั้งแบบนอร์มาไลซ์ (เช่น อยู่ในช่วง [0, 1]) หรือแบบสัมบูรณ์ โปรดทราบว่าอัลกอริทึมนี้ไม่ขึ้นอยู่กับตำแหน่งของจุดกำเนิดในระบบพิกัด และโดยทั่วไปแล้วจะไม่เปลี่ยนแปลงไปตามการแปลงเชิงตั้งฉากและการเลื่อนของระบบพิกัด ดังนั้นการเลื่อนหรือการสะท้อนของระบบพิกัดจะทำให้ได้กล่องเดียวกันที่ถูกเลือกโดยอัลกอริทึม ผลลัพธ์ของการดำเนินการนี้คือชุดของจำนวนเต็มที่ใช้เป็นดัชนีในคอลเลกชันของกล่องขอบเขตที่ป้อนเข้ามา ซึ่งแสดงถึงกล่องที่เลือกไว้ จากนั้นสามารถรับพิกัดของกล่องขอบเขตที่สอดคล้องกับดัชนีที่เลือกได้โดยใช้ tf.gather operation ตัวอย่างเช่น: selected_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

ข้อโต้แย้ง:

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

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

  • pad_to_max_output_size: หากเป็นจริง selected_indices ที่ได้จะถูกเติมให้มีความยาวเท่ากับ max_output_size ค่าเริ่มต้นคือ false

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

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

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

NonMaxSuppressV5

 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
)

NonMaxSuppressV5

 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
)