基于多通道主成分分析网络(PCANet)的肺结节特征提取方法(笔记三)

------------------------------------PCA解释-----------------------------

在文章《Face Recognition Using Deep PCA》中提出了一种Deep PCA,实际是一种PCA的级联,即两层PCA,模型中利用第一层产生的信息再送入第二层产生一个新的不同的表述,使之更具有识别力;为了去除数据间的相关性,模型在每层PCA前加入ZCA白化,其结构如图所示:

从图中可以看出,原始数据经过第一层PCA,得到第一层的特征w1,再进入第二层的PCA,得到第二层的特征w2,最终两层的特征融合得到最终的分类结果。

【ZCA白化目的:降低输入数据的冗余性,使白化后的数据接近原始输入数据】

在我看来,有这样一个问题,由于W2是根据W1提取出来的,两者必然存在关联,或者说这样直接融合肯定会有数据冗余的存在,数据冗余的存在是否会影响性能?实际上不会,因为研究表明,对于多层网络结构而言,每层的特征均具有不同的意义,浅层信息更多的是表现的是图像的整体特征,而深层信息更多的表现的是图像的纹理特征,或者说是抽象信息。

------------------------------------PCA-Net解释-----------------------------

PCANet提出者认为,经典的CNN存在的问题是参数训练时间过长且需要特别的调参技巧。

PCANet,来源于文献《PCANet: A Simple Deep Learning Baseline for Image Classification》?,在这篇文章中提出了一个用于图像分类的简单深度学习网络:PCANet。它也是 PCA方法的两层级联

PCANet的训练分为三个步骤(stage),前两个stage很相似,都是去平均,然后PCA取主成分并卷积,最后一步是二值化(为了产生非线性输出)和直方图量化。下面按步骤介绍PCANet的训练过程:

1、First stage:

(1)PCANet选取了一个k1*k2的窗口(通常选边长为3、5、7个像素正方形窗口)来滑动选取图片的局部特征。每张m*n大小的图片经过滑动窗口提取局部特征之后,就变成了mn个k1*k2大小的patch。     【patch:包含图片信息,大小为k1*k2】{获取数据,起始时窗口没有数据是空的}

(2)再对这m*n个patch去平均,便完成了对单张图片的特征提取操作。对所有N张图片执行以上操作,提取完之后得到一个新的数据矩阵X,每一列代表一个patch,含有k1*k2个元素,一共有Nmn列。

(3)对这个X矩阵做PCA,取前L1=8个特征向量,作为filter。把这L1个特征向量的每一列(每一列含有k1k2个元素)重排列为一个patch,相当于我们得到了L1个k1*k2的窗口。     {用L1个特征向量进行卷积,放大特征}

(4)对每一张图片,都用这L1个窗口做一次卷积。First stage到此结束。

滑动窗口范围是指把多源遥感数据按照一定的规则或算法进行处理,生成一幅具有新的空间、光谱和时间特征的合成图像。窗口范围的目的是突出有用信息,消除或抑制无关信息,同时还可以增加解译的可靠性,减少识别标的模糊性和不确定性。】

区别:起始时窗口空的,用来采集图像的局部信息,后来选取前L个窗口作为fillter,此时窗口已经是有信息的了。

2、Second stage:

这个步骤跟First stage是相似的,第二层的滤波器数L2=8,故工作量变成原来的L1=8倍。

3、Output layer:

(1)首先是对Second stage的每个卷积的结果做二值化,每一组得到L2张二值图片,对这L2张二值图片进行编码,得到十进制的"image"。

(2)然后对每L1张图片做histBlock到vector的变换,假设对原图128*48的图选取32*32的分块,进行矩阵呢计算,overlap系数0.5,原图有14个分块,将histBlock变换为vector,得到1024*14的矩阵。

对这个1024*14的矩阵做直方图统计(对应源代码是matlab的histc函数,对此函数不了解的可以看这篇blog),因为选了256个区间,所以得到的Bhist矩阵大小为256*14。

最后将这个矩阵转化为28672(L1=8,28672=256*14*8)维的vector,这样就完成了一张图片的PCANet的特征提取。

-------------------------------------------------------本文重点-----------------------------------------------

PCANet尚未用于肺癌的诊断

1、运用PCA-Net,前两步骤原理上相似,在本文中主要区别是:

① 通过CT窗口的范围将灰度CT图像转换为彩色图像 ,处理的是彩色图像;它不仅使输入数据增加了三倍,而且还更好地融合了纹理和边缘的特征;

②使用随机平移和旋转采样来生成12个不同的切片,这使我们能够在扩展数据集的同时提取更多的位置特征;

③基于双线性插值法将结果标准化为28x28,并存储在样本库中,以训练和测试RGB-PCANet模型;

2、 Random binary hash encoding 

①图像融合,通过按像素计算范数公式,可以将其与RGB三个颜色通道的对应图像融合为标准图像,对于一组图像,两个级联后进行融合生成L1×L2图像。

②融合后的L1×L2标准图像通过函数H(x)二值化。(在颜色规范模式下图像没有负值,因此我们将图像的像素平均值用作阈值。)

③经过RGB三通道后,颜色信息可以很好提取,但仍然忽略了位置信息,因此本文将SPP与PCANet连接起来,更好地整合了空间信息的局部直方图特征,降低了特征的维数,从而提高了分类精度。

3、分类器提取特征:经典的低秩双线性分类器(low-rank bilinear classifier, LRBC);

主要对比:准确率为93.25±0.53,敏感性为93.12±0.62,特异性为91.37±0.62。

结果:该方法从图像中学习有效的特征表示,从而有效地建立多个特征与组织特征(即良性或恶性)之间的直接关系。

------------------------------------CT窗口技术-----------------------------

介绍详细的链接,链接1:https://blog.csdn.net/okaimee/article/details/5619368

链接2:http://www.360doc.com/content/18/0131/08/38667955_726590741.shtml

窗口技术是CT检查中用以观察人体不同密度组织的一种显示技术,包括窗宽(window width)和窗位(window level)。由于各种组织结构或病变具有不同的CT值,因此欲显示某一组织结构细节时,应选择适合观察该组织或病变的窗宽和窗位,以获得最佳显示。【衰减系数是衡量某种物质对x线的衰减程度的一个参数,是干涉散射、光电吸收和康普顿散射的系数之和】

窗宽主要影响对比度,窗宽大,图像层次多,组织对比减少,细节显示差;反之,窗宽小,图像层次减少,对比增强,细节显示显示佳。

窗位主要影响图像亮度,窗位升高,图像变黑,反之变白。

发现高衰减范围的窗口突出了纹理特征,而低衰减范围的窗口突出了边缘特征。

------------------------------------空间金字塔池化SPP----------------------------

解释链接:https://blog.csdn.net/g11d111/article/details/80789538

这个算法的优势在于使得我们构建的网络,可以输入任意大小的图片,而不需要提前经过裁剪缩放等预处理操作。不仅如此,这个算法用了以后,精度也会有所提高。

其实图片尺寸的变化主要是对于全连接层(FC)有影响,因为全连接层后输出的特征维度是跟图片大小紧密相关的。

所以,凯明大神们提出一种新的思路,即在卷积层(包括convolution,Pooling等)和全连接层(FC)之间,加入一种新的网络层——空间金子塔池化层,从而让全连接层得到的特征数目固定。即解决了输入图片尺寸不一的问题。

原理基本解释:

输入层:一张任意大小的图片,假设其大小为(w,h)。

输出层:21个神经元,即:输出包含21个特征即可。

也就是我们输入一张任意大小的特征图的时候,我们希望提取出21个特征。空间金字塔特征提取的过程如下:

输入一张图片,如要求输出21个特征,那么将该图片进行三次划分:

(1)原图进行4*4划分出16个特征;(2)原图进行2*2划分出4个特征;(3)直接输入原图,不进行划分操作;

16+4+1=21个特征。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值