菜码编程

  • 首页
  • 隐私政策
Caima Coding
专注于AI项目实战分享
  1. 首页
  2. 人工智能
  3. 正文

[论文复现] 单目3D目标检测—ImVoxelNet

2025年 3月 12日 2567点热度 0人点赞 0条评论
内容目录

ImVoxelNet 复现

声明

  • 本项目不是原创,是基于ImVoxelNet 进行的修改,主要是为了适配更高的版本的 pytorch 和 mmcv 。
  • 采用 OpenMMLab 的 mmdetection3d 进行实现,仅能用于预训练模型的推理。

环境配置

硬件信息

nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Thu_Jun__6_03:03:05_Pacific_Daylight_Time_2024
Cuda compilation tools, release 12.5, V12.5.82
Build cuda_12.5.r12.5/compiler.34385749_0
nvidia-smi
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 572.16                 Driver Version: 572.16         CUDA Version: 12.8     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                  Driver-Model | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 4060      WDDM  |   00000000:01:00.0  On |                  N/A |
|  0%   46C    P3             N/A /  120W |    3805MiB /   8188MiB |     11%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

创建环境

# 创建虚拟环境
conda create -n imvoxelnet python=3.8.20
# 激活虚拟环境
conda activate imvoxelnet

git clone https://github.com/henu77/ImVoxelNet-Unofficial.git

cd ImVoxelNet-Unofficial

# 安装CUDA 11.1版本的torch和torchvision
pip install torch==2.0.0+cu118 torchvision==0.15.1+cu118 -f https://mirrors.aliyun.com/pytorch-wheels/cu118

# 安装mmcv、mmengine、mmdet
pip install -U openmim
mim install mmcv==2.0.0
mim install mmengine==0.10.6
mim install mmdet==3.3.0

# 本地安装mmdetection3d
pip install -e .

# 安装PyQT5
pip install PyQt5 pygrabber==0.1
# 安装Gradio
pip install gradio==4.44.1

下载预训练权重

从这里下载对应的预训练权重,放到 ./checkpoints 文件夹下,并修改为名字为 imvoxelnet_total_sunrgbd_fast.pth。

创新点

  1. 端到端的多视角优化:首次将多视角RGB图像的3D物体检测任务定义为端到端的优化问题,支持任意数量输入(单目或多视角),且在训练和推理中均可灵活处理不同数量的视图。
  2. 通用全卷积架构:提出了一种全卷积3D检测框架(ImVoxelNet),通过将2D图像特征投影到3D体素空间,结合3D卷积网络提取特征,并复用点云检测器的头部结构,无需额外修改。
  3. 跨场景通用性:通过领域特定的检测头(室内/室外)实现统一的架构,在室内外场景(如KITTI、ScanNet)中均取得最优性能,成为首个通用型RGB-based 3D检测方法。

方法

  1. 数据预处理:
    • 特征提取:使用预训练的2D卷积网络(如ResNet-50)提取多尺度特征,并通过FPN融合。
    • 体素投影:将2D特征按相机位姿投影到3D体素空间,通过平均聚合多视角特征,构建3D体素表示。
  2. 3D特征提取:
    • 编码器-解码器结构:针对室内场景设计轻量化的3D卷积网络,降低计算复杂度;室外场景则将体素压缩到BEV平面,使用2D卷积处理。
  3. 检测头设计:
    • 室外检测头:基于BEV平面,采用2D锚框回归3D边界框(位置、尺寸、角度)。
    • 室内检测头:扩展FCOS到3D,通过多尺度3D卷积预测边界框,引入旋转3D IoU损失。
    • 额外任务头:联合估计相机位姿和房间布局(仅用于部分室内数据集)。

image-20250312195144750

实验结果

指标

  • 在 KITTI 数据集上的结果

image-20250312195349843

  • 在 SUN RGB-D 数据集上的结果

image-20250312195450152

  • 在 ScanNet 数据集上的结果

image-20250312195512125

可视化

image-20250312195612339

image-20250312195240782

界面展示

# 运行 PyQT5 界面
python ui.py

image-20250312205924123

image-20250312205806735

image-20250312205906440

# 运行 Gradio 界面
python gradio_ui.py

image-20250312210045668

image-20250312210114295

本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可
标签: 3D目标检测 ResNet50 人工智能 图像处理
最后更新:2025年 3月 12日

Marlone

这个人很懒,什么都没留下

打赏 点赞
< 上一篇

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复
文章目录
  • ImVoxelNet 复现
    • 声明
    • 环境配置
      • 硬件信息
      • 创建环境
      • 下载预训练权重
    • 创新点
    • 方法
    • 实验结果
      • 指标
      • 可视化
      • 界面展示

COPYRIGHT © 2024 菜码编程. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

豫ICP备2024080801号