[開源框架]mmdetection3d學習(一):初步認識


mmdetection3d

mmdetection3d 是 mmdetection 的 3D 版本,近期剛開源。

源碼地址 https://github.com/open-mmlab/mmdetection3d

官方文檔 https://mmdetection3d.readthedocs.io/en/latest/

新一代3D目標檢測通用框架 https://zhuanlan.zhihu.com/p/165647329

框架結構

mmdetection3d

  • config: 各種模型、數據集的配置參數文件

  • tools: 常用腳本,包括最頂層的 train.py , test.py

  • tests: 各個模塊組件的單元測試代碼

  • data: 存放數據集的目錄,可以放一些 demo 樣本,或建立 soft link 到數據集的根目錄

  • mmdet3d: 核心代碼

    • apis: 一般是 train.py , test.py 等,在最外層的腳本里調用到這里面的文件。
    • core: 核心代碼,常被其他模塊調用。
    • dataset: 各數據集的定義,以及處理數據集到載入網絡的pipeline,可理解為預處理過程。
    • models: 將網絡划分為 backbone + neck + head.
      • backbone 負責提取特征,比如 ResNet
      • neck 比如 FPN ,可以省略
      • head 負責得到最終預測結果、計算損失。其中 head 又分為 dense_head , roi_head , 分別對應一階段的檢測網絡和二階段的檢測網絡。
      • detectors 則是整個網絡的完整定義。
      • 還有許多不同網絡各自的小組件。
    • ops: 自定義的 torch op,基本都有相應的 cppcuda 的實現。

mmdetection3d從配置文件中加載所有參數,包括網絡結構的定義、所選取的數據集、數據如何加載(加載哪些樣本、如何對加載樣本做預處理)、訓練參數。注意配置文件之間存在繼承關系,讀某一配置文件覺得不齊全的時候可以去看一下它繼承的配置文件。

代碼中涉及到的模塊會用到注冊器注冊。

結構大體上與mmdet類似,不過目前mmdet3d資料還比較少,很多沒太搞懂的地方都是去搜索mmdet相關的資料才能理解。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM