点云网络的论文理解(六)-Frustum PointNets 总体概括
這里的總結一下:
- 1.解決什么總體問題:解決三維空間中的目標識別,最終結果是用一個小盒子也就是bounding box把這個東西框起來。
- 2.解決什么痛點 :1.原有的方案中忽略了三維最原始的特性。2.在大的空間當中,小的常常被忽略。3.遮擋的問題。 4.點稀疏的問題。
- 3.怎么解決:1.直接使用點云數(shù)據(jù),減少手工處理的影響,2.不是嚴格的使用3D或是2D的方案,是在3D的框架下,結合2D的出色經(jīng)驗。
1.研究提出的背景和原因
- 1.在二維空間分類問題和語義分割問題都取得了很好的進展,與此同時,在三維空間的信息的處理卻并不理想。雖然不理想,但是三維信息的處理卻自動駕駛等眾多領域的重要需求。
- 2.另外,我們本身就是生活在一個三維的空間當中,所以三維的應用更加貼近我們的生活以后的應用還將逐漸變多,再加上,三維空間可以保留物體最原始的拓撲結構,這個是我們需要的,就算是之前已經(jīng)研究的非常到位的二維信息處理,也是從三維空間采集得來,采集的結果肯定是不如原有的數(shù)據(jù)的,所以三維數(shù)據(jù)的處理十分重要,作者準備自己研究一下,三維空間的處理問題。
- 3.在二維空間中相互距離很近的物體,可能恰恰是整個圖片中相互距離最遠的兩個物體,可以看到三維數(shù)據(jù)可以更加有效的利用信息。
- 4.參考了之前的研究內(nèi)容,覺得傳統(tǒng)的處理方法會丟失很多信息(這里是直接引用PointNet的論斷)。之后發(fā)現(xiàn)PointNet只是研究了分類和語義識別,對象識別還沒有研究,至此研究方向就確定了。
至此研究方向就確定了–研究三維空間的目標分割問題。
分析問題:
三維空間的內(nèi)容大家研究的很少,所以需要參考二維空間的成功經(jīng)驗,看了一下,如果使用二維空間的類似方案滑動窗口或3D區(qū)域建議網(wǎng)絡是比較簡單,但是會引起很大的問題。那就是計算量會很大,導致不能效果很好地完成計算。
理解一下,我之前的研究方向有點偏向語義分割,所以對對象檢測的了解有限,這兩種方法其實不收所以這里可能理解錯誤。我理解這里兩種方式都有點偏向遍歷的方式,你在二維空間的計算量為x的平方的話,你遷移到三維空間就會變成x的立方,這個計算量的擴張是十分恐怖的,所以本文作者沒有選擇這種方式。
在三維到二維轉(zhuǎn)化的問題中的考量:
1.三維卷積的計算代價太大,所以要轉(zhuǎn)化為二維的進行處理,但是之前也說過了,如果是轉(zhuǎn)化為二維空間處理會丟失一些特征,所以,不能真正的轉(zhuǎn)化到二維空間處理。而是要從二維獲得一定信息再回到三維。
2.所以本文采用用二維圖像縮小范圍,之后去三維空間做精細化處理。
2.實際的實現(xiàn)
這個任務其實可以分成兩個任務:一個是region proposals、一個是classification。
region proposals
其實關鍵難點其實是搞清楚下面的四張圖的內(nèi)容:
1.對應a的獲得
2.對應從a到b
3.對應從b到c
4.對應從c到d
1.取出來這個錐體
概述:最早是使用二維的物體和點云相結合的問題,就是在二維找出來,之后去三維切下來,之后PointNet識別就好做了。有了二維的位置,之后去三維割下來繼續(xù)識別。之后去3D extruded 下來。之后,要切成一個錐,因為我們這個視角是逐漸擴大的,所以實際上切下來是個錐形。
詳細過程
- 1.想要進行目標檢測和識別,最關鍵的問題就是先縮小范圍,既然是一個縮小范圍的過程,其實沒必要做的特別準確,只要效率夠好就行,所以本文作者選擇在二維圖像當中先檢測到這個東西。
(這里的主要考量因素是:二維圖像的分辨率較好、二維圖像的分割算法較成熟) - 2.我們在二維圖像當中取出來這個東西之后,最關鍵的是我們怎么在三維點云當中選擇出對應的那部分點,只需要依據(jù)視角,將選取出來的那個圖片部分進行擴大就行了,所以就產(chǎn)生了文章中反復提的 frustum point clouds。
- 3.這時候就產(chǎn)生了一個新的問題:二維的目標檢測一定要準確(畢竟之后的推算的基于二維的目標檢測)
為了提升二維空間的目標檢測的準確度作者首先使用通用的目標檢測數(shù)據(jù)集進行預訓練(ImageNet classification COCO object detection datasets),之后再用和領域結合的數(shù)據(jù)集(a KITTI 2D object detection dataset)進行微調(diào)。
2.錐體進行標準化的問題
接下來就是標準化的問題。這個錐體的方向是五花八門的,所以需要對其進行歸一化。我覺得理解標準化,需要從兩個角度開始理解:
1.能不能提升計算的性能
2.能不能提升識別的效果
2.1提升計算的效率的角度
計算的快慢,顯然是大家的形式越相似,計算速度更快。所以從計算速度來看,我們需要將形式轉(zhuǎn)化為完全一樣的情況。考慮到這里是個錐體,也就是方向都是標準方向,大小都是一樣大的。
2.2提升識別準確性的
上面確定了只有兩個需要考慮的角度,下面我們就直接評估這兩個角度就行了:
1.都轉(zhuǎn)化成標準角度這很好,因為這樣可以增加平移不變形,因為平移最后改變的其實就僅僅是一個視角的問題。
2.轉(zhuǎn)化成固定的大小這就并不好,因為我們最后要用到這個大小的,如果這里進行仿射,雖然最后也能恢復。但是這個過程在點云當中節(jié)省的計算量有限,卻還需要變回來評估大小(需要知道盒子的大小)
2.3到底怎么做?
文章提出來的錐體既然已經(jīng)成為了一個獨立的點的集合,那么我們對其進行適當?shù)刈鴺讼底儞Q不就可以了嗎,所以就使用了坐標系變化,使得每個錐體都朝向一個相同的方向。(這里旋轉(zhuǎn)不需要使用網(wǎng)絡,直接變換成正的就可以了,因為這個東西有明確的方向性,也就是視角固定)
3.在這個錐體里面縮小范圍
這里已經(jīng)確定了這個東西就在這個范圍當中,接下來要做的就是怎么在這個范圍當中繼續(xù)縮小范圍的問題。
3.1繼續(xù)利用二維空間中得到的分類信息
我們在二維空間完成的是一個object detect,這個其實是包括兩個結果一個是分割的結果、一個是識別的結果。我們上面利用的信息只有一個也就是分割的結果,所以思考怎么利用分類結果接成為了一個需要考慮的因素。
所以本文作者就將分類信息做成一個one-hot-vector輸入到到縮小范圍的過程中,這樣可以更好地輔助識別。
這個其實很好理解,本身是一個mutil_class object detection,經(jīng)過這么一處理,直接就變成了一個單獨類別的目標檢測了。找某種確定的東西顯然比找東西要有容易一些,顯然這樣也能讓網(wǎng)絡更加有針對性。
或者描述成:我們輸入是一個圓錐區(qū)域,就算我們進行適當?shù)乜s小,也可能在我們最終的范圍中還有兩個物體,所以輸入一個類別就很容易解決這個問題了。能夠?qū)⑦@個東西分出來。
3.2那么這又對縮小范圍有什么作用
- 1.因為我們想要真正的完成畫bounding box,其實需要我們完成對原有視圖的語義分割,如果有好多類別顯然有挑戰(zhàn),但是我們這里輸入這里物體的類別之后,就變成只有只有兩類標簽的語義分割。
- 2.我們接下來對其進行語義分割就順利了很多。
3.3總結
總結起來,這里其實是使用PointNet的語義分割縮小原來的大范圍,生成一個更小的范圍,以及一個中心,因為已經(jīng)產(chǎn)生了物體的中心了,這里就需要進行新的坐標系轉(zhuǎn)化。 也就變出來了圖c。
4.T-net修正
研究做到第三步其實以及差不多,但是還是有一定的偏差,
為什么還有偏差?因為我們獲得的點云來自于雷達,所以我們獲得的點都是在迎面的表層,獲得的中心也是表層的中心,但是我們需要的是內(nèi)部的中心,所以還有一定的偏差。
所以使用這個訓練了一個T-Net進行修正。
這里一定要理解一個問題這個T-Net和之前的空間旋轉(zhuǎn)不同,這里是為了完成中心點的修正。
classification
直接使用的是圖像識別過程中的結果。
Multi-task Losses
提出的原因
和傳統(tǒng)的網(wǎng)絡比起來這個網(wǎng)絡同樣也是一個流程走下來的,也是最終得到一個結果。但是不同的在于標簽的情況,傳統(tǒng)的網(wǎng)絡只有最后的一個標簽,而這里中間有很多步驟的結果是有標簽的。所以這個和我們傳統(tǒng)的監(jiān)督學習不一樣了。需要一個新的損失函數(shù)。
具體是什么
我理解文章中的這個函數(shù)實際上就是給各個損失一個權重,并且訓練過程中應當權重可以調(diào)整。
總結
以上是生活随笔為你收集整理的点云网络的论文理解(六)-Frustum PointNets 总体概括的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度学习答疑记录
- 下一篇: 卷积核个数和输入输出通道数的关系