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

  • 朋友圈点赞的改为头像(朋友圈点赞改名字怎么改)

    朋友圈点赞的改为头像(朋友圈点赞改名字怎么改)

  • oppo首次激活时间(oppo手机激活是指开机吗)

    oppo首次激活时间(oppo手机激活是指开机吗)

  • usb fdd是u盘启动吗(u盘fdd模式)

    usb fdd是u盘启动吗(u盘fdd模式)

  • vivo前置摄像头为什么打不开(vivo前置摄像头打不开怎么办)

    vivo前置摄像头为什么打不开(vivo前置摄像头打不开怎么办)

  • 小米管理员密码是什么意思(小米管理员密码是什么)

    小米管理员密码是什么意思(小米管理员密码是什么)

  • 2200毫安电池能用多久(2200毫安电池能用多久手机)

    2200毫安电池能用多久(2200毫安电池能用多久手机)

  • 华为p30怎么扫描文件(华为P30怎么扫描身份证)

    华为p30怎么扫描文件(华为P30怎么扫描身份证)

  • iphone11相机左上角月亮图标(iphone11相机左上角月亮)

    iphone11相机左上角月亮图标(iphone11相机左上角月亮)

  • 接收行无权限什么意思(接收行无权限rcps.m776)

    接收行无权限什么意思(接收行无权限rcps.m776)

  • 苹果11软件闪退(苹果闪退怎么解决)

    苹果11软件闪退(苹果闪退怎么解决)

  • 爱奇艺怎么电视剧下不了(爱奇艺怎么电视投屏)

    爱奇艺怎么电视剧下不了(爱奇艺怎么电视投屏)

  • qq音乐访客可以隐身吗(qq音乐访客可以设置隐私吗)

    qq音乐访客可以隐身吗(qq音乐访客可以设置隐私吗)

  • chinamobile手机密码忘了怎么办(chinamobile默认密码)

    chinamobile手机密码忘了怎么办(chinamobile默认密码)

  • 剪辑电视剧片段抖音算搬运吗(剪映怎么剪辑电视剧片段)

    剪辑电视剧片段抖音算搬运吗(剪映怎么剪辑电视剧片段)

  • matex屏幕供应商是谁

    matex屏幕供应商是谁

  • 手机怎么取消流量自动关闭(手机怎么取消流量限制)

    手机怎么取消流量自动关闭(手机怎么取消流量限制)

  • 苹果x电池寿命80%要换吗(苹果x电池寿命80%能卖多少钱)

    苹果x电池寿命80%要换吗(苹果x电池寿命80%能卖多少钱)

  • 4k视频上传快手为什么会卡(4k视频上传快手怎么高清)

    4k视频上传快手为什么会卡(4k视频上传快手怎么高清)

  • 荣耀10gpu turbo怎么开(荣耀10gt手机)

    荣耀10gpu turbo怎么开(荣耀10gt手机)

  • 12.9寸多大(12.9寸多大厘米)

    12.9寸多大(12.9寸多大厘米)

  • 苹果手机听筒杂音(苹果手机听筒杂音怎么处理)

    苹果手机听筒杂音(苹果手机听筒杂音怎么处理)

  • 动画的原理是什么(动画原理在动画制作中的重要性)

    动画的原理是什么(动画原理在动画制作中的重要性)

  • Win7/Win8.1打开文件夹假死,地址栏绿色加载条缓慢前进(win7文件打开方式选错了如何恢复)

    Win7/Win8.1打开文件夹假死,地址栏绿色加载条缓慢前进(win7文件打开方式选错了如何恢复)

  • BIOS识别不了硬盘怎么办(DIY解决GUID转MBR图解)(BIOS识别不了硬盘pe可以)

    BIOS识别不了硬盘怎么办(DIY解决GUID转MBR图解)(BIOS识别不了硬盘pe可以)

  • 一般纳税人的税收优惠政策
  • 不开发票的入账怎么办?
  • 空调压缩机属于什么系统
  • 电子发票冲红后算金额吗?
  • 房企与个人订立购房合同是否贴花?
  • 全面解析是什么意思
  • 委托加工消费税纳税义务发生时间
  • 预算管理如何做好管理会计这一工作
  • 报税时其他收入
  • 个体工商户开具增值税专用发票
  • 已提完折旧车辆可以卖吗
  • 建筑业如何开票
  • 一般纳税人开3个点的票不能抵扣进项
  • 子公司可否将母公司注销
  • 国税能代开什么费用的发票?
  • 所得税季报固定资产加速折旧表资产原值
  • 小额开专票
  • 冲红发票开具
  • 个人是否可以开展募捐
  • 实收资本里的钱怎么做账
  • 保理利息开具增值税专用发票
  • 进口原材料的关税怎么算
  • 我的初级备考经验,认真就有收获
  • 房地产税开征的利弊分析
  • 认定为虚开进项发票我的业务是真实的
  • 酒店另外收电费
  • 个人所得税的征收
  • 金蝶kis期初余额设置
  • 生产废料怎么处理会计分录
  • Mac系统中使用QuickTime Player实现屏幕录像图文教程
  • touch id反应慢
  • PHP:oci_lob_copy()的用法_Oracle函数
  • 在银行按揭贷款买房是抵押吗
  • 高新企业研发费用比例
  • 进程lsass.exe
  • 债务担保是什么意思
  • 特立尼达和多巴哥
  • 贷款和应收款项应采用实际利率法,按摊余成本计量
  • pytorch model.module
  • html的论文
  • php编辑器哪个好
  • 用php制作年历
  • 临时工工资无发票可以扣除吗
  • 审计报告分别在什么阶段
  • python__get__
  • 企业年度关联业务往来报告表必须填吗
  • 企业所得税本年累计
  • 进项税额转出是借方科目还是贷方科目
  • 电梯安装发票税收分类
  • 递延所得税资产和负债怎么理解
  • 固定资产没收到发票能折旧吗
  • 以股权入资该怎么办
  • 不偿还的其他应收款
  • 没有发票的费用调增填在哪里
  • 医疗投资机构的定义
  • 销售自产农产品怎么核算成本
  • 银行账户维护费收费标准
  • 账面银行存款余额与实际余额不符
  • win10 系统内存
  • 电脑操作系统32位和62位怎么升级
  • win8.1无法启动怎么办
  • win10每周更新
  • 如何在linux shell关闭443端口
  • javascript创建对象
  • dos批处理教程
  • bootstrap怎么学
  • 编写批处理运行程序
  • jquery提交form表单数据
  • api/home/getmyregion
  • javascript new fun的执行过程
  • android获取网络数据
  • js设置点击效果
  • jquery22插件网
  • 北京市国家税务局发票查询平台
  • 税控盘连接服务器失败是什么原因黑盘发票无法上传
  • 广东省职称证书编号查询系统
  • 公积金提取需要几个工作日
  • 公司外购设备对外投资账务处理
  • 买车购置税去哪里交钱
  • 四川地方税务局官网首页
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设