Azure Custom Vision图像分类预测-(如何)将图像调整为正方形大小?

时间:2019-06-27 11:21:32

标签: python azure azure-cognitive-services yolo microsoft-custom-vision

Image classification and image resizing

上有一个 general 问题。

但是目前的问题是具体关于使用Python / Tensorflow导出模型的Azure认知服务自定义视觉预测。

https://docs.microsoft.com/en-us/azure/cognitive-services/custom-vision-service/export-model-python之后(详细介绍了辅助函数),推荐的用于为本地/导出模型预测准备任意形状的图像的操作如下:

    # Update orientation based on EXIF tags, if the file has orientation info.
    image = update_orientation(image)

    # Convert to OpenCV format
    image = convert_to_opencv(image)

    # If the image has either w or h greater than 1600 we resize it down respecting
    # aspect ratio such that the largest dimension is 1600
    image = resize_down_to_1600_max_dim(image)

    # We next get the largest center square
    h, w = image.shape[:2]
    min_dim = min(w,h)
    max_square_image = crop_center(image, min_dim, min_dim)

    # Resize that square down to 256x256(*)
    augmented_image = resize_to_256_square(max_square_image)

[(*)注意,对于当前导出的模型,它实际上应该是224 * 224或227 * 227 ....-引擎盖下的YOLO?]

这些步骤很成问题,因为它们切出了图像的中心,并从边缘丢弃了(对我而言很有价值)信息。 (最终的解决方案也很糟糕,但是我认为这是不可避免的。)

预测:将图像直接发送到在线Custom Vision预测端点时,它似乎没有被裁剪(根据API访问的调整大小图像判断)。如何实现-图像是否刚刚失真到所需的正方形?

培训:“调整大小后的图像”是用于培训的图像吗?还是所有用于训练的图像都被裁剪了?如果是这样,我应该在上传之前将其大小调整为正方形吗?如果没有,如何实现这一壮举?

谢谢

(按照Azure团队的建议在此处发布。)

0 个答案:

没有答案