相芯SDK采用了先进的图像处理算法和深度学习技术,可以实现高质量、自然而细致的美型效果。它能够精确识别面部特征并进行微调,使面部看起来更加美观和吸引人,可以快速处理图像数据,实现实时的美型效果展示,为用户提供即时的反馈和体验,开发者可以根据用户偏好和场景要求,调整美型效果的程度、样式和效果,实现个性化的美型处理。除此以外,SDK支持多种平台和开发语言,具备良好的跨平台兼容性,可以满足不同开发环境和需求的要求。
1. 功能介绍
相芯SDK提供了强大的美型功能,其中包括大眼、瘦脸、微笑、人中鼻子调节等多项特色功能。以下是对部分美型功能及其用到的技术的介绍:
大眼效果:相芯SDK利用智能算法和图像处理技术实现大眼效果。它可以自动识别眼睛的位置和特征,通过微调和增强眼部轮廓、眼睛大小和明亮度等因素,让眼睛看起来更加明亮、有神和迷人。
瘦脸效果:美型功能提供了瘦脸效果,通过调整面部轮廓和比例实现。相芯SDK可以智能识别面部特征,并对脸部进行微调和修正,使脸部线条更加紧致和修长,达到瘦脸的效果。
微笑效果:相芯SDK的美型功能还包括微笑效果的处理。它可以智能识别面部表情,对嘴唇、牙齿和面部肌肉进行微调和优化,使微笑更加自然、明亮和迷人。
人中鼻子调节效果:美型功能中还包含人中和鼻子调节的效果。通过识别和调整人中和鼻子的位置、角度和比例,相芯SDK可以微调面部特征,使人中更加匀称、鼻子更加立体,实现面部整体的协调美感。
这些美型功能是相芯SDK的亮点之一,采用了先进的图像处理算法和深度学习技术。它们能够在实时视频流和静态照片中应用,为用户提供自然、高质量的美型效果。
2. 使用前必查
在项目中使用Avatar驱动特效特效之前,请确保
l 已在项目中引入Faceunity SDK
l 已申请包含Avatar权限的authpack证书文件
| SDK及证书获取方法:发送邮件至 marketing@faceunity.com 进行咨询。
2.1导入SDK
2.1.1通过cocoapods集成
Nama全功能版本(支持物理特效):
pod 'Nama'
Nama-lite版本(体积更小,包含人脸相关的功能(海报换脸除外)):
pod 'Nama-lite'
FURenderKit全功能版本(支持物理特效):
pod 'FURenderKit'
FURenderKit-lite版本:
pod 'FURenderKit-lite'
接下来执行:
pod install
如果提示无法找到该版本,请尝试执行以下指令后再试:
pod repo update
2.2 相关配置
2.2.1 导入证书
申请美颜权限的authpack.h 证书文件,一般由我司通过邮箱发送给使用者
3. 使用步骤
3.1初始化sdk
初始化
FUSetupConfig *setupConfig = [[FUSetupConfig alloc] init];setupConfig.authPack = FUAuthPackMake(g_auth_package, sizeof(g_auth_package));
[FURenderKit setupWithSetupConfig:setupConfig];
注:app启动后只需要setup一次FURenderKit
即可,其中 g_auth_package 密钥数组声明在 authpack.h 中。
3.2美型参数设置
美型的整体程度由face_shape_level参数控制
face_shape_level: 取值范围 0.0-1.0, 0.0为无效果,1.0为最大效果,默认值1.0
beauty.faceShapeLevel = 1.0;
美型的渐变由change_frames参数控制
change_frames: 0为关闭 ,大于0开启渐变,值为渐变所需要的帧数
beauty.changeFrames = 0;
美型的种类主要由face_shape 参数控制
face_shape: 变形取值 0:女神变形 1:网红变形 2:自然变形 3:默认变形 4:精细变形
在face_shape选取不同参数时,对应可以使用的参数也不同:
face_shape参数详解
1.face_shape 为0 1 2 3时对应0:女神 1:网红 2:自然 3:默认
可以使用参数 eye_enlarging: 默认0.5, //大眼程度范围0.0-1.0 cheek_thinning: 默认0.0, //瘦脸脸程度范围0.0-1.0
2.face_shape: 为4时,为精细变形,添加了鼻子额头嘴巴下巴的调整 可以使用参数
`eye_enlarging`: 默认0.5, //大眼程度范围0.0-1.0
`cheek_thinning`: 默认0.0, //瘦脸程度范围0.0-1.0
`cheek_v`: 默认0.0, //v脸程度范围0.0-1.0
`cheek_narrow`: 默认0.0, //窄脸程度范围0.0-1.0
`cheek_small`: 默认0.0, //小脸程度范围0.0-1.0
`intensity_nose`: 默认0.0, //瘦鼻程度范围0.0-1.0
`intensity_forehead`: 默认0.5, //额头调整程度范围0.0-1.0
`intensity_mouth`: 默认0.5, //嘴巴调整程度范围0.0-1.0
`intensity_chin`: 默认0.5, //下巴调整程度范围0.0-1.0
beauty.faceShape = 4;
beauty.faceThreed = 0.0;
beauty.eyeEnlarging = 0.4;
beauty.cheekThinning = 0.0;
beauty.cheekV = 0.5;
beauty.cheekNarrow = 0.0;
beauty.cheekShort = 0.0;
beauty.cheekSmall = 0.0;
beauty.intensityNose = 0.5;
beauty.intensityForehead = 0.3;
beauty.intensityMouth = 0.4;
beauty.intensityChin = 0.3;
beauty.intensityPhiltrum = 0.5;
beauty.intensityLongNose = 0.5;
beauty.intensityEyeSpace = 0.5;
beauty.intensityEyeRotate = 0.5;
3.3加载美颜
FURenderKit.h 文件声明了所有NamaItem的属性或容器,实际业务开发在初始化之后赋值给 FURenderKit的对应属性值即可. 不用NamaItem 需要把FURenderKit对应的item 设置为nil,FURenderKit 内部就移除对应的效果
NSString *path = [[NSBundle mainBundle] pathForResource:@"face_beautification" ofType:@"bundle"]; //
FUBeauty *beauty = [[FUBeauty alloc] initWithPath:path name:@"FUBeauty"];
//
[FURenderKit shareRenderKit].beauty = beauty;
4. API参考列表
美型 FUBeauty (Shap)
属性说明
属性名称 | 类型 | 说明 | key |
faceShape | int | 变形取值 0:女神变形 1:网红变形 2:自然变形 3:默认变形 4:精细变形 默认4 | face_shape |
changeFrames | int | 0为关闭 ,大于0开启渐变,值为渐变所需要的帧数 change_frames | change_frames |
faceShapeLevel | double | 美型的整体程度由face_shape_level参数控制 取值范围 0.0-1.0, 0.0为无效果,1.0为最大效果,默认值1.0 face_shape_level | face_shape_level |
cheekThinning | double | 瘦脸 瘦脸程度范围0.0-1.0 默认0.0 | cheek_thinning |
cheekV | double | v脸程度范围0.0-1.0 默认0.0 | cheek_v |
cheekNarrow | double | 窄脸程度范围0.0-1.0 默认0.0 | cheek_narrow |
cheekShort | double | 短脸程度范围0.0-1.0 默认0.0 | cheek_short |
cheekSmall | double | 小脸程度范围0.0-1.0 默认0.0 | cheek_small |
intensityCheekbones | double | 瘦颧骨程度范围0.0~1.0 1.0程度最强 默认0.0 | intensity_cheekbones |
intensityLowerJaw | double | 瘦下颌骨程度范围0.0~1.0 1.0程度最强 默认0.0 | intensity_lower_jaw |
eyeEnlarging | double | 大眼程度范围0.0-1.0 1.0程度最强 默认0.0 | eye_enlarging |
intensityChin | double | 下巴调整程度范围0.0-1.0,0.5-0.0是变小,0.5-1.0是变大 默认0.5 | intensity_chin |
intensityForehead | double | 额头调整程度范围0.0-1.0,0.5-0.0是变小,0.5-1.0是变大 默认0.5 | intensity_forehead |
intensityNose | double | 瘦鼻程度范围0.0-1.0 1.0程度最强 默认0.0 | intensity_nose |
intensityMouth | double | 嘴型调整程度范围0.0-1.0,0.5-0.0是变大,0.5-1.0是变小 默认0.5 | intensity_mouth |
intensityLipThick | double | 嘴唇厚度 取值范围 0.0-1.0, 默认值0.5, 0.5-0是变薄, 0.5-1是变厚, 默认值0.5 | intensity_lip_thick |
intensityEyeHeight | double | 眼睛位置 取值范围 0.0-1.0, 默认值0.5, 0.5-0是变低, 0.5-1是变高, 默认值0.5 | intensity_eye_height |
intensityCanthus | double | 开眼角程度范围0.0~1.0 1.0程度最强 默认0.0 | intensity_canthus |
intensityEyeLid | double | 眼睑下至 取值范围 0.0-1.0, 0.0为无效果, 1.0为最大效果, 默认值0.0 | intensity_eye_lid |
intensityEyeSpace | double | 眼距调节范围0.0~1.0,0.5-0.0是变大,0.5-1.0是变小 默认0.5 | intensity_eye_space |
intensityEyeRotate | double | 眼睛角度调节范围0.0~1.0,0.5-0.0逆时针旋转,0.5-1.0顺时针旋转 默认0.5 | intensity_eye_rotate |
intensityLongNose | double | 鼻子长度调节范围0.0~1.0,0.5-0.0是变长,0.5-1.0是变短 默认0.5 | intensity_long_nose |
intensityPhiltrum | double | 人中调节范围0.0~1.0,0.5-0.0是变短,0.5-1.0是变长, 默认0.5 | intensity_philtrum |
intensitySmile | double | 微笑嘴角程度范围0.0~1.0 1.0程度最强 默认0.0 | intensity_smile |
intensityEyeCircle | double | 圆眼程度范围0.0~1.0 1.0程度最强 | intensity_eye_circle |
intensityBrowHeight | double | 眉毛上下 取值范围 0.0-1.0, 0.5-0是向上, 0.5-1是向下, 默认值0.5 | intensity_brow_height |
intensityBrowSpace | double | 眉间距 取值范围 0.0-1.0, 默认值0.5, 0.5-0是变小, 0.5-1是变大, 默认值0.5 | intensity_brow_space |
intensityBrowThick | double | 眉毛粗细 取值范围 0.0-1.0, 默认值0.5, 0.5-0是变细, 0.5-1是变粗, 默认值0.5 | intensity_brow_thick |
5. 总结
相芯SDK的美型功能被广泛应用于自拍相机应用、社交媒体平台、视频通话等场景,帮助用户展现出更好的面部形象和魅力,具体的效果和参数可根据相芯SDK的版本和配置进行调整和优化。如在接入中遇到问题,可联系相芯科技进行咨询!