色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CUDA-NDT的定義與使用實例

NVIDIA英偉達企業解決方案 ? 來源:NVIDIA英偉達企業解決方案 ? 作者:NVIDIA英偉達企業解 ? 2022-07-08 09:11 ? 次閱讀

隨著自主機器的發展,我們可以在生活中經常看到自主機器的應用。有傳統應用的倉庫工廠 AMR、機械臂、銀行酒店里面的服務機器人、家庭機器人、無人物流車、自主礦卡等等。不同的自主機器,軟件架構的方案也不一樣,但核心的模塊定位、導航、感知、控制等都是相通的。

定位模塊是自主機器最核心的模塊之一,定位又包括全局定位和局部定位,對于自主機器,其精度需要達到厘米級別。

本文我們將討論全局定位,即確定自主機器在全局下的位置。傳統的低速自主機器,類似于 AMR 等,其采用的定位方式通常以 SLAM(Simultaneous Localization and Mapping)的方法進行同時建圖和定位,但是該方法實現代價高、難度大,并不適用于室外自主機器——類似于無人物流車、園區接駁車等的實時高精度定位需求。這些室外自主機器行駛速度快、距離遠、環境復雜,使得 SLAM 的精度下降,同時遠距離的行駛將導致實時構建的地圖偏移過大。因此,如果在已有高精度的全局地圖的情況下進行自主機器的定位,將極大的簡化該問題。

因此,將問題分為獨立的兩部分:建圖 Mapping 和定位 Matching。NDT 是一種點云配準算法,可同時用于點云的建圖和定位。

CUDA-NDT

正態分布變換算法(NormalDistributions Transform, NDT)ICP 算法的功能一致,即,用于計算兩幀點云數據之間的坐標變換矩陣,從而能夠使不同的坐標下的點云數據合并到同一個坐標系統中。不同的是 NDT 算法對初值不敏感,且不需要進行對應點的特征計算,所以速度較快。NDT 算法使用應用于 3D 點統計模型的標準優化技術來確定兩個點云之間最可能的配準。

NDT 算法和 ICP 算法可以結合使用,以提高配準精度和速度。首先,NDT 算法可用于粗配準,得到轉換參數;然后使用 ICP 算法結合參數進行精細配準。為了改進 NDT 算法在 NVIDIA Jetson 上的性能,我們推薦使用基于 CUDA 加速的 CUDA-NDT。

使用CUDA-NDT

以下是 CUDA-NDT 的使用實例。我們需要初始化相關的類對象,設置相關的參數,并調用接口函數。

cudaNDT ndtTest(nPCountM, nQCountM, stream);ndtTest.setInputSource(source);ndtTest.setInputTarget(target);ndtTest.setResolution(resolution);ndtTest.setMaximumIterations(nr_iterations);ndtTest.setTransformationEpsilon(epsilon);ndtTest.setStepSize(step_size);    ndtTest.ndt(cloud_source, nPCount,               cloud_target, nQCount, guess,transformation_matrix,stream);

CUDA-NDT 計算的輸出是 transformation_matrix,代表的含義如下:

  • 源點云 (P)* transformation_matrix = 目標坐標系的點云 (Q)


因為激光類型的輸出點云的數量為固定值,所以 CUDA-NDT 在輸出化的時候,要求輸入兩幀點云的最大數量,從而分配計算資源。

class cudaNDT{public:    /*       nPCountM and nQCountM are the maximum of count for input clouds       They are used to pre-allocate memory.    */    cudaNDT(int nPCountM, int nQCountM, cudaStream_t stream = 0);    ~cudaNDT(void);void setInputSource (void *source);void setInpuTarget (void *target);void setResolution (float resolution);void setMaximumIterations (int nr_iterations);void setTransformationEpsilon (double epsilon);void setStepSize (double step_size);    /*    cloud_target = transformation_matrix * cloud_source    When the Epsilon of transformation_matrix is less than threshold,    the function will return transformation_matrix.    Input:        cloud_source, cloud_target: data pointer for points cloud        nPCount: the points number of cloud_source        nQCount: the points number of cloud_target        guess: initial guess of transformation_matrix        stream: CUDA stream    Output:        transformation_matrix: rigid transformation matrix    */
    void ndt(float *cloud_source, int nPCount,            float *cloud_target, int nQCount,            float *guess, void *transformation_matrix,            cudaStream_t stream = 0);    void *m_handle = NULL;};

經過 CUDA 加速的 NDT 速度對比微加速版本提升了 4 倍左右,請參考下表的性能對比,經過 NDT 匹配的點云效果對比請參考圖 1 和圖 2。

CUDA-NDT

PCL-NDT

count of

pointscloud

7000

7000

cost time(ms)

34.7789

136.858

fitness_score

0.538

0.540

CUDA-NDT 與 PCL-NDT 的性能對比

開始使用CUDA-NDT

我們希望通過本文介紹使用 CUDA-NDT 從而獲得更好的點云注冊性能。

因為 NDT 在 NVIDIA Jetson 上無法使用 CUDA 進行點云的加速處理,所以我們開發了基于 CUDA 的 CUDA-NDT。

復制鏈接,獲得相關庫和實例代碼。

https://github.com/NVIDIA-AI-IOT/cuda-pcl/tree/main/cuda-ndt

審核編輯:湯梓紅


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • NVIDIA
    +關注

    關注

    14

    文章

    4994

    瀏覽量

    103154
  • NDT
    NDT
    +關注

    關注

    0

    文章

    26

    瀏覽量

    14950
  • CUDA
    +關注

    關注

    0

    文章

    121

    瀏覽量

    13641

原文標題:基于CUDA加速的自主機器SLAM技術——CUDA-NDT

文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    使用NDT2955代替2N6804,有沒有人幫忙分析一下無輸出的原因和能否替代?

    在XTR111的應用電路中,電路無輸出(圖1),我看到有人使用請問能否使用SS8550代替2N2907,使用BSP170P代替2N6804,請問能否使用BC856B-7-F代替2N2907,使用NDT2955代替2N6804,有沒有人幫忙分析一下無輸出的原因和能否替代?
    發表于 11-10 17:01

    有沒有大佬知道NI vision 有沒有辦法通過gpu和cuda來加速圖像處理

    有沒有大佬知道NI vision 有沒有辦法通過gpu和cuda來加速圖像處理
    發表于 10-20 09:14

    怎么在TMDSEVM6678: 6678自帶的FFT接口和CUDA提供CUFFT函數庫選擇?

    請教一下gpgpu上包括4個Riscv cpu和一個DPU, 沒有6678,要替換原來信號處理用的6678,該怎么在6678自帶的FFT接口和CUDA提供CUFFT函數庫選擇?
    發表于 09-27 07:20

    使用超聲波發送器和接收器構建高性能NDT系統

    電子發燒友網站提供《使用超聲波發送器和接收器構建高性能NDT系統.pdf》資料免費下載
    發表于 08-28 11:00 ?0次下載
    使用超聲波發送器和接收器構建高性能<b class='flag-5'>NDT</b>系統

    打破英偉達CUDA壁壘?AMD顯卡現在也能無縫適配CUDA

    電子發燒友網報道(文/梁浩斌)一直以來,圍繞CUDA打造的軟件生態,是英偉達在GPU領域最大的護城河,尤其是隨著目前AI領域的發展加速,市場火爆,英偉達GPU+CUDA的開發生態則更加穩固,AMD
    的頭像 發表于 07-19 00:16 ?4734次閱讀

    英國公司實現英偉達CUDA軟件在AMD GPU上的無縫運行

    7月18日最新資訊,英國創新科技企業Spectral Compute震撼發布了其革命性GPGPU編程工具包——“SCALE”,該工具包實現了英偉達CUDA軟件在AMD GPU上的無縫遷移與運行,標志著在GPU計算領域,NVIDIA長期以來的市場壟斷地位或將迎來重大挑戰。
    的頭像 發表于 07-18 14:40 ?667次閱讀

    基于PyTorch的卷積核實例應用

    和應用卷積操作變得簡單而高效。本文將以PyTorch為基礎,深入探討卷積核的實例應用,包括其定義、實現方式、以及在實際場景中的應用。
    的頭像 發表于 07-11 15:19 ?476次閱讀

    軟件生態上超越CUDA,究竟有多難?

    神壇的,還是圍繞CUDA打造的一系列軟件生態。 ? 英偉達——CUDA的絕對統治 ? 相信對GPU有過一定了解的都知道,英偉達的最大護城河就是CUDACUDA在后端架構上處于絕對的統
    的頭像 發表于 06-20 00:09 ?3662次閱讀

    借助NVIDIA Aerial CUDA增強5G/6G的DU性能和工作負載整合

    Aerial CUDA 加速無線接入網 (RAN)可加速電信工作負載,使用 CPU、GPU 和 DPU 在云原生加速計算平臺上提供更高水平的頻譜效率 (SE)。
    的頭像 發表于 05-24 11:10 ?595次閱讀
    借助NVIDIA Aerial <b class='flag-5'>CUDA</b>增強5G/6G的DU性能和工作負載整合

    英偉達CUDA-Q平臺推動全球量子計算研究

    英偉達今日公布了其重要戰略決策,即采用開源的CUDA-Q平臺,旨在推動德國、日本和波蘭等國家超運中心在量子計算領域的創新研究。CUDA-Q作為英偉達推出的一款開源平臺,不僅與QPU無關,還實現了量子
    的頭像 發表于 05-14 11:45 ?660次閱讀

    HarmonyOS開發實例:【自定義Emitter】

    使用[Emitter]實現事件的訂閱和發布,使用[自定義彈窗]設置廣告信息。
    的頭像 發表于 04-14 11:37 ?1010次閱讀
    HarmonyOS開發<b class='flag-5'>實例</b>:【自<b class='flag-5'>定義</b>Emitter】

    Keil使用AC6編譯提示CUDA版本過高怎么解決?

    \' ArmClang: warning: Unknown CUDA version 10.2. Assuming the latest supported version 10.1
    發表于 04-11 07:56

    鴻蒙ArkUI實例:【自定義組件】

    組件是 OpenHarmony 頁面最小顯示單元,一個頁面可由多個組件組合而成,也可只由一個組件組合而成,這些組件可以是ArkUI開發框架自帶系統組件,比如?`Text`?、?`Button`?等,也可以是自定義組件,本節筆者簡單介紹一下自定義組件的語法規范。
    的頭像 發表于 04-08 10:17 ?652次閱讀

    英偉達AI霸主地位遭巨頭聯手挑戰,CUDA壟斷遭破局

    據最新外媒報道,科技界的巨頭們——高通、谷歌和英特爾等,已經聯手向英偉達發起了一場挑戰,意圖打破其在CUDA平臺上的壟斷局面。
    的頭像 發表于 03-28 14:39 ?988次閱讀

    深入淺出理解PagedAttention CUDA實現

    vLLM 中,LLM 推理的 prefill 階段 attention 計算使用第三方庫 xformers 的優化實現,decoding 階段 attention 計算則使用項目編譯 CUDA 代碼實現。
    的頭像 發表于 01-09 11:43 ?1906次閱讀
    深入淺出理解PagedAttention <b class='flag-5'>CUDA</b>實現
    主站蜘蛛池模板: 欧美日韩看看2015永久免费| 天天摸夜添狠狠添高| 亚洲VA天堂VA欧美VA在线 | 久久无码人妻中文国产| 99成人在线| 午夜国产羞羞视频免费网站| 大香网伊人久久综合观看| 日日噜噜夜夜狠狠视频| 果冻传媒在线观看进入窗口 | 精品无码久久久久久动漫| 91久久偷偷做嫩草影院免| 噜妇插内射精品| 丰满的寡妇hd高清在线观看| 日本又黄又爽又色又刺激的视频| 99日韩精品| 香蕉久久夜色精品国产小优| 口工漫画r18全彩啪啪| 宅男午夜大片又黄又爽大片| 精品亚洲麻豆1区2区3区| 97精品在线观看| 午夜射精日本三级| 免费无遮挡又黄又爽网站| 国产精品爽爽久久久久久蜜桃网站 | 果冻传媒2021精品在线观看| 99热在线免费观看| 小护士大pp| 日本经典片免费看| 久久综合给会久久狠狠狠| 国产AV99激情久久无码天堂| 驯服有夫之妇HD中字日本| 果冻传媒色AV国产播放| ae58老司机福利| 亚洲欧洲久久| 乱辈通奷XXXXXHD猛交| 国产精品无码久久av| sihu国产精品永久免费| 一区二区三区无码被窝影院| 宿舍BL 纯肉各种PLAY H| 嫩草亚洲国产精品| 久久精品国产亚洲AV妓女不卡| 97国产精品人妻无码免费|