菜菜復(fù)現(xiàn)Smplify-x的艱難記錄
參考工作文檔:
1? https://blog.csdn.net/xxw23/article/details/121173557
2??https://blog.csdn.net/qq_44916003/article/details/124535251
我的環(huán)境:
Windows + cuda12.0 + Pycharm2022 + Python3.6?(Anconda虛擬環(huán)境)
以上環(huán)境沒(méi)有配置好的,可以先根據(jù)參考文檔1前面的部分配置環(huán)境。以及后面我發(fā)現(xiàn),要可視化結(jié)果似乎python需要3.8以上,各位自己把握下,我是菜菜我不知道嗚嗚嗚。
工作記錄:
解決完環(huán)境問(wèn)題,開(kāi)始下載smplify-x源碼。建議新建一個(gè)專門(mén)的文件夾,后面還有其他東西要下載,放一起比較好找到。
根據(jù)參考文檔2,下載smplify-x(得到smplx-master文件夾)源碼 +?人體先驗(yàn)?zāi)Khuman_body_prior
結(jié)合兩個(gè)參考文檔,先根據(jù)源碼文件的readme,做一些代碼的配置工作,install requirements 之類的balabala~
這里遇到的第一個(gè)問(wèn)題是模型loading,根據(jù)文檔需要下載mano,smpl,smplh,smplx四個(gè)模型文檔,要去一個(gè)模型網(wǎng)站注冊(cè)了之后才能下載,但是我始終沒(méi)有找全所有的模型(太菜了)
完整的目錄結(jié)構(gòu)如下:


從網(wǎng)站下的各種解壓包記得打開(kāi)看看里面的具體內(nèi)容,可以會(huì)存在重復(fù),放置混亂的情況,所以需要你全部打開(kāi)以后,再根據(jù)上面的文件夾要求的目錄結(jié)構(gòu)重新放置。
第二個(gè)問(wèn)題:
下載完上述四個(gè)模型,還需要下載EHF數(shù)據(jù)集(這個(gè)主要是提供輸入的圖像和圖像對(duì)應(yīng)的骨骼關(guān)鍵點(diǎn))。所以下載的圖像和關(guān)鍵點(diǎn)必須統(tǒng)一對(duì)應(yīng)的,且需要給關(guān)鍵點(diǎn)文件改名字,如下所示,否則會(huì)報(bào)錯(cuò)。

第三個(gè)問(wèn)題:
按照參考文檔,我們需要下載一個(gè)叫VPoser的東西,并把它放在和smplifyx-master的同級(jí)目錄下,但是我照做了之后,在運(yùn)行過(guò)程中,還是會(huì)報(bào)錯(cuò),在網(wǎng)上也并沒(méi)有看到類似的情況。
報(bào)錯(cuò)如下:
Could not find the experiment directory: vposer
所以我嘗試把VPoser整個(gè)文件復(fù)制到smplifyx-master里面,就不會(huì)報(bào)這個(gè)錯(cuò)了
最后,我愿稱之為我的究極問(wèn)題:

當(dāng)我覺(jué)得我已經(jīng)搞完了所有模型下載和數(shù)據(jù)載入并全部放在了相應(yīng)的位置后,一直在報(bào)這個(gè)錯(cuò)誤,也就是他無(wú)法識(shí)別我的模型類型。追溯源頭,報(bào)錯(cuò)來(lái)源body_models.py一下部分:

我就很迷惑了,我明明四個(gè)模型都已經(jīng)下載好了呀,怎么會(huì)不識(shí)別呢?(菜菜迷惑.jpg)
一通檢索,基本知道原因大概是cfg_files文件里面的配置和運(yùn)行文件的匹配問(wèn)題,簡(jiǎn)單點(diǎn)說(shuō),報(bào)錯(cuò)是關(guān)于model_type的,那就是運(yùn)行文件和配置文件中model_type不對(duì)應(yīng)。
首先明確,我需要匹配的smplx的模型,打開(kāi)conf.yaml文件,確定里面的model_type是對(duì)的

接著,找到cfg_files文件下的fit_smplx.yaml,確定這里的model_type是對(duì)的。

最后,找到運(yùn)行的main.py文件,Ctrl+F下里面關(guān)于model_type的部分,確定都是smplx.


至此,我總算是運(yùn)行出了一個(gè)結(jié)果,廢物癱.jpg。運(yùn)行結(jié)果在smplx_debug文件夾中。
接下來(lái)還要把之前open pose輸出的關(guān)節(jié)點(diǎn)結(jié)果鏈接到這邊,這樣就可以實(shí)現(xiàn)用自己的圖像去匹配三維模型了,記錄一下,防止我金魚(yú)腦袋到時(shí)候又忘了這邊的配置問(wèn)題。