NonMaxSuppressionV5

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

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

การตัดกล่องที่มีจุดตัดกันเกินสหภาพ (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

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

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

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

คงที่ <T ขยายจำนวน> NonMaxSuppressionV5 <T>
สร้าง (ขอบเขต ขอบเขต กล่อง ตัวดำเนินการ <T> ตัวดำเนินการ <T> คะแนน ตัวดำเนินการ <Integer> 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> คะแนน, ตัวดำเนินการ <Integer> maxOutputSize, ตัวดำเนิน การ <T> iouThreshold, ตัวดำเนินการ <T> ScoreThreshold, ตัวดำเนินการ <T> softNmsSigma, ตัวเลือก .. . ตัวเลือก)

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

พารามิเตอร์
ขอบเขต ขอบเขตปัจจุบัน
กล่อง เทนเซอร์โฟลต 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 มาตรฐาน (ยาก)
ตัวเลือก มีค่าแอตทริบิวต์ทางเลือก
การส่งคืน
  • อินสแตนซ์ใหม่ของ NonMaxSuppressionV5

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

พารามิเตอร์
padToMaxOutputSize หากเป็นจริง เอาต์พุต `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` โดยองค์ประกอบที่ถูกต้องจะปรากฏก่อน