0

我正在使用 keras-retinanet 模型从图像中检测对象。我面临的问题是,如果图像方向不正确,则模型无法检测到对象。例如,如果图像是这样的:

样本输入图像

如果我手动将此图像翻转 180,则模型能够检测到对象。

在发送到模型之前,我正在执行以下图像处理-

def _preprocess_image(self, image):
    draw = image.copy()
    draw = cv2.cvtColor(draw, cv2.COLOR_BGR2RGB)
    image = preprocess_image(image)
    image, scale = resize_image(image)
    return draw, image, scale

在上述方法中,如果方向不正确,我如何添加检查然后可以纠正它?

4

1 回答 1

0

您应该使用包含所有方向的数据增强来重新训练网络。

我认为无法确定图像处于原始位置或翻转 180°。

除非原点 (0,0) 左上角位置记录在图像的元数据中,并且您可以/找到对图像本身元数据的访问权限(imo 不太可能)。

于 2020-03-20T20:31:44.960 回答