使用OpenPCDet实现VoxelNext进行训练和测试:实现NuScence数据集的全局感知结果可视化

在自动驾驶和机器人技术日益蓬勃发展的今天,3D目标检测技术成为关键的一环,它赋予机器以理解和响应周围环境的能力。本文将深入探讨如何使用开源的OpenPCDet框架训练先进的VoxelNeX模型,并在nuScenes数据集上进行训练、测试,最后实现全局感知的可视化结果,以洞察检测效果。

引言

VoxelNeX,作为点云检测模型的杰出代表,利用体素(voxel)化策略高效处理大规模点云数据,实现了高精度与实时性并存的平衡。而OpenPCDet,作为一个集成了多种先进算法的开源3D检测框架,提供了从训练到评估的统一平台,特别适合研究和应用开发。

环境搭建与数据准备
  1. 安装OpenPCDet: 确标Python环境,确保安装PyTorch及OpenPCDet。克隆仓库后,执行依赖安装。

    参考:安装、测试和训练OpenPCDet:一篇详尽的指南

  2. nuScenes数据集: 从官方网站下载数据集,包含LiDAR、相机图像、雷达等多模态数据,为训练和评估准备。存放到相应的路径。

OpenPCDet
├── data
│   ├── nuscenes
│   │   │── v1.0-trainval (or v1.0-mini if you use mini)
│   │   │   │── samples
│   │   │   │── sweeps
│   │   │   │── maps
│   │   │   │── v1.0-trainval  
├── pcdet
├── tools
  • 通过运行以下命令安装版本为1.0.5的nuscenes-devkit
pip install nuscenes-devkit==1.0.5
  • 通过运行以下命令生成数据信息(可能需要几个小时):
# for lidar-only setting
python -m pcdet.datasets.nuscenes.nuscenes_dataset --func create_nuscenes_infos \    --cfg_file tools/cfgs/dataset_configs/nuscenes_dataset.yaml \    --version v1.0-trainval

# for multi-modal setting
python -m pcdet.datasets.nuscenes.nuscenes_dataset --func create_nuscenes_infos \    --cfg_file tools/cfgs/dataset_configs/nuscenes_dataset.yaml \    --version v1.0-trainval \    --with_cam

训练模型

使用以下命令开始训练:

python train.py --cfg_file ./cfgs/nuscenes_models/cbgs_voxel0075_res3d_centerpoint.yaml

结果可视化

python demo.py --cfg_file ./cfgs/nuscenes_models/cbgs_voxel0075_res3d_centerpoint.yaml --ckpt ../checkpoints_office/cbgs_voxel0075_centerpoint_nds_6648.pth --data_path ../test_data/nuscence_test_data/

实现全局可视化

def draw_box(vis, gt_boxes, color=(0, 1, 0), ref_labels=None, score=None):
    for i in range(gt_boxes.shape[0]):
        line_set, box3d = translate_boxes_to_open3d_instance(gt_boxes[i])
        if ref_labels is None:
            line_set.paint_uniform_color(color)
        else:
            # line_set.paint_uniform_color(box_colormap[ref_labels[i]])
            line_set.paint_uniform_color(box_colormap[1])

        vis.add_geometry(line_set)
    return vis

总结

本文介绍了如何使用OpenPCDet框架,实现VoxelNext模型在NuScence数据集上的训练、测试和全局感知结果可视化。通过这个过程,我们可以更好地了解VoxelNext模型在自动驾驶场景中的性能表现,为进一步优化模型和算法提供依据。同时,可视化结果也有助于我们更直观地观察和理解模型的检测效果。

关注我的公众号auto_drive_ai(Ai fighting), 第一时间获取更新内容。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/682464.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MYSQL8.30版本 服务开不了问题

CMD→services.msc 启动MySQL80时突然发现了问题,服务无法启动了: 解决方案1: 解决方案: 1. 找到mysql的data文件夹,将data进行备份,一定要备份! (data文件夹路径可以在mysql安装…

PS的抠图算法原理剖析 1

以这个抠tree为例子 在PS里,操作过程是让你开启R G B三个通道 分别看一下 哪一个的对比最明显 上面的图片 树叶肯定B最少 天空B富裕,所以对比最明显的就用B通道 然后使用一些奇怪的函数,把texture.bbb这张图片变成黑白,纯黑纯白 那…

LINUX系统编程:核心转储

目录 核心转储 这两个有什么区别呢? 那为什么在我们使用Core终止进程时没看见core文件呢? 那为什么这么好用的功能是被关闭的呢? 如何开启核心转储 写个除零错误验证一下 使用Core文件 核心转储 在使用信号的时候,我们发现…

事务管理AOP

通过事务操作 删除部门的时候,同时删除员工,那么如果其中有异常,那么就进行事务回滚 使用注解Trance Transactional-propagation(传播行为)

多语言接入淘宝API抓取淘宝数据库数据获取详情页信息评论数据等,打造个性化营销策略

在数字化时代,个性化营销已成为品牌与消费者建立联系的关键。淘宝API作为强大的工具,能够帮助商家深入挖掘消费者需求,实现精准营销。本文将探讨如何通过淘宝API提升营销效果,增强用户体验。 消费者洞察: 淘宝API提供丰…

电商行业为什么要分析竞对品牌?从哪些维度开展竞对品牌分析?

在品牌林立的商业战场上,了解和分析竞争品牌成为了企业制定市场策略的重要一环。同行业的品牌间竞争尤为激烈,因为它们往往服务于同一类消费者,提供相似的产品和服务。为了在这场竞争中站稳脚跟,甚至脱颖而出,商家必须…

关于LPC1768在线升级的实现的注意事项

开发环境:Keil 5 uVision V5.38.0.0 1、使用IAP的方式(应用程序在线编程) 2、在Flash中构建用于升级的不同区域 (1)引导区 (2)APP区 (3)升级代码存放区域 注意&…

【嵌入式DIY实例】-OLED显示BME280传感器数据

OLED显示BME280传感器数据 文章目录 OLED显示BME280传感器数据1、硬件准备与接线2、代码实现本文将介绍如何使用 ESP8266 NodeMCU 开发板(ESP12-E 模块)和 BME280 气压、温度和湿度传感器构建本地气象站。 NodeMCU 从 BME280 传感器读取温度、湿度和压力值,并将它们(分别以…

Stable Diffusion原理

核心 和diffusion相比,使用了latent(隐式空间)做diffusion,这样速度更快!!! SD模型的主体结构如下图所示,主要包括三个模型: autoencoder:encoder将图像压…

引擎:Shader

一、原理 创建Shader脚本,创建材质球,将物体的渲染效果Shader脚本挂载到材质球,最后把材质球挂到3d物体上面从而实现渲染。 二、模型边缘发光 原理:正对着摄像机的模型三角面边缘光最弱,垂直于摄像机的模型三角面边缘光…

C#——随机类Random类

Random类 C#的Random类是用于生成随机数的类,属于System命名空间,可以生成各种类型的随机数,例如整型、双精度浮点型、布尔型等。 使用方法: 使用random数据类型关键字 声明一个random的变量 值使用new random 来实例化这个变量…

电脑提示msvcp140.dll丢失的解决方法(附带详细msvcp140.dll文件分析)

msvcp140.dll是一个动态链接库(DLL)文件,属于Microsoft Visual C 2015 Redistributable的一部分。它全称为 "Microsoft C Runtime Library" 或 "Microsoft C Runtime Library",表明该文件是微软C运行时库的一…

0.2 模拟电视简介

0.2 模拟电视简介 模拟电视指从图像信号的产生、传输、处理到接收机的复原,整个过程几乎都是在模拟体制下完成的电视系统或电视设备。模拟电视使用模拟信号传输图像和音频,模拟信号的幅度、相位和频率分别表示图像的亮度、颜色和声音。模拟电视的优点&a…

石油行业的数字化转型与智能化发展:新技术综合运用助力业务提升

引言 石油行业面临的挑战与机遇 石油行业是全球能源供应的重要支柱,然而,随着资源枯竭、环境压力增加以及市场竞争加剧,石油企业面临着前所未有的挑战。传统的勘探和生产方式已经难以满足当前高效、安全、环保的要求。同时,能源转…

CSAPP Lab08——Proxy Lab完成思路

蓝色的思念 突然演变成了阳光的夏天 空气中的温暖不会很遥远 ——被风吹过的夏天 完整代码见:CSAPP/proxylab-handout at main SnowLegend-star/CSAPP (github.com) Q:计算机网络中port的作用是什么? A:在计算机网络中&#xff…

HTML+CSS+JS 动态登录表单

效果演示 实现了一个登录表单的背景动画效果,包括一个渐变背景、一个输入框和一个登录按钮。背景动画由多个不同大小和颜色的正方形组成,它们在页面上以不同的速度和方向移动。当用户成功登录后,标题会向上移动,表单会消失。 Code <!DOCTYPE html> <html lang=&q…

英语学习笔记32——What‘s he/she/it doing?

What’s he/she/it doing? 他/她/它 正在做什么&#xff1f; 词汇 Vocabulary type /taɪp/ v. 打字 n. 类型&#xff0c;签字 ing形式&#xff1a;typeing 用法&#xff1a;this type of …    这种类型的…… 例句&#xff1a;我喜欢这种苹果。    I like this type…

掌握SVG基础:从零开始学习

格栅图可以实现图片的清晰显示&#xff0c;但这也意味着如果要在各种设备上使用格栅图&#xff0c;就会增加大量不同规格的格栅图&#xff0c;以适应各种尺寸的设备。这也直接导致资源文件体积的增加&#xff0c;矢量图没有这个问题。本文将SVG代码编写与即时设计工具相结合&am…

【技巧】系统语音是英文 影刀如何设置中文-作者:【小可耐教你学影刀RPA】

写在前面 嘿哈&#xff01; 有些跨境或香港的小伙伴&#xff0c;可能需要使用英文操作界面的影刀 该功能目前还没有现成的可视化按钮&#x1f518; 但其实这个效果可以实现&#xff5e; 1、效果图 2、实现原理 %影刀安装目录%\ShadowBot-版本号\ShadowBot.Shell.dll.confi…

门面模式Api网关(SpringCloudGateway)

1. 前言 当前通过Eureka、Nacos解决了服务注册和服务发现问题&#xff0c;使用Spring Cloud LoadBalance解决了负载均衡的需求&#xff0c;同时借助OpenFeign实现了远程调用。然而&#xff0c;现有的微服务接口都直接对外暴露&#xff0c;容易被外部访问。为保障对外服务的安全…