我正在尝试了解 mediapipe 提供的 tflite Iris 地标模型的输出。
模型卡将 输出描述为 71 个 2D 地标和 5 个 2D 地标。当检查模型如下:
interpreter = tf.lite.Interpreter(model_path='iris_landmark.tflite')
interpreter.allocate_tensors()
output_details = interpreter.get_output_details()
print(output_details)
[{'dtype': numpy.float32,
'index': 384,
'name': 'output_eyes_contours_and_brows',
'quantization': (0.0, 0),
'quantization_parameters': {'quantized_dimension': 0,
'scales': array([], dtype=float32),
'zero_points': array([], dtype=int32)},
'shape': array([ 1, 213], dtype=int32),
'shape_signature': array([ 1, 213], dtype=int32),
'sparsity_parameters': {}},
{'dtype': numpy.float32,
'index': 385,
'name': 'output_iris',
'quantization': (0.0, 0),
'quantization_parameters': {'quantized_dimension': 0,
'scales': array([], dtype=float32),
'zero_points': array([], dtype=int32)},
'shape': array([ 1, 15], dtype=int32),
'shape_signature': array([ 1, 15], dtype=int32),
'sparsity_parameters': {}}]
我在模型输出中看到 213 个值和 15 个值 - 所以我假设我得到每个点的 x/y/z 坐标。在图像上运行模型后,我得到 -7000 到 +7000 范围内的值。我的输入是 64x64 图像,知道这些点如何对应于原始图像吗?
我想要眼睛关键点的像素坐标,这些坐标在媒体管道示例中呈现。