NonMaxSuppression

NonMaxSuppression คลาสสุดท้ายสาธารณะ

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

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

คลาสที่ซ้อนกัน

ระดับ NonMaxSuppression.ตัวเลือก แอ็ตทริบิวต์ทางเลือกสำหรับ NonMaxSuppression

ค่าคงที่

สตริง OP_NAME ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow

วิธีการสาธารณะ

คงที่ <T ขยาย TNumber > NonMaxSuppression <T>
สร้าง (ขอบเขต ขอบเขต กล่อง ตัวดำเนินการ <T> ตัวดำเนินการ <T> คะแนน ตัว ดำเนิน การ < TInt32 > maxOutputSize ตัวดำเนินการ <T> iouThreshold ตัวดำเนินการ <T> ScoreThreshold ตัวดำเนินการ <T> softNmsSigma ตัวเลือก... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ NonMaxSuppression ใหม่
NonMaxSuppression.Options แบบคงที่
padToMaxOutputSize (บูลีน padToMaxOutputSize)
เอาท์พุต < TInt32 >
ดัชนีที่เลือก ()
เทนเซอร์จำนวนเต็ม 1 มิติของรูปร่าง `[M]` ซึ่งเป็นตัวแทนของดัชนีที่เลือกจากกล่องเทนเซอร์ โดยที่ `M <= max_output_size`
เอาท์พุต <T>
เลือกคะแนน ()
เทนเซอร์โฟลต 1 มิติของรูปร่าง `[M]` ซึ่งแสดงถึงคะแนนที่สอดคล้องกันสำหรับแต่ละกล่องที่เลือก โดยที่ `M <= max_output_size`
เอาท์พุต < TInt32 >
ผลลัพธ์ที่ถูกต้อง ()
เทนเซอร์จำนวนเต็ม 0-D ที่แสดงจำนวนองค์ประกอบที่ถูกต้องใน `selected_indices` โดยองค์ประกอบที่ถูกต้องจะปรากฏก่อน

วิธีการสืบทอด

ค่าคงที่

สตริงสุดท้ายแบบคงที่สาธารณะ OP_NAME

ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow

ค่าคงที่: "NonMaxSuppressionV5"

วิธีการสาธารณะ

สร้าง NonMaxSuppression <T> แบบคงที่สาธารณะ (ขอบเขต ขอบเขต กล่องตัว ดำเนิน การ <T> ตัว ดำเนิน การ <T> คะแนน ตัว ดำเนินการ <TInt32> maxOutputSize ตัวดำเนินการ <T> iouThreshold ตัวดำเนิน การ <T> ScoreThreshold ตัวดำเนินการ <T> softNmsSigma ตัวเลือก .. . ตัวเลือก)

วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ NonMaxSuppression ใหม่

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

NonMaxSuppression.Options แบบคงที่สาธารณะ padToMaxOutputSize (บูลีน padToMaxOutputSize)

พารามิเตอร์
padToMaxOutputSize หากเป็นจริง เอาต์พุต `selected_indices` จะถูกเสริมให้มีความยาว `max_output_size` ค่าเริ่มต้นเป็นเท็จ

เอาท์พุท สาธารณะ <TInt32> ดัชนีที่เลือก ()

เทนเซอร์จำนวนเต็ม 1 มิติของรูปร่าง `[M]` ซึ่งเป็นตัวแทนของดัชนีที่เลือกจากกล่องเทนเซอร์ โดยที่ `M <= max_output_size`

เอาท์พุท สาธารณะ <T> คะแนนที่เลือก ()

เทนเซอร์โฟลต 1 มิติของรูปร่าง `[M]` ซึ่งแสดงถึงคะแนนที่สอดคล้องกันสำหรับแต่ละกล่องที่เลือก โดยที่ `M <= max_output_size` คะแนนจะแตกต่างจากคะแนนอินพุตที่สอดคล้องกันเมื่อใช้ Soft NMS (เช่น เมื่อ `soft_nms_sigma>0`)

เอาท์ พุท สาธารณะ <TInt32> validOutputs ()

เทนเซอร์จำนวนเต็ม 0-D ที่แสดงจำนวนองค์ประกอบที่ถูกต้องใน `selected_indices` โดยองค์ประกอบที่ถูกต้องจะปรากฏก่อน