Print

发布时间: 2017-12-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.170193
2017 | Volume 22 | Number 12




    综述    




  <<上一篇 




  下一篇>> 





图像处理中的格子玻尔兹曼方法研究综述
expand article info 刘应乾, 严壮志
上海大学通信与信息工程学院, 上海 200444

摘要

目的 格子玻尔兹曼(LB)方法作为一种兼具建模与快速求解偏微分方程(PDE)功能的方法已被成功应用于图像去噪、修复和分割。考虑到国内外尚未有LB方法在图像处理中研究进展的综述论文,为使即将进入该研究领域的学者比较全面地了解该方法的研究现状,本文对其进行系统综述。方法 着重分析了与图像去噪、修复、分割和3维图像处理密切相关的文献,将LB图像处理模型的构建分为自上而下和自下而上两种途径,对图像处理中的LB模型从宏观和微观两个角度进行分类。对模型的计算机实现算法、算法时间复杂度以及模型的具体应用进行分析与总结。最后,讨论了LB方法与PDE方法的本质区别,并指出几个尚未解决的问题。结果 第一,LB方法在图像处理中具有清晰的物理意义,像素值可视被为粒子密度值,像素值的改变可被视为受松弛时间和源项影响的粒子的重新分布;第二,各向异性扩散模型、非线性扩撒模型、线性扩散模型之间的微观区别在于松弛时间的差异,以上模型的时间复杂度依次降低,含源项扩散模型的时间复杂度除松弛时间以外还受外力项的影响;第三,自上而下的建模方法仅仅将LB视为PDE的一种解法,自下而上的建模方法从LB方法的物理意义出发,直接设计演化方程的关键参数,相对于第一种方法更为灵活;第四,LB算法固有并行,编程简单,当该方法被应用于并行平台时,图像数据量越大,GPU/CPU加速比越明显;第五,各向异性、非线性扩散模型可用于图像去噪、修复,含源项扩散模型中外力项的设计对图像分割质量有较大影响。结论 尽管LB方法作为一种固有的并行算法在3维图像去噪、配准和分割等快速图像处理领域具有极高的应用价值,但仍然存在边界条件处理、并行平台选择及优化等几个值得继续研究的问题。

关键词

图像处理; 格子玻尔兹曼方法; 图像扩散格子玻尔兹曼模型; 并行算法; 时间复杂度

Review of Lattice Boltzmann method for image processing
expand article info Liu Yingqian, Yan Zhuangzhi
School of Communication and Information Engineering, Shanghai University, Shanghai 200444, China
Supported by: National Natural Science Foundation of China (61171146, 61675124)

Abstract

Objective Currently, images, such as 3D medical and high-resolution satellite images, provide considerable information, and image processing results are required in real time in many cases, such as clinical and meteorological. Parallel image processing devices, such as graphics processing unit (GPU) and field-programmable gate arrays, have been created for engineers at a convenient price. Partial differential equation (PDE) method is extensively used in image processing. However, its solution methods are time-consuming and difficult to be directly mapped to GPU. Traditional PDE solution methods are contradictory to the assumption that space and time are continuous. Thus, a method that is naturally parallel and simple and with clear physical meaning is required to simulate the macro model described by the PDE. Recently, lattice Boltzmann (LB) method has been applied to image denoising, inpainting, registration, and segmentation as an efficient and flexible method for modeling and solving PDE. However, a systematic review of the applications of LB for image processing has not been found in previous studies. Therefore, this paper proposes the abovementioned literature review to support scholars in gaining further insights into the frontier development of the topic. Method In this work, numerous public reports on the applications of LB for image denoising, inpainting, segmentation, and other 3D image processing were initially surveyed using the keywords, "lattice Boltzmann" and "image processing." These reports were classified according to their differences when scholars proposed LB mathematical models, namely, "top-down" or "bottom-up" approaches in terms of macro or micro, respectively. Then, programming algorithms, computing complexities, and application scenarios of LB for image processing were analyzed and summarized. Finally, essential differences between LB and other PDE-solving methods were concluded, and further research directions on this topic were proposed. Result First, LB model has a clear physical meaning. The general LB method consists of two steps as follows:a streaming step in which particles (or particle densities) move from node to node on a lattice and a collision step in which particles (or particle densities) are redistributed at each node. The two steps are governed by the LB evolution equation, where parameters relaxation time and source term decide the movement of the particles. The state of each node at the next moment is only related to the state of its neighboring nodes because the particles move along the $b$ links. In image processing, each pixel value is considered particle densities, and changes in pixel value can be considered redistribution of particles that are decided by relaxation time $\tau $ and source term ${F_\alpha }$ in which image information, such as gradient and curvature, are embedded. Second, macro models can be classified into anisotropic, nonlinear, and linear diffusion models according to diffusion tensor. The microdifferences among the abovementioned macro models are decided by relaxation time. In the anisotropic diffusion model, $\tau $ has a different value on the $b$ links, and the value changes along each link according to image information. In the nonlinear diffusion model, $\tau $ has the same value on the $b$ links, and the value changes similarly to the anisotropic model. In the linear model, $\tau $ has the same and constant value on the $b$ links. $\tau $ changes in the anisotropic and nonlinear models because the pixel value changes after each iteration; ${F_\alpha }$ changes in the model with external force terms. Two parameters must be computed in each iteration. Consequently, the computing complexities of the anisotropic, nonlinear, and linear diffusion models are decreased. The computing complexity of the LB models that include external force terms is also decided by source terms. Third, "top-down" approach uses the LB evolution equation to construct a macro model, which appears similar to existing image processing PDE. Then, $\tau $ and ${F_\alpha }$ are determined by PDE diffusion tensor and external force term separately. "Bottom-up" approach constructs $\tau $ and ${F_\alpha }$ directly according to the physical meaning of the LB method. The first approach uses the LB method as an alternative solving approach to PDE and requires high mathematical skill. The second approach used in constructing the mathematical model is easy and flexible. Fourth, the LB method is inherently parallel and naturally suited for GPU, which is ideally fit for explicit, local, and lattice-based computations. The advantage of LB in computing speed is obvious when image amount is large. The GPU/CPU speedup factors are larger in large 3D volumes than in small volumes. The programming of LB is simple. The core LB algorithm can be implemented with a few lines of codes and a brief coding time. Fifth, the anisotropic and nonlinear diffusion models can be used in image denoising and inpainting. The design of the external force terms significantly influences the quality of image segmentation. Conclusion The LB method has a high research value as a natural parallel algorithm in fast image processing, such as 3D image denoising, inpainting, and segmentation. However, several problems must still be further studied, such as image boundary processing, parallel platform selection, and optimization.

Key words

image processing; Lattice Boltzmann (LB) method; image diffusion LB model; parallel algorithm; time complexity

0 引言

当前,图像处理领域面临以下几个问题:1)传感器技术的发展使得图像分辨率日益提高,而视频或医学图像处理往往需要实时的处理结果;2)计算机硬件技术的发展使得并行图像处理设备的成本日益降低;3)现有的基于偏微分方程(PDE)的图像处理方法在速度上难以满足实时性的要求,且在并行设备上的实现需要较高的编程技巧。以上3点使得图像处理领域迫切需要一种固有的并行算法[1]。格子玻尔兹曼(LB)方法[2]来源于元胞自动机[3]模型,最初被用于流体力学中,是一种介于流体的微观分子动力学模型和宏观连续模型之间的介观模型。LB方法将流体离散成一系列的粒子,粒子分布在离散空间的节点中,粒子密度代表节点的状态,在每个时刻,节点中的粒子互相碰撞并向其相邻节点移动,直到达到平衡状态。LB方法根据所模拟系统的物理特性设计演化方程,使建模结果从宏观角度对系统进行模拟逼近,在对系统进行模拟的同时完成其求解。由于LB方法天然离散,可以方便地处理复杂边界,同时每个节点下一时刻的状态只与其相邻节点的状态有关,因此非常适合并行实现。研究证明,当松弛时间大于0.5时,该方法是稳定的[4]。自出现开始,该方法就因为其清晰的物理意义和固有的并行特性,被用以模拟和求解Navier-Stokes方程、反应扩散方程[5]、非线性演化方程[6]、波动方程[7]、泊松方程[8]和对流扩散方程[9]

Jawerth等人首次将LB方法引入图像处理[10],他们用像素值代替节点值,将像素灰度的改变视作粒子重新分布的结果,并以松弛时间限制粒子的扩散方向,从而在保持图像边缘的前提下完成图像去噪。随后,该方法在图像处理领域的研究逐渐开展,目前已被应用到图像去噪、修复、分割[11]和配准[12]中。为全面总结LB方法在图像处理中的研究现状,作者分别以“Lattice Boltzmann & Image Process”和“格子玻尔兹曼 & 图像处理”作为关键词检索了自2006年以来Web of Science和中国知网中的相关论文,经过分析整理发现以下几个问题:第一,目前缺乏一种LB方法在图像处理中的统一解释;第二,尚未有文献全面归纳过LB方法在图像处理中的研究现状;第三,从宏观角度看,图像处理中有多种LB模型,然而不同模型之间、模型算法时间复杂度之间的差异均未被系统分析过,使得研究者难以根据图像处理的目的选择高效合理的模型和参数。

1 格子玻尔兹曼方法在图像处理中的物理解释

1.1 流体力学中的格子玻尔兹曼方法

LB方法将流体看成由大量离散粒子组成的时空离散系统,这些粒子比分子大,在宏观上又无限小,粒子在2维空间节点中随机运动,节点内的粒子互相碰撞(图 1(a))并改变运动方向,一部分粒子从当前节点移动到相邻节点(图 1(b)),直到达到平衡态,节点中粒子的密度代表节点的状态。图像处理中常用的格子${\rm{D}}n{\rm{Q}}b$[2, 13]图 1(c)(e)所示(一个格子对应一个节点,$n$表示维数,$b$表示粒子运动方向数)。描述粒子碰撞和迁移的不含源项和含源项的演化方程分别为

图 1 格子玻尔兹曼方法中粒子的碰撞扩散以及3种常用格子结构
Fig. 1 Collision and streaming of particles in the nodes and the lattice structures of lattice Boltzmann method ((a) collision; (b) streaming; (c) D2Q5; (d) D2Q9; (e) D3Q19)

$\begin{array}{*{20}{c}} {{f_\alpha }\left( {r + {\mathit{\boldsymbol{e}}_\alpha }\Delta t,t + \Delta t} \right) - {f_\alpha }\left( {r,t} \right) = } \\ {\frac{1}{\tau }\left[ {f_\alpha ^{{\rm{eq}}}\left( {r,t} \right) - {f_\alpha }\left( {r,t} \right)} \right]} \end{array}$ (1)

$\begin{array}{*{20}{c}} {{f_\alpha }\left( {r + {\mathit{\boldsymbol{e}}_\alpha }\Delta t,t + \Delta t} \right) - {f_\alpha }\left( {r,t} \right) = } \\ {\frac{1}{\tau }\left[ {f_\alpha ^{{\rm{eq}}}\left( {r,t} \right) - {f_\alpha }\left( {r,t} \right)} \right] + \Delta t \cdot {F_\alpha }} \end{array}$ (2)

式中,Δ$t$为时间步长,$\tau $为无量纲松弛时间,表示粒子趋于平衡态的快慢,${{f_\alpha }\left( {r,t} \right)}$${f_\alpha ^{{\rm{eq}}}\left( {r,t} \right)}$分别表示$t$时刻节点$r$${{\mathit{\boldsymbol{e}}_\alpha }}$方向上的粒子分布函数和局部平衡态分布函数。${f_\alpha ^{{\rm{eq}}}\left( {r,t} \right)}$${{f_\alpha }\left( {r,t} \right)}$的预测值且等于${\omega _\alpha }f\left( {r,t} \right),f\left( {r,t} \right)$表示$t$时刻节点$r$处的粒子密度,${\omega _\alpha }$为平衡态分布函数权重系数,其取值一般沿用流体力学中的定义并满足$\sum\limits_\alpha {{\omega _\alpha }} = 1$。根据守恒定律,$t$时刻节点$r$处的粒子密度值$f\left( {r,t} \right) = \sum\limits_\alpha {{f_\alpha }\left( {r,t} \right)} = \sum\limits_\alpha {f_\alpha ^{{\rm{eq}}}\left( {r,t} \right)} $${\mathit{\boldsymbol{e}}_\alpha }\left( {\alpha = 0, \cdots ,b - 1} \right)$为取决于格子结构的离散速度,D2Q5和D2Q9格子的${{\mathit{\boldsymbol{e}}_\alpha }}$

${e_\alpha } = \left\{ {\begin{array}{*{20}{l}} \begin{array}{l} \left( {0,0} \right)\\ \quad \quad \quad \quad \quad \quad \quad \alpha = 0 \end{array}\\ \begin{array}{l} c\left( {{\rm{cos}}\left[ {\left( {\alpha - 1} \right)\frac{{\rm{\pi }}}{2}} \right],{\rm{sin}}\left[ {\left( {\alpha - 1} \right)\frac{{\rm{\pi }}}{2}} \right]} \right)\\ \quad \quad \quad \quad \quad \quad \quad \alpha = 1,2,3,4 \end{array}\\ \begin{array}{l} \sqrt 2 c\left( {{\rm{cos}}\left[ {\left( {2\alpha - 1} \right)\frac{{\rm{\pi }}}{4}} \right],{\rm{sin}}\left[ {\left( {2\alpha - 1} \right)\frac{{\rm{\pi }}}{4}} \right]} \right)\\ \quad \quad \quad \quad \quad \quad \quad \alpha = 5,6,7,8 \end{array} \end{array}} \right.$ (3)

式中,$c = \frac{{\Delta x}}{{\Delta t}} = \frac{{\Delta y}}{{\Delta t}}$$x$和Δ$y$为网格步长且相等,下文中均设$\Delta x = \Delta y = 1,\Delta t = 1,c = 1$)。

值得注意的是,$\Delta x = c\Delta t$,即粒子在一个时间步之内恰好从一个节点移动到相邻节点,并在该节点上与其他粒子碰撞,根据这一特征可以将式(1)所示的演化方程改写为如式(4)所示的碰撞过程和式(5)所示的迁移过程。碰撞过程可以被描述为:粒子在节点中运动并碰撞,随后粒子运动方向发生改变,一部分粒子保留在原来的节点中,另一部分粒子进入相邻节点,节点中的粒子密度${f_\alpha }\left( {r,t + \Delta t} \right)$发生改变,${\frac{1}{\tau }\left[ {f_\alpha ^{{\rm{eq}}}\left( {r,t} \right) - {f_\alpha }\left( {r,t} \right)} \right]}$为碰撞项。迁移过程可以被描述为碰撞后粒子向相邻节点的移动。

$\begin{array}{*{20}{c}} {{f_\alpha }\left( {r,t + \Delta t} \right) = \frac{1}{\tau }\left[ {f_\alpha ^{{\rm{eq}}}\left( {r,t} \right) - {f_\alpha }\left( {r,t} \right)} \right] + } \\ {{f_\alpha }\left( {r,t} \right)} \end{array}$ (4)

${f_\alpha }\left( {r + {\mathit{\boldsymbol{e}}_\alpha }\Delta t,t + \Delta t} \right) = {f_\alpha }\left( {r,t + \Delta t} \right)$ (5)

可以看到,LB方法中每一个节点在下一时刻的状态仅由当前状态以及相邻节点决定,因此LB方法是局部和并行的。

1.2 图像处理中的格子玻尔兹曼方法

物理上的扩散可以视为介质中某种浓度分布不均匀的杂质从浓度较高区域向浓度较低区域迁移的过程。如果把图像中像素的灰度值看做流体中的粒子密度,把像素灰度值的改变看做粒子重新分布的结果,就可以把LB方法从流体力学领域引入图像处理领域,此时,需要重新定义LB方法的相关变量[11](以灰度图像为例,具体见表 1):每个像素点对应一个节点,像素灰度值$I$代替节点粒子密度$f$,每个像素点被分成3行3列的9个“亚像素”,分别对应D2Q9格子的9个方向,每个亚像素又有若干“粒子”组成,“粒子”对应被无限划分的像素的灰度级,${I_\alpha }$$I_\alpha ^{{\rm{eq}}}$分别表示亚像素的灰度值和灰度预测值,取代分布函数值${f_\alpha }$和平衡态分布函数值$f_\alpha ^{{\rm{eq}}}$。图像处理中的LB方法也可以分为碰撞和迁移两步。碰撞过程中,一部分粒子重新分布,另一部分保留在原来的亚像素中,此比例取决于松弛时间。迁移过程中,每个亚像素的灰度因为相邻亚像素粒子的扩散而更新。图 2中实线框内为一个像素,虚线框内为一个亚像素。碰撞过程如图 2(a)所示,${I_\alpha },{{I'}_\alpha }$$I_\alpha ^{{\rm{eq}}}$分别表示初始的、迭代中的和最终的亚像素灰度值,${I_\alpha }$有变化为$I_\alpha ^{{\rm{eq}}}$的趋势。迁移过程如图 2(b)所示,像素点$P$左上角亚像素中的一部分粒子与像素点$Q$右下角亚像素中的一部分粒子互相进入对方(同样的过程发生在其他亚像素中),因此亚像素的值随之改变,由于$I = \sum\limits_\alpha {{I_\alpha }} $,所以像素点$P$的值亦随着碰撞与迁移而更新。

表 1 流体力学和图像处理中格子玻尔兹曼方法参数含义比较
Table 1 Translation of definitions of key Lattice Boltzmann parameters from hydrodynamics to image processing

下载CSV
流体力学图像处理
流体节点像素$P$
粒子密度$f$灰度值$I$
粒子移动方向${{\mathit{\boldsymbol{e}}_\alpha }}$亚像素的位置${{\mathit{\boldsymbol{e}}_\alpha }}$
$\alpha $方向粒子密度函数$\alpha $方向亚像素灰度值${I_\alpha }$
平衡态分布函数${f_\alpha ^{{\rm{eq}}}}$$\alpha $方向亚像素灰度预测值
松弛时间$\tau $松弛时间$\tau \left( I \right)$
时间$t$和时间步长Δ$t$时间$t$和时间步长Δ$t$
图 2 图像处理中格子玻尔兹曼方法的碰撞和迁移
Fig. 2 The collision and streaming steps of Lattice Boltzmann method for image processing

2 格子玻尔兹曼方法在图像处理中的研究现状

从自上而下和自下而上两种建模角度分别归纳LB方法在图像去噪、修复和分割中的研究现状,并对LB方法在图像处理中的其他研究进行了简要概述,及简要总结。

2.1 图像去噪

按照上述物理解释,只要使粒子在图像平坦区域扩散较快,而在图像边缘附近扩散较慢,即可在加速图像边缘的同时实现图像边缘的保持。粒子扩散的快慢受演化方程中松弛时间的影响,因此如何确定$\tau $就成为图像去噪的关键问题。$\tau $既可以自上而下的利用已有的图像处理PDE模型确定,又可以在满足LB算法稳定性的前提下自下而上地根据图像的性质确定。

2.1.1 自上而下

已知图像去噪的PDE模型为$\frac{{\partial I}}{{\partial t}} = {\rm{div}}\left( {D \cdot \nabla I} \right)$,式中,扩散系数$D$决定了去噪模型的性质。对LB演化方程进行Chanpman-Euskog多尺度展开,可得到与PDE模型形式类似的LB扩散模型$\frac{{\partial I}}{{\partial t}} = {\rm{div}}\left( {{D_{ij}}\nabla I} \right)$,此时的$\tau $包含在LB扩散模型的扩散系数${{D_{ij}}}$中。通过对比PDE模型与LB扩散模型,即可确定演化方程的$\tau $。Jawerth等人[10]从LB演化方程出发模拟了PM(Perona-Malik)[14]非线性扩散模型(NLDM),此时的$\tau $由于嵌入了图像梯度并且与之成反比,从而使粒子在像素灰度梯度较大的地方(对应图像边缘)扩散较慢而保护了图像边缘,该方法中粒子在不同方向具有相同的扩散速度;Wang等人[15]为了将图像梯度的局部变化考虑在内,即使同一像素点的粒子在不同方向具有不同扩散速度,模拟了各向异性扩散模型[16](ADM),并给出了${\tau _\alpha }$的确切形式;Wen等人[17]在此基础上通过含${{F_\alpha }}$的演化方程建立起图像同步去噪增强ADM,其增强作用由${{F_\alpha }}$实现;文献[18]基于扩散停止时每一个像素点中亚像素的灰度值应该相同的考虑,将平衡态分布函数权重系数设计为1/$b$,在此前提下模拟了NLDM,并给出了与文献[10]不同的$\tau $;文献[19]通过黎曼几何引入矢量图像的变化率,并以之代替灰度图像梯度模值,从使NLDM模型能够直接应用于矢量图像去噪。

Chang等人[20]模拟了TV(total variation)模型,证明了该方法在去除均值为零的高斯白噪声时满足图像去噪的守恒定律,并且可以有效消除由于后向扩散引起的图像灰度“阶跃”现象,在串行环境下其速度为TV模型数值解法的1/4~1/9,但该方法未考虑松弛时间对扩散的影响,本质上是一种线性扩散,因此在边缘保持能力上相对于TV模型较差;Zhao[21]从LB演化方程出发得到抛物线扩散方程(parabolic diffusion equation),使之在特定情况下逼近Poisson方程并将之应用于图像编辑,随后模拟了ADM并将之应用于3维图像去噪;文献[22]利用快速行进法(fast marching method)生成3维图像的距离场,以距离场代替LB方法的粒子密度,从LB演化方程得到了含平均曲率的扩散方程,以之完成了3维图像的表面去噪,随后将外力项引入扩散方程并将之应用于3维图像形变,其中,外力项是形变物体表面与目标物体表面距离场的函数,相对于文献[21],该文利用LB方法简化了曲率的计算。

2.1.2 自下而上

为了在去噪的同时保持图像细节,粒子的扩散必须满足在图像梯度较大的地方较慢,反之较快,即$\tau $必须是图像梯度的非负单调递减函数。基于以上考虑,Chen等人[23-25]在节点间引入与图像梯度相关的“半透膜”,该方法将图像梯度的局部变化考虑在内,假设粒子以概率${\tau _\alpha }$通过$\alpha $方向上的“半透膜”,以概率1-${\tau _\alpha }$被挡回,${\tau _\alpha }$$\alpha $方向上的图像梯度值成反比,节点在下一时刻的状态取决于被挡回的粒子数加上相邻节点通过半透膜进入该节点的粒子数,从而构建起新的各向异性演化方程,这是一种根据图像性质的自下而上的建模方法。

2.2 图像修复

图像修复的思想之一是模拟物理学中的热扩散将待修补区域周围的信息传播到修补区域中,即使到达待修复区边界上的等照线沿着等照线切线方向向待修复区内部延伸[26-27],等照线曲率的引入可使图像修复模型具有保持图像边缘连通性的能力。从以上修复原理可以发现,只要对LB方法中的粒子扩散做一定限制,即可完成类似的修复效果。例如,Chen等人[28]在文献[23]的基础上将图像梯度和曲率引入${\tau _\alpha }$中,并且使${\tau _\alpha }$与等照线曲率成正比、与图像梯度成反比,从而建立起一种相对于经典CDD具有更好修复效果的模型,该方法中${\tau _\alpha }$的计算比较耗时,但LB方法的并行性使得其速度在并行设备上有很大的提升空间。Zhu等人[29]通过四元数将“色差”代替图像梯度并将之引入到$\tau $,利用NLDM完成了内镜高光彩色图像的修复,由于未引入曲率信息,因此该方法只能完成图像细节不丰富的小缺损区域的修复。

2.3 图像分割

从自上而下和自下而上两个角度归纳LB方法在图像分割中的建模,并总结LB方法与其他方法的结合在图像分割中的应用。

2.3.1 自上而下

图像分割中常用的活动轮廓模型的建模可以归结为最小化一个封闭曲线的能量泛函$E = {E_{{\rm{int}}}} + {E_{{\rm{ext}}}}$,式中,${E_{{\rm{int}}}}$负责曲线的平滑,${E_{{\rm{ext}}}}$负责将曲线吸引到待分割物体边缘,在引入水平集方法和梯度下降法以后,能量函数最小化问题可转化为求偏微分方程$\frac{{\partial \varphi }}{{\partial t}} = {\rm{div}}\left( {D \cdot \nabla \phi } \right) + F$的问题,式中$\phi $是零水平集函数,${\rm{div}}\left( {D \cdot \nabla \phi } \right)$是“扩散项”,对应模型的内力,$F$对应将轮廓吸引到物体边缘的“外力项”。从LB演化方程式(2)出发,可以得到扩散模型$\frac{{\partial I}}{{\partial t}} = {\rm{div}}\left( {{D_{ij}}\nabla I} \right) + b{F_\alpha }$,通过对比图像分割PDE和LB扩散模型,就可以确定LB演化方程的$\tau $${F_\alpha }$,进而利用LB方法完成图像分割。文献[30]将M-S(Mumford-Shah)模型转化为“扩散项”与“外力项”之和,利用LB方法求解“扩散项”,利用数值方法求解“外力项”,尽管该方法未建立起“外力项”与${F_\alpha }$的对应关系,但相对于M-S模型的数值解法速度有了很大提升;文献[31]和文献[32]分别模拟了C-V(Chan-Vese)和GAC(geometric active contour)图像分割模型,并给出了“外力项”与演化方程中${F_\alpha }$的对应关系,从而实现了“扩散项”和“外力项”的LB方法求解;考虑到以梯度图像作为边缘图时产生的非连续边界、模糊边界以及纹理图像的分割错误问题,文献[33]模拟了以非线性PDE描述边缘图的A-T(Ambrosio-Tortorelli)模型并利用GPU加速完成图像去噪和边缘检测。可以发现,自上而下建模方法的出发点是利用LB模拟已有图像分割PDE模型,这种途径有以下几个缺点:1)建模困难,从LB演化方程出发模拟固定形式的PDE需要较强的数学推导能力;2)图像分割质量较差,根据我们的知识,目前基于PDE的图像分割模型,如C-V模型、GAC模型都有其适用范围,而利用LB方法模拟以上模型显然不能完成复杂的图像分割问题;3)灵活性较差,自上而下的建模方法忽略了LB方法的本质而仅仅将其视为一种求解PDE的工具。

2.3.2 自下而上

Chen等人[34-35]将ADM看成是热量场的扩散过程,将演化曲线看成是热量场中的零等温线,随着热量场的扩散,零温度线也随之演化。Chen为了实现图像分割,引入了与图像梯度相关的导热系数,在图像的边缘处,导热系数很小,扩散过程非常缓慢,反之导热系数变大,扩散过程加快,这样,曲线最终将停留在待分割目标的边缘处。该方法中,将初始轮廓吸引到待分割物体边缘的力完全由图像梯度提供,并且,为了保证轮廓是向外运动的,必须将初始轮廓定义在待分割物体内部且靠近待分割物体边缘,实验结果表明该方法容易出现轮廓不能到达待分割物体边缘的情况。

在面对更加复杂的图像分割问题时,自上而下的建模方法和文献[34-35]的方法显然有很大的局限性。如果我们把图像看做是一个具有特定分布的粒子浓度场,在图像中定义一个初始轮廓,该轮廓可以看做某一粒子浓度等值线,粒子在扩散作用产生的内力与图像数据产生的外力共同作用下发生碰撞和扩散并重新分布,从而浓度等值线随之改变,当内力和外力平衡时,即粒子分布不再发生变化时,得到分割结果。基于以上考虑,同时联系演化方程式(2)以及2.3.1节的分析可以发现,如果将图像分割的“外力项”进行离散化,然后将之引入LB演化方程[22],就可以构建起影响粒子分布的${F_\alpha }$,从而建立起图像数据与LB演化方程之间的关系,这种方法使研究者不必拘泥于模拟现有图像分割模型,而可以根据待分割图像的特点设计有效的“外力项”,从而使LB方法的灵活性大大提高。以下研究采用了类似的思路,着重根据待分割图像的特点设计“外力项”。Balla-Arabé[36]将外力项设计为模糊C均值函数,从而完成灰度不均匀图像的分割;文献[37-38]设计了基于熵的外力项,完成噪声图像的正确分割;文献[39]在外力项中引入局部统计信息,解决过分割和欠分割的问题;文献[40-41]将区域和边缘信息包含在外力项内,使得模型能同时分割有边缘和无边缘物体,为了使模型能在保持以上优点的情况下正确分割噪声图像,文献[42]将边缘、区域和2维直方图信息嵌入到外力项中;文献[43-44]将图像的纹理信息嵌入到外力项,从而完成了卫星图像感兴趣区域的分割;文献[45]为了对灰度不均匀以及噪声图像完成分割,设计了高斯模糊隶属度函数用来计算轮廓内外的平均灰度,并将此平均灰度代入外力项,文献[46]在此基础上将局部区域统计信息和待分割物体形状的先验知识嵌入外力项,使得模型对旋转、尺度变换和平移后的物体均能完成正确分割;文献[47]为了避免分割过程陷入局部最小值,设计了一种基于$k$均值的外力项;文献[48]研究了海马磁共振图像的LB分割方法,其创新点是在LB图像分割模型中加入海马形状先验信息作为外力项的组成部分之一。

2.3.3 与其他方法的结合

在面对复杂的图像分割问题时,LB方法与其他方法的结合也成为研究者解决问题的途径之一。例如,在进行颅内动脉瘤分割时,考虑到血栓与相邻组织灰度的相似性,文献[49]将LB方法与阈值法、数学形态学方法相结合,从而完成了血栓和血管腔的分割;针对同样的问题,文献[50]首先利用LB方法模拟ADM对颅内动脉瘤图像进行去噪,随后利用Canny算子得到边缘图,并在边缘图上定义了粒子的扩散速度,最后,利用LB模拟了测地活动轮廓(GAC)模型完成分割,其中GAC的扩散项和外力项分别利用LB方法和中心差分法实现;为了完成具有复杂背景的自然图像的分割,文献[51]将自组织映射(SOM)与LB方法相结合,其中SOM用来学习目标和背景的先验知识,先验知识被引入到LB演化方程中作为演化终止的条件。

2.4 格子玻尔兹曼方法的加速方法研究

目前,结合OpenMP技术,LB方法已经在具有共享内存的多CPU系统上实现了并行加速,结合MPI技术已在单GPU和GPU组上实现了并行加速,由于GPU的计算内核通过局部输入产生输出,因此LB方法非常适合GPU的局部和并行结构。文献[21-22]对3维图像去噪、变形以及体数据平滑在GPU上进行了加速,Zhou[52]设计了NLDM的CUDA(compute unified device architecture)算法用于2维图像去噪。文献[38, 42-43, 45-47]和文献[44]分别对2维图像分割过程在GPU和现场可编程门阵列(FPGA)上进行了加速,文献数据表明,并行平台上的LB方法相对于串行平台加速比一般能提高一个数量级,而且图像数据量越大,加速效果越明显。除去并行加速研究,Huang[53]提出了多重网格LB去噪算法,其思想是在图像变化缓慢的区域采用大网格以加速运算,在图像变化剧烈的区域采用小网格以保持图像细节,多重网格的采用提高了LB方法的效率。

2.5 3维医学图像处理

LB方法由于其固有并行的特性和速度优势得到了研究者的重视并被用于3维图像处理。文献[21]和[22]分别在GPU上利用LB方法完成了3维图像去噪和3维图像变形。文献[12]将LB方法用于3维颅脑MR影像之间的配准。文献[54]在GPU组上完成了包括头部CT、头部MR、结肠、动脉瘤等3维医学图像数据的分割。文献[55]利用脑部MR图像的边缘信息和区域信息建立一个3维LB分割模型,直接在3维空间中通过碰撞和迁移过程提取海马结构。通过对以上文献的分析可以发现LB方法的优点:1)在串行以及并行平台上,LB方法相对于传统PDE方法均具有明显的速度优势;2)LB方法在GPU上运行时,3维图像的GPU/CPU加速比大于2维图像;3)在进行3维图像处理时,当图像数据大于643时,LB方法的GPU/CPU加速比可达100以上,且图像数据量越大,加速比越明显。以上发现充分说明了LB方法非常适合GPU平台上的3维图像处理。与此同时,可以看到:1)LB方法在3维图像处理中的研究相对较少;2)在利用LB方法进行3维图像处理时,多GPU之间的通信时间(即边界数据交换及读写所耗时间)大于LB算法每次迭代所需时间。以上缺点为下一步的研究指明了方向:1)拓展LB方法在3D医学图像处理中的应用,如多模态图像的配准;2)构建新的计算机体系更快的读写和交换LB方法计算产生的边界数据。

2.6 小结

图像去噪必须使粒子在梯度越大的地方扩散速度越慢,反之越快,从而在去噪的同时保护边缘,因此可将${\tau _\alpha }$设置为图像梯度的单调非负减函数;而在图像修复中,只要使粒子在梯度越大的地方扩散速度越慢、曲率越大的地方扩散越快,就可以在实现等照线的延伸的同时保持图像边缘的连通性,因此可将${\tau _\alpha }$设置为图像梯度的单调非负减函数、曲率的单调非负增函数。图像分割的效果主要取决于“外力项”的设计,相对于${F_\alpha }$负责将轮廓吸引到待分割物体边缘的作用,对${\tau _\alpha }$一般不做具体要求。${\tau _\alpha }$${F_\alpha }$的确定既可以自上而下的利用PDE的指导,又可以根据所模拟系统的特点自下而上的决定,第一种建模方法仅仅将LB方法作为求解PDE的工具且建模难度较大,第二种方法在降低建模难度的同时提高了LB方法的灵活性。LB方法固有的并行特性使其在并行硬件设备上易于实施,而且数据量越大速度优势越明显。

3 格子玻尔兹曼模型的分类

尝试对LB模型进行分类,并揭示LB宏观模型(即建模得到的PDE)与微观模型(即重新设计的演化方程)之间的内在联系。结合第1节与第2节的分析可以发现,LB方法实际上是一种基于扩散的图像处理方法,根据扩散的性质我们将模型分为各向同性和各向异性两大类,每类又包含有“外力项”和无“外力项”两种情况,其中各向同性扩散又被分为线性和非线性两种情况。

3.1 宏观角度

从LB演化方程式(1)(2)出发,利用Chapman-Enskog展开法,分别得到不含外力项和含外力项的扩散模型[15, 31]

$\frac{{\partial I}}{{\partial t}} = {\rm{div}}\left( {{D_{ij}}\nabla I} \right)$ (6)

$\frac{{\partial I}}{{\partial t}} = {\rm{div}}\left( {{D_{ij}}\nabla I} \right) + b{F_\alpha }$ (7)

式中,${{D_{ij}}}$为扩散系数,${\nabla I}$为图像梯度,${F_\alpha }$$\alpha $方向上的外力,$b$为粒子运动方向数。根据${{D_{ij}}}$${F_\alpha }$可对扩散模型进行分类:若${{D_{ij}}}$的分量${{D_{xx}}}$${{D_{xy}}}$${{D_{yy}}}$${{D_{yx}}}$不同,则模型为ADM;若${{D_{ij}}}$各分量相同,则模型为各向同性扩散模型(IDM);若IDM的${{D_{ij}}}$与图像信息(例如梯度)相关,则模型为NLDM;若IDM的${{D_{ij}}}$为常数,则模型为线性扩散模型(LDM);在引入外力项后,LDM和NLDM分别变为有外力项的线性扩散模型(FLDM)和有外力项的非线性扩散模型(FNLDM)。

3.2 微观角度

LB扩散模型中${{D_{ij}}}$的具体形式为$\sum\limits_{\alpha = 0}^{b - 1} {\left( {{\tau _\alpha }\left( I \right) - \frac{1}{2}} \right){c_{\alpha i}}{c_{\alpha j}}{\omega _\alpha }} $[15],式中, ${{\tau _\alpha }\left( I \right)}$表示$\alpha $方向上的松弛时间,D2Q5和D2Q9的${{\omega _\alpha }}$可分别取为1/5和1/9。在考虑格子对称性的前提下松弛时间可设置为${\tau _\alpha }{\left( I \right)_{{\rm{D}}2{\rm{Q5}}}} = {\tau _{\alpha + 2}}{\left( I \right)_{{\rm{D}}2{\rm{Q5}}}}\left( {\alpha = 1,2} \right)$${\tau _\alpha }{\left( I \right)_{{\rm{D}}2{\rm{Q9}}}} = {\tau _{\alpha + 2}}{\left( I \right)_{{\rm{D}}2{\rm{Q9}}}}\left( {\alpha = 1,2,5,6} \right)$,其中D2Q5格子中${D_{xx}} = \frac{2}{5}\left( {{\tau _1} - \frac{1}{2}} \right)$${D_{yy}} = \frac{2}{5}\left( {{\tau _2} - \frac{1}{2}} \right)$${D_{xy}} = {D_{yx}} = 0$,D2Q9格子中${D_{xx}} = \frac{1}{9}\left( {2{\tau _1} + 2{\tau _5} + 2{\tau _6} - 3} \right)$${D_{yy}} = \frac{1}{9}\left( {2{\tau _2} + 2{\tau _5} + 2{\tau _6} - 3} \right)$${D_{xy}} = {D_{yx}} = \frac{2}{9}\left( {{\tau _5} - {\tau _6}} \right)$。可以看到,若在同一像素点上${\tau _\alpha }$不尽相同,则对应的扩散模型为ADM;若$\tau $相同且为图像信息的函数,则模型为NLDM;若$\tau $相同且为常数,则模型为LDM;若${F_\alpha }$不为零,则模型为FLDM、FNLDM或者FADM。即不同扩散模型之间的本质区别在于演化方程中${\tau _\alpha }$${F_\alpha }$的差异,以上两个参数会造成算法时间复杂度和图像处理效果两方面的差异,前者的差异由其计算方法造成,而后者是因为${\tau _\alpha }$${F_\alpha }$会影响粒子的碰撞和迁移,进而对粒子的分布结果产生影响,最终产生不同的图像处理效果。不同扩散模型的具体形式如图 3所示。

图 3 图像扩散格子玻尔兹曼宏观模型分类
Fig. 3 Classification of image diffusion Lattice Boltzmann macro models

4 算法

首先分析标准LB算法的实现过程,在此基础上比较不同模型算法之间以及算法时间复杂度之间的区别。

4.1 标准格子玻尔兹曼算法

结合图像去噪的NLDM说明LB算法应用于图像处理的具体流程。

NLDM图像去噪算法:

1) 预计算,输入原始图像$I\left( {r,0} \right)$

2) 迭代计算,计算松弛时间$\tau \left( I \right)$

3) 计算平衡态分布函数:$I_\alpha ^{{\rm{eq}}}\left( {r,0} \right) = {\omega _\alpha }I\left( {r,0} \right)$

4) 碰撞过程${I_\alpha }\left( {r,t + \Delta t} \right) - {I_\alpha }\left( {r,t} \right) = \frac{1}{{\tau \left( I \right)}}\left[ {I_\alpha ^{{\rm{eq}}}\left( {r,t} \right) - {I_\alpha }\left( {r,t} \right)} \right]$

5) 扩散过程,${I_\alpha }\left( {r + {e_\alpha }\Delta t,t + \Delta t} \right) = {I_\alpha }\left( {r,t + \Delta t} \right)$

6) 更新节点质量,$I\left( {r,t + \Delta t} \right) = \sum\limits_\alpha {{I_\alpha }\left( {r,t + \Delta t} \right)} $

7) 确定迭代是否达到PSNR,如果是执行步骤8),否则转到步骤2)并依次执行步骤2)—7)直至满足终止条件;

8) 输出,$I\left( r \right)$

标准LB算法流程图如图 4所示。首先将图像像素值分配到节点中,对应NLDM算法的第1)步;接下来初始化用于限制粒子扩散的$\tau \left( {\tau = g\left( {{I_0}} \right)r} \right)$${{I_0}}$代表原始图像),对应第2)步;初始化用于表示亚像素预测值的平衡态分布函数${\omega _\alpha }\left( {{I_0}} \right)r$,对应第3)步;以上两项的计算皆是为第4)步的碰撞和第5)步的迁移作准备,将以上两项带入演化方程式(1)即可得到新的分布函数值;对不同方向的分布函数值求和即得新的节点值(即像素值),对应第6)步;根据计算得到的像素值计算整幅图像的峰值信噪比(PSNR),如果达到最高,则终止迭代过程并输出去噪后的图像,对应第7)8)步;否则,根据新的像素值重新计算$\tau $以及平衡态分布函数,随后重复碰撞、迁移过程并更新像素值,计算PSNR,即重复第2)—7)步,直到满足迭代终止条件。

图 4 标准格子玻尔兹曼算法流程图
Fig. 4 Flow chart of standard Lattice Boltzmann algorithm

4.2 不同模型的实现算法

由演化方程(1)可知每次碰撞与扩散会对分布函数${I_\alpha }\left( {r,t} \right)$产生影响,进而节点值$I\left( {r,t} \right) = \sum\limits_\alpha {{I_\alpha }\left( {r,t} \right)} $随之改变。当$\tau $与节点值相关时(如ADM、NLDM),其值随着节点值的更新而改变,因此$\tau $的计算需要纳入迭代过程,反之,则不需纳入迭代过程(如LDM);同理,${F_\alpha }$与图像信息相关,其计算也需纳入迭代过程。如果将NLDM算法中第2)步的$\tau $设置为不随图像改变的常量并使之进入预计算,算法为LDM算法;将NLDM算法中第2)步的$\tau $设置为常量并使之进入预计算,同时在迭代过程中加入${F_\alpha }$的计算,算法成为FLDM算法;在NLDM算法中的迭代过程中加入${F_\alpha }$的计算,算法为FNLDM算法;ADM算法与NLDM算法步骤相同,其区别在于${\tau _\alpha }$的设置,文献[32]在每个像素的每个方向都需要计算,文献[35]考虑了格子的对称性只需要计算($b$-1)/2次,从而降低了时间复杂度。不同模型对应的算法的区别仅在于$\tau $${F_\alpha }$的定义,这里不再一一列出。

4.3 不同模型算法时间复杂度的差异

假设:格子结构采用D2Q$b$,图像总像素数为$N$,计算机中存储每个像素值需要$m$位数,${\omega _\alpha }$以及$\tau $均为$m$位数,赋值操作的复杂度为O(1),加法的复杂度正比于数的长度,即复杂度为${\rm{O}}\left( m \right)$,乘法采用硬乘法,则复杂度为${\rm{O}}\left( {{m^2}} \right)$,开方运算的复杂度为${\rm{O}}\left( {{m^2}} \right)$

基于以上假设:1)所有算法设定初始条件的复杂度均为O(1);2)LDM指定$\tau $并且赋值给每个像素耗时O(1);C为迭代步长,NLDM的$\tau $$\frac{1}{2} + \frac{3}{2}{\rm{C}} \cdot g\left( {\left| {\nabla {G_\sigma }*I} \right|} \right)$,其复杂度为${\rm{O}}\left( {{m^2}} \right)$;ADM的${\tau _\alpha }$$\frac{1}{2} + \frac{3}{2}{\rm{C}} \cdot g\left( {\left| {{e_a} \cdot \nabla {G_\sigma }*I} \right|} \right)$,复杂度为${\rm{O}}\left( {{m^2}} \right)$;3)计算平衡态分布函数的复杂度为${\rm{O}}\left( {{m^2}} \right)$;4)碰撞过程复杂度为${\rm{O}}\left( {{m^2}} \right)$;5)扩散过程复杂度为O(1);6)更新节点值复杂度为${\rm{O}}\left( {{m}} \right)$;7)假设${F_\alpha }$${F_\alpha }\left( {r,t} \right) = \frac{1}{5}\lambda \left( {f\left( {I\left( {r,t} \right)} \right) - I\left( {r,t} \right)} \right)$,复杂度为${\rm{O}}\left( {{m^3}} \right)$。不同模型对应算法的复杂度见表 2,其中LDM不需计算$\tau $;LDM、NLDM和ADM不需计算外力项。

表 2 不同格子玻尔兹曼扩散模型算法时间复杂度比较
Table 2 Comparison of time complexity of Lattice Boltzmann diffusion models

下载CSV
模型第1步第2步第3步第4步第5步第6步第7步时间复杂度
LDMO (1)O(1)${\rm{O}}\left( {{m^2}} \right)$${\rm{O}}\left( {{m^2}} \right)$O(1)${\rm{O}}\left( {{m}} \right)$${\rm{O}}\left( {{m^2}} \right)$
NLDMO(1)${\rm{O}}\left( {{m^2}} \right)$${\rm{O}}\left( {{m^2}} \right)$${\rm{O}}\left( {{m^2}} \right)$O(1)${\rm{O}}\left( {{m}} \right)$${\rm{O}}\left( {{m^2}} \right)$
ADMO(1)${\rm{O}}\left( {{m^2}} \right)$${\rm{O}}\left( {{m^2}} \right)$${\rm{O}}\left( {{m^2}} \right)$O(1)${\rm{O}}\left( {{m}} \right)$${\rm{O}}\left( {{m^2}} \right)$
FLDMO(1)O(1)${\rm{O}}\left( {{m^3}} \right)$${\rm{O}}\left( {{m^2}} \right)$${\rm{O}}\left( {{m^2}} \right)$O(1)${\rm{O}}\left( {{m}} \right)$${\rm{O}}\left( {{m^3}} \right)$
FNLDMO(1)${\rm{O}}\left( {{m^2}} \right)$${\rm{O}}\left( {{m^3}} \right)$${\rm{O}}\left( {{m^2}} \right)$${\rm{O}}\left( {{m^2}} \right)$O(1)${\rm{O}}\left( {{m}} \right)$${\rm{O}}\left( {{m^3}} \right)$

表 2可以发现,LDM、NLDM、ADM算法时间复杂度相同,考虑到在计算$\tau $时,LDM只需事先设置并且赋给每个节点的$b$个方向;NLDM每次迭代每个节点都需要计算一次,且对$b$个方向赋值;ADM每次迭代每个节点需要计算$b$-1或者($b$-1)/2次,且对$b$个方向赋值,因此以上几种模型实际耗时依次增高,而FLDM和FNLDM的时间复杂度更大程度上依赖于${F_\alpha }$的设计。为了验证以上推断,利用Matlab在同一台PC上分别记录不同模型耗时随迭代次数的变化情况得到如图 5所示曲线,可以看到实验结果与理论分析相吻合,本实验中的外力项极大地增加了算法时间复杂度。

图 5 不同LB扩散模型耗时与迭代次数的关系
Fig. 5 The computation time corresponding to the iteration step for different LB diffusion model

文献[56]分析了两种格子结构对时间复杂度的影响(如图 6所示),可以发现D2Q5与D2Q9两种格子的耗时与迭代次数均呈线性关系,且D2Q9耗时大于D2Q5,这是由任何一步中方向数的不同所造成的计算次数不同引起的。

图 6 D2Q5和D2Q9随迭代次数耗时变化(引自文献[56])
Fig. 6 The computation time corresponding to the iteration step for D2Q5 and D2Q9 structure

5 应用

本节希望得到一种通用LB图像处理方法,并简化LB方法在图像去噪、修复和分割中的步骤,基于以上思路,我们必须解决以下几个问题:1)解决图像处理通用模型的构建问题。在第2节中归纳了LB方法在图像去噪、修复和分割中的建模问题,在第3节中对模型进行了分类,然而仍然缺乏一种通用的图像扩散LB模型构建方法,从而使得LB方法在图像处理中的灵活性受到限制。2)解决图像处理模型的选择问题。在4.3节中讨论了不同模型的算法时间复杂度,这使得研究者可以从效率角度选择合适的模型,本节我们希望从图像处理效果的角度针对图像去噪、修复和分割选择合适的模型,即确定LB演化方程中${\tau _\alpha }$${F_\alpha }$,从而综合考虑效率和效果两个因素;3)确定LB方法在图像去噪、修复和分割中的输入、输出以及算法终止条件;4)为了简化LB方法在图像处理中的步骤,文献[11]提出了可用于图像去噪、修复和分割的“LB核”方法,但该文献并未讨论不同扩散模型所对应“LB核”的不同之处,本节对此进行了补充讨论。

5.1 图像扩散格子玻尔兹曼模型的构建

从第3节的分析可知图像处理的LB宏观模型为$\frac{{\partial I}}{{\partial t}} = {\rm{div}}\left( {{D_{ij}}\nabla I} \right) + b{F_\alpha }$,右边第1项可被视为扩散模型的内力,第2项可被视为与图像数据相关的外力。结合第2节的分析,可将图像处理的统一模型归纳为result= (LB)diffusion + $F$external ,(LB)diffusion对应${\rm{div}}\left( {{D_{ij}}\nabla I} \right)$$F$external对应${bF_\alpha }$,该公式的意义是:粒子在扩散与图像数据产生的外力的共同作用下重新分布,直到达到新的平衡态,从而得到新的图像处理结果。其中(LB)diffusion可以被分为ADM、IDM、NLDM、LDM,具体取决于的$\tau $设定。$F$external是否需要取决于图像处理的目的,若存在外力项则模型变为FADM、FNLDM、FLDM。在以上统一图像处理模型下,图像处理问题变为(LB)diffusion的选择(即$\tau $的设定)以及外力项的设计问题。

5.2 模型选择

5.2.1 宏观角度模型选择

图像去噪需要在加速去噪的同时保护图像的边缘特征。LDM的扩散系数为常数(即LB演化方程的$\tau $为常数),所以粒子的碰撞和迁移过程不受图像梯度的约束,迁移在每个像素的$b$个方向具有相同的速度,因此不具有边缘保护作用,如果迁移过程一直持续,最终图像将失去大量的细节信息;NLDM的扩散系数与图像信息相关,即LB演化方程的$\tau $在同一个像素点的各个方向相同,$\tau $通常被设置为图像梯度的函数,使得迁移过程在图像梯度值越大的地方扩散越慢,反之越快,该模型在去噪同时具有梯度保持的作用;ADM将图像梯度的局部变化考虑在内,${\tau _\alpha }$在同一个像素点的不同方向均依赖于图像梯度信息,相对于LDM和NLDM,该模型能最大程度的保持图像的细节。

图像修复是从未损坏区域到损坏区域的扩散过程,此过程必须依赖于未损坏区域的梯度和曲率信息,因此相对于ADM和NLDM,LDM不适合用于图像修复。假如选择含“外力项”的模型进行图像修复,其关键是如何设置“外力项”以提高修复质量。

图像分割的关键是使活动轮廓停止在待分割物体边缘,而轮廓是否停止演化主要取决于${F_\alpha }$,因此扩散模型是LDM、NLDM或者ADM相对来说不再重要,考虑到时间计算复杂度,FLDM被广泛应用于图像分割中。

5.2.2 微观角度${\tau _\alpha }$${F_\alpha }$的确定

${\tau _\alpha }$${F_\alpha }$的确定有自下而上和自上而下两种方法,其中自下而上的方法可根据待处理图像的特点灵活设定,自上而下的方法如图 7所示:1)根据图像处理的目的设计宏观PDE,将PDE转化为“扩散项”与“外力项”之和的形式;2)从LB演化方程出发,得到与图像处理PDE形式类似的LB扩散模型;3)由于LB演化方程的${\tau _\alpha }$${F_\alpha }$嵌入到了LB扩散模型中,通过对比图像处理的PDE和LB模型,进一步确定演化方程的${\tau _\alpha }$${F_\alpha }$。比较两种方法可以发现,自下而上的方法更为灵活,而自上而下的方法无疑增加了建模工作量。

图 7 通过PDE的指导确定演化方程的${\tau _\alpha }$${F_\alpha }$
Fig. 7 Determine ${\tau _\alpha }$ and ${F_\alpha }$ of lattice Boltzmann evolution equation by PDE

5.3 算法输入、输出以及终止条件

图像去噪、修复和分割所对应的LB算法输入、输出以及算法终止条件见表 3

表 3 图像去噪、修复和分割中的输入、输出和算法终止条件
Table 3 The input, output and termination condition of LB algorithm corresponding to image denoising, inpainting and segmentation

下载CSV
算法输入算法输出算法终止条件
图像去噪像素值作为节点值节点值作为像素值整幅图像达到PSNR
图像修复确定待修复区域Ω及其周围区域$\partial $Ω,Ω内像素点对应的节点值被初始化为零,$\partial $Ω内的节点值为相应像素值未损坏区域内像素值不变,受损区域内像素值随着节点值的更新而改变受损区域内像素值的改变随迭代的变化小于设定的阈值
图像分割设定初始曲线$\eta $和水平集函数LSF$\varphi $,计算每个像素点到初始曲线的距离函数作为对应节点的初始值演化曲线活动轮廓不再随迭代次数的变化而运动

5.4 细化的“LB核”方法

为了简化LB方法在图像处理中应用,Yan[11]提出了“LB核”的概念(此处的“LB核”即为LB算法核心步骤)并将之嵌入到图像处理算法中,只需设置不同的初始、终止条件以及输出即可利用“LB核”完成图像去噪、修复和分割,但该文献并未将不同模型所对应“LB核”的区别考虑在内,从而使得算法不够具体,本文对此进行补充。

表 4列出了不同模型所对应“LB核”的计算步骤,第1步到第六步分别对应计算${F_\alpha }$、计算${\tau _\alpha }$、碰撞、扩散、更新节点值、计算新的平衡态分布函数。

表 4 不同扩散模型所对应“LB核”的计算步骤
Table 4 Computational procedure of "LB kernel" corresponding to different diffusion model

下载CSV
模型计算步骤
第1步第2步第3步第4步第5步第6步
NLDM×
ADM×
LDM××
FLDM×
FNLDM
注:√表示该步骤需要计算,×表示该步骤不需要计算。

文献[11]给出了“LB核”应用于图像去噪、修复和分割的程序流程图,本文进一步给出了其具体实现算法。

5.4.1 图像去噪

图像去噪流程图如图 8(a)所示,算法步骤如下:

图 8 图像处理中的“LB核”方法
Fig. 8 Algorithms of the "LB kernel" and its implementation for image processing. ((a) algorithm for image denoising; (b) algorithm for image inpainting; (c) algorithm for image segmentation)

1) 将像素值代入节点并初始化平衡态分布函数;

2) 进入“LB核”;

3) 更新节点值,判断是否达到PSNR,如果达到PSNR,则输出节点值(即像素值),否则返回步骤2)直至满足终止条件。

5.4.2 图像修复

图像修复流程图如图 8(b)所示,算法步骤如下:

1) 确定待修复区域Ω及其周围区域$\partial $Ω,Ω内像素点对应的节点值被初始化为零,$\partial $Ω内的节点值为相应像素值${{I_0}}$

2) 进入“LB核”;

3) 更新节点值,在修复的过程中,未损坏区域内像素值不变,受损区域内像素值随着节点值的更新而改变;

4) 判断算法是否终止,算法的终止条件通常设置为受损区域内像素值的改变随迭代的变化小于设定的阈值,如果算法终止,则输出修复后的图像,否则返回2)直至满足终止条件。

5.4.3 图像分割

图像分割流程图如图 8(c)所示,算法步骤如下:

1) 设定初始曲线$\eta $和水平集函数LSF$\phi $,计算每个像素点到初始曲线的距离函数作为对应节点的初始值$\phi $,初始化平衡态分布函数;

2) 进入“LB核”;

3) 更新节点值;

4) 判断距离函数是否变化,即活动轮廓是否随着迭代次数的变化而变化;

5) 如果活动轮廓不再变化,则输出为演化曲线,否则返回步骤2)直至满足终止条件。

5.5 小结

经过本节的分析,我们可以归纳出利用LB方法进行图像处理的总体思路:首先,根据图像处理的目的选择所需模型,这一步同时确定了“LB核”以及${\tau _\alpha }$${F_\alpha }$;随后,确定输入、输出和算法终止条件;最后,进入对应的“LB核”流程完成图像处理。

6 讨论

6.1 与偏微分方程方法的区别

基于PDE的图像处理方法认为图像是连续的,其数值解法是将连续宏观模型转化为离散代数方程,用差分代替微分,这种方法存在以下缺点:1)数字图像本身是离散的;2)对PDE的离散化与PDE时空连续的假设相矛盾[57];3)为了保证求解的精确性和稳定性必须采用复杂的离散方法,这导致求解过程计算量大,编程复杂;4)基于PDE方法的图像处理在并行设备上的实现需要较高的编程技巧。

LB方法是描述物理系统的一种空间、时间和粒子速度均为离散的数学模型,是“介于宏观连续模型与微观分子动力学模型之间的一种介观模型”,它根据系统的微观行为设计演化方程,从而在对系统进行模拟的同时实现其求解。由于图像的像素和LB方法中的节点对应,且每个节点下一时刻的状态只与其相邻节点的状态相关,因此LB方法是一种适合图像处理的并行算法。LB方法的根本原理是图像数据产生的“力”影响了粒子的分布(这个“力”可以根据图像处理的目的构建),新的粒子分布结果即图像处理结果。相对于PDE方法,LB方法具有物理意义清晰,算法简单,易于并行实现,易于处理边界条件,稳定性好的优点。

6.2 存在问题和进一步的研究方向

6.2.1 边界处理问题

边界处理会对计算精度、稳定性以及计算效率产生影响,LB方法的边界处理格式包括启发式格式、动力学格式、外推格式以及其他复杂边界处理格式,其中启发式格式根据粒子的运动规则直接确定边界点上的未知分布函数,包括周期性边界处理格式、对称边界处理格式、充分发展边界处理格式、反弹格式、镜面反射格式、反弹与镜面反射混合格式。图像处理中,一般认为图像与外界无关,因此早期文献采用具有一阶精度精的反弹格式,后来研究者将半步长反弹格式引入,使得计算精度达到二阶。然而,除了这两种反弹格式之外,还有哪一种适合图像处理,极其对计算精度、稳定性以及计算效率的影响尚未有文献专门作出分析和验证。

6.2.2 运行平台选择及优化

LB方法作为一种并行算法,处理的数据量越大,并行平台相对于串行平台速度优势越明显。考虑到并行平台在内存分配、数据读取上的耗时要大于串行平台,因此考虑是否在进行小尺寸图像处理时,串行平台更有计算速度上的优势?多GPU系统从图像多大时相对于单GPU系统开始显现速度优势?以上两个问题需要进一步研究。

尽管LB方法作为一种固有的并行算法非常适合GPU,但在图像处理中需要计算${\tau _\alpha }$${F_\alpha }$,而计算以上两项需要的逻辑运算能力正是GPU所欠缺的,解决这个问题的常用方法是利用CPU计算${\tau _\alpha }$${F_\alpha }$,利用GPU计算LB算法中的碰撞和扩散问题。因为LB算法中每次迭代每个像素点均需要计算${\tau _\alpha }$${F_\alpha }$,并以此为前提完成碰撞和迁移过程,因此CPU与GPU之间的通信时间在整个图像处理时间中不容忽略,这无疑影响了LB算法的执行速度。提高LB方法在并行平台上运行速度的关键问题之一是如何更合理的分配CPU和GPU以及缩短两者之间的通信时间。

7 结语

本文贡献如下:1)解释了图像处理中LB方法的物理意义;2)从不同的建模角度分析了LB方法在图像处理去噪、修复和分割中的研究现状;3)从宏观角度对自上而下建模得到的模型进行了分类,从微观角度并分析了不同模型在演化方程上的本质差异;4)分析了不同模型的适用范围以及算法时间复杂度;5)提出了图像处理LB模型的构建方法;6)细化了“LB核”方法在图像去噪、修复和分割中的应用。同时本文也指出了若干值得进一步研究的问题,包括边界处理问题、并行平台的选择和并行平台上的加速问题。

LB方法具有物理意义清晰、固有并行、编程简单的优势,在目前图像数据量日益增大、实时图像处理的要求越来越迫切、GPU成本大为降低的前提下,有着极其重要的应用价值。目前,结合计算机硬件技术,LB方法已经在科研领域(例如医学图像处理和卫星图像处理)以及工业领域(如动漫产业)中获得了应用。由于LB方法在保证优异的图像处理质量的前提下具有速度优势和建模的灵活性,我们预测该方法将成为图像处理领域中的一个新的研究热点。

参考文献

  • [1] Eklund A, Dufort P, Forsberg D, et al. Medical image processing on the GPU-Past, present and future[J]. Medical Image Analysis, 2013, 17(8): 1073–1094. [DOI:10.1016/j.media.2013.05.008]
  • [2] Qian Y H, D'Humières D, Lallemand P. Lattice BGK models for Navier-Stokes equation[J]. Europhysics Letters, 1992, 17(6): 479–484. [DOI:10.1209/0295-5075/17/6/001]
  • [3] Sarkar P. A brief history of cellular automata[J]. ACM Computing Surveys, 2000, 32(1): 80–107. [DOI:10.1145/349194.349202]
  • [4] Sterling J D, Chen S Y. Stability analysis of lattice Boltzmann methods[J]. Journal of Computational Physics, 1996, 123(1): 196–206. [DOI:10.1006/jcph.1996.0016]
  • [5] Dawson S P, Chen S, Doolen G D. Lattice Boltzmann computations for reaction-diffusion equations[J]. Journal of Chemical Physics, 1993, 98(2): 1514–1523. [DOI:10.1063/1.464316]
  • [6] Ma C F. A new lattice Boltzmann model for KdV-Burgers equation[J]. Chinese Physics Letters, 2005, 22(9): 2313–2315. [DOI:10.1088/0256-307X/22/9/048]
  • [7] Yan G W. A lattice Boltzmann equation for waves[J]. Journal of Computational Physics, 2000, 161(1): 61–69. [DOI:10.1006/jcph.2000.6486]
  • [8] Hirabayashi M, Chen Y, Ohashi H. The lattice BGK model for the Poisson equation[J]. JSME International Journal Series B Fluids and Thermal Engineering, 2001, 44(1): 45–52. [DOI:10.1299/jsmeb.44.45]
  • [9] Guo Z L, Shi B C, Wang N C. Fully lagrangian and lattice Boltzmann methods for the advection-diffusion equation[J]. Journal of Scientific Computing, 1999, 14(3): 291–300. [DOI:10.1023/A:1023273603637]
  • [10] Jawerth B, Lin P, Sinzinger E. Lattice Boltzmann models for anisotropic diffusion of images[J]. Journal of Mathematical Imaging and Vision, 1999, 11(3): 231–237. [DOI:10.1023/A:1008304519705]
  • [11] Yan Z Z, Sun Y B, Jiang J H, et al. Novel explanation, modeling and realization of lattice Boltzmann methods for image processing[J]. Multidimensional Systems and Signal Processing, 2015, 26(3): 645–663. [DOI:10.1007/s11045-013-0264-1]
  • [12] Zheng X, Tong M, Cao Y. LBM craniocerebral MR 3D medical image non-rigid registration method[J]. Journal of Xidian University, 2013, 40(6): 125–131. [郑翔, 同鸣, 曹阳. 一种颅脑MR影像的LBM三维非刚体配准方法[J]. 西安电子科技大学学报:自然科学版, 2013, 40(6): 125–131. ] [DOI:10.3969/j.issn.1001-2400.2013.06.022]
  • [13] Deng B, Shi B C, Wang G C. Comparison between two Lattice Bhatnagar-Gross-Krook models for diffusion equation with source term[J]. Journal of Huazhong University of Science and Technology:Nature Science Edition, 2004, 32(12): 114–116. [邓滨, 施保昌, 王广超. 求解含源项扩散方程的两种格子BGK模型比较[J]. 华中科技大学学报:自然科学版, 2004, 32(12): 114–116. ] [DOI:10.3321/j.issn:1671-4512.2004.12.040]
  • [14] Perona P, Malik J. Scale-space and edge detection using anisotropic diffusion[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1990, 12(7): 629–639. [DOI:10.1109/34.56205]
  • [15] Wang Z Q, Yan Z Z, Qian Y H, et al. Lattice Boltzmann model of anisotropic diffusion for image denoising[C]//Proceedings of the 2010 IEEE Youth Conference on Information Computing and Telecommunications. Beijing, China:IEEE, 2010:21-24.[DOI:10.1109/YCICT.2010.5713142]
  • [16] Weickert J. Theoretical foundations of anisotropic diffusion in image processing[M]//Kropatsch K, Klette R, Solina F, et al. Theoretical Foundations of Computer Vision. Vienna:Springer, 1996, 11:221-236.[DOI:10.1007/978-3-7091-6586-7_13]
  • [17] Wen J L, Yan Z Z, Lin X M. Synchronization algorithm for denoising and enhancement of medical image based on lattice Boltzmann method[J]. Journal of Chinese Computer Systems, 2013, 34(9): 2197–2200. [温军玲, 严壮志, 林笑曼. 格子玻尔兹曼方法的医学图像同步去噪增强算法[J]. 小型微型计算机系统, 2013, 34(9): 2197–2200. ] [DOI:10.3969/j.issn.1000-1220.2013.09.046]
  • [18] Wang Z Q, Yan Z Z, Qian Y H. Nonlinear diffusion for image denoising using lattice Boltzmann method[J]. Journal of Applied Sciences, 2010, 28(4): 367–373. [王志强, 严壮志, 钱跃竑. 图像非线性扩散去噪的格子玻尔兹曼方法[J]. 应用科学学报, 2010, 28(4): 367–373. ] [DOI:10.3969/j.issn.0255-8297.2010.04.007]
  • [19] Wang Z Q, Yan Z Z, Zhang R, et al. Lattice Boltzmann method for vector image denoising[J]. Journal of Applied Sciences, 2010, 28(5): 493–500. [王志强, 严壮志, 张蕊, 等. 矢量图像去噪的格子玻尔兹曼方法[J]. 应用科学学报, 2010, 28(5): 493–500. ] [DOI:10.3969/j.issn.0255-8297.2010.05.008]
  • [20] Chang Q S, Yang T. A lattice Boltzmann method for image denoising[J]. IEEE Transactions on Image Processing, 2009, 18(12): 2797–2802. [DOI:10.1109/TIP.2009.2028369]
  • [21] Zhao Y. Lattice Boltzmann based PDE solver on the GPU[J]. The Visual Computer, 2008, 24(5): 323–333. [DOI:10.1007/s00371-007-0191-y]
  • [22] Zhao Y. GPU-accelerated surface denoising and morphing with lattice Boltzmann scheme[C]//Proceedings of the IEEE International Conference on Shape Modeling and Applications. Stony Brook, NY, USA:IEEE, 2008:19-28.[DOI:10.1109/SMI.2008.4547942]
  • [23] Chen Y, Yan Z Z, Qian Y H. An anisotropic diffusion model for medical image smoothing by using the lattice Boltzmann method[C]//Proceedings of the 7th Asian-Pacific Conference on Medical and Biological Engineering. Berlin, Heidelberg:Springer, 2008:255-259.[DOI:10.1007/978-3-540-79039-6_65]
  • [24] Chen Y. A lattice Boltzmann method based medical image denoising and enhancement[C]//Proceedings of the 2nd International Congress on Image and Signal Processing. Tianjin, China:IEEE, 2009:1-4.[DOI:10.1109/CISP.2009.5304101]
  • [25] Chen Y, Yan Z Z, Qian Y H. The lattice Boltzmann method based image denoising[J]. Acta Electronica Sinica, 2009, 37(3): 574–580. [陈玉, 严壮志, 钱跃翃. 基于格子玻尔兹曼模型的图像去噪[J]. 电子学报, 2009, 37(3): 574–580. ] [DOI:10.3321/j.issn:0372-2112.2009.03.027]
  • [26] Barcelos C A Z, Batista M A. Image inpainting and denoising by nonlinear partial differential equations[C]//XVI Brazilian Symposium on Computer Graphics and Image Processing. Sao Carlos, Brazil:IEEE, 2003:287-293.[DOI:10.1109/SIBGRA.2003.1241021]
  • [27] Zhang H Y, Peng Q C. A survey on digital image inpainting[J]. Journal of Image and Graphics, 2007, 12(1): 1–10. [张红英, 彭启琮. 数字图像修复技术综述[J]. 中国图象图形学报, 2007, 12(1): 1–10. ] [DOI:10.3969/j.issn.1006-8961.2007.01.001]
  • [28] Chen Y. A lattice-Boltzmann method for image inpainting[C]//Proceedings of the 3rd International Congress on Image and Signal Processing. Yantai, China:IEEE, 2010:1222-1225.[DOI:10.1109/CISP.2010.5647241]
  • [29] Zhu Y, Yan Z Z, Kang M H. Specular image highlight inpainting based on lattice Boltzmann model[J]. Chinese Journal of Scientific Instrument, 2015, 36(12): 2747–2755. [朱泳, 严壮志, 康明洪. 基于格子玻尔兹曼模型的内镜图像高光修复[J]. 仪器仪表学报, 2015, 36(12): 2747–2755. ] [DOI:10.3969/j.issn.0254-3087.2015.12.014]
  • [30] Chen Y. A lattice Boltzmann method for piece-wise constant Mumford Shah model[J]. International Journal of Digital Content Technology and Its Applications, 2011, 5(12): 339–346. [DOI:10.4156/jdcta.vol5.issue12.42]
  • [31] Wang Z Q, Yan Z Z, Chen G. Lattice Boltzmann method of active contour for image segmentation[C]//Proceedings of the 6th International Conference on Image and Graphics. Hefei, Anhui, China:IEEE, 2011:338-343.[DOI:10.1109/ICIG.2011.138]
  • [32] Sun X Y, Wang Z Q, Chen G. Parallel active contour with lattice Boltzmann scheme on modern GPU[C]//Proceedings of the 19th IEEE International Conference on Image Processing. Orlando, FL, USA:IEEE, 2012:1709-1712.[DOI:10.1109/ICIP.2012.6467208]
  • [33] Chen J H, Chai Z H, Shi B C, et al. Lattice Boltzmann method for filtering and contour detection of the natural images[J]. Computers & Mathematics with Applications, 2014, 68(3): 257–268. [DOI:10.1016/j.camwa.2014.05.023]
  • [34] Chen Y, Yan Z Z, Chu Y G. Cellular automata based level set method for image segmentation[C]//Proceedings of the IEEE/ICME International Conference on Complex Medical Engineering. Beijing, China:IEEE, 2007:171-174.[DOI:10.1109/ICCME.2007.4381715]
  • [35] Chen Y, Yan Z Z, Shi J. Application of lattice Boltzmann method to image segmentation[C]//Proceedings of the 29th Annual International Conference of the Engineering in Medicine and Biology Society. Lyon, France:IEEE, 2007:6561-6564.[DOI:10.1109/IEMBS.2007.4353863]
  • [36] Balla-Arabé S, Gao X B, Wang B. A fast and robust level set method for image segmentation using fuzzy clustering and lattice Boltzmann method[J]. IEEE Transactions on Cybernetics, 2013, 43(3): 910–920. [DOI:10.1109/TSMCB.2012.2218233]
  • [37] Balla-Arabé S, Gao X B. A multiphase entropy-based level set algorithm for MR breast image segmentation using lattice Boltzmann model[M]//Yang J, Fang F, Sun C Y. Intelligent Science and Intelligent Data Engineering. Berlin, Heidelberg:Springer, 2013, 7751:8-16.[DOI:10.1007/978-3-642-36669-7_2]
  • [38] Balla-Arabé S, Gao X B. Geometric active curve for selective entropy optimization[J]. Neurocomputing, 2014, 139: 65–76. [DOI:10.1016/j.neucom.2013.09.058]
  • [39] Wen J L, Yan Z Z, Jiang J H. A lattice Boltzmann model with statistic region information for image segmentation[J]. Journal of Applied Sciences, 2016, 34(1): 49–57. [温军玲, 严壮志, 蒋皆恢. 一种区域统计信息的格子玻尔兹曼图像分割模型[J]. 应用科学学报, 2016, 34(1): 49–57. ] [DOI:10.3969/j.issn.0255-8297.2016.01.006]
  • [40] Wen J L, Yan Z Z, Sun Y B, et al. Image segmentation of integrated edge and region information by lattice Boltzmann model[J]. Journal of Jiangsu University:Natural Science Edition, 2013, 34(6): 687–692. [温军玲, 严壮志, 孙玉彪, 等. 集成边缘和区域信息的格子玻尔兹曼模型图像分割[J]. 江苏大学学报:自然科学版, 2013, 34(6): 687–692. ] [DOI:10.3969/j.issn.1671-7775.2013.06.012]
  • [41] Wen J L, Yan Z Z, Jiang J H. Novel lattice Boltzmann method based on integrated edge and region information for medical image segmentation[J]. Bio-Medical Materials and Engineering, 2014, 24(1): 1247–1252. [DOI:10.3233/BME-130926]
  • [42] Balla-Arabé S, Gao X B, Wang B. GPU accelerated edge-region based level set evolution constrained by 2D gray-scale histogram[J]. IEEE Transactions on Image Processing, 2013, 22(7): 2688–2698. [DOI:10.1109/TIP.2013.2255304]
  • [43] Balla-Arabé S, Gao X B, Wang B, et al. Multi-kernel implicit curve evolution for selected texture region segmentation in VHR satellite images[J]. IEEE Transactions on Geoscience and Remote Sensing, 2014, 52(8): 5183–5192. [DOI:10.1109/TGRS.2013.2287239]
  • [44] Li C, Balla-Arabé S, Ginhac D, et al. Embedded implementation of VHR satellite image segmentation[J]. Sensors, 2016, 16(6): #771. [DOI:10.3390/s16060771]
  • [45] Balla-Arabé S, Li C, Brost V, et al. Fuzzy selecting local region level set algorithm[C]//Proceedings of the 23rd European Signal Processing Conference. Nice, France:IEEE, 2015:1810-1814.[DOI:10.1109/EUSIPCO.2015.7362696]
  • [46] Balla-Arabé S, Gao X B, Ginhac D, et al. Shape-constrained level set segmentation for hybrid CPU-GPU computers[J]. Neurocomputing, 2016, 177: 40–48. [DOI:10.1016/j.neucom.2015.11.004]
  • [47] Balla-Arabé S, Gao X B, Ginhac D, et al. Architecture-driven level set optimization:from clustering to subpixel image segmentation[J]. IEEE Transactions on Cybernetics, 2016, 46(12): 3181–3194. [DOI:10.1109/TCYB.2015.2499206]
  • [48] Wen J L, Jiang J H, Yan Z Z. A new lattice Boltzmann algorithm for assembling local statistical information with MR brain imaging segmentation applications[J]. Multidimensional Systems and Signal Processing, 2017, 28(4): 1611–1627. [DOI:10.1007/s11045-016-0436-x]
  • [49] Wang Y, Courbebaisse G, Zhu Y M. Segmentation of giant cerebral aneurysms using a multilevel object detection scheme based on lattice Boltzmann method[C]//Proceedings of the 2011 IEEE International Conference on Signal Processing, Communications and Computing. Xi'an, China:IEEE, 2011:1-4.[DOI:10.1109/ICSPCC.2011.6061695]
  • [50] Chen Y, Navarro L, Wang Y, et al. Segmentation of the thrombus of giant intracranial aneurysms from CT angiography scans with lattice Boltzmann method[J]. Medical Image Analysis, 2014, 18(1): 1–8. [DOI:10.1016/j.media.2013.08.003]
  • [51] Albalooshi F A, Asari V K. A self-organizing lattice Boltzmann active contour (SOLBAC) approach for fast and robust object region segmentation[C]//Proceedings of the 2015 IEEE International Conference on Image Processing. Quebec City, QC, Canada:IEEE, 2015:1329-1333.[DOI:10.1109/ICIP.2015.7351016]
  • [52] Zhou M, Yan Z Z, Huang B. Design and implementation of CUDA algorithms based on nonlinear image diffusion LB model[J]. Journal of Applied Sciences, 2014, 32(1): 85–92. [周明, 严壮志, 黄彬. 非线性图像扩散LB模型的CUDA算法设计与实现[J]. 应用科学学报, 2014, 32(1): 85–92. ] [DOI:10.3969/j.issn.0255-8297.2014.01.014]
  • [53] Huang B, Yan Z Z, Zhou M. Multi-grid lattice Boltzmann method for anisotropic image diffusion[J]. Journal of Applied Sciences, 2013, 31(6): 619–627. [黄彬, 严壮志, 周明. 各向异性图像扩散的多重网格格子玻尔兹曼方法[J]. 应用科学学报, 2013, 31(6): 619–627. ] [DOI:10.3969/j.issn.0255-8297.2013.06.011]
  • [54] Hagan A, Zhao Y. Parallel 3D image segmentation of large data sets on a GPU cluster[C]//The 5th International Symposium on Advances in Visual Computing. Las Vegas, Nevada:ACM, 2009:960-969.[DOI:10.1007%2F978-3-642-10520-3_92]
  • [55] Lin X M, Yan Z Z, Jiang J H, et al. Fast segmentation of hippocampus in MRI based on 3D lattice Boltzmann model[J]. Progress in Biomedical Engineering, 2014, 35(1): 1–7. [林笑曼, 严壮志, 蒋皆恢, 等. 基于三维格子玻尔兹曼模型的海马结构MRI快速分割[J]. 生物医学工程学进展, 2014, 35(1): 1–7. ] [DOI:10.3969/j.issn.1674-1242.2014.01.001]
  • [56] Zhang W H, Shi B C. Application of lattice Boltzmann method to image filtering[J]. Journal of Mathematical Imaging and Vision, 2012, 43(2): 135–142. [DOI:10.1007/s10851-011-0295-x]
  • [57] Chen Y. A study of lattice Boltzmann models and their applications in image processing[D]. Shanghai:Shanghai University, 2008. [陈玉. 格子玻尔兹曼模型及其在图像处理中的应用研究[D]. 上海: 上海大学, 2008.]