tencent cloud

腾讯特效 SDK

动态与公告
产品动态
关于腾讯特效 SDK V3.5 版本更新公告
关于腾讯特效 SDK V3.0 版本相关接口及素材变更公告
产品简介
产品概述
产品功能
基本概念
产品优势
应用场景
购买指南
价格总览
购买流程
欠费退费说明
新手指引
Demo 体验
免费测试
License 指引
移动端 License 新增与续期
PC 端 License 新增与续期
Web端 License 新增与续期
常见问题
SDK 下载
功能说明
SDK 下载
版本历史
SDK 集成指引(无 UI)
通用集成腾讯特效
原子能力集成指引
SDK 集成指引(含 UI)
通用集成腾讯特效
直播 SDK 集成腾讯特效
TRTC SDK 集成腾讯特效
短视频 SDK 集成腾讯特效
Avatar 虚拟人集成指引
API 文档
iOS
Android
Flutter
Web
功能实践
SDK 包瘦身
SDK 集成问题排查
性能调优
效果调优
素材使用
美颜参数说明
美颜场景推荐参数
短视频企业版迁移指引
第三方推流接入美颜(Flutter)
小程序美颜特效实践
素材制作工具使用
Web 美颜特效
产品概述
快速上手
SDK 接入
API 文档
控制台指南
Demo 体验
内置素材总览
实践教程
常见问题
常见问题
通用类相关
技术类相关
License 相关
旧版文档
美颜场景推荐参数
美颜参数表
一分钟集成 TRTC
一分钟集成直播
TE SDK 政策
隐私协议
数据处理和安全协议
联系我们

人脸点位

PDF
聚焦模式
字号
最后更新时间: 2023-05-18 16:30:51
人脸检测(识别人脸出框、多人脸、面部遮挡),256个面部关键点位识别与输出。

人脸256点对应索引图





iOS 接口说明

iOS 集成指引

iOS 集成 SDK 指引,请参见 独立集成腾讯特效

Xmagic 接口回调注册

/// @brief SDK事件监听接口
/// @param listener 事件监听器回调,主要分为AI事件,Tips提示事件,Asset事件
- (void)registerSDKEventListener:(id<YTSDKEventListener> _Nullable)listener;

YTSDKEventListener 回调说明

#pragma mark - 事件回调接口
/// @brief SDK内部事件回调接口
@protocol YTSDKEventListener <NSObject>
/// @brief YTDataUpdate事件回调
/// @param event NSString*格式的回调
- (void)onYTDataEvent:(id _Nonnull)event;
/// @brief AI事件回调
/// @param event dict格式的回调
- (void)onAIEvent:(id _Nonnull)event;
/// @brief 提示事件回调
/// @param event dict格式的回调
- (void)onTipsEvent:(id _Nonnull)event;
/// @brief 资源包事件回调
/// @param event string格式的回调
- (void)onAssetEvent:(id _Nonnull)event;
@end
2.6.0及之前版本 设置回调成功后,每一帧人脸事件会回调:
- (void)onYTDataEvent:(id _Nonnull)event;
3.0.0版本 设置回调成功后,每一帧人脸事件会回调:
- (void)onAIEvent:(id _Nonnull)event;
//在onAIEvent方法中可通过下边方法可以获取到数据
NSDictionary *eventDict = (NSDictionary *)event;
if (eventDict[@"ai_info"] != nil) {
NSLog(@"ai_info %@",eventDict[@"ai_info"]);
}
回调 data 是一个 JSON 格式数据,具体含义如下(256点对应上图的位置):
/// @note 字段含义列表
/**
| 字段 | 类型 | 值域 | 说明 |
| :---- | :---- |:---- | :---- |
| trace_id | int | [1,INF) | 人脸id,连续取流过程中,id相同的可以认为是同一张人脸 |
| face_256_point | float | [0,screenWidth或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] | 嘴高可见度点位占比 |
**/
- (void)onYTDataEvent:(id _Nonnull)event;

Android 接口说明

Android 集成指引

Android 集成 SDK 指引,具体请参见 独立集成腾讯特效

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
回调函数实现类。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈