日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Part-A2 Net(商汤,港中文,2019.7.8,KITTI)

發(fā)布時(shí)間:2023/12/29 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Part-A2 Net(商汤,港中文,2019.7.8,KITTI) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Part-A2 Net(商湯,港中文,2019.7.8,KITTI)

3D Part-Aware and Aggregation Neural Network for Object Detection from Point Cloud

本文指出以往的3D點(diǎn)云檢測(cè)方法都忽略了標(biāo)簽數(shù)據(jù)中的內(nèi)部位置信息,因此提出了在一階段利用該信息進(jìn)行區(qū)域提議的模型。

論文貢獻(xiàn):
  • 提出part aware 和 part-aggregation 網(wǎng)絡(luò),充分利用了label中的內(nèi)部位置信息來訓(xùn)練網(wǎng)絡(luò)。
  • 提出了可以傳遞梯度的 Roi-aware point pooling 模塊來輔助給局部位置特征分組
  • KITTI最強(qiáng),2019.7.9
  • 概述:

    二階段檢測(cè)網(wǎng)絡(luò)。

    • part aware stage負(fù)責(zé)預(yù)測(cè)粗略的提議框和精確的目標(biāo)局部信息,同一個(gè)提議內(nèi)的目標(biāo)局部信息被 ROI-aware pooling 分為同一組,得到該提議的有效特征表達(dá)。
    • part-aggregation 負(fù)責(zé)對(duì)提議框打分和優(yōu)化。

    網(wǎng)絡(luò)結(jié)構(gòu):

    一、part-aware 模塊:

    點(diǎn)云特征學(xué)習(xí)

  • 體素化原始點(diǎn)云,對(duì)每個(gè)非空體素內(nèi)使用sparse-convolution 提特征。每個(gè)體素中心被作為新的點(diǎn),得到新的點(diǎn)云作為backbone的輸入。(提特征+降維)
  • 設(shè)計(jì)了新的backbone,類似于UNet。
  • 點(diǎn)云分割和預(yù)測(cè)局部位置信息

    在backbone的后面加了兩個(gè)分支分別用于分割和預(yù)測(cè)。

    從點(diǎn)云label 得到內(nèi)部位置信息 label 的方法:

    歸一化,旋轉(zhuǎn),平移到中心點(diǎn),注意只計(jì)算前景點(diǎn)。

    奇怪的是,這里計(jì)算回歸損失時(shí)使用的是binary cross entropy.
    也就是說生成的局部位置標(biāo)簽是一個(gè)bool, 表示該點(diǎn)是不是局部部位?(等有代碼了求證一下)

    生成3D區(qū)域提議

    需要使用3D區(qū)域提議將得到的屬于同一個(gè)檢測(cè)框的的局部位置預(yù)測(cè) 分組,這里把backbone得到的中間層(encoder的輸出)作為rpn head 的輸入,該輸入特征圖為三維點(diǎn)云特征向量,將其投影到BEV,位于同一位置不同高度的點(diǎn)云特征將被融合,這樣得到了二維 的點(diǎn)云特征圖。最后輸出3D區(qū)域提議。

    ROI-aware point pooling

    知道了每個(gè)提議框內(nèi)的局部位置信息 ,如何融合他們來使二階段網(wǎng)絡(luò)更好的優(yōu)化網(wǎng)絡(luò)的最終輸出?

    本文提出了 ROI-aware point pooling :將每一個(gè)提議體素化,每個(gè)體素內(nèi)的點(diǎn)特征通過融合(max /average pool)作為該體素的特征。空的體素設(shè)為0

    PointRCNN 中使用了 point cloud region pooling operation,直接丟棄了空的體素,這種操作丟失原本目標(biāo)框的形狀,帶來歧義。

    二、Part-Aggregation 模塊

    Aggregation

    輸入為ROI-aware point pooling 操作之后的輸出。其實(shí)就是一系列sparse卷積操作,其中包括concat操作將上面pooling的兩種feature合并

    三、Loss函數(shù)

    Ablation studies:

  • part-aware and aggregation是否起到了作用:

    作者通過去掉part locations rediction這部分,使用coordinates進(jìn)行代替,效果變差,證明了part locations prediction的作用。作者通過去掉part-aggregation stage的部分,直接在part-aware stage的輸出做預(yù)測(cè),也就是把NMS加在了proposal上,效果對(duì)比不如在A2上的提升明顯。

  • RoI-aware Pooling的作用:

    對(duì)比了PointRCNN中的Pooling方法,效果提升不錯(cuò),但這很容易理解,fixed size本身就存在問題。

  • Pooling之后的網(wǎng)絡(luò):

    修改了不同的網(wǎng)絡(luò)結(jié)構(gòu),效果提升不大

  • RoI pooling size:

    分的柵格約細(xì),對(duì)于難的問題處理好,但對(duì)于簡(jiǎn)單的問題,可能會(huì)產(chǎn)生干擾。

  • 個(gè)人思考:

    本文使用局部位置信息的點(diǎn)子非常新穎,也很符合直覺。但是在一些地方還有很多值得探討的地方,比如backbone中各種不同卷積層的搭配設(shè)計(jì)。

    在計(jì)算局部位置信息的回歸 loss 時(shí)使用二值交叉熵,看不懂

    最后看到 ROI pooling 就想到 ROI Align …

    注釋:

    Sparse Convolution

    ? 這個(gè)模塊主要對(duì)應(yīng)CV中的步長(zhǎng)為2的卷積層,起到pooling的作用。可以參考下面這篇引文:
    SECOND: Sparsely Embedded Convolutional Detection
    ? 使用Sparse Convolution的主要目的是因?yàn)轶w素化后對(duì)點(diǎn)云的表示方法是稀疏的。可以想象,位于天空中的柵格和位于障礙物后面的格子中是不包含激光點(diǎn)的,這種格子的特征數(shù)值為0,導(dǎo)致柵格整體來看是稀疏的。對(duì)于稀疏的柵格做普通的卷積,要做大量對(duì)數(shù)據(jù)為0的柵格做乘加操作,而這種乘加操作的結(jié)果仍然為0,所以直觀的講,對(duì)于空柵格做卷積,只是在進(jìn)行計(jì)算,而不提取任何特征,輸出與輸入均為0,而且由于體素化后大量柵格是空著的,所以大量的操作是無用的。所以在sparse convolution中,只對(duì)不為0的柵格做乘加操作,可以極大的減少操作數(shù)量。在這種思想的指導(dǎo)下,sparse convolution重新組合卷積操作中的乘加操作,使用table記錄哪些柵格不為空,從而針對(duì)性地計(jì)算,可以大大減少計(jì)算量。這種操作的輸出與正常的convolution的輸出是一樣的,只是對(duì)于稀疏的輸入來說,可以大大減少運(yùn)算數(shù)量。所以步長(zhǎng)為2的sparse convolution也好理解,就是正常convolution的理解方法,無非是計(jì)算量減小。

    Submanifold Sparse Convolution

    這個(gè)模塊主要對(duì)應(yīng)CV中CNN的卷積層,可以參考下面這篇引文:
    3D Semantic Segmentation with Submanifold Sparse Convolutional Networks
    引文中提到,對(duì)于上述sparse convolution有個(gè)問題是,隨著經(jīng)過sparse convolution的層數(shù)增多,柵格稀疏的性質(zhì)變的越來越弱。這個(gè)問題很好理解,就單對(duì)一個(gè)不為空的格子而言,經(jīng)過sparse convolution(其實(shí)也就是convolution)的操作,它的影響為卷積核的大小。也就是說,對(duì)于convolution的輸出的某個(gè)格子而言,只要其感受野內(nèi)有一個(gè)不為空的格子,這個(gè)格子就不為空。這樣子,稀疏的性質(zhì)是以指數(shù)的速度減弱的。
    針對(duì)上述問題,Submanifold Sparse Convolution做法就是對(duì)于輸出的某個(gè)格子而言,只有其在輸入中的那個(gè)對(duì)應(yīng)的格子不為空,這個(gè)格子才不為空。Submanifold Sparse Convolution的操作引文中只介紹了stride為1的convolution,經(jīng)過padding可以做到輸入和輸出的tensor大小一樣。經(jīng)過Submanifold Sparse Convolution的操作,輸出不為空的格子的位置是與輸入不為空的格子的位置是一樣的,數(shù)量也是一樣的。這樣就解決了稀疏性質(zhì)減弱的問題。
    這種操作就與普通的convolution不同了,而是對(duì)一些在convolution中輸出中不為空的格子將其強(qiáng)制為空了。

    參考:

    https://blog.csdn.net/wqwqqwqw1231/article/details/100541138

    總結(jié)

    以上是生活随笔為你收集整理的Part-A2 Net(商汤,港中文,2019.7.8,KITTI)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。