在上一篇文章中,我写到了如何将TUM数据生成BundleFusion所需要的数据集,生成的数据集如下图中所示.并且是将每一组数据的groundtruth.txt中的位姿数据写如到这里的pose文件中,作为每一帧图像的先验位姿.

今天我便将生成的数据集转换为了.sens格式,然后运行bundlefusion算法,第一次尝试很失败,1400张图像,最后只重建出了花瓶的一半,还有几片叶子,我不知道哪里出了问题,首先是检查一下数据格式是不是正确,图像的名称, 还有每一组数据集最后的info.txt文件的内容,检查并没有发现明显的错误.然后我又调解了两个配置文件中的一些参数,但是并不知道有可能是什么原因.最后我把目光停留在数据集的info.txt文件上,之前使用kinect相机,经过手动标定相机可以标定得到depthShift这个数据,但是现在我并不知道,也不知道TUM数据集的这个数值,然后我在代码中搜索这个m_depthShift的用途,代码是如下

for (unsigned int i = 0; i < getDepthWidth()*getDepthHeight(); i++) {const auto* d = getDepthFloat();std::cout << "d[" << i << "]: " << d[i] << std::endl;depth[i] = (unsigned short)ml::math::round((m_recordedData->m_depthShift * d[i]));}

读取深度图的深度数据,然后乘上 m_depthShift,我大致猜出来,他的作用了,

在最初的info.txt文件中我将m_depthShift设置为1000,  但是重建不成功,我突然想到,我要查看一下,深度图像的数值,于是我用imageJ来查看一下深度图.

这是BundleFusion使用的SUN3D数据集中的一组数据的一对彩色图和深度图,当我把鼠标点在最左侧的垃圾桶的上边缘时,imgJ显示1328,而根据彩色图,目测也是1米多的样子,所以也验证了,该组数据集中的info.txt中的m_depthShift=1000.

而对于TUM数据集,当我将鼠标放在图片最前端的花盆上时,根据彩色图,目测只有30cm的距离,但是imageJ上显示的是2930,所以我感觉应该将info.txt中的m_depthShift设置为1000.

我将m_depthShift设置为10000后,重新生成 .sens数据集,这次就可以重建成功了.重建效果如下.

将TUM数据集制作成BundleFusion数据集相关推荐

  1. 建立自己的voc数据集_一次将自己的数据集制作成PASCAL VOC格式的惨痛经历

    因为准备训练keras-yolo3,开源代码上给出了voc_annotation.py文件,只要将自己的数据格式处理成PASCAL VOC格式,那么运行voc_annotation.py就可以将自己的 ...

  2. 将自己的dcm数据制作成LUNA16数据集提供数据样式。

    1.先说下luna数据样式.一个CT序列在LUNA16数据集主要是由一个mhd文件一个raw文件以及一个或多个csv文件(以一个为例不做那么多区分(3mm以下不做处理等)).以下为LUNA16数据集的 ...

  3. 将自己的dcm数据制作成LUNA16数据集提供数据样式之代码整理

    1.获取mhd和raw import cv2 import os import pydicom import numpy import SimpleITK# 路径和列表声明 rootpath=&quo ...

  4. TUM数据集制作BundleFusion数据集

    BundleFusion的数据集中,在生成.sens文件之前,包括彩色图,深度图和一个位姿文件,并且这个pose文件中的位姿态是有变化的,所以我怀疑,推测,在这个pose文件中可以写入groundtr ...

  5. SLAM数据集TUM,KITTI,EuRoC数据集的下载地址与真实轨迹文件的查找

    目录 前言 一.TUM数据集 1.下载地址 2.真实轨迹文件的查找 3.轨迹格式 二.KITTI数据集 1.下载地址 2.真实轨迹文件的查找 三.EuRoC数据集 1.下载地址 2.真实轨迹文件的查找 ...

  6. 爆改YOLOV7的detect.py制作成API接口供其他python程序调用(超低延时)

    一.前言 YOLO系列框架凭借其超高的运行流畅度和不俗的准确率,一直被广泛地应用到各个领域. 刚刚推出不久的YOLOV7在5 FPS到160 FPS范围内的速度和精度达到了新的高度,并在GPU V10 ...

  7. Python数据集可视化:抽取数据集的两个特征进行二维可视化、主成分分析PCA对数据集降维进行三维可视化(更好地理解维度之间的相互作用)

    Python数据集可视化:抽取数据集的两个特征进行二维可视化.主成分分析PCA对数据集降维进行三维可视化(更好地理解维度之间的相互作用) 目录 Python数据集可视化:抽取数据集的两个特征进行二维可 ...

  8. 无人驾驶常用数据集---图像语义分割数据集--Cityscapes数据集的解读(for 小白)

    ** 无人驾驶常用数据集–图像语义分割数据集–Cityscapes数据集的解读(for 小白) ** 一.什么是Cityscapes数据集? Cityscapes是关于城市街道场景的语义理解图片数据集 ...

  9. python爬取pdf内容_Python爬取读者并制作成PDF

    学了下beautifulsoup后,做个个网络爬虫,爬取读者杂志并用reportlab制作成pdf.. crawler.py #!/usr/bin/env python #coding=utf-8 & ...

最新文章

  1. ASP.NET MVC 控制器激活(一)
  2. calendar当前时间整点_时间处理相关类
  3. JVM源码分析之javaagent原理完全解读--转
  4. oracle导入impdp
  5. 信号 移相 matlab,MATLAB中的SISOTOOL在数字式移相全桥中的应用
  6. mac新建react脚手架
  7. 小结SpringMVC(二)
  8. 汇编语言将正负数复制到不同的数组
  9. 非常有意思的35句话
  10. 小米商场html幻灯片代码,小米商城商品详情页布局(HTML代码太长贴不上去,只能贴jQuery代码)...
  11. Axure8.1破解码 注册码 授权码
  12. 硬盘:主分区、扩展分区、逻辑分区、活动分区、系统分区、启动分区、引导扇区、MBR解析
  13. java 实现微信公众号开发服务器认证
  14. 零点起飞学java web_零点起飞学Java Web开发 (徐林林) 高清PDF扫描版 114M
  15. php 正则 标点符号,js正则匹配中文标点符号
  16. linux怎么创建牡蛎_牡蛎的意思
  17. 小程序审核失败:你的小程序涉及提供播放、观看等服务,请补充选择:文娱-其他视频类目。怎么解决呢
  18. Python(二)之流程控制(顺序控制、条件控制、循环控制)
  19. 知道创宇高级威胁情报团队:以APT测绘及APT防御应对高级威胁
  20. 完美实现PC端软件控制手机(无需安装任何APK)(一)

热门文章

  1. JS的自定义事件(观察者模式)
  2. 四五月份:关键词是沟通、绘画和SQL
  3. Serializable接口中serialVersionUID字段的作用
  4. 我对创业和管理的一些看法
  5. java——对象学习笔记
  6. 中科燕园arcgis外包----排水管网地理信息系统
  7. HDU 1874 畅通工程续
  8. 安装上 Octotree 插件让你更加方便的阅读 gitHub 中的代码
  9. vue从入门到精通之进阶篇(四)模块化工具 webpack
  10. spring-boot注解详解(一)