首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >人脸检测在某些设备上不起作用

人脸检测在某些设备上不起作用
EN

Stack Overflow用户
提问于 2020-11-30 22:22:38
回答 1查看 224关注 0票数 0

我在GitHub中使用这个项目:https://github.com/gankit0701/Face-Mask-Detection-In-android-App

这款手机使用的是安卓( TensorFlow )精简版。它检测一个人是否戴着口罩。它会在面上绘制一个框(红色/绿色)。

我奇怪的问题是,如果我直接在设备上安装演示APK,面罩检测就能完美地工作。但当我在Android Studio中打开项目并从那里运行项目时,检测不起作用,没有绘制框,推断时间始终为零。但是,当我使用demo APK安装它时,一切都运行得很好:https://github.com/gankit0701/Face-Mask-Detection-In-android-App/tree/master/apk

还有一件事需要注意的是,我有两个设备,一个是华为手机,这个应用程序通过apk或Android Studio在这台设备上运行。另一个无法通过Android Studio使用的是RockChip安卓设备。

EN

回答 1

Stack Overflow用户

发布于 2020-12-01 01:04:28

内部的TFLite调用已弃用。因此,它失败的原因是“新构建”是因为被弃用的调用。我已经更改了一些,以便在Android8.0上启动应用程序(在新版本上失败),但你应该检查所有代码: TFLiteObjectDetectionAPIModel.java@129:

代码语言:javascript
复制
d.tfLite = new Interpreter(loadModelFile(assetManager, modelFilename), new Interpreter.Options().setNumThreads(NUM_THREADS)); 

TFLiteObjectDetectionAPIModel.java@281:

代码语言:javascript
复制
  @Override
  public void setUseNNAPI(boolean isChecked) {
    if (tfLite != null && isChecked) {
      // NnApiDelegate nnApiDelegate = new NnApiDelegate(loadModelFile(assetManager, modelFilename));
      // tfliteOptions.addDelegate(nnApiDelegate);
      // tflite = new Interpreter(tfliteModel, tfliteOptions);
    }
  }
}

如果你想使用NNAPI,应该重写应用程序。有关示例,请参阅this

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65075342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档