เลือกชุดย่อยของกรอบขอบเขตอย่างตะกละตะกลามโดยเรียงลำดับคะแนนจากมากไปหาน้อย
การดำเนินการนี้ดำเนินการ non_max_suppression บนอินพุตต่อแบตช์ ในทุกคลาส ตัดกล่องที่มีจุดตัดเกินสหภาพ (IOU) สูงซ้อนทับกับกล่องที่เลือกไว้ก่อนหน้านี้ กล่องกำหนดขอบเขตจะถูกกำหนดเป็น [y1, x1, y2, x2] โดยที่ (y1, x1) และ (y2, x2) เป็นพิกัดของมุมกล่องคู่ในแนวทแยงใดๆ และพิกัดสามารถให้มาได้ตามปกติ (เช่น อยู่ใน ช่วง [0, 1]) หรือสัมบูรณ์ โปรดทราบว่าอัลกอริทึมนี้ไม่เชื่อเรื่องต้นกำเนิดที่อยู่ในระบบพิกัด โปรดทราบด้วยว่าอัลกอริทึมนี้ไม่แปรผันกับการแปลงมุมฉากและการแปลของระบบพิกัด ดังนั้นการแปลหรือการสะท้อนของระบบพิกัดส่งผลให้อัลกอริธึมเลือกกล่องเดียวกัน ผลลัพธ์ของการดำเนินการนี้คือกล่องสุดท้าย คะแนน และคลาสเทนเซอร์ที่ส่งคืนหลังจากดำเนินการ non_max_suppression
คลาสที่ซ้อนกัน
ระดับ | CombinedNonMaxSuppression.Options | แอ็ตทริบิวต์ทางเลือกสำหรับ CombinedNonMaxSuppression |
ค่าคงที่
สตริง | OP_NAME | ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow |
วิธีการสาธารณะ
CombinedNonMaxSuppression.Options แบบคงที่ | clipBoxes (คลิปบูลีน) |
CombinedNonMaxSuppression แบบคงที่ | สร้าง (ขอบเขต ขอบเขต ตัวดำเนินการ < TFloat32 > กล่อง ตัวดำเนินการ < TFloat32 > คะแนน ตัวดำเนินการ < TInt32 > maxOutputSizePerClass ตัวดำเนินการ < TInt32 > maxTotalSize ตัวดำเนินการ < TFloat32 > iouThreshold, ตัวดำเนินการ < TFloat32 > ScoreThreshold ตัวเลือก... ตัวเลือก) วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ CombinedNonMaxSuppression ใหม่ |
เอาท์พุต < TFloat32 > | nmsedBoxes () เทนเซอร์ [batch_size, max_detections, 4] float32 ที่มีกล่องที่ไม่ระงับสูงสุด |
เอาท์พุต < TFloat32 > | nmsedClasses () เทนเซอร์ [batch_size, max_detections] float32 ที่มีคลาสสำหรับกล่อง |
เอาท์พุต < TFloat32 > | คะแนน nmsed () เทนเซอร์ [batch_size, max_detections] float32 ที่มีคะแนนสำหรับกล่อง |
CombinedNonMaxSuppression.Options แบบคงที่ | padPerClass (บูลีน padPerClass) |
เอาท์พุต < TInt32 > | การตรวจจับที่ถูกต้อง () เทนเซอร์ [batch_size] int32 ระบุจำนวนการตรวจจับที่ถูกต้องต่อรายการแบตช์ |
วิธีการสืบทอด
ค่าคงที่
สตริงสุดท้ายแบบคงที่สาธารณะ OP_NAME
ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow
วิธีการสาธารณะ
สาธารณะคง CombinedNonMaxSuppression.Options clipBoxes (boolean clipBoxes)
พารามิเตอร์
คลิปบ็อกซ์ | หากเป็นจริง สมมติว่าพิกัดของกล่องอยู่ระหว่าง [0, 1] และตัดกล่องเอาต์พุตหากเกิน [0, 1] ถ้าเป็นเท็จ อย่าทำการตัดและส่งออกพิกัดของกล่องตามที่เป็นอยู่ |
---|
สาธารณะคง CombinedNonMaxSuppression สร้าง (ขอบเขต ขอบเขต ตัวดำเนินการ < TFloat32 > กล่อง ตัวดำเนินการ < TFloat32 > คะแนน ตัวดำเนินการ < TInt32 > maxOutputSizePerClass ตัวดำเนินการ < TInt32 > maxTotalSize, ตัวดำเนินการ < TFloat32 > iouThreshold, ตัวดำเนินการ < TFloat32 > ScoreThreshold ตัวเลือก... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ CombinedNonMaxSuppression ใหม่
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|---|
กล่อง | เทนเซอร์โฟลต 4 มิติของรูปร่าง `[batch_size, num_boxes, q, 4]` หาก `q` เป็น 1 กล่องเดียวกันจะถูกใช้สำหรับคลาสทั้งหมด มิฉะนั้น หาก `q` เท่ากับจำนวนคลาส จะใช้กล่องเฉพาะคลาส |
คะแนน | เทนเซอร์โฟลตสามมิติของรูปร่าง `[batch_size, num_boxes, num_classes]` ซึ่งแสดงถึงคะแนนเดียวที่สอดคล้องกับแต่ละกล่อง (แต่ละแถวของกล่อง) |
maxOutputSizePerClass | เทนเซอร์จำนวนเต็มสเกลาร์ซึ่งแสดงถึงจำนวนกล่องสูงสุดที่จะเลือกโดยการปราบปรามที่ไม่สูงสุดต่อคลาส |
ขนาดรวมสูงสุด | สเกลาร์ที่แสดงถึงจำนวนกล่องสูงสุดที่เก็บรักษาไว้ในทุกคลาส |
iouThreshold | เทนเซอร์โฟลต 0-D แสดงถึงเกณฑ์ในการตัดสินใจว่ากล่องซ้อนทับกันมากเกินไปเมื่อเทียบกับ IOU หรือไม่ |
เกณฑ์คะแนน | เทนเซอร์โฟลต 0-D แสดงถึงเกณฑ์ในการตัดสินใจว่าจะถอดกล่องออกเมื่อใดโดยพิจารณาจากคะแนน |
ตัวเลือก | มีค่าแอตทริบิวต์ทางเลือก |
การส่งคืน
- อินสแตนซ์ใหม่ของ CombinedNonMaxSuppression
เอาท์พุท สาธารณะ < TFloat32 > nmsedBoxes ()
เทนเซอร์ [batch_size, max_detections, 4] float32 ที่มีกล่องที่ไม่ระงับสูงสุด
เอาท์พุท สาธารณะ < TFloat32 > nmsedClasses ()
เทนเซอร์ [batch_size, max_detections] float32 ที่มีคลาสสำหรับกล่อง
เอาท์พุท สาธารณะ < TFloat32 > nmsedScores ()
เทนเซอร์ [batch_size, max_detections] float32 ที่มีคะแนนสำหรับกล่อง
สาธารณะคง CombinedNonMaxSuppression.Options padPerClass (บูลีน padPerClass)
พารามิเตอร์
แพดPerClass | หากเป็นเท็จ กล่องเอาต์พุต คะแนน และคลาสจะถูกเสริม/ตัดเป็น `max_total_size` หากเป็นจริง กล่องเอาต์พุต คะแนน และคลาสจะถูกเสริมให้มีความยาว `max_size_per_class`*`num_classes` เว้นแต่จะเกิน `max_total_size` ซึ่งในกรณีนี้จะถูกตัดเป็น `max_total_size` ค่าเริ่มต้นเป็นเท็จ |
---|