为什么从模型生成的边界框中保存的图像比原始图像的分辨率要低得多

时间:2019-07-15 16:22:36

标签: python deep-learning computer-vision object-detection object-detection-api

我已经使用Tensorflow对象检测API训练了faster_rcnn_resnet50模型。我已经为模型训练了尺寸为(1366,768)的图像,并在测试时使用了相同的尺寸。但是,当我将边界框的内容另存为单独的图像时,我发现图像尺寸减小到(250,50),这是一个相当大的下降。为什么会发生这种情况?

预测的图像:(1366,768) dimension image from test set
边界框另存为图像image dimension becomes (250,50)

我在最后一个单元格object_detection_tutorial.ipynb下添加了以下代码行,以将边框内的区域另存为新图像

img = cv2.imread(image_path)
box = np.squeeze(boxes)
for i in range(len(boxes)):
    ymin = (int(box[i,0]*height))
    xmin = (int(box[i,1]*width))
    ymax = (int(box[i,2]*height))
    xmax = (int(box[i,3]*width))
    roi = img[ymin:ymax,xmin:xmax].copy()
    cv2.imwrite('path/engine_box_{}.jpg'.format(str(count)), roi)

1 个答案:

答案 0 :(得分:0)

边界框是包含模型检测到的对象的区域,当然,其大小将比原始图像小得多。您的期望是什么?