首页 > 其他分享 >基于kitti数据集的可视化

基于kitti数据集的可视化

时间:2024-10-23 18:45:19浏览次数:3  
标签:基于 数据 文件夹 报错 可视化 kitti 运行

在复现完pointpillar和Second两个算法之后,又开始捣鼓kitti数据集的可视化。

参考博客:3D目标检测数据集 KITTI(标签格式解析、3D框可视化、点云转图像、BEV鸟瞰图)-CSDN博客

基于kitti数据集的算法流程(含数据集准备等):基于kitti数据集的3D目标检测算法的训练流程_pointpillar训练kitti数据集-CSDN博客

数据集和可视化代码的下载这里不再进行赘述,大家自行查看上面分享的博客。


目录

一、数据准备

1、文件夹布局

2、路径修改

二、代码运行

1、激活算法复现时的虚拟环境

2、进入文件夹目录

3、运行代码

4、报错解决

5、运行结果报错

三、结果查看


一、数据准备

1、文件夹布局

首先我们需要将下载好的数据集和可视化代码按照以下格式进行存放:

图1:kitti数据集可视化文件夹布局

我在之前进行算法复现时就已经安装好了mmdetection3d框架,这里是在mmdetection3d文件夹下新建的一个visualization文件夹,文件夹全部内容如下:

图2:mmdetection3d文件夹全部内容

其中data文件夹存放了用于复现算法的全部数据集(点云数据、图像数据、标签数据和标定数据)。tools文件夹存放了用于运行的train.py文件和test.py。内置的mmdetection3d文件夹下存放了包含pointpillar和Second算法的各种py文件(在configs文件夹下)。

将从上述博客中下载好的三个用于可视化的代码直接放在visualization文件夹下,自行新建文件夹save_output用于保存生成的带有边界框的图像,新建dataset文件夹,用于存放数据集。dataset文件夹内容如下:

图3:dataset文件夹布局

将kitti数据集中下载的testing和training文件夹(下载的压缩包解压后自动形成的两个文件夹)复制到该dataset文件夹下。这样,数据集和代码的准备工作就完成了(pycache文件夹不用管,运行成功后会自行生成)。

2、路径修改

在kitti_vis_main.py文件的visualization函数中需要修改路径为自己的数据集路径:

图4:main文件路径修改

大家根据自己的dataset文件夹路径进行修改即可。这里的data_idx是图像索引号,大家可以根据需要修改成想可视化的图像编号。

二、代码运行

1、激活算法复现时的虚拟环境

conda activate <你的虚拟环境名称>

不知道虚拟环境如何激活以及虚拟环境各种配置的可以看看算法复现的这篇博客:

基于kitti数据集的3D目标检测算法的训练流程-CSDN博客

2、进入文件夹目录

cd mmdetection3d/visualization

如果你的文件夹命名和我不同,记得修改!

3、运行代码

python kitti_vis_main.py

直接使用python命令运行main文件。

4、报错解决

运行后会出现几个报错,下面来一一解决:

图5:报错一

第一个报错就是未找到‘mayavi’模块,解决方法也很简单,直接pip install 模块名就行:

pip install mayavi
图6:报错一解决方法

运行pip命令之后再次运行main文件,这时会遇到第二个报错:

图7:报错二

同样,第二个报错也是模块问题,这里未找到‘configobj’模块,解决方法如报错一:

python install configobj
图8:报错二解决方法

5、运行结果报错

在两个报错解决之后就可以继续运行代码,但是最后在终端还是出现了error(如下图所示):

图9:运行结果报错

实际上,这里的error说的是尝试为特定类型(在本例中为 'image/png')的文件定义一个查看(或渲染)规则时遇到了问题。这个规则没有通过其测试用例。也就是图像(无论是imame还是png)在终端都无法显示。但其实到这里运行就成功了也结束了。

三、结果查看

在代码运行完毕之后,我们可以看到save_output文件夹中多了五张图片并且pycache文件夹也多了两个pyc后缀的文件。

图10:运行结果

以上是image_with_3Dboxes图像,就是生成的带有3D边界框的图像。剩下四张分别是带有边界框的鸟瞰图(BEV with boxes)、鸟瞰图(BEV)、带有2D边界框的图像(image_with2Dboxes)和激光雷达图像(lidar_on_image)。

而pyc文件为 Python 的编译文件。当你运行一个 Python 脚本时,Python 解释器会首先将源代码(.py 文件)编译成字节码,然后执行这些字节码。为了提高性能,Python 允许将这些编译后的字节码保存到一个 .pyc 文件中,这样下次运行相同的脚本时,Python 可以直接加载这些字节码,而不需要重新编译源代码。

这样就完成了kitti数据集的可视化操作。之后会进行对自己的数据集进行可视化的讲解!

标签:基于,数据,文件夹,报错,可视化,kitti,运行
From: https://blog.csdn.net/qq_52889317/article/details/143113601

相关文章

  • 基于人脸识别的Matlab代码实现
    人脸识别的Matlab代码实现 1概述人脸检测(FaceDetection)是在输入图像中确定所有人脸(如果存在)的位置,大小,位姿的过程。人脸检测作为人脸信息处理中的一项关键技术,近年来成为模式识别与计算机视觉领域一项受到普遍重视,研究十分活跃的课题﹐人脸检测问题最初来源于人脸......
  • 基于MATLAB车道检测与跟踪
    MATLAB车道检测与跟踪读了车道检测这个论文,我理解了利用matlab对车道识别算法进行仿真研究,从仿真的结果中提出具有一定实时性鲁棒性的识别方法。车道检测是智能车辆发展的智能因素。近年来对这项目的研究都是针对特定的环境和道路状况给出了不同的解决方案。近年来,自主驾驶技......
  • 基于MATLAB(DCT DWT)
    第三章图像数字水印的方案3.1图像数字水印的技术方案在数据库中存储在国际互联网上传输的水印图像一般会被压缩,有时达到很高的压缩比。因此,数字水印算法所面临的第一个考验就是压缩。JPEG和EZW(EmbeddedZero-TreeWavelet)压缩是最常见的两种压缩方法。JPEG是基于离散余弦变......
  • 基于深度学习的安全多方计算
    基于深度学习的安全多方计算(SecureMulti-PartyComputation,简称MPC)是一种密码学技术,旨在让多个参与方在不暴露各自数据的前提下,协作完成一个计算任务。这种技术在需要处理敏感数据的场景中尤为重要,例如医疗数据分析、金融风险预测等。在结合深度学习时,安全多方计算为多方数据......
  • 基于深度学习的声纹识别
    基于深度学习的声纹识别(SpeakerRecognition)是一种通过分析和识别人的声音特征来确认身份的技术。声纹识别技术广泛应用于安全验证、智能助手、银行身份识别等场景。近年来,随着深度学习技术的发展,声纹识别的准确性和鲁棒性得到了显著提升。1.声纹识别的基本概念声纹识别利用......
  • STM32基于CubeMX与Simulink的模块开发——Keil相结合(未解决)
    说明将Simulink和外置IDE结合起来,是方便习惯了代码开发的同学能更清晰和舒服的调试参考资料:Simulink自动代码生成电机控制:基于Keil软件集成-CSDN博客STM32CubeMX、keil、simulink联合开发MCU教程_simulinkinvalidindex-CSDN博客【Clion/keil+CubeMX+simulink模型化......
  • 这类可视化大屏前端实现起来绝对没问题,来给设计师打个样
    前端工程师们凭借着精湛的技术和丰富的经验,可以将设计师的创意完美地转化为现实。他们运用先进的前端框架和工具,打造出流畅的交互体验和震撼的视觉效果。对于设计师而言,这是一个绝佳的机会。通过前端实现的可视化大屏,可以为设计师提供一个具体的参考样本。设计师可以从中观察......
  • 一个基于队列、多线程的文件转换程序
    importcv2importosimportnumpyasnpimportargparseimportthreadingimportqueueimportloggingfrommultiprocessingimportValue#配置日志记录logging.basicConfig(level=logging.INFO,format='%(asctime)s===%(levelname)s===%(m......
  • 基于卷积神经网络的瓶盖状态识别系统,resnet50,mobilenet模型【pytorch框架+python源码
    更多目标检测和图像分类识别项目可看我主页其他文章功能演示:卷积神经网络,瓶盖状态识别系统,resnet50,mobilenet【pytorch框架,python】_哔哩哔哩_bilibili(一)简介基于卷积神经网络的瓶盖状态识别系统是在pytorch框架下实现的,这是一个完整的项目,包括代码,数据集,训练好的模型权重,......
  • 基于python的足球比赛数据及可视化 python 足球预测
    那么四年一度的世界杯即将要在卡塔尔开幕了,对于不少热爱足球运动的球迷来说,这可是十分难得的盛宴,而对于最后大力神杯的归属,相信很多人都满怀着期待,每个人心中都有不同的答案。软件免费下载:http://lcsjfx.com/SoccerPredictor/DownLoad今天小编就通过Python数据分析以及机器......