เลือกชุดย่อยของกล่องขอบเขตอย่างตะกละตะกลามโดยเรียงลำดับจากมากไปน้อย
การตัดกล่องที่มีทางแยกทับซ้อนสูง (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 (ที่มีการถ่วงน้ำหนักแบบเกาส์เซียน) et al Bodal , https://arxiv.org/abs/1704.04503) โดยที่กล่องจะลดคะแนนของกล่องที่ทับซ้อนกันอื่นๆ แทนที่จะทำให้ถูกตัดแต่งโดยตรง ในการเปิดใช้งานโหมด Soft-NMS นี้ ให้ตั้งค่าพารามิเตอร์ `soft_nms_sigma` ให้มีค่ามากกว่า 0
คลาสที่ซ้อนกัน
ระดับ | NonMaxSuppressionV5.Options | แอตทริบิวต์เสริมสำหรับ NonMaxSuppressionV5 |
วิธีการสาธารณะ
คงที่ <T ขยายจำนวน> NonMaxSuppressionV5 <T> | สร้าง ( ขอบเขต ขอบเขต, ตัวถูกดำเนินการ <T> กล่อง, ตัวถูกดำเนินการ <T> คะแนน, ตัวถูกดำเนินการ <จำนวนเต็ม> maxOutputSize , ตัวถูกดำเนิน การ <T> iouThreshold , ตัวถูกดำเนินการ <T> scoreThreshold , ตัวถูกดำเนิน การ <T> softNmsSigma , ตัวเลือก... ) วิธีการจากโรงงานเพื่อสร้างคลาสที่ปิดการดำเนินการ NonMaxSuppressionV5 ใหม่ |
คงที่ NonMaxSuppressionV5.Options | padToMaxOutputSize (บูลีน padToMaxOutputSize) |
เอาต์พุต <จำนวนเต็ม> | ดัชนีที่เลือก () เทนเซอร์จำนวนเต็ม 1 มิติของรูปร่าง `[M]` แทนดัชนีที่เลือกจากเมตริกซ์กล่อง โดยที่ `M <= max_output_size' |
เอาท์พุต <T> | คะแนนที่เลือก () เทนเซอร์แบบลอยตัว 1 มิติของรูปร่าง `[M]` แทนคะแนนที่สอดคล้องกันสำหรับแต่ละช่องที่เลือก โดยที่ `M <= max_output_size` |
เอาต์พุต <จำนวนเต็ม> | ผลลัพธ์ที่ถูกต้อง () เทนเซอร์จำนวนเต็ม 0-D ที่แสดงจำนวนองค์ประกอบที่ถูกต้องใน `selected_indices' โดยมีองค์ประกอบที่ถูกต้องปรากฏขึ้นก่อน |
วิธีการสืบทอด
วิธีการสาธารณะ
คงที่สาธารณะ NonMaxSuppressionV5 <T> สร้าง ( ขอบเขต ขอบเขต, กล่องตัวถูกดำเนินการ <T>, คะแนนตัวถูกดำเนินการ <T>, ตัวถูกดำเนินการ <จำนวนเต็ม> maxOutputSize , ตัวถูกดำเนิน การ <T> iouThreshold , ตัวถูกดำเนินการ <T> scoreThreshold , ตัวถูกดำเนินการ <T> softNmsSigma , ตัวเลือก.. . ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่ปิดการดำเนินการ NonMaxSuppressionV5 ใหม่
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|---|
กล่อง | เทนเซอร์ลอยตัว 2 มิติของรูปร่าง `[num_boxes, 4]` |
คะแนน | เทนเซอร์ลอยตัว 1 มิติของรูปร่าง `[num_boxes]` ซึ่งแสดงถึงคะแนนเดียวที่สอดคล้องกับแต่ละกล่อง (แต่ละแถวของกล่อง) |
maxOutputSize | เทนเซอร์จำนวนเต็มสเกลาร์ซึ่งแสดงถึงจำนวนสูงสุดของกล่องที่จะเลือกโดยไม่ใช่การปราบปรามสูงสุด |
iouThreshold | เมตริกซ์โฟลต 0-D แสดงถึงเกณฑ์สำหรับการตัดสินใจว่ากล่องคาบเกี่ยวกันมากเกินไปหรือไม่เมื่อเทียบกับ IOU |
คะแนนเกณฑ์ | เมตริกซ์โฟลต 0-D แสดงถึงเกณฑ์ในการตัดสินใจว่าจะถอดกล่องออกโดยพิจารณาจากคะแนนเมื่อใด |
softNmsSigma | เทนเซอร์ลอยตัว 0-D แทนพารามิเตอร์ซิกมาสำหรับ Soft NMS; ดู Bodla et al (cf https://arxiv.org/abs/1704.04503) เมื่อ `soft_nms_sigma=0.0` (ซึ่งเป็นค่าเริ่มต้น) เราจะถอยกลับไปใช้ NMS มาตรฐาน (ฮาร์ด) |
ตัวเลือก | ดำเนินการค่าแอตทริบิวต์ทางเลือก |
คืนสินค้า
- อินสแตนซ์ใหม่ของ NonMaxSuppressionV5
สาธารณะคงที่ NonMaxSuppressionV5.Options padToMaxOutputSize (บูลีน padToMaxOutputSize)
พารามิเตอร์
padToMaxOutputSize | หากเป็น True เอาต์พุต "selected_indices" จะได้รับการเสริมให้มีความยาว "max_output_size" ค่าเริ่มต้นเป็นเท็จ |
---|
เอาต์พุต สาธารณะ <จำนวนเต็ม> ที่ เลือก ดัชนี ()
เทนเซอร์จำนวนเต็ม 1 มิติของรูปร่าง `[M]` แทนดัชนีที่เลือกจากเมตริกซ์กล่อง โดยที่ `M <= max_output_size'
ผลลัพธ์ สาธารณะ <T> คะแนนที่ เลือก ()
เทนเซอร์แบบลอยตัว 1 มิติของรูปร่าง `[M]` แทนคะแนนที่สอดคล้องกันสำหรับแต่ละช่องที่เลือก โดยที่ `M <= max_output_size` คะแนนแตกต่างจากคะแนนอินพุตที่เกี่ยวข้องเมื่อใช้ Soft NMS เท่านั้น (เช่น เมื่อ `soft_nms_sigma>0`)
เอาต์พุต สาธารณะ <จำนวนเต็ม> validOutputs ()
เทนเซอร์จำนวนเต็ม 0-D ที่แสดงจำนวนองค์ประกอบที่ถูกต้องใน `selected_indices' โดยมีองค์ประกอบที่ถูกต้องปรากฏขึ้นก่อน