国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于PC-SGD的深度學(xué)習(xí)雷達(dá)人體點(diǎn)云補(bǔ)全

2022-12-25 12:21:48孫浩鵬
關(guān)鍵詞:法線解碼器軀干

孫浩鵬

(長(zhǎng)春工程學(xué)院 計(jì)算機(jī)技術(shù)與工程學(xué)院, 長(zhǎng)春 130012)

0 引言

隨著虛擬現(xiàn)實(shí)蓬勃發(fā)展,元宇宙環(huán)境下每個(gè)人都會(huì)有完全不同的生活習(xí)慣,各種行為在元宇宙內(nèi)將形成大量的交互數(shù)據(jù)[1]。在未來(lái),計(jì)算機(jī)對(duì)人的行為識(shí)別和交互必然是元宇宙內(nèi)的最核心內(nèi)容。目前人體的身體動(dòng)作行為數(shù)據(jù)從輸入數(shù)據(jù)信號(hào)的不同一般可分為身體穿戴慣性[2]或光學(xué)傳感器實(shí)現(xiàn)動(dòng)作捕捉[3]、通過(guò)攝像頭視頻錄像利用算法計(jì)算出骨骼運(yùn)動(dòng)數(shù)據(jù)[4]、利用WIFI信號(hào)在受到干擾時(shí)候的數(shù)據(jù)信號(hào)強(qiáng)度變化得到人體運(yùn)動(dòng)軌跡數(shù)據(jù)[5]、擺放陣列紅外線傳感器然后獲得傳感器的陣列信號(hào)變化計(jì)算人體動(dòng)作數(shù)據(jù)、通過(guò)雷達(dá)TOF原理返回的接收激光信號(hào)建立點(diǎn)云進(jìn)行人體行為識(shí)別[6]這幾種。以上幾種方法各有優(yōu)缺點(diǎn),如果想實(shí)現(xiàn)人體動(dòng)作識(shí)別并且考慮隱私,例如在衛(wèi)生間或者洗澡間等,就不適合穿戴設(shè)備或者攝像頭。本文僅討論基于激光雷達(dá)行為識(shí)別前的數(shù)據(jù)處理,由于近年來(lái)某些型號(hào)的雷達(dá)實(shí)現(xiàn)了國(guó)產(chǎn),國(guó)產(chǎn)后的雷達(dá)價(jià)格降低,使昂貴的雷達(dá)民用成為可能,Jokanovic等[7]就采集了雷達(dá)的調(diào)頻連續(xù)波數(shù)據(jù)進(jìn)行深度訓(xùn)練,實(shí)現(xiàn)了監(jiān)護(hù)摔倒和沒(méi)摔倒的動(dòng)作識(shí)別。但是在采集雷達(dá)數(shù)據(jù)時(shí),雷達(dá)的數(shù)據(jù)均為深度數(shù)據(jù),由于激光雷達(dá)原理是TOF[8],依托的是發(fā)射的紅外激光的反射接收,人體的胳膊交叉、人體在陰影中、人體外衣有明顯的反射物(例如金屬鏡面紐扣、金屬皮帶扣、反光效果比較強(qiáng)的防水外衣等)都會(huì)導(dǎo)致點(diǎn)云丟失。所以在利用雷達(dá)進(jìn)行人體行為識(shí)別前,將雷達(dá)掃描獲得的點(diǎn)云進(jìn)行補(bǔ)全是非常必要的。

1 點(diǎn)云補(bǔ)全基本原理

目前的點(diǎn)云三維補(bǔ)全算法的思路普遍是基于空間幾何或者基于現(xiàn)有模型庫(kù)的方法[9]。空間幾何方法不用數(shù)據(jù)庫(kù)中完整模型,一般利用點(diǎn)云的幾何信息完成補(bǔ)全,例如桌子的單個(gè)腿部一般均為圓柱形或者正方形,只要點(diǎn)云缺失不是太大,從已有點(diǎn)云中利用LERP插值運(yùn)算來(lái)填充缺失的部分,基本可以實(shí)現(xiàn)點(diǎn)云補(bǔ)全,這種方法也被稱為表面重建。桌子的4條腿中往往由于遮擋會(huì)導(dǎo)致點(diǎn)云按照表面重建,補(bǔ)全后也只有3條腿,此時(shí)利用桌子腿的對(duì)稱結(jié)構(gòu),將3條腿中間的一條按照對(duì)稱軸(桌子中心點(diǎn))進(jìn)行復(fù)制,也能實(shí)現(xiàn)點(diǎn)云補(bǔ)全,這種方法比較適合簡(jiǎn)單物體,如果輸入的點(diǎn)云缺失過(guò)大或者對(duì)于人體、植物、動(dòng)物等無(wú)法用空間幾何方式描述的物體就無(wú)法實(shí)現(xiàn)補(bǔ)全,這時(shí)就需要有參考目標(biāo)來(lái)補(bǔ)全。以雷達(dá)掃描樹(shù)葉為例,假設(shè)在數(shù)據(jù)庫(kù)中已有地球上所有品類樹(shù)葉的點(diǎn)云完整模型,通過(guò)雷達(dá)掃描得到的樹(shù)葉有部分缺失的情況下往往有3種情況。第一種是已知樹(shù)葉品類,直接在數(shù)據(jù)庫(kù)中找到已有點(diǎn)云,通過(guò)定義樹(shù)葉根部對(duì)齊旋轉(zhuǎn)方向和放縮就可以實(shí)現(xiàn)點(diǎn)云補(bǔ)全,第二種無(wú)法得知雷達(dá)掃描獲得的樹(shù)葉品類,只能通過(guò)未缺失的點(diǎn)云和數(shù)據(jù)庫(kù)點(diǎn)云進(jìn)行部分對(duì)比,但是由于點(diǎn)云的空間結(jié)構(gòu)不是對(duì)齊的,所以這種對(duì)比方法獲得的數(shù)據(jù)往往錯(cuò)誤率高,后期還要利用二次曲面或者直接用小型平面替代數(shù)據(jù)庫(kù)實(shí)現(xiàn)補(bǔ)全。目前不可能收集地球上所有樹(shù)葉品類的數(shù)據(jù)庫(kù),這就屬于第三種情況,雷達(dá)掃描后的點(diǎn)云有缺失,數(shù)據(jù)庫(kù)內(nèi)又沒(méi)有完整數(shù)據(jù),從2017年提到的點(diǎn)網(wǎng)絡(luò)(PointNet)[10]出現(xiàn)后這種情況就推薦使用深度學(xué)習(xí)的方法來(lái)進(jìn)行點(diǎn)云補(bǔ)全。

2 深度學(xué)習(xí)點(diǎn)云補(bǔ)全算法

深度學(xué)習(xí)補(bǔ)全點(diǎn)云常規(guī)方法是構(gòu)建編碼器-解碼器的網(wǎng)絡(luò)結(jié)構(gòu),編碼器是由卷積神經(jīng)網(wǎng)絡(luò)的卷積、歸一、池化層組成,目的是將掃描獲得的帶有丟失數(shù)據(jù)的點(diǎn)云進(jìn)行特征提取,提取后的特征輸入解碼器,解碼器是由全連接層和另外的點(diǎn)網(wǎng)絡(luò)組成,進(jìn)行人體點(diǎn)云補(bǔ)全的框架如圖1所示。

圖1 深度學(xué)習(xí)人體補(bǔ)全原理圖

編碼器通過(guò)輸入點(diǎn)云所含數(shù)據(jù)量的多少并利用最遠(yuǎn)點(diǎn)采樣法將其分類為不同范圍點(diǎn)云,這種多范圍可以類比圖像處理中的不同分辨率圖像,對(duì)不同范圍數(shù)據(jù)降維后提取特征,再將多個(gè)范圍的特征拼合,使得編碼器得到的編碼既帶有局部特征,又帶有全局特征,其網(wǎng)絡(luò)的輸入層用來(lái)輸入點(diǎn)云數(shù)據(jù),隱藏層(編碼層)用來(lái)提取特征,最大池化后得到各個(gè)范圍域中值最大的點(diǎn),進(jìn)一步精煉特征。核心是通過(guò)不斷的迭代訓(xùn)練將高密度點(diǎn)云的特征用低密度點(diǎn)云的特征描述并將特征傳輸給解碼器。

解碼器獲得編碼器傳過(guò)來(lái)的點(diǎn)云特征,通過(guò)解碼網(wǎng)絡(luò)生成新的點(diǎn)云并輸出。一般的解碼器主要是多個(gè)全連接層,往往第一個(gè)全連接層接收上述編碼器中的最大范圍點(diǎn)云特征,主要用來(lái)實(shí)現(xiàn)整體輪廓補(bǔ)全,第二個(gè)全連接層實(shí)現(xiàn)上述編碼器中的局部點(diǎn)云特征,主要用來(lái)實(shí)現(xiàn)局部輪廓補(bǔ)全。編碼器特征分類越多,解碼器的全連接層就越多,輸出前需要把多層解碼器進(jìn)行合并匯總,獲得趨近完整的點(diǎn)云輸出。

阿特拉斯網(wǎng)絡(luò)[11](ATLASNET)把圖1中下半部分的解碼器中的全連接層進(jìn)行了共享,使全連接層能共同進(jìn)行同一個(gè)物體的點(diǎn)云補(bǔ)全,重建了缺失較大的物體,實(shí)現(xiàn)了點(diǎn)云補(bǔ)全。Lyne等[12]提出了頂點(diǎn)網(wǎng)絡(luò)(TOPNET),該網(wǎng)絡(luò)把樹(shù)狀結(jié)構(gòu)和圖1結(jié)合起來(lái),假設(shè)樹(shù)從最底層向上發(fā)展,越向上層次越多,以犧牲計(jì)算速度的代價(jià)實(shí)現(xiàn)了物體點(diǎn)云的補(bǔ)全。點(diǎn)分形網(wǎng)絡(luò)[13](PF-NET)利用基于特征點(diǎn)的多尺度生成網(wǎng)絡(luò)把缺失劃分為不同級(jí)別,每個(gè)級(jí)別分別完成損失和對(duì)抗,并將對(duì)抗損失和損失相加,保留了不完整的空間排列并能預(yù)測(cè)缺失區(qū)域的詳細(xì)集合結(jié)構(gòu),可以實(shí)現(xiàn)凹陷物體的內(nèi)表面重建。Chang等[14]提出的改進(jìn)PCN網(wǎng)絡(luò)(FinePCN)以從粗到細(xì)的方式生成完整和精細(xì)的點(diǎn)云。FinePCN由2個(gè)子網(wǎng)絡(luò)組成:第一個(gè)用于生成粗糙形狀的編碼器-解碼器,第二個(gè)用于生成局部結(jié)構(gòu)的逐點(diǎn)卷積。先通過(guò)第一個(gè)粗糙網(wǎng)絡(luò)實(shí)現(xiàn)大體的補(bǔ)全,再將局部信息輸入到第二個(gè)子網(wǎng)絡(luò)中補(bǔ)全,不但考慮了局部信息,而且在保持全局形狀的同時(shí)減輕了輸入的數(shù)據(jù)數(shù)量。對(duì)大多數(shù)例如汽車、房屋等補(bǔ)全效果都很不錯(cuò),對(duì)有凹陷的表面會(huì)出現(xiàn)一些錯(cuò)誤,將凹陷填平。

由上述可見(jiàn),現(xiàn)有的深度學(xué)習(xí)主要都是依靠2017年提出的點(diǎn)網(wǎng)絡(luò)進(jìn)行的優(yōu)化,核心方法均利用全連接層網(wǎng)絡(luò)進(jìn)行單獨(dú)處理每一個(gè)采樣點(diǎn),但是處理每個(gè)數(shù)據(jù)的時(shí)候沒(méi)有包含該采樣點(diǎn)的周邊點(diǎn)云的密度。當(dāng)處理數(shù)據(jù)為人體動(dòng)作發(fā)生變化時(shí)也沒(méi)有包含鄰域空間和時(shí)間信息,而且每次補(bǔ)全的時(shí)候就用全連接層直接將整個(gè)補(bǔ)全后的點(diǎn)云直接全部映射回去,無(wú)法得知哪個(gè)部分到底損失了多少,也無(wú)法將點(diǎn)云的時(shí)空特征保留下來(lái)。

3 基于PC-SGD原理的深度學(xué)習(xí)點(diǎn)云補(bǔ)全算法

普通人體動(dòng)作點(diǎn)云雖然是多變的,但動(dòng)作的變化是有規(guī)律的和分層次的,將雷達(dá)人體補(bǔ)全分為五步法為本文的第一個(gè)創(chuàng)新點(diǎn),第一步是要獲得和目標(biāo)體型適配的完整人體點(diǎn)云并將其定義為H,第二步將H和采集的數(shù)據(jù)分割為單獨(dú)的軀干、下肢和上肢。第三步在隱藏層針對(duì)分割后不同層次點(diǎn)云添加時(shí)間參數(shù)獲取各自不同的特征。第四步在解碼器部分針對(duì)不同身體層次采用不同的損失函數(shù),在損失函數(shù)的隨機(jī)梯度下降計(jì)算過(guò)程中根據(jù)不同的身體部分設(shè)定不同的判斷標(biāo)準(zhǔn)即partiality criteria stochastic gradient descent,簡(jiǎn)稱PCSGD。第五步將補(bǔ)全的各個(gè)部分合并得到完整的人體點(diǎn)云。

3.1 參數(shù)化人體點(diǎn)云H的獲得

正確人體點(diǎn)云H的獲得參考了Dibra等[15]的方法,他們?cè)?017年利用站立人體的特殊掩碼作為參數(shù)輸入CNN(convolutional neural network),較準(zhǔn)確地在SCAPE人體模型庫(kù)[16]中的17種模型中獲得了目標(biāo)人體對(duì)應(yīng)的模型。獲得相對(duì)應(yīng)的三維模型后通過(guò)PCL實(shí)現(xiàn)三維模型到點(diǎn)云的轉(zhuǎn)化,PCL(point cloud library)是跨平臺(tái)開(kāi)源C++編程庫(kù),主要是針對(duì)三維掃描儀器獲得的點(diǎn)云數(shù)據(jù)產(chǎn)生三維模型而生,內(nèi)含專門針對(duì)點(diǎn)云的一系列操作[17]。其中安裝PCL路徑下的bin文件夾中的pcl_mesh_sampling_release.exe即可對(duì)OBJ格式的三維模型進(jìn)行點(diǎn)云轉(zhuǎn)換。因此,本文對(duì)SCAPE人體模型庫(kù)中的17種模型均進(jìn)行了轉(zhuǎn)換,獲得17種標(biāo)準(zhǔn)人體點(diǎn)云。在采集人體點(diǎn)云數(shù)據(jù)時(shí)利用人體高度和寬度作為參數(shù),獲得對(duì)應(yīng)的合適人體點(diǎn)云。

3.2 點(diǎn)云分割

普通人體的動(dòng)作按區(qū)域可分為3個(gè)層次,第一層是軀干,動(dòng)作變化相對(duì)較慢,第二層是腿,動(dòng)作變化較快,第三層是上臂和手,速度最快。而區(qū)分這些部位的最核心拓?fù)浣Y(jié)構(gòu)為腋窩和骨盆,文獻(xiàn)[18]使用夾角分析法獲得點(diǎn)云投影到平面的二維輪廓,在二維圖像上采用最小二乘法提取分割特征點(diǎn)對(duì)人體點(diǎn)云進(jìn)行分割。但是人體是圓形的,投影到平面會(huì)導(dǎo)致圖像重疊,例如人的手在胸前時(shí),正面投影平面無(wú)法看到腋窩,也就無(wú)法將上臂和軀干分離開(kāi)來(lái)。在此基礎(chǔ)上進(jìn)行改進(jìn),提出了以人體軀干中心點(diǎn)為軸心的圓柱投影法是本文的第二個(gè)創(chuàng)新點(diǎn),將人體的點(diǎn)云在分割前投影到一個(gè)包圍人體的圓柱體上,由于是雷達(dá)前方采集的人體,所以人體的后背點(diǎn)云是缺失的,對(duì)于圓柱來(lái)說(shuō)就是180°的半圓柱就可以完成投影。如圖2所示,對(duì)于任意人體點(diǎn)云以人體頭頂點(diǎn)云為圓柱開(kāi)始斷面,以腳部中心點(diǎn)為結(jié)束斷面,以點(diǎn)云的坐標(biāo)中心(計(jì)算所有點(diǎn)云的X,Y的平均值)向下垂直生成的直線L作為圓柱的中心軸,半徑為人的上肢伸展最大距離。將點(diǎn)云按中心軸從上到下的半圓截面進(jìn)行投影,每個(gè)點(diǎn)云都會(huì)在同高度的半圓截面上按中心軸沿著半徑投影到圓上,從而實(shí)現(xiàn)人體到圓柱的投影。投影后利用最小二乘法提取分割特征點(diǎn)進(jìn)行分割。進(jìn)而獲得人體的3個(gè)不同部分軀干、上肢、下肢。

圖2 人體圓柱內(nèi)壁投影示意圖

3.3 不同部分分別輸入點(diǎn)網(wǎng)絡(luò)并添加法線維度

當(dāng)獲得的點(diǎn)云被分割為3個(gè)不同部分后,必須分別輸入神經(jīng)網(wǎng)絡(luò),每次都直接將點(diǎn)云作為輸入訓(xùn)練集。由于雷達(dá)獲得人體數(shù)據(jù)點(diǎn)在人體運(yùn)動(dòng)的時(shí)候有方向性變化,例如身體旋轉(zhuǎn),所以每個(gè)點(diǎn)除了標(biāo)準(zhǔn)的空間坐標(biāo)X,Y,Z以外,本文還添加了法線數(shù)據(jù)[19],法線的計(jì)算步驟為:

步驟1對(duì)于任意點(diǎn)pi,使用RadiusSearch得到該點(diǎn)的周邊點(diǎn),如式(1)所示。RadiusSearch是指以該點(diǎn)為圓心,獲得限定半徑范圍內(nèi)的全部點(diǎn),這里半徑設(shè)定為5 cm。

pj∈Nbhd(pi)

(1)

步驟2根據(jù)式(1)可以計(jì)算這些點(diǎn)的質(zhì)心,如式(2)所示。

(2)

步驟3構(gòu)建矩陣可以計(jì)算協(xié)方差,如式(3)所示。

(3)

步驟4將式(3)進(jìn)行SVD(singular value decomposition,奇異值)分解,計(jì)算后得到的最小特征向量就是法線。

這樣每個(gè)點(diǎn)就有6個(gè)維度,為了提高計(jì)算速度,將3個(gè)方向的法線向量只采用垂直人體表面方向的向量,這樣每個(gè)點(diǎn)的數(shù)據(jù)就剩下4個(gè)維度(x,y,z,normal),添加了法線維度后每個(gè)點(diǎn)都是唯一的,并且這些點(diǎn)在輸入時(shí)有以下3個(gè)要求,第一,這些點(diǎn)不同于圖像的像素矩陣計(jì)算方法,沒(méi)有第幾行第幾列的概念,都沒(méi)有順序,所以點(diǎn)的選擇可以是無(wú)序選擇,但是選好后給定標(biāo)號(hào),順序不能再變;第二,由于點(diǎn)云是非均勻采樣,點(diǎn)和點(diǎn)之間一定要有距離,所以取樣的時(shí)候距離過(guò)近或者重合就要舍棄一些點(diǎn);第三,當(dāng)點(diǎn)進(jìn)行移動(dòng)或者旋轉(zhuǎn)時(shí)(例如人體旋轉(zhuǎn)走路等),點(diǎn)的標(biāo)號(hào)不可以改變。

在卷積上,輸入的點(diǎn)網(wǎng)絡(luò)是在傳統(tǒng)CNN上發(fā)展而來(lái),卷積過(guò)程可以用式(4)描述。

j+Δj,k+Δk,n+Δn)

(4)

其中,X(i,j,k)是點(diǎn)云的原始坐標(biāo),n為點(diǎn)云的法線向量,W為卷積核,G為鄰域。卷積過(guò)程其實(shí)是加權(quán)求和,把多個(gè)相鄰點(diǎn)的值進(jìn)行計(jì)算后獲得的值輸入新的表格中,也就提取了特征值。

人體是連續(xù)的,所以W就不能是一個(gè)簡(jiǎn)單的矩陣,而必須是一個(gè)連續(xù)函數(shù),由于在前期輸入點(diǎn)云時(shí)順序是隨機(jī)的,不同身體部分的點(diǎn)云權(quán)重就不能相等,一般情況下軀干丟失點(diǎn)云相比四肢丟失要小,所以軀干的權(quán)重就要小于四肢,這樣通過(guò)不同的權(quán)重建立一個(gè)關(guān)于權(quán)重的連續(xù)函數(shù)W,這個(gè)函數(shù)可對(duì)點(diǎn)云的三維空間坐標(biāo)進(jìn)行學(xué)習(xí),在輸入要求的第二條中點(diǎn)云的各個(gè)點(diǎn)之間要有距離,距離過(guò)近可以演化為密度過(guò)大,距離過(guò)遠(yuǎn)可以演化為密度過(guò)小,所以本文利用點(diǎn)云密度對(duì)權(quán)重進(jìn)行加權(quán)操作從而獲得連續(xù)函數(shù)W,如式(5)所示。

j+Δj,k+Δk,n+Δn)dΔi,Δj,Δk,Δn

(5)

在池化上,輸入時(shí)一定要使用單一的對(duì)稱函數(shù)來(lái)進(jìn)行最大池化,令每個(gè)點(diǎn)p={S∶S∈[0,1]m,且|S|=n},那么可以定義函數(shù)f(p)是在集合上關(guān)于豪斯多夫(Hausdorff)距離dH的一個(gè)連續(xù)函數(shù),即對(duì)于任意點(diǎn),ε>0,存在δ>0只要該點(diǎn)數(shù)據(jù)屬于p集合,如果dH(S,Si)<δ,那么f(s)-f(si)<ε,所以在最大池化層只要有足夠的隱藏層,并且隱藏層的神經(jīng)元足夠多,那么可以無(wú)限趨近f(p)。通過(guò)隱藏層池化的整個(gè)過(guò)程實(shí)現(xiàn)了大量點(diǎn)云的壓縮,保留了重要的點(diǎn)云信息,去除了重疊和冗余點(diǎn)云信息。

3.4 隨機(jī)梯度下降準(zhǔn)則

當(dāng)點(diǎn)網(wǎng)絡(luò)通過(guò)編碼器獲得點(diǎn)云的特征后,通常需要通過(guò)解碼器反向把點(diǎn)云還原,在還原過(guò)程前要輸入本文第一步提供的完整人體點(diǎn)云H,將其作為神經(jīng)網(wǎng)絡(luò)計(jì)算過(guò)程中的正確參考,在輸出前首先將輸出點(diǎn)云和完整點(diǎn)云H進(jìn)行對(duì)準(zhǔn),對(duì)準(zhǔn)的基本位置是骨盆。對(duì)準(zhǔn)后通過(guò)全連接層實(shí)現(xiàn)補(bǔ)全,在補(bǔ)全的過(guò)程中,對(duì)身體的不同部分通過(guò)不同的參數(shù)做為評(píng)判梯度下降是否合格的標(biāo)準(zhǔn),對(duì)3個(gè)不同的身體部分進(jìn)行分別補(bǔ)全,這是本文的第三個(gè)創(chuàng)新點(diǎn)。

對(duì)軀干部分來(lái)說(shuō),只要邊界完整是很容易獲得軀干行為識(shí)別數(shù)據(jù)的,所以身體部分主要的損失函數(shù)由邊界來(lái)主導(dǎo),這里主要評(píng)判還原后的軀干點(diǎn)云邊界和點(diǎn)云H的邊界是否有偏差,H的邊界是不變的,設(shè)e代表解碼器輸出后的邊(edge),代表點(diǎn)云H的邊界,u和v是相鄰的2個(gè)點(diǎn),那么判別過(guò)程如式(6)所示。

(6)

軀干的損失函數(shù)還要考慮點(diǎn)的損失和法線的損失,所以軀干的損失函數(shù)如式(7)所示。

Lossbody=ωelosse+ωnlossn+ωslosss

(7)

(8)

損失函數(shù)依據(jù)點(diǎn)和H的距離來(lái)進(jìn)行計(jì)算,如式(9)所示,之后添加點(diǎn)的損失即可。

(9)

對(duì)手臂來(lái)說(shuō),由于人手揮動(dòng)自由度特別大,例如在舉起手的時(shí)候,人們可以做到手心向前和手心向后。所以無(wú)論是依靠邊界還是依靠點(diǎn)都無(wú)法實(shí)現(xiàn)完整補(bǔ)全,手臂損失函數(shù)由點(diǎn)和法線來(lái)主導(dǎo),點(diǎn)的計(jì)算方式和腿部相同,法線是能表明手臂旋轉(zhuǎn)的,因?yàn)榉ň€是垂直于表面的,所以每個(gè)法線都是依托面來(lái)計(jì)算的,這里設(shè)φ為H的面,從模板的手部開(kāi)始,每個(gè)點(diǎn)加上周邊半徑為r的點(diǎn)連接成的面,設(shè)f為神經(jīng)網(wǎng)絡(luò)生成的面,計(jì)算方式也是每個(gè)點(diǎn)加上周邊半徑為r的點(diǎn)形成的面。r取值為0.01 m。則手臂的法線損失函數(shù)如式(10)所示,之后也添加點(diǎn)的損失即可。

(10)

3.5 輸出的點(diǎn)云合并

由于獲得的是3個(gè)分開(kāi)部分的點(diǎn)云,所以輸出點(diǎn)云的過(guò)程就必須包含常規(guī)輸出和合并操作[20]。 將3個(gè)部分合并過(guò)程的第一步是對(duì)準(zhǔn),主要是人體上肢對(duì)齊軀干的腋窩部分和下肢對(duì)齊骨盆部分,對(duì)齊的過(guò)程主要是首先找到補(bǔ)全后的上肢或者下肢的輪廓,由于上肢輪廓有一端是手的形狀或者說(shuō)是有明顯分叉,那么對(duì)應(yīng)的另一端自然就是軸心,找到軸心后縮放和旋轉(zhuǎn)使得位置和方向與軀干對(duì)齊。下肢的特征在于腳部有較多的重疊點(diǎn)云,所以相對(duì)的另一端也就是軸心,同樣通過(guò)縮放和旋轉(zhuǎn)與軀干對(duì)齊。將合并后的點(diǎn)云與標(biāo)準(zhǔn)點(diǎn)云H對(duì)比,四肢的長(zhǎng)度應(yīng)該和標(biāo)準(zhǔn)點(diǎn)云H一致,如果大于標(biāo)準(zhǔn)點(diǎn)云H的話,縮小比例再次合并,如果小于標(biāo)準(zhǔn)點(diǎn)云H的話,增加比例再次合并,直到四肢與軀干的比例相比H誤差較小即可。

4 數(shù)據(jù)測(cè)試

數(shù)據(jù)通過(guò)國(guó)產(chǎn)固態(tài)面陣激光雷達(dá)采集,因?yàn)橐獙?duì)采集的數(shù)據(jù)進(jìn)行行為識(shí)別,所以使用了時(shí)間流采集,但由于單幀數(shù)據(jù)就達(dá)到19 200字節(jié),所以對(duì)每個(gè)人體行為只采集5 s,每秒采集60幀,更換不同身高體重男女不同衣物等多樣化采集,每人動(dòng)作行為均規(guī)定為有遮擋和無(wú)遮擋多種,模擬走路、跳躍、轉(zhuǎn)身等行為。共采集人體點(diǎn)云50 000個(gè),經(jīng)過(guò)觀察,在動(dòng)作過(guò)快時(shí)和反光衣物類有明顯點(diǎn)云缺失。將人體點(diǎn)云進(jìn)行圓柱投影、切割后添加法線向量并輸入PointNet、TOPNET、PF-NET、FinePCN和本文算法進(jìn)行比較,所用參數(shù)為單向豪斯多夫距離[21](unidirectional hausdorff distance,UHD),單向豪斯多夫距離實(shí)際上計(jì)算的是神經(jīng)網(wǎng)絡(luò)解碼器補(bǔ)全的點(diǎn)云的各個(gè)點(diǎn)三維空間坐標(biāo)與最開(kāi)始輸入神經(jīng)網(wǎng)絡(luò)編碼器的帶缺陷點(diǎn)云三維空間坐標(biāo)的最小距離,然后在這些最小距離構(gòu)建的數(shù)組中挑選出最大的值,計(jì)算的最大值超過(guò)固定值,一般就認(rèn)為補(bǔ)全的點(diǎn)云誤差過(guò)大,對(duì)于人體點(diǎn)云,如果初始采集密度點(diǎn)與點(diǎn)之間距離為0.1 cm,一般UHD如果大于0.1 cm就認(rèn)為補(bǔ)全的點(diǎn)云偏差過(guò)大,點(diǎn)云補(bǔ)全過(guò)程往往通過(guò)UHD的值來(lái)判斷補(bǔ)全的算法好壞,UHD的數(shù)學(xué)描述為:給定歐式空間的點(diǎn)集X和Y,其計(jì)算定義如式(11)所示。

(11)

表1 補(bǔ)全后點(diǎn)云與原始點(diǎn)云的單向豪斯多夫距離

補(bǔ)全實(shí)際效果如圖3所示,可以看出,F(xiàn)inePCN對(duì)人體軀干點(diǎn)云的補(bǔ)全效果較好,但是在上肢和下肢由于有動(dòng)作和遮擋情況下效果不好。PointNet相對(duì)有很高的補(bǔ)全能力,但是它是利用全連接層對(duì)全局整個(gè)輸出,局部細(xì)節(jié)尤其是手臂轉(zhuǎn)彎的地方有明顯的密度不均勻問(wèn)題。TopNET由于是采用很多全連接層分層計(jì)算,收斂計(jì)算速度慢,所以在下肢補(bǔ)全的地方明顯有散亂情況,PF-NET是對(duì)抗網(wǎng)絡(luò),主要優(yōu)點(diǎn)是對(duì)凹陷結(jié)構(gòu)有良好的補(bǔ)全,在人體點(diǎn)云對(duì)軀干凹陷有不錯(cuò)的表現(xiàn),但是對(duì)于四肢的遮擋處理的不是很好。本文提出的5步點(diǎn)云補(bǔ)全方法由于是分為3個(gè)部分計(jì)算的,每個(gè)部分又有單獨(dú)的計(jì)算方法,所以針對(duì)性較強(qiáng),可以更好地補(bǔ)全人體點(diǎn)云的細(xì)節(jié),例如手部和腳部的位置等,補(bǔ)全效果在固態(tài)面陣?yán)走_(dá)人體點(diǎn)云領(lǐng)域明顯強(qiáng)于上述幾種算法。

根據(jù)式(5)的描述,神經(jīng)網(wǎng)絡(luò)的池化層只有要足夠多的神經(jīng)元或者說(shuō)有足夠多的隱藏層就可以無(wú)限逼近最完美的補(bǔ)全效果,所以對(duì)補(bǔ)全網(wǎng)絡(luò)增加了隱藏層的測(cè)試,并且使用RMSE作為神經(jīng)網(wǎng)絡(luò)的評(píng)估指標(biāo)[22]。RMSE(root mean square error)為均方根誤差,表示預(yù)測(cè)值與真實(shí)值差的平方的期望,如式(12)所示:

(12)

通過(guò)測(cè)試將隱藏層數(shù)量和RMSE數(shù)值制成如圖4所示的隱藏層數(shù)量與誤差關(guān)系圖,可以看出,上肢在隱藏層13層誤差最小,軀干由于輪廓簡(jiǎn)單,在第6層達(dá)到最好效果,下肢在隱藏層為4層時(shí)達(dá)到0.16的誤差,但是從第5層開(kāi)始增加,到第9層時(shí)才減少,到11層效果較好。由此可見(jiàn)并不是隱藏層數(shù)量越大越好,分為3個(gè)部分輸入的神經(jīng)網(wǎng)絡(luò),并不可以采用同樣的隱藏層數(shù)量,所以點(diǎn)云補(bǔ)全過(guò)程中分割后的模型應(yīng)該用不同深度的神經(jīng)網(wǎng)絡(luò)才可以。

圖4 隱藏層數(shù)量和RMSE誤差關(guān)系曲線

5 結(jié)論

提出了一種基于雷達(dá)掃描人體點(diǎn)云的補(bǔ)全方法,利用完整的人體作為參考,將雷達(dá)獲得的人體分割為3個(gè)部分分別進(jìn)行補(bǔ)全,針對(duì)不同的部分采用不用損失函數(shù)進(jìn)行梯度下降計(jì)算。分割后的部分由于每個(gè)部分都有不同的運(yùn)動(dòng)速度和不同的旋轉(zhuǎn),所以在考慮旋轉(zhuǎn)的問(wèn)題上又添加了點(diǎn)法線作為旋轉(zhuǎn)判斷的參數(shù)。這樣點(diǎn)云就以4個(gè)維度輸入神經(jīng)網(wǎng)絡(luò),分別進(jìn)行3次不同的計(jì)算,計(jì)算后得到的點(diǎn)云再進(jìn)行拼合,能夠更好地實(shí)現(xiàn)人體點(diǎn)云補(bǔ)全。實(shí)驗(yàn)表明,本文方法在人體動(dòng)作較快、幅度較大狀態(tài)下比完整輸入點(diǎn)云明顯改善。

雷達(dá)人體行為識(shí)別在無(wú)光、隱私等條件下依然不會(huì)被攝像頭取代,對(duì)點(diǎn)云的補(bǔ)全問(wèn)題還有更多需要做的內(nèi)容,未來(lái)會(huì)向以下幾個(gè)方向發(fā)展,第一,更加精細(xì)的細(xì)分,現(xiàn)在將人體分割為3個(gè)部分?jǐn)?shù)據(jù),如果點(diǎn)云是為了進(jìn)行手勢(shì)識(shí)別,那么就應(yīng)該將手臂分割為手部和上臂,如果是為了進(jìn)行腳部動(dòng)作識(shí)別,例如踢踏舞的腳部行為規(guī)范,就應(yīng)該將腿部分割為腳部和腿部等;第二,現(xiàn)有雷達(dá)采集的點(diǎn)云均有不同數(shù)量的噪聲,所以點(diǎn)云補(bǔ)全應(yīng)該增加去除噪聲功能,大大提高數(shù)據(jù)的魯棒性;第三,完善標(biāo)準(zhǔn)人體庫(kù),如SCAPE庫(kù),未來(lái)的人體庫(kù)應(yīng)該有完整的空間點(diǎn)云并包含多種生活行為動(dòng)作,在人體動(dòng)作行為采集后可進(jìn)行對(duì)比參考補(bǔ)全。

猜你喜歡
法線解碼器軀干
基于定位法線的工件自由度判定方法及應(yīng)用
科學(xué)解碼器(一)
科學(xué)解碼器(二)
科學(xué)解碼器(三)
線圣AudioQuest 發(fā)布第三代Dragonfly Cobalt藍(lán)蜻蜓解碼器
樹(shù)與人
詩(shī)選刊(2019年9期)2019-11-20 10:24:01
橢圓法線定理的逆定理
角度法評(píng)價(jià)軀干冠狀面失平衡
雙曲螺線的副法線曲面的相關(guān)性質(zhì)研究*
正常成人軀干皮膚溫度覺(jué)閾值測(cè)定
高平市| 仁化县| 沽源县| 文成县| 凤山市| 溧水县| 五家渠市| 长葛市| 沂源县| 凉城县| 天门市| 玉龙| 和平区| 宜黄县| 鄂州市| 乐山市| 馆陶县| 平顺县| 平乡县| 香河县| 玛曲县| 浑源县| 蒲城县| 泸水县| 常德市| 铜陵市| 苗栗市| 遂平县| 阿克苏市| 金乡县| 阿克| 田阳县| 兰坪| 巴林右旗| 綦江县| 西宁市| 栾城县| 维西| 石屏县| 岳阳县| 奈曼旗|