@Operator(group="image") public final class NonMaxSuppressionWithOverlaps extends PrimitiveOp implements Operand<Integer>
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)
operation
Modifier and Type | Method and Description |
---|---|
Output<Integer> |
asOutput()
Returns the symbolic handle of a tensor.
|
static NonMaxSuppressionWithOverlaps |
create(Scope scope,
Operand<Float> overlaps,
Operand<Float> scores,
Operand<Integer> maxOutputSize,
Operand<Float> overlapThreshold,
Operand<Float> scoreThreshold)
Factory method to create a class wrapping a new NonMaxSuppressionWithOverlaps operation.
|
Output<Integer> |
selectedIndices()
A 1-D integer tensor of shape `[M]` representing the selected
indices from the boxes tensor, where `M <= max_output_size`.
|
equals, hashCode, op, toString
public static NonMaxSuppressionWithOverlaps create(Scope scope, Operand<Float> overlaps, Operand<Float> scores, Operand<Integer> maxOutputSize, Operand<Float> overlapThreshold, Operand<Float> scoreThreshold)
scope
- current scopeoverlaps
- 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.public Output<Integer> selectedIndices()
public Output<Integer> asOutput()
Operand
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.
asOutput
in interface Operand<Integer>
OperationBuilder.addInput(Output)
Copyright © 2022. All rights reserved.