@Namespace(value="tensorflow::ops") @NoOffset @Properties(inherit=tensorflow.class) public class NonMaxSuppressionV5 extends Pointer
score_threshold
are removed. 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 and more
generally 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_v2(
boxes, scores, max_output_size, iou_threshold, score_threshold)
selected_boxes = tf.gather(boxes, selected_indices)
This op also supports a Soft-NMS (with Gaussian weighting) mode (c.f.
Bodla et al, https://arxiv.org/abs/1704.04503) where boxes reduce the score
of other overlapping boxes instead of directly causing them to be pruned.
To enable this Soft-NMS mode, set the soft_nms_sigma
parameter to be
larger than 0.
Arguments:
* scope: A Scope object
* boxes: A 2-D float tensor of shape [num_boxes, 4]
.
* scores: A 1-D float tensor of shape [num_boxes]
representing a single
score corresponding to each box (each row of boxes).
* max_output_size: A scalar integer tensor representing the maximum number of
boxes to be selected by non max suppression.
* iou_threshold: A 0-D float tensor representing the threshold for deciding whether
boxes overlap too much with respect to IOU.
* score_threshold: A 0-D float tensor representing the threshold for deciding when to remove
boxes based on score.
* soft_nms_sigma: A 0-D float tensor representing the sigma parameter for Soft NMS; see Bodla et
al (c.f. https://arxiv.org/abs/1704.04503). When soft_nms_sigma=0.0
(which
is default), we fall back to standard (hard) NMS.
Optional attributes (see Attrs
):
* pad_to_max_output_size: If true, the output selected_indices
is padded to be of length
max_output_size
. Defaults to false.
Returns:
* Output
selected_indices: A 1-D integer tensor of shape [M]
representing the selected
indices from the boxes tensor, where M <= max_output_size
.
* Output
selected_scores: A 1-D float tensor of shape [M]
representing the corresponding
scores for each selected box, where M <= max_output_size
. Scores only differ
from corresponding input scores when using Soft NMS (i.e. when
soft_nms_sigma>0
)
* Output
valid_outputs: A 0-D integer tensor representing the number of valid elements in
selected_indices
, with the valid elements appearing first.Modifier and Type | Class and Description |
---|---|
static class |
NonMaxSuppressionV5.Attrs
Optional attribute setters for NonMaxSuppressionV5
|
Pointer.CustomDeallocator, Pointer.Deallocator, Pointer.NativeDeallocator, Pointer.ReferenceCounter
Constructor and Description |
---|
NonMaxSuppressionV5(Pointer p)
Pointer cast constructor.
|
NonMaxSuppressionV5(Scope scope,
Input boxes,
Input scores,
Input max_output_size,
Input iou_threshold,
Input score_threshold,
Input soft_nms_sigma) |
NonMaxSuppressionV5(Scope scope,
Input boxes,
Input scores,
Input max_output_size,
Input iou_threshold,
Input score_threshold,
Input soft_nms_sigma,
NonMaxSuppressionV5.Attrs attrs) |
Modifier and Type | Method and Description |
---|---|
Operation |
operation() |
NonMaxSuppressionV5 |
operation(Operation setter) |
static NonMaxSuppressionV5.Attrs |
PadToMaxOutputSize(boolean x) |
Output |
selected_indices() |
NonMaxSuppressionV5 |
selected_indices(Output setter) |
Output |
selected_scores() |
NonMaxSuppressionV5 |
selected_scores(Output setter) |
Output |
valid_outputs() |
NonMaxSuppressionV5 |
valid_outputs(Output setter) |
address, asBuffer, asByteBuffer, availablePhysicalBytes, calloc, capacity, capacity, close, deallocate, deallocate, deallocateReferences, deallocator, deallocator, equals, fill, formatBytes, free, getDirectBufferAddress, getPointer, getPointer, getPointer, getPointer, hashCode, interruptDeallocatorThread, isNull, isNull, limit, limit, malloc, maxBytes, maxPhysicalBytes, memchr, memcmp, memcpy, memmove, memset, offsetAddress, offsetof, offsetof, parseBytes, physicalBytes, physicalBytesInaccurate, position, position, put, realloc, referenceCount, releaseReference, retainReference, setNull, sizeof, sizeof, toString, totalBytes, totalCount, totalPhysicalBytes, withDeallocator, zero
public NonMaxSuppressionV5(Pointer p)
Pointer(Pointer)
.public NonMaxSuppressionV5(@Const @ByRef Scope scope, @ByVal Input boxes, @ByVal Input scores, @ByVal Input max_output_size, @ByVal Input iou_threshold, @ByVal Input score_threshold, @ByVal Input soft_nms_sigma)
@ByVal public static NonMaxSuppressionV5.Attrs PadToMaxOutputSize(@Cast(value="bool") boolean x)
public NonMaxSuppressionV5 operation(Operation setter)
public NonMaxSuppressionV5 selected_indices(Output setter)
public NonMaxSuppressionV5 selected_scores(Output setter)
public NonMaxSuppressionV5 valid_outputs(Output setter)
Copyright © 2022. All rights reserved.