0

问题详情

我从这里尝试了 ML Kit 人脸检测示例应用程序,但在运行 LiveDataPreviewActivity 时无法接收耳朵的地标数据。

对于 FirebaseVisionFaceLandmark.LEFT_EAR 和 FirebaseVisionFaceLandmark.RIGHT_EAR,调用 face.getLandmark 始终返回 null。所有其他地标都被突出显示并很好地检索。

(在 Google Pixel 和三星 S6 上测试)

还有其他人遇到过这个问题吗?检测耳朵是否需要一些额外的设置?...我还在 repo 中添加了一个 github 问题,但我认为 stackoverflow 社区更加活跃。

相关代码

drawLandmarkPosition(canvas, face, FirebaseVisionFaceLandmark.LEFT_EAR)
drawLandmarkPosition(canvas, face, FirebaseVisionFaceLandmark.RIGHT_EAR)
...
private fun drawLandmarkPosition(canvas: Canvas, face: FirebaseVisionFace, landmarkID: Int) {
        val landmark = face.getLandmark(landmarkID)
        landmark?.let {
            val point = landmark.position
            canvas.drawCircle(
                    translateX(point.x),
                    translateY(point.y),
                    10f, idPaint)
        }
    }

...地标值始终为空。

代码来自:https ://github.com/firebase/quickstart-android/blob/master/mlkit/app/src/main/java/com/google/firebase/samples/apps/mlkit/kotlin/facedetection/FaceGraphic.kt #L115

4

1 回答 1

0

我收到了 firebase 技术支持的答复(再次感谢),缺少的是 app/build.gradle 中的这一行: implementation 'com.google.firebase:firebase-ml-vision-face-model:17.0.2'

已经在 github 上创建了一个 pull request,希望它会被接受。干杯! ;)

于 2018-10-24T09:18:53.087 回答