我已经下载并正在使用Tensorflow Lite Posenet模型实现一个ML应用程序。这个模型的输出是一个热图,这是CNN的一部分,我是新手。
处理输出所需的一项信息是“输出步幅”。它用于计算在原始图像中找到的关键点的原始坐标。
keypointPositions = heatmapPositions * outputStride + offsetVectors
但是文档没有指定输出步长。我是否可以用tensorflow中的信息或方法来获得这个(任何)预先训练过的模型的输出步幅?
(257,257,3)(9,9,17) (17个不同关键点的19x9热图)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)发布于 2020-02-05 08:38:57
输出步长可从下列方程中得到:
resolution = ((InputImageSize - 1) / OutputStride) + 1
示例:输入图像的宽度为225像素,输出步长为16,其输出大小为15
15 = ((225 - 1) / 16) + 1
对于tflite PoseNet模型(分辨率为9):
9 = ((257-1)/ x) + 1 x = 32所以输出步长是32
https://stackoverflow.com/questions/60068651
复制相似问题