จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
เทนเซอร์โฟลว์:: ปฏิบัติการ:: NonMaxSuppression
#include <image_ops.h>
เลือกชุดย่อยของกรอบขอบเขตอย่างตะกละตะกลามโดยเรียงลำดับคะแนนจากมากไปหาน้อย
สรุป
การตัดกล่องที่มีจุดตัดกันเกินสหภาพ (IOU) สูงซ้อนทับกับกล่องที่เลือกไว้ก่อนหน้านี้ กล่องกำหนดขอบเขตจะถูกกำหนดเป็น [y1, x1, y2, x2] โดยที่ (y1, x1) และ (y2, x2) เป็นพิกัดของมุมกล่องคู่ในแนวทแยงใดๆ และพิกัดสามารถให้มาได้ตามปกติ (เช่น อยู่ใน ช่วง [0, 1]) หรือสัมบูรณ์ โปรดทราบว่าอัลกอริทึมนี้ไม่เชื่อเรื่องต้นกำเนิดที่อยู่ในระบบพิกัด โปรดทราบว่าอัลกอริทึมนี้ไม่แปรผันกับการแปลงมุมฉากและการแปลของระบบพิกัด ดังนั้นการแปลหรือการสะท้อนของระบบพิกัดส่งผลให้อัลกอริธึมเลือกกล่องเดียวกัน ผลลัพธ์ของการดำเนินการนี้คือชุดของจำนวนเต็มที่สร้างดัชนีลงในคอลเลกชันอินพุตของกล่องขอบเขตที่แสดงถึงกล่องที่เลือก พิกัดกล่องขอบเขตที่สอดคล้องกับดัชนีที่เลือกสามารถรับได้โดยใช้ tf.gather operation
ตัวอย่างเช่น Select_indices = tf.image.non_max_suppression( กล่อง, คะแนน, max_output_size, iou_threshold) Selected_boxes = tf.gather(boxes, Selected_indices)
ข้อโต้แย้ง:
- ขอบเขต: วัตถุ ขอบเขต
- กล่อง: เทนเซอร์โฟลต 2 มิติของรูปร่าง
[num_boxes, 4]
- คะแนน: เทนเซอร์โฟลต 1 มิติของรูปร่าง
[num_boxes]
แทนคะแนนเดียวที่สอดคล้องกับแต่ละกล่อง (แต่ละแถวของกล่อง) - max_output_size: เทนเซอร์จำนวนเต็มสเกลาร์ซึ่งแสดงถึงจำนวนกล่องสูงสุดที่จะเลือกโดยการปราบปรามแบบไม่สูงสุด
แอ็ตทริบิวต์ทางเลือก (ดู Attrs
):
- iou_threshold: ค่าทศนิยมที่แสดงถึงเกณฑ์ในการตัดสินใจว่ากล่องซ้อนทับกันมากเกินไปเมื่อเทียบกับ IOU หรือไม่
ผลตอบแทน:
-
Output
: เทนเซอร์จำนวนเต็ม 1 มิติของรูปร่าง [M]
แทนดัชนีที่เลือกจากกล่องเทนเซอร์ โดยที่ M <= max_output_size
คุณลักษณะสาธารณะ
งานสาธารณะ
โหนด
::tensorflow::Node * node() const
operator::tensorflow::Input() const
ตัวดำเนินการ::tensorflow::เอาต์พุต
operator::tensorflow::Output() const
ฟังก์ชันคงที่สาธารณะ
IouThreshold
Attrs IouThreshold(
float x
)
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-27 UTC
[null,null,["อัปเดตล่าสุด 2025-07-27 UTC"],[],[],null,["# tensorflow::ops::NonMaxSuppression Class Reference\n\ntensorflow::ops::NonMaxSuppression\n==================================\n\n`#include \u003cimage_ops.h\u003e`\n\nGreedily selects a subset of bounding boxes in descending order of score,.\n\nSummary\n-------\n\npruning away boxes that have high intersection-over-union (IOU) overlap with previously selected boxes. Bounding boxes are supplied as \\[y1, x1, y2, x2\\], where (y1, x1) and (y2, x2) are the coordinates of any diagonal pair of box corners and the coordinates can be provided as normalized (i.e., lying in the interval \\[0, 1\\]) or absolute. Note that this algorithm is agnostic to where the origin is in the coordinate system. Note that this algorithm is invariant to orthogonal transformations and translations of the coordinate system; thus translating or reflections of the coordinate system result in the same boxes being selected by the algorithm. The output of this operation is a set of integers indexing into the input collection of bounding boxes representing the selected boxes. The bounding box coordinates corresponding to the selected indices can then be obtained using the `tf.gather operation`. For example: selected_indices = tf.image.non_max_suppression( boxes, scores, max_output_size, iou_threshold) selected_boxes = tf.gather(boxes, selected_indices)\n\nArguments:\n\n- scope: A [Scope](/versions/r2.2/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object\n- boxes: A 2-D float tensor of shape `[num_boxes, 4]`.\n- scores: A 1-D float tensor of shape `[num_boxes]` representing a single score corresponding to each box (each row of boxes).\n- max_output_size: A scalar integer tensor representing the maximum number of boxes to be selected by non max suppression.\n\n\u003cbr /\u003e\n\nOptional attributes (see [Attrs](/versions/r2.2/api_docs/cc/struct/tensorflow/ops/non-max-suppression/attrs#structtensorflow_1_1ops_1_1_non_max_suppression_1_1_attrs)):\n\n- iou_threshold: A float representing the threshold for deciding whether boxes overlap too much with respect to IOU.\n\n\u003cbr /\u003e\n\nReturns:\n\n- [Output](/versions/r2.2/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output): A 1-D integer tensor of shape `[M]` representing the selected indices from the boxes tensor, where `M \u003c= max_output_size`.\n\n\u003cbr /\u003e\n\n| ### Constructors and Destructors ||\n|---|---|\n| [NonMaxSuppression](#classtensorflow_1_1ops_1_1_non_max_suppression_1a9d86b1cd20b43d62327b4b497d6457d4)`(const ::`[tensorflow::Scope](/versions/r2.2/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` boxes, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` scores, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` max_output_size)` ||\n| [NonMaxSuppression](#classtensorflow_1_1ops_1_1_non_max_suppression_1a1ab4c9ad2a00fb51e1dfd72bc9fc363b)`(const ::`[tensorflow::Scope](/versions/r2.2/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope)` & scope, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` boxes, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` scores, ::`[tensorflow::Input](/versions/r2.2/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input)` max_output_size, const `[NonMaxSuppression::Attrs](/versions/r2.2/api_docs/cc/struct/tensorflow/ops/non-max-suppression/attrs#structtensorflow_1_1ops_1_1_non_max_suppression_1_1_attrs)` & attrs)` ||\n\n| ### Public attributes ||\n|--------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|\n| [operation](#classtensorflow_1_1ops_1_1_non_max_suppression_1a1959f5a68ba6d16064a93d86a1414712) | [Operation](/versions/r2.2/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation) |\n| [selected_indices](#classtensorflow_1_1ops_1_1_non_max_suppression_1ad4219ad3203cc7d4d8c96f8833d367fc) | `::`[tensorflow::Output](/versions/r2.2/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output) |\n\n| ### Public functions ||\n|-------------------------------------------------------------------------------------------------------------------------------|------------------------|\n| [node](#classtensorflow_1_1ops_1_1_non_max_suppression_1a4cad107f2f05bbb87deb2241ecad5f6e)`() const ` | `::tensorflow::Node *` |\n| [operator::tensorflow::Input](#classtensorflow_1_1ops_1_1_non_max_suppression_1af7a9dd9e033cacef4e2771bdf3998725)`() const ` | ` ` ` ` |\n| [operator::tensorflow::Output](#classtensorflow_1_1ops_1_1_non_max_suppression_1acb3c005a4bed5fc05b4eaae70457faca)`() const ` | ` ` ` ` |\n\n| ### Public static functions ||\n|---------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|\n| [IouThreshold](#classtensorflow_1_1ops_1_1_non_max_suppression_1a136de54e18cc497fc70fc94659efd6ae)`(float x)` | [Attrs](/versions/r2.2/api_docs/cc/struct/tensorflow/ops/non-max-suppression/attrs#structtensorflow_1_1ops_1_1_non_max_suppression_1_1_attrs) |\n\n| ### Structs ||\n|-------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [tensorflow::ops::NonMaxSuppression::Attrs](/versions/r2.2/api_docs/cc/struct/tensorflow/ops/non-max-suppression/attrs) | Optional attribute setters for [NonMaxSuppression](/versions/r2.2/api_docs/cc/class/tensorflow/ops/non-max-suppression#classtensorflow_1_1ops_1_1_non_max_suppression). |\n\nPublic attributes\n-----------------\n\n### operation\n\n```text\nOperation operation\n``` \n\n### selected_indices\n\n```scdoc\n::tensorflow::Output selected_indices\n``` \n\nPublic functions\n----------------\n\n### NonMaxSuppression\n\n```gdscript\n NonMaxSuppression(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input boxes,\n ::tensorflow::Input scores,\n ::tensorflow::Input max_output_size\n)\n``` \n\n### NonMaxSuppression\n\n```gdscript\n NonMaxSuppression(\n const ::tensorflow::Scope & scope,\n ::tensorflow::Input boxes,\n ::tensorflow::Input scores,\n ::tensorflow::Input max_output_size,\n const NonMaxSuppression::Attrs & attrs\n)\n``` \n\n### node\n\n```gdscript\n::tensorflow::Node * node() const \n``` \n\n### operator::tensorflow::Input\n\n```gdscript\n operator::tensorflow::Input() const \n``` \n\n### operator::tensorflow::Output\n\n```gdscript\n operator::tensorflow::Output() const \n``` \n\nPublic static functions\n-----------------------\n\n### IouThreshold\n\n```text\nAttrs IouThreshold(\n float x\n)\n```"]]