当前位置:首页 > 阅读 > 

OpenMMD 没有专业摄像设备也能动作捕捉 K帧动作设计苦手的福音~

OpenMMD 没有专业摄像设备也能动作捕捉 K帧动作设计苦手的福音~

OpenMMD 没有专业摄像设备也能动作捕捉 K帧动作设计苦手的福音~

首先感谢大佬(们)的开源(整合)项目 

(原开源项目的作者是算法工程师一枚,其实也是笔者的同行,想支持的亲们可以去这个项目页面点个star~~)

笔者掐指一算,觉得能点进来看的应该都已经知道MMD(Miku Miku Dance)是神马了吧,就不多做背景介绍了哟~纯路人萌新不妨看看这一篇MMD的发展史:MMD发展史。如果你再问初音是谁的话,请脑补一下笔者这个表情:[不禁对你翻了一个白眼]

2.受众

OpenMMD到底是干啥的?简洁地讲,OpenMMD是一个可以直接分析现成视频(各种MP4, AVI等视频格式),自动生成vmd动作文件的工具;也就是说,你可以随便从网上找一个(或者自己录一个)人类的舞蹈动作视频,然后直接使用这个分析工具就可以生成该舞蹈动作对应的vmd格式的文件了。如果文字没说明白的话,下面这个图应该一目了然吧:(当然了,整个中间流程其实不止关键点检测,还有其他深度学习技术加持的一系列骚操作,就不赘述了,感兴趣可以看下原github页面)

处理流程:从右往左,最终可以生成连贯的vmd动作文件

到此OpenMMD的作用很明白了哈~我觉得受众可以是每一名想自制动作的MMD制作者,因为有了这个神器就可以很轻松的创作融合各种舞蹈了,能够很大程度上简化K帧的编辑过程~不过这里有一点值得说明,这个仅仅是辅助工具而已,至少目前是做不到完美复现原视频的所有动作的,因此想制作出好的视频依旧需要你对k帧去修补美化一番,但是能事先有个大体的骨骼动作摆在那,我想已经是意义非凡的了吧!就算是大佬想必也是乐见其成的~

3.使用方法

3.1 大佬向教程

其实原始github项目已经写的很详细了,英文水平过关并且电脑水平不错的亲们请直接享用:

3.2 小白向教程

咱就假设亲们使用的是windows 10系统了;使用linux系统一般是大佬,俺就不管了;使用苹果系统的话,嘿嘿这个笔者自己也没有用过,因此也就不管了 [摊手]

说在前面:如果遇到了什么教程没有提到的问题,可以翻一翻评论看看有没有类似问题,或者看一看github的issue是否有类似问题以及解决办法;不行就直接来评论/私信找up哈~如果up有时间会尽量来解答的。

前提条件只有两个:

1)下载作者提供的模型文件(代码 + 深度学习模型文件,主要是模型的参数很多,因此文件体积不小,请耐心下载)

2)安装Python环境(Python和C,C++,Java一样是一种计算机语言)

首先是 1)下载模型文件,在往下继续浏览教程之前,你就可以先从下面这个地址上开始下载文件了:(度盘)

1L-TxEsgXD3zRHTAM8YQd7w

提取码:82qe

那么现在开始 2)安装Python环境

windows上安装python相比linux其实相对麻烦,因此建议直接安装Anaconda,地址在此

注意选择正确的系统,比如我们是Windows;并且是左边的Python 3.7 version (不过version选错了其实没问题,后面再说)。一路按提示要求安装好,选择安装路径什么的,应该问题不大,就不赘述了。

安装好了之后,从桌面点击开始 - Anaconda3文件夹 - Anaconda Prompt,打开这个类似终端一样的东西,它大概长这样:

注意啦,从此以后我们就要在这里输入各种命令了~

a)首先,我们来创建一个名叫tensorflow的、使用python3.6版本的虚拟环境(所以说其实最开始下载python3.7版本也无所谓,因为这一步总会创建新的python3.6版本):直接在终端输入这个指令(每输入完一行指令都要按一下回车键哈~):

conda create -n tensorflow pip python=3.6

接着,输入这个指令:

activate tensorflow

你会看到此后不管你输入什么,每一行都变成了以(tensorflow)开头,这就证明成功开启了虚拟环境了~

b )接下来开始安装一些需要的python第三方工具包:继续在刚才启动了虚拟环境的终端里一行一行地输入,每输入完一行按一下回车键:(请先看下面的注意再安装)

conda install h5py

pip install opencv-python

pip install matplotlib==3.0.0(注:最新版的matplotlib貌似会在后续某一步报错,因此限定一下是3.0.0版)

pip install tensorflow==1.13.1(注:tensorflow当前处于飞速迭代更新中,因此姑且限制了版本号1.13.1,其实目前(2019.6.9)的话不加也可以,也就是直接pip install tensorflow)

pip install pyqt5

注意:在使用pip install指令时,可在每一行命令结尾加入 -i

pip install tensorflow==1.13.1 -i

(就是个切换下载源的实用小trick)

另外,后续流程终如果遇到类似No module named xxx的错误信息(xxx是随便一个名字),不用慌张,只需要按上面这样pip install xxx指令,把xxx装上就好了。

安装部分到此结束,下面进入使用部分。在使用前请自行准备一个时间在5秒左右的动作视频作为第一次尝试,时间太长的话一旦出错不方便进行调试。等一切顺利以后我们再按照自己喜好去处理真正的视频。此外,将下载好的好几个G大小的代码+模型文件夹解压缩到一个英文路径,最好就叫做openmmd,注意这个文件夹的名称最好全英文,尤其不要含有空格!!假如叫做openmmd v1.0的话就会报错找不到路径的。。。

还是在开启了虚拟环境的conda终端里(如果重新打开了终端,就需要输入activate tensorflow启用虚拟环境)

接下来的步骤其实非常直白了,按照流程去做就好:

a)用鼠标将OpenposeVideo.bat文件拖到终端界面里,你会看到当前命令行自动显示出了文件路径,直接点回车键就可执行,接着按照提示输入视频文件的路径,然后一路回车键,直到开始启动openpose。(你会看到启动了一个叫做openpose的新程序,它会把视频从头到尾播放一遍顺便进行每一帧的关键点检测)

b)用鼠标将3d-pose-baseline-vmd文件夹下的OpenposeTo3D.bat拖到终端界面,点回车键,输入相应路径(即a步骤输出的、出现在你视频文件旁边的_json文件夹),之后一路回车,等待执行完毕,又会输出一个形如_json_3d_20190515_152335_idx01的文件夹

c)同样的操作,这回是FCRN-DepthPrediction-vmd文件夹里的VideoToDepth.bat,按提示输入路径

d)同样的操作,这回是VMD-3d-pose-baseline-mult目录下的3DToVMD.bat,如果一切顺利,恭喜你,在b)步骤输出的文件夹中,会有一个vmd格式的output,这就是我们所需要的动作文件了!

注0:如果途中报错 xxx module not found 或者 No module named xxx这类错误信息,那就是缺少python对应的库,一般可以直接输入pip install xxx安装一下就可以了

注1:当前源代码版本下,d)步骤一般肯定会报错:unrecognized arguments: -s 1,不过不要慌,只要你删掉3DToVmd.bat文件最后一行里的-s %SMOOTH_TIMES% ,就可以了

注2:如果d)步骤报错:encoding什么的错,或者找不到某个乱码名字的csv文件,那么需要你手动修改下miku的骨骼文件,就是VMD-3d-pose-baseline-mult/born/あにまさ式ミクボーン.csv这个文件,请把它改成一个英文名字,比如miku_bone.csv,之后还需要同步修改下3DToVmd.bat文件的第18行,也是把set MODEL_BONE_CSV=born\あにまさ式ミクボーン.csv里面的日文改成你刚才起的名字(miku_bone.csv),重新运行应该就可以了

接下来就是将该文件导入到MMD里面等正常操作了,这里不再赘述。导入后可以体验下效果。

大功告成~

39!

一些限制:该模型默认只适合我(们)的公主miku殿下的骨骼,其他模型不一定合适,若想针对其他模型,则需要该模型的骨骼文件,也就是说需要你自己生成上面的那个被修改的csv文件,具体笔者就不是很清楚啦

以上就是(OpenMMD 没有专业摄像设备也能动作捕捉 K帧动作设计苦手的福音~)全部内容,收藏起来下次访问不迷路!