91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內不再提示

KITTI 3D檢測數(shù)據(jù)集

新機器視覺 ? 來源:新機器視覺 ? 作者:千百度@知乎 ? 2022-05-31 10:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

77c8d9f8-e01e-11ec-ba43-dac502259ad0.png

基于Lidar的object檢測模型包括Point-based [PointRCNN(CVPR19), IA-SSD(CVPR22)等], Voxel-based [PointPillars(CVPR19), CenterPoint(CVPR21)等],Point-Voxel-based [PV-RCNN(CVPR20), HVPR(CVPR21)等]和Multi-view-based[PIXOR(CVPR18)等]等。本博客主要記錄,作為菜鳥的我,在KITTI數(shù)據(jù)集上(3類)基于PyTorch實現(xiàn)PointPillars的一些學習心得, 訓練和測試的pipeline如Figure 1所示。這里按照深度學習算法的流程進行展開: 數(shù)據(jù) + 網(wǎng)絡結構 + 預測/可視化 + 評估,和實現(xiàn)的代碼結構是一一對應的,完整代碼已更新于github//github.com/zhulf0804/PointPillars [說明 - 代碼的實現(xiàn)是通過閱讀mmdet3dv0.18.1源碼, 加上自己的理解完成的。因為不會寫cuda, 所以cuda代碼和少量代碼是從mmdet3dv0.18.1復制過來的。]

78442ec8-e01e-11ec-ba43-dac502259ad0.jpg

一、KITTI 3D檢測數(shù)據(jù)集

1.1 數(shù)據(jù)集信息:

·KITTI數(shù)據(jù)集論文:Are we ready for autonomous driving? the kitti vision benchmark suite[CVPR 2012] 和Vision meets robotics: The kitti dataset[IJRR 2013]·KITTI數(shù)據(jù)集下載(下載前需要登錄): point cloud(velodyne, 29GB), images(image_2, 12 GB), calibration files(calib, 16 MB)和labels(label_2, 5 MB)。數(shù)據(jù)velodyne, calib 和 label_2的讀取詳見utils/io.py

1.2 ground truth label信息 [file]

對每一幀點云數(shù)據(jù), label是 n個15維的向量, 組成了8個維度的信息。

786aee6e-e01e-11ec-ba43-dac502259ad0.png

1)訓練時主要用到的是類別信息(type) 和3d bbox 信息 (location, dimension, rotation_y).2)觀測角(alpha)和旋轉角(rotation_y)的區(qū)別和聯(lián)系可以參考博客blog.csdn.net/qq_161375。

1.3 坐標系的變換

因為gt label中提供的bbox信息是Camera坐標系的,因此在訓練時需要使用外參等將其轉換到Lidar坐標系; 有時想要把3d bbox映射到圖像中的2d bbox方便可視化,此時需要內參。具體轉換關系如Figure 2。坐標系轉換的代碼見utils/process.py。

78b98984-e01e-11ec-ba43-dac502259ad0.jpg

1.4 數(shù)據(jù)增強

數(shù)據(jù)增強應該是Lidar檢測中很重要的一環(huán)。發(fā)現(xiàn)其與2D檢測中的增強差別較大,比如3D中會做database sampling(我理解的是把gt bbox進行cut-paste), 會做碰撞檢測等。在本庫中主要使用了采用了5種數(shù)據(jù)增強, 相關代碼在dataset/data_aug.py
  • 采樣gt bbox并將其復制到當前幀的點云
    • 從Car, Pedestrian, Cyclist的database數(shù)據(jù)集中隨機采集一定數(shù)量的bbox及inside points, 使每類bboxes的數(shù)量分別達到15, 10, 10.
    • 將這些采樣的bboxes進行碰撞檢測, 通過碰撞檢測的bboxes和對應labels加到gt_bboxes_3d, gt_labels
    • 把位于這些采樣bboxes內點刪除掉, 替換成bboxes內部的點.
  • bbox 隨機旋轉平移
    • 以某個bbox為例, 隨機產生num_try個平移向量t和旋轉角度r, 旋轉角度可以轉成旋轉矩陣(mat).
    • 對bbox進行旋轉和平移, 找到num_try中第一個通過碰撞測試的平移向量t和旋轉角度r(mat).
    • 對bbox內部的點進行旋轉和平移.
    • 對bbox進行旋轉和平移.
  • 隨機水平翻轉
    • points水平翻轉
    • bboxes水平翻轉
  • 整體旋轉/平移/縮放
    • object旋轉, 縮放和平移
    • point旋轉, 縮放和平移
  • 對points進行shuffle: 打亂點云數(shù)據(jù)中points的順序。
Figure3是對上述前4種數(shù)據(jù)增強的可視化結果。

78e2ec70-e01e-11ec-ba43-dac502259ad0.jpg

二、網(wǎng)絡結構與訓練

790ffaf8-e01e-11ec-ba43-dac502259ad0.png

7944643c-e01e-11ec-ba43-dac502259ad0.png

2.2 GT值生成

Head的3個分支基于anchor分別預測了類別, bbox框(相對于anchor的偏移量和尺寸比)和旋轉角度的類別, 那么在訓練時, 如何得到每一個anchor對應的GT值呢 ? 相關代碼見model/anchors.py

79a33d0e-e01e-11ec-ba43-dac502259ad0.png

79daebe6-e01e-11ec-ba43-dac502259ad0.png

2.3 損失函數(shù)和訓練

現(xiàn)在知道了類別分類head, bbox回歸head和朝向分類head的預測值和GT值, 接下來介紹損失函數(shù)。相關代碼見loss/loss.py

7a01fcf4-e01e-11ec-ba43-dac502259ad0.png

總loss = 1.0*類別分類loss + 2.0*回歸loss + 2.0*朝向分類loss。模型訓練: 優(yōu)化器torch.optim.AdamW(), 學習率的調整torch.optim.lr_scheduler.OneCycleLR(); 模型共訓練160epoches。

三、單幀預測和可視化

基于Head的預測值和anchors, 如何得到最后的候選框呢 ? 相關代碼見model/pointpillars.py。一般經過以下幾個步驟:基于預測的類別分數(shù)的scores, 選出nms_pre (100) 個anchors: 每一個anchor具有3個scores, 分別對應屬于每一類的概率, 這里選擇這3個scores中最大值作為該anchor的score; 根據(jù)每個anchor的score降序排序, 選擇anchors。

7a278974-e01e-11ec-ba43-dac502259ad0.png

3. 逐類進行以下操作:
  • 過濾掉類別score 小于 score_thr (0.1) 的bboxes
  • 基于nms_thr (0.01), nms過濾掉重疊框:

7a9bf3a4-e01e-11ec-ba43-dac502259ad0.png

另外, 基于Open3d實現(xiàn)了在Lidar和Image里3d bboxes的可視化, 相關代碼見test.pyutils/vis_o3d.py。下圖是對驗證集中id=000134的數(shù)據(jù)進行可視化的結果。

7acf8ade-e01e-11ec-ba43-dac502259ad0.jpg

7af3dce0-e01e-11ec-ba43-dac502259ad0.jpg

四、模型評估

評估指標同2D檢測類似, 也是采用AP, 即Precison-Recall曲線下的面積。不同的是, 在3D中可以計算3D bbox, BEV bbox 和 (2D bbox, AOS)的AP。先說明一下AOS指標和Difficulty的定義。

7b52c138-e01e-11ec-ba43-dac502259ad0.png

Difficulty: 根據(jù)2d框的高度, 遮擋程度和截斷程度, 把bbox分為 difficulty=0, 1, 2 或 其它。相關定義具體查看代碼pre_process_kitti.py#L16-32。這里以3D bbox為例, 介紹類別=Car,difficulty=1AP的計算。注意, difficulty=1的數(shù)據(jù)實際上是指difficulty<=1的數(shù)據(jù); 另外這里主要介紹大致步驟, 具體實現(xiàn)見evaluate.py。1.計算3D IoU (utils/process.pyiou3d(bboxes1, bboxes2)), 用于判定一個det bbox是否和gt bbox匹配上 (IoU > 0.7)。2.根據(jù)類別=Car,difficulty=1選擇gt bboxes和det bboxes。
  • gt bboxes: 選擇類別=Car,difficulty<=1的bboxes;
  • det bboxes: 選擇預測類別=Car的bboxes。
3. 確定P-R曲線中的點對(Pi, Ri)對應的score閾值。

7bed7ae8-e01e-11ec-ba43-dac502259ad0.png

7c33fc20-e01e-11ec-ba43-dac502259ad0.jpg

五、總結點云檢測, 相比于點云中其它任務(分類, 分割和配準等), 邏輯和代碼都更加復雜, 但這并不是體現(xiàn)在網(wǎng)絡結構上, 更多的是體現(xiàn)在數(shù)據(jù)增強, Anchors和GT生成, 單幀推理等。點云檢測, 相比于2D圖像檢測任務, 不同的是坐標系變換, 數(shù)據(jù)增強(碰撞檢測, 點是否在立方體判斷等), 斜長方體框IoU的計算等; 評估方式因為考慮到DontCare, difficulty等, 也更加復雜一些.初次接觸基于KITTI的3D檢測, 如有理解錯誤的, 還請指正; 內容太多了, 如有遺漏, 待以后補充。 審核編輯 :李倩

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

    關注

    1

    文章

    1353

    瀏覽量

    22798
  • 數(shù)據(jù)集

    關注

    4

    文章

    1236

    瀏覽量

    26197
  • 深度學習
    +關注

    關注

    73

    文章

    5599

    瀏覽量

    124398

原文標題:3D點云 (Lidar)檢測入門篇 : PointPillars PyTorch實現(xiàn)

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    常見3D打印材料介紹及應用場景分析

    3D打印材料種類豐富,不同材料性能差異明顯。本文介紹PLA、ABS、PETG等常見3D打印材料的特點與應用場景,幫助讀者了解3D打印用什么材料更合適,為選材提供基礎參考。
    的頭像 發(fā)表于 12-29 14:52 ?620次閱讀
    常見<b class='flag-5'>3D</b>打印材料介紹及應用場景分析

    探索TLE493D-P3XX-MS2GO 3D 2Go套件:開啟3D磁傳感器評估之旅

    探索TLE493D-P3XX-MS2GO 3D 2Go套件:開啟3D磁傳感器評估之旅 在電子工程師的日常工作中,評估和開發(fā)磁傳感器是一項常見且重要的任務。英飛凌(Infineon
    的頭像 發(fā)表于 12-18 17:15 ?831次閱讀

    iDS iToF Nion 3D相機,開啟高性價比3D視覺新紀元!

    一、友思特新品 友思特 iDS uEye Nion iTof 3D相機將 120 萬像素的卓越空間分辨率與可靠的深度精度相結合—即使在極具挑戰(zhàn)性的環(huán)境中也能確保獲取精細的 3D 數(shù)據(jù)。 其外殼達到
    的頭像 發(fā)表于 12-15 14:59 ?372次閱讀
    iDS iToF Nion <b class='flag-5'>3D</b>相機,開啟高性價比<b class='flag-5'>3D</b>視覺新紀元!

    Vitrox的v510i系列的3D AOI光學檢測設備

    V510i部署在SMT生產線的 貼片機之后、回流焊爐之前或之后 ,主要用于檢測貼裝好的電子元件是否存在缺陷。其核心任務是: 3D與2D復合檢測 :同時利用
    的頭像 發(fā)表于 12-04 09:27 ?664次閱讀

    Vitrox 3D在線X-RAY檢測技術

    中國的核心代理商,致力于將前沿的自動光學檢測技術帶給國內電子制造業(yè)。今天,我們將深入剖析Vitrox核心技術之一——3D在線X-RAY自動檢測系統(tǒng)?的工作原理 一、技術背景:為何需要3D
    的頭像 發(fā)表于 12-03 10:05 ?648次閱讀

    微納尺度的神筆——雙光子聚合3D打印 #微納3D打印

    3D打印
    楊明遠
    發(fā)布于 :2025年10月25日 13:09:29

    玩轉 KiCad 3D模型的使用

    “ ?本文將帶您學習如何將 3D 模型與封裝關聯(lián)、文件嵌入,講解 3D 查看器中的光線追蹤,以及如何使用 CLI 生成 PCBA 的 3D 模型。? ” ? 在日常的 PCB 設計中,我們大部分
    的頭像 發(fā)表于 09-16 19:21 ?1.2w次閱讀
    玩轉 KiCad <b class='flag-5'>3D</b>模型的使用

    iTOF技術,多樣化的3D視覺應用

    動態(tài)模糊,確保高耐光性,同時輸出2D(紅外)和3D(深度)數(shù)據(jù)。 ◆ Testing Principles ※ 測量脈沖光的飛行時間,以檢測 TOF 相機與被測物體之間的距離。
    發(fā)表于 09-05 07:24

    AD 3D封裝庫資料

    ?AD ?PCB 3D封裝
    發(fā)表于 08-27 16:24 ?7次下載

    3D激光輪廓儀可實現(xiàn)在線3D測量和檢測

    Z-Trak? Express 1K5 系列專為實現(xiàn)經濟高效的在線3D測量和檢測而設計,具有高速檢測能力和實時處理性能。
    的頭像 發(fā)表于 08-08 17:17 ?971次閱讀
    <b class='flag-5'>3D</b>激光輪廓儀可實現(xiàn)在線<b class='flag-5'>3D</b>測量和<b class='flag-5'>檢測</b>

    3D打印能用哪些材質?

    3D打印的材質有哪些?不同材料決定了打印效果、強度、用途乃至安全性,本文將介紹目前主流的3D打印材質,幫助你找到最適合自己需求的材料。
    的頭像 發(fā)表于 07-28 10:58 ?3799次閱讀
    <b class='flag-5'>3D</b>打印能用哪些材質?

    海伯森3D閃測傳感器,工業(yè)檢測領域的高精度利器

    隨著信息技術的飛速進步,第四次視覺革命深度融合“人”“機”“物”,基于光學原理的3D視覺檢測技術迎來爆發(fā)式發(fā)展,成為工業(yè)生產中更高效的檢測利器。3D視覺技術通過非接觸性、高速性、
    的頭像 發(fā)表于 06-20 17:46 ?1470次閱讀
    海伯森<b class='flag-5'>3D</b>閃測傳感器,工業(yè)<b class='flag-5'>檢測</b>領域的高精度利器

    3D AD庫文件

    3D庫文件
    發(fā)表于 05-28 13:57 ?6次下載

    TPS65735 用于主動快門 3D 眼鏡的電源管理 IC數(shù)據(jù)手冊

    TPS65735 設備是用于活動的電源管理單元 (PMU) 快門 3D 眼鏡由集成電源路徑、線性充電器、LDO、升壓轉換器、 以及全 H 橋模擬開關,用于一對主動快門中的左右快門作 3D 眼鏡。除了
    的頭像 發(fā)表于 04-28 09:41 ?899次閱讀
    TPS65735 用于主動快門 <b class='flag-5'>3D</b> 眼鏡的電源管理 IC<b class='flag-5'>數(shù)據(jù)</b>手冊

    3D閃存的制造工藝與挑戰(zhàn)

    3D閃存有著更大容量、更低成本和更高性能的優(yōu)勢,本文介紹了3D閃存的制造工藝與挑戰(zhàn)。
    的頭像 發(fā)表于 04-08 14:38 ?2442次閱讀
    <b class='flag-5'>3D</b>閃存的制造工藝與挑戰(zhàn)