Google I/O is a wrap! Catch up on TensorFlow sessions

tensorflow::ops::NonMaxSuppressionV4

`#include <image_ops.h>`

Greedily selects a subset of bounding boxes in descending order of score,.

Summary

pruning away boxes that have high intersection-over-union (IOU) overlap with previously selected boxes. Bounding boxes with score less than `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)

Args:

• 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.

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` valid_outputs: A 0-D integer tensor representing the number of valid elements in `selected_indices`, with the valid elements appearing first.

Constructors and Destructors

`NonMaxSuppressionV4(const ::tensorflow::Scope & scope, ::tensorflow::Input boxes, ::tensorflow::Input scores, ::tensorflow::Input max_output_size, ::tensorflow::Input iou_threshold, ::tensorflow::Input score_threshold)`
`NonMaxSuppressionV4(const ::tensorflow::Scope & scope, ::tensorflow::Input boxes, ::tensorflow::Input scores, ::tensorflow::Input max_output_size, ::tensorflow::Input iou_threshold, ::tensorflow::Input score_threshold, const NonMaxSuppressionV4::Attrs & attrs)`

Public attributes

`operation`
`Operation`
`selected_indices`
`::tensorflow::Output`
`valid_outputs`
`::tensorflow::Output`

Public static functions

`PadToMaxOutputSize(bool x)`
`Attrs`

Structs

tensorflow::ops::NonMaxSuppressionV4::Attrs

Optional attribute setters for NonMaxSuppressionV4.

Public attributes

operation

`Operation operation`

selected_indices

`::tensorflow::Output selected_indices`

valid_outputs

`::tensorflow::Output valid_outputs`

Public functions

NonMaxSuppressionV4

``` NonMaxSuppressionV4(
const ::tensorflow::Scope & scope,
::tensorflow::Input boxes,
::tensorflow::Input scores,
::tensorflow::Input max_output_size,
::tensorflow::Input iou_threshold,
::tensorflow::Input score_threshold
)```

NonMaxSuppressionV4

``` NonMaxSuppressionV4(
const ::tensorflow::Scope & scope,
::tensorflow::Input boxes,
::tensorflow::Input scores,
::tensorflow::Input max_output_size,
::tensorflow::Input iou_threshold,
::tensorflow::Input score_threshold,
const NonMaxSuppressionV4::Attrs & attrs
)```

Public static functions

```Attrs PadToMaxOutputSize(