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)
Constants
String | OP_NAME | The name of this op, as known by TensorFlow core engine |
Public Methods
Output<TInt32> |
asOutput()
Returns the symbolic handle of the tensor.
|
static NonMaxSuppressionWithOverlaps | |
Output<TInt32> |
selectedIndices()
A 1-D integer tensor of shape `[M]` representing the selected
indices from the boxes tensor, where `M <= max_output_size`.
|
Inherited Methods
Constants
public static final String OP_NAME
The name of this op, as known by TensorFlow core engine
Public Methods
public Output<TInt32> asOutput ()
Returns the symbolic handle of the tensor.
Inputs to TensorFlow operations are outputs of another TensorFlow operation. This method is used to obtain a symbolic handle that represents the computation of the input.
public static NonMaxSuppressionWithOverlaps create (Scope scope, Operand<TFloat32> overlaps, Operand<TFloat32> scores, Operand<TInt32> maxOutputSize, Operand<TFloat32> overlapThreshold, Operand<TFloat32> scoreThreshold)
Factory method to create a class wrapping a new NonMaxSuppressionWithOverlaps operation.
Parameters
scope | current scope |
---|---|
overlaps | A 2-D float tensor of shape `[num_boxes, num_boxes]` representing the n-by-n box overlap values. |
scores | A 1-D float tensor of shape `[num_boxes]` representing a single score corresponding to each box (each row of boxes). |
maxOutputSize | A scalar integer tensor representing the maximum number of boxes to be selected by non max suppression. |
overlapThreshold | A 0-D float tensor representing the threshold for deciding whether boxes overlap too. |
scoreThreshold | A 0-D float tensor representing the threshold for deciding when to remove boxes based on score. |
Returns
- a new instance of NonMaxSuppressionWithOverlaps