一种基于FPGA的实时高光谱显微图像细胞分类方法与流程

文档序号:12468245阅读:404来源:国知局
一种基于FPGA的实时高光谱显微图像细胞分类方法与流程
本发明涉及一种基于FPGA的实时高光谱显微图像细胞分类方法,属于生物医学图像领域。
背景技术
:近年来随着中国进入工业化社会,水污染、大气污染越来越严重,白血病等血液病患病人数与日俱增,在国内恶性肿瘤死亡率上,白血病居前六位,18岁以下的青少年位列第一。及早通过血液检查对白血病等血液疾病的预防具有重要的应用价值。传统的血液细胞检查主要依靠医务人员通过显微镜观察血液样本,对血液疾病做出预测,但这种依靠人工观察的办法,完全凭借每个人的临床经验,缺乏定量的标准,存在一定的误差,易发生误诊、漏诊。21世纪以来,光谱成像技术得到突飞猛进的发展。逐渐开始应用在生物医学领域。高光谱成像利用连续的窄带波段数据成像,从感兴趣区域获取图像数据,具有“图谱合一”的特性。高光谱成像技术产生的数据同时具有图像和光谱信息两大基本特点,高光谱成像实现了图像像素二维空间信息和光谱信息结合,从而获取高光谱数据维立方体"信息,为高光谱成像技术广泛应用做了坚实的基础。高光谱显微成像技术结合显微镜技术和光谱成像技术,能够被用来进行病理学的定量分析,相对于传统的医学成像方法,它能提供更丰富的光谱成分信息和客观的诊断标准,在生物医学领域有着广阔的应用前景,特别是在细胞识别和统计方面,辅助医学研究人员进行病变部位识别及相关疾病诊断随着计算机技术的不断发展,要求对血液检测的客观性越来越高,如今已发展到医务人员主观观察和计算机客观检测相结合的程度,使临床诊断结果更加客观、准确、科学。因此计算机图像处理技术实现血液细胞全自动识别、计数对白血病等血液疾病预防有着重要的应用价值。为了辅助医生快速、准确地进行血液疾病以及相关疾病的判断,提出在FPGA上实现对高光谱显微图像细胞进行分类,这样提高细胞分析的效率,实时地对细胞进行分析。技术实现要素:本发明的主要目的是提供一种基于FPGA的快速实时高光谱显微图像细胞分类方法。不同于传统的高光谱图像分析方法,本发明的具体创新点在于基于FPGA来实现高光谱图像分类。采用的高光谱图像分类方法是基于协作表示的分类方法(collaborativerepresentation-basedclassification,简称CRC)。通过对成像光谱仪采集到的细胞图像进行一系列处理,将图像数据输入到FPGA上,对细胞进行分类,得到数据结果,判断是否存在病变细胞。本发明的技术方案具体来说,主要包括如下技术内容:步骤1、用高光谱成像仪器产生血液细胞的图片数据,输入到计算机作为后续图像分类、识别的数据基础,同时确定感兴趣的类别数。对图片数据进行预处理,使其变成能够在计算机上使用的格式,再将预处理后图片数据存入计算机中,以便后续使用。步骤2、考虑到FPGA对矩阵的处理不够灵活,所以需要通过公式推导化简,将矩阵乘法、矩阵求逆等的计算简化成简单的数的加减乘除的运算,解决矩阵乘法、矩阵求逆等算法难点,使矩阵数据在FPGA上也能够得到恰当的处理。步骤3、解决公式中的二范数求解,以及矩阵除计算是的转置矩阵,λ是一个常系数,c是代表第c类,I是单位矩阵,-1即是对括号内的求逆,y是测试像元,是指求二范数的平方。步骤4、对计算结果进行分析比较,得到分类结果。此公式是求最小时,的取值。本发明的流程图如图1所示,具体的实施流程如下:步骤1、用高光谱成像仪器产生血液细胞的数据,输入到计算机作为后续图像分类、识别的基础。确定感兴趣的类别数。首先确定血液细胞中细胞的种类,作为基础。根据有无训练样本,分类算法包括监督分类和非监督分类两种。本方法中的CRC算法即为监督分类,监督分类是从高光谱图像中选择具有相同特征某些类别作为训练样本,然后根据训练样本的平均值、标准差、协方差矩阵等特征计算出分类器的判别函数,根据对应判别函数将待分类像元归入某一类中,分类准确率高。在FPGA上不能直接使用高光谱图像数据,需要先对图像数据进行预处理。此方法中,将三维的高光谱图像数据转成一维数据,并且将十进制的小数转换成定点的十六位二进制数。在三维数据转换为一维数据之前,先将数据按照CRC算法的需要进行分组。CRC算法中,以测试像元y为中心,取两个大小不同的窗,两个大小不同的窗分别为内外窗,内外窗之间的像元作为X,X中每个像元的数据依次排列;对高光谱数据的中每个像元都作为测试像元y进行此操作,都依次排列,最终将三维数据转换成一维数据。将得到的一维数据依次存入RAM中,方便后续处理。在本方法中,是对每个像元单独做处理,所以把处理每个像元需要的数据分为一组,在往RAM里进行数据存储的时候,是按照一组一组数据进行存储,处理完一个像元之后再将RAM更新,重新存入数据。存入读取一组数据的过程如下。如下表1所示,每一行都为一个RAM。首先将矩阵X存入到这些RAM中,因为矩阵X已经变成一维形式,所以存入时会一行一行的存入。首先存入一维数据Y,将Y存到每个RAM地址为1的地方,将X的第一行存到每个RAM地址为2的地方,X的第二行存到每个RAM地址为3的地方,以此类推,数据则完全存入。读取的时候则对地址进行变换,则读取所需数据。表1数据存储的形式RAM1[1]RAM1[2]RAM1[3]…RAM2[1]RAM2[2]RAM2[3]…RAM3[1]RAM3[2]RAM3[3]……………步骤2、根据公式求出权重因子是的转置矩阵,λ是一个常系数,I是单位矩阵,-1即是对括号内的求逆,y是测试像元。由于在FPGA上不能直接对矩阵进行处理,所以需要采用下述流程才能完成的求解。经过分析可知,此公式分成四步计算,分别为以及第一步求首先从RAM中读取X和Y的数据。在ISE中乘法IP核,两个乘数分别为InA、InB(InB0、InB1、InB2…),读出Y,令InA=Y[addr],读出X,InB0=X0[addr],InB1=X1[addr],InB2=X2[addr]…;为描述简便,令X、Y分别为三阶的矩阵和向量。第1步,addr=1时,y1与的第一列相乘,得到式(1);第2步,addr=2时,y2与的第二列相乘,得到的结果加到式(1)上,则得到式(2);第3步,与第二步类似,相乘结果加到式(2)则得到最终结果如式(3)所示。第二步求与第一步中求类似,也是需要建立乘法IP核,两乘数分别为InA、InB(InB0、InB1、InB2…)。因为是所以读出X,令InA=X[addr1],InB0=X0[addr2],InB1=X1[addr2],InB2=X2[addr2]…;为描述简便,此处也令X为三阶的矩阵。第1步,addra2=1时,addr1分别取1、2、3,两者相乘,得到结果式(4);第2步,addra2=2时,addr1分别取1、2、3,两者相乘,得到的结果加到式(5),得到结果式(5);第3步,addra2=3时,addr1分别1、2、3,两者相乘,得到的结果加到式(5),得到最终结果式(6);第三步求首先介绍一下谢尔曼-莫里森公式,如式(7)所示,其中λ为常数,I为单位矩阵,ω、v都是与I同阶的列向量,在本方法中ω、v均分别取X1、X2、X3,I取与同样大小的单位矩阵。而与Sherman–Morrison公式的形式相似,又有所以首先求然后代入到式(11)中,求得同理,求得即为T-1。这部分的计算也有一些复杂,在此做一些简单解释。经过分析得知,中为列向量,为与互为转置的行向量,所以它们的相乘与前面采取的方法类似,相乘后得到结果;相乘的结果为常数,所以与λ相乘后,再加常数1也很容易得到;这部分出现了除法,所以需要建立除法器,除数分别取矩阵各个分量,被除数为则可以得到两者相除之后的商,除法器中还会有余数,舍去不计;最后进行矩阵相减,通过地址addr的变化,使矩阵对应的分量相减,则得到矩阵相减的最终结果。第四步求权重系数由第一步中可知为列向量,T-1为矩阵。与第一步中类似,也求出矩阵T-1与列向量的乘积,则求得系数步骤3、得出冗余首先计算因为为矩阵,为列向量,所以与步骤2中求法一样,能够求得然后计算两向量相减,以地址的变化来取向量中每个分量的值,再做减法,则求得两列向量的差,求得的差均记为无符号数,因为后面求它们的二范数,有无符号对结果没有影响,记为无符号数较为简便;再分别求列向量与的平方和,建立乘法器IP核,以地址的变化来进行取值,使每个分量与本身相乘,然后相加,则得到平方和;最后建立一个除法器IP核,使的平方和为除数,的平方和为被除数,则得到结果rc。c取M个不同数,则得到M个不同的rc。高光谱图像分类是基于图像像元的光谱与空间特性,对每个像元或像元组中所代表的不同类别地物进行类别属性的确定和标注,每个像元用图像和光谱信息表达,不同的图谱特性代表着不同的地物类型,高光谱图像分类是通过对图像中各类地物的光谱信息和二维图像信息进行分类,获得每类地物的特征,再选择适当的分类系统,将待分类各个像元划分到对应的属性中。根据有无训练样本,分类算法包括监督分类和非监督分类两种。CRC算法是一种经典的自适应性字典选择监督分类算法,自适应性字典选择是首先把当前块的数据掺杂入相邻数据的信息,然后从提供的字典中选择与测试像元最相似的像元,以减少冗余和不相关的像元的影响。即是字典中的像元,用c来标记每一个类别,找到测试像元与中哪一类最相似,则该像元就属于哪一类。步骤4、根据冗余,判断属性比较步骤3中得到的M个rc,rc最小时,则当前检测的样本属于第c类。以上四个步骤仅仅是一个像元的分类过程,在做完一个像元的分类处理之后,再回到最开始的步骤,对第二个像元进行处理,再存入读取数据,按照公式进行计算,得到第二个像元的分类结果;按照此方法对其它的像元依次进行此处理,则对所有的像元分类,CRC的分类则完成。与现有技术相比,本发明具有如下优点:随着计算机图像处理技术日益成熟,显微高光谱显微成像可扩展到动物细胞分类、识别,是未来显微高光谱成像应用的一个研究热点和难点,促进医学及兽医学疾病诊断的自动化和计算机化。在国内,利用高光谱成像技术在生物医学上研究己经取得了一定的进展,但将此技术应用在FPGA上还很少。将此技术在FPGA上实现后,可以快速实时地对细胞图像进行处理分类,大大地提高细胞图像处理分类的效率。减少人工识别,可以降低误诊率,使医生可以在这方面得到一定的解放,也可以使病人对诊断结果更加放心。附图说明图1为本发明具体流程图。图2为CRC算法具体流程图。具体实施方式本方法的基本流程如图1所示,在FPGA上采用了状态机,具体的实施方式将按照状态机的每个状态进行介绍。1)首先将高光谱细胞图像数据转换成十六位的二进制无符号数,将做完此预处理的高光谱细胞图像中的第一组数据输入到FPGA芯片中,将顶层文件中所有变量都置零,这是起始的准备状态。2)进入state=00状态,读取数据y和通过乘法器IP核将以及运算中需要做乘法的部分完成,因为y和都是十六位的数据,相乘后,和都变成了三十二位的数据,而是三十二位数据,所以为六十四位的数据。3)进入state=01状态,将和中相乘后的分量按照公式加起来,则完成和的计算,并取了中的[45:14]位,使其也变成三十二位数。4)进入state=10状态,分别计算中的分子和分母,然后通过除法器IP核做除法。计算分子部分即是的转置与其本身相乘,分母的计算则有与常系数相乘,再与另外一个常系数相加。5)进入state=11状态,计算运算中矩阵相减部分。在此状态会进行判断,因为在运算时,是将数据分成一列一列进行计算的,所以如果当前组的每一列数据都完成了计算就会进入下一个状态,如果没有完成,则继续完成,全部完成后就进入下一个状态。6)进入state=100状态,与前面的方法一样,计算出7)进入state=101状态,首先计算与对应于不同的c求出然后求及的平方和;再通过除法器IP核,求出8)状态机结束,第一组数据运算完成,采集数据,进行判断,对像元进行分类;再回到起始状态,进行第二组数据的存储以及后续计算;对每一个像元都进行此操作,则可以完成整个细胞图像的分类。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1