เทนเซอร์โฟลว์:: ปฏิบัติการ:: รวม NonMaxSuppression
#include <image_ops.h>
เลือกชุดย่อยของกรอบขอบเขตอย่างตะกละตะกลามโดยเรียงลำดับคะแนนจากมากไปหาน้อย
สรุป
การดำเนินการนี้ดำเนินการ non_max_suppression บนอินพุตต่อแบตช์ ในทุกคลาส ตัดกล่องที่มีจุดตัดเกินสหภาพ (IOU) สูงซ้อนทับกับกล่องที่เลือกไว้ก่อนหน้านี้ กล่องกำหนดขอบเขตจะถูกกำหนดเป็น [y1, x1, y2, x2] โดยที่ (y1, x1) และ (y2, x2) เป็นพิกัดของมุมกล่องคู่ในแนวทแยงใดๆ และพิกัดสามารถให้มาได้ตามปกติ (เช่น อยู่ใน ช่วง [0, 1]) หรือสัมบูรณ์ โปรดทราบว่าอัลกอริทึมนี้ไม่เชื่อเรื่องต้นกำเนิดที่อยู่ในระบบพิกัด โปรดทราบด้วยว่าอัลกอริทึมนี้ไม่แปรผันกับการแปลงมุมฉากและการแปลของระบบพิกัด ดังนั้นการแปลหรือการสะท้อนของระบบพิกัดส่งผลให้อัลกอริธึมเลือกกล่องเดียวกัน ผลลัพธ์ของการดำเนินการนี้คือกล่องสุดท้าย คะแนน และคลาสเทนเซอร์ที่ส่งคืนหลังจากดำเนินการ non_max_suppression
ข้อโต้แย้ง:
- ขอบเขต: วัตถุ ขอบเขต
- กล่อง: เทนเซอร์โฟลต 4 มิติของรูปร่าง
[batch_size, num_boxes, q, 4]
ถ้าq
เท่ากับ 1 กล่องเดียวกันจะถูกใช้สำหรับทุกคลาส มิฉะนั้น ถ้าq
เท่ากับจำนวนคลาส กล่องเฉพาะคลาสจะถูกใช้ - คะแนน: เทนเซอร์โฟลตสามมิติของรูปร่าง
[batch_size, num_boxes, num_classes]
แทนคะแนนเดียวที่สอดคล้องกับแต่ละกล่อง (แต่ละแถวของกล่อง) - max_output_size_per_class: เทนเซอร์จำนวนเต็มสเกลาร์ซึ่งแสดงถึงจำนวนกล่องสูงสุดที่จะเลือกโดยการปราบปรามที่ไม่สูงสุดต่อคลาส
- max_total_size: สเกลาร์ที่แสดงถึงจำนวนกล่องสูงสุดที่เก็บรักษาไว้ในทุกคลาส
- iou_threshold: เทนเซอร์โฟลต 0-D แสดงถึงเกณฑ์ในการตัดสินใจว่ากล่องทับซ้อนกันมากเกินไปเมื่อเทียบกับ IOU หรือไม่
- Score_threshold: เทนเซอร์โฟลต 0-D แสดงถึงเกณฑ์ในการตัดสินใจว่าจะลบกล่องเมื่อใดโดยพิจารณาจากคะแนน
แอ็ตทริบิวต์ทางเลือก (ดู Attrs
):
- pad_per_class: หากเป็นเท็จ กล่องเอาต์พุต คะแนน และคลาสจะถูกเสริม/ตัดเป็น
max_total_size
หากเป็นจริง กล่องเอาต์พุต คะแนน และคลาสที่มี nmsed จะถูกเสริมให้มีความยาวmax_size_per_class
*num_classes
เว้นแต่จะเกินmax_total_size
ซึ่งในกรณีนี้จะถูกตัดเป็นmax_total_size
ค่าเริ่มต้นเป็นเท็จ - clip_boxes: หากเป็นจริง ถือว่าพิกัดของกล่องอยู่ระหว่าง [0, 1] และตัดกล่องเอาต์พุตหากเกิน [0, 1] ถ้าเป็นเท็จ อย่าทำการตัดและส่งออกพิกัดของกล่องตามที่เป็นอยู่
ผลตอบแทน:
-
Output
nmsed_boxes: เทนเซอร์ [batch_size, max_detections, 4] float32 ที่มีกล่องที่ถูกระงับไม่สูงสุด -
Output
nmsed_scores: เทนเซอร์ [batch_size, max_detections] float32 ที่มีคะแนนสำหรับกล่อง -
Output
nmsed_classes: เทนเซอร์ [batch_size, max_detections] float32 ที่มีคลาสสำหรับกล่อง -
Output
valid_detections: เทนเซอร์ [batch_size] int32 ที่ระบุจำนวนการตรวจจับที่ถูกต้องต่อรายการแบตช์ เฉพาะรายการ num_detections[i] อันดับต้นๆ ใน nms_boxes[i], nms_scores[i] และ nms_class[i] เท่านั้นที่ถูกต้อง รายการที่เหลือไม่มีช่องว่างภายใน
ตัวสร้างและผู้ทำลาย | |
---|---|
CombinedNonMaxSuppression (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size_per_class, :: tensorflow::Input max_total_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold) | |
CombinedNonMaxSuppression (const :: tensorflow::Scope & scope, :: tensorflow::Input boxes, :: tensorflow::Input scores, :: tensorflow::Input max_output_size_per_class, :: tensorflow::Input max_total_size, :: tensorflow::Input iou_threshold, :: tensorflow::Input score_threshold, const CombinedNonMaxSuppression::Attrs & attrs) |
คุณลักษณะสาธารณะ | |
---|---|
nmsed_boxes | |
nmsed_classes | |
nmsed_scores | |
operation | |
valid_detections |
ฟังก์ชันคงที่สาธารณะ | |
---|---|
ClipBoxes (bool x) | |
PadPerClass (bool x) |
โครงสร้าง | |
---|---|
เทนเซอร์โฟลว์ :: ops :: CombinedNonMaxSuppression :: Attrs | ตัวตั้งค่าแอ็ตทริบิวต์ทางเลือกสำหรับ CombinedNonMaxSuppression |
คุณลักษณะสาธารณะ
nmsed_boxes
::tensorflow::Output nmsed_boxes
nmsed_classes
::tensorflow::Output nmsed_classes
nmsed_scores
::tensorflow::Output nmsed_scores
การดำเนินการ
Operation operation
valid_detections
::tensorflow::Output valid_detections
งานสาธารณะ
รวม NonMaxSuppression
CombinedNonMaxSuppression( const ::tensorflow::Scope & scope, ::tensorflow::Input boxes, ::tensorflow::Input scores, ::tensorflow::Input max_output_size_per_class, ::tensorflow::Input max_total_size, ::tensorflow::Input iou_threshold, ::tensorflow::Input score_threshold )
รวม NonMaxSuppression
CombinedNonMaxSuppression( const ::tensorflow::Scope & scope, ::tensorflow::Input boxes, ::tensorflow::Input scores, ::tensorflow::Input max_output_size_per_class, ::tensorflow::Input max_total_size, ::tensorflow::Input iou_threshold, ::tensorflow::Input score_threshold, const CombinedNonMaxSuppression::Attrs & attrs )
ฟังก์ชันคงที่สาธารณะ
คลิปบ็อกซ์
Attrs ClipBoxes( bool x )
แพดเพอร์คลาส
Attrs PadPerClass( bool x )