BEV和OCC學習-5:數據預處理流程

參考:自定義數據預處理流程 — MMDetection3D 1.4.0 文檔

數據預處理流程的設計

預處理流程中的各項操作主要分為數據加載、預處理、格式化、測試時的數據增強。

接下來將展示一個用于 PointPillars 模型的數據集預處理流程的例子。

train_pipeline = [dict(type='LoadPointsFromFile',load_dim=5,use_dim=5,backend_args=backend_args),dict(type='LoadPointsFromMultiSweeps',sweeps_num=10,backend_args=backend_args),dict(type='LoadAnnotations3D', with_bbox_3d=True, with_label_3d=True),dict(type='GlobalRotScaleTrans',rot_range=[-0.3925, 0.3925],scale_ratio_range=[0.95, 1.05],translation_std=[0, 0, 0]),dict(type='RandomFlip3D', flip_ratio_bev_horizontal=0.5),dict(type='PointsRangeFilter', point_cloud_range=point_cloud_range),dict(type='ObjectRangeFilter', point_cloud_range=point_cloud_range),dict(type='ObjectNameFilter', classes=class_names),dict(type='PointShuffle'),dict(type='DefaultFormatBundle3D', class_names=class_names),dict(type='Collect3D', keys=['points', 'gt_bboxes_3d', 'gt_labels_3d'])
]
test_pipeline = [dict(type='LoadPointsFromFile',load_dim=5,use_dim=5,backend_args=backend_args),dict(type='LoadPointsFromMultiSweeps',sweeps_num=10,backend_args=backend_args),dict(type='MultiScaleFlipAug',img_scale=(1333, 800),pts_scale_ratio=1.0,flip=False,pcd_horizontal_flip=False,pcd_vertical_flip=False,transforms=[dict(type='GlobalRotScaleTrans',rot_range=[0, 0],scale_ratio_range=[1., 1.],translation_std=[0, 0, 0]),dict(type='RandomFlip3D'),dict(type='PointsRangeFilter', point_cloud_range=point_cloud_range),dict(type='DefaultFormatBundle3D',class_names=class_names,with_label=False),dict(type='Collect3D', keys=['points'])])
]

對于每項操作,我們將列出相關的被添加/更新/移除的字典項。

數據加載

LoadPointsFromFile

  • 添加:points

LoadPointsFromMultiSweeps

  • 更新:points

LoadAnnotations3D

  • 添加:gt_bboxes_3d, gt_labels_3d, gt_bboxes, gt_labels, pts_instance_mask, pts_semantic_mask, bbox3d_fields, pts_mask_fields, pts_seg_fields

預處理

GlobalRotScaleTrans

  • 添加:pcd_trans, pcd_rotation, pcd_scale_factor

  • 更新:points, *bbox3d_fields

RandomFlip3D

  • 添加:flip, pcd_horizontal_flip, pcd_vertical_flip

  • 更新:points, *bbox3d_fields

PointsRangeFilter

  • 更新:points

ObjectRangeFilter

  • 更新:gt_bboxes_3d, gt_labels_3d

ObjectNameFilter

  • 更新:gt_bboxes_3d, gt_labels_3d

PointShuffle

  • 更新:points

PointsRangeFilter

  • 更新:points

格式化

DefaultFormatBundle3D

  • 更新:points, gt_bboxes_3d, gt_labels_3d, gt_bboxes, gt_labels

Collect3D

  • 添加:img_meta (由?meta_keys?指定的鍵值構成的 img_meta)

  • 移除:所有除?keys?指定的鍵值以外的其他鍵值

測試時的數據增強

MultiScaleFlipAug

  • 更新: scale, pcd_scale_factor, flip, flip_direction, pcd_horizontal_flip, pcd_vertical_flip (與這些指定的參數對應的增強后的數據列表)

擴展并使用自定義數據集預處理方法

  1. 在任意文件中寫入新的數據集預處理方法,如?my_pipeline.py,該預處理方法的輸入和輸出均為字典

    from mmdet.datasets import PIPELINES@PIPELINES.register_module()
    class MyTransform:def __call__(self, results):results['dummy'] = Truereturn results

  2. 導入新的預處理方法類

    from .my_pipeline import MyTransform

  3. 在配置文件中使用該數據集預處理方法

    train_pipeline = [dict(type='LoadPointsFromFile',load_dim=5,use_dim=5,backend_args=backend_args),dict(type='LoadPointsFromMultiSweeps',sweeps_num=10,backend_args=backend_args),dict(type='LoadAnnotations3D', with_bbox_3d=True, with_label_3d=True),dict(type='GlobalRotScaleTrans',rot_range=[-0.3925, 0.3925],scale_ratio_range=[0.95, 1.05],translation_std=[0, 0, 0]),dict(type='RandomFlip3D', flip_ratio_bev_horizontal=0.5),dict(type='PointsRangeFilter', point_cloud_range=point_cloud_range),dict(type='ObjectRangeFilter', point_cloud_range=point_cloud_range),dict(type='ObjectNameFilter', classes=class_names),dict(type='MyTransform'),dict(type='PointShuffle'),dict(type='DefaultFormatBundle3D', class_names=class_names),dict(type='Collect3D', keys=['points', 'gt_bboxes_3d', 'gt_labels_3d'])
    ]

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/84063.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/84063.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/84063.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

OGG 23ai for DAA 部署與補丁升級

創建ogg 用戶 /usr/sbin/groupadd -g 1002 dba /usr/sbin/groupadd -g 1001 oinstall /usr/sbin/groupadd -g 1003 oper useradd -u 1001 -g oinstall -G dba,oper oracle echo "oracle" |passwd oracle --stdin創建ogg安裝目錄 mkdir -p /u01/app/ogg/soft mkdir …

【LangchainAgent】Agent基本構建與使用

目錄 一、功能簡述 代碼功能概括 🎯 核心能力 二、運作流程 三、核心代碼 四、運行結果 五、代碼功能拆解 ? 1. 環境準備與依賴導入 ? 2. 加載網頁文檔并處理為向量 ? 3. 創建檢索工具與搜索工具 ? 4. 初始化語言模型與 Agent ? 5. 封裝支持多輪記…

【云安全】以Aliyun為例聊云廠商服務常見利用手段

目錄 OSS-bucket_policy_readable OSS-object_public_access OSS-bucket_object_traversal OSS-Special Bucket Policy OSS-unrestricted_file_upload OSS-object_acl_writable ECS-SSRF 云攻防場景下對云廠商服務的利用大同小異,下面以阿里云為例 其他如騰…

完成一個可交互的k8s管理平臺的頁面開發

使用deepseek完成設計一個k8s管理平臺,關鍵詞如下: 完成一個可交互的k8s管理平臺的頁面開發Kubernetes 管理平臺頁面設計 下面是一個基于現代Web技術的可交互Kubernetes管理平臺的頁面設計方案,使用React作為前端框架,配合Ant De…

TDengine 支持的平臺匯總

TDengine 服務端支持的平臺列表 注:1) ● 表示經過官方測試驗證, ○ 表示非官方測試驗證,E 表示僅企業版支持。 2) 社區版僅支持主流操作系統的較新版本,包括 Ubuntu 18/CentOS 7/CentOS Stream/RedHat/Debian/CoreOS/FreeBSD/Op…

使用 HTML + JavaScript 實現文章逐句高亮朗讀功能

在這個信息爆炸的時代,我們每天都要面對大量的文字閱讀。無論是學習、工作還是個人成長,閱讀都扮演著至關重要的角色。然而,在快節奏的生活中,我們往往難以找到足夠的安靜時間專注于閱讀。本文用 HTML JavaScript 實現了一個基于…

理解非結構化文檔:將 Reducto 解析與 Elasticsearch 結合使用

作者:來自 Elastic Adel Wu 演示如何將 Reducto 的文檔處理與 Elasticsearch 集成以實現語義搜索。 Elasticsearch 與業界領先的生成式 AI 工具和提供商有原生集成。歡迎觀看我們的網絡研討會,了解如何超越 RAG 基礎,或使用 Elastic 向量數據…

從Copilot到Agent,AI Coding是如何進化的?

編程原本是一項具有一定門檻的技能,但借助 AI Coding 產品,新手也能寫出可運行的代碼,非專業人員如業務分析師、產品經理,也能在 AI 幫助下直接生成簡單應用。 這一演變對軟件產業產生了深遠影響。當 AI 逐步參與代碼生成、調試乃…

UGUI Text/TextMeshPro字體組件

UGUI Text組件的不當使用及其性能瓶頸與優化 在Unity UGUI系統中,Text 組件(或其升級版 TextMeshPro)是顯示文本信息的核心元素。然而,如果不當使用,它極易成為UI性能瓶頸的罪魁禍首,尤其是在預制體、屬性…

淺談 React Hooks

React Hooks 是 React 16.8 引入的一組 API,用于在函數組件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通過簡潔的函數接口,解決了狀態與 UI 的高度解耦,通過函數式編程范式實現更靈活 Rea…

【個人筆記】數據庫原理(西電)

寫在前面:文中提到的頁面指向(如“p45”),除特別說明,都是指對應ppt上的頁面,非同款ppt的友友可忽略 第一章 ER圖和關系分解見課本p69 ER圖是常用的 概念模型 方形:實體圓形:屬性…

SDC命令詳解:使用set_propagated_clock命令進行約束

相關閱讀 SDC命令詳解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm1001.2014.3001.5482 目錄 指定端口列表/集合 簡單使用 注意事項 傳播時鐘是在進行了時鐘樹綜合后,使用set_propagated_clock命令可以將一個理想時鐘轉換為傳播時鐘&#x…

關于華為倉頡編程語言

文章目錄 一、基本概況二、技術特點1. 多范式編程2. 原生智能化3. 高性能與安全4. 全場景兼容 三、編譯器與開發工具四、語言相似性對比五、行業應用實例總結 最近經常看到這個東西,于是搜了一下,整理了一些內容,水一篇,以后慢慢研…

【STM32F1標準庫】理論——定時器中的輸出比較

目錄 一、定時器的輸出比較介紹(Output Compare) 1.整體簡介 2.輸出比較單元具體功能框圖 3.以PWM模式1舉例 二、雜談 1.CCR的全名 2.PWM簡介 3.舵機簡介 4.直流電機及驅動模塊TB6612簡介 一、定時器的輸出比較介紹(Output Compare…

前端開發面試題總結-HTML篇

文章目錄 HTML面試高頻問答一、HTML 的 src 和 href 屬性有什么區別?二、什么是 HTML 語義化?三、HTML的 script 標簽中 defer 和 async 有什么區別?四、HTML5 相比于 HTML有哪些更新?五、HTML行內元素有哪些? 塊級元素有哪些? 空(void)元素有哪些?六、iframe有哪些優點…

Scrapy爬蟲教程(新手)

1. Scrapy的核心組成 引擎(engine):scrapy的核心,所有模塊的銜接,數據流程梳理。 調度器(scheduler):本質可以看成一個集合和隊列,里面存放著一堆即將要發送的請求&#…

Transformer-BiLSTM、Transformer、CNN-BiLSTM、BiLSTM、CNN五模型時序預測

Transformer-BiLSTM、Transformer、CNN-BiLSTM、BiLSTM、CNN五模型時序預測 目錄 Transformer-BiLSTM、Transformer、CNN-BiLSTM、BiLSTM、CNN五模型時序預測預測效果基本介紹程序設計參考資料 預測效果 基本介紹 Transformer-BiLSTM、Transformer、CNN-BiLSTM、BiLSTM、CNN五…

歷史數據分析——唐山港

個股簡介 公司簡介: 唐山港口投資有限公司、北京京泰投資管理中心、河北利豐燕山投資管理中心、國富投資公司、唐山市建設投資公司、河北省建設投資公司、國投交通實業公司7家發起人共同發起設立。 經營分析: 港口經營一般項目:港口貨物裝卸搬運活動;普通貨物倉儲服務(不含…

云端回聲消除:讓超低端硬件能玩實時打斷

傳統認知里“優質交互 高性能硬件”的等式正在被打破? 超低端開發板也能實現高配置硬件才有的實時打斷語音交互? 網易云信推出的云端回聲消除技術不僅解決了硬件配置對交互體驗的限制,更以系統性解決方案重構了嵌入式設備的實時對話體驗。 困…

堆排序的詳細解讀

一.堆的基本概念 1.什么是堆 堆是一種特殊的完全二叉樹,滿足一下性質: 最大堆:每個節點的值都大于或等于其子節點的值(堆頂元素最大)最小堆:每個節點的值都小于或等于其子節點的值(堆頂元素最小…