[发明专利]一种基于FPGA的实时高光谱显微图像细胞分类方法有效
申请号: | 201611065464.6 | 申请日: | 2016-11-28 |
公开(公告)号: | CN106778536B | 公开(公告)日: | 2020-11-20 |
发明(设计)人: | 李伟;吴晶晶 | 申请(专利权)人: | 北京化工大学 |
主分类号: | G06K9/00 | 分类号: | G06K9/00;G06K9/62 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 沈波 |
地址: | 100029 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga 实时 光谱 显微 图像 细胞 分类 方法 | ||
1.一种基于FPGA的实时高光谱显微图像细胞分类方法,本方法基于FPGA来实现高光谱图像分类;采用的高光谱图像分类方法是基于协作表示的分类方法,简称CRC;通过对成像光谱仪采集到的细胞图像进行一系列处理,将图像数据输入到FPGA上,对细胞进行分类,得到数据结果,判断是否存在病变细胞;
其特征在于,本方法包括如下步骤:
步骤1、用高光谱成像仪器产生血液细胞的图片数据,输入到计算机作为后续图像分类、识别的数据基础,同时确定感兴趣的类别数;对图片数据进行预处理,使其变成能够在计算机上使用的格式,再将预处理后图片数据存入计算机中,以便后续使用;
步骤2、考虑到FPGA对矩阵的处理不灵活,将矩阵乘法、矩阵求逆的计算简化成简单的数的加减乘除的运算,解决矩阵乘法、矩阵求逆算法难点,使矩阵数据在FPGA上也能够得到恰当的处理;
步骤3、解决冗余公式中的二范数求解,以及矩阵除计算是的转置矩阵,λ是一个常系数,c是代表第c类,I是单位矩阵,-1是对括号内的求逆,y是测试像元,是指求二范数的平方;是字典中的像元;
步骤4、对计算结果进行分析比较,得到分类结果;此公式是求最小时,的取值;
所述步骤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包括根据公式求出权重因子
由于在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取与同样大小的单位矩阵;
而与谢尔曼-莫里森公式的形式相似,又有
所以
首先求
然后代入到式(11)中,求得
同理,求得即为T-1;
中为列向量,为与互为转置的行向量,所以它们的相乘与前面采取的方法类似,相乘后得到结果;相乘的结果为常数,所以与λ相乘后,再加常数1得到;这部分出现了除法,所以建立除法器,除数分别取矩阵各个分量,被除数为则得到两者相除之后的商,除法器中的余数,舍去不计;最后进行矩阵相减,通过地址addr的变化,使矩阵对应的分量相减,则得到矩阵相减的最终结果;
第四步求权重系数由第一步中可知为列向量,T-1为矩阵;与第一步中类似,也求出矩阵T-1与列向量的乘积,则求得系数
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京化工大学,未经北京化工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611065464.6/1.html,转载请声明来源钻瓜专利网。