gluoncv.utils¶
我们实现了一系列广泛的实用函数,涵盖了可视化、文件处理、下载和训练辅助功能。
可视化¶
可视化图像。 |
|
可视化图像。 |
|
可视化边界框。 |
|
将实例分割掩码扩展到完整图像尺寸。 |
|
可视化分割掩码。 |
|
绘制网络图以可视化内部结构。 |
其他¶
下载指定的 URL :param url: 要下载的 URL :type url: str :param path: 存储下载文件的目标路径。默认为当前目录,名称与 URL 中的名称相同。 :type path: str, 可选 :param overwrite: 如果文件已存在是否覆盖。 :type overwrite: bool, 可选 :param sha1_hash: 期望的 sha1 十六进制哈希值。如果指定了哈希值但不匹配,则忽略现有文件。 :type sha1_hash: str, 可选。 |
|
如果目录不存在,则递归创建。 |
|
设置 python 内置 random, numpy.random, mxnet.random 的随机种子。 |
训练辅助函数¶
学习率调度器 |
|
将所有匹配 |
API 参考¶
GluonCV 实用函数。
-
class
gluoncv.utils.
LRScheduler
(mode, base_lr=0.1, target_lr=0, niters=0, nepochs=0, iters_per_epoch=0, offset=0, power=2, step_iter=None, step_epoch=None, step_factor=0.1, baselr=None, targetlr=None)[source]¶ 学习率调度器
- 参数
mode (str) – 学习率调度器的模式。目前支持 'constant', 'step', 'linear', 'poly' 和 'cosine'。
base_lr (float) – 基础学习率,即起始学习率。
target_lr (float) – 目标学习率,即结束学习率。在 constant 模式下,target_lr 会被忽略。
niters (int) – 需要调度的迭代次数。
nepochs (int) – 需要调度的 epoch 数量。
iters_per_epoch (int) – 每个 epoch 中的迭代次数。
offset (int) – 在此调度器之前的迭代次数。
power (float) – poly 调度器的幂参数。
step_iter (list) – 学习率衰减的迭代次数列表。
step_epoch (list) – 学习率衰减的 epoch 列表。
step_factor (float) – 学习率衰减因子。
-
class
gluoncv.utils.
LRSequential
(schedulers)[source]¶ 组合学习率调度器
- 参数
schedulers (list) – LRScheduler 对象的列表
-
class
gluoncv.utils.
TrainingHistory
(labels)[source]¶ 训练历史记录和绘图
- 参数
labels (list of str) – 历史记录中标签名称的列表。
-
gluoncv.utils.
bbox_iou
(bbox_a, bbox_b, offset=0)[source]¶ 计算两个边界框的交并比(IOU)。
- 参数
bbox_a (numpy.ndarray) – 形状为 \((N, 4)\) 的 ndarray。
bbox_b (numpy.ndarray) – 形状为 \((M, 4)\) 的 ndarray。
offset (float 或 int, 默认为 0) –
offset
用于控制宽度(或高度)是否计算为 (right - left +offset
)。注意,对于归一化边界框,其范围在[0, 1]
之间,offset 必须为 0。
- 返回值
形状为 \((N, M)\) 的 ndarray,表示 bbox_a 和 bbox_b 中每对边界框之间的 IOU。
- 返回类型
-
gluoncv.utils.
check_sha1
(filename, sha1_hash)[source]¶ 检查文件内容的 sha1 哈希值是否与期望的哈希值匹配。 :param filename: 文件路径。 :type filename: str :param sha1_hash: 期望的 sha1 十六进制哈希值。 :type sha1_hash: str
- 返回值
文件内容是否匹配期望的哈希值。
- 返回类型
-
gluoncv.utils.
check_version
(min_version, warning_only=False)[source]¶ 检查 gluoncv 的版本是否满足提供的最低版本。如果检查不通过,将抛出异常。
-
gluoncv.utils.
download
(url, path=None, overwrite=False, sha1_hash=None)[source]¶ 下载指定的 URL :param url: 要下载的 URL :type url: str :param path: 存储下载文件的目标路径。默认为当前目录,
名称与 URL 中的名称相同。
-
gluoncv.utils.
export_block
(path, block, data_shape=None, epoch=0, preprocess=True, layout='HWC', ctx=cpu(0))[source]¶ 辅助函数,用于将 HybridBlock 导出为符号 JSON,供 SymbolBlock.imports、mxnet.mod.Module 或 C++ 接口使用。
- 参数
path (str) – 保存模型的路径。将创建两个文件:path-symbol.json 和 path-xxxx.params,其中 xxxx 是 4 位数的 epoch 编号。
block (mxnet.gluon.HybridBlock) – 可混合块。请注意,不支持普通的 gluon.Block。
data_shape (int 元组, 默认为 None) – 仅用于导出目的的模拟数据形状,2D 数据格式为 (H, W, C),3D 数据格式为 (T, H, W, C)。如果不指定
data_shape
,export_block 将尝试使用一些常见的数据形状,例如 (224, 224, 3), (256, 256, 3), (299, 299, 3), (512, 512, 3)... 如果其中任何一个data_shape
通过,则导出成功。epoch (int) – 保存模型的 epoch 编号。
preprocess (mxnet.gluon.HybridBlock, 默认为 True。) – 网络之前的预处理块。默认情况下 (True),它会减去均值 [123.675, 116.28, 103.53],除以标准差 [58.395, 57.12, 57.375],并将原始图像(B, H, W, C,范围 [0, 255])转换为张量(B, C, H, W)作为网络输入。这是所有 GluonCV 预训练模型的默认预处理行为。您可以使用自定义的预处理混合块,或者通过设置
preprocess=None
来禁用。layout (str, 默认为 'HWC') – 原始输入数据的布局。默认为 HWC。支持 'HWC', 'CHW', 'THWC' 和 'CTHW'。请注意,图像通道顺序始终为 RGB。
ctx (mx.Context, 默认为 mx.cpu()) – 网络上下文。
- 返回值
- 返回类型
-
gluoncv.utils.
export_tvm
(path, block, data_shape, epoch=0, preprocess=True, layout='HWC', ctx=cpu(0), target='llvm', opt_level=3, use_autotvm=False)[source]¶ 辅助函数,用于将 HybridBlock 导出为 TVM 可执行文件。注意需要安装 tvm 包(https://tvm.ai/)。
- 参数
path (str) – 保存模型的路径。将创建三个文件:path_deploy_lib.tar, path_deploy_graph.json 和 path_deploy_xxxx.params,其中 xxxx 是 4 位数的 epoch 编号。
block (mxnet.gluon.HybridBlock) – 可混合块。请注意,不支持普通的 gluon.Block。
data_shape (int 元组, 必需) – 与 export_block 不同,此处出于优化目的需要 data_shape。如果需要动态形状,可以使用最适合推理任务的形状,但优化无法适应所有情况。
epoch (int) – 保存模型的 epoch 编号。
preprocess (mxnet.gluon.HybridBlock, 默认为 True。) – 网络之前的预处理块。默认情况下 (True),它会减去均值 [123.675, 116.28, 103.53],除以标准差 [58.395, 57.12, 57.375],并将原始图像(B, H, W, C,范围 [0, 255])转换为张量(B, C, H, W)作为网络输入。这是所有 GluonCV 预训练模型的默认预处理行为。您可以使用自定义的预处理混合块,或者通过设置
preprocess=None
来禁用。layout (str, 默认为 'HWC') – 原始输入数据的布局。默认为 HWC。支持 'HWC' 和 'CHW'。请注意,图像通道顺序始终为 RGB。
ctx (mx.Context, 默认为 mx.cpu()) – 网络上下文。
target (str, 默认为 'llvm') – 代码生成运行时类型,可以是 (‘llvm’, ‘cuda’, ‘opencl’, ‘metal’…)
opt_level (int, 默认为 3) – TVM 优化级别,如果支持,更高的 opt_level 可能会生成更高效的运行时库,但是,某些算子可能不支持高级别优化,这将回退到较低的 opt_level。
use_autotvm (bool, 默认为 False) – 使用 autotvm 进行性能调优。请注意,这可能需要很长时间,因为这是一个基于搜索和模型的调优过程。
- 返回值
- 返回类型
-
gluoncv.utils.
freeze_bn
(net, use_global_stats=True)[source]¶ 通过将 use_global_stats 设置为 True 来冻结 BatchNorm 层
- 参数
net (mxnet.gluon.Block) – BatchNorm 层将被修改的网络
use_global_stats (bool) – 用于设置所有 BatchNorm 层的 use_global_stats 的值
- 返回值
BatchNorm 层已修改的原始网络。
- 返回类型
mxnet.gluon.Block
-
gluoncv.utils.
makedirs
(path)[source]¶ 如果目录不存在,则递归创建。类似于 makedir -p,您可以在此函数之前跳过检查是否存在。
- 参数
path (str) – 期望的目录路径
-
gluoncv.utils.
recursive_visit
(net, callback, **kwargs)[source]¶ 递归访问网络及其子网络并应用回调函数
- 参数
net (mxnet.gluon.Block) – 要递归访问的网络
callback (function) – 要应用于每个网络块的回调函数。其第一个参数必须是该块。
-
gluoncv.utils.
set_lr_mult
(net, pattern, mult=1.0, verbose=False)[source]¶ 将所有匹配
pattern
的参数的 lr_mult 重置为新值
-
gluoncv.utils.
split_and_load
(data, ctx_list, batch_axis=0, even_split=True, multiplier=1)[source]¶ 将一个 NDArray 沿 batch_axis 分割成 len(ctx_list) 个切片,并将每个切片加载到 ctx_list 中的一个上下文。
-
gluoncv.utils.
split_data
(data, num_slice, batch_axis=0, even_split=True, multiplier=1)[source]¶ 将一个 NDArray 沿 batch_axis 分割成 num_slice 个切片。通常用于数据并行,其中每个切片被发送到一个设备(即 GPU)。
可视化工具
-
gluoncv.utils.viz.
cv_merge_two_images
(img1, img2, alpha=0.5, size=None)[source]¶ 使用 OpenCV 合并两张图片。
- 参数
img1 (numpy.ndarray 或 mxnet.nd.NDArray) – 形状为 H, W, 3 的图片。
img2 (numpy.ndarray 或 mxnet.nd.NDArray) – 形状为 H, W, 3 的图片。
alpha (float, 可选, 默认为 0.5) – img2 的透明度
size (list, 可选, 默认为 None) – 合并图片的输出大小
- 返回值
合并后的图片
- 返回类型
-
gluoncv.utils.viz.
cv_plot_bbox
(img, bboxes, scores=None, labels=None, thresh=0.5, class_names=None, colors=None, absolute_coordinates=True, scale=1.0, linewidth=2)[source]¶ 使用 OpenCV 可视化边界框。
- 参数
img (numpy.ndarray 或 mxnet.nd.NDArray) – 形状为 H, W, 3 的图片。
bboxes (numpy.ndarray 或 mxnet.nd.NDArray) – 形状为 N, 4 的边界框。其中 N 是框的数量。
scores (numpy.ndarray 或 mxnet.nd.NDArray, 可选) – 所提供的 bboxes 的置信度得分,形状为 N。
labels (numpy.ndarray 或 mxnet.nd.NDArray, 可选) – 所提供的 bboxes 的类别标签,形状为 N。
thresh (float, 可选, 默认为 0.5) – 如果提供了 scores,则为显示阈值。得分低于 thresh 的分数将在显示中被忽略,如果你有大量得分非常小的边界框,这样做在视觉上更优雅。
class_names (list of str, 可选) – 参数 class_names 的描述。
colors (dict, 可选) – 你可以提供期望的颜色,例如 {0: (255, 0, 0), 1:(0, 255, 0), …},否则将替换为随机颜色。
absolute_coordinates (bool) – 如果为 True,则使用绝对坐标;否则坐标被解释为在范围(0, 1)内。
scale (float) – 输出图片的缩放比例,可能会影响框的位置
linewidth (int, 可选, 默认为 2) – 边界框的线条粗细。使用负值填充边界框。
- 返回值
带有检测结果的图片。
- 返回类型
-
gluoncv.utils.viz.
cv_plot_image
(img, scale=1, upperleft_txt=None, upperleft_txt_corner=(10, 100), left_txt_list=None, left_txt_corner=(10, 150), title_txt_list=None, title_txt_corner=(500, 50), canvas_name='demo')[source]¶ 使用 OpenCV 可视化图片。
- 参数
img (numpy.ndarray 或 mxnet.nd.NDArray) – 形状为 H, W, 3 的图片。
scale (float) – 输出图片的缩放因子
upperleft_txt (str, 可选, 默认为 None) – 如果存在,将在左上角打印此字符串
upperleft_txt_corner (tuple, 可选, 默认为 (10, 100)) – upperleft_txt 的左下角坐标
left_txt_list (list of str, 可选, 默认为 None) – 如果存在,将在靠近左侧位置打印列表中的每个字符串
left_txt_corner (tuple, 可选, 默认为 (10, 150)) – left_txt_list 的左下角坐标
title_txt_list (list of str, 可选, 默认为 None) – 如果存在,将在靠近顶部位置打印列表中的每个字符串
title_txt_corner (tuple, 可选, 默认为 (500, 50)) – title_txt_list 的左下角坐标
canvas_name (str, 可选, 默认为 'demo') – 用于绘制图片的画布名称
示例
from matplotlib import pyplot as plt ax = plot_image(img) plt.show()
-
gluoncv.utils.viz.
cv_plot_keypoints
(img, coords, confidence, class_ids, bboxes, scores, box_thresh=0.5, keypoint_thresh=0.2, scale=1.0, **kwargs)[source]¶ 使用 OpenCV 可视化关键点。
- 参数
img (numpy.ndarray 或 mxnet.nd.NDArray) – 形状为 H, W, 3 的图片。
coords (numpy.ndarray 或 mxnet.nd.NDArray) – 形状为 Batch, N_Joints, 2 的数组。
confidence (numpy.ndarray 或 mxnet.nd.NDArray) – 形状为 Batch, N_Joints, 1 的数组。
class_ids (numpy.ndarray 或 mxnet.nd.NDArray) – 类别 ID。
bboxes (numpy.ndarray 或 mxnet.nd.NDArray) – 形状为 N, 4 的边界框。其中 N 是框的数量。
scores (numpy.ndarray 或 mxnet.nd.NDArray, 可选) – 所提供的 bboxes 的置信度得分,形状为 N。
box_thresh (float, 可选, 默认为 0.5) – 如果提供了 scores,则为显示阈值。得分低于 box_thresh 的分数将在显示中被忽略。
keypoint_thresh (float, 可选, 默认为 0.2) – 置信度低于 keypoint_thresh 的关键点将在显示中被忽略。
scale (float) – 输出图片的缩放比例,可能会影响框的位置
- 返回值
带有估计姿态的图片。
- 返回类型
-
gluoncv.utils.viz.
expand_mask
(masks, bboxes, im_shape, scores=None, thresh=0.5, scale=1.0, sortby=None)[source]¶ 将实例分割掩码扩展到完整图像尺寸。
- 参数
masks (numpy.ndarray 或 mxnet.nd.NDArray) – 形状为 N, M, M 的二值图片
bboxes (numpy.ndarray 或 mxnet.nd.NDArray) – 形状为 N, 4 的边界框。其中 N 是框的数量
im_shape (tuple) – 长度为 2 的元组: (width, height)
scores (numpy.ndarray 或 mxnet.nd.NDArray, 可选) – 所提供的 bboxes 的置信度得分,形状为 N。
thresh (float, 可选, 默认为 0.5) – 如果提供了 scores,则为显示阈值。得分低于 thresh 的分数将在显示中被忽略,如果你有大量得分非常小的边界框,这样做在视觉上更优雅。
sortby (str, 可选, 默认为 None) – 如果不是 None,则根据每个边界框的给定属性对遮罩的调色板进行排序。有效输入为 ‘area’, ‘xmin’, ‘ymin’, ‘xmax’, ‘ymax’。
scale (float) – 输出图片的缩放比例,可能会影响框的位置
- 返回值
numpy.ndarray – 形状为 N, height, width 的二值图片
numpy.ndarray – 已排序遮罩的索引数组
-
gluoncv.utils.viz.
get_color_pallete
(npimg, dataset='pascal_voc')[source]¶ 可视化图像。
- 参数
npimg (numpy.ndarray) – 形状为 H, W, 1 的单通道图片。
dataset (str, 默认: 'pascal_voc') – 模型预训练时使用的数据集。(‘pascal_voc’, ‘ade20k’)
- 返回值
out_img – 带有颜色调色板的图片
- 返回类型
PIL.Image
-
gluoncv.utils.viz.
plot_bbox
(img, bboxes, scores=None, labels=None, thresh=0.5, class_names=None, colors=None, ax=None, reverse_rgb=False, absolute_coordinates=True, linewidth=3.5, fontsize=12)[source]¶ 可视化边界框。
- 参数
img (numpy.ndarray 或 mxnet.nd.NDArray) – 形状为 H, W, 3 的图片。
bboxes (numpy.ndarray 或 mxnet.nd.NDArray) – 形状为 N, 4 的边界框。其中 N 是框的数量。
scores (numpy.ndarray 或 mxnet.nd.NDArray, 可选) – 所提供的 bboxes 的置信度得分,形状为 N。
labels (numpy.ndarray 或 mxnet.nd.NDArray, 可选) – 所提供的 bboxes 的类别标签,形状为 N。
thresh (float, 可选, 默认为 0.5) – 如果提供了 scores,则为显示阈值。得分低于 thresh 的分数将在显示中被忽略,如果你有大量得分非常小的边界框,这样做在视觉上更优雅。
class_names (list of str, 可选) – 参数 class_names 的描述。
colors (dict, 可选) – 你可以提供期望的颜色,例如 {0: (255, 0, 0), 1:(0, 255, 0), …},否则将替换为随机颜色。
ax (matplotlib axes, 可选) – 如果提供,可以复用先前的轴。
reverse_rgb (bool, 可选) – 如果为 True,则反转 RGB<->BGR 顺序。
absolute_coordinates (bool) – 如果为 True,则使用绝对坐标;否则坐标被解释为在范围(0, 1)内。
linewidth (float, 可选, 默认为 3.5) – 边界框的线条粗细。
fontsize (int, 可选, 默认为 12) – 用于显示类别标签和阈值的字体大小。
- 返回值
绘制后的轴。
- 返回类型
matplotlib axes
-
gluoncv.utils.viz.
plot_image
(img, ax=None, reverse_rgb=False)[source]¶ 可视化图像。
- 参数
img (numpy.ndarray 或 mxnet.nd.NDArray) – 形状为 H, W, 3 的图片。
ax (matplotlib axes, 可选) – 如果提供,可以复用先前的轴。
reverse_rgb (bool, 可选) – 如果为 True,则反转 RGB<->BGR 顺序。
- 返回值
绘制后的轴。
- 返回类型
matplotlib axes
示例
from matplotlib import pyplot as plt ax = plot_image(img) plt.show()
-
gluoncv.utils.viz.
plot_keypoints
(img, coords, confidence, class_ids, bboxes, scores, box_thresh=0.5, keypoint_thresh=0.2, **kwargs)[source]¶ 可视化关键点。
- 参数
img (numpy.ndarray 或 mxnet.nd.NDArray) – 形状为 H, W, 3 的图片。
coords (numpy.ndarray 或 mxnet.nd.NDArray) – 形状为 Batch, N_Joints, 2 的数组。
confidence (numpy.ndarray 或 mxnet.nd.NDArray) – 形状为 Batch, N_Joints, 1 的数组。
class_ids (numpy.ndarray 或 mxnet.nd.NDArray) – 类别 ID。
bboxes (numpy.ndarray 或 mxnet.nd.NDArray) – 形状为 N, 4 的边界框。其中 N 是框的数量。
scores (numpy.ndarray 或 mxnet.nd.NDArray, 可选) – 所提供的 bboxes 的置信度得分,形状为 N。
box_thresh (float, 可选, 默认为 0.5) – 如果提供了 scores,则为显示阈值。得分低于 box_thresh 的分数将在显示中被忽略。
keypoint_thresh (float, 可选, 默认为 0.2) – 置信度低于 keypoint_thresh 的关键点将在显示中被忽略。
- 返回值
绘制后的轴。
- 返回类型
matplotlib axes
-
gluoncv.utils.viz.
plot_mask
(img, masks, alpha=0.5)[source]¶ 可视化分割掩码。
- 参数
img (numpy.ndarray 或 mxnet.nd.NDArray) – 形状为 H, W, 3 的图片。
masks (numpy.ndarray 或 mxnet.nd.NDArray) – 形状为 N, H, W 的二值图片。
alpha (float, 可选, 默认为 0.5) – 绘制遮罩的透明度
- 返回值
绘制了分割遮罩的图片
- 返回类型
-
gluoncv.utils.viz.
plot_mxboard
(block, logdir='./logs')[source]¶ 绘制网络图以可视化内部结构。
- 参数
block (mxnet.gluon.HybridBlock) – 要可视化的可 Hybridize 网络。
logdir (str) – 保存的目录。
-
gluoncv.utils.viz.
plot_network
(block, shape=(1, 3, 224, 224), save_prefix=None)[source]¶ 绘制网络图以可视化内部结构。
自定义评估指标
-
class
gluoncv.utils.metrics.
COCODetectionMetric
(dataset, save_prefix, use_time=True, cleanup=False, score_thresh=0.05, data_shape=None, post_affine=None)[source]¶ 用于 COCO bbox 任务的检测指标。
- 参数
dataset (gluoncv.data.COCODetection 实例) – 验证数据集。
save_prefix (str) – 保存的 JSON 结果文件的前缀。
use_time (bool) – 如果为
True
,则在创建的 JSON 文件名后附加唯一的日期时间字符串。cleanup (bool) – 如果为
True
,则删除创建的 JSON 文件。score_thresh (float) – 置信度得分小于
score_thresh
的检测结果在保存到结果前将被丢弃。data_shape (int 元组, 默认为 None) – 如果 data_shape 提供为 (height, width),我们将在保存预测结果时重新缩放边界框。当 SSD/YOLO 的框预测无法方便地重新缩放时,这会很有帮助。请注意,对于所有验证图片,data_shape 必须固定。
post_affine (一个输入签名为 (orig_w, orig_h, out_w, out_h) 的可调用函数) – 如果不是 None,边界框将进行仿射变换,而不是简单缩放。
-
update
(pred_bboxes, pred_labels, pred_scores, *args, **kwargs)[source]¶ 使用最新预测更新内部缓冲区。请注意,只有调用 self.get() 返回指标时,统计数据才可用。
- 参数
pred_bboxes (mxnet.NDArray 或 numpy.ndarray) – 形状为 B, N, 4 的预测边界框。其中 B 是 mini-batch 大小,N 是 bboxes 的数量。
pred_labels (mxnet.NDArray 或 numpy.ndarray) – 形状为 B, N 的预测边界框标签。
pred_scores (mxnet.NDArray 或 numpy.ndarray) – 形状为 B, N 的预测边界框得分。
-
class
gluoncv.utils.metrics.
COCOKeyPointsMetric
(dataset, save_prefix, use_time=True, cleanup=False, in_vis_thresh=0.2, data_shape=None)[source]¶ 用于 COCO bbox 任务的检测指标。
- 参数
dataset (gluoncv.data.COCODetection 实例) – 验证数据集。
save_prefix (str) – 保存的 JSON 结果文件的前缀。
use_time (bool) – 如果为
True
,则在创建的 JSON 文件名后附加唯一的日期时间字符串。cleanup (bool) – 如果为
True
,则删除创建的 JSON 文件。in_vis_thresh (float) – 置信度得分小于
in_vis_thresh
的检测结果在保存到结果前将被丢弃。data_shape (int 元组, 默认为 None) – 如果 data_shape 提供为 (height, width),我们将在保存预测结果时重新缩放边界框。当 SSD/YOLO 的框预测无法方便地重新缩放时,这会很有帮助。请注意,对于所有验证图片,data_shape 必须固定。
-
class
gluoncv.utils.metrics.
HeatmapAccuracy
(axis=1, name='heatmap_accuracy', hm_type='gaussian', threshold=0.5, output_names=None, label_names=None, ignore_labels=None)[source]¶ 计算关键点的 heatmap 准确率 :param axis: 表示类别的轴 :type axis: int, 默认为 1 :param name: 此指标实例的显示名称。 :type name: str :param output_names: 使用 update_dict 更新时应使用的预测名称。
默认包含所有预测。
- 参数
示例
>>> predicts = [mx.nd.array([[0.3, 0.7], [0, 1.], [0.4, 0.6]])] >>> labels = [mx.nd.array([0, 1, 1])] >>> acc = mx.metric.Accuracy() >>> acc.update(preds = predicts, labels = labels) >>> print acc.get() ('accuracy', 0.6666666666666666)
-
class
gluoncv.utils.metrics.
VOC07MApMetric
(*args, **kwargs)[source]¶ PASCAL VOC 07 数据集的平均精度均值指标
- iou_threshfloat
TP 的 IOU 重叠阈值
- class_nameslist of str
可选,如果提供,将打印出每个类别的 AP
-
class
gluoncv.utils.metrics.
VOCMApMetric
(iou_thresh=0.5, class_names=None)[source]¶ 计算目标检测任务的平均 AP
- iou_threshfloat
TP 的 IOU 重叠阈值
- class_nameslist of str
可选,如果提供,将打印出每个类别的 AP
-
update
(pred_bboxes, pred_labels, pred_scores, gt_bboxes, gt_labels, gt_difficults=None)[source]¶ 使用最新的预测和 gt 对更新内部缓冲区。
- 参数
pred_bboxes (mxnet.NDArray 或 numpy.ndarray) – 形状为 B, N, 4 的预测边界框。其中 B 是 mini-batch 大小,N 是 bboxes 的数量。
pred_labels (mxnet.NDArray 或 numpy.ndarray) – 形状为 B, N 的预测边界框标签。
pred_scores (mxnet.NDArray 或 numpy.ndarray) – 形状为 B, N 的预测边界框得分。
pred_bboxes (mxnet.NDArray 或 numpy.ndarray) – 形状为 B, N, 4 的预测边界框。其中 B 是 mini-batch 大小,N 是 bboxes 的数量。
pred_labels (mxnet.NDArray 或 numpy.ndarray) – 形状为 B, N 的预测边界框标签。
pred_scores (mxnet.NDArray 或 numpy.ndarray) – 形状为 B, N 的预测边界框得分。