用法:
mxnet.symbol.contrib.box_nms(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_non_maximum_suppression用法及代碼示例
- 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_nms。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。