将 mediapipe iris tflite 转换为 tf/keras 作为预处理器

Convert mediapipe iris tflite to tf/keras as a preprocessor

我正在尝试构建一个使用虹膜来估计到相机的距离的应用程序。我发现 Mediapipe 有它 (https://github.com/google/mediapipe/tree/master/mediapipe/modules/iris_landmark) 但它在 tflite 中。我希望我可以将它转换为 tf/keras 模型作为预处理器层(不可训练图)(在 Python/GoogleColab 中)。 我在 SO 中发现了很多问题(比如 (1) )试图将其转换为 h5/pb,这不完全是我的情况,因为我不需要优化器、损失函数等。我只需要恢复图层和权重。

(1) Is there any way to convert a tensorflow lite (.tflite) file back to a keras file (.h5)?

(2) Mediapipe Iris 也在 tfjs 中,这也没有解决我的问题... https://github.com/tensorflow/tfjs-models/tree/master/face-landmarks-detection ("shouldLoadIrisModel")

不久前转换为 tfjs 图模型:https://github.com/vladmandic/human/tree/main/models

为我的实现查看相同的存储库

注意:

  • iris模型需要裁剪后的人脸作为输入,因此需要搭配人脸检测器(任何人脸检测器都可以,mediapipe使用blazeface
  • iris 模型并没有真正检测到距离,它会进行精确的虹膜盒坐标,并且鉴于生物学上眼睛虹膜的大小对于所有人来说都是固定的,简单的数学就可以估计距离