人脸识别
人脸检测(识别人脸出框、多人脸、面部遮挡),256个面部关键点位识别与输出。
人脸256点对应索引图


Android 接口说明
Android 集成指引
Xmagic 接口回调注册
设置人脸点位信息等数据回调。
2.6.0及之前版本使用如下方法
void setYTDataListener(XmagicApi.XmagicYTDataListener ytDataListener)设置人脸信息等数据回调public interface XmagicYTDataListener {void onYTDataUpdate(String data)}
3.0.0版本使用如下方法
void setAIDataListener(XmagicApi.OnAIDataListener aiDataListener)public interface OnAIDataListener {void onFaceDataUpdated(List<TEFaceData> faceDataList);void onHandDataUpdated(List<TEHandData> handDataList);void onBodyDataUpdated(List<TEBodyData> bodyDataList);void onAIDataUpdated(String data); //此方法是3.0.0版本新增方法,数据结构和之前XmagicYTDataListener接口的数据保持一致}
onYTDataUpdate 和 onAIDataUpdated 返回 JSON string 结构,最多返回5个人脸信息:
{"face_info":[{"trace_id":5,"face_256_point":[180.0,112.2,...],"face_256_visible":[0.85,...],"out_of_screen":true,"left_eye_high_vis_ratio:1.0,"right_eye_high_vis_ratio":1.0,"left_eyebrow_high_vis_ratio":1.0,"right_eyebrow_high_vis_ratio":1.0,"mouth_high_vis_ratio":1.0},...]}
字段含义
字段 | 类型 | 值域 | 说明 |
trace_id | int | [1,INF) | 人脸 ID,连续取流过程中,ID 相同的可以认为是同一张人脸。 |
face_256_point | float | [0,screenWidth] 或 [0,screenHeight] | 共512个数,人脸256个关键点,屏幕左上角为(0,0)。 |
face_256_visible | float | [0,1] | 人脸256关键点可见度。 |
out_of_screen | bool | true/false | 人脸是否出框。 |
left_eye_high_vis_ratio | float | [0,1] | 左眼高可见度点位占比。 |
right_eye_high_vis_ratio | float | [0,1] | 右眼高可见度点位占比。 |
left_eyebrow_high_vis_ratio | float | [0,1] | 左眉高可见度点位占比。 |
right_eyebrow_high_vis_ratio | float | [0,1] | 右眉高可见度点位占比。 |
mouth_high_vis_ratio | float | [0,1] | 嘴高可见度点位占比。 |
参数
参数 | 含义 |
XmagicApi.XmagicYTDataListener ytDataListener | 回调函数实现类。 |