【问题标题】:How to run two FirebaseVisionFaceDetector independently?如何独立运行两个 FirebaseVisionFaceDetector?
【发布时间】:2020-03-31 12:34:07
【问题描述】:

我有两个 FirebaseVisionFaceDetector 实例,它们来自不同的 FirebaseApp。

在 App 类中初始化 FirebaseApps:

FirebaseApp.initializeApp(this, FirebaseOptions.fromResource(this)!!, "accurate")
FirebaseApp.initializeApp(this, FirebaseOptions.fromResource(this)!!, "fast")

获取检测器:

private val detector = FirebaseVision.getInstance(FirebaseApp.getInstance("accurate"))
    .getVisionFaceDetector(optOpts)
private val detector2 = FirebaseVision.getInstance(FirebaseApp.getInstance("fast"))
    .getVisionFaceDetector(optOpts2)

但是,当我在不同的线程中调用 Tasks.await(detector.detectInImage(image))Tasks.await(detector2.detectInImage(image)) ,其中一个调用会阻塞另一个调用,因此它们的性能始终如一。

我认为检测器在后台使用相同的对象,因此我不能异步调用此方法。有人知道如何解决这个问题吗?

【问题讨论】:

    标签: android firebase kotlin firebase-mlkit


    【解决方案1】:

    我已联系支持团队,他们告诉我,目前所有 firebase 应用实例都使用同一个线程,因此无法并行。
    此外,他们告诉我他们已经创建了一个功能请求,因此它将在 MLKit 的未来版本中得到修复。

    【讨论】:

      猜你喜欢
      • 2014-10-21
      • 2021-03-05
      • 1970-01-01
      • 1970-01-01
      • 2020-10-25
      • 2013-08-03
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      相关资源
      最近更新 更多