1. EIDORS3.8 基本架构

EIDORS3.8 是一个基于电学或光学数据可自由分配和自由修改的图像重建软件包。此软件工具作为开发人员对于新算法、新模型的验证与实现平台,促进EIT技术领域研究与发展。

EIDORS3.8 软件包括四个基本数据结构对象:Fwd_modelDataImageInv_model,每个 EIT 模型均有此一个或多个结构对象构成。

1.1 Fwd_model

表1描述了Fwd_model 结构对象的主要构成模块,Fwd_model对象是四种结构对象中最繁琐的。

electrode模块由一个 E × 1 E\times1 E×1的向量表示(????为电极数目),electrode模块包括接触阻抗(z_contact)与相应电极所位于的节点(node)。实验中,EIDORS的电极设置不必完全一致,接触阻抗需考虑在内,一般 z_contact ≥ \geq 0 ,根据实际应用背景进行设置,本文一般取 z_contact = 0.001;同时构建 Fwd_model 时,也能对电极的大小、形状、位置进行相应的设置。对 electrode模块自身属性完成基本设计,其最终目的为获取场域边界的电压信息,那么还需要对 stimulation 模块进行配置,stimulation模块主要包括 stimulationstim_patternmeas_pattern 三部分。stimulation 定义注入电极的模拟量及其单位,EIT电极激励模式分为电流激励与电压激励,EIDORS3.8只支持电流激励模式,系统默认注入电流单位为 mAstim_pattern定义电极激励模式,常用的激励模式包括相邻激励模式和相对激励模式,同时还定义了激励电流的大小,以 16 电极相邻激励模式为例,将有 16 个电极对接受激励电流。meas_pattern 为( E × N i E \times N_i E×Ni )的矩阵, N i N_i Ni是第????个激励电极对所对应测量数据的个数。另外,stimulation 模块可选模块delta_time定义了一个电极对施加激励电流到下一个电极对施加激励电流的时间,以 Kalman 滤波算法为例,当 delta_time等于 0 时,算法将利用一次测量中所有激励电极对对应的测量信息重建一帧图像,而 delta_time 非零时,算法利用每个激励电极对相应测量数据分别成像,提高EIT技术的时间分辨率。当定义 stimulation模块中的参数时,一定要选择第几个激励电极对,如 fwd_model.stimulation.delta_time=1种定义方式是错误的,正确的方式为fwd_model.stimulation(1).delta_time=1EIDORS3.8同时提供了一些定义 Fwd_model模块的工具函数,如mk_circ_tank.mmk_stim_pattern.mmk_common_model.m 等,其中 mk_stim_pattern.m工具函数很重要,定义了电极激励测量模式的基本属性。

EIDORS3.8 概述_caffe

1.2 Data

EIDORS3.8 概述_caffe_02

EIDORS3.8data 对象表示测量过程或激励过程的一帧数据,其主要构成由表2 所示。通常eidors_readedata()作为EIT 模型的数据接口,EIT模型可通过此函数接口读取外界真实测量数据,验证算法与模型的实际性能。

1.3 Inv_model

EIDORS3.8 概述_深度学习_03

表3描述了Inv_model 结构对象的主要构成模块,此结构对象包括的信息能够完成图像重建。Inv_model 首先应确定reconst_type模块的重建成像类型,包括静态成像与差分成像。本文中 Inv_model.reconst_type="difference"即均采用差分成像方式。solve 模块作为EIT 模型逆问题算法的接口,可以读取不同类型的算法函数,完成基本的图像重建。但有些算法函数被调用之前必须提取EIT 逆问题模型的先验信息,EIDORS3.8 定义了一些用于提取先验知识的工具函数,如prior_laplace.mprior_tikhonov.mprior_gaussian_HPF.mprior_noser.m 等,solve模块调用 Kalman滤波算法之前,必须利用prior_noser.m统计EIT 逆问题模型的噪声特性。另外,hyperparameter模块的选择影响重建图像效果,也可通过 aa_calc_noise_figure.m 函数进行确定。

1.4 Image

Image 结构对象一般表示重建图像或正问题模型场域内电导率分布值,本文重建后的Image 表示目标区域电导率分布变化值。对于正问题场域及重建后的Image分别可通过如下函数得到。
img=inv_solve(inv_model,data1,data2)data1data2 参数表示不同时刻的测量数据;datasim=fwd_solve(fwd_model,imgsim)

EIDORS3.8 概述_caffe_04

2 基于 EIDORS3.8 的 EIT 有限元模型建立

表1~表 4 对 EIDORS3.8 软件的基本框架进行了分析,本节基于EIDORS3.8构建EIT 有限元模型,并叙述有限元模型参数的修改方式。

2.1 二维有限元模型

基于 EIDORS3.8 进行有限元模型构建,首先运行预运算函数 startup.m,保证Matlab 工具对于 EIDORS3.8 中函数的识别与应用。EIDORS3.8 常用构建有限元模型函数为mk_common_model.m,可通过该函数构建不同的二维有限元模型。
EIDORS3.8 概述_深度学习_05

图 1 描述了不同形状的场域模型,如参数’'c2s''c2c''c2t2'中的第一个参数"c"表示场域内剖分的密度,密度随 a~g 字母增加而增加;第二个参数表示有限元模型的维数;第三个参数代表场域有限元模型的形状;"16"代表电极的数量,均可改变,最大值为边界上的节点个数;而"c2t2"中的第四个参数表示对图形进行微调,图 2说明了这一点。

综上描述,EIT二维有限元模型的剖分元素形状、剖分元素密度、场域形状、电极数量均可按需求做出改变。图 1 与图 2 所列出的模型只是基本的通用模型,实际应用中,应基于实际应用背景做出更多的改变。

2.2 三维有限元模型

本 节 对 构 建 三 维 EIT 有 限 元 模 型 进 行 探 索 , 三 维 重 建 模 型 可 通 过mk_common_model.m函数完成,但其不能全面地对三维模型进行设置,这里调用Netgen5.3 完成三维模型构建。ng_mk_cyl_models.m作为构建EIT有限元模型函数之一,则有,
fmdl= ng_mk_cyl_models(cyl_shape, elec_pos, elec_shape, extra_ng_code);
cyl_shape = {height, [radius, [maxsz]]}设置模型的高度、半径、剖分网络密度;
elec_pos = [n_elecs_per_plane,z_planes] 设置电极数目、层数及位置;
elec_shape = [width,height, maxsz] 设置电极形状。

EIDORS3.8 概述_深度学习_06

图 3 列出了三种不同的模型,分别为
(a)ng_mk_cyl_models([1,0.3,0.08],[16,0.5],[0.05,0.1,0.08]);
(b)ng_mk_cyl_models([1,0.3,0.08],[8,0.5],[0.05,0,0.08]);
(c)ng_mk_cyl_models([1,0.3,0.08],[8,[0.2 0.8]],[0.05,0.05,0.08]);

图 3 描述了 ng_mk_cyl_models.m 函数对三维有限元模型的基本设置。对三维模型而言,如何实现逆问题重建是其研究重点之一。本节叙述一种三维EIT有限元模型重建感兴趣区域的方式,此种方式基本思路为基于三维细剖分模型求解正问题,基于二维粗剖分模型对感兴趣区域进行重建。

EIDORS3.8 概述_caffe_07

图 4 描述了双层圆形 16 电极三维圆柱EIT 模型内目标小球以中心线为基准做螺旋状运动。EIT 模型剖分 341829 个元素,接触阻抗为 0.001,采用相邻激励测量模式,同时进行 20 次测量,小球 20 次测量时的理想位置如图 4 所示,感兴趣区域默认为第一层电极截面。

若三维模型的边界电压关系与内部电导率分布的关系满足

V 3 D = F 3 D ( σ 3 D ) V_{3D}=F_{3D} (\sigma_{3D}) V3D=F3D(σ3D)
式中, V 3 D V_{3D} V3D 表示边界测量电压; σ 3 D \sigma_{3D} σ3D 表示三维场内的电导率分布。

假设粗剖分模型中电导率分布 σ 2 D \sigma_{2D} σ2D ,正问题与逆问题之间的映射关系 Y 3 D Y_{3D} Y3D ,如式所示,

σ 3 D = Y 3 D σ 2 D \sigma_{3D}=Y_{3D} \sigma_{2D} σ3D=Y3Dσ2D

EIT逆问题模型根据上式的映射关系将二维粗剖分模型映射到第一层电极细剖分截面处 ,如 图 5 所 示 ,

EIDORS3.8 概述_caffe_08

二维方形及圆形粗剖分模型分别
mk_common_model('b2c2',16)mk_common_model('b2s2',16)
图 5 描述了不同剖分方式的粗剖分模型映射到感兴趣区域的 Inv_model模型,图5(a)与图5(a)中,粗剖分模型位于中间红色截面处,中间红色截面上方与下方的灰色截面表示粗剖分模型在垂直方向的映射范围。完成Inv_model模型构建之后,根据表 3 对二维模型进行设置,如提取二维模型的先验信息,调用逆问题重建算法等。图 6 为Inv_model 调用 Kalman 滤波算法的重建图像。

EIDORS3.8 概述_深度学习_09

图 6(a)与图6(b)分别表示感兴趣区域的 8 帧重建图像,图6(a)的重建图像更符合目标区域的实际情况,对于选择哪种粗剖分模式,应根据实际需求进行选择。