用法:
mxnet.symbol.contrib.box_non_maximum_suppression(data=None, overlap_thresh=_Null, valid_thresh=_Null, topk=_Null, coord_start=_Null, score_index=_Null, id_index=_Null, background_id=_Null, force_suppress=_Null, in_format=_Null, out_format=_Null, name=None, attr=None, out=None, **kwargs)
- data:(
Symbol
) - 输入 - overlap_thresh:(
float
,
optional
,
default=0.5
) - 重叠(IoU)阈值以抑制分数较小的对象。 - valid_thresh:(
float
,
optional
,
default=0
) - 将输入框过滤到分数大于 valid_thresh 的输入框。 - topk:(
int
,
optional
,
default='-1'
) - 将 nms 应用于分数递减的 topk 框,-1 表示没有限制。 - coord_start:(
int
,
optional
,
default='2'
) - 连续 4 个坐标的起始索引。 - score_index:(
int
,
optional
,
default='1'
) - 框的分数/置信度索引。 - id_index:(
int
,
optional
,
default='-1'
) - 可选,类类别的索引,-1 禁用。 - background_id:(
int
,
optional
,
default='-1'
) - 可选,背景类的 id,在 nms 中将被忽略。 - force_suppress:(
boolean
,
optional
,
default=0
) - 可选,如果设置为 false 并提供id_index,则 nms 将仅适用于属于同一类别的框 - in_format:(
{'center'
,
'corner'}
,
optional
,
default='corner'
) - 输入框编码类型。 “corner” 表示框编码为 [xmin, ymin, xmax, ymax],“center” 表示框编码为 [x, y, width, height]。 - out_format:(
{'center'
,
'corner'}
,
optional
,
default='corner'
) - 输出框编码类型。 “corner” 表示框编码为 [xmin, ymin, xmax, ymax],“center” 表示框编码为 [x, y, width, height]。 - name:(
string
,
optional.
) - 结果符号的名称。
- data:(
结果符号。
参数:
返回:
返回类型:
对输入应用非最大抑制。
输出将根据
score
以降序排序。重叠大于overlap_thresh
的框,较小的分数和背景框将被移除并填充 -1,将记录相应的位置以进行反向传播。在back-propagation期间,梯度会根据输入索引复制到原来的位置。对于已被抑制的位置,in_grad 将被分配为 0。总而言之,渐变会粘在其框上,将根据其在输入中的原始索引移动或丢弃。
输入要求:
1. Input tensor have at least 2 dimensions, (n, k), any higher dims will be regarded as batch, e.g. (a, b, c, d, n, k) == (a*b*c*d, n, k) 2. n is the number of boxes in each batch 3. k is the width of each box item.
默认情况下,框是 [id, score, xmin, ymin, xmax, ymax, ...],允许附加元素。
id_index
:可选,使用 -1 忽略,如果force_suppress=False
很有用,这意味着如果一个是apple
而另一个是car
,我们将跳过高度重叠的框。background_id
:可选,默认值=-1,背景框的类 id,当id_index >= 0
时有用,这意味着具有背景 id 的框将在 nms 之前被过滤。coord_start
:必填,默认=2,4个坐标的起始索引。支持两种格式:corner
: [xmin, ymin, xmax, ymax]center
: [x, y, width, height]
score_index
:必填,默认=1,盒子得分/置信度。当两个框重叠 IOU >overlap_thresh
时,分数较小的框将被抑制。in_format
和out_format
:默认='corner',指定输入/输出框格式。
例子:
x = [[0, 0.5, 0.1, 0.1, 0.2, 0.2], [1, 0.4, 0.1, 0.1, 0.2, 0.2], [0, 0.3, 0.1, 0.1, 0.14, 0.14], [2, 0.6, 0.5, 0.5, 0.7, 0.8]] box_nms(x, overlap_thresh=0.1, coord_start=2, score_index=1, id_index=0, force_suppress=True, in_format='corner', out_typ='corner') = [[2, 0.6, 0.5, 0.5, 0.7, 0.8], [0, 0.5, 0.1, 0.1, 0.2, 0.2], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1]] out_grad = [[0.1, 0.1, 0.1, 0.1, 0.1, 0.1], [0.2, 0.2, 0.2, 0.2, 0.2, 0.2], [0.3, 0.3, 0.3, 0.3, 0.3, 0.3], [0.4, 0.4, 0.4, 0.4, 0.4, 0.4]] # exe.backward in_grad = [[0.2, 0.2, 0.2, 0.2, 0.2, 0.2], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0.1, 0.1, 0.1, 0.1, 0.1, 0.1]]
相关用法
- Python mxnet.symbol.contrib.box_nms用法及代码示例
- Python mxnet.symbol.contrib.boolean_mask用法及代码示例
- Python mxnet.symbol.contrib.dgl_graph_compact用法及代码示例
- Python mxnet.symbol.contrib.rand_zipfian用法及代码示例
- Python mxnet.symbol.contrib.group_adagrad_update用法及代码示例
- Python mxnet.symbol.contrib.quadratic用法及代码示例
- Python mxnet.symbol.contrib.edge_id用法及代码示例
- Python mxnet.symbol.contrib.DeformableConvolution用法及代码示例
- Python mxnet.symbol.contrib.while_loop用法及代码示例
- Python mxnet.symbol.contrib.dgl_subgraph用法及代码示例
- Python mxnet.symbol.contrib.cond用法及代码示例
- Python mxnet.symbol.contrib.ifft用法及代码示例
- Python mxnet.symbol.contrib.index_array用法及代码示例
- Python mxnet.symbol.contrib.fft用法及代码示例
- Python mxnet.symbol.contrib.allclose用法及代码示例
- Python mxnet.symbol.contrib.dgl_csr_neighbor_uniform_sample用法及代码示例
- Python mxnet.symbol.contrib.index_copy用法及代码示例
- Python mxnet.symbol.contrib.ModulatedDeformableConvolution用法及代码示例
- Python mxnet.symbol.contrib.dgl_csr_neighbor_non_uniform_sample用法及代码示例
- Python mxnet.symbol.contrib.arange_like用法及代码示例
注:本文由纯净天空筛选整理自apache.org大神的英文原创作品 mxnet.symbol.contrib.box_non_maximum_suppression。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。