1

我使用 Azure 自定义视觉训练了一个对象检测模型,并且在门户中使用“快速测试”完成的预测与离线获得的预测不同(提供了示例代码)。

项目信息

域: “通用(紧凑)”

导出功能: “基本平台(Tensorflow、CoreML、ONNX、...)”

当我导出所选文件时:“Tensorflow”>“Tensorflow”

原始图像

在此处输入图像描述

快速测试(简历门户)

我只使用了 50 张猫的图像数据集。在门户中,我得到以下结果:

在此处输入图像描述

离线预测

在此处输入图像描述

(对于框可视化,我将以下代码添加到导出 .zip 文件中提供的“prediction.py”示例代码的主要方法中)

print("Predictions[0]", predictions[0]['boundingBox']['left'])
    image_cv = cv2.imread(image_filename)
    HEIGHT, WIDTH, channels = image_cv.shape
    for i in range(len(predictions)):
        print(predictions[i], "\n")
        # TESTING#
        x1, y1 = predictions[i]['boundingBox']['left'], predictions[i]['boundingBox']['top']
        x2, y2 = x1 + predictions[i]['boundingBox']['width'], y1 + predictions[i]['boundingBox']['height']
        x1, y1, x2, y2 = round(x1 * WIDTH), round(y1 * HEIGHT), round(x2 * WIDTH), round(y2 * HEIGHT)

        image_cv = cv2.rectangle(image_cv, (x1, y1), (x2, y2), color=(0, 0, 0), thickness=1)

        # show_names and show_percentage:
        label = "%s : %.3f" % (predictions[i]['tagName'], predictions[i]['probability'])

        b = np.array([x1, y1, x2, y2]).astype(int)
        cv2.putText(image_cv, label, (b[0], b[1] - 10), cv2.FONT_HERSHEY_PLAIN, 1, (100, 0, 0), 3)
        cv2.putText(image_cv, label, (b[0], b[1] - 10), cv2.FONT_HERSHEY_PLAIN, 1, (255, 255, 255), 1)

    cv2.imwrite("Predicted-img.jpg", image_cv)

有人可以帮我找出问题所在吗?如果需要,我可以提供“model.pb”文件和示例代码。我不确定我是否弄乱了导出设置或其他小细节。

是我的项目的回购链接,它可能会有所帮助

还有我打开的 Microsoft Q&A 问题的链接

4

0 回答 0