tensorflow::ops::CombinedNonMaxSuppression
#include <image_ops.h>เลือกกลุ่มย่อยของกรอบล้อมรอบโดยเรียงลำดับจากคะแนนมากที่สุดไปน้อยที่สุดอย่างโลภ (Greeding selects)
สรุป
การดำเนินการนี้จะทำการ non_max_suppression กับข้อมูลอินพุตต่อชุด ในทุกคลาส โดยจะตัดกล่องที่มีค่า intersection-over-union (IOU) สูงซึ่งทับซ้อนกับกล่องที่เลือกไว้ก่อนหน้านี้ออกไป กล่องขอบเขตจะถูกป้อนในรูปแบบ [y1, x1, y2, x2] โดยที่ (y1, x1) และ (y2, x2) คือพิกัดของมุมกล่องคู่ทแยงมุมใดๆ และสามารถระบุพิกัดได้ทั้งแบบนอร์มาไลซ์ (เช่น อยู่ในช่วง [0, 1]) หรือแบบสัมบูรณ์ โปรดทราบว่าอัลกอริทึมนี้ไม่ขึ้นอยู่กับตำแหน่งของจุดกำเนิดในระบบพิกัด และโปรดทราบอีกว่าอัลกอริทึมนี้ไม่เปลี่ยนแปลงไปตามการแปลงเชิงตั้งฉากและการเลื่อนของระบบพิกัด ดังนั้นการเลื่อนหรือการสะท้อนของระบบพิกัดจะทำให้ได้กล่องเดียวกันโดยอัลกอริทึม ผลลัพธ์ของการดำเนินการนี้คือกล่องสุดท้าย คะแนน และเทนเซอร์ของคลาสที่ส่งคืนหลังจากทำการ non_max_suppression แล้ว
ข้อโต้แย้ง:
- ขอบเขต: วัตถุ ขอบเขต
- กล่อง: เทนเซอร์แบบ float 4 มิติ ที่มีรูปร่าง
[batch_size, num_boxes, q, 4]ถ้าqเท่ากับ 1 จะใช้กล่องเดียวกันสำหรับทุกคลาส แต่ถ้าqเท่ากับจำนวนคลาส จะใช้กล่องเฉพาะสำหรับแต่ละคลาส - คะแนน: เทนเซอร์แบบ float 3 มิติ ที่มีรูปร่าง
[batch_size, num_boxes, num_classes]ซึ่งแสดงคะแนนเดียวที่สอดคล้องกับแต่ละกล่อง (แต่ละแถวของกล่อง) - max_output_size_per_class: เทนเซอร์จำนวนเต็มแบบสเกลาร์ที่แสดงจำนวนกล่องสูงสุดที่จะถูกเลือกโดยการระงับที่ไม่ใช่ค่าสูงสุดต่อคลาส
- max_total_size: ค่าสเกลาร์ที่แสดงจำนวนกล่องสูงสุดที่เก็บไว้ในทุกคลาส
- iou_threshold: เทนเซอร์แบบ float 0 มิติ ที่แสดงถึงค่าเกณฑ์ในการตัดสินว่ากล่องต่างๆ ทับซ้อนกันมากเกินไปหรือไม่ โดยพิจารณาจากค่า IOU
- score_threshold: เทนเซอร์แบบ float 0 มิติ ที่แสดงถึงเกณฑ์ในการตัดสินใจว่าจะลบกล่องเมื่อใด โดยพิจารณาจากคะแนน
คุณลักษณะเสริม (ดูที่ Attrs ):
- pad_per_class: หากเป็น false กล่อง คะแนน และคลาสที่ได้จากการประมวลผล nmsed จะถูกเติม/ตัดให้มีขนาดเท่ากับ
max_total_sizeหากเป็น true กล่อง คะแนน และคลาสที่ได้จากการประมวลผล nmsed จะถูกเติมให้มีความยาวเท่ากับmax_size_per_class*num_classesเว้นแต่ว่าจะเกินmax_total_sizeซึ่งในกรณีนั้นจะถูกตัดให้เหลือขนาดเท่ากับmax_total_sizeค่าเริ่มต้นคือ false - clip_boxes: ถ้าเป็นจริง ให้ถือว่าพิกัดของกล่องอยู่ระหว่าง [0, 1] และตัดกล่องเอาต์พุตหากพิกัดอยู่นอกช่วง [0, 1] ถ้าเป็นเท็จ จะไม่ทำการตัดและแสดงพิกัดของกล่องตามเดิม
การส่งคืนสินค้า:
-
Outputnmsed_boxes: เทนเซอร์ float32 ขนาด [batch_size, max_detections, 4] ที่มีกล่องที่ไม่ใช่ค่าสูงสุดที่ถูกระงับ -
Outputnmsed_scores: เทนเซอร์ float32 ขนาด [batch_size, max_detections] ที่มีคะแนนสำหรับกล่องแต่ละกล่อง -
Outputnmsed_classes: เทนเซอร์ float32 ขนาด [batch_size, max_detections] ที่มีคลาสสำหรับกล่องต่างๆ -
Outputvalid_detections: เทนเซอร์ int32 ขนาด [batch_size] ที่ระบุจำนวนการตรวจจับที่ถูกต้องต่อรายการในแต่ละแบทช์ เฉพาะรายการที่มีค่าสูงสุด 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) | |
โครงสร้าง | |
|---|---|
| tensorflow::ops::CombinedNonMaxSuppression::Attrs | ตัวเลือกการตั้งค่าแอตทริบิวต์สำหรับ CombinedNonMaxSuppression |
คุณลักษณะสาธารณะ
nmsed_boxes
::tensorflow::Output nmsed_boxes
nmsed_classes
::tensorflow::Output nmsed_classes
คะแนน nmsed
::tensorflow::Output nmsed_scores
การดำเนินการ
Operation operation
การตรวจจับที่ถูกต้อง
::tensorflow::Output valid_detections
หน้าที่สาธารณะ
การระงับแบบรวมที่ไม่ใช่ค่าสูงสุด
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 )
ฟังก์ชันคงที่สาธารณะ
คลิปบ็อกซ์
Attrs ClipBoxes( bool x )
แพดต่อคลาส
Attrs PadPerClass( bool x )