[導(dǎo)讀]作者|李秋鍵出品|?AI科技大本營(ID:rgznai100)引言隨著人機交互技術(shù)飛速發(fā)展,人體姿態(tài)估計技術(shù)越來越受到重視。姿態(tài)估計作為人體行為識別的重要組成部分,近年來逐漸成為計算機視覺領(lǐng)域的一個重要的研究熱點。由于人體結(jié)構(gòu)和姿態(tài)的復(fù)雜性以及視覺理論的局限性,最初人體姿態(tài)估計算...
作者 | 李秋鍵出品 | AI科技大本營(ID:rgznai100)
引言隨著人機交互技術(shù)飛速發(fā)展,人體姿態(tài)估計技術(shù)越來越受到重視。姿態(tài)估計作為人體行為識別的重要組成部分,近年來逐漸成為計算機視覺領(lǐng)域的一個重要的研究熱點。由于人體結(jié)構(gòu)和姿態(tài)的復(fù)雜性以及視覺理論的局限性,最初人體姿態(tài)估計算法僅從圖像或者視頻當(dāng)中預(yù)測人體二維骨架節(jié)點的坐標(biāo)位置。2015年馬普所提出了由姿態(tài)與體型參數(shù)驅(qū)動的蒙皮多人線性模型,由于該模型具有出色的建模效果與快速的計算效率,許多團(tuán)隊提出了利用該模型進(jìn)行人體姿態(tài)估計的方法。目前基于人體形變模型的姿態(tài)估計方法可以根據(jù)兩個標(biāo)準(zhǔn)進(jìn)行分類:一類是基于優(yōu)化的方法,另一類是基于回歸的方法。而最終發(fā)展到現(xiàn)在三維人體姿態(tài)估計也隨之發(fā)展越來越成熟。
今天我們就將使用Python Unity3d實現(xiàn)一個基于ThreeDPoseUnityBarracuda(Digital- Standard Co., Ltd.)的3D虛擬現(xiàn)實交互游戲。這里通過Unity3d結(jié)合python三維姿態(tài)估計模型,實時獲取人體三維坐標(biāo),然后將坐標(biāo)與人體模型骨骼綁定從而達(dá)到控制3D角色的目的。在這步基礎(chǔ)上加入3D模型,設(shè)置基本的觸碰邏輯即可達(dá)成我們設(shè)置的簡單游戲的目的。這里使用到的模型可以通過3Dmax和Blender進(jìn)行繪制,最終的演示效果如下:
三維姿態(tài)控制介紹在三維姿態(tài)估計的基礎(chǔ)上,使用unity對實時獲取的三維骨骼坐標(biāo)和角色骨骼綁定,控制角色動畫,達(dá)到交互的效果。
1.1 三維姿態(tài)估計介紹
人體姿態(tài)估計的主要任務(wù)是預(yù)測出人體關(guān)節(jié)點的三維坐標(biāo)位置和角度等信息。由于人體姿態(tài)標(biāo)記數(shù)據(jù)集的缺乏,使得大多數(shù)研究方法都基于2D人體姿態(tài)估計方法之上,因此2D人體姿態(tài)估計研究的發(fā)展也為3D人體姿態(tài)估計奠定了基礎(chǔ),使得3D人體姿態(tài)估計研究有著巨大的潛力。
在實際應(yīng)用中,由于3D姿態(tài)估計在2D姿態(tài)估計的基礎(chǔ)上加入了深度信息,其對于人體姿態(tài)的表述比2D更為精準(zhǔn),因此其應(yīng)用范圍和研究價值都要高于2D人體姿態(tài)估計,但是3D姿態(tài)估計的難度也更高,存在著遮擋,單視角2D到3D的映射中固有的深度模糊性、不適定性,缺少大型的室外數(shù)據(jù)集等挑戰(zhàn)。
在目前的研究中,三維人體姿態(tài)估計方法可以劃分為傳統(tǒng)方法和深度學(xué)習(xí)方法兩類。在深度學(xué)習(xí)方法得到廣泛應(yīng)用之前,3D人體姿態(tài)標(biāo)注數(shù)據(jù)集和具有高運算能力的GPU還沒有普及,研究人員主要通過一些應(yīng)用在傳統(tǒng)計算機視覺或機器學(xué)習(xí)領(lǐng)域的方法來進(jìn)行3D人體姿態(tài)的估計。傳統(tǒng)三維人體姿態(tài)估計和基于深度學(xué)習(xí)的姿態(tài)估計之間最明顯的特征在于是否使用了多層神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法,因為建模方式不同,在估計精確性、計算復(fù)雜度等方面也有著較大的差別。其中建模是三維人體姿態(tài)估計一個很重要的方面,目的是表示從輸入數(shù)據(jù)中提取的關(guān)鍵點和特征。在解決實際問題時由于實驗個體所處環(huán)境的復(fù)雜性,很大程度上增加了模型的建立難度,因此選取適當(dāng)且有效的圖像特征來簡化模型建立過程十分重要。傳統(tǒng)方法很多是采用基于人體模型的方法來描述和推斷人體姿態(tài),通過算法提取圖像姿態(tài)特征,因此對特征表示和關(guān)鍵點的空間位置關(guān)系這兩個維度有比較高的要求,除去邊界、顏色這類低層次特征,典型的有尺度不變特征變換、梯度直方圖等表達(dá)能力更強、可有效壓縮特征空間維度的高層次特征,它們雖然在時間效率方面具有優(yōu)勢,但依然是由人工設(shè)計的傳統(tǒng)特征,存在著較大的不足。
1.2 ThreeDPoseUnityBarracuda介紹
ThreeDPoseUnityBarracuda通過讀取Barracuda的onnx三維姿態(tài)估計模型,可以在Unity上做三維姿態(tài)估計。
程序設(shè)計這里三維姿態(tài)估計使用Resnet34_3inputs_448x448_20200609.onnx模型,unity3D是對onnx模型的調(diào)用,同時搭建三維場景和設(shè)計邏輯規(guī)則。
2.1 三維姿態(tài)估計模型解析
這里需要使用的三維姿態(tài)估計在之前文章“3DPose實現(xiàn)三維人體姿態(tài)識別”有所介紹,不進(jìn)行太多描述。
通過使用onnxruntime讀取“Resnet34_3inputs_448x448_20200609.onnx”模型文件,實時對需要識別的圖片數(shù)據(jù),獲取每一張圖片的offset圖和heatmap圖。通過找到第j個關(guān)節(jié)的28個特征圖,并找到最大值的索引來獲取個點坐標(biāo)。并把坐標(biāo)按照一定比例縮放。使得圖像變形較為符合人體規(guī)律。
for j in range(0, 24): # 找到第j個關(guān)節(jié)的28個特征圖,并找到最大值的索引 joint_heat = heatMap3D[j * 28:(j 1) * 28, ...] if np.max(joint_heat)>0.1: print(np.max(joint_heat)) [x, y, z] = np.where(joint_heat == np.max(joint_heat)) x = int(x[-1]) y = int(y[-1]) z = int(z[-1]) # 通過heatmap的索引找到對應(yīng)的offset圖,并計算3D坐標(biāo)的xyz值 pos_x = offset3D[j * 28 x, y, z] x pos_y = offset3D[24 * 28 j * 28 x, y, z] y pos_z = offset3D[24 * 28 * 2 j * 28 x, y, z] z kps[j, 0] = pos_x kps[j, 1] = pos_y kps[j, 2] = pos_z else: try: kps[j, 0] = kps[j-1, 0] kps[j, 0] = kps[j-1, 0] kps[j, 2] = kps[j-1, 2] except: passparent = np.array([15, 1, 2, 3, 3, 15, 6, 7, 8, 8, 12, 15, 14, 15, 24, 24, 16, 17, 18, 24, 20, 21, 22, 0]) - 1; for i in range(len(kps)): if (parent[i] != -1): ax.plot3D(kps[[i, parent[i]], 0], -kps[[i, parent[i]], 1], -kps[[i, parent[i]], 2], 'gray')
2.2 unity3D程序設(shè)計
Unity3D這里主要使用到了三維場景搭建和CS腳本制定邏輯,這里場景搭建,在搭建好模型后手動規(guī)劃即可。主要介紹程序部分。
1、讀取模型,按照下圖配置即可:
2、隨機從天空掉落物體CS腳本:
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Randomoccurs : MonoBehaviour{ //隨機產(chǎn)生的物體 private static GameObject sphere; private static GameObject cube; private static GameObject cylinder; private static GameObject capsule; public GameObject[] gameobject = { sphere, cube, cylinder, capsule}; //想要產(chǎn)生幾波 public int waves; //每波產(chǎn)生的數(shù)量 public int values; //產(chǎn)生之后延遲時間 public float spawnwait ; // Use this for initialization void Start() { StartCoroutine(test01()); } void Update() { } // Update is called once per frame IEnumerator test01() { for (int j = 0; j < waves; j ) { for (int i = 0; i < values; i ) { Instantiate(gameobject[Random.Range(0, 4)], transform.position, transform.rotation); } yield return new WaitForSeconds(spawnwait); } }}3、制定觸碰規(guī)則,碰到門,門對應(yīng)ID設(shè)置為銷毀,碰到掉落物體,分?jǐn)?shù)加分:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class hit_obj : MonoBehaviour{ // Start is called before the first frame update static public int score = 0; void Start() { } // Update is called once per frame void Update() { } // 碰撞開始 void OnTriggerEnter(Collider collider) { var tag = collider.tag; if (collider.tag == "body_center") { score = 1; GameObject.Destroy(gameObject); //GameObject.Destroy(gameObject, 2.0f);//摧毀自身 } Debug.Log(score); GameObject.Find("Canvas/Score").GetComponent().text = "得分:" score.ToString(); if (collider.tag == "ground") { //Debug.Log("銷毀" gameObject.tag); GameObject.Destroy(gameObject); } } // 碰撞結(jié)束 void OnTriggerStay(Collider collider) { } // 碰撞持續(xù)中 void OnTriggerExit(Collider collider) { }}
完整代碼:
鏈接:
https://pan.baidu.com/s/1hZ5f-4Vv12rpJXK5XL_t5A
提取碼:7q6o
李秋鍵,CSDN博客專家,CSDN達(dá)人課作者。碩士在讀于中國礦業(yè)大學(xué),開發(fā)有taptap競賽獲獎等。
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
元宇宙的概念,最早來自于科幻作家史蒂文森1992年創(chuàng)作的科幻小說《雪崩》,意指在共享的線上世界中,使用者能夠互動,甚至在虛擬世界中生活、工作。故事中創(chuàng)造了一個平行于現(xiàn)實世界的網(wǎng)絡(luò)世界,在現(xiàn)實世界中地理位置彼此隔離的人們通...
關(guān)鍵字:
元宇宙
虛擬現(xiàn)實
摘要:信息化時代的到來,使制造型企業(yè)面臨著轉(zhuǎn)型升級。在汽輪機行業(yè),企業(yè)向數(shù)字化進(jìn)化的同時,需要將先進(jìn)的信息技術(shù)融入生產(chǎn)制造中,通過虛擬現(xiàn)實技術(shù)的應(yīng)用探索,為汽輪機制造企業(yè)提供信息化創(chuàng)新思維。鑒于此,從營銷、設(shè)計、制造、服...
關(guān)鍵字:
虛擬現(xiàn)實
制造業(yè)
應(yīng)用
中國虛擬現(xiàn)實(VR)產(chǎn)業(yè)鏈中主要包含硬件、軟件、內(nèi)容制作與分發(fā),以及下游應(yīng)用與服務(wù)四大板塊。其中硬件包含核心器件、終端和配套外設(shè),軟件包含支撐軟件和軟件開發(fā)工具包,內(nèi)容制作與分發(fā)包括內(nèi)容制作和分發(fā)兩大部分,下游應(yīng)用與服務(wù)...
關(guān)鍵字:
虛擬現(xiàn)實
產(chǎn)業(yè)鏈
(全球TMT2022年9月2日訊)休閑虛擬現(xiàn)實(VR)游戲企業(yè)ForeVR Games宣布推出其第三款游戲ForeVR Cornhole。Cornhole現(xiàn)在加入了包括ForeVR Bowl和ForeVR Darts的...
關(guān)鍵字:
FOR
VR
EV
虛擬現(xiàn)實
8月23日,南昌市人民政府、江西省工業(yè)和信息化廳、江西省科學(xué)技術(shù)協(xié)會、虛擬現(xiàn)實產(chǎn)業(yè)聯(lián)盟聯(lián)合舉辦的2022虛擬現(xiàn)實產(chǎn)業(yè)創(chuàng)新大賽正式啟動報名據(jù)悉,大賽將致力于推動虛擬現(xiàn)實及相關(guān)技術(shù)攻關(guān)、標(biāo)準(zhǔn)制定、人才對接、應(yīng)用推廣、投資促進(jìn)...
關(guān)鍵字:
虛擬現(xiàn)實
5G網(wǎng)絡(luò)
人工智能
(全球TMT2022年6月29日訊)2022年6月24日,由重慶市職業(yè)教育學(xué)會主辦的"重慶市職業(yè)教育學(xué)會傳媒藝術(shù)專業(yè)委員會教育年會暨‘中視典杯'重慶市第五屆職業(yè)院校傳媒藝術(shù)作品大賽"在重慶市巴南區(qū)文化藝術(shù)中心舉行。作為...
關(guān)鍵字:
大賽
VR
虛擬現(xiàn)實
高精度
香港2022年5月30日 /美通社/ -- 5月23日,恒生指數(shù)公司針對近期的新興趨勢,推出中國元宇宙指數(shù),以追蹤業(yè)務(wù)與元宇宙發(fā)展相關(guān)的滬深港上市公司表現(xiàn),幫助投資者捕捉內(nèi)地和香港股市可能涌現(xiàn)的具有創(chuàng)新和變革主題的投資機...
關(guān)鍵字:
數(shù)字化
互聯(lián)網(wǎng)
虛擬現(xiàn)實
微信
(全球TMT2022年5月20日訊)TAICCA(臺灣文化內(nèi)容策進(jìn)院)現(xiàn)在征集將創(chuàng)意內(nèi)容置于核心,并能借助科技帶來沉浸式內(nèi)容敘事的項目,而這些項目要由臺灣和國際團(tuán)隊合資/合制。每個獲選項目最多將能獲得120,000美元...
關(guān)鍵字:
IC
AI
虛擬現(xiàn)實
VR
從內(nèi)容入手提升游戲視效,讓絲滑的游戲體驗成為標(biāo)配 上海2022年4月19日 /美通社/ -- 領(lǐng)先的視頻和顯示處理創(chuàng)新方案供應(yīng)商Pixelworks,Inc.(納斯達(dá)克股票代碼:PXLW)逐點半導(dǎo)體今日宣布...
關(guān)鍵字:
Pixelworks
半導(dǎo)體
ni
(全球TMT2022年4月19日訊)TopEdit(投必得)與Turnitin正式宣布成為官方合作伙伴關(guān)系。作為Turnitin防剽竊服務(wù)的官方授權(quán)合作伙伴,投必得將為中國科研工作者提供文章查重服務(wù)。投必得是為中國研究...
關(guān)鍵字:
ni
(全球TMT2022年4月19日訊)新思科技(Synopsys, Inc.)聯(lián)合Juniper Networks(簡稱“Juniper”)于近日宣布,雙方已完成交易成立一家獨立的新公司。該新公司將為業(yè)界提供開放式硅光子...
關(guān)鍵字:
ip
ni
新思科技
(全球TMT2022年4月20日訊)視頻和顯示處理創(chuàng)新方案供應(yīng)商Pixelworks,Inc.逐點半導(dǎo)體宣布其已正式成為Unity驗證解決方案合作伙伴。這意味著其專為提升手游視效所打造的Pixelworks Rende...
關(guān)鍵字:
Pixelworks
半導(dǎo)體
ni
TopEdit旨在為中國研究人員提供學(xué)術(shù)編輯和出版服務(wù),現(xiàn)已成為Turnitin防剽竊服務(wù)iThenticate中國區(qū)官方合作伙伴 上海2022年4月19日 /美通社/ -- 今天,TopEdit(投必得)與Turni...
關(guān)鍵字:
ni
共同投資的新公司將為業(yè)界提供首個“片上激光”開放式硅光子平臺,用于電信、數(shù)據(jù)通信、激光雷達(dá)、醫(yī)療保健、HPC、AI及光學(xué)計算領(lǐng)域。 加利福尼亞山景城2022年4月19日 /美通社/ -- 新思科技(Synopsys,...
關(guān)鍵字:
ip
ni
新思科技
徹底卸載不需要的應(yīng)用程序 都柏林2022年4月4日 /美通社/ -- EnigmaSoft Limited的SpyHunter for Mac(用于Mac的Spy...
關(guān)鍵字:
App
installer
ni
(全球TMT2022年4月5日訊)EnigmaSoft Limited的SpyHunter for Mac(用于Mac的SpyHunter)是一款防惡意軟件應(yīng)用,它包括一個免費的、易于使用的App Uninstalle...
關(guān)鍵字:
App
installer
ni
(全球TMT2022年3月28日訊)Super Micro Computer, Inc. (SMCI) 宣布將支持NVIDIA最新的軟件和硬件版本。Supermicro的NVIDIA認(rèn)證服務(wù)器和工作站經(jīng)過驗證...
關(guān)鍵字:
ni
ic
Enterprise
北京2022年3月24日 /美通社/ -- 3月22日,浪潮信息宣布元宇宙服務(wù)器MetaEngine全面支持NVIDIA Omniverse Enterprise,提供支撐大規(guī)模數(shù)字孿生場景的軟硬件一體化解決方案OVX,...
關(guān)鍵字:
英偉達(dá)
se
ni
IBM 成為 Celonis 在亞太地區(qū)的“優(yōu)選合作伙伴”,共同發(fā)掘 28 億美元的市場機遇
北...
關(guān)鍵字:
IBM
ni
幫助醫(yī)生快速獲取臨床問題解答和醫(yī)療信息
北京2022年3月16日 /美通社/ -- 全球領(lǐng)先的信息分析公司愛思唯爾近日宣布Clinicalke...
關(guān)鍵字:
ni
ic