Detectron2-与其他库的兼容性-十三

45次阅读

共计 1923 个字符,预计需要花费 5 分钟才能阅读完成。

作者 |facebookresearch
编译 |Flin
来源 |Github

与其他库的兼容性

与 Detectron 的兼容性(和 maskrcnn-benchmark)

Detectron2 解决了 Detectron 中遗留的一些遗留问题。结果, 它们的模型不兼容:在两个代码库中以相同的模型权重运行推理将产生不同的结果。

关于推断的主要区别是:

  • 现在, 当 width = x2-x1 和 height = y2-y1 时, 更自然地计算带有角 (x1,y1) 和(x2,y2)的 box 的高度和宽度。在 Detectron 中, 高度和宽度都添加了 ”+1″。
  • 请注意,Caffe2 中的相关操作已采用了这种约定的更改 (https://github.com/pytorch/py… , 并带有额外的选项。因此, 仍然有可能在 Caffe2 中使用 Detectron2 训练的模型进行推理。
  • 高度 / 宽度计算的变化最明显的变化是:

    • 边界框回归中的编码 / 解码。
    • 非最大抑制。但是, 这里的影响可以忽略不计。
  • RPN 现在使用具有较少量化伪像的更简单的锚点。

在 Detectron 中, 锚点已量化并且 没有准确的面积(https://github.com/facebookre…。在 Detectron2 中, 锚点在中心对齐以与特征网格点对齐, 并且未量化。

  • 分类层具有不同的分类标签顺序。

这涉及形状为 (…,num_categories + 1,…) 的任何可训练参数。在 Detectron2 中, 整数标签 [0,K-1] 对应于 K = num_categories 个对象类别, 标签 ”K” 对应于特殊的 ” 背景 ” 类别。在 Detectron 中, 标签 ”0″ 表示背景, 标签 [1,K] 对应于 K 个类别。

  • ROIAlign 的实现方式有所不同。新的实现在 Caffe2 中可用。
    Caffe2:(https://github.com/pytorch/py…

    1. 与 Detectron 相比, 所有 ROI 都移动了半个像素, 以创建更好的图像特征图对齐方式。有关详细信息, 请参见 layers/roi_align.py。要启用旧的行为, 请使用ROIAlign(aligned=False)POOLER_TYPE=ROIAlign代替 ROIAlignV2(默认值)。
    2. OI 的最小大小不需要为 1。这将导致输出的微小差异, 但应忽略不计。
  • 掩码推断功能不同。

    在 Detectron2 中,”paste_mask” 函数是不同的, 应该比 Detectron 中的准确性更高。此更改可以使 COCO 上的遮罩 AP 绝对值提高约 0.5%。

训练上也有一些其他差异, 但它们不会影响模型级别的兼容性。主要的是:

  • 我们通过 RPN.POST_NMS_TOPK_TRAIN 按图像而不是按批处理修复了 Detectron 中的错误。该修复程序可能会导致某些型号的精度下降(例如, 关键点检测), 并且需要进行一些参数调整才能匹配 Detectron 结果。

bug:(https://github.com/facebookre…

  • 简单起见, 我们将边界框回归中的默认损失更改为 L1 损失, 而不是平滑的 L1 损失。我们已经观察到, 这往往会略微降低 box AP50, 同时针对较高的重叠阈值提高 box AP(并导致 box AP 的总体改善)。
  • 我们将 COCO 边界框和分段注释中的坐标解释为 [0, width][0, height] 中的坐标。COCO 关键点注释中的坐标被解释为范围为 [0, width - 1] [0, width - 1] 的像素索引。请注意, 这会影响翻转增强的实现方式。

稍后, 我们将在上述有关像素, 坐标和 ”+1″ 的问题背后分享更多细节和原理。

与 Caffe2 的兼容性

如上所述, 尽管与 Detectron 不兼容, 但相关操作已在 Caffe2 中实现。因此, 可以在 Caffe2 中转换使用 detectron2 训练的模型。请参阅本教程的部署。

  • 部署:(https://detectron2.readthedoc…

与 TensorFlow 的兼容性

TensorFlow 中提供了大多数操作, 尽管需要解决在调整大小 / ROIAlign / 填充方面的一些微小差异。tensorpack FasterRCNN 提供了一个有效的转换脚本, 以在 TensorFlow 中运行标准的 detectron2 模型。

  • tensorpack FasterRCNN:(https://github.com/tensorpack…

原文链接:https://detectron2.readthedoc…

欢迎关注磐创 AI 博客站:
http://panchuang.net/

sklearn 机器学习中文官方文档:
http://sklearn123.com/

欢迎关注磐创博客资源汇总站:
http://docs.panchuang.net/

正文完
 0