赞
踩
本文介绍一个可以模仿你的表情的语音聊天机器人 —— Facemoji 废萌
这是个 Unity 项目,其暂时有两个模块 :
首先,为什么叫废萌(Facemoji)?…emmm…这个项目其实是由 Animoji 启发的,由于当时 Animoji 没有开放 api,所以想开发个跨平台(Unity)的类似的项目,就叫 Facemoji。
至于中文名废萌嘛?…emmm…总觉得她除了卖萌没什么作用,所以就叫废(Face)萌(Moji)了。
从 Google云盘 或者 Baidu网盘下载shape_predictor_68_face_landmarks.dat
(已训练好的人脸检测模型)和 Facemoji_Plugins_Assets_1.5.0.unitypackage
(精简的 OpenCV, Dlib, Live2D 和 Iflytek 库)
克隆下源码:git clone git@github.com:huihut/Facemoji.git
创建一个新的 Unity 项目,命名为 Facemoji
把 Facemoji-master
文件夹中的 Assets
和 ProjectSettings
替换 Facemoji
的同名文件夹
把 shape_predictor_68_face_landmarks.dat
复制到 Facemoji/Assets/StreamingAssets/
导入 Facemoji_Plugins_Assets_1.5.0.unitypackage
。导入后的文件结构如下:
转换平台到 Android(其他平台未适配)
Build & Run
使用 OpenCV 和 Dlib 检测面部表情,并实时转化为 Live2D 模型;
她可以跟着你的头部表情动,试着摇头看看吧。
点击顶部中间的录制键可以录制 3 秒的 gif;
录制状态为:Recording(准备录制)、PreProcessing(正在录制)、Paused(正在压缩成gif图)
生成的 gif 存储在 Application.dataPath
,Android 平台的话在
/storage/emulated/0/Android/data/com.huihut.facemoji/files/
使用 图灵机器人、讯飞 IAT 语音听写、讯飞 TTS 语音合成
她很智能(zhizhang),可以:
但是由于她是个中国 AI(机器人),图灵机器人只支持中文,所以她只能进行中文聊天,和她讲英文她只会翻译。
不过她以后会学习英文的(换个会讲英文的)。
调整模型参数
如果人眼睛小的话,可以修改 FaceTracking.cs
中 live2DModelUpdate 方法,把睁开眼的区间改大一点,如下:
// eye_open_L // 左眼
float eyeOpen_L = getRaitoOfEyeOpen_L (points);
if (eyeOpen_L > 0.4f && eyeOpen_L < 1.0f)
eyeOpen_L = 1; // 睁开眼
else if (eyeOpen_L >= 1.0f)
eyeOpen_L = 2; // 睁大眼
else if (eyeOpen_L <= 0.4f)
eyeOpen_L = 0; // 闭上眼
live2DModel.PARAM_EYE_L_OPEN = eyeOpen_L;
2018年03月23日因项目更新 v1.5.0 版本而对此博文做了修改。因博文内容不常改动,项目部署、文档等以Github为准。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。