腾讯特效SDK人脸点位_音视频解决方案_同尘科技

腾讯特效SDK 2年前 (2023-06-13) 浏览 93

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

人脸256点对应索引图



iOS 接口说明

iOS 集成指引

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

Xmagic 接口回调注册

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

YTSDKEventListener 回调说明

#pragma mark - 事件回调接口/// @brief SDK内部事件回调接口@protocol YTSDKEventListener /// @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 faceDataList); void onHandDataUpdated(List handDataList); void onBodyDataUpdated(List 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 回调函数实现类。

对音视频的解决方案有疑惑?想了解解决方案收费? 联系解决方案专家

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心,购买腾讯云享受折上折,更有现金返利:同意关联,立享优惠

阿里云解决方案也看看?: 点击对比阿里云的解决方案

- 0人点赞 -

发表点评 (0条)

not found

暂无评论,你要说点什么吗?