我已经下载并使用Tensorflow Lite Posenet模型实现了一个ML应用程序。这个模型的输出是一个热图,这是CNN的“我是新来的”的一部分。
处理输出所需的一条信息是“输出步长”。它用于计算原始图像中关键点的原始坐标。
keypointPositions=heatmapPositions*outputThree-offsetVectors
但文档未指定输出步幅。张量流中是否有可用的信息或方法可用于获取此(任何)预训练模型的输出步幅?
import tensorflow as tf
import numpy as np
import json
model = tf.lite.Interpreter('models\posenet_mobilenet_v1_100_257x257_multi_kpt_stripped.tflite')
model.allocate_tensors()
with open('model_details.json', 'w') as outfile:
info = dict(list(enumerate(model.get_tensor_details())))
s = json.dumps(str(info))
outfile.write(s)
输出步幅可通过以下等式获得:
分辨率=((InputImageSize-1)/OutputStride)1
示例:宽度为225像素且输出步幅为16的输入图像导致输出大小为15
15=((225-1)/16)1
对于 tflite PoseNet 模型(分辨率为 9):
9=((257-1)/x)1
x=32
所以输出步幅为32
来源