位置: IT常识 - 正文

【BEV】TPVFormer复现以及原理

编辑:rootadmin
【BEV】TPVFormer复现以及原理 1. 前言

推荐整理分享【BEV】TPVFormer复现以及原理,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

在环视图像的网络中,常使用鸟瞰图来进行特征提取,尽管比体素表示更加高效,但也会损失部分信息,为了解决这个问题,TPVFormer论文中提出了三个视图来表示三维特征的方法,并且在实验中验证了仅使用图像作为输入,能够与雷达获得相当的分割效果。

本文主要介绍如何在本地运行mini数据集,以及生成对应的视频,后续会对源码进行深入学习。

mini数据集: https://pan.baidu.com/s/1oKvicVacbPFZNtXO7l9t7A?pwd=p4h4 提取码: p4h4

结果可视化:https://www.bilibili.com/video/BV1oX4y1o7FQ/?spm_id_from=333.999.0.0 BEV交流群,v群:Rex1586662742、q群:468713665。

2. 运行

在TPVFormer的仓库中,作者只针对完整的nuscenes数据集制作了 nuscenes_infos_train.pkl、nuscenes_infos_val.pkl,对于学习者来说,通常无法在完整nuscences数据集上进行测试,在后来的咨询下,原作者也是给出了mini数据集的pkl文件,通过下文的链接即可获得。以及liar文件

2.1 运行eval.py

在整理好数据集后,运行下面的指令就可以进行验证了

python eval.py --py-config xxxx --ckpt-path xxxx

直接运行应该会报错,如果报错为 self.table_names 里面没有 “lidarseg”,则需要修改如下内容 将/home/snk/anaconda3/envs/tpv/lib/python3.8/site-packages/nuscenes_devkit-1.1.10-py3.8.egg/nuscenes/nuscenes.py文件中的 self.table_names中添加一个变量 ‘lidarseg’

self.table_names = ['category', 'attribute', 'visibility', 'instance', 'sensor', 'calibrated_sensor', 'ego_pose', 'log', 'scene', 'sample', 'sample_data', 'sample_annotation', 'map','lidarseg']【BEV】TPVFormer复现以及原理

同时在附近添加一行代码

self.lidarseg = self.__load_table__('lidarseg')

再次运行

python eval.py --py-config xxxx --ckpt-path xxxx2.2 vis_scence.py

按照项目中的指示来安装环境可能会有问题,可以按照下面的方式来安装

pip install vtk==9.0.1pip install mayavi==4.7.3sudo apt updatesudo apt install xvfb

安装完毕即可运行生成视频,个人生成的视频见下方的链接。

python visualization/vis_scence ...python visualization/generate_videos.py

如果报错说pyqt5有问题,就卸载pyqt5

3 论文简介3.1 原理学习

一般只用俯视图来计算三维特征,而在本文中主要提出了一种表征三维特征的方法,即提出了tri-perspective view representation(TPV),通过三个方向的特征,很容易完成纯视觉的3d分割、3d语义分割等,作者将TPVFormer对标特斯拉的occupancy network。TPVFormer的主要流程如下图所示:

输入为6张环视图片,通过Image Backbone,可以得到不同尺度的特征层,多尺度特征层目前应用十分广泛。再通过TPVFormer模块可以获得TPV特征,最终将三个方向特聚合在[100,100,8]的体素中,每个体素特征是由三个方向的特征相加得到。在训练时,使用真实Lidar来监督,在预测时,可以输出稠密的体素特征。

img_feats = self.extract_img_feat(img=img, use_grid_mask=use_grid_mask) // 提取多尺度特征outs = self.tpv_head(img_feats, img_metas) # [1, 10000, 256]、 [1, 800, 256]、[1, 800, 256] 三个方向的BEV特征outs = self.tpv_aggregator(outs, points) # 分割结果

为何要提出三个方向的特征图,论文通过下图来进行说明: 如果直接用Voxel来表示三维特征,那么会极大的增加计算量,而直接用BEV特征会损失高度上的信息,而TPV在前面两者之间进行了折中处理,在保留不同视图特征的同时,极大的减少了计算量。因此,如何得到TPV特征是本文的重点。

上图即第一张图的补充版本,主要看后半段,TPVFormer可以分为Cross-Attention和HyBird-Attention,其中Cross-Attention就是在不同尺度上的特征层做self-atten,HyBird-Attention是TPV三个特征之间做self-atten,且全部使用deformable transformer来减少计算量。通过TPVFormer之后,就得到了TPV特征。通过TPV特征,即可获得任意一个Voexl在3D空间中的特征,然后利用分割头即可对其分类,以达到Occupancy的效果。

3.2 结果

4、总结

本文介绍了如何在本地进行TPVFormer的运行,对论文中的原理图片进行了学习,主要是学习到了文章中是如何进行TPV特征提取,以及如何使用TPV特征,文章的代码十分友好,后续会继续对源码进行学习。

本文链接地址:https://www.jiuchutong.com/zhishi/298640.html 转载请保留说明!

上一篇:【工程实践】np.loadtxt()读取数据(工程实践指的是)

下一篇:vue和react的区别(vue和react区别大吗)

  • 通过内容营销获取销售的十种方法(通过内容营销获得的收益)

    通过内容营销获取销售的十种方法(通过内容营销获得的收益)

  • 真我q3s怎么设置定时关机(真我Q3s怎么设置屏幕常亮)

    真我q3s怎么设置定时关机(真我Q3s怎么设置屏幕常亮)

  • 京东物流是京东自营吗(京东物流是京东快递吗)

    京东物流是京东自营吗(京东物流是京东快递吗)

  • 华为荣耀30返回键在哪里(华为荣耀30返回键怎么设置位置)

    华为荣耀30返回键在哪里(华为荣耀30返回键怎么设置位置)

  • oppo返回键不见了(oppo返回键不见了怎么恢复)

    oppo返回键不见了(oppo返回键不见了怎么恢复)

  • 五分钟的视频怎么发到微信(五分钟的视频怎么发到微信好友)

    五分钟的视频怎么发到微信(五分钟的视频怎么发到微信好友)

  • 平板没有输入法,打不了字 ,怎么办(平板没有输入法了是怎么回事)

    平板没有输入法,打不了字 ,怎么办(平板没有输入法了是怎么回事)

  • 微信注册新号为什么辅助验证通不过(微信注册新号为什么短信验证通不过)

    微信注册新号为什么辅助验证通不过(微信注册新号为什么短信验证通不过)

  • 华为应用分身qq文件夹在哪(华为应用分身权限)

    华为应用分身qq文件夹在哪(华为应用分身权限)

  • oppo和华为怎么互传(oppo和华为怎么互传照片)

    oppo和华为怎么互传(oppo和华为怎么互传照片)

  • 腾讯看点怎么关闭(腾讯看点怎样关闭)

    腾讯看点怎么关闭(腾讯看点怎样关闭)

  • 快手不允许关注是怎么回事(快手不允许关注对方是怎么回事)

    快手不允许关注是怎么回事(快手不允许关注对方是怎么回事)

  • 抖音从哪里看访客记录(抖音从哪里看访问主页记录)

    抖音从哪里看访客记录(抖音从哪里看访问主页记录)

  • 爱奇艺怎么给好友开会员(爱奇艺怎么给好友发消息)

    爱奇艺怎么给好友开会员(爱奇艺怎么给好友发消息)

  • 非淘宝会员指什么访客(淘宝不是会员可以抢茅台吗)

    非淘宝会员指什么访客(淘宝不是会员可以抢茅台吗)

  • 快手分怎么算(快手分怎么算人民币)

    快手分怎么算(快手分怎么算人民币)

  • 华为p30pro屏闪怎么回事(华为p30 pro闪屏)

    华为p30pro屏闪怎么回事(华为p30 pro闪屏)

  • 酷我音乐如何切换账号(酷我音乐如何切换第三方账号)

    酷我音乐如何切换账号(酷我音乐如何切换第三方账号)

  • 抖音小助手有什么用(抖音小助手什么时候开始有)

    抖音小助手有什么用(抖音小助手什么时候开始有)

  • Windows defender隔离区的文件在哪里(windows defender隔离区)

    Windows defender隔离区的文件在哪里(windows defender隔离区)

  • Avp.exe是什么进程?Avp.exe是病毒?怎么识别?Avp.exe常见问题介绍(avcodec是什么意思)

    Avp.exe是什么进程?Avp.exe是病毒?怎么识别?Avp.exe常见问题介绍(avcodec是什么意思)

  • NavMenu导航菜单el-submenu点击事件及激活状态变化(导航菜单是什么)

    NavMenu导航菜单el-submenu点击事件及激活状态变化(导航菜单是什么)

  • 稳岗返还资金最新账务处理
  • 抵进项税分录
  • 国家税务登记证是什么样子的
  • 借贷记账法的基本结构
  • 一次性发放年终奖怎么税务筹划
  • 个税汇算清缴为啥要补交
  • 企业出售不动产的涉税问题
  • 年利润100万要交多少企业所得税
  • 如何做好服务 服务行业
  • 不是小微企业的小规模纳税人的税收优惠
  • 加计抵扣进项税进营业外收入
  • 建筑企业如何预缴税款
  • 个体户季度报税表怎么填
  • 应交城市维护建设税分录怎么做
  • 小规模纳税人附加税优惠政策2023
  • 资本公积可以怎么处理掉
  • 未担保余值是什么意思
  • 两处拿工资的缴税问题
  • 招待费进项税额转出在申报表
  • 预提成本的会计处理
  • 甲方代付农民工工资合同
  • 企业股权融资方式有哪些
  • 货没到申请退款玩付邮费吗
  • PHP:oci_pconnect()的用法_Oracle函数
  • 异地项目不预缴税款可以开票吗
  • 金融资产终止确认是什么意思
  • 纳税人转让不动产增值税征收管理暂行办
  • 金融行业如何征收营业税
  • 甲产品生产耗用a材料10000千克,单位成本
  • Symfony2中被遗弃的getRequest()方法分析
  • php写的代码怎么运行
  • 私有化部署chatGPT,告别网络困扰
  • 收到投资款投资人怎么感谢
  • vue学起来困难吗
  • lvs命令
  • phpcms怎么用
  • 公司帮非公司员工缴税
  • 收集整理数据
  • 公司认缴出资怎么交税
  • 人员招聘费用预算
  • 一般纳税人跨年冲红报年度所得税怎么做
  • 加计扣除产生的利润可以分配吗
  • 实收资本如何计算印花税及附加税
  • 查补以前年度税款
  • 政府专项资金补助计入什么科目
  • 公司按最低标准交社保可以申请补偿吗
  • 增值税农产品免税
  • 办公室购买电脑属于什么费用
  • 非同一控制下企业合并,企业合并成本包括
  • 金蝶财务软件服务器
  • 酒店营业额下降的原因
  • 资产负债表的编制依据是会计恒等式
  • 企业应缴纳的消费税
  • mysql案例分析
  • mysql数据库如何使用
  • 浅谈基于comsol的锂离子电池仿真
  • navicat查询结果下面输出栏如何关闭
  • 韩国电脑用什么系统
  • windows取消ctrl+alt+del
  • centos直接安装
  • 怎么用u盘装xp系统教程
  • win10笔记本连接不了wifi
  • win8开机画面后黑屏
  • linux使用zsh
  • 小马kms激活工具
  • win7系统出现蓝屏怎么解决
  • windows7调节音量
  • Android FrameAnimatio和Tween补间动画
  • linux 定时执行命令
  • opengl教程48讲
  • react native 应用
  • ext.grid.editorgridpanel
  • js中document.write
  • linux中使用bash是什么意思
  • 只用html和css
  • 安卓端数据库
  • ExpandableListView 实现分组购物车
  • 宁波市税务网上营业厅
  • 卷烟批发环节的消费税一箱150元
  • 贵州银行短信服务怎么开通
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设