本讲是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
上报FD信息和画FD框
|