摘要: 本文根据并行计算在图像融合上的应用简单概述了一些国内的基于并行计算的图像融合算法。在概述之前相对图像融合和并行计算做了简单的介绍,接着分别详细的介绍了一片文章和一个专利,对于其他文章进行了简单的阐述。最后总结了几篇文章的算法架构和存在的不足。
1. 研究背景
在科学技术飞速发展的今天,各种传感技术层出不穷,成像技术(视觉传感技术)也各式各样。目前已经成熟的成像技术有可见光成像(VIS)、红外成像(IR)、磁共振成像(MRI)、近红外成像(NIR)、计算机断层成像(CT)、正电子断层扫描技术(PET),单光子发射断层扫描技术(SPECT)和康普顿散射断层扫描技术(CST)等。其中IR主要用于军事领域,NIR通常用于人脸识别和3D建模等,MRI、CT、PET、SPECT和CST等主要用于医学诊断。尽管成像技术如此繁多,但是每种成像技术都智能捕捉特定的信息,例如可见关成像就只能捕捉可见光频段的信息,红外只能捕捉红外频段的信息。因此为了是一副图像包含更多的信息,使图像更符合人类视觉系统或者更有利于计算机的识别,图像融合技术应运而生。图像融合通过将多幅图像组成为一副图像,去掉其中的冗余信息,把各个图像互补的信息组合成为一张信息量丰富的图片。
图像融合技术经过多年的发展,其算法从简单的单尺度发展到多尺度变换和稀疏变换等,融合规则也从简单的加权发展到了基于区域能量和主成分分析等方法。虽然融合图像的效果有了很大的提高,但是伴随着算法的时间复杂度也在急速的增加。面对着许多复杂耗时的融合算法,为了让算法的效率提高,在实际使用的耗时能够让人接受。出现了一些基于并行计算的图像融合算法,通过并行计算以提高算法的速度。
2. 图像融合技术
图像融合通常指将两个或者多个对于同一场景通过不同成像传感技术或者同以传感器不同成像参数获取的图像合成到一张图像中的技术。现阶段将图像融合分为了三个层面,像素级、特征级和决策级[1],目前主流的图像融合算法都几种在像素级,而特征级的图像融合算法极少,决策级的图像融合算法几乎没有。像素级的特征融合又分为了基于空域的图像融合和基于变换域的图像融合,基于空域的图像融合直接在空间域对图像进行操,基于变换域的图像融合需要将图像经过特定的变换,然后跟据某种融合规则融合变换后的系数,最后对融合系数进行反变换从而获得融合的图像。变换域的图像融合考虑到了多尺度、多分辨率和频率等特性使得其相对于基于空间的图像融合能够减少频谱的失真[2]。但是在基于变换域的图像融合算法中往往需要大量的卷积操作和复杂的融合规则,从而导致算法的时间复杂度极大的增加。为了提高算法的效率,因此出现了一些对图像融合并行计算的研究。
3. 并行计算
并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段。它的基本思想是用多个处理器来协同求解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来并行计算。并行计算系统既可以是专门设计的、含有多个处理器的超级计算机,也可以是以某种方式互连的若干台的独立计算机构成的集群,还可以通过同一个计算机中的异构并行计算和通用计算单元的多个线程实现如CUDA。
4. 基于并行计算的图像融合算法
目前基于并行计算的图像融合算法的基本框架主要如图2所示。主要可以分为以下四个过程:1)对图像进行图像配准等预处理;2)将预处理的多幅图像分割为多幅子图像;3)将子图像分别分配给不同的GPU线程块进行计算,包括图像的变换,对应稀疏的融合以及反变换;4)对分割的图像进行拼接以获取最终的融合图像。上述过程中只有第3步是在GPU中进行并行计算的。3,4两步虽然无法进行并行计算,但是其对于整个算法的复杂度的贡献远不足于第3步中的处理,所以仅对第3步的并行化就能获得很好的效果。
006年程英蕾、胡伏原等人提出了一种基于小波包的变换的计算机群并行计算方法[3]。文章对多光谱和单色的高分辨率图像进行融合。算法的主要架构如图3所示,主要有以下几个步骤:1)预处理:将多光谱图像从RGB色彩空间转换到HIS色彩空间;2)将多光谱图像的I分量和高分辨率单色图像进行分割,并将分割后的子图像分配给不同的集群节点;3)每个节点对负责子图像进行小波包分解;4)子图像的局部融合:对节点所处理的范围内的子图像使用线性加权融合规则融合5)后处理:将每个节点的数据收集起来,进行图像拼接获取最后的融合图像,并将融合的I分量和H、S分量变换到RGB空间。
2013年赵进、刘昌明和宋峰等设计了一个基于GPU的遥感图像融合算法[4]。该论文针对BROVEY变换融合算法和YIQ变换融合算法,分别设计了对应的CUDA算法。
2016年邵靖凯和厉旭杰对拉普拉斯金字塔进行了CUDA的优化[5],介绍了高斯滤波的可分离实现,并通过让每个线程负责多个全局寄存器到共享寄存器的数据传输,同时负责多个像素的卷积以提高数据的通信效率和处理效率。
2017年国防科技大学的江天、彭元喜等人申请了一个基于CUDA并行计算的非下采样轮廓波分解的(NSCT)图像融合算法的专利[6],其算法结构如图4。该算法针对红外和可见光图像进行融合,基本步骤和并行计算的图像融合框架一致,分为图像分割、并行融合和图像拼接三个过程。
除了上述使用并行计算的图像融合算法外。2008年王攀峰等人提出了一种基于复小波变换的遥感图像并行融合算法[7],该算法综合运用了数据分布、并行数据处理和负载均衡技术,以克服单机处理在计算能力和存储器空间上的限制;针对基于CWT的图像融合处理的计算特点,设计了一种可有效避免计算过程中数据通信的冗余划分方法。2009年卢俊等人提出了一种基于GPU 的遥感影像数据融合IHS变换算法[8],将HIS的正反变换都映射到GPU中进行计算,并应用RTT和MRT技术实现了HIS空间的三个分量并行渲染输出。2010年徐显和杨杰提出了一种基于图形处理器硬件加速的高精度医学图像融合算法[9],提出一种基于图形处理器(GPU)硬件加速的频域非下采样轮廓波变换(FNSCT)算法.该算法构造了更加简单、快速的频域非下采样轮廓波变换,有效消除了传统小波变换以及轮廓波变换应用于图像融合算法时引起的振铃和伪吉布斯现象.结合GPU在并行大规模浮点数及快速傅里叶变换(FFT)上的高速运算能力,解决了非下采样轮廓波变换(NSCT)速度慢的问题,实现了一种高精度的医学图像融合加速算法。
5. 总结
目前主流的图像融合并行计算方法都是建立在已有的图像融合算法上的,在保持图像融合质量的前提下对融合算法的并行性进行分析,并用实验验证了并行计算对图像融合算法的速度提升。但都为提出创新性的图像融合算法,与此同时图像融合的并行算法框架比较单一,只有极少数能从算法本身的角度进行并行化,大多是通过将图像分割为多个子图像,进而对多个子图像进行并行计算。因此并行后的提速比仅仅与图像分割的子图像数量有关,提速比与子图像数量成正比例关系。
引用
[1] Li S, Kang X, Fang L, et al. Pixel-level image fusion: A survey of the state of the art[J]. Information Fusion, 2017, 33: 100-112.
[2] Gan W, Wu X, Wu W, et al. Infrared and visible image fusion with the use of multi-scale edge-preserving decomposition and guided image filter[J]. Infrared Physics & Technology, 2015, 72: 37-51.
[3] 程英蕾, 胡伏原, 赵荣椿. 一种多传感器图像并行融合新方法[J]. 空军工程大学学报: 自然科学版, 2006, 7(6): 40-43.
[4] 赵进, 刘昌明, 宋峰, 等. 基于 GPU 的遥感图像融合并行算法研究[J]. 微型机与应用, 2013, 32(6): 35-37.
[5] 邵靖凯, 厉旭杰. 基于 CUDA 的拉普拉斯金字塔的优化?[J]. 微型机与应用, 2016 (2016 年 10): 40-42.
[6] 江天,彭元喜等. 基于cuda图像融合并行计算的方法:中国,106991665A. 2017-03-24.
[7] 王攀峰, 杜云飞, 周海芳, 等. 基于复小波变换的遥感图像并行融合算法[J]. 计算机工程与科学, 2008, 30(3): 35-39.
[8] 卢俊, 张保明, 黄薇, 等. 基于 GPU 的遥感影像数据融合 IHS 变换算法[J]. 计算机工程, 2009, 35(7): 261-263.
[9] 徐显, 杨杰. 基于图形处理器硬件加速的高精度医学图像融合算法[J]. 上海交通大学学报, 2010, 44(2): 248-251.