当前位置: 首页 > news >正文

基于深度学习CenterPoint的3D目标检测部署实战

1.所用硬件

硬件:英伟达 Jetson AGX

环境:ubuntu 20.04

2.安装依赖

CUDA Toolkit: 11.4
python: 3.8
numpy: 1.23.1
pytorch: 2.0.0
ros: notic
rospkg
ros_numpy:  (sudo apt-get install ros-$ros_release-ros-numpy)
pyyaml
argparse

2.拉取代码

git clone https://gitee.com/uuuu_qqq/livox_detection.gitcd livox_detectionpython3 setup.py develop

3.解决部署过程遇到的bug

3.1 EasyInstallDeprecationWarning: easy_install command is deprecated.

解决EasyInstallDeprecationWarning: easy_install command is deprecated.

3.2 torch cuda版本安装

NVIDIA 优化框架:Jetson 平台 PyTorch 安装指南

3. 3 ModuleNotFoundError: No module named ‘ros_numpy‘

sudo apt-get install ros-noetic-ros-numpy

遇到下面问题:

http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/pool/main/r/ros-noetic-ros-numpy/ros-noetic-ros-numpy_0.0.5-2focal.20250510.062009_arm64.debE: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

于是直接复制下载链接,到官网下载,然后本地安装:
在这里插入图片描述

sudo dpkg -i ros-noetic-ros-numpy_0.0.5-xxxxx_arm64.deb

3. 4 AttributeError: module ‘numpy’ has no attribute ‘float’.

raise AttributeError(__former_attrs__[attr])
AttributeError: module 'numpy' has no attribute 'float'.
`np.float` was a deprecated alias for the builtin `float`. To avoid this error in existing code, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.

只需要找到对应代码,把np.float改为float或者np.int改为int;

4.开始执行

  1. 运行 ROS.

    roscore
    
  2. 进入 ‘tools’ 目录并运行 test_ros.py(预训练模型:…/pt/livox_model_1.pt 或 …/pt/livox_model_2.pt)

    cd tools
    python3 test_ros.py --pt ../pt/livox_model_1.pt
    
  3. 播放rosbag。 (pointcloud 2的主题应该是/livox/lidar,或者自己在代码里改一下,直接接雷达数据也可以,话题类型要一致)

    rosbag play [bag path]
    
  4. rviz可视化.

    rviz -d rviz.rviz
    

在这里插入图片描述

http://www.lryc.cn/news/626889.html

相关文章:

  • 《GPT-OSS 模型全解析:OpenAI 回归开源的 Mixture-of-Experts 之路》
  • 使用 FastAPI 的 WebSockets 和 Elasticsearch 来构建实时应用
  • shell脚本——搜索某个目录下带指定前缀的文件
  • 标准解读——71页2025《数字化转型管理 参考架构》【附全文阅读】
  • C++11中的互斥锁,条件变量,生产者-消费者示例
  • Cyberduck (FTP和SFTP工具) v9.2.3.43590
  • SpringBoot3后端项目介绍:mybig-event
  • 华为云之基于鲲鹏弹性云服务器部署openGauss数据库【玩转华为云】
  • 网页作品惊艳亮相!这个浪浪山小妖怪网站太治愈了!
  • AutoGLM2.0背后的云手机和虚拟机分析(非使用案例)
  • 百度地图 添加热区(Hotspot)
  • Ubuntu_22.04安装文档
  • 应用在运行时,向用户索取(相机、存储)等权限,未同步告知权限申请的使用目的,不符合相关法律法规要求--教你如何解决华为市场上架难题
  • 【数据库】Oracle学习笔记整理之六:ORACLE体系结构 - 重做日志文件与归档日志文件(Redo Log Files Archive Logs)
  • Ubuntu 虚拟显示器自动控制服务设置(有无显示器的切换)
  • 机器学习数据预处理总结(复习:Pandas, 学习:preprocessing)
  • iOS 应用迭代与上架节奏管理 从测试包到正式发布的全流程实践
  • 数据预处理:机器学习中的关键步骤
  • 【iOS】NSRunLoop
  • 25_基于深度学习的行人检测识别系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)
  • 解决程序无响应自动重启
  • 织梦素材站网站源码 资源付费下载交易平台源码
  • DeepSeek V3.1 完整评测分析:2025年AI编程新标杆
  • 【数据结构】快速排序算法精髓解析
  • 牛津大学xDeepMind 自然语言处理(4)
  • 【Linux仓库】进程等待【进程·捌】
  • AI on Mac, Your Way!全本地化智能代理,隐私与性能兼得
  • SQL详细语法教程(七)核心优化
  • 【C语言16天强化训练】从基础入门到进阶:Day 4
  • Android 资源替换:静态替换 vs 动态替换