策划设计 | 张一 图文设计 | 王意茹
泡泡机器人推广内容组出品
问
双目视觉三维重建
各位好,最近在学习双目立体视觉的相关知识,有没有大神能讲解一下利用双目相机的原始图、生成的视差图和相机内参生成点云的方法和 demo code,还有我在利用BM算法生成的深度图用照片查看器无法打开,提示无效的位图文件或不支持文件的格式,代码如下,不知道什么原因?
(代码请访问 http://paopaorobot.org/forums/topic/双目视觉三维重建/)
来自社友的回答
@ 小C
关于双目稠密立体匹配的方法可以参考我写的关于NCC的博客:
http://www.cnblogs.com/yepeichu/p/7354083.html,方法大体上是利用像素灰度值的差异来构建匹配关系,这首先要求双目要标定好并校正,才能使得极线处于同一水平线上。
利用NCC进行匹配后计算得到视差图,大体上就是右坐标减去左坐标,y轴不变。
利用视差图的视差d以及相机内参数中的焦距f和基线b,得到对应像素的深度z=fb/d。
由相机内参矩阵K与像素坐标计算得到相机坐标系中的X,Y,结合上述计算的Z即可得到三维空间点。
关于上述代码,BM算法我没用过。但是讲到图片无法显示的问题,首先得确保你的图片在保存之前是否是有效的,可以在保存之前进行显示验证。
另外建议查看下图像是否是浮点型,如果是浮点型也可能会发生阶段,比如都小于1的double型就会变成全黑的。
最后就是要看你的保存方式是否有问题了。
希望对你有所帮助,小C留。
问
关于msckf2.0的FEJ
大家好,请教一个问题。讲的有点乱,还请见谅。
问题1:关于msckf 2.0的FEJ,对于一个feature f1从a时刻开始观测到,到b时刻最后一次观测到,在b+1时刻对这个feature进行measurement update的时候,是不是对于f1来说,求a+1时刻到b时刻这中间每个image data frame的pose jacobian的时候,使用只用imu测量进行propagation得到的pose,即所谓的FEJ,但是对于a时刻,使用的pose是最优的,即之前可能有别的feature对a时刻的pose进行了update了,只需要保证在feature f1被观测到的这个区间进使用FEJ这样吗?
问题2:那么是不是相当于对于每个新来的feature,我需要先记录当前的最优pose估计值,然后在这个feature观测得到的区间内使用FEJ? 这样的话在每次imu propagation的时候,假如我有100个feature,然后他们又刚好不是在同一帧image第一次观测到的,那么就需要保存100个对应每个feature的最优初始pose,每个feature对应一条轨线,那么每次imu 来数据了我得对100轨线进行propagation是吗?
谢谢
来自社友的回答
由于回答较长,这里只列出链接咯,请感兴趣的小伙伴们自行前往。
http://paopaorobot.org/forums/topic/关于msckf2-0的fej/
问
吴恩达机器学习资料
感谢@刹那的回眸 给大家分享的吴恩达机器学习笔记资料
请感兴趣的小伙伴们自行前往获取资源哦。
http://paopaorobot.org/forums/topic/吴恩达机器学习资料/
问
SLAM-TUM数据集下载链接
感谢@Brad Lucas 给大家分享的SLAM-TUM数据集下载资源
请感兴趣的小伙伴们自行前往获取资源哦。
http://paopaorobot.org/forums/topic/【泡泡机器人】slam-tum数据集下载链接/