论文部分内容阅读
立体匹配算法是立体视觉系统中最为关键的部分,在实际生活中具有广泛的应用前景,例如三维重建,辅助驾驶,航空航天领域等等。因此研究立体匹配算法具有十分重要的意义。立体匹配算法如今存在两个难点,一个难点是现有算法对复杂场景的处理精度不够高。另一个难点是立体匹配算法需要大量的运算,这导致了立体匹配算法不能够具有很好的实时性。本文的研究内容就是围绕着这两个难点进行展开。本文的详细内容包括:首先,对传统的立体匹配算法进行研究并改进。通过匹配成本计算,匹配成本累加,视差选择,后处理这四个步骤详细阐述立体匹配算法,指出了现有算法的不足之处,同时提出了改进方案。在匹配成本计算步骤,本文利用Sobel算子和Census变换进行改进。在匹配成本累加步骤和后处理步骤,本文提出了利用滚动引导滤波消除图像中小尺度结构的干扰。同时,本文还提出了一种针对大分辨率原始图像的算法,该算法可以在损失部分精度的前提下显著地减少运行时间。最后利用Middlebury网站提供的公用测试图像验证了本文提出的改进措施的有效性。然后,基于立体匹配算法计算量大,耗时多的特点。本文利用通用图形处理器(General-purpose computation on Graphics Processing Units,简称GPGPU或GPU)来进行算法的加速。本文指出立体匹配算法的实现关键在于积分图算法,并对传统的积分图算法的实现方式进行了研究,指出了不足之处。本文提出了一种基于纹理内存和束洗牌(Shuffle)指令的积分图算法,该算法可以显著地提高立体匹配算法的运行速度,使之达到实时性(处理速度达到10FPS及以上)的要求。同时本文还提出了一种基于双GPU的解决方案,该方案与单GPU相比,可以节省近1/3的时间。最后利用NVIDIA公司的Tesla K20c显卡和CUDA 7.0平台验证了本文提出的改进措施的有效性。最后,设计并实现了基于GPU和立体匹配算法的应用系统。该应用系统具有测量距离,辅助驾驶,活体检测,图像艺术处理等功能。同时系统利用GPU提高算法的运行速度,来满足实时性的要求。测试结果证明了应用系统的有效性。