高 焱,熊風(fēng)光
(中北大學(xué) 大數(shù)據(jù)學(xué)院,山西 太原 030051)
在日常生活中視覺搜索幾乎無處不在,人體在觀察物體時通常不會第一時間觀察全局,而是先觀察全局中重要的和與重要的信息相關(guān)的部分。同樣,在點云深度學(xué)習(xí)中如果將主要的計算數(shù)據(jù)集中在與檢測的類別有關(guān)的點上,而與檢測的類別無關(guān)的點不納入處理范圍,則可以在很大程度上減少計算量。因此,如何構(gòu)建深度學(xué)習(xí)網(wǎng)絡(luò),并高效尋找與檢測物體高度相關(guān)的點云就變得至關(guān)重要。
近年來,深度學(xué)習(xí)方法與卷積神經(jīng)網(wǎng)絡(luò)在圖像特征提取方面取得重大成就[1-7]。因而,緊跟計算機視覺的大趨勢,深度學(xué)習(xí)逐漸取代手動輸入特征表示點云的方法成為點云處理的主導(dǎo)方法。然而,與圖像相比,三維點云無序,無結(jié)構(gòu),密度不均,因此如何用深度學(xué)習(xí)對其進行分析處理仍然是難題之一。Simon等人[8]提出了Complex-YOLO,Wu等人[9]提出了SqueezeSeg,Chen Xiaozhi等人[10]提出了一種自動駕駛的三維物體檢測方法,三種方法的共同點是在二維中使用卷積,將卷積結(jié)果通過函數(shù)回歸處理得到物體三維邊界框預(yù)測,其中前兩種的二維輸入獲取方式是三維數(shù)據(jù)在二維某方向上的投射,第三種的二維輸入方式是二維圖片。此種先將三維轉(zhuǎn)換成為二維的方法的缺點在于高度信息的缺失和最終結(jié)果對數(shù)據(jù)誤差非常敏感。針對二維圖像的高度信息缺失問題,后來的方法中加入了無需將三維數(shù)據(jù)進行降維的點云數(shù)據(jù)處理方法,例如Martin等人[11]提出了一種快速高效利用卷積進行三維點云的物體檢測方法,Daniel Maturana等人[12]提出了Voxnet。這兩種方法的共同點是將點云轉(zhuǎn)換成為立方體形式進行卷積計算,在上述三維物體檢測方法的基礎(chǔ)上很大程度解決了高度信息缺失問題,但缺點是計算量會隨著數(shù)據(jù)量的增大而呈指數(shù)級增長。對此,Charles Qi博士等人[13]提出了PointNet深度學(xué)習(xí)框架,該框架無需轉(zhuǎn)換點云格式,直接處理點云,且在物體分類和場景分割等任務(wù)上表現(xiàn)良好。
此外,在三維物體檢測方面也進行了相關(guān)研究。Prawira等人[14]提出了基于立體圖像的三維物體檢測方法,Su-A Kim等人[15]提出了基于點特征直方圖的三維物體檢測算法,Ahmed Fawzy Elaraby等人[16]提出了基于Kinect的運用增強深度估計算法的三維物體檢測方法,以上研究均從不同角度在三維物體檢測方面取得了一定進展,然而將深度學(xué)習(xí)框架運用到點云大型場景中仍然難度很大。Minh等以二維圖像作為輸入,使用RNN(recurrent neural network,循環(huán)神經(jīng)網(wǎng)絡(luò)),在每次回溯迭代過程中重復(fù)使用同一塊被剪裁區(qū)域的不同分辨率圖像,達到圖像內(nèi)的物體檢測隨著每次的迭代更新趨于完全準確的效果[17-18]。然而,由于是對圖片進行裁剪操作,這種通過迭代更新檢測結(jié)果的網(wǎng)絡(luò)無法進行反向傳播過程,進而無法對深度網(wǎng)絡(luò)進行訓(xùn)練。為了更好地解決該問題,Jaderberg等人[19]提出了STN網(wǎng)絡(luò),在該網(wǎng)絡(luò)中對輸入圖像進行空間仿射線性變換和對周圍鄰域像素的圖像灰度值進行插值函數(shù)取樣處理,從而得到輸出的特征圖像,而且該網(wǎng)絡(luò)由于可微的灰度插值取樣操作而可以進行反向傳播訓(xùn)練。在上述文獻的基礎(chǔ)上,Sφren Kaae Sφnderby等人[20]將RNN與STN進行結(jié)合,用于二維圖像的檢測中。為了解決RNN的梯度爆炸和梯度急速下降與梯度消失問題,Bernardino等人[21]將設(shè)置有門控狀態(tài)的長短期記憶網(wǎng)絡(luò)LSTM(long short-term memory,LSTM,RNN的一種特殊形式)運用到了深度學(xué)習(xí)在二維圖像的物體檢測中,實現(xiàn)了LSTM的卷積網(wǎng)絡(luò)形式,進一步提高了二維圖像的物體檢測精度。
該文提出基于PointNet的深度學(xué)習(xí)網(wǎng)絡(luò)。該網(wǎng)絡(luò)僅用于基于LIDAR數(shù)據(jù)的三維物體檢測,旨在用相對較低的計算成本和網(wǎng)絡(luò)規(guī)模較小的框架結(jié)構(gòu)獲得實時、良好的三維物體檢測效果。為此,該文引入視覺注意力機制,對三維數(shù)據(jù)應(yīng)用的重要分支—三維物體檢測進行研究,旨在通過對與檢測物體相關(guān)的點云的預(yù)測邊界框進行連續(xù)更新獲得良好的運行效果。主要工作如下:
(1)提出了基于PointNet的深度學(xué)習(xí)網(wǎng)絡(luò),該網(wǎng)絡(luò)無需轉(zhuǎn)換點云格式,直接對原始三維點云進行處理,對物體的整體形狀進行學(xué)習(xí),是端到端的可訓(xùn)練的網(wǎng)絡(luò)框架結(jié)構(gòu)。
(2)對三維物體檢測進行研究,將人體視覺機制引入到用于三維多物體檢測的點云深度學(xué)習(xí)框架中,引入該機制后的框架通過在給定復(fù)雜環(huán)境的條件下學(xué)習(xí)聚焦關(guān)鍵物體點云的能力,減少需要處理的點個數(shù),從而減少計算成本。
(3)將基于PointNet的深度學(xué)習(xí)網(wǎng)絡(luò)在自動駕駛數(shù)據(jù)集KITTI上運行,結(jié)果顯示與已有的基于LIDAR數(shù)據(jù)的檢測方法相比,提出的深度網(wǎng)絡(luò)能夠達到良好的運行效果。
改進之后的PointNet的總體框架如圖1所示。該框圖的最終效果為生成單個物體的三維預(yù)測邊界框。該框圖所表示的網(wǎng)絡(luò)框架包括如下核心功能模塊:環(huán)境網(wǎng)絡(luò)、重復(fù)局部定位網(wǎng)絡(luò)、分類器網(wǎng)絡(luò)、三維轉(zhuǎn)換與重采樣網(wǎng)絡(luò)、定位與識別網(wǎng)絡(luò)。
圖1 網(wǎng)絡(luò)總體框架
該網(wǎng)絡(luò)模塊的主要功能為通過從輸入的點云數(shù)據(jù)中提取環(huán)境特征從而得到與檢測物體類別相關(guān)的物體的可能位置,為之后的與檢測物體類別相關(guān)的局部點云的循環(huán)迭代更新做準備。在本次研究中,該模塊的輸入數(shù)據(jù)主要分為兩個部分:經(jīng)過剪裁處理后的大小為邊長為12米的正方形區(qū)域內(nèi)的三維點云與該區(qū)域內(nèi)的點云對應(yīng)的俯視圖,其中后者的表現(xiàn)形式為以120*120像素的點云垂直投射的二維圖像,數(shù)據(jù)類型為二維數(shù)組(x,y),x表示網(wǎng)格或點的索引信息,y表示該索引所表示的網(wǎng)格的對應(yīng)高度信息。該模塊的運行流程可表述如下:
(1)針對三維點云數(shù)據(jù),該文使用簡化版的PointNet對數(shù)據(jù)進行卷積計算(簡化版如圖2所示),通過MLP(multi-layer perceptron,多層感知器)將三維數(shù)據(jù)轉(zhuǎn)換成為更高維度數(shù)據(jù),通過最大池化技術(shù)將高維度數(shù)據(jù)轉(zhuǎn)化成為特征向量,由于特征向量來源于三維數(shù)據(jù),因此將該向量記作三維環(huán)境向量。
(2)針對二維俯視圖,該文通過標準卷積計算與最大池化技術(shù)將二維俯視圖轉(zhuǎn)換成為特征向量,由于特征向量來源于二維數(shù)據(jù),因此將該向量記作二維環(huán)境向量。
圖2 簡化版PointNet示意圖
二維向量與三維向量分別具有不同的功能,在三維點云場景中,三維向量能夠更好地提供物體的全面信息,二維向量能夠更好地幫助理解復(fù)雜結(jié)構(gòu)物體的信息,因此,該文將二維特征向量與三維特征向量進行結(jié)合。深度學(xué)習(xí)中向量結(jié)合的方式主要分為向量拼接和向量相加等操作。由于加法在網(wǎng)絡(luò)容量相對較低的情況下能夠達到與向量拼接相當(dāng)?shù)男Ч蚨x擇向量相加操作,將二維環(huán)境向量與三維環(huán)境向量結(jié)合成為新環(huán)境向量。
環(huán)境網(wǎng)絡(luò)模塊的總體框架如圖3所示。
圖3 特征網(wǎng)絡(luò)框架
作為該文提出網(wǎng)絡(luò)的核心模塊,重復(fù)局部定位網(wǎng)絡(luò)模塊的主要功能是在每次迭代計算的過程中對檢測到的新物體進行檢測位置更新。該模塊主要分為兩部分:
(1)重復(fù)迭代部分。二維圖像深度學(xué)習(xí)中主要使用RNN(recurrent neural network,循環(huán)神經(jīng)網(wǎng)絡(luò))深度神經(jīng)網(wǎng)絡(luò)實現(xiàn)重復(fù)迭代過程。作為RNN的一種特殊網(wǎng)絡(luò)模塊,該文使用GRU(gate recurrent unit,門控循環(huán)單元)深度網(wǎng)絡(luò)實現(xiàn)重復(fù)迭代過程。本部分的輸入為2.1節(jié)中的環(huán)境向量與上一次輸出的隱藏狀態(tài)向量,隱藏狀態(tài)向量初始化為大小固定的零矩陣,輸出為維度為512的向量與本次的隱藏狀態(tài)向量。前者進入到局部定位模塊進行處理,隱藏狀態(tài)向量作為下次迭代過程的輸入進行深度網(wǎng)絡(luò)處理。
(2)局部定位部分。該模塊的功能是通過3層的全連接層網(wǎng)絡(luò)對轉(zhuǎn)換矩陣的相關(guān)參數(shù)作回歸處理。該網(wǎng)絡(luò)模塊的輸入為維度為512的向量,輸出為轉(zhuǎn)換矩陣相關(guān)參數(shù)。由于本次研究中,物體的比例和大小不會隨著物體與數(shù)據(jù)探測設(shè)備的距離而產(chǎn)生變化,因而僅研究固定的三維變換而對物體的大小予以忽略。為網(wǎng)絡(luò)運行簡便,該文僅探討點云數(shù)據(jù)沿z軸的旋轉(zhuǎn)。轉(zhuǎn)換矩陣形式如式(1)所示。
(1)
其中,θ表示點云數(shù)據(jù)沿z軸的旋轉(zhuǎn)角,cosθ,sinθ,T(xi),T(yi),T(zi)表示轉(zhuǎn)換矩陣的相關(guān)參數(shù)。i∈N+,i∈[0,n),n是重復(fù)迭代的次數(shù)。
與STN沒有對數(shù)據(jù)轉(zhuǎn)換進行監(jiān)督學(xué)習(xí)不同,該文為預(yù)測得到物體位置通過點云數(shù)據(jù)與標簽的一一對應(yīng)對數(shù)據(jù)轉(zhuǎn)換進行了監(jiān)督。該部分總體如式(2)~式(4)所示。
C=fcontext(I)
(2)
hi=fRNN(C,hi-1)
(3)
T(Ωi)=floc(hi)
(4)
其中,式(2)表示作為輸入的點云數(shù)據(jù)和對應(yīng)的俯視圖數(shù)據(jù)I通過2.1中的環(huán)境網(wǎng)絡(luò)fcontext轉(zhuǎn)化成為同時帶有三維特征和二維特征的特征向量C;式(3)表示特征向量C和另外一個輸入的隱藏的狀態(tài)變量hi-1通過GRU轉(zhuǎn)化成為新的隱藏狀態(tài)變量hi;式(4)表示新的隱藏狀態(tài)變量hi通過本地化網(wǎng)絡(luò)floc轉(zhuǎn)化成為旋轉(zhuǎn)矩陣T(Ωi)。該模塊的總體框架如圖4所示。
圖4 循環(huán)局部化網(wǎng)絡(luò)框架
根據(jù)圖2與2.2節(jié)關(guān)于重復(fù)迭代模塊的表述可知,重復(fù)迭代模塊的輸出為列數(shù)為512的張量與當(dāng)前迭代過程的隱藏狀態(tài)向量hi。其中列數(shù)為512的向量進入到循環(huán)局部化網(wǎng)絡(luò)進行處理,此外該向量還會進入到分類器網(wǎng)絡(luò)中。分類器網(wǎng)絡(luò)主要是由兩個與循環(huán)重復(fù)定位網(wǎng)絡(luò)中的全連接層的參數(shù)不同的全連接層構(gòu)成的。經(jīng)過該部分最終輸出的是objectness數(shù)組,并且為該數(shù)組內(nèi)元素設(shè)定了閾值,如果數(shù)組內(nèi)元素大于該閾值,則可以認為該元素對應(yīng)的物體的位置和邊界框的大小預(yù)測是準確的,將該元素對應(yīng)的邊界框的大小、物體的位置等信息加入到物體檢測列表數(shù)組中。最終objectness數(shù)組的生成圖如圖4所示。
在獲得了旋轉(zhuǎn)矩陣后,即在三維轉(zhuǎn)換模塊中對點云數(shù)據(jù)進行旋轉(zhuǎn)變換。三維轉(zhuǎn)換模塊實現(xiàn)的功能是將輸入的點云數(shù)據(jù)通過2.2節(jié)得到的轉(zhuǎn)換矩陣轉(zhuǎn)換成為新的點云數(shù)據(jù),新的點云數(shù)據(jù)中與檢測物體相關(guān)的點云能夠落在更小的預(yù)測邊界框內(nèi)。為實現(xiàn)點云數(shù)據(jù)轉(zhuǎn)換,數(shù)據(jù)矩陣等式如式(5)所示。
(5)
圖5 循環(huán)局部化網(wǎng)絡(luò)框架
為簡易表示,本圖將三維點云用二維形式呈現(xiàn)。圖中所有點均落在以原點(0,0,0)為中心,三維數(shù)據(jù)分別為(W,L,H)的邊界框內(nèi),此時通過轉(zhuǎn)換矩陣T(Ωi),邊界框與所有點均發(fā)生了旋轉(zhuǎn),此時在原先點云中的關(guān)鍵物體點云通過旋轉(zhuǎn)落在了以原點為中心,三維數(shù)據(jù)分別為(w,l,h)的邊界框內(nèi)。此時對落在三維數(shù)據(jù)為(w,l,h)的框內(nèi)點進行區(qū)域剪裁,并對點云進行取樣,點個數(shù)下降成為512個。該模塊的框架如圖6所示。
圖6 三維轉(zhuǎn)換與重采樣模塊框架
該模塊的功能為在2.4節(jié)的基礎(chǔ)上,即在關(guān)鍵物體點云確定后,通過對相關(guān)參數(shù)進行回歸處理對物體的三維邊界框進行預(yù)測。使用輕量級的PointNet[22]對三維轉(zhuǎn)換矩陣的相關(guān)參數(shù)進行回歸處理。該網(wǎng)絡(luò)對三維轉(zhuǎn)換矩陣的5個參數(shù)和邊界框的3個參數(shù)(W,L,H)進行回歸處理。最終的邊界框的位置可以通過式(6)得到。
T(Φi)=T(Ωi)*T(Δi)
(6)
其中,T(Φi)表示最終單個物體邊界框的位置信息的矩陣,T(Ωi)表示用于局部定位操作的轉(zhuǎn)換矩陣,T(Δi)表示用于表示單個物體中心的矩陣,該矩陣主要包含5個參數(shù):(cosδi,sinδi,txi,tyi,tzi),其中δi表示要實現(xiàn)對變換矩陣的回歸需要旋轉(zhuǎn)的角度,i∈[0,n),i∈N+。該模塊的框架如圖7所示。
圖7 定位與識別網(wǎng)絡(luò)模塊框架
為了對該文提出的網(wǎng)絡(luò)進行訓(xùn)練和測試,實驗使用KITTI自動駕駛數(shù)據(jù)集,該數(shù)據(jù)集包括7 481個訓(xùn)練圖像或點云數(shù)據(jù)和7 518個測試圖像或點云數(shù)據(jù)。本次實驗中僅用該網(wǎng)絡(luò)對汽車物體進行識別。
由于KITTI數(shù)據(jù)集不提供測試數(shù)據(jù)集合的真實有效值,因此該文采用的是和已有文獻的點云3D網(wǎng)絡(luò)中使用的評估方法[22]相似的評估方法。為了避免將來測試和訓(xùn)練的樣本中同時含有相同的數(shù)據(jù)樣本的情況出現(xiàn),實驗將數(shù)據(jù)集以70%和30%的比例分別作為訓(xùn)練集和測試集。
在KITTI數(shù)據(jù)集中,每一幀中所包含的點云數(shù)據(jù)大約有10萬個,覆蓋的范圍大約有120米。本實驗直接將點云用作網(wǎng)絡(luò)的輸入。然而將大約10萬個點一次性作為輸入會大幅增加計算的開銷,而且對計算能力有著非常嚴格的要求,因此直接使用原始幀數(shù)據(jù)并不切實際。KITTI數(shù)據(jù)集僅在負責(zé)拍攝周圍環(huán)境的攝像機的拍攝范圍內(nèi)通過數(shù)字標簽的形式給出所包含的物體對象的所屬類別,因此為了減少計算量,在實驗時將落在攝像機的拍攝范圍之外的點予以刪除。
在對此次的網(wǎng)絡(luò)模型進行訓(xùn)練時,該文對原有的數(shù)據(jù)集進行了一定的數(shù)據(jù)處理。
在進行實驗時,首先將負責(zé)拍攝周圍環(huán)境的攝像機的拍攝范圍分成了若干個邊長為12米的正方形區(qū)域,每個正方形之間有大約1米的邊長的交叉部分。這樣,每個分割成的正方形區(qū)域內(nèi)的點的個數(shù)就有0~20 000個不等。如果對這些正方形區(qū)域內(nèi)的點直接進行網(wǎng)絡(luò)框架處理,仍然會增加內(nèi)存的負擔(dān),所以實驗將每個正方形區(qū)域內(nèi)的點進行隨機采樣,使得每個正方形區(qū)域內(nèi)的點為4 096個。
接下來,實驗將每個邊長為12米的正方形區(qū)域進行灰度圖像的轉(zhuǎn)化,生成場景所對應(yīng)的大小為120*120像素的俯視高度圖,將三維點云通過俯視角度投影并離散成為2D網(wǎng)格。
實驗選擇覆蓋從地面以下2米到地面以上3米的高度區(qū)域,此舉是為了基本上覆蓋所有汽車類別的物體的高度。描述所有映射到俯視圖的特定網(wǎng)格單元的點的集合如式(7)和式(8)所示。
H(Sj)=max(Pi→j.[0,0,1]T)
(7)
Pi→j={Pi=[x,y,z]T|Sj=fPS(Pi,r)}
(8)
其中,Pi→j表示將在原始點云數(shù)據(jù)中索引為i的點投射到高度圖的網(wǎng)格單元對應(yīng)的索引j中,[x,y,z]表示點云數(shù)據(jù)中點的三維坐標,Sj表示與點云數(shù)據(jù)對應(yīng)的網(wǎng)格單元集合,Pi表示點云數(shù)據(jù)內(nèi)的某一個點,r表示高度圖的分辨率,即r=10 cm,H(Sj)表示網(wǎng)格單元集合Sj對應(yīng)的高度。
針對是否有汽車對每個正方形區(qū)域進行標簽設(shè)定。來自KITTI數(shù)據(jù)集的信息用于檢查每個正方形區(qū)域內(nèi)是否有汽車,并且對汽車位置、方向和大小進行觀察和記錄。經(jīng)過對KITTI數(shù)據(jù)集的全方位分析之后,發(fā)現(xiàn)該數(shù)據(jù)集的所有區(qū)域中95%的區(qū)域最多僅有3輛汽車。因此對于每一個正方形區(qū)域,都會設(shè)有一個含有3個標簽的序列。對應(yīng)的矩陣變換參數(shù)則能夠反映最終邊界框的相關(guān)屬性。如果某區(qū)域內(nèi)汽車不足3輛,就會在該區(qū)域的范圍之外的固定位置生成剩余數(shù)量的固定的大小的邊界框,并顯示為其余顏色,表示該區(qū)域內(nèi)的汽車的數(shù)量不足3輛。
然而在實驗過程中發(fā)現(xiàn)在非常多的正方形的被剪裁的區(qū)域內(nèi)是沒有一輛汽車的,而且沒有汽車的正方形區(qū)域個數(shù)比有汽車的區(qū)域個數(shù)要多。為了能夠讓有汽車的被裁剪的區(qū)域和沒有汽車的正方形區(qū)域的個數(shù)保持盡可能的一致,這里采用了數(shù)據(jù)增強方法,包含一系列對原始數(shù)據(jù)的操作(包括旋轉(zhuǎn)、縮放、裁剪、移位、翻轉(zhuǎn)等)。增強之后的所使用的KITTI一共包括約27 000個用于訓(xùn)練的被裁剪的正方形區(qū)域。
上文提到該網(wǎng)絡(luò)框架包含環(huán)境網(wǎng)絡(luò)、重復(fù)定位網(wǎng)絡(luò)、分類器網(wǎng)絡(luò)、轉(zhuǎn)換和重采樣器網(wǎng)絡(luò)、邊界框預(yù)測等。不同部分會產(chǎn)生不同損失??倱p失和各個部分損失的關(guān)系如式(9)~式(11)所示。
(9)
Lseq-i=α*Lcls+β*(LT1-reg+LT2-reg)+γ*Lsize-reg+λ*Lreg
(10)
Lreg=‖I-T(ψ)T(ψ)T‖2
(11)
其中,Lseq-i表示某一個序列的總計損失,Lcls表示由分類器網(wǎng)絡(luò)產(chǎn)生的損失,LT1-reg表示用于重復(fù)局部定位的矩陣參數(shù)的損失,LT2-reg表示邊界框預(yù)測模塊產(chǎn)生的矩陣參數(shù)的損失,Lsize-reg表示邊界框預(yù)測產(chǎn)生的損失,Lreg表示正則化損失,Lfinal表示總計的損失,I表示單位陣,T(ψ)表示回歸操作的相關(guān)參數(shù)所對應(yīng)的變換矩陣,α、β、γ、λ表示在計算總計損失時的加權(quán)系數(shù)。
在具體實現(xiàn)的過程中,各個部分損失具體采用的計算方法如下:
(1)對于分類部分損失的計算,采用二進制交叉熵的方法。
(2)對于轉(zhuǎn)換矩陣回歸處理產(chǎn)生的損失的計算,采用Huber的平滑L1方法。
(3)對于正則化損失的計算,采用均分損失函數(shù)的方法。
其中,式(12)主要是為了使得預(yù)測的變換矩陣盡可能接近于正交矩陣,以使得優(yōu)化過程變得更加穩(wěn)定和網(wǎng)絡(luò)性能變得更好。
為了進行訓(xùn)練,這里將預(yù)測序列的長度預(yù)定義為n=3。為了能夠使得損失的具體計算結(jié)果不受輸入序列的數(shù)據(jù)的次序的影響,采用最大加權(quán)二分圖匹配法。為了能夠計算得到該方法所需要的權(quán)重,使用匈牙利算法進行計算,以得到最大匹配。
環(huán)境網(wǎng)絡(luò)由3個全連接層組成,每一層均是用1D卷積進行實現(xiàn)。該網(wǎng)絡(luò)的最開始輸入為三維點坐標,即(x,y,z)。每一層的輸入和輸出的特征的大小分別為(3,64),(64,128),(128,1 024)。除了第一層沒有批次規(guī)范化處理之外,其余層均有ReLU激活函數(shù)批次規(guī)范化處理操作。
除了3D特征網(wǎng)絡(luò),本地化網(wǎng)絡(luò)同樣包含3個全連接層。該網(wǎng)絡(luò)的每一層的輸入和輸出的大小分別為(512,256),(256,128),(128,5)。在該部分中,僅有第一層和第二層有ReLU激活函數(shù),僅有第一層有Batch Normalization處理。
轉(zhuǎn)換矩陣初始化為單位矩陣。
損失函數(shù)系數(shù)分別為:α=1,β=1.5,γ=0.5,λ=0.01。
在實驗進行的過程中觀察到,網(wǎng)絡(luò)模型在訓(xùn)練迭代120次時趨于收斂。對此,本實驗將訓(xùn)練過程中其余相關(guān)的參數(shù)設(shè)置如下:
動量:0.9,權(quán)重衰減:0.000 5,批次大?。撼跏蓟癁?2。
學(xué)習(xí)率:在前40次訓(xùn)練迭代過程中是0.01,之后為0.001。
在訓(xùn)練完整網(wǎng)絡(luò)之前,還訓(xùn)練了此次的改進的網(wǎng)絡(luò)的小型初始版本。在該版本中,刪除了原始的點云數(shù)據(jù)輸入和一開始的處理部分,以及最后的邊界框預(yù)測部分,并且從定位網(wǎng)絡(luò)直接回歸邊界框的大小尺寸。
在點云檢測任務(wù)中,最重要的數(shù)據(jù)即是檢測的準確性,因此本次實驗中對汽車類別的物體的檢測進行了計算。在以上參數(shù)的調(diào)整下進行了實驗,并且與已有文獻的檢測率進行了比較,結(jié)果如表1所示。
表1 網(wǎng)絡(luò)框架在KITTI數(shù)據(jù)集下的運行結(jié)果
續(xù)表1
其中輸入L&M為LIDAR+Mono,L為LIDAR。BV(Bird-eye View)表示俯視圖,汽車類別的檢測精度為百分比(%)。F-PointNet表示Frustum PointNet[22],C-YOLO表示Complex-YOLO[8]。
從表1可看出,除去少量數(shù)據(jù)的上升,隨著檢測難度的增加,物體檢測的精度總體上呈下降趨勢。其中MV3D[23]、F-PointNet、AVOD[24]和RoarNet[25]均使用了LiDAR和數(shù)據(jù)形式與多傳感器檢測,其精度比未使用多傳感器的方法高,其中RoarNet在各個檢測難度上均比其余方法精度高;文中網(wǎng)絡(luò)與VeloFCN[26]、RT3D[27]、VoxelNet[28]、Complex-YOLO方法均未使用多傳感器方法,其中,由于Complex-YOLO方法僅使用了LiDAR數(shù)據(jù)形式的俯視圖形式,因此盡管FPS在各種方法中最高,然而檢測精度卻未有大幅度提升。文中網(wǎng)絡(luò)在未使用多傳感器的條件下,在各個難度的汽車檢測精度上僅次于VoxelNet??紤]到VoxelNet是將三維點云數(shù)據(jù)轉(zhuǎn)化成為體素格形式,大幅增加了計算復(fù)雜度,對計算機硬件要求相對于其余未使用多傳感器的方法要高。因此可以認為,文中網(wǎng)絡(luò)在僅使用LIDAR數(shù)據(jù),未使用多傳感器,未將三維點云轉(zhuǎn)換成為其余三維數(shù)據(jù)形式,以及較低計算復(fù)雜度的情況下,在汽車物體檢測類別的精度上比其余方法的對應(yīng)數(shù)據(jù)高,取得了良好的運行效果。
當(dāng)前隨著深度學(xué)習(xí)在計算機視覺研究中的不斷深入,該研究方法在二維圖像檢測上得到了廣泛的應(yīng)用,之后,深度學(xué)習(xí)在三維數(shù)據(jù)上的研究工作亦進行開展。然而,大多數(shù)已有的關(guān)于深度學(xué)習(xí)在三維數(shù)據(jù)上的研究的文獻使用的是手動輸入特征值的方法或?qū)⒎且?guī)則化三維體素格的數(shù)據(jù)形式轉(zhuǎn)換成為規(guī)則化三維體素格的數(shù)據(jù)形式的方法,兩種處理方式均會大幅提高計算成本,增加計算復(fù)雜度。為能夠在未將三維點云數(shù)據(jù)轉(zhuǎn)換成為其余數(shù)據(jù)形式的情況下用較低的計算成本對三維點云進行直接使用和處理,受到與人體視覺機理與RNN網(wǎng)絡(luò)的啟發(fā),該文以深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)PointNet為基礎(chǔ),提出用于三維物體檢測的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)。該網(wǎng)絡(luò)僅使用LIDAR的三維數(shù)據(jù),高效獲取數(shù)據(jù)幾何特征,為減少計算成本與計算復(fù)雜度,該網(wǎng)絡(luò)引入三維點云的人體視覺機制,引入三維局部定位網(wǎng)絡(luò)。為對提出的網(wǎng)絡(luò)進行實驗,使用KITTI數(shù)據(jù)集,對數(shù)據(jù)集中的汽車進行檢測,并對檢測精度進行評估。結(jié)果顯示,該網(wǎng)絡(luò)在僅使用LIDAR數(shù)據(jù),未使用多傳感器,未將三維點云轉(zhuǎn)換成為其余三維數(shù)據(jù)形式,以及較低計算復(fù)雜度的情況下,在汽車物體檢測類別的精度上比其余方法的對應(yīng)數(shù)據(jù)高,取得了良好的運行效果。