论文部分内容阅读
大数据文件越来越普遍,图像领域也是如此,随着医学、航空、生物科技等领域专业技术的快速发展,几十兆、几百兆的高精密高像素图像往往才能满足行业对精度和数据量的需求。大图像虽然能够表达更多信息,有助于图像算法获得更精确的结果,但对众多图像处理算法而言,大图像导致算法的运行时间成倍增加,算法实时性受到了极大的挑战。如何优化加速图像细化算法,提高图像细化算法的运行速度,保证图像细化算法的实时性,是目前图像处理领域的研究热点。 图像细化算法作为重要的前置预处理算法,在保持图像内形状骨架信息的前提下极大的减少了冗余像素点数据。对于复杂图像算法,细化算法不仅能够减少算法中计算量,并一定程度上提高了算法精确度。然而图像大小的不断增大,图像细化算法的实时性受到挑战。本文提出了一种基于并行迭代细化算法的 CUDA优化策略,该策略能够减少多余的内存拷贝消耗和计算消耗。本文中,为验证优化策略的加速效果,将提出的优化策略用 CUDA实现,与 OpenCV版本和 GPU普通移植版本进行速度对比。最后使用 QT构造界面实现了一款并行迭代细化软件。本文的研究工作主要包含以下几个方面: 1.简单叙述了 QT和 OpenCV的软件特性,深入讨论了 CUDA的编程模型、执行模型和存储器模型,并采用VS2012搭建了CUDA实验环境,根据测试的实验环境参数设计对比实验对优化策略进行验证。 2.本文的研究重点在于对并行迭代类细化算法的算法流程进行分析,根据GPU体系结构的硬件特性进行改进,提出了两个并行优化策略,滑动窗口优化策略和标记数组优化策略,滑动窗口优化策略为在每次迭代之前滑动参数窗口以减少不必要的内存拷贝消耗;标记数组优化策略利用两个标记数组记录每次迭代中被删除点的邻域情况,从而减少在每次迭代中多余的计算消耗。 3.本文选取了四个著名的并行迭代细化算法-ZS细化算法、GH细化算法、AW细化算法和PS细化算法,本文针对这四个并行迭代细化算法给出了OpenCV版本实现,CUDA基础加速版本实现和CUDA优化策略版本实现,并结合QT搭建软件界面,设计并实现了一个并行细化软件。