# tensorflow::ops::NonMaxSuppressionWithOverlaps Class Reference

# tensorflow::
ops::
NonMaxSuppressionWithOverlaps

`
#include <image_ops.h>
`


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

## Summary


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)


Args:

- scope: A [Scope](https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope) object
- 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).
- max_output_size: A scalar integer tensor representing the maximum number of boxes to be selected by non max suppression.
- overlap_threshold: A 0-D float tensor representing the threshold for deciding whether boxes overlap too.
- score_threshold: A 0-D float tensor representing the threshold for deciding when to remove boxes based on score.

<br />


Returns:

- `
  https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output
  ` : A 1-D integer tensor of shape `
  [M]
  ` representing the selected indices from the boxes tensor, where `
  M <= max_output_size
  ` .

<br />

| ### Constructors and Destructors ||
|---|---|
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/non-max-suppression-with-overlaps#classtensorflow_1_1ops_1_1_non_max_suppression_with_overlaps_1af965488437d8cbc7c79e1c36eca2abb3 (const :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/scope#classtensorflow_1_1_scope & scope, :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input overlaps, :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input scores, :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input max_output_size, :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input overlap_threshold, :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/input#classtensorflow_1_1_input score_threshold) ` ||

| ### Public attributes ||
|---|---|
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/non-max-suppression-with-overlaps#classtensorflow_1_1ops_1_1_non_max_suppression_with_overlaps_1a2f05b95bdafce0c5fc4a8269b35709e3 ` | ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/operation#classtensorflow_1_1_operation ` |
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/non-max-suppression-with-overlaps#classtensorflow_1_1ops_1_1_non_max_suppression_with_overlaps_1ab9ac497f027b7104d8ba5463a5a487ca ` | ` :: https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/output#classtensorflow_1_1_output ` |

| ### Public functions ||
|---|---|
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/non-max-suppression-with-overlaps#classtensorflow_1_1ops_1_1_non_max_suppression_with_overlaps_1a77c8843216c117ea9cc2597027f4a20e () const ` | ` ::tensorflow::Node * ` |
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/non-max-suppression-with-overlaps#classtensorflow_1_1ops_1_1_non_max_suppression_with_overlaps_1a46f0366220ce965998602e5248c93070 () const ` | ` ` |
| ` https://www.tensorflow.org/versions/r2.5/api_docs/cc/class/tensorflow/ops/non-max-suppression-with-overlaps#classtensorflow_1_1ops_1_1_non_max_suppression_with_overlaps_1a636de2d3e1a950d52efadd9bff02eb59 () const ` | ` ` |

## Public attributes

### operation

```
Operation operation
```

### selected_indices

```
::tensorflow::Output selected_indices
```

## Public functions

### NonMaxSuppressionWithOverlaps

```
 NonMaxSuppressionWithOverlaps(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input overlaps,
  ::tensorflow::Input scores,
  ::tensorflow::Input max_output_size,
  ::tensorflow::Input overlap_threshold,
  ::tensorflow::Input score_threshold
)
```

### node

```
::tensorflow::Node * node() const 
```

### operator::tensorflow::Input

```
 operator::tensorflow::Input() const 
```

### operator::tensorflow::Output

```
 operator::tensorflow::Output() const 
```