代码之家  ›  专栏  ›  技术社区  ›  tobycoleman

使用Tensorflow对象检测API检测图像中的小对象

  •  12
  • tobycoleman  · 技术社区  · 7 年前

    我想用Tensorflow Object Detection API 识别一系列网络摄像头图像中的对象。这个 Faster RCNN models 在COCO数据集上进行预训练似乎是合适的,因为它们包含了我需要的所有对象类别。

    但是,我想提高模型在识别每个图像中相当小的对象时的性能。如果我理解正确,我需要编辑锚 scales 中的参数 config file 使模型使用较小的边界框。

    我的问题是:

    • 调整此参数后,是否需要在整个COCO数据集上重新训练模型?或者有没有一种方法可以仅仅为了推理而改变模型,避免任何再培训?
    • 除了将图像裁剪成多个部分并分别对每个部分进行推断之外,是否还有其他成功识别小对象的提示/技巧?

    背景信息

    我目前正在向模型提供1280x720个图像。在200x150像素左右,我发现很难检测到物体。

    1 回复  |  直到 7 年前
        1
  •  7
  •   gdelab    7 年前
    1. 不幸的是,您需要完全重新训练,因为重量确实取决于锚的形状。

    2. 具有更高分辨率的特征贴图应该会有所帮助(但会减慢过程),因此,更改特征提取器以获得输入大小减少较少的特征(步长大于1的最大池数通常会减少空间大小)或在初始图像大小调整器中将图像放大一点。