已有的模糊连接并行算法CUDA-kFOE 未考虑线程块边缘点同时更新所引发的竞争问题, 导致计算结果出现少量误差. 由于医学图像处理对精度的要求很高, 为了解决边缘点计算误差的问题, 基于CUDA-kFOE 提出一种修正迭代算法. 首先分析了CUDA-kFOE 算法在线程块边缘产生竞争的原因; 然后讨论了边缘点亲和力的所有可能的传递路径, 以及由此造成的出错情况; 最后提出二次迭代修正算法, 将第一次迭代得到的所有边缘点转入第二次的修正迭代步骤, 从而修正第一次迭代中错误的亲和力值. 采用3 组不同规格的CT 序列对肝脏血管进行分割实验, 并选用3 个不同的种子点进行算法验证, 结果表明, 文中算法的计算结果与串行版本一致, 解决了CUDA-kFOE 算法的计算误差问题.
A paralleled CUDA version of kFOE(CUDA-kFOE)was proposed to segment medical images. CUDA-kFOE achieves fast segmentation when processing large image datasets. However, it cannot precisely handle the competition of edge points when update operations happen by multiple threads simultaneously, thus an iterative correction method to improve CUDA-kFOE was proposed. By analyzing all the pathways of marginal voxels affinity and their consequently caused results, a two iteration correction scheme is employed to achieve the accurate calculation. In these two iterations, the resulted marginal voxels from the first itera-tion are used as the correction input of the second iteration, therefore, the values of affinity are corrected in the second iteration. Experiments are conducted on three CT image sequences of liver vessels with small, medium, and large size. By choosing three different seed points, final results are not only comparable to the sequential implementation of fuzzy connected image segmentation algorithm on CPU, but achieve more precise calculation compared with CUDA-kFOE.