Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请问算法是否可以用gpu加速,gpu计算能不能实现实时计算 #1

Open
laidongd opened this issue Aug 31, 2020 · 10 comments

Comments

@laidongd
Copy link

laidongd commented Aug 31, 2020

1.请问算法是否可以用gpu加速,gpu计算能不能实现实时计算
2.我跑了一下算法,匹配的效果比SemiGlobalMatching看起来要好很多,生成的地面很平,但有障碍物时旁边的地面会整体发生偏移.不知道精度对比SemiGlobalMatching是否有优势,还是过度平滑的结果.

@ethan-li-coding
Copy link
Owner

  1. 可以GPU加速,原文就是以GPU算法来介绍的。能否实时计算要看你的计算性能、图像大小以及视差范围,建议在原文中查看它的实验设备和处理速度,然后按比例计算你的数据大概能够达到的水平,时间复杂度大约为O(WHD)。
  2. 虽然效果有区分,但理论上视差精度不会有优劣之分,他们都是用同样的子像素方法,可能局部会由于处理算法的不适应性导致结果偏移,实际工程应用时建议去掉所有视差填充步骤,只保留一致性检查(AD-Census里叫OutDetection)。在本算法里将参数do_lr_check设置为true,do_filling设置为false。

@laidongd
Copy link
Author

laidongd commented Sep 1, 2020

谢谢您的耐心解答.对立体匹配的研究现状不够了解,看论文匹配的效果好像都还不错,但实际跑自己的图片效果却一般,作为门外汉,能否再请教您两个问题:
1.如果要在类似TX2平台实时跑双目匹配,现有的开源算法里面哪个效果会好些,能否推荐一个.
2.在sgm或者AD-Census的结果上继续进行滤波处理,是否会有更好的结果,有没有较好的滤波算法的papper推荐,opensource的就更好了.
谢谢您.

@ethan-li-coding
Copy link
Owner

  1. 限于TX2的性能,还是SGM比较适合,这个算法速度可以加速到非常快,AD-Census相比SGM效果好一些,但是同样在TX2上实现效率可能会有两倍以上的差别。

@ethan-li-coding
Copy link
Owner

  1. 建议先去掉视差填充,把去除噪声相关的后处理都打开,这样可以尽可能保证视差结果都是可靠的。然后滤波可以采用双边滤波(实现也比较简单)、加权中值滤波(这里有更快的实现带源码:http://www.cse.cuhk.edu.hk/~leojia/projects/fastwmedian/)。

@laidongd
Copy link
Author

laidongd commented Sep 1, 2020

之前用过加权中值滤波算法,在opencv的DISOpticalFlow和NVIDIA提供的开源库visionworks中的SGBM方法的结果上进行滤波,效果很一般.是不是想要在tx2上实时跑,现有算法基本上效果就这样了,比较难提升了

@ethan-li-coding
Copy link
Owner

ethan-li-coding commented Sep 1, 2020 via email

@laidongd
Copy link
Author

laidongd commented Sep 1, 2020

这是visionwork的结果,没做噪声剔除,如果做噪声剔除同时会把点云变得很稀疏,剔的效果也不好,是不是我用的滤波算法有问题,试过加权中值滤波效果并不好

@ethan-li-coding
Copy link
Owner

ethan-li-coding commented Sep 1, 2020 via email

@Mickeyyyang
Copy link

  1. 可以GPU加速,原文就是以GPU算法来介绍的。能否实时计算要看你的计算性能、图像大小以及视差范围,建议在原文中查看它的实验设备和处理速度,然后按比例计算你的数据大概能够达到的水平,时间复杂度大约为O(WHD)。
  2. 虽然效果有区分,但理论上视差精度不会有优劣之分,他们都是用同样的子像素方法,可能局部会由于处理算法的不适应性导致结果偏移,实际工程应用时建议去掉所有视差填充步骤,只保留一致性检查(AD-Census里叫OutDetection)。在本算法里将参数do_lr_check设置为true,do_filling设置为false。

您好,看您repo的介绍,这个算法是在RealSense D400 Stereo产品直接应用了吗,我看realsense的深度效果特别好,鲁棒性也很不错,不知道内部算法使用了什么黑科技

@Mickeyyyang
Copy link

  1. 建议先去掉视差填充,把去除噪声相关的后处理都打开,这样可以尽可能保证视差结果都是可靠的。然后滤波可以采用双边滤波(实现也比较简单)、加权中值滤波(这里有更快的实现带源码:http://www.cse.cuhk.edu.hk/~leojia/projects/fastwmedian/)。

经过测试发现,这个算法最耗时的部分是在代价聚合中,有时能耗时8s左右,非常恐怖,后面的空洞填充相对来说倒不是很多

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants