预测模式下张量流更快的输入图像大小-rcnn?

问题描述 投票:0回答:1

我刚刚使用Tensorflow对象检测API使用fast-rcnn完成了一些转移学习。我在tensorflow 1.14中,骨干网是fast_rcnn_resnet101_coco。进行预测时,冻结的网络是否会调整提供给它们的图像的大小?

我问,因为当我向模型提供比我训练的图像大得多的图像时,它无法识别任何对象。当我将图像裁剪为1200x1200时,所有对象都是相同的,但是效果很好。

模型是否包含图像尺寸限制?即使对象在3000x3000图像中的尺寸相同,我是否也应该使用与配置文件中相似的尺寸进行预测?

在用于训练的配置文件中,我约束输入图像:

image_resizer {
  keep_aspect_ratio_resizer {
    min_dimension: 200
    max_dimension: 1200
  }
}

这是否意味着在我现在正在使用的训练模型中,如果将其放大到大于1200x1200的图像,它将按比例缩小吗?这是我在加载的冻结模型中进行预测的方法:

with model.as_default():
        with tf.Session(graph=model) as sess:
            imageTensor = model.get_tensor_by_name("image_tensor:0")
            boxesTensor = model.get_tensor_by_name("detection_boxes:0")
            scoresTensor = model.get_tensor_by_name("detection_scores:0")
            classesTensor = model.get_tensor_by_name("detection_classes:0")
            numDetections = model.get_tensor_by_name("num_detections:0")

            # Make prediction
            (boxes, scores, labels, N) = sess.run([boxesTensor, scoresTensor, classesTensor, numDetections],
                                                   feed_dict = {imageTensor: image})

相关:Training Image Size Faster-RCNN

而且,这篇文章让我认为它应该处理任何输入大小,但显然不能完全相同地处理它们,所以我很困惑:Faster RCNN + inception v2 input size

python tensorflow object-detection-api
1个回答
1
投票

Feature Pyramid Networks for Object Detection中,更快的RCNN对不同大小的对象显示不同的mAP。该模型在大型对象上的mAP高于小型对象。在Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks中,更快的RCNN调整输入图像的大小,以使其短边为600像素。因此,以我的选择,图像中对象的相对大小对检测确实很重要。裁剪大图像并使用较小的图像作为输入可能会有助于检测原始图像中的小对象,因为小对象变成了新图像中的相对大的对象。

FPN in a basic Faster R-CNN system has different performance on small, middle and large objects.

  1. Discussion on GitHub
  2. Another discussion on GitHub
© www.soinside.com 2019 - 2024. All rights reserved.