特征融合的双目立体匹配算法加速与性能分析
作者单位:西南交通大学
学位级别:硕士
导师姓名:黄丁发;冯威
授予年度:2022年
学科分类:08[工学] 080203[工学-机械设计及理论] 0802[工学-机械工程]
主 题:立体匹配 像素灰度差的绝对值之和 Census变换 CUDA加速 并行计算
摘 要:双目立体视觉是机器认识客观世界的重要手段。双目立体匹配是双目立体视觉技术中一个重要环节,其目的是从二维图像数据中提取场景的三维信息,从而实现对现实世界的全面理解。双目立体匹配具有成本较低、操作简便、可靠性高等优点,被广泛的应用于机器人导航、虚拟现实/增强现实、自动驾驶避障、以及非接触式距离测量等领域。上述应用场景需要在极短的时间内获得物体精确的三维信息,因此,对匹配算法的实时性和准确性提出了更高的要求。本文主要从算法设计和硬件平台两方面入手,提高双目立体匹配算法的运行效率。算法设计层面主要是研究和设计一种计算复杂度低、匹配效率高的立体匹配算法;硬件平台方面是将本文的双目立体匹配算法利用GPU平台的并行计算能力来实现实时处理。最终,该算法获得明显的加速效果,有效解决了双目立体匹配实时处理和准确性等问题。本文的主要研究工作有以下几点:1、针对传统Census变换算法过于依赖中心像素值,且对图像噪声敏感的缺陷。将像素灰度差的绝对值之和(Sum of Absolute Differences,SAD)算法与Census变换算法特征融合的结果作为初始匹配代价值。然后,采用多路径SGM算法进行代价聚合,利用经典的“赢家通吃策略计算最优视差。最后,通过左右一致性检验检测出遮挡点并填充,并在上述过程中使用中值滤波剔除异常值,最终获取优化后的视差图。实验结果表明,两种算法的融合不但可以提高匹配准确性,而且对于光照变化造成的图像亮度差异、面对重复局部区域以及大型无纹理区域都可以保持良好的稳定性。后续的一系列图像优化处理算法,有效地提高了本文匹配算法的准确性。2、针对双目立体匹配算法比较耗时的问题,本文采用统一计算设备架构(Compute Unified Device Architecture,CUDA)对算法实现并行加速计算。该算法充分利用GPU多线程和多核并行计算的优势,最大限度地利用共享内存和寄存器内存,并且使用CUDA流操作实现了不同核函数之间的并行化,大大提升了算法的匹配效率。由实验结果可知,该算法在Middlebury立体匹配平台上全区域平均误匹配率下降了8.05%;在NVIDIA Ge Force GTX 1650平台上运行450×375分辨率的图像,比经典的SGM算法快687倍;运行高分辨率图像(1241×376),当视差范围为128时,依然能够达到实时显示性能(112.4fps)。同时,面对复杂的室外道路场景和自然光下的室内场景时,本文算法的准确性和实时性也表现突出。我们的研究成果在实时双目视觉领域具有广泛的应用前景和实际应用价值。