2020. 03.15. 16:09
有生成双目稠密点云来避障的需求,这周找了一些资料,还没做出一个满意的效果来。
先记录一下资料链接。
https://zhuanlan.zhihu.com/p/38252296
这个链接里的效果没跑出来,没玩过qt,稍微花点时间应该也是跑的起来的。
简单玩了下 libelas,感觉效果不是那么好,可能是我什么参数没设置在合理范围内。
然后看到了一个patchmatch (stereo)
https://github.com/nebula-beta/PatchMatch
单看效果图是很惊艳的,感觉吊打opencv自带的双目重建,但是在自己纠正过的双目图片上跑,
一是效果很差,可能还是参数设置问题,二是速度很慢,三是可能我标定的不太好。
https://github.com/nebula-beta/PatchMatchCuda 这是同一作者对应的cuda版本,还没试过。
然后找了些patchmatch方面的资料看,patch应该算是一种图片处理上的、可以推广的手段或方法,
不限于双目视差估计。
https://www.cnblogs.com/tweed/p/10893548.html 这篇稍微理解了下文章中的公式。
既然patchmatch是一种方法,那为什么还要限制在双目上。
这个 https://github.com/kysucix/gipuma 论文和库就是在序列图像上重建出三维模型。
简单浏览了下论文和代码,就记住了在GTX980显卡上,640 x 480 的10张图像,重建出三维模型
要 2.5 s。一篇相关的博客:https://blog.csdn.net/fangjin_kl/article/details/76072755
然后发现了 patchmatch stereo 的深度学习版本:
https://github.com/uber-research/DeepPruner 然而好像是有监督的深度估计...
待我有空了把它结合 monodepth2 做一个无监督的版本出来。
然后发现了一个 stixel 做避障 https://github.com/gishi523/stixel-world
这个在自动驾驶上用的应该还是蛮多的。
发现速度倒是挺快,但是如果视差估计效果太糟糕,这个算法效果也会相当糟糕。
所以前提还是要有比较高质量的视差估计。
后续会在双目视差估计上下点功夫,我讨厌激光slam!
手上有一个realsense 相机向下倾斜拍摄地面,利用点云算出突起物障碍的局部地图的功能,但是因为
rs相机测量出的点云噪声太大,效果相当烂。