mindspore/docs/api/api_python/ops/mindspore.ops.NonMaxSuppres...

34 lines
2.7 KiB
ReStructuredText
Raw Normal View History

2022-11-11 15:39:59 +08:00
mindspore.ops.NonMaxSuppressionWithOverlaps
============================================
.. py:class:: mindspore.ops.NonMaxSuppressionWithOverlaps
2023-02-25 16:53:19 +08:00
按照得分从高到低贪心地选择一组边界框,同时移除与之前选定的边界框高度重叠的边界框
得分低于 `score_threshold` 的边界框将被删除。可以定义自定义重叠标准例如IoUIoA等重叠值以N-by-N矩阵形式提供。
2022-11-11 15:39:59 +08:00
.. note::
- 此算法与原点在坐标系中的位置无关。
2023-02-25 16:53:19 +08:00
- 对于坐标系的正交变换和平移,该算法不受影响,因此坐标系的平移变换后算法会选择相同的框。
2022-11-11 15:39:59 +08:00
输入:
2022-12-28 11:08:33 +08:00
- **overlaps** (Tensor) - 二维Tensor其shape为 :math:`(num\_boxes, num\_boxes)` 表示n乘n的边框重叠值。支持的数据类型为float16、float32和float64。
2023-02-25 16:53:19 +08:00
- **scores** (Tensor) - 一个shape为 :math:`(num\_boxes)` 的一维Tensor表示每个边框也就是 `boxes` Tensor的每一行对应的单个分数。 `scores` 中的分数数量必须与 `boxes` 中的边框的数量相等。支持的数据类型为float32。
2022-11-11 15:39:59 +08:00
- **max_output_size** (Union[Tensor, Number.Int]) - 选取最大的边框数必须大于等于0数据类型为int32。
2022-12-28 11:08:33 +08:00
- **overlap_threshold** (Union[Tensor, Number.Float]) - 边框重叠值阈值重叠值大于此值说明重叠过大。支持的数据类型为float16、float32和float64。
- **score_threshold** (Union[Tensor, Number.Float]) - 移除边框阈值边框score值大于此值则移除相应边框。数据类型与 `overlap_threshold` 一致。
2022-11-11 15:39:59 +08:00
输出:
2022-12-28 11:08:33 +08:00
一维Tensor表示被选中边框的index其shape为 :math:`(M)` 其中M <= `max_output_size` 。数据类型为int32。
2022-11-11 15:39:59 +08:00
异常:
2022-12-28 11:08:33 +08:00
- **TypeError** - `overlaps``scores``overlap_threshold``score_threshold` 的数据类型不是float16、float32或float64。
2022-11-11 15:39:59 +08:00
- **TypeError** - `overlaps` 或者 `scores` 不是Tesnor。
- **TypeError** - `max_output_size` 不是Tesnor或者Scalar或者其数据类型不是int32。
2022-12-28 11:08:33 +08:00
- **TypeError** - `overlap_threshold` 不是Tesnor或者Scalar或者其数据类型不是float16、float32或float64。
- **TypeError** - `score_threshold` 不是Tesnor或者Scalar或者其数据类型不是float16、float32或float64。
2022-11-11 15:39:59 +08:00
- **ValueError** - `overlaps` 长度不等于2或者其shape的两个值不相等。
- **ValueError** - `scores` 的shape长度不是1。
- **ValueError** - `max_output_size``overlap_threshold` 或者 `score_threshold` 的shape长度不是1。
- **ValueError** - `max_output_size` 小于零。
2022-12-30 10:58:38 +08:00
- **ValueError** - `scores` shape的大小与 `overlaps` 的第零或第一维不相等。