mmdetection3d SUN RGB-D数据集预处理

news2024/11/23 20:43:00

        SUN RGB-D是普林斯顿大学发布的一种关于室内场景理解的数据集,共包含了10335个样本,其中训练样本和验证测试样本数量分别为5285和5050。每个样本包含了彩色图像(RGB)和深度(D)信息,并且分别进行了二维和三维标注。数据集的具体细节将在后续进行补充,这里主要介绍如何在mmdection3d中使用SUN RGB-D数据集。

1 SUN RGB-D数据集下载

        SUN RGB-D数据集下载地址为https://rgbd.cs.princeton.edu/data/,主要下载SUNRGBD.zip、SUNRGBDMeta2DBB_v2.mat、SUNRGBDMeta3DBB_v2.mat 和SUNRGBDtoolbox.zip等文件。

图1 SUN RGB-D数据集下载列表

        将下载下来的 SUNRGBD.zip、SUNRGBDMeta2DBB_v2.mat、SUNRGBDMeta3DBB_v2.mat 和SUNRGBDtoolbox.zip移动到mmdetection3d工程目录下的data/sunrgbd/ OFFICIAL_SUNRGBD文件夹下,并解压.zip压缩文件。

2 matlab数据集预处理

        Mmdetection3d官方SUN RGB-D数据集的处理过程详细介绍地址为“https://github.com/open-mmlab/mmdetection3d/blob/master/data/sunrgbd/README.md/”。预处理过程需要先运行matlab预处理脚本文件,即.m格式文件。这需要额外安装matlab。下一节将介绍对应的python处理脚本。如果没有安装matlab,则可跳过该步骤,直接查看下一节。

        SUN RGBD的Matlab程序位于data/sunrgbd/matlab文件夹。进入到data/sunrgbd/matlab文件夹下,分别执行extract_split.m、extract_rgbd_data_v2.m 和extract_rgbd_data_v1.m文件来提取点云数据和标注信息。

        执行命令如下:

matlab -nosplash -nodesktop -r 'extract_split;quit;'
matlab -nosplash -nodesktop -r 'extract_rgbd_data_v2;quit;'
matlab -nosplash -nodesktop -r 'extract_rgbd_data_v1;quit;'

        如果提示“-bash: matlab: command not found”,那么则需要先安装matlab。

3 python数据集预处理

        针对上述matlab数据预处理脚本,我将其转换成了对应的python处理程序。下面的python处理程序没有直接与matlab实际运行结果进行对比,如果有用户进行了对比验证,请将结果反馈给我一下,谢谢。基于处理后的数据集运行mmdection3d预处理程序和VoteNet模型均顺利通过。SUN RGB-D数据集的python预处理程序下载地址为:mmdetectionSUNRGB-D数据集Python预处理程序-深度学习文档类资源-CSDN下载,将下载的scripts文件夹复制到data/sunrgbd/目录下。

        数据集预处理脚本主要包含数据集分割和标注数据提取两大部分。

        (1)数据集分割

        训练集和验证集的分割提取程序为extract_split.py。执行完脚本后会在data/sunrgbd/目录下生成sunrgbd_trainval文件夹,并进一步生成train_data_idx.txt和val_data_idx.txt文件。这两个txt文件分别记录训练样本和评估测试样本序号。训练样本序号从5050到10334,共5285个。评估测试样本序号从0到5049,共5050个。

        标注数据提取程序会针对文本文件中的样本序号逐一进行提取。全部样本提取需要耗时几十分钟,并且解析后存储空间也较大。在进行算法研究时,解析部分数据即可满足要求。因此,程序中的ratio参数用来设置解析数据的比例,默认为0.01,即训练和评估样本各解析约50个。用户可根据使用需求自定义ratio值,取值为0~1,1表示解析全部数据。

        (2)标注数据提取

        标注数据提取程序为extract_data_v2.py,直接运行即可。如果程序提示缺少h5py库,则通过pip install h5py安装即可。

        分别运行scripts文件夹下的extract_split.py和extract_data_v2.py即可完成SUN RGB-D数据集预处理,程序运行结束后在data/sunrgbd/sunrgbd_trainval/文件夹的目录结构如下图所示。

 

4 mmdetection3d 预处理

        进入到mmdetection3d工程目录下,执行SUN RGB-D数据集的预处理程序,运行命令如下。

python tools/create_data.py sunrgbd --root-path ./data/sunrgbd --out-dir ./data/sunrgbd --extra-tag sunrgbd

        程序运行完成后会在data/sunrgbd/文件夹下产生points文件夹、sunrgbd_infos_train.pkl和sunrgbd_infos_val.pkl。程序运行过程如下图所示。

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智能微型断路器在道路照明、园区照明、隧道照明中的应用-安科瑞 时丽花

智能微型断路器应用场景 九小场所 商场、超市等购物场所 养老院、福利院、孤儿院等社会福利机构 图书馆、博物馆、科技馆、文化馆等文化活动中心 车站、轨道交通等交通枢纽 易燃易爆仓库、木材加工、纺织、喷涂、制药等企业 酒吧,网吧等娱乐场所 幼儿园、小…

B站视频弹幕不挡住人脸效果

前言 有天在B站看二舅的视频时,密密麻麻的弹幕居然没有二舅的人脸,很好奇是怎么做到的,于是决定一探究竟。 高端的效果,往往只需要采用最朴素的实现方式,琢磨了好一会儿,打开了F12,豁然开朗。…

Quartz深度实战

概述 Java语言中最正统的任务调度框架,几乎是首选。后来和Spring Schedule平分秋色;再后来会被一些轻量级的分布式任务调度平台,如XXL-Job取代。另外近几年Quartz的维护和发布几乎停滞,但这并不意味着Quartz被淘汰,还…

【干货】微信私域运营打法和案例拆解(附78页pdf下载链接)

省时查报告-专业、及时、全面的行研报告库省时查方案-专业、及时、全面的营销策划方案库【免费下载】2022年10月份热门报告盘点知识图谱在美团推荐场景中的应用实践.pdf清华大学256页PPT元宇宙研究报告.pdf(附下载链接)机器学习在B站推荐系统中的应用实践…

【吴恩达机器学习笔记】七、神经网络

✍个人博客:https://blog.csdn.net/Newin2020?spm1011.2415.3001.5343 📣专栏定位:为学习吴恩达机器学习视频的同学提供的随堂笔记。 📚专栏简介:在这个专栏,我将整理吴恩达机器学习视频的所有内容的笔记&…

数据库设计三范式

数据库设计三范式 范式是数据库设计时遵循的一种规范,不同的规范需要遵循不同的范式,只有充分遵循了数据库设计的范式,才能设计开发出冗余较小、高效、结构合理的数据库。 通常,我们在设计数据库的时候会要求遵循三范式。 第一…

《强化学习周刊》第69期:ICLR2023强化学习论文推荐、MIT实现自动调整内在奖励的强化学习...

No.69智源社区强化学习组强化学习研究观点资源活动周刊订阅告诉大家一个好消息,《强化学习周刊》已经开启“订阅功能”,以后我们会向您自动推送最新版的《强化学习周刊》。订阅方法:方式1:扫描下面二维码,进入《强化学…

使用Python PySNMP模块获取设备指标

一、PySNMP模块介绍: PySNMP 是一个跨平台的纯Python SNMP 引擎实现。它具有功能齐全的 SNMP 引擎,能够充当代理/管理器/代理角色,通过 IPv4/IPv6 和其他网络传输传输 SNMP v1/v2c/v3 协议版本。目前,使用较多的是SNMP v3和v2c版…

Robust Document Image Dewarping Method Using Text-Lines and Line Segments论文学习笔记

1 摘要 传统的基于文本行的文档去扭曲方法在处理复杂布局和/或非常少的文本行时会出现问题。当图像中没有对齐的文本行时,这通常意味着照片、图形和/或表格占据了输入的大部分。因此,对于健壮的文档去扭曲变形,我们建议除了对齐的文本行之外…

Python解题 - CSDN周赛第11期 - 圆桌请客(脑筋急转弯)

本来想着没有all pass就不写题解了,但在赛后对最后一题纠结了好久,然后发现是个类似脑筋急转弯的题,自己与正确答案只差一层纸,实在有点不吐不快。另外本期考了经典的背包问题的模板题,也值得记录下来,加深…

全志科技A40i国产开发板——性能参数综合测试

本次测试板卡是创龙科技旗下,一款基于全志科技A40i开发板,其接口资源丰富,可引出双路网口、双路CAN、双路USB、双路RS485等通信接口,板载Bluetooth、WIFI、4G(选配)模块,同时引出MIPI LCD、LVDS LCD、TFT LCD、HDMI OUT、CVBS OUT、CAMERA、LINE IN、H/P OUT等音视频多媒…

宿主机与开发板网络共享

宿主机网络共享 一、关键步骤 11. 网络共享简介 目标:宿主机可以用ssh连接开发板,开发板可以上网。 步骤:宿主机与目标机用网线直连,宿主机采用IP共享的方式连接开发板; 配置项IP开发板IP192.168.0.232宿主机以太网I…

Java 序列化原理

我的网站 | 我的博客 | 序列化解析工具 概念 Java为我们提供了一种默认的对象序列化机制,通过这种机制可以将一个实例对象写入到IO流中,当然这种IO流可以是文件流、网络流或者其他什么流。 代码的写法 ObjectOutputStream 对象输出流,用…

2022新一代设备维修管理系统助力企业降本增效

设备的维修是指企业或者设备密集型单位为了保持、恢复并提升设备使用寿命而定期对设备进行状态的维护,备件的更换,发生故障后的维修和恢复,从而让设备保证良好的运营状态,提升设备的可利用性并保证产能和设备安全。 大型企业在设…

C++11标准模板(STL)- 算法(std::merge)

定义于头文件 <algorithm> 算法库提供大量用途的函数&#xff08;例如查找、排序、计数、操作&#xff09;&#xff0c;它们在元素范围上操作。注意范围定义为 [first, last) &#xff0c;其中 last 指代要查询或修改的最后元素的后一个元素。 归并两个已排序的范围 st…

关于Mysql使用left join写查询语句执行很慢的问题解决

目录 &#xff08;一&#xff09;前言 &#xff08;二&#xff09;正文 1. 表结构/索引展示 &#xff08;1&#xff09;表结构 &#xff08;2&#xff09;各表索引情况 2. 存在性能问题的SQL语句 3. 解决思路 &#xff08;1&#xff09;执行计划思路调优 &#xff08;…

数字图像处理(入门篇)二 颜色空间

在对图像进行处理时&#xff0c;前提图像必须是以数据的形式来描述的&#xff0c;而颜色空间就是用数据来表征图像颜色的一种方法。颜色信息由三个独立的分量来综合表示&#xff0c;这三个独立的分量构成了一个三维的坐标空间&#xff0c;每种颜色信息都在该空间中被唯一地表示…

Java-泛型实验

1.定义一个学生类Student&#xff0c;具有年龄age和姓名name两个属性&#xff0c;并通过实现Comparable接口提供比较规则&#xff08;返回两个学生的年龄差&#xff09;&#xff0c; 定义测试类Test&#xff0c;在测试类中定义测试方法Comparable getMax(Comparable c1, Compar…

基于springboot农机电招平台设计与实现的源码+文档

摘要 随着农机电招行业的不断发展&#xff0c;农机电招在现实生活中的使用和普及&#xff0c;农机电招行业成为近年内出现的一个新行业&#xff0c;并且能够成为大群众广为认可和接受的行为和选择。设计农机电招平台的目的就是借助计算机让复杂的销售操作变简单&#xff0c;变高…

Kubernetes资源调度之节点亲和

Kubernetes资源调度之节点亲和 Pod节点选择器 nodeSelector指定的标签选择器过滤符合条件的节点作为可用目标节点&#xff0c;最终选择则基于打分机制完成。因此&#xff0c;后者也称为节点选择器。用户事先为特定部分的Node资源对象设定好标签&#xff0c;而后即可配置Pod通过…