产品简介
如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:
1 概述
精细化美型SDK提供基于人脸关键点实时检测的人脸美化塑形能力,包括眼睛、鼻子、脸型、下巴、嘴巴、额头、颧骨等五官轮廓的精细化塑形调节功能,提供产品级的UI开源界面,方便用户根据自己的业务定制界面,提供易用、稳定、统一的人脸美型服务。
2 兼容性
支持 Android 4.4+ 支持 iOS 9.0+
3 核心功能
3.1 五官精准塑形
提取东方人脸型基底,建立稳定高效的脸型三维重建算法,实现精细化面部重塑及五官精准塑形。
主要调节位置包括:
- 眼睛调节:调整眼睛大小及双眼间距;
- 鼻子调节:调整鼻翼宽度与整体鼻宽;
- 脸型调节:调节脸部轮廓,使面部轮廓变窄或变宽;
- 五官比例调节:智能化调整五官比例,使五官看上去更为协调;
支持16个子项的精准塑形效果实时动态调节,包括:大眼、瘦脸、窄脸、脸长、发际线(上庭)、中庭、下庭、下巴(长短)、下颌角、眼距、眼角、眉距、嘴型、鼻宽、鼻长、颧骨。
3.2 模板脸
支持自定义风格模板:通过预设精准五官塑形参数,自定义不同风格的脸型模板,如默认脸、自然脸、精致脸、娃娃脸等。
效果图如下:
3.3 美颜塑型子项说明
美型子项 | 英文 | 效果说明 | 初始值(最小,最大值) | 推荐美颜值 |
---|---|---|---|---|
1.大眼 | eyeScale | 使眼睛变大,单向调节 | 0(0,1) | 0.35 |
2.瘦脸 | faceThin | 使脸部缩小,单向调节 | 0(0,1) | 0.6,瘦脸/窄脸选其一 |
3.窄脸 | faceWidth | 使脸部变窄,单向调节 | 0(0,1) | 0.4,瘦脸/窄脸选其一 |
4.鼻宽 | noseWidth | 使鼻子缩窄,单向调节 | 0(0,1) | 0.2 |
5.鼻长 | noseLength | 使鼻子缩短或拉长,双向调节,<0.5缩短,>0.5拉长 | 0.5(0,1) | 按需调节 |
6.脸长 | faceLength | 使脸部缩短或拉长,双向调节,<0.5缩短,>0.5拉长 | 0.5(0,1) | 按需调节 |
7.发际线 | upperCountHeight | 调节发际线(上庭,额头)高度,双向调节,<0.5缩短,>0.5拉长 | 0.5(0,1) | 按需调节 |
8.中庭 | middleCountHeight | 调节中庭(眉毛到鼻尖)高度,双向调节,<0.5缩短,>0.5拉长 | 0.5(0,1) | 按需调节 |
9.下庭 | lowerCountHeight | 调节下庭(鼻子以下)高度,双向调节,<0.5缩短,>0.5拉长 | 0.5(0,1) | 按需调节 |
10.下巴 | chinHeight | 下巴长度缩短或拉长,双向调节,<0.5缩短,>0.5拉长 | 0.5(0,1) | 按需调节 |
11.眉距 | eyebrowDistance | 调节眉毛之间的距离,双向调节,<0.5缩短,>0.5拉长 | 0.5(0,1) | 按需调节 |
12.眼距 | eyeDistance | 调节双眼之间的距离,双向调节,<0.5缩短,>0.5拉长 | 0.5(0,1) | 按需调节 |
13.眼角 | eyeAngle | 调节两侧外眼角的倾斜角度,双向调节,<0.5眼角下垂,>0.5眼角上拉 | 0.5(0,1) | 按需调节 |
14.嘴型 | mouthWidth | 调节嘴部的大小,双向调节,<0.5缩小(窄小),>0.5放大(宽大) | 0.5(0,1) | 按需调节 |
15.下颌角 | jawEdgeWidth | 使下颌角(两腮侧)缩小,单向调节 | 0(0,1) | 按需调节 |
16.颧骨 | cheekboneWidth | 使颧骨(脸颊两侧)缩小,单向调节 | 0(0,1) | 按需调节 |
3.4 模板脸推荐美型值
- 默认脸 大眼 eyeScale 0.45(大眼效果较明显) 瘦脸 faceThin 0.6 鼻宽 noseWidth 0.2
- 自然脸 大眼 eyeScale 0.35 窄脸 faceWidth 0.4
- 精致脸 大眼 eyeScale 0.5 窄脸 faceWidth 0.7 鼻宽 noseWidth 0.4 下巴 chinHeight 0.7 眉距 eyebrowDistance 0.7 中庭 middleCountHeight 0.75 嘴型 mouthWidth 0.2
- 娃娃脸 大眼 eyeScale 0.5 瘦脸 faceThin 0.0 窄脸 faceWidth 0.6 脸长 faceLength 0.2 鼻宽 noseWidth 0.5 下巴 chinHeight 0.2 下颌角 jawEdgeWidth 0.2 嘴型 mouthWidth 0.4 颧骨 cheekboneWidth 0.7
4 鉴权方式
4.1 在线鉴权
按App鉴权,推荐使用在线鉴权,支持按年付费使用,优势在于申请较为简便,适用于网络环境较稳定的场景。
在线鉴权是通过线上系统或线下方式获得license鉴权文件,根据license使用说明将文件放在指定位置后,进行SDK使用的方式。如需延长授权使用的时间,在授权功能范围不变更的情况下,不需要更新license文件,使用使用简单方便。license文件的详细使用方式请参考技术文档。
4.2 离线鉴权
其他鉴权方式,如离线鉴权或按设备鉴权的方式目前暂不支持,是针对特定用户做的定制化鉴权处理,需要通过线下申请的方式获得SDK。
4.3 License的使用
license以dumixar.license文件的方式提供。
4.3.1 Android
请根据情况选择下面任意一种方法集成:
方法一、以文件名dumixar.license放置在assets根目录下 该方法不需要其他代码调用。
注意:如果多进程或插件方式使用DuMixController,需要保证在创建DuMixController实例的执行环境能访问的对应assets的资源
方法二、显示传递license信息 将dumixar.license文件内容读到byte[]变量后传递。该方法适用于想自行控制license存储位置的场景。
mDuMixController = new DuMixController();
byte[] license = // 读取license文件数据
mDuMixController.checkAuth(license, null, null);
注:checkAuth方法必须在setup方法前调用。
4.3.2 iOS
设置license信息,将dumixar.license拖入工程中。
NSData *data = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"dumixar" ofType:@"license"]];
NSArray *features = [BARSDKPro setLicenseData:data onlineFeatures:^(NSArray *onLinefeatures) {
} unsupportedFeature:^(NSInteger unsupportedFeature) {
}];
注:设置license方法必须在初始化AR控制器前调用。