天天看點

點雲深度學習系列四: SGPN:Similarity Group Proposal Network for 3D Point Cloud Instance1. 背景引入2.整體架構

1. 背景引入

分割概念

語義分割:對圖像中每個像素或點雲的每個點都劃分出對應的類别

執行個體分割:執行個體分割是物體檢測+語義分割的綜合體。相對物體檢測的邊界框,執行個體分割可精确到物體的邊緣;相對語義分割,執行個體分割可以标注出圖上同一物體的不同個體(羊1,羊2,羊3...)

siamese network

 兩張圖檔做分類的話,同一類在 feature space 裡面很相近,不同類就是在 feature space 裡面相差比較遠,它們的兩張圖檔 feed 到 CNN,利用共享的權重投影到同一個 feature space 上,訓練的時候用的是 Hinge Loss(即圖右公式)

點雲深度學習系列四: SGPN:Similarity Group Proposal Network for 3D Point Cloud Instance1. 背景引入2.整體架構

2.整體架構

首先使用PointNet/PointNet++來擷取Np個點雲的全局和局部特征,然後在特征的基礎上計算三個屬性矩陣相似矩陣(Similarity Matrix)、置信度矩陣(Confidence Map)和語義分割矩陣(Semantic Prediction),最後将所有結果整合即可得到執行個體分割結果。

點雲深度學習系列四: SGPN:Similarity Group Proposal Network for 3D Point Cloud Instance1. 背景引入2.整體架構

Similarity Matrix

similarity matrix 是通過 pointnet 生成的特征(Fsim),計算每個點的特征距離。Sij 就是點 i 和 點 j 在特征空間的距離,如果它距離越遠,說明它們兩個就不在同一個類别,如果距離越近,就說明在同一個類别。如果兩個點都是椅子 1 的話,它們距離比較近;如果是椅子 1 和椅子 2 ,距離比較遠;如果是椅子和桌子,它們在 feature space 裡面的距離也要非常遠。

點雲深度學習系列四: SGPN:Similarity Group Proposal Network for 3D Point Cloud Instance1. 背景引入2.整體架構

假設點的個數為Np,similarity matrix的大小為Np*Np,每一行是一個 group proposal,設一個 threshold,如果小于這個 threshold,對于每一個小于這個 threshold,表示這些點在一個 group 裡面,也就是說我們現在有 Np 個 group proposal。

訓練方式

借助siamese network的思想:兩個圖檔如果是一類的話,就讓它們在 feature specs 裡面的距離很小。如果它們不是一類的話,就讓它們距離比較大。

如果兩個點屬于不同類的話,讓它們的距離很大。如果它們是相同類的話,就讓它們在 feature specs 裡面的距離比較小,我們同樣得使用的是 Hingle loss,兩個點都是椅子 1 的話,我們就 minimize 這個 term(下圖右下公式),在這裡介紹一個 double hinge loss,也就是說兩個點,一個椅子 1、一個椅子 2 的話,我們讓它們的 margin 比 K1 大。如果兩個點是一個桌子、一個椅子的話,我們就讓它們的距離比 K2 大,在訓練的時候 K1 要比 K2 小一點,在實驗中我們發現用這種 double hinge loss 的方式,會讓結果更好一點,比 K1=K2 的時候結果好一點,這樣我們就訓練出了 similarity matrix。

點雲深度學習系列四: SGPN:Similarity Group Proposal Network for 3D Point Cloud Instance1. 背景引入2.整體架構
點雲深度學習系列四: SGPN:Similarity Group Proposal Network for 3D Point Cloud Instance1. 背景引入2.整體架構

SGPN中的相似矩陣的一個可視化結果,表示了一個指定點到其餘點的距離。紅色箭頭處表示的是指定點的位置,點雲的顔色表示相似度,黑色表示你距離較近。

Confidence Map

對于 similarity matrix 的每一個行,我們是一個 group proposal,對于這一個 group proposal,我們有一個 ground truth,然後我們把這個通過 similarity matrix 預測出來的 prediction 的結果和 ground truth 進行比較,我們計算 IoU,IoU 就是 inter section over union,也就是說,如果 IoU 越大的話,表示這一行,也就是這個 similarity propose 出來的結果更可信。如果 IoU 更小的話,是更不可信的,這樣我們就 regress 出來 confident map,然後在這裡,我們也 visualize 這些 confidence,顔色越深表示 confidence 越高,顔色越淺表示 confidence 越低,我們可以看到着一些 connection part,連接配接處的 confidence 比較低,通過這些方式去排除掉一些噪聲,相當于在 similarity matrix 的預測削減掉一些 similarity matrix confidence 比較低的 group proposal。

置信度矩陣的主要目的是反映每一個聚類是一個正确分割執行個體的可信度。在訓練階段,置信度矩陣來自于相似矩陣;但是在使用階段,置信度矩陣和相似矩陣都是則同時計算。 

點雲深度學習系列四: SGPN:Similarity Group Proposal Network for 3D Point Cloud Instance1. 背景引入2.整體架構

置信度矩陣的可視化,顔色越深表示可信度越高,而執行個體相交處的顔色則較淺.

Semantic Prediction

語義分割矩陣是一個基于點的分割器。經過PointNet求取特征後,每一個點得到一個類别機率,比如Np×Nc的矩陣,代表Np個點和Nc個類别

點雲深度學習系列四: SGPN:Similarity Group Proposal Network for 3D Point Cloud Instance1. 背景引入2.整體架構

圖(右)黃色區域代表桌子,藍色區域代表椅子

Group Proposal Merging

直接通過相似矩陣生成的聚類結果會存在較多的噪聲和重疊。本文通過去除一些置信度較低的聚類結果,并進一步使用極大值抑制等方法最終得到一個噪聲較低和沒有重疊的聚類結果。 

當聚類完成後,每一個點都會屬于某一個執行個體。但是在兩個執行個體的相鄰區域,點則可能屬于兩個執行個體;本文的方案就是将該點随機設定為某一個執行個體。

原作者公開課:http://www.mooc.ai/open/course/501

原作者公開課稿件:https://baijiahao.baidu.com/sid=1605235762733551923&wfr=spider&for=pc

泡泡機器人翻譯:https://blog.csdn.net/u012348774/article/details/80792160

(感覺文章好多,後面可能會看的越來越粗略)

繼續閱讀