贪心地按分数的降序选择边界框的子集。
用法
tf.image.non_max_suppression_with_scores(
boxes, scores, max_output_size, iou_threshold=0.5,
score_threshold=float('-inf'), soft_nms_sigma=0.0, name=None
)
参数
-
boxes
形状为[num_boxes, 4]
的二维浮点数Tensor
。 -
scores
形状为[num_boxes]
的一维浮点数Tensor
,表示对应于每个框(每行框)的单个分数。 -
max_output_size
一个标量整数Tensor
,表示非最大抑制要选择的最大框数。 -
iou_threshold
一个 0-D 浮点张量,表示用于决定框相对于 IOU 是否重叠过多的阈值。 -
score_threshold
一个 0-D 浮点张量,表示根据分数决定何时移除框的阈值。 -
soft_nms_sigma
一个 0-D 浮点张量,表示 Soft NMS 的 sigma 参数;见 Bodla 等人 (c.f.https://arxiv.org/abs/1704.04503)。什么时候soft_nms_sigma=0.0
(这是默认设置),我们回退到标准(硬)NMS。 -
name
操作的名称(可选)。
返回
-
selected_indices
形状为[M]
的一维整数Tensor
表示从框张量中选择的索引,其中M <= max_output_size
。 -
selected_scores
形状为[M]
的一维浮点张量,表示每个选定框的相应分数,其中M <= max_output_size
。使用 Soft NMS 时(即soft_nms_sigma>0
时),分数仅与相应的输入分数不同
修剪掉与先前选择的框重叠的 intersection-over-union (IOU) 高的框。边界框以 [y1, x1, y2, x2]
的形式提供,其中 (y1, x1)
和 (y2, x2)
是任何对角框角对的坐标,并且坐标可以以标准化(即位于区间 [0, 1]
中)或绝对坐标的形式提供。请注意,此算法与原点在坐标系中的位置无关。请注意,该算法对坐标系的正交变换和平移是不变的;因此,坐标系的平移或反射会导致算法选择相同的框。此操作的输出是一组整数,索引到表示所选框的边界框的输入集合中。然后可以使用tf.gather
操作获得与所选索引对应的边界框坐标。例如:
selected_indices, selected_scores = tf.image.non_max_suppression_padded(
boxes, scores, max_output_size, iou_threshold=1.0, score_threshold=0.1,
soft_nms_sigma=0.5)
selected_boxes = tf.gather(boxes, selected_indices)
此函数通过支持Soft-NMS(具有高斯加权)模式(参见 Bodla 等人,https://arxiv.org/abs/1704.04503)来概括 tf.image.non_max_suppression
操作,其中框会降低其他重叠框的分数,而不是直接导致它们被修剪。因此,与 tf.image.non_max_suppression
相比,tf.image.non_max_suppression_padded
在第二个输出 selected_scores
中返回每个输入框的新分数。
要启用此Soft-NMS 模式,请将soft_nms_sigma
参数设置为大于0。当soft_nms_sigma
等于0 时,tf.image.non_max_suppression_padded
的行为与tf.image.non_max_suppression
的行为相同(除了额外的输出)函数和运行时间。
相关用法
- Python tf.image.non_max_suppression_padded用法及代码示例
- Python tf.image.non_max_suppression_overlaps用法及代码示例
- Python tf.image.non_max_suppression用法及代码示例
- Python tf.image.random_brightness用法及代码示例
- Python tf.image.pad_to_bounding_box用法及代码示例
- Python tf.image.adjust_hue用法及代码示例
- Python tf.image.random_contrast用法及代码示例
- Python tf.image.rot90用法及代码示例
- Python tf.image.random_hue用法及代码示例
- Python tf.image.flip_left_right用法及代码示例
- Python tf.image.convert_image_dtype用法及代码示例
- Python tf.image.stateless_random_flip_up_down用法及代码示例
- Python tf.image.random_saturation用法及代码示例
- Python tf.image.extract_glimpse用法及代码示例
- Python tf.image.flip_up_down用法及代码示例
- Python tf.image.crop_to_bounding_box用法及代码示例
- Python tf.image.stateless_random_jpeg_quality用法及代码示例
- Python tf.image.crop_and_resize用法及代码示例
- Python tf.image.psnr用法及代码示例
- Python tf.image.stateless_random_hue用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.image.non_max_suppression_with_scores。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。