個人筆記——SGPN初學

SGPN是前段時間看的一篇點雲實例分割的論文,在此,對SGPN的相關內容做個總結回顧。

  

SGPN是點雲實例分割的首篇論文,在google scholar上搜相關點雲實例分割的論文,似乎還有一篇是GSPN,通過點雲的三維重建去實現實例分割,具體沒有細看,略表不提。SGPN最大的貢獻在於走通了點雲實例分割的整個流程,對於點雲如何進行實例分割給出了可行性方案,SGPN是基於pointnet系列的文章,從整體來看,網絡結構簡單、靈活、高效。不過可能是由於實例分割問題本身比較複雜,其後處理的東西相對於pointnet而言多了很多。當然這有可能可以化簡,但無法避免。

 

SGPN通過相似矩陣的方式完成了實例分割的具體目標,而這也是作者在論文中着重描述的地方,闡述了爲什麼相似矩陣更適合點雲的實例分割,而不是像mask-rcnn的處理方式一樣,通過目標檢測+FCN的方式實現。而正如作者所言,二維圖像具有很強的空間相關性,在點雲中,由於點的無序性,造成了這種空間相關性的消失,所以點雲必須在處理的時候,將整個整體同時進行處理,可以視爲是shape-centric structure,網絡在學習時,必須基於此進行學習,網絡可以不使用相似矩陣表示,但仍應遵循此原則。

 

接下來對網絡的前向結構進行描述:

SGPN的網絡結構如上圖所示,在特徵提取階段,使用pointnet/pointnet++的中間層作爲特徵提取的網絡結構,在具體使用上,是使用了pointnet的倒數第二層卷積層的結果。在特徵提取之後,SGPN將網絡分爲三個部分,分別爲相似矩陣、置信度矩陣和最後的語義分割結果。在相似矩陣中,Fsim(i,j)表示第i個點和第j個點的相似度,當我們卡一個閾值時,即可取到與i點最相似的一些點,而這些點構成了i點所在實例的proposal,相似矩陣中每個點都會作爲基準點,故而會構成n個proposal,當然在後續處理中,會對這些proposal進行修剪,輸出不重疊、置信度最高的m個proposal,但相似矩陣是整個輸出的基礎。置信度矩陣和相似矩陣相對應,表示相似度矩陣中第i個proposal的置信度,在實際處理時,作者通過擬合相似矩陣所表示的proprosal和真實的proposal之間的iou來表示該置信度。語義分割結果就較好理解了,只是將pointnet的最後一層接上去,得到結果,在論文中額外添加了一層卷積層,這一層可能帶來效果的提升,但從結構上來說,並不重要。

 

SGPN的後向結構:

後向結構可能描述不準確,這一塊主要介紹損失函數,因爲損失函數控制了網絡的整體優化過程,確定了反向傳播的方向,所以暫且稱爲後向結構。在SGPN中,損失函數由三部分構成,相似矩陣的訓練使用了double-hinge損失,論文將點對分爲三種:(1)同一個實例的點。(2)同一類但不同實例的點。(3)不同類的點。在實例分割中,我們最終關注的是是否在同一實例,但是若不設置第二類,對於語義分割來說,就會發生混亂,會將同一分類不同實例的點與不同類型的點混爲一談,但若不加重第二類的損失,則語義分割網絡會將同一實例的點和不同實例同一類型的點混淆,所以需要加大損失。在置信度矩陣中,作者直接通過計算iou和預測值之間的l2損失來完成模型的訓練。語義分割網絡仍使用交叉熵損失,除此之外,作者加入了中值平衡,此舉有利於低點數的類的訓練。double-hinge損失圖如下:

 

SGPN的後處理:

SGPN的後處理主要爲基於相似矩陣結果,處理出最終的proposal的流程,在整體n個proposal中,SGPN首先剪去confidence小於閾值的proposal(default=0.1),然後構建相關proposal,proposal由每一行中相似度小於閾值的點構成,具體閾值爲當正負例的比例爲4比1時,相似度閾值的平均值,該值的具體統計結果由valid.py完成,保存於pergroup_thres.txt中,此舉主要針對某一類存在多個實例的情形,若只有一個實例,則閾值默認爲0.2。在構成proposal後,SGPN會剪去proposal中點數小於閾值的proposal,該值默認爲200,但在實現過程中,在valid.py中,作者對該值重新進行了統計,即爲mingroupsize.txt,最終閾值實爲該類下實例平均點數的1/4。在完成上述proposal的構建和剪枝後,SGPN使用非極大值抑制構建最終結果,非極大值抑制使用的iou閾值默認爲0.6,具體流程爲:若proposals爲空,則直接加入,否則遍歷proposals,出現iou>0.6或者與該proposal的交集大於80%,若該集合點數多於proposal,則替換。proposals保存了整個SGPN的最終結果,在每個proposal中,根據proposal語義分割結果的衆數,調整proposal的語義分割結果,最終得到整個語義分割和實例分割結果。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章