Greedily selects a subset of bounding boxes in descending order of score,.
pruning away boxes that have high overlaps with previously selected boxes. Bounding boxes with score less than
score_threshold are removed. N-by-n overlap values are supplied as square matrix, which allows for defining a custom overlap criterium (eg. intersection over union, intersection over area, etc.).
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_with_overlaps( overlaps, scores, max_output_size, overlap_threshold, score_threshold) selected_boxes = tf.gather(boxes, selected_indices)
[num_boxes, num_boxes]representing the n-by-n box overlap values.
[num_boxes]representing a single score corresponding to each box (each row of boxes).
Output: A 1-D integer tensor of shape
[M]representing the selected indices from the boxes tensor, where
M <= max_output_size.
|Constructors and Destructors|
| || |
NonMaxSuppressionWithOverlaps( const ::tensorflow::Scope & scope, ::tensorflow::Input overlaps, ::tensorflow::Input scores, ::tensorflow::Input max_output_size, ::tensorflow::Input overlap_threshold, ::tensorflow::Input score_threshold )
::tensorflow::Node * node() const
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.