Nvidia Maxine 精讲(一)AR-SDK安装使用——BodyTrack 【非官方全网首发】
Nvidia Maxine 精讲 (二) FaceTrack &&Expression 【非官方全网首发】
Nvidia Maxine
前言——建议收藏
使用环境同上篇中介绍的windows的系统,不再赘述
本篇主要讲Face部分的主要功能,故把两个demo合并一起,因为表情拟合在上个版本0.7中是归在Face部分的demo里,具体可以看我上篇的讲解,开车!
1.FaceTrack
在Nvidia Maxine 精讲(一)AR-SDK安装使用——BodyTrack 【非官方全网首发】 我们已经熟悉了整体的代码结构和demo功能的使用,因此趁热打铁我们今天来搞定人脸部分的AI应用!通过Read.me我们可以知道当前FaceTrack的demo介绍了三个功能:
1 -Face tracking —— 人脸检测跟踪
2 - Facial landmark tracking ——68或者126 个landmarks检测跟踪
3 - 3D mesh tracking —— 通过人脸landmarks进行人脸重建3Dmesh
这里补一下:基本上所有的跟踪在这个SDK里都用的卡尔曼滤波
1.1 运行demo
我们首先打开smaples\FaceTrack\下, 还是和上篇BodyTrack一样的操作,运行run_local或者带offline的,区别就是实时摄像头和文件,自己打开BAT脚本看一下就行,
`ETLOCAL
SET PATH=%PATH%;..\..\samples\external\opencv\bin;..\..\bin;
FaceTrack.exe --model_path=..\..\bin\models` //这里对照下图自行定义参数
如果你想了解的非常深入,这里我简要汇总下!可以直接看官方的文档:nvidia system guide
程序运行命令参数设置选择
程序键盘控制选择
在代码中展示,注意:键盘控制的前提是,–offline-model=false and --capture_outputs=true 才生效
我们可以双击运行 run_local_offline.bat,等待窗口跑完后会生成对应3个功能的demo视频文件:
这个没什么好说的,一般就是定义的关键点定义好的68或者更dense的点,然后使用L1\L2\WINGLOSS这些人脸关键点经典损失函数即可,可能自己训练的话需要更多亚洲人的人脸图像数据。
这里其实大家可能对Mesh有些陌生,那么顺着下面会涉及到SDK的FaceExpression的部分
图中的”face_model2.nvf"即拟合3D MESH的模型文件,这里提一下:
0.7版本使用的是3DMM的官方项目进行的拟合,新版本:感兴趣可以看ict facekit github 去拟合的mesh,其实本质都是3DMM。不过ICT额外输出了blendshape(53组)来表达人脸表情;
2 FaceExpression
同样我们打开FaceExpression的demo,可以运行两个bat 脚本得到DEMO:
程序配置参数和程序运行控制参数
这里 model 的模型比较重要 如果是1,那么就是传统的3DMM线性bs值去表达人脸,如果是2 就是MLP预测的表情系数,程序默认使用的2模型!官方认为更细腻。
举例:让我们开始在实时脚本中加入show_ui,保存更新点击“run_local.bat”就会出现UI界面控制,方便我们选择功能代替命令。
SETLOCAL
SET PATH=%PATH%;..\..\samples\external\opencv\bin;..\..\bin;
ExpressionApp.exe --model_path=..\..\bin\models --expr_mode=2 --in=..\FaceTrack\FaceTrack.mp4 --out=ExpressionApp_out.mp4 --show_ui
3 通用修改代码
上一篇也介绍过了是一样的操作,VS打开后每次修改代码后点击重新生产解决方案,新编译的exe执行程序,是在根目录build\Release\的 这点要看清楚
待补充细节
后续有新发现会加入~ 赶紧收藏把
预告
下篇是MAXINE(三)AR SDK部分的收尾篇