论文部分内容阅读
图像轮廓提取技术在计算机视觉领域有着广泛的应用,如图像分割、目标识别以及分类等。轮廓提取通常需要颜色、灰度、纹理等各种基本信息,处理过程需要大量的复杂运算。图像轮廓提取要求速度快,计算量大,传统的串行指令处理器无法实现高质量图像轮廓提取的实时计算。随着物联网的发展,图像轮廓提取将会更多地应用在对计算时间有限制的嵌入式系统中。因此,为高质量轮廓提取算法能在实际系统中得到应用,加速轮廓提取算法的计算速度以获得实时性能显得尤其重要。并行计算是解决上述问题的可行方法。GPU上的并行计算有很好的时间性能,但是基于GPU的轮廓提取加速的功耗也很大。例如,GPU GTX280工作时的功耗达到了200瓦。功耗是影响嵌入式系统的另一个重要的因素,故应考虑其他更低功耗的加速图像轮廓提取算法的手段。FPGA作为一种可编程逻辑器件,支持各种细粒度并行,可提供高运算速度,同时具有更高的工作效率和更低的功耗。针对高质量轮廓提取的实时性问题,本文提出了一种基于FPGA的图像轮廓提取并行计算系统。本文选取了一种高质量的图像轮廓提取算法——Pb(probability boundary)概率轮廓提取算作为研究对象,详细介绍了算法的流程。首先分析了Pb算法的并行性,包括任务并行、数据并行和流水并行,为Pb算法的硬件电路设计提供了依据;然后基于并行性分析,对算法关键模块进行优化,使得其更加适合硬件电路实现,并采用并行方式实现了算法中计算复杂的部分,以减少计算时间;同时考虑了FPGA设计时速度和资源的平衡问题,使系统的整体性能达到最佳。通过优化设计,Pb轮廓提取系统最终在Xilinx VC707开发平台上实现,采用芯片型号为XC7VX485T-2FFG1761C。在FPGA工作频率为200MHz,被处理图像分辨率为481*321时,该系统处理图像序列的速度可达39帧/秒,为将Pb算法应用于实际系统提供了条件。