基于自适应权重Census变换的立体匹配算法的研究及FPGA实现
【摘要】:由于人工智能被广泛地应用于现实生活中,计算机视觉系统越来越受到相关研究人员的关注。一般的视觉系统具有对相机进行标定、获得输入图像、进行立体匹配得到视差、恢复三维信息等功能。立体匹配往往起着核心的作用且很多学者致力于寻找匹配效果好且复杂度较低的的匹配算法,其一般的过程是利用条件约束和视差原理,通过摄像头从不同角度对同一场景取景,获得输入图像组,最后利用该图像组得到目标物体的三维立体信息。本文介绍了立体匹配算法的发展现状,分析了各类算法的优缺点,并在传统Census变换立体匹配算法的基础上,提出了一种新颖的自适应权重Census变换立体匹配算法。该新颖算法从一定程度上解决了目前Census变换算法在深度不连续区域匹配效果差的问题。该算法在Census变换阶段时,计算变换窗口中心点上下左右四个像素的均值,得到中心点与该均值的差的绝对值,通过判断该绝对值的大小来确定中心点灰度值;为了有区别地对待窗口内各像素点,引入自适应权重,通过线性分段型函数计算自适应权值。在代价聚合阶段采用变化的聚合窗口,通过聚合窗口中心点和其邻近两点的梯度值来确定聚合窗口的大小。通过对Matlab仿真结果的分析与标准测评网站的评估,与目前的Census变换算法相比,本文算法在匹配效果方面有所改善,尤其是在深度不连续区域;而且保持了较好的实时性和较低的硬件实现难度。在硬件实现方面,本文搭建了初始立体匹配系统,设计了基于Spartan 6E系列的Atlys开发板和VmodCam双目摄像头模块的初始系统总体框架。完成了VmodCam控制模块、图像存储管理模块、传输模块和时钟管理模。初步实现了新颖的立体匹配算法,完成了对改进权重计算模块、改进Census变换模块、代价计算及聚合模块的设计,并且完成了各自模块的初始并行结构。通过该初始系统对真实场景的测试,进一步证实了该算法提高了立体匹配的精度,尤其是改善了深度不连续区域的匹配效果。