我为安卓开发了一个使用MLKit的统一插件。在MLKit姿态探测器分析图像之前,一切都很好:
Task<Pose> result =
_pd.process(image)
.addOnSuccessListener(
new OnSuccessListener<Pose>() {
@Override
public void onSuccess(Pose pose) {
Log.i("MyComppany", "trig OnSuccessListener!");
}
})
.addOnFailureListener(
new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.i("MyComppany", "trig OnFailureListener!");
Log.i("MyComppany", String.valueOf(e));
}
});在此之后,我得到了这个错误:
03-30 12:16:47.318 13171 13171 I MyCompany : com.google.mlkit.common.MlKitException: Mediapipe failed with message: internal: Graph has errors:
03-30 12:16:47.318 13171 13171 I MyCompany : Calculator::Open() for node "posetrackingsubgraph__posedetectionsubgraph__TfLiteInferenceCalculator" failed: RET_CHECK failure (third_party/mediapipe/util/tflite/tflite_model_loader.cc:70) model Failed to load model from path mlkit_pose/pose_person_detector_f16.tflite这表明tfile在构建插件时丢失了,但我不知道如何进一步调试它。任何洞察力都是值得赞赏的。
发布于 2021-03-30 10:26:59
之所以发生这种情况,是因为我实际上没有指定的模型文件。由于我使用的是AAR插件,所以我不得不使用unity-jar-resolver将所有底层依赖项下载到联合的Assets/Plugins/Android中。在这样做之后,我遇到了依赖冲突,这迫使我删除依赖("com.google.mlkit:pose-detection:17.0.1-beta3")。最后,我发现我在Unity中只引用了一个"com.google.mlkit:pose-detection:17.0.1-beta3",而不是全部内容。
作为解决办法,我将我的项目导出到Android中,并将"com.google.mlkit:pose-detection:17.0.1-beta3"添加到Gradle中。现在一切都正常了。
https://stackoverflow.com/questions/66868158
复制相似问题