真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PointNet++理解-創(chuàng)新互聯(lián)

一、PointNet++解決了PointNet存在的哪些問題
  1. PointNet的point-wise MLP,僅僅是對(duì)每個(gè)點(diǎn)表征,對(duì)局部結(jié)構(gòu)信息整合能力太弱 -->PointNet++的改進(jìn):sampling和grouping整合局部鄰域
  2. PointNet的global feature直接由max pooling獲得,無論是對(duì)分類還是對(duì)分割任務(wù),都會(huì)造成巨大的信息損失 -->PointNet++的改進(jìn):hierarchical feature learning framework,通過多個(gè)set abstraction逐級(jí)降采樣,獲得不同規(guī)模不同層次的local和global feature(最后一個(gè)set abstraction輸出可以認(rèn)為是global feature),這樣獲得的global特征更高級(jí),表征能力更強(qiáng)。
  3. 分割任務(wù)的全局特征global feature是直接復(fù)制與local feature拼接,這樣直接進(jìn)行拼接的話,可利用的global feature太少了,生成discriminative feature能力有限 -->PointNet++的改進(jìn):分割任務(wù)設(shè)計(jì)了encoder-decoder結(jié)構(gòu),先降采樣再上采樣,使用skip connection將對(duì)應(yīng)層的local-global feature拼接,這樣的特征更高級(jí),更具有判別性。
  4. 當(dāng)然PointNet++還解決了當(dāng)點(diǎn)云不均勻的時(shí)候,在密集區(qū)域?qū)W習(xí)出來的特征可能不適合稀疏區(qū)域的問題,解決方法就是對(duì)不同半徑的子區(qū)域進(jìn)行特征提取后進(jìn)行特征堆疊,不同半徑的子區(qū)域的特征提取的維度變換也會(huì)隨著半徑的不同而不同
二、PointNet++的SA模塊中有不可導(dǎo)的FPS采樣操作,梯度如何能夠反向傳播?

3D檢測(cè)里面有這樣一類操作,用白話講,可以歸類為“路由”:即把特征從哪里取出來,或把特征匯聚到哪里去?!奥酚伞钡慕⑦^程本身可以不可導(dǎo)(比如FPS和ball query)。但“路由”一旦建立,特征的傳遞和映射過程一般都是可導(dǎo)的。所以對(duì)于FPS操作在反向傳播時(shí)的具體實(shí)現(xiàn)我認(rèn)為和torch.scatter的梯度反傳類似,初始化一個(gè)0張量,然后按照scatter賦值過去。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),南山企業(yè)網(wǎng)站建設(shè),南山品牌網(wǎng)站建設(shè),網(wǎng)站定制,南山網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,南山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

對(duì)于pointnet++中的一個(gè)例子(因?yàn)椴荒躣ebug進(jìn)用C++寫的自定義的cuda算子,debug沒法進(jìn)c++的代碼的,只能到調(diào)用的那一步,所以推薦直接采用全局搜索),對(duì)于前向傳播中那些不能導(dǎo)的操作,是要重寫一下backward函數(shù)的,重寫時(shí)可能會(huì)調(diào)用自己實(shí)現(xiàn)的cuda代碼??梢钥吹街貙懙腷ackward函數(shù)返回值只有第一個(gè)有梯度,第二個(gè)沒有梯度。backward的參數(shù)輸入來自于forward的輸出的梯度,backward返回值對(duì)應(yīng)于forward的輸入的梯度,所以說明idx沒有梯度,被截?cái)嗔?,說明idx這條路是死的,但是features這條路依然有梯度:

案例:
在這里插入圖片描述
在這里插入圖片描述
外部調(diào)用邏輯:
在這里插入圖片描述

Refer:

  1. 【代碼閱讀】PointNet++代碼梳理
  2. 【代碼閱讀】詳解在Pytorch中定義自己寫的CUDA編程函數(shù)
  3. 【代碼閱讀】PointNet++具體實(shí)現(xiàn)詳解
  4. Python 利用setup制作自定義包-打包-安裝
  5. pytorch通過torch.utils.cpp_extension構(gòu)建CUDA/C++拓展
  6. 利用torch.autograd.Function自定義層的forward和backward
  7. PyTorch 源碼解讀之 torch.autograd:梯度計(jì)算詳解

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧


當(dāng)前題目:PointNet++理解-創(chuàng)新互聯(lián)
分享地址:http://weahome.cn/article/cepdjo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部