位置: 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区别大吗)

  • 三星watch4可以测血压吗(三星watch4可以测血糖吗)

    三星watch4可以测血压吗(三星watch4可以测血糖吗)

  • qq聊天怎么触发特效(qq聊天怎么实现)

    qq聊天怎么触发特效(qq聊天怎么实现)

  • 网易云音乐怎么换背景(网易云音乐怎么设置听歌时间)

    网易云音乐怎么换背景(网易云音乐怎么设置听歌时间)

  • diamond文件夹是什么意思(diamonddownload文件夹)

    diamond文件夹是什么意思(diamonddownload文件夹)

  • 停用朋友圈别人看到的是什么(停用朋友圈别人还能看到入口吗)

    停用朋友圈别人看到的是什么(停用朋友圈别人还能看到入口吗)

  • win10rar文件怎么打开(win10rar文件东西打不开)

    win10rar文件怎么打开(win10rar文件东西打不开)

  • 小米手环无法绑定手机(小米手环无法绑定苹果手机)

    小米手环无法绑定手机(小米手环无法绑定苹果手机)

  • qq520默契问答怎么删除(qq默契问答在哪里打开)

    qq520默契问答怎么删除(qq默契问答在哪里打开)

  • 华为的文件管理在哪(华为的文件管理文件删除了,能还原回来嘛)

    华为的文件管理在哪(华为的文件管理文件删除了,能还原回来嘛)

  • sim卡坏了能在异地补吗(sim卡坏了能异地补办吗)

    sim卡坏了能在异地补吗(sim卡坏了能异地补办吗)

  • 设备管理器里无线网卡没了(设备管理器里无线网卡被隐藏)

    设备管理器里无线网卡没了(设备管理器里无线网卡被隐藏)

  • 华为拍照能不能正方形(华为拍照能不能关掉美颜)

    华为拍照能不能正方形(华为拍照能不能关掉美颜)

  • 导航路线什么叫三方应用(导航的路线是怎么设计出来的)

    导航路线什么叫三方应用(导航的路线是怎么设计出来的)

  • 荣耀20青春版怎么关闭应用悬浮窗(荣耀20青春版怎么样)

    荣耀20青春版怎么关闭应用悬浮窗(荣耀20青春版怎么样)

  • 小米智能出行怎么使用(小米智能出行怎么卸载)

    小米智能出行怎么使用(小米智能出行怎么卸载)

  • 苹果xs广角怎么开(苹果xs的广角)

    苹果xs广角怎么开(苹果xs的广角)

  • 抖音里加入购物车后在哪里看(抖音里加入购物车怎么找)

    抖音里加入购物车后在哪里看(抖音里加入购物车怎么找)

  • gbk和utf8的区别(gbk和utf-8)

    gbk和utf8的区别(gbk和utf-8)

  • 华为p30指纹解锁是在什么位置的(华为p30指纹解锁失灵修复小技巧)

    华为p30指纹解锁是在什么位置的(华为p30指纹解锁失灵修复小技巧)

  • 抖音视频水印在哪里关闭(抖音视频的水印)

    抖音视频水印在哪里关闭(抖音视频的水印)

  • 想要转人工智能,程序员该如何学习(想要转人工智能怎么办)

    想要转人工智能,程序员该如何学习(想要转人工智能怎么办)

  • airpods充电注意事项(airpods充电事项)

    airpods充电注意事项(airpods充电事项)

  • 直播都需要什么设备(直播都需要什么装备)

    直播都需要什么设备(直播都需要什么装备)

  • 拼多多店名可以改吗(拼多多店名可以一样吗)

    拼多多店名可以改吗(拼多多店名可以一样吗)

  • uni-app 怎么实现路由拦截(uni-app 怎么实现页面不跳转依旧可以传数据)

    uni-app 怎么实现路由拦截(uni-app 怎么实现页面不跳转依旧可以传数据)

  • YOLOv5源码逐行超详细注释与解读(3)——训练部分train.py(yolo v1 pytorch源代码)

    YOLOv5源码逐行超详细注释与解读(3)——训练部分train.py(yolo v1 pytorch源代码)

  • 小规模纳税人企业所得税计算
  • 没达到起征点需要申报吗
  • 开专用发票可以直接写加工费这个明细吗
  • 企业收到银行汇票退回的多余款项
  • 季报利润表本期数
  • 应付职工薪酬包括哪些内容
  • 什么情况下可要求厂商出品质保证书
  • 施工安全协议违约怎么办
  • 长期股权投资收益会计处理
  • 押金无法退回
  • 零售商品收入会计分录
  • 幼儿园幼儿买花的通知
  • 水利事业单位基建并账分录怎么写?
  • 营改增后增值税专用发票抵扣规定
  • 建筑业的合理避税
  • 工程发票备注怎么写
  • 如何确定连锁店的纳税地点?
  • 长期待摊费用要设明细科目吗
  • 内账一定要权责发生制吗
  • 非公司员工可以交社保吗
  • 外贸企业出口退税流程图
  • 工地没有手续擅自开工违法吗
  • 款已付发票未到怎么做结转成本
  • 退休人员返聘工资怎么发放
  • 视同买断委托代销如何确认纳税时间?
  • qt5core.dll丢失解决方法
  • 社保稽查补社保按什么基数来
  • 服务业成本会计分析
  • 电脑屏幕保护不能设置
  • 微软雅黑字体一般用在哪里
  • 登陆qq网页版手机会有提示吗
  • u盘怎么安装软件
  • os x yosemite dp6下载 os x 10.10 dp6官方下载地址
  • 小规模纳税人多少钱不用交税
  • 编制收款凭证的有哪些
  • 财务报表怎么判断盈亏
  • 关于农产品的法律
  • php和mysql的联合使用
  • 税前可扣除的税费
  • 投资公司要具备什么
  • 存货跌价准备减少
  • pytorch说明文档
  • 购进的货物
  • 委托加工物资验收入库的金额
  • php 返回
  • 微信公众号开发php源码
  • 不是销售类的工作可以做什么
  • 帝国cms移动端
  • 应付职工薪酬账户
  • 软件增值税即征即退网上备案
  • 财务中常有提到的问题
  • abs函数python怎么用
  • SQL Server中TRUNCATE事务回滚操作方法
  • 非房地产企业的基建管理办法
  • 挂靠到运输公司的车转让给个人如何交增值税
  • 个人经营所得税率
  • sql聚合语句
  • 运输服务属于生活服务吗
  • 折旧方法计算公式
  • 工程项目劳务分包招投标要多久
  • 公允价值变动损益和投资收益区别
  • 购买库存商品的运输费
  • 母公司代发子公司工资,子公司申报个税
  • 用友现金流量明细表
  • 备抵法核算坏账损失
  • MySQL之Field‘***’doesn’t have a default value错误解决办法
  • ubuntu选择语言
  • bios界面uefi
  • mac电脑文件夹怎么重命名
  • linux设置用户名和密码
  • win7老是自动开机启动是怎么回事啊
  • linux的web
  • window八
  • win10网络共享失败
  • win7系统电脑无声音
  • linux的安装方法
  • 用python编写登录程序
  • linux进程切换 宋宝华
  • jquery去除class
  • 广东智慧团建登录不上去怎么回事
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设