本讲是Android Camera专题系列的第48讲,我们介绍Android Camera2 API专题的FD人脸检测,包括如下内容:
-
FD Metadata
- FD模式
- FD Results
-
FD 实战
- 使能FD
- 上报FD信息和画FD框
视频在线观看:
加入知识星球与更多Camera同学交流
– 星球名称:深入浅出Android Camera
– 星球ID: 17296815
FD模式
CaptureRequest#STATISTICS_FACE_DETECT_MODE,通过CameraCharacteristics# STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES判断支持哪些Mode
STATISTICS_FACE_DETECT_MODE取值 | 描述 |
---|---|
STATISTICS_FACE_DETECT_MODE_OFF | 在CaptureResult中不用包含人脸统计数据,也就是FD算法可以不跑 |
STATISTICS_FACE_DETECT_MODE_SIMPLE | 使能FD算法,在CaptureResult中返回检测到的人脸位置、置信度 |
STATISTICS_FACE_DETECT_MODE_FULL | 使能FD算法,在CaptureResult中返回检测到的人脸位置、置信度、landmarks、face ID |
通过CameraCharacteristics#STATISTICS_INFO_MAX_FACE_COUNT获取最大同时能识别到的人脸数
FD Results
从CaptureResult#STATISTICS_FACES读取人脸检测结果
android.hardware.camera2.params.Face成员 | 描述 |
---|---|
mBounds(Rect) | 人脸的位置,SENSOR_INFO_ACTIVE_ARRAY_SIZE 作为其坐标系 |
mScore(int) | 人脸置信度值[1,100] |
mId(int) | 人脸的唯一标识id,可用于跟踪某个人脸 |
mLeftEye(Point) | 左眼中心的坐标,SENSOR_INFO_ACTIVE_ARRAY_SIZE 作为其坐标系 |
mRightEye(Point) | 右眼中心的坐标,SENSOR_INFO_ACTIVE_ARRAY_SIZE 作为其坐标系 |
mMouth(Point) | 嘴巴中心的坐标,SENSOR_INFO_ACTIVE_ARRAY_SIZE 作为其坐标系 |
使能FD
判断FD是否支持
-
FD mode是否包含Simple或Full
-
支持的最大识别人脸数 > 0
使能FD
Preview#startCameraPreview
|--> CameraController2#startFaceDetection
|----> CameraSettings#setFaceDetectMode
|----> CameraSettings#setSceneMode