五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

用胯!論Openpose轉(zhuǎn)Unity.humanoid一種方案(一)

2023-03-29 16:12 作者:DeadCyber  | 我要投稿

Openpose介紹

openpose是git上一個開源庫。(開源其實無所謂,你有那條件訓練嗎)

可以用視頻出實時的3d骨骼測算:

也可以從單張圖出靜態(tài)的2d測算:

Unity.Humanoid介紹

就是一種標準,用來將各種用戶自定義骨骼和Unity的標準人體對應(yīng)起來。這樣的話,人型動作和骨骼可以合理地自動轉(zhuǎn)換:

Openpose的Body_25介紹

類似的,openpose中也有一套人體標準:

因為本文主要關(guān)注的是bodykey的映射,所以其他面部,手部什么的就不拿出來對應(yīng)了。

兩邊的映射關(guān)系

? ? 可以看出humanoid和openpose并無母子關(guān)系,屬于這邊有的,那邊不一定有,那邊有的,這邊不一定有。比如openpose有腳跟和大小腳趾,而humanoid沒有;humanoid有臉手部等,但openpose的手部,臉部另算,不在body_25里;而且huamanoid沒有耳朵,眼睛也是非必須等等....

? ? 所以無法自動映射。如果我們要把openpose的數(shù)據(jù)映射到humanoid里,對于body_25而言,只能我們手動一一找對應(yīng)。好在兩邊都是固定的標準,對應(yīng)關(guān)系也是固定的,所以是一勞永逸的事情。

其中右邊的string是我輸出avatar.humanDescription.human中所有humanName的結(jié)果中對應(yīng)找到的。

Openpose格式解析(單張測算的Openpose原始結(jié)果數(shù)據(jù))

python調(diào)用openpose.bin使用命令:

輸出了[圖片名稱]_keypoints.json的測算文件。其json結(jié)構(gòu)是:


其中pose_keypoints_2d就是我們要的body_25數(shù)據(jù),但它有75個float,每個節(jié)點有3個float,前2個float是節(jié)點的圖片像素位置,以圖片1像素為單位(注意數(shù)據(jù)uv.v方向可能上下顛倒);后一個float是置信度,有時候會出現(xiàn)置信度為0,說明這個節(jié)點沒有識別出來。

? ? 我寫了點代碼在Unity可視化。很明顯有一個節(jié)點超出了圖片范圍,沒有被識別出來:

數(shù)據(jù)轉(zhuǎn)換思路

先讀取openposeJson數(shù)據(jù),然后對25點遍歷,

  1. 根據(jù)openID找到對應(yīng)humanoid的名稱humanName(不一定找到)

  2. 然后依據(jù)avatar.humanDescription.human,根據(jù)humanName找到實際的boneName

  3. 然后從skinedMeshRenderer.bones中,根據(jù)boneName找到對應(yīng)的transform,設(shè)置上openpose的數(shù)據(jù)

字太多了,還有很多內(nèi)容,切下一篇繼續(xù)講吧,下篇教你怎么用胯!

下一篇鏈接看評論。

至此我們已經(jīng)將數(shù)據(jù)從Openpose對應(yīng)到了每個Unity.SkinnedMeshRenderer.bones,下一篇描述怎樣把2d位置數(shù)據(jù)應(yīng)用到transform上。

用胯!論Openpose轉(zhuǎn)Unity.humanoid一種方案(一)的評論 (共 條)

分享到微博請遵守國家法律
宜丰县| 永丰县| 怀宁县| 正宁县| 天峨县| 定南县| 杭锦后旗| 张家港市| 额敏县| 安阳县| 乌兰察布市| 峡江县| 余干县| 深泽县| 西乌| 淳安县| 台东市| 广州市| 洪泽县| 鄂托克前旗| 开封县| 石景山区| 织金县| 惠东县| 北辰区| 南郑县| 读书| 甘洛县| 博客| 宽城| 巧家县| 海林市| 神池县| 普定县| 弥勒县| 工布江达县| 鄂伦春自治旗| 嵊泗县| 南召县| 水城县| 五指山市|