【发布时间】:2019-09-28 21:34:31
【问题描述】:
我正在开发一个项目,该项目将图像作为输入读取并显示和输出图像。输出图像包含一些线条来指示人体骨骼。我正在使用来自 tensorflow-lite 的姿态估计模型:
https://www.tensorflow.org/lite/models/pose_estimation/overview
我已阅读文档,它显示输出包含一个 4 维数组。我尝试使用 netron 来可视化我的模型文件,它看起来像这样:
我成功地从输入中获取了结果热图,但我遇到了一个问题,即所有浮点数都是负数。这让我很困惑,我不确定我是否做错了什么或如何理解这些输出。
这是输出的代码
tfLite = new Interpreter(loadModelFile());
Bitmap inputPhoto = BitmapFactory.decodeResource(getResources(), R.drawable.human2);
inputPhoto = Bitmap.createScaledBitmap(inputPhoto, INPUT_SIZE_X, INPUT_SIZE_Y, false);
inputPhoto = inputPhoto.copy(Bitmap.Config.ARGB_8888, true);
int pixels[] = new int[INPUT_SIZE_X * INPUT_SIZE_Y];
inputPhoto.getPixels(pixels, 0, INPUT_SIZE_X, 0, 0, INPUT_SIZE_X, INPUT_SIZE_Y);
int pixelsIndex = 0;
for (int i = 0; i < INPUT_SIZE_X; i ++) {
for (int j = 0; j < INPUT_SIZE_Y; j++) {
int p = pixels[pixelsIndex];
inputData[0][i][j][0] = (p >> 16) & 0xff;
inputData[0][i][j][1] = (p >> 8) & 0xff;
inputData[0][i][j][2] = (p) & 0xff;
pixelsIndex ++;
}
}
float outputData[][][][] = new float[1][23][17][17];
tfLite.run(inputData, outputData);
输出是一个数组 [1][23][17][17],它都是负数。那么有没有人知道这可以帮助我:(
非常感谢!
【问题讨论】:
标签: java android tensorflow image-processing tensorflow-lite