python摄像头动作捕捉_OpenMMD:没有专业摄像设备也能动作捕捉!K帧动作设计苦手的福音~...
1.前言
首先感謝大佬(們)的開源(整合)項目?https://github.com/peterljq/OpenMMD
(原開源項目的作者是算法工程師一枚,其實也是筆者的同行,想支持的親們可以去這個項目頁面點個star~~)
筆者掐指一算,覺得能點進來看的應該都已經知道MMD(Miku Miku Dance)是神馬了吧,就不多做背景介紹了喲~純路人萌新不妨看看這一篇MMD的發展史:MMD發展史。如果你再問初音是誰的話,請腦補一下筆者這個表情:[不禁對你翻了一個白眼]
2.受眾
OpenMMD到底是干啥的?簡潔地講,OpenMMD是一個可以直接分析現成視頻(各種MP4, AVI等視頻格式),自動生成vmd動作文件的工具;也就是說,你可以隨便從網上找一個(或者自己錄一個)人類的舞蹈動作視頻,然后直接使用這個分析工具就可以生成該舞蹈動作對應的vmd格式的文件了。如果文字沒說明白的話,下面這個圖應該一目了然吧:(當然了,整個中間流程其實不止關鍵點檢測,還有其他深度學習技術加持的一系列騷操作,就不贅述了,感興趣可以看下原github頁面)
處理流程:從右往左,最終可以生成連貫的vmd動作文件
到此OpenMMD的作用很明白了哈~我覺得受眾可以是每一名想自制動作的MMD制作者,因為有了這個神器就可以很輕松的創作融合各種舞蹈了,能夠很大程度上簡化K幀的編輯過程~不過這里有一點值得說明,這個僅僅是輔助工具而已,至少目前是做不到完美復現原視頻的所有動作的,因此想制作出好的視頻依舊需要你對k幀去修補美化一番,但是能事先有個大體的骨骼動作擺在那,我想已經是意義非凡的了吧!就算是大佬想必也是樂見其成的~
3.使用方法
3.1 大佬向教程
其實原始github項目已經寫的很詳細了,英文水平過關并且電腦水平不錯的親們請直接享用:https://github.com/peterljq/OpenMMD 的?Installation and User Guidelines 部分,甚至有不懂的或者其他建議也可以直接在該項目上開個issue向原作者提問~
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,地址在此 https://www.anaconda.com/distribution/,這個頁面往下翻會看到
注意選擇正確的系統,比如我們是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 https://pypi.tuna.tsinghua.edu.cn/simple 參數來獲得飛一般的下載速度~~~比如這樣:
pip install tensorflow==1.13.1?-i https://pypi.tuna.tsinghua.edu.cn/simple
(就是個切換下載源的實用小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文件,具體筆者就不是很清楚啦
總結
以上是生活随笔為你收集整理的python摄像头动作捕捉_OpenMMD:没有专业摄像设备也能动作捕捉!K帧动作设计苦手的福音~...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 850hpa
- 下一篇: websocket python爬虫_p