一种改进的FastICA算法及其在fMRI数据中的仿真应用

2018-05-15 08:31彭尧熊馨
软件导刊 2018年4期
关键词:仿真

彭尧 熊馨

摘 要:为了更有效地去除功能磁共振成像(functional magnetic resonance imaging,fMRI)数据中所包含的大量噪声信号,研究了快速独立分量分析(Fast Independent Component Analysis,FastICA)算法,针对该算法在处理低信噪比的fMRI数据时估计精度降低问题,采用修正白化矩阵方法改进FastICA算法,与传统的FastICA算法分别对fMRI数据进行去噪仿真分析。对比两种方法去噪结果,发现改进的FastICA算法能更有效地去除fMRI数据中的噪声信号,为剔除fMRI伪迹,提高fMRI数据预处理效果奠定了坚实的科学基础。

关键词:功能磁共振成像;FastICA;白化矩阵;仿真

DOI:10.11907/rjdk.172553

中图分类号:TP312

文献标识码:A 文章编号:1672-7800(2018)004-0067-04

Abstract:In order to more effectively remove the large amount of noise signals contained in the functional magnetic resonance imaging(fMRI) data,Based on Fast Independent Component Analysis (FastICA) algorithm research in this paper, according to the algorithm when dealing with fMRI data of low signal-to-noise ratio estimation precision degradation,correction of albino matrix method is used to improve the FastICA algorithm,at the same time the paper with the traditional FastICA algorithm of denoising simulation Analysis of fMRI data respectively. By comparing the results of the two methods,it is found that the improved FastICA algorithm can effectively remove the noise signal in fMRI data, which proves the effectiveness of the proposed method.This lays a solid scientific foundation for eliminating fMRI artifacts and improving the preprocessing effect of fMRI data.

In order to have more effective removal of large amount of noise signals in functional magnetic imaging (FMI), we research on Fast Independent Component Analysis (Fast ICA) algorithm. Aiming at estmation precision degradation of the algorithm when dealing with FMRI data, we employ the improved whitening matrix to improve FastICA algorithm. Denosing simulation analysis is made by the improved and the traditional FastICA algorithm respectively. By comparing the results of the mentioned analysis we find the improved algorithm can improve the improved FastICA algorithm can effectively remove the noise signal in FMRI data to eliminate FMMRI artifacts, which forms a sound basis of improving the FMRI data preprocessing effect.

Key Words:functional magnetic resonance imaging; fast independent component analysis; albino matrix; simulation

0 引言

功能磁共振成像(fMRI,functional magnetic resonance imaging)的快速發展和应用,使得人们通过大脑成像更加了解到人体大脑功能。fMRI成像技术经过几十年的发展,已经成为研究人体大脑工作的主要手段之一,其所具有的无创性探究大脑优势使fMRI发展迅速,使用广泛。已经有学者将信号领域的各种研究方法应用于fMRI数据处理上,取得了非常好的效果,其中独立分量分析(ICA,Independent Component Analysis)处理fMRI信号取得了长足进步。

独立分量分析(ICA)是信号领域为解决盲源分离问题而提出的一种信号处理方法[1]。ICA算法的限制条件是源信号相对独立和非高斯性,通过调整(一般是增大)不同信号的非高斯性实现信号分离,ICA可以在未知的源信号和传输通道相关参数的情况下实现信号分离。对于fMRI数据的研究,McKeown于1998年首次将ICA算法应用于fMRI数据,取得了非常好的效果。近些年来,越来越多的学者将ICA算法应用于fMRI数据处理。目前,fMRI数据处理所使用的ICA方法有:Orth-Infomax算法、空间独立分量分析算法、时间独立分量分析算法、FastICA算法、Orth-ExtBS算法、牛顿型算法等[2],这些算法有各自的优缺点。本文通过对FastICA算法进行研究,针对其在处理fMRI数据中存在的不足,提出一种改进的FastICA算法,并将其应用在fMRI数据仿真分析中。

1 ICA原理

独立向量分析(ICA)是由主分量分析(PCA,Principal Component Analysis)演变而成的一种新的分析信号方法。ICA算法起源于著名的“鸡尾酒会问题”,其一般模型为:假设X=x1,x2,x3…xn为n个观测信号,Y=y1,y2,y3…yn为n个源信号,其中观测信号X是由源信号Y观测而来[3]。假设通过源信号Y的i个独立分量混合而得到第i个观测信号xi,则可得到以下公式:

式(2)就是ICA的一般混合模型。其中A=[a1 a2 a3…an]为混合矩阵。ICA算法就是在不知道源信号Y和混合矩阵A的情况下,通过观测信号X求出源信号Y或混合矩阵A[4]。各源信号Y假设为相互独立,可通过寻找一个线性变换矩阵W∈Cn×n对观测信号X实行线性变换,得到一个尽可能与源信号Y相似的信号,这里W被称为解混矩阵,其求解相似源信号的公式为:

2 Fast ICA算法

FastICA算法是Oja等[5]提出的一种快速ICA算法,其原理依据定点递推算法,所以FastICA算法又称为固定点算法(Fixed-Point)。由于fMRI数据具有高维数特点,因此利用FastICA算法的快速收敛特点能很好地用于fMRI数据处理。

FastICA算法步骤如下:①观测信号X中心化。中心化就是使观测信号X的均值向量为0,即X-,其中为X的均值;②对中心化的观测信号X白化。构造白化矩阵Mw,然后进行白化处理:Z=MW(X-);③初始化分离矩阵W,并要保证‖W‖=1;④更新分离矩阵W。根据拟牛顿迭代法对分离矩阵W进行迭代,得到W1;⑤对更新后的分离矩阵W1进行对称正交化处理,使其满足W=(W1WT1)-1/2W1;⑥判断W的收敛性,如果W不收敛,则返回步骤③继续对W进行迭代;如果W收敛,则此源信号Y的最佳估计值=WX。

3 改进的FastICA算法

FsatICA算法将大量的样本数据加入每一步迭代中,同时采用定点迭代的优化算法,其快速收敛的特点使其能够快速处理fMRI这种高维数据。虽然FastICA处理fMRI数据效果很好,但由于fMRI数据的信噪比较低,因此在处理fMRI数据时,其估计精度会受数据信噪比的影响[6]。针对这一问题,采用文献[6]提出的一种改进的FastICA算法处理fMRI数据,改善处理fMRI数据的估计精度[7]。

ICA算法需要观测信号之间有着良好的独立性,因此FastICA算法采用了对观测矩阵进行白化处理,消除信号之间的相关性[8]。但是一般的FastICA算法在构造观测信号的白化矩阵时,并没有考虑到噪声对信号的影响,同时对信号进行白化处理不能有效将低信噪比信号所需要的分量分离出来。为了改善这种状况,对FastICA算法中白化处理过程进行以下修正:通过噪声子空间所对应的特征值,对信号子空间的特征值进行修正,利用修正后的信号子空间的特征值和特征向量构造白化矩阵。

4 仿真应用

目前,由于fMRI数据的空间维数与时间维数差别很大,其空间维数非常高,因此一般在处理fMRI数据时采用了以牺牲空间为代价换取时间独立性的空间ICA算法[9]。fMRI数据由三维脑功能图像和与之相对应的一维时间序列构成。通常情况下,在通过核磁共振扫描仪获取fMRI数据之后,需要对数据进行预处理,剔除数据中的伪迹(如头动、噪声等),或者修复数据采集过程中可能造成的数据损失。要保证有效提取出数据中的伪迹,就必须有效分离fMRI数据[10]。

采用运行于MATLAB环境下的SimTB工具箱所产生的fMRI模拟数据,实现常规的FastICA和本文所改进的FastICA两种算法对fMRI模拟数据进行处理,对比其分离出的源信号精度。SimTB工具箱可根据需要产生不同类型的fMRI模拟数据,是一种专门用于模拟fMRI数据的工具。本文首先利用SimTB产生一组无噪声信号的fMRI模拟数据,记为X。所产生的无噪声fMRI数据X是一组64×64维的矩阵,取X中1~4行数据,组成一个1×256维的矩阵,记为signal 1;取X中的5~8行数据,组成一个1×256维的矩阵,记为signal 2;取X中的9~12行数据,组成一个1×256维的矩阵,记为signal 3;取X中的13~16行数据,组成一个1×256维的矩阵,记为signal 4;取X中的17~20行数据,组成一个1×256维的矩阵,记为signal 5。图1为所取得的5路仿真信号。

再次利用SimTB工具箱,对X加入一个高斯噪声,得到一组混合信号,记为X_mixed。SimTB工具箱提供对fMRI模拟数据加入噪声以及各项噪声相关参数(如噪声强度、信噪比等),这里设置信噪比为0.05,使所产生的混合信号满足低信噪比特点。同样取X_mixed中的1~4行数据,组成一个1×256维的矩阵,记为mixed signal 1;取X_mixed中的5~8行数据,组成一个1×256维的矩阵,记为mixed signal 2;取出X_mixed中的9~12行数据,组成一个1×256维的矩阵,记为mixed signal 3;取X_mixed中的13~16行数据,组成一个1×256维的矩阵,记为mixed signal 4;取X_mixed中的17~20行数据,组成一个1×256维的矩阵,记为mixed signal 5。图2为所取得的5路仿真信号图。从图2可以看出,混合后的信号与源信号差异很大,无法辨别出源信号。

利用MATLAB软件分别采用常规的FastICA和文中所改进的FastICA两种算法对所得到的5路混合信号进行信号分离,得到的结果如图3、图4所示。其中图3为常规的FastICA算法得到的结果,图4为改进FastICA算法得到的结果。

从图3和图4可以看出,所得到的分离信号与图1的源信号差别不大,证明所采用的两种FastICA算法有效,但是无法直接根据所得到的结果对两种算法精度进行判定。精度,即精确度,这里指所分离出的信号与源信号相比,两者信号相似度的大小。因此,采用比较两种分离出的信号与源信号差值的绝对值大小判定其精度,用式(5)、式(6)表示。很明顯,绝对值越小的信号精度越高,绝对值越大的信号精度越低。

式(5)、式(6)中,XIF(n)表示常规FastICA算法得到的差值,signaln表示源信号,Fastsignal(n)表示常规FastICA算法得到的与源信号相对应的分离信号,XIF(n)表示改进的FastICA算法得到的差值,Fastsignal(n)表示改进的FastICA算法得到的与源信号相对应的分离信号。

为了更加清楚地表示精度值的大小,将所得的两个差值相减,用βn表示所得结果,见式(7):

式(7)中,βn所表示的意义是:βn小于0,XF(n)比XIF(n)小,常规FastICA算法得到的结果精度高;βn等于0,XF(n)与XIF(n)相等,两种算法得到的结果精度一样;βn大于0,XF(n)比XIF(n)大,改进的FastICA算法得到的结果精度高。图5为两种算法得到的β值分布情况,可以很清楚地看出两种算法的精度大小,大部分的β值大于0,说明采用改进的FastICA算法所分离出的源信号精度值有所提高。

Matlab仿真实验结果汇总分析:

图1为5种无信号噪声的fMRI源信号的波形图,从上至下分别为源信号signal 1、源信号signal 2、源信号signal 3、源信号signal 4、源信号signal 5。

图2为5种信噪比为0.05的混合信号的波形图,从上至下分别为混合信号mixed_signal 1、混合信号mixed_signal 2、混合信号mixed_signal 3、混合信号mixed_signal 4、混合信号mixed_signal 5。

图3为用常规FastICA算法分离出的5种fMRI源信号,从上至下分别对应图1中的源信号signal 5、源信号signal 4(发生反相)、源信号signal 1、源信号signal 2、源信号signal 3。

图4为用改进的FastICA算法分离出的5种fMRI源信号,从上至下分别对应图1中的源信号signal 5、源信号signal 4(发生反相)、源信号signal 1、源信号signal 2、源信号signal 3。

图5为两种算法的精度值β分布圖,从上至下与图1中的源信号一一对应。

从图3、图4可以看出,采用两种FastICA算法处理fMRI混合信号后,能够有效分离出图1中的5种fMRI源信号,并且误差较小(发生反相),由此证明所采用的两种FastICA算法处理fMRI数据的有效性。但是无法直接根据所得到的结果对两种算法精度进行判定,因此采用β计算算法的精度值,如图5所示。由图5可以看出,绝大部分β值大于0,由此可以看出采用改进的FastICA算法所分离出的源信号精度值确有所提高,这为更有效地剔除fMRI数据中的伪迹奠定了基础。

5 结语

本文通过研究用于fMRI数据预处理的FastICA算法,提出了一种基于修正白化矩阵的改进的FastICA算法。通过Matlab软件对SimTB工具箱产生的模拟fMRI数据进行了仿真实验,证实了两种算法对于分离fMRI原信号的有效性。同时,通过对比常规的FastICA算法和改进的FastICA的估计精度,证实改进的FastICA算法所分离出的源信号提高了精度值,为剔除fMRI伪迹,提高fMRI数据预处理效果奠定了坚实的科学基础。

参考文献:

[1] COMON P. Independent component analysis, a new concept[J]. Signal Processing, 1994, 36(3):287-314.

[2] 公昱文,张桂芸,马洪芝.ICA算法在fMRI中的应用[J].计算机工程与科学,2008,30(10):37-39.

[3] MCKEOWN M J, JUNG T P, MAKEIG S, et al. Spatially independent activity patterns in functional MRI data during the stroop color-naming task [J]. Proceedings of the National Academy of Sciences of the United States of America,1998,95(3):803-813.

[4] 范群贞,刘金清.基于PCA/ICA的人脸特征提取新方法[J].电子测量技术,2010,33(8):31-34.

[5] RINEN A, OJA E. A fast fixed-point algorithm for independent component analysis[M]. MIT Press, 1997.

[6] ALSINDI N, LI X, PAHLAVAN K. Analysis of time of arrival estimation using wideband measurements of indoor radio propagations[J]. IEEE Transactions on Instrumentation & Measurement,2007,56(5):1537-1545.

[7] 赵卫波,胡捍英,周游,等.基于FastICA的高精度多径时延估计算法[J].电子技术应用,2013,39(4):79-82.

[8] MARTIS R J, ACHARYA U R, MIN L C. ECG beat classification using PCA, LDA, ICA and discrete wavelet transform[J]. Biomedical Signal Processing & Control,2013,8(5):437-448.

[9] 龙志颖,姚力,赵小杰,等.空间ICA在fMRI数据上的应用与分析[J].中国医学物理学杂志,2003,20(4):219-221.

[10] 潘丽丽,史振威,唐焕文,等.fMRI信号盲分离的一种独立成分分析算法[J].大连理工大学学报,2005,45(4):607-611.

(责任编辑:杜能钢)

猜你喜欢
仿真
Proteus仿真软件在单片机原理及应用课程教学中的应用
一种帮助幼儿车内脱险应急装置的仿真分析
论虚拟仿真实训系统在口腔实验教学中的应用