开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
图像技术
文字识别
人脸与人体识别
视频技术
AR与VR
自然语言处理
知识图谱
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
智能农业
信息服务
智能园区
智能硬件
人脸识别

    人脸表情动捕驱动SDK-Windows Unity

    1 版本说明

    SDK试用期免费,同时提供基础技术支持,内容定制走平台生态对接三方服务商支持。

    2 开发环境

    • Unity 开发推荐版本:Unity 2017.1.5 及以上。
    • 图像采集设备:推荐 720p 以上RGB相机。

    3 运行环境

    Dumoji SDK 支持发布Unity平台Windows 64位应用,并且需要保持联网状态。

    4 鉴权

    • 试用期间,此SDK无需用户主动申请鉴权,由百度方技术人员完成鉴权申请工作,随SDK交付,百度方会提供对应的license文件和API KEY字段。
    • License文件需放置在"..\Assets\StreamingAssets"路径下,API KEY需赋值给”ARCamera”游戏对象上的”BaiduARBuild”脚本组件上的”API key”字段上

    5 功能介绍

    此SDK提供人脸关键点检测能力和Dumoji面部驱动能力,提供Unity层插件接口。

    5.1 人脸关键点检测

    人脸识别成功时,返回150个人脸关键点。

    //@brief landmark index 0 - 149.
    {0, 72, 1, 73, 2, 74, 3, 75, 4, 76, 5, 77, 6, 78, 7, 79, 8, 80, 9, 81, 10, 82, 11, 83, 12}, //face contour
    {84, 23, 24, 25, 85, 26, 27, 28, 29, 22}, //left eyebrow
    {86, 40, 41, 42, 87, 43, 44, 45, 46, 39}, //right eyebrow
    {13, 88, 14, 89, 15, 90, 16, 91, 17, 92, 18, 93, 19, 94, 20, 95, 96, 21, 97}, //left eye
    {30, 98, 31, 99, 32, 100, 33, 101, 34, 102, 35, 103, 36, 104, 37, 105, 106, 38, 107}, //right eye
    {47, 48, 49, 50, 111, 51, 112, 115, 57, 110, 109, 108, 56, 55, 54, 53, 114, 52, 113}, //nose
    {58, 118, 119, 59, 120, 121, 60, 122, 123, 61, 124, 125, 62, 126, 127, 63, 128, 129, 64, 130, 131, 65, 132, 133}, //mouth outer lips
    {116, 134, 135, 66, 136, 137, 67, 138, 139, 68, 140, 141, 117, 142, 143, 69, 144, 145, 70, 146, 147, 71, 148, 149} //mouth inner lips

    5.2 头部姿态

    人脸识别成功时,返回人脸姿态四元数。

    5.3 面部驱动

    人体面部通过Blend Shapes进行驱动。 当人脸识别成功后,返回Dictionary<string,float>,其中Key为Blend Shape的名称、Value为Blend Shape 的归一化系数。 51个表情基底名称如下,详细描述可参考ARKit: https://developer.apple.com/documentation/arkit/arfaceanchor/blendshapelocation

    1)眉毛(brow):"browDownLeft", "browDownRight", "browInnerUp", "browOuterUpLeft", "browOuterUpRight"。

    2)脸颊(cheek):"cheekPuff", "cheekSquintLeft", "cheekSquintRight"。

    3)眼部(eye):"eyeBlinkLeft", "eyeBlinkRight", "eyeLookDownLeft", "eyeLookDownRight", "eyeLookInLeft", "eyeLookInRight", "eyeLookOutLeft", "eyeLookOutRight", "eyeLookUpLeft", "eyeLookUpRight", "eyeSquintLeft", "eyeSquintRight", "eyeWideLeft", "eyeWideRight",

    4)下颚(jaw):"jawForward", "jawLeft", "jawOpen", "jawOpenMouthClose", "jawRight", 5)嘴部 (mouth): "mouthDimpleLeft", "mouthDimpleRight", "mouthFrownLeft", "mouthFrownRight", "mouthFunnel", "mouthLeft", "mouthLowerDownLeft", "mouthLowerDownRight", "mouthPressLeft", "mouthPressRight", "mouthPucker", "mouthRight", "mouthRollLower", "mouthRollUpper", "mouthShrugLower", "mouthShrugUpper", "mouthSmileLeft", "mouthSmileRight", "mouthStretchLeft", "mouthStretchRight", "mouthUpperUpLeft", "mouthUpperUpRight",

    6)鼻部(nose):"noseSneerLeft", "noseSneerRight"

    注:

    1.返回的Dictionary默认为字母顺序排序,开发者可根据自己的使用情况进行筛选和调整

    2.arkit为52基底,Dumoji暂不支持舌头基底,故为51个表情基底

    6 运行说明

    6.1 接口函数

    /*启动AR*/
    void StartAR();
    /*停止AR*/
    void StopAR();
    /*暂停AR*/
    void PauseAR();
    /*继续AR*/
    void ResumeAR();
    
    /*清理人脸坐标点*/
    void InvokeFaceClearMessage(Action clear);
    
    /*获得识别成功人脸关键点*/
    void InvokeFacePosMessage(Action<List<OutPutDataFace>> posCallback)
    
    /*获得识别成功的动画信息(BlendShapes和人脸姿态四元数)*/
    void InvokeFaceAnimMessage(Action<OutPutDataDuMoji> dumojiCallback)
    
    /*人脸表情和姿态角的校准*/
    void InvokeFaceAnimCalibrateMessage()
    
    /*返回报错信息*/
    void InvokeErrorMessage(Action<string,string> errorCallback);

    6.2 调用示例

    开发者需要调用ARDumojiExample组件中的InvokeFacePosMessage、InvokeFaceAnimMessage和InvokeFaceAnimCalibrateMessage监听回调事件。

    InvokeFacePosMessage事件可得到一个List lstVet,用来获取肢体各个部位的信息。OutPutDataFace 这个类中包含的信息包括:VectorScreenPos(人脸屏幕坐标),得到的List中一共包含150个点位信息。

    InvokeFaceAnimMessage事件可得到一个OutPutDataDuMoji mOutPutDataDuMoji,用来获取人脸的表情信息。OutPutDataDuMoji 这个类中包含的信息包括:blendshapesDic(人脸blendshapes的Dictionary),得到的Dictionary中一共包含51个表情信息。faceQuaterion 人脸姿态角四元数。 InvokeFaceAnimCalibrateMessage事件为姿态角和表情校准功能事件,注册调用即可。

    ARDumojiExample组件中可调用的监听事件,如图所示: image

    上一篇
    人脸表情动捕驱动SDK-Android
    下一篇
    实时美发染色SDK