根据scores
计算boxes
的soft NMS。 请阅读Soft-NMS -- Improving Object Detection With One Line of Code了解细节。
类型 | 参数名 | 描述 |
---|---|---|
float |
iou_threshold |
用来判断候选框重合度的阈值,取值范围[0, 1]。默认值为0 |
float |
sigma |
高斯方法的超参数 |
float |
min_score |
NMS的score阈值 |
int |
method |
NMS的计算方式, (0: naive , 1: linear , 2: gaussian ) |
int |
offset |
用来计算候选框的宽高(x2 - x1 + offset)。可选值0或1 |
- boxes: T
- 输入候选框。形状为(N, 4)的二维张量,N为候选框数量。
- scores: T
- 输入得分。形状为(N, )的一维张量。
- dets: T
- 输出的检测框与得分。形状为(num_valid_boxes, 5)的二维张量,内容为[[x1, y1, x2, y2, score], ...]。num_valid_boxes是合法的检测框数量。
- indices: tensor(int64)
- 输出序号。形状为(num_valid_boxes, )的一维张量。
- T:tensor(float32)
在特征图上计算RoIAlign,通常在双阶段目标检测模型的bbox_head中使用
类型 | 参数名 | 描述 |
---|---|---|
int |
output_height |
roi特征的输出高度 |
int |
output_width |
roi特征的输出宽度 |
float |
spatial_scale |
输入检测框的缩放系数 |
int |
sampling_ratio |
输出的采样率。0 表示使用密集采样 |
str |
mode |
池化方式。 avg 或max |
int |
aligned |
如果aligned=1 ,则像素会进行-0.5的偏移以达到更好的对齐 |
- input: T
- 输入特征图;形状为(N, C, H, W)的四维张量,其中N为batch大小,C为输入通道数,H和W为输入特征图的高和宽。
- rois: T
- 需要进行池化的感兴趣区域;形状为(num_rois, 5)的二维张量,内容为[[batch_index, x1, y1, x2, y2], ...]。rois的坐标为输入特征图的坐标系。
- feat: T
- 池化的输出;形状为(num_rois, C, output_height, output_width)的四维张量。每个输出特征feat[i]都与输入感兴趣区域rois[i]一一对应。
- T:tensor(float32)
根据IoU阈值对候选框进行非极大值抑制。
类型 | 参数名 | 描述 |
---|---|---|
float |
iou_threshold |
用来判断候选框重合度的阈值,取值范围[0, 1]。默认值为0 |
int |
offset |
用来计算候选框的宽高(x2 - x1 + offset)。可选值0或1 |
- boxes: T
- 输入候选框。形状为(N, 4)的二维张量,N为候选框数量。
- scores: T
- 输入得分。形状为(N, )的一维张量。
- indices: tensor(int32, Linear)
- 被选中的候选框索引。形状为(num_valid_boxes, )的一维张量,num_valid_boxes表示被选上的候选框数量。
- T:tensor(float32)
根据grid
的像素位置对input
进行网格采样。
类型 | 参数名 | 描述 |
---|---|---|
int |
interpolation_mode |
计算输出使用的插值模式。(0: bilinear , 1: nearest ) |
int |
padding_mode |
边缘填充模式。(0: zeros , 1: border , 2: reflection ) |
int |
align_corners |
如果align_corners=1 ,则极值(-1 和1 )会被当做输入边缘像素的中心点。如果align_corners=0 ,则它们会被看做是边缘像素的边缘点,减小分辨率对采样的影响 |
- input: T
- 输入特征;形状为(N, C, inH, inW)的四维张量,其中N为batch大小,C为输入通道数,inH和inW为输入特征图的高和宽。
- grid: T
- 输入网格;形状为(N, outH, outW, 2)的四维张量,outH和outW为输出的高和宽。
- output: T
- 输出特征;形状为(N, C, outH, outW)的四维张量。
- T:tensor(float32, Linear)
对input
计算CornerPool。请阅读CornerNet -- Detecting Objects as Paired Keypoints了解更多细节。
类型 | 参数名 | 描述 |
---|---|---|
int |
mode |
池化模式。(0: top , 1: bottom , 2: left , 3: right ) |
- input: T
- 输入特征;形状为(N, C, H, W)的四维张量,其中N为batch大小,C为输入通道数,H和W为输入特征图的高和宽。
- output: T
- 输出特征;形状为(N, C, H, W)的四维张量。
- T:tensor(float32)
返回一个元组(values
, indices
),其中values
为input
第dim
维的累计最大值,indices
为第dim
维最大值位置。请阅读torch.cummax了解更多细节。
类型 | 参数名 | 描述 |
---|---|---|
int |
dim |
进行累计计算的维度 |
- input: T
- 输入张量;可以使任意形状;也支持空Tensor
- output: T
- `input`第`dim`维的累计最大值,形状与`input`相同。类型和`input`一致
- indices: tensor(int64)
- 第`dim`维最大值位置,形状与`input`相同。
- T:tensor(float32)
返回一个元组(values
, indices
),其中values
为input
第dim
维的累计最小值,indices
为第dim
维最小值位置。请阅读torch.cummin了解更多细节。
类型 | 参数名 | 描述 |
---|---|---|
int |
dim |
进行累计计算的维度 |
- input: T
- 输入张量;可以是任意形状;也支持空Tensor
- output: T
- `input`第`dim`维的累计最小值,形状与`input`相同。类型和`input`一致
- indices: tensor(int64)
- 第`dim`维最小值位置,形状与`input`相同。
- T:tensor(float32)
在输入特征上计算Modulated Deformable Convolution,请阅读Deformable ConvNets v2: More Deformable, Better Results了解更多细节。
类型 | 参数名 | 描述 |
---|---|---|
list of ints |
stride |
卷积的步长 (sH, sW) |
list of ints |
padding |
输入特征填充大小 (padH, padW) |
list of ints |
dilation |
卷积核各元素间隔 (dH, dW) |
int |
deformable_groups |
可变偏移量的分组,通常置位1即可 |
int |
groups |
卷积分组数,input_channel 会根据这个值被分为数个分组进行计算 |
- inputs[0]: T
- 输入特征;形状为(N, C, inH, inW)的四维张量,其中N为batch大小,C为输入通道数,inH和inW为输入特征图的高和宽。
- inputs[1]: T
- 输入偏移量;形状为(N, deformable_group* 2* kH* kW, outH, outW)的四维张量,kH和kW为输入特征图的高和宽,outH和outW为输入特征图的高和宽。
- inputs[2]: T
- 输入掩码;形状为(N, deformable_group* kH* kW, outH, outW)的四维张量。
- inputs[3]: T
- 输入权重;形状为(output_channel, input_channel, kH, kW)的四维张量。
- inputs[4]: T, optional
- 输入偏移量;形状为(output_channel)的一维张量。
- outputs[0]: T
- 输出特征;形状为(N, output_channel, outH, outW)的四维张量。
- T:tensor(float32, Linear)