11.11---11.17

​ 在此前一周进行yolo与cube slam整合的时候,采用ros通信的方式。存在两个问题:一个是darknet检测不到目标,就不对外发布检测结果,会造成检测结果和图片序列对不上。另一个问题是图片发布给darknet和cube slam的时间戳难以对齐。本周采用将darknet编译成动态链接库的形式,可以像调用API一样直接使用darknet预先定义的类型与模型。

​ 在使用时只需要将动态链接库的.so文件和头文件darknet.h在cmakelist里包含进来就行。

​ 这部分工作是在304的服务器上进行,但是304台式机不能使用sudo命令,因此无法安装ros,这一周剩下时间在给我的台式机配置cuda和ros环境。

11.18---11.24

​ 上周采用直接darknet编译为动态链接库的方式,测试可行。这周主要将yolo加入object_slam并实现功能。

object_slam包中实现的并非完整的SLAM算法,只能算一个VO,实际上作者是利用g2o做简单的位姿估计与优化。

在将二维检测加入三维检测中遇到一个问题。算法的第一帧需要相机坐标系与世界坐标系的转换关系,这个世界坐标系不是第一帧相机坐标系,而是x,y轴所在平面为地平面,z轴向上的一个坐标系,x轴和y轴指向无所谓。因此可以简化问题,假设x轴指向相机,即指向相机坐标系z轴反方向。

https://www.zhihu.com/video/1185163673403912192

​ 为了方便计算旋转矩阵,还可以假设相机的pitch和roll都为0,这样世界坐标系变换到相机坐标的旋转变换就是y轴90°,x轴180°。

但是实际这样做检测不到立方体,包括github上issue也有人提出这个问题,即采用这种旋转矩阵或者四元数得不到结果,必须偏一点角度。实际上我测试TUM数据集的时候,提供的ground truth显示相机pitch大约为-30°,摄像头使用这个姿态测试的效果比较好。视频如下:

11.25---12.1

本周主要是在orb slam中加入三维检测功能,以实现最终需求。

由于三维检测只与位姿有关,因此改动主要是在tracking线程里。

在主程序,例如mono_tum.cc,mono_kitti.cc中,

SLAM.TrackMonocular(im, tframe);

TrackMonocular是http://system.cc中的类方法,在TrackMonocular函数的最后调用了http://Tracking.cc中的函数

GrabImageMonocular(im, timestamp, msg_seq_id);

这个函数进入tracking线程,主要是讲图片转成灰度图,并调用orb slam提出的匀速模型函数

TrackWithMotionModel()

yolo功能实现,线条检测和三维检测主要是在这个部分实现。

编译的时候报错:darknet定义的list结构体冲突了。原因是在前几周的代码中都没有用到c++ STL里的list类型,但是orb slam里应该是用到了,因此才会冲突。

显示三维图片序列_SLAM结合三维检测相关推荐

  1. python的三维图片_python如何做三维图

    Python三维绘图 在遇到三维数据时,三维图像能给我们对数据带来更加深入地理解.python的matplotlib库就包含了丰富的三维绘图工具. 1.创建三维坐标轴对象Axes3D 创建Axes3D ...

  2. python 三维图片 任意切片_matplotlib三维二维切片

    体积切片操作通常依赖于插值的概念,最典型的是:Nearest neighbor,Linear,和{a3}.请注意,这些方法适用于更多的维度(例如请参见Bilinear或Trilinear插值).在 在 ...

  3. sitf+LK+pnp 识别、跟踪图片,并求三维旋转角度(四) -----LK光流跟踪

    解释下上篇遗留问题,为什么会用到光流法,因为模型要在手机甚至眼镜端上运行,这就要求速度,和用户体验感,我用sift一次对比的时间大概在200ms,人眼1s差不多在12帧,所以光用sift是达不到1秒1 ...

  4. Matplotlib画图教程:在QT界面中嵌入三维图片

    Matplotlib画图教程:在QT界面中嵌入三维图片 需求: 做项目报告的时候,有这么一个想法,就是能通过UI随时调用matplotlib进行二维图和三维图的绘制.因此就诞生了做这么一个小模块的想法 ...

  5. python做三维图片挑战眼力_挑战眼力!三维立体图片你能看出几个

    (点击看下一张图片) 参考答案:两个锥形的物体[三维图片的:基本原理 | 表现形式 | 观看方法] 三维立体画是采用平行视觉技术设计的. 如果你掌握了观看技巧,就可以在看似什么都不是的图片中看到真实的 ...

  6. ECharts-gl中三维图片旋转问题

    ECharts-gl中三维图片旋转问题 一开始用ECharts-gl库进行绘图的时候很多东西不是很熟,下面我稍微讲解下如何对三维图片进行旋转的操作以及代码的附上,有兴趣的读者可以自行测试. 主程序代码 ...

  7. 不会3D软件如何设计三维图片效果?

    众所周知,3D设计是一门专业性很强的技术,对于特定的设计有着高标准的要求,学会这项技能可以创作优秀的三维动画效果及立体形象. 拥有一款合适的3D设计软件对于帮助自己创建完美的3D模型至关重要,就比如你 ...

  8. 7-3 三维向量运算设计一个三维向量类,实现向量加法、减法以及向量与标量的乘法和除法运算。

    7-3 三维向量运算 设计一个三维向量类,实现向量加法.减法以及向量与标量的乘法和除法运算.后面添加下面代码完成: 天杀的出题人,非得放个图片在这,放个代码块会死吗? 运行的时候,要把这张图片里的内容 ...

  9. 绘制不同面显示不同图片的魔方

    原文链接: 绘制不同面显示不同图片的魔方 上一篇: tsdx 循环依赖导致import为空 下一篇: 简单魔方的旋转 [todo] 可以调整块大小和间距以及块的默认颜色 大佬还是秀啊 https:// ...

最新文章

  1. VMware与Hyper-V
  2. Eclipse错误提示: Symbol 'xxxx' could not be resolved
  3. Android Sqlite 数据初始化
  4. oracle中scott/tiger、sys、SYSDBA、system都是什么用
  5. Android之NetworkOnMainThreadException异常
  6. 极速收藏!巨详细的分布式架构知识体系
  7. html ie8上传图片,图片上传本地预览兼容ie8
  8. linux oracle查询乱码问题,linux中oracle中文乱码解决方法
  9. .NET伪静态使用以及和纯静态的区别
  10. 【运动学】基于matlab模拟布朗运动(可输入温度)【含Matlab源码 1610期】
  11. springboot分层构建Docker镜像实践,统统都会!
  12. SugarCRM源码分析之loadFileMap
  13. excel不同文件表格批量加表头vba_多个excel表格自动汇总|如何把两个文件表格用VBA从另一个EXCEL表格导入数据到这个表格中?...
  14. 微信小程序——“茶点错过你“奶茶店
  15. VGA主机连接HDMI显示器
  16. SelectObject和DeleteObject
  17. python_17(sql)
  18. Java开源 Web开发框架
  19. Batch Norm
  20. 一分钟教你如何使用edge浏览器玩4399小游戏

热门文章

  1. C# WinForm中获取当前程序运行目录的方法
  2. android 日历仿IOS,基于Android week view仿小米和iphone日历效果
  3. table 表格点击当前行按钮隐藏当前的另一个按钮_Excel表格为什么那么慢已经应该如何解决(四)一类特殊的函数易变函数(volatile function)...
  4. php invalid access,PHP出错消息PHP has encountered an Access Violation at XXXXXXXX 如何解决?...
  5. 设计模式C++实现 ——状态模式
  6. oracle用户获取datameta权限,Oracle数据库提权(低权限提升至dba)
  7. mysql查看事件任务内容_MySql事件计划任务
  8. php5.4 windows2003,PHP实战:Windows2003下php5.4安装配置教程(IIS)
  9. java 前端工作内容_java前端、java后端、java全栈工作主要内容是什么?哪个薪资高?...
  10. python tkinter listbox_Python3 tkinter基础 Listbox for+insert 将list中元素导入listbox中