三維人體姿態(tài)重建unity3d人物模型驅(qū)動_第1頁
三維人體姿態(tài)重建unity3d人物模型驅(qū)動_第2頁
三維人體姿態(tài)重建unity3d人物模型驅(qū)動_第3頁
三維人體姿態(tài)重建unity3d人物模型驅(qū)動_第4頁
三維人體姿態(tài)重建unity3d人物模型驅(qū)動_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

摘要[37]。圖2-6兩個3×3的卷積層串聯(lián)相當(dāng)于一個5×5的卷積層圖2-7VGGNet各級別網(wǎng)絡(luò)配置(其中conv<濾波器大小>-<通道數(shù)>)表2-4VGGNet各級別網(wǎng)絡(luò)的參數(shù)數(shù)量(單位:millions)卷積神經(jīng)網(wǎng)絡(luò)A,A-LRNBCDE參數(shù)數(shù)量1331331341381442.3四元數(shù)與旋轉(zhuǎn)在unity3d中人物模型以及物體都是Tranform組件,這個組件控制旋轉(zhuǎn)的變量為rotation,它的類型就是四元數(shù)。在本系統(tǒng)中,unity3d人物的運動的核心就是計算人物的各個關(guān)節(jié)骨骼相對于其父骨骼節(jié)點的旋轉(zhuǎn)四元數(shù)。unity3d模型人物的骨骼關(guān)系在上一節(jié)已有相關(guān)闡述。這一節(jié)主要介紹什么是四元數(shù),以及其旋轉(zhuǎn)。2.3.1四元數(shù)的定義和性質(zhì)四元數(shù)和復(fù)數(shù)的定義類似,都是分為實部和虛部,對于所有的四元數(shù)(H代表四元數(shù)的發(fā)現(xiàn)者WilliamRowanHamilton)都可以用以下方式來表示:其中:也可以表示為一個實數(shù)和向量的組合的形式,即:四元數(shù)的運算性質(zhì)有:四元數(shù)乘法:四元數(shù)的乘法不遵守交換律的,也就是說一般情況下有左乘和右乘的區(qū)別。除了交換律之外,結(jié)合律和分配律在四元數(shù)內(nèi)都是成立的。四元數(shù)乘法公式如下:共軛四元數(shù)四元數(shù)的平方模四元數(shù)的逆因為四元數(shù)是不遵守交換律,所以兩個四元數(shù)相除不會寫為的形式.而是將乘法的逆運算定義為或者注意它們的結(jié)果一般是不同的.其中是的逆(Inverse),我們規(guī)定:其中有,所以經(jīng)過計算推理可以得到四元數(shù)的逆如下:2.3.2四元數(shù)表示旋轉(zhuǎn)三維空間中的剛體旋轉(zhuǎn)可以這樣來描述:剛體上的任意一個點圍繞過原點的軸旋轉(zhuǎn),求旋轉(zhuǎn)后的點。四元數(shù)可用來刻畫三維空間中的旋轉(zhuǎn),如下四元數(shù)q數(shù)學(xué)描述為:則這個四元數(shù)代表繞單位向量(x,y,z)表示的軸旋轉(zhuǎn)θ,那么剛體坐標(biāo)內(nèi)一點寫成四元數(shù)的形式為,p繞坐標(biāo)軸(x,y,z)旋轉(zhuǎn)θ后的坐標(biāo)為:進(jìn)行類似與復(fù)合矩陣的左乘新四元數(shù),再進(jìn)行運算就可以得到復(fù)合旋轉(zhuǎn)。第三章系統(tǒng)各部分實現(xiàn)3.1系統(tǒng)總體框架圖3-1系統(tǒng)總體框架圖框架圖3-1給出的是單幀圖片的處理過程,本系統(tǒng)處理的是視頻,為了輸出的三維姿態(tài)動作的連續(xù)與連貫性,對相鄰的幀進(jìn)行了平滑處理。輸入的視頻我們利用opencv進(jìn)行處理,將其轉(zhuǎn)化為關(guān)鍵幀。之后的過程就如圖3-1所示??傮w分為兩大部分,分為服務(wù)器端和客戶端。服務(wù)器端是用C++部署的人體三維姿態(tài)恢復(fù)估計過程,得到估計的三維關(guān)節(jié)點數(shù)據(jù),用DUP協(xié)議進(jìn)行數(shù)據(jù)的傳輸?shù)娇蛻舳耍瑄nity3d引擎為客戶端,接收到三維關(guān)節(jié)點坐標(biāo)(目標(biāo)姿態(tài))后,根據(jù)驅(qū)動人物做目標(biāo)動作的算法來計算各個關(guān)節(jié)點相對于自己的父節(jié)點的旋轉(zhuǎn)四元數(shù),做出目標(biāo)動作。在服務(wù)器端,輸入圖片由二維姿態(tài)估計算法計算出二維關(guān)節(jié)點,再由一個簡單的回歸網(wǎng)絡(luò)估計出三維關(guān)節(jié)點坐標(biāo)。下面將著重介紹二維關(guān)節(jié)點算法(本文3.2節(jié))和三維關(guān)節(jié)點算法(本文3.3節(jié))以及unity3d中驅(qū)動人物做目標(biāo)動作的算法(本文3.4節(jié))。3.2基于部分親和字段的二維人體姿態(tài)重建基于部分親和字段的二維人體姿態(tài)重建[44]是一種自下而上的二維姿態(tài)估計算法,它是用來實時識別多人人體姿態(tài)的算法之一。自上而下的算法主要由persondetector和single-personposeestimation兩部分組成,這些方法在性能上很依賴于這兩個部分,如果persondetector檢測失敗了(當(dāng)多個人挨得很近的時候),這些方法就具有非常大的局限性。而當(dāng)需要計算的人物變多,計算也會隨之變慢,實時性不好?;诓糠钟H和字段的二維人體姿態(tài)重建算法加入了部分親和字段,部分親和字段是對圖像中肢體位置和方向進(jìn)行編碼的一組二維矢量字段。這些字段和關(guān)節(jié)的置信圖一起經(jīng)過CNN進(jìn)行聯(lián)合學(xué)習(xí)和預(yù)測。3.2.1二維關(guān)節(jié)預(yù)測總體框架圖3-2二維關(guān)節(jié)點預(yù)測框架圖圖3-2是基于部分親和字段的二維人體姿態(tài)重建的整個流程示意圖。整個模型架構(gòu)是自底向上的,先識別出關(guān)鍵點和關(guān)節(jié)域,然后通過算法組合成個體的姿勢圖。整個模型一共包括兩個CNN網(wǎng)絡(luò)。這兩個CNN網(wǎng)絡(luò)的目標(biāo)是求所有關(guān)節(jié)點和關(guān)節(jié)點的親和字段(關(guān)聯(lián)區(qū)域),然后根據(jù)關(guān)鍵點和關(guān)聯(lián)區(qū)域進(jìn)行矢量連接。(1)求所有關(guān)節(jié)點(具體關(guān)節(jié)點可以參考圖2-1)第一個CNN將原圖所為輸入,輸出熱圖(每一個熱圖包含一種特定關(guān)鍵點,關(guān)鍵點的集合記為C)。第二個CNN將第一個CNN的輸出(熱圖)和原圖作為輸入,輸出置信圖循環(huán)直到收斂。如圖3-2(b)所示。(2)求所有親和字段(關(guān)聯(lián)區(qū)域具體可參考表2-2)第一個CNN將原圖作為輸入,輸出是熱圖(每一個熱圖包含某一種特定的連接區(qū)域,親和字段集合記為L)。第二個CNN將第一個CNN的輸出(熱圖)和原圖作為輸入,輸出置信圖循環(huán)直至收斂。示意圖如上圖(c)所示。(3)根據(jù)關(guān)節(jié)點和關(guān)聯(lián)區(qū)域進(jìn)行矢量連接由上述兩步得到的關(guān)鍵點和關(guān)聯(lián)區(qū)域,而后需要依據(jù)關(guān)聯(lián)區(qū)域?qū)㈥P(guān)鍵點連接以組成人體真正的骨骼結(jié)構(gòu)。在這一步使用一個最小限度的邊數(shù)量來獲得個體姿勢的生成樹圖(用了二分圖+匈牙利算法等),在保證不錯的準(zhǔn)確度的同時,大大減少了復(fù)雜度,提高了實時性。3.2.2網(wǎng)絡(luò)框架圖3-3二維關(guān)節(jié)預(yù)測網(wǎng)絡(luò)框架3-3圖中淺橘色矩形C代表卷積層。最左端的矩形F代表輸入的原圖經(jīng)過VGG-19(前12層初始化并進(jìn)行微調(diào))的特征圖(featuremaps),VGG19在2-2節(jié)進(jìn)行了詳細(xì)的介紹。這個結(jié)構(gòu)主要是基于Wei[9]提出的卷積姿態(tài)機(ConvolutionalPoseMachines,CPM)中的網(wǎng)絡(luò)架構(gòu),進(jìn)行連續(xù)階段性的預(yù)測,并在每個階段中加入中間監(jiān)督,以避免梯度消失問題。特征圖經(jīng)過上下分支,分支1是用來預(yù)測置信圖;分支2是用來預(yù)測親和字段;每個分支有t,個階段(表示越來越精細(xì))在第一階段,網(wǎng)絡(luò)輸出一組關(guān)鍵點預(yù)測置信圖和一組部分親和字段,其中和是第一階段的卷積神經(jīng)網(wǎng)絡(luò)。在后續(xù)的每一個階段,來自前一個階段的兩個分支的輸出以及原始特征圖F連接在一起用于該階段的輸入,以產(chǎn)生精確的預(yù)測。如公式(3-1)和公式(3-2)所示:(3-1)(3-2)其中和是第t階段中用于處理的卷積神經(jīng)網(wǎng)絡(luò)。通過2個不同損失函數(shù)引導(dǎo)2個不同分支做不同預(yù)測任務(wù),Loss函數(shù)定義為預(yù)測結(jié)果與真值之間的函數(shù),并且通過加權(quán)的方法來解決某些數(shù)據(jù)集并沒有完全標(biāo)記所有身體部位的問題。在第t階段的兩個Loss函數(shù)具體定義如下:(3-3)(3-4)其中是關(guān)鍵點的正確置信圖,是正確的親和向量字段,是一個二值函數(shù),圖像在位置缺少標(biāo)記時,因為當(dāng)某些關(guān)鍵點被遮擋時,手工標(biāo)記可能就不會標(biāo)記此關(guān)鍵點,而訓(xùn)練之后的算法會根據(jù)其他關(guān)鍵點和連接信息計算出該關(guān)鍵點。所以不用W函數(shù)會使Loss變的非常大,從未導(dǎo)致預(yù)測結(jié)果不準(zhǔn)確,所以該函數(shù)主要是為了避免過擬合。每個階段的中間監(jiān)督通過定期補充梯度的方法來解決梯度消失的問題??偟腖oss函數(shù)定義如下:(3-5)3.2.3特征圖提取如圖圖2-3為本文的VGG-19網(wǎng)絡(luò)。本文只取VGGNet-19的前12層,且先訓(xùn)練級別A的簡單網(wǎng)絡(luò)(只取前6層),再復(fù)用級別A的簡單網(wǎng)絡(luò)的權(quán)重來初始化VGGNet-19。網(wǎng)絡(luò)如圖3-4所示。圖3-4:本文所用VGG網(wǎng)絡(luò)結(jié)構(gòu)本文提取特征圖所用的基礎(chǔ)網(wǎng)絡(luò)相關(guān)的輸入輸出維度如下:64,64,最后一層網(wǎng)絡(luò)的輸出維度為128,即初始特征圖的維度。3.2.4檢測置信圖置信圖由真實值(groundtruth)的關(guān)鍵點生成,每一個置信圖都是對特定關(guān)鍵點的2D表示(如果圖像中有j個對應(yīng)關(guān)鍵點可見,則應(yīng)該有j個峰值)。置信圖可以理解為圖像該點屬于對應(yīng)關(guān)鍵點的概率。首先對于每個人k生成獨立的置信圖,令為圖像中第k個人的第j個關(guān)鍵點的正確位置,那么中的每一個位置的值定義如下:(3-6)控制峰值的區(qū)域。那么總的置信圖(多個個體)為:(3-7)3.2.5部分親和字段(PAFs)當(dāng)檢測出了身體的關(guān)鍵點(如圖3-6a),還需要組合這些關(guān)鍵點,同一個人的關(guān)鍵點組合在一起,一種可行的置信度度量方法是檢測每個關(guān)鍵點的中心,計算其與組合方式之間的匹配率,這種方法在人物考的很近的情況下會失效(如圖3-5b)。使用部分親和字段通過肢體支撐的區(qū)域編碼位置和方向能夠消除錯誤的連接(如圖3-5c)。圖3-5不同部分親和的方法。(a)身體關(guān)鍵點(紅色點與藍(lán)色點)和所有組合方式(灰色線);(b)肢體中點表示結(jié)果(黃點),正確結(jié)果(黑色線)與錯誤結(jié)果(綠色線)連接;(c)使用部分親和字段PAFs(黃色箭頭)的表示結(jié)果基于部分親和字段的2D人體姿態(tài)重建提出了一種新的特征表達(dá)方式,這種表達(dá)方式記錄了肢體的支撐區(qū)域的位置信息和方向信息(如圖3-5c),其稱為部分親和字段(PartAffinityFields,PAFs)。令xj1,k和xj2,k為圖像中第k個人的肢體c上的兩個正確的身體部位點j1和j2。如果點圖3-6右小臂的PAFs示例定義Lc,k*為正確的部分親和字段,對于圖像中的任意一個點p, Lc,k*其中,對應(yīng)的單位向量由下式得到:(3-9)通過(3-10)定義肢體上的點。(3-10)其中肢體寬度σl是像素級別上的距離,肢體長度,并且是垂直于v的單位向量。 一張圖像中肢體c的PAFs通過以下式子計算: (3-11)根據(jù)預(yù)測出來的PAFs沿著候選區(qū)域計算兩個關(guān)鍵點之間的線積分。對于兩個候選部位j1和j2,它們的位置為dj1和dj2, E=u=0u其中pu為兩個候選部位位置dj1(3-13)實際上,我們通過抽樣和求和等間距的u的值來近似積分。3.2.6使用PAFs進(jìn)行多人解析圖3-7圖匹配。(a)人體關(guān)鍵點;(b)K-分圖;(c)樹結(jié)構(gòu);(d)二分圖的集合如果圖像中有多個個體,那么識別出來的多個關(guān)鍵點需要劃分為多個個體,算法的目標(biāo)是找到所有最佳的關(guān)聯(lián),所有的可能連接集合如下所示:布爾變量zj1j2mn∈0,1用來表示兩個身體部位的候選位置dj1m和dj2n是否相連接,模型得到的所有候選關(guān)鍵點構(gòu)成集合現(xiàn)在單獨考慮第個軀干如和,這兩個關(guān)鍵點對應(yīng)的候選集合分別是和,我們的優(yōu)化目標(biāo)如下所示: (3-14) (3-15) (3-16)其中表示軀干對應(yīng)的權(quán)值總和,是軀干對應(yīng)的,是關(guān)鍵點和對應(yīng)的部分親和度,公式(3-15)和(3-16)限制了任意兩個相同類型的軀干不會共享關(guān)鍵點。本文可以利用匈牙利算法[50]和KM算法來獲得最佳匹配。基于部分親和字段的二維人體姿態(tài)重建中專門針對人體姿態(tài)重建增加了兩項近似。首先,本文只考慮相鄰關(guān)鍵點的連接,如圖3-7c所示;其次,本文將匹配問題分解為一組二分圖匹配的子問題,然后再獨立地求解相鄰樹節(jié)點之間的匹配,如圖3-7d所示。加入這兩個近似之后,將問題擴展到所有C個軀干上優(yōu)化目標(biāo)變?yōu)楣剑?-17):(3-17)3.3由二維關(guān)節(jié)點恢復(fù)三維關(guān)節(jié)點坐標(biāo)這一部分非常簡單,但是也非常的有用。主要就是構(gòu)造一個網(wǎng)絡(luò),實現(xiàn)二維人體關(guān)鍵點到三維關(guān)鍵點的映射。實際上,二維關(guān)鍵點到三維關(guān)鍵點的映射,就是一個回歸過程,而現(xiàn)在使用神經(jīng)網(wǎng)絡(luò)構(gòu)造回歸器是非常容易的,所以這部分就是使用一個神經(jīng)網(wǎng)絡(luò),實現(xiàn)回歸過程。所以這部分主要是輸入一系列二維的點,輸出三維空間的一系列坐標(biāo)點所以我們希望訓(xùn)練出一個函數(shù)以使得在N個姿態(tài)中有最小的預(yù)測錯誤率:(3-18)在實際中,可以是二維的真實值(groundtruth)關(guān)節(jié)坐標(biāo),也可以是根據(jù)圖像中估計的二維關(guān)節(jié)點坐標(biāo),在本系統(tǒng)中是由上一步估計的二維數(shù)據(jù)。在這一步的目標(biāo)就是設(shè)計一個簡單,可擴展,高效率的回歸網(wǎng)絡(luò)來實現(xiàn)的任務(wù)。3.3.1三維坐標(biāo)估計網(wǎng)絡(luò)架構(gòu)圖3-8網(wǎng)絡(luò)架構(gòu)圖3-8為網(wǎng)絡(luò)的主要架構(gòu)。本節(jié)方法就是基于一個簡單的、深度的、多層的神經(jīng)網(wǎng)絡(luò)。網(wǎng)絡(luò)輸入一個32維的向量,經(jīng)過一個全連接層,轉(zhuǎn)化為1024維,再經(jīng)過一個標(biāo)準(zhǔn)化,RELU,再經(jīng)過兩個圖示的殘差層,最后經(jīng)過一個線性全連接層將輸出轉(zhuǎn)化為48維。所以整個網(wǎng)絡(luò)一共有6個線性層。下面是幾個需要特別說明的點。(1)二維/三維坐標(biāo)其他算法有使用二維原圖像作為輸入的,有些是以二維概率分布作為輸入的,有些是以三維概率作為輸出的,還有照相機參數(shù)估計作為輸出的,與上述不同本文使用二維/三維姿態(tài)坐標(biāo)分別作為輸入與輸出,缺點在于二維所攜帶的信息較少,優(yōu)點在于這樣的低維數(shù)據(jù)可以讓我們把Human3.6M整個數(shù)據(jù)集都儲存在GPU中以供訓(xùn)練,大大地減少訓(xùn)練時長,并且可以很方便的訓(xùn)練超參數(shù)。(2)線性-RELU層

由于卷積神經(jīng)網(wǎng)絡(luò)具有平移不變性,所以絕大多數(shù)估計2D或者3D姿態(tài)算法都是基于卷積神經(jīng)網(wǎng)絡(luò),而我們是以2D關(guān)節(jié)點作為輸入,不需要平移不變性,所以可以使用節(jié)省成本的線性層,RELU[51]是在深度神經(jīng)網(wǎng)絡(luò)中添加非線性的標(biāo)準(zhǔn)選擇。(3)批處理正則化和丟棄(dropout)當(dāng)輸入的2D數(shù)據(jù)為估計的或者有噪聲觀測數(shù)據(jù),批處理正則化和dropout使網(wǎng)絡(luò)的性能得到提升,代價是訓(xùn)練時長稍稍增加。(4)殘差連接殘差連接是一種促進(jìn)深度卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練的技術(shù),還可以提高泛化性能、降低訓(xùn)練時間。最大范數(shù)約束本文對每一層的權(quán)值進(jìn)行了約束,使其最大范數(shù)小于或等于1。結(jié)合批處理正則化,當(dāng)訓(xùn)練和測試實例的分布不同時,這可以使訓(xùn)練穩(wěn)定并提升泛化效果。3.3.2數(shù)據(jù)處理本文對二維輸入和三維輸出使用標(biāo)準(zhǔn)的正則化,即減去中值除以標(biāo)準(zhǔn)差。由于無法預(yù)測三維預(yù)測的全局位置,所以以髖關(guān)節(jié)(hip)周圍為零點。(符合之前的工作和Human3.6M標(biāo)準(zhǔn)協(xié)議)。由于任意坐標(biāo)空間的平移或旋轉(zhuǎn)都不會導(dǎo)致輸入數(shù)據(jù)的變化,所以期望算法能算出任意坐標(biāo)空間中的三維關(guān)節(jié)位置是不現(xiàn)實的。而采用相機坐標(biāo)系,這可以使得不同攝像機之間的二維到三維問題相似,為每個攝像機提供更多的訓(xùn)練數(shù)據(jù),并防止對特定全局坐標(biāo)系的過度擬合。3.4驅(qū)動人物做目標(biāo)動作算法圖3-9驅(qū)動人物算法流程圖如3-9算法流程圖所描述,在unity腳本中,首先初始化,然后從設(shè)定的端口,接收由服務(wù)器端傳輸過來的數(shù)據(jù),如果有新數(shù)據(jù),就以接受到的坐標(biāo)生成方塊來可視化接收到的數(shù)據(jù),隨后計算旋轉(zhuǎn)四元數(shù),最后更新人物模型關(guān)節(jié)位置。本部分的核心在于怎么計算旋轉(zhuǎn)四元數(shù),unity3d人物骨骼的父節(jié)點對應(yīng)在2-1節(jié)已經(jīng)詳細(xì)的敘述過了,以hip為根節(jié)點。我們再這里計算的旋轉(zhuǎn)四元數(shù)為各個關(guān)節(jié)點相對于其父節(jié)點的旋轉(zhuǎn),先計算出unity3d模型人物骨骼的初始旋轉(zhuǎn)四元數(shù),然后根據(jù)接受的3D關(guān)節(jié)坐標(biāo),計算出目標(biāo)動作的旋轉(zhuǎn)四元數(shù),最后令關(guān)節(jié)骨骼的rotation等于目標(biāo)動作四元數(shù)的逆乘人物骨骼原始旋轉(zhuǎn)四元數(shù)。具體原理在2-3節(jié)已經(jīng)敘述的非常清楚。第四章實驗本文完成的工作主要是由輸入的RGB圖片,首先恢復(fù)估計出二維關(guān)鍵點,然后再恢復(fù)估計出三維關(guān)鍵點,然后根據(jù)網(wǎng)絡(luò)編程,由UDP網(wǎng)絡(luò)協(xié)議傳輸三維人體關(guān)節(jié)點坐標(biāo)到unity3d端,再由驅(qū)動人物做目標(biāo)動作的算法,驅(qū)動unity3d人物模型運動。由三維坐標(biāo)到人物模型運動,這一步的結(jié)果好壞其實很難評估,所以我在unity3d中用方塊位置表示估計的三維坐標(biāo),方便觀察重建效果。從RGB圖片中恢復(fù)估計三維坐標(biāo)的效果本文從定性肉眼觀察和定量計算誤差這兩方面來進(jìn)行實驗。定量評估實驗在數(shù)據(jù)集Human3.6M中進(jìn)行,本文訓(xùn)練使用數(shù)據(jù)集S1,S5,S6,S7,S8測試計算誤差在S9,S11中進(jìn)行。4.1三維關(guān)節(jié)點估計實驗4.1.1定性實驗本文在圖4-1中展示了Human3.6M的一些定性結(jié)果,在圖4-2顯示了MPII數(shù)據(jù)集的定性結(jié)果,區(qū)別于Human3.6M為室內(nèi)采集的數(shù)據(jù)集,MPII數(shù)據(jù)集是室外數(shù)據(jù)圖像。MPII數(shù)據(jù)的測試結(jié)果也揭露了本文方法的局限性。比如如果2D關(guān)節(jié)估計恢復(fù)失敗或者效果不好,則3D關(guān)節(jié)點估計也會失敗。并且我們的系統(tǒng)也很難處理對于與Huamn3.6M中任何的示例都不相似的姿勢如人體倒置。在室外中,會有很多沒有人的全身的圖像,這樣的圖像目前系統(tǒng)無法處理。圖4-1Human3.6M數(shù)據(jù)集定性結(jié)果在圖4-1中,左邊的方框內(nèi)的圖片為二維關(guān)鍵點的估計結(jié)果,中間圖片為真實三維關(guān)鍵點(groundtruth)結(jié)果。右邊的圖片是三維關(guān)鍵點的估計結(jié)果。圖4-2MPII數(shù)據(jù)集定性結(jié)果最左邊是使用基于部分親和字段的2D人體姿態(tài)重建算法估計的2D關(guān)鍵點,中間是2D關(guān)鍵點的圖,最右邊是估計的3D關(guān)鍵點。在最下邊是典型的將預(yù)測失敗的情況,左下是當(dāng)人顛倒的情況,3D關(guān)鍵點估計失敗。右下是由于關(guān)節(jié)重合,由于沒有關(guān)節(jié)相對深度信息,在將2D關(guān)鍵點恢復(fù)為3D關(guān)鍵點時,恢復(fù)錯誤失敗。4.1.2定量實驗(1)本文的實驗配置如下所示:表4-1實驗配置操作系統(tǒng)Ubuntu16.0464位CPUIntel?Core?i7-6700HQCPU@2.60GHZCPUfamily6GPUNVIDIAGeForceGTX1070TiGPUmemory8G編程語言Cplusplus深度學(xué)習(xí)框架Caffe(2)測評方法三維關(guān)節(jié)點估計的定量實驗是在Human3.6M數(shù)據(jù)集中測試的,關(guān)于這個數(shù)據(jù)庫在2.1.2節(jié)有詳細(xì)介紹。本文接下來的所有實驗都采用一個測評方法和指標(biāo),測評方法和指標(biāo)如下所述。評測采用的指標(biāo)是三維姿勢錯誤(3DPoseError)[43]。主要計算的是檢測的三維關(guān)鍵點和真實三維關(guān)鍵點對齊之后的平歐均式距離。其數(shù)學(xué)表示為:(4-1)其中,為真實的三維人體關(guān)鍵點(groundtruth),s表示檢測的三維人體關(guān)鍵點,M表示關(guān)鍵點數(shù)目,表示第i個關(guān)鍵點的三維位置。(3)Human3.6M上的性能對比本文在Human3.6M數(shù)據(jù)集上,比較了之前的工作,其中有采用傳統(tǒng)的三維關(guān)節(jié)點檢測方法的:LinKDE[29],Du等人[38]以及Sanzari[39]等人的方法,也有使用深度學(xué)習(xí)的三維人體關(guān)鍵點估計方法的包括Li等人[40],Zhou等人[34],Tekin等人[41]以及Zhou等人[21]的方法。本文中估計三維關(guān)節(jié)點具有非常高的效率,在進(jìn)行2D關(guān)節(jié)估計時,運行時間和圖片中的人物成正比,相對于CPM這樣的自上而下的方法,本文的自下而上的方法隨著人數(shù)的增加的運行時間增長的速度較慢。在單人的情況下處理一幀圖片大約需要50ms,而后的恢復(fù)估計三維關(guān)節(jié)的神經(jīng)網(wǎng)絡(luò)是一個非常簡單的網(wǎng)絡(luò),進(jìn)行一次前向傳播的時間大約為2ms,所以在單人的情況下,我們處理一幀圖像恢復(fù)出三維關(guān)鍵點的時間大概為52ms,滿足實時交互的能力。而對比當(dāng)前效果最好的Sanzari等人[39]的工作,他們處理一幀圖片需要的時間為960ms,他們的所需時間是我們的18倍多。表4-2在Human3.6M數(shù)據(jù)集上實驗結(jié)果對比,其他數(shù)據(jù)為發(fā)表的論文中的結(jié)果方法指路討論用餐問候致電擺姿勢夠買坐下LinKDE[6]132.71183.55132.37164.39162.12150.61171.31151.57Li等人[42]-136.8896.94124.74Tekin等人[41]102.39158.5287.95126.83118.37114.69107.61136.15Zhou[21]87.36109.3187.05103.16116.18106.8899.78124.52Zhou[34]91.83102.4196.9598.75113.3590.0493.84132.16Du等人[38]85.07112.68104.90122.05139.08105.93166.16117.49Sanzari等人[39]48.8256.3195.9884.7896.4766.30107.41116.89Ours60.5170.3265.570.3280.2365.470.71103.65方法坐著抽煙拍照等待走路遛狗結(jié)伴而行平均LinKDE[29]243.03162.14205.94170.69177.13177.13127.88162.14Li等人[42]--168.68-69.97132.17--Tekin等人[41]205.65118.21185.02146.6665.86128.1177.21125.28Zhou[21]199.23107.42143.32118.0979.39114.2397.70113.01Zhou[34]158.97106.91125.2294.4179.02126.0498.96107.26Du等人[38]226.94120.02135.91117.6599.26137.36106.54126.47Sanzari等人[39]129.6397.84105.5865.9492.58130.46102.2193.15Ours130.3276.6798.6773.8463.8785.3263.8983.964.2驅(qū)動模型運動實驗由于對于驅(qū)動unity3d人物模型運動這一塊,由于沒有可度量結(jié)果好壞的指標(biāo),所以本文只做了定性實驗。為了方便觀察對比,我們還是給出了目標(biāo)動作的原圖。在圖4-3中,左邊是目標(biāo)動作,右邊是驅(qū)動后的unity3d模型人物的動作。中間的方塊是估計出來的三維關(guān)節(jié)點坐標(biāo)的表示。圖4-3unity3d人物模型驅(qū)動的定性實驗從圖4-3可以看出,手上的動作是無法恢復(fù)的,還有腳的方向也無法如目標(biāo)動作一樣恢復(fù)出來,如在最下邊這一組實驗中,目標(biāo)人物的動作腳的方向是朝外的,但unity3d人物模型是內(nèi)八的方向,目標(biāo)人物的動作左手手掌是朝里,而unity3d人物模型的左手手掌朝外。其實這是因為我們傳輸?shù)闹挥?7個人體關(guān)節(jié)點的關(guān)節(jié)坐標(biāo),而對于人物運動,上述問題都是很細(xì)節(jié)的,若要正確處理則需要更多的信息,所以這也是本文的算法的局限性,我們可以大體上重建目標(biāo)人物的姿勢,但是細(xì)節(jié)動作則無法重建,所以解決這個問題的思路就是我們可以在恢復(fù)估計姿態(tài)時,估計更多的信息比如手部動作,腳的腳趾頭的位置等,有了更多的信息之后那么重建的動作也更加準(zhǔn)確。4.3完整流程測試為了驗證與驗證系統(tǒng)在實際場景下的可用性及效果,本文在這里使用自己采集的數(shù)據(jù)來進(jìn)行測試。整個實驗的流程與圖3-1所描述的相同。首先在自然環(huán)境下使iphone6splus拍攝一段關(guān)于肢體動作的視頻,其中人體姿態(tài)變化明顯,使用opencv將視頻轉(zhuǎn)化為圖片序列,這里選取了6張圖片,如圖4-3所示,為了方便敘述,本實驗以這7張為例進(jìn)行說明。圖4-4測試幀得到二維圖片后,我們進(jìn)行二維關(guān)鍵點估計,以得到圖片序列中人體的二維關(guān)鍵點,效果如圖4-5所示。圖4-5二維關(guān)鍵點得到二維關(guān)鍵點之后,我們使用三維坐標(biāo)回歸網(wǎng)絡(luò),以此來恢復(fù)出三維關(guān)鍵點。三維關(guān)鍵點如圖4-6所示圖4-6三維關(guān)節(jié)點得到三維關(guān)節(jié)點之后,我們將使用網(wǎng)絡(luò)編程,將UDP協(xié)議將三維坐標(biāo)數(shù)據(jù)傳輸?shù)絬nity3d端,然后使用驅(qū)動人物做目標(biāo)動作的算法,使unity3d人模模型運動。結(jié)果如圖4-7所示。圖4-7人物模型做目標(biāo)動作第五章總結(jié)與期望隨著科學(xué)技術(shù)的發(fā)展,尤其是近兩年數(shù)據(jù)驅(qū)動下深度學(xué)習(xí)的發(fā)展,人工智能已不再是僅僅存在于科幻電影中的想象。許許多多的機器輔助智能應(yīng)用都已經(jīng)落了地,人機交互等相關(guān)研究也成了熱門的領(lǐng)域。人體姿態(tài)重建是一種體感技術(shù),其具有特殊的科學(xué)背景、重要的學(xué)術(shù)意義和寬闊的應(yīng)用前景,所以一直都是計算機視覺領(lǐng)域最為活躍的研究方向之一,這個方向一直受到學(xué)者們的關(guān)注和工業(yè)界的支持,當(dāng)前它仍然是一個最為活躍的研究領(lǐng)域之一。而本文再直接將人體姿態(tài)估計結(jié)果應(yīng)用于unity3d中,這將在游戲開發(fā)等應(yīng)用領(lǐng)域產(chǎn)生重大價值。本文基于三維人體姿態(tài)估計,unity3d引擎和網(wǎng)絡(luò)編程,提出了完整的由人體三維動作驅(qū)動unity3d人物模型運動的解決方案,從輸入源RGB視頻流到驅(qū)動unity3d人物模型,并得到了較好的視覺效果,并且整個系統(tǒng)還是實時可交互的。本文通過輸入源自己采集數(shù)據(jù),進(jìn)行試驗分析,證明了我們設(shè)計的完整方案在實際場景下的可用性。然而,目前的解決方案還存在著許多缺陷和不足,主要有以下幾個方面:1、在第四章的4.1.1節(jié)我已經(jīng)分析了本系統(tǒng)的三維關(guān)節(jié)點恢復(fù)估計算法的局限性,當(dāng)2D關(guān)節(jié)點估計出現(xiàn)問題,那么三維關(guān)節(jié)點的估計必定出現(xiàn)問題。即當(dāng)圖片中的人時上顛倒?fàn)顟B(tài)時對關(guān)節(jié)點的判斷會出錯,還有當(dāng)在圖片中關(guān)節(jié)點存在重疊現(xiàn)象時。由于沒有其他的深度信息,比如哪一個關(guān)節(jié)點在前等,在恢復(fù)成三維坐標(biāo)時,也可能出現(xiàn)問題。2、在4.2節(jié)我們也分析過,在unity3d模型中,已知關(guān)節(jié)點坐標(biāo)時,驅(qū)動人物模型運動也會出現(xiàn)問題,因為就由關(guān)節(jié)點位置來確定人物模型的運動還是相對簡陋,因為人物模型關(guān)節(jié)還有相對旋轉(zhuǎn),在4.2節(jié)的測試中可知鞋子和手掌方向這些問題因為這個原因產(chǎn)生的。模型動作還是只能大體相似。3、該系統(tǒng)對驅(qū)動的unity3d模型也有要求,需要這個模型是有綁定骨骼的,骨骼滿足unity3d中的humaniod的拓?fù)浣Y(jié)構(gòu)。換言之,其實只要我們的目標(biāo)模型有humaniod的骨骼就能使用我們的系統(tǒng)來驅(qū)動其運動,所有就不局限于人物模型。4、我們的系統(tǒng)雖然考慮了幀與幀之間的光滑問題,但是只是簡單的在相鄰8幀之間做了一些平滑,最后還是存在抖動的問題。其實,考慮到視頻幀與幀之間的相關(guān)性,可以只提取關(guān)鍵幀做數(shù)據(jù)傳輸,中間的運動可以使用插值的方式來使模型人物平滑的運動。我將在后續(xù)的工作中針對上述問題進(jìn)行優(yōu)化改進(jìn),實現(xiàn)更加完善的使用三維姿態(tài)估計來驅(qū)動unity3d人物模型運動。參考文獻(xiàn)潘華偉.基于多視點的三維姿態(tài)運動重建與跟蹤[D].湖南大學(xué),2013.KadkhodamohammadiA,GangiA,deMathelinM,etal.AMulti-viewRGB-DApproachforHumanPoseEstimationinOperatingRooms[C].ApplicationsofComputerVision(WACV),2017IEEEWinterConferenceon.IEEE,2017:363-372.SchieleB,ThormahlenT,AndrilukaM,etal.Articulatedpeopledetectionandposeestimation:Reshapingthefuture[C].IEEEConferenceonComputerVisionandPatternRecognition.IEEEComputerSociety,2012:3178-3185.GkioxariG,HariharanB,GirshickR,etal.Usingk-PoseletsforDetectingPeopleandLocalizingTheirKeypoints[C].ComputerVisionandPatternRecognition.IEEE,2014:3582-3589.SunM,SavareseS.Articulatedpart-basedmodelforjointobjectdetectionandposeestimation[C].IEEEInternationalConferenceonComputerVision,ICCV2011,Barcelona,Spain,November.DBLP,2011:723-730.IqbalU,GallJ.Multi-personposeestimationwithlocaljoint-to-personassociations[C].EuropeanConferenceonComputerVision.Springer,Cham,2016:627-642.PapandreouG,ZhuT,KanazawaN,etal.Towardsaccuratemultipersonposeestimationinthewild[J].arXivpreprintarXiv:1701.01779,2017,8.NewellA,YangK,DengJ.Stackedhourglassnetworksforhumanposeestimation[C].EuropeanConferenceonComputerVision.Springer,Cham,2016:483-499.WeiSE,RamakrishnaV,KanadeT,etal.Convolutionalposemachines[C].ProceedingsoftheIEEEConferenceonComputerVisionandPatternRecognition.2016:4724-4732.OuyangW,ChuX,WangX.Multi-sourceDeepLearningforHumanPoseEstimation[C].IEEEConferenceonComputerVisionandPatternRecognition.IEEEComputerSociety,2014:2337-2344.TompsonJ,GoroshinR,JainA,etal.Efficientobjectlocalizationusingconvolutionalnetworks[C].ProceedingsoftheIEEEConferenceonComputerVisionandPatternRecognition.2015:648-656.TompsonJ,JainA,LecunY,etal.JointTrainingofaConvolutionalNetworkandaGraphicalModelforHumanPoseEstimation[J].EprintArxiv,2014:1799-1807.BelagiannisV,ZissermanA.Recurrenthumanposeestimation[C].AutomaticFace&GestureRecognition(FG2017),201712thIEEEInternationalConferenceon.IEEE,2017:468-475.BulatA,TzimiropoulosG.HumanPoseEstimationviaConvolutionalPartHeatmapRegression[M].ComputerVision–ECCV2016.SpringerInternationalPublishing,2016:717-732.FangHS,XieS,TaiYW,etal.Rmpe:Regionalmulti-personposeestimation[C].TheIEEEInternationalConferenceonComputerVision(ICCV).2017,2.PishchulinL,InsafutdinovE,TangS,etal.Deepcut:Jointsubsetpartitionandlabelingformultipersonposeestimation[C].ProceedingsoftheIEEEConferenceonComputerVisionandPatternRecognition.2016:4929-4937.InsafutdinovE,PishchulinL,AndresB,etal.Deepercut:Adeeper,stronger,andfastermulti-personposeestimationmodel[C].EuropeanConferenceonComputerVision.Springer,Cham,2016:34-50.HeK,ZhangX,RenS,etal.Deepresiduallearningforimagerecognition[C].ProceedingsoftheIEEEconferenceoncomputervisionandpatternrecognition.2016:770-778.A.Newell,K.Yang,andJ.Deng.Stackedhourglassnetworksforhumanposeestimation.InEuropeanConferenceonComputerVision,ECCV,pages483–499,2016.S.-E.Wei,V.Ramakrishna,T.Kanade,andY.Sheikh.Convolutionalposemachines.InIEEEConferenceonComputerVisionandPatternRecognition,CVPR,pages4724–4732,2016.X.Zhou,M.Zhu,S.Leonardos,K.Derpanis,andK.Daniilidis.Sparsenessmeetsdeepness:3Dhumanposeestimationfrommonocularvideo.InIEEEConferenceonComputerVisionandPatternRecognition,CVPR,pages4966–4975,2016.L.Sigal,A.Balan,andM.J.Black.HumanEva:Synchronizedvideoandmotioncapturedatasetandbaselinealgorithmforevaluationofarticulatedhumanmotion.InternationalJournalofComputerVision,IJCV,87(1):4–27,2010.X.Zhou,M.Zhu,G.Pavlakos,S.Leonardos,K.G.Derpanis,andK.Daniilidis.MonoCap:MonocularhumanmotioncaptureusingaCNNcoupledwithageometricprior.PAMI,2018.F.Bogo,A.Kanazawa,C.Lassner,P.Gehler,J.RomeroandM.J.Black.KeepitSMPL:Automaticestimationof3Dhumanposeandshapefromasingleimage.InECCV,2016.J.Wu,T.Xue,J.J.Lim,Y.Tian,J.B.Tenenbaum,A.Torralba,andW.T.Freeman.Singleimage3Dinterpreternetwork.InECCV,2016.F.Moreno-Noguer.3Dhumanposeestimationfromasingleimageviadistancematrixregression.InCVPR,2017.D.Tome,C.Russell,andL.Agapito.Liftingfromthedeep:Convolutional3Dposeestimationfromasingleimage.InCVPR,2017.J.Martinez,R.Hossain,J.Romero,andJ.Little.Asimpleyeteffectivebaselinefor3Dhumanposeestimation.InICCV,2017.C.Ionescu,D.Papava,V.Olaru,andC.Sminchisescu.Human3.6M:Largescaledatasetsandpredictivemethodsfor3Dhumansensinginnaturalenvironments.pami,36(7):1325–1339,2014.G.Pavlakos,X.Zhou,K.G.Derpanis,andK.Daniilidis.Coarse-to-finevolumetricpredictionforsingle-image3Dhumanpose.InIEEEConferenceonComputerVisionandPatternRecognition,CVPR,2017.B.Tekin,P.MarquezNeila,M.Salzmann,andP.Fua.LearningtoFuse2Dand3DImageCuesforMonocularBodyPoseEstimation.InIEEEInternationalConferenceonComputerVision,ICCV,2017.D.Tome,C.Russell,andL.Agapito.Liftingfromthedeep:Convolutional3dposeestimationfromasingleimage.InTheIEEEConferenceonComputerVisionandPatternRecognition(CVPR),July2017.X.Zhou,Q.Huang,X.Sun,X.Xue,andY.Wei.Weaklysupervisedtransferfor3dhumanposeestimationinthewild.InIEEEInternationalConferenceonComputerVision,ICCV,2017.X.Zhou,X.Sun,W.Zhang,S.Liang,andY.Wei.Deepkinematicposeregression.InECCVWorkshoponGeometryMeetsDeepLearning,pages186–201,2016.X.Sun,J.Shang,S.Liang,andY.Wei.Compositionalhumanposeregression.InIEEEInternationalConferenceonComputerVision,ICCV,2017.SimonyanK,ZissermanA.VeryDeepConvolutionalNetworksforLarge-ScaleImageRecognition[J].ComputerScience,2014.桑顏婷.基于深度學(xué)習(xí)的人臉年齡估計方法研究[D].華北電力大學(xué),2017.DuY,WongY,LiuY,etal.Marker-less3dhumanmotioncapturewithmonocularimagesequenceandheight-maps.EuropeanConferenceonComputerVision,2016.SanzariM,NtouskosV,Pi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論