眼底图像病变识别.docx

上传人:b****1 文档编号:14174837 上传时间:2023-06-21 格式:DOCX 页数:34 大小:410.39KB
下载 相关 举报
眼底图像病变识别.docx_第1页
第1页 / 共34页
眼底图像病变识别.docx_第2页
第2页 / 共34页
眼底图像病变识别.docx_第3页
第3页 / 共34页
眼底图像病变识别.docx_第4页
第4页 / 共34页
眼底图像病变识别.docx_第5页
第5页 / 共34页
眼底图像病变识别.docx_第6页
第6页 / 共34页
眼底图像病变识别.docx_第7页
第7页 / 共34页
眼底图像病变识别.docx_第8页
第8页 / 共34页
眼底图像病变识别.docx_第9页
第9页 / 共34页
眼底图像病变识别.docx_第10页
第10页 / 共34页
眼底图像病变识别.docx_第11页
第11页 / 共34页
眼底图像病变识别.docx_第12页
第12页 / 共34页
眼底图像病变识别.docx_第13页
第13页 / 共34页
眼底图像病变识别.docx_第14页
第14页 / 共34页
眼底图像病变识别.docx_第15页
第15页 / 共34页
眼底图像病变识别.docx_第16页
第16页 / 共34页
眼底图像病变识别.docx_第17页
第17页 / 共34页
眼底图像病变识别.docx_第18页
第18页 / 共34页
眼底图像病变识别.docx_第19页
第19页 / 共34页
眼底图像病变识别.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

眼底图像病变识别.docx

《眼底图像病变识别.docx》由会员分享,可在线阅读,更多相关《眼底图像病变识别.docx(34页珍藏版)》请在冰点文库上搜索。

眼底图像病变识别.docx

眼底图像病变识别

眼底图像的病变辨别

1.原理论述

1.1序言

眼底病变包含了视网膜,脉络膜,视神经及玻璃体的炎症,肿瘤,各种血管的病变,各样变性

 

疾病及多系统疾病惹起的眼部病变。

不单种类众多,并且对视功能伤害较大。

当前常有而又影响视

功能的眼底疾病有糖尿病视网膜病变,老年性黄斑病变,视网膜静脉堵塞等等。

鉴于以上眼底图像关于疾病的诊疗的意义,本文章联合了正常和病态的眼底图像各50幅,采纳

模式识其他方法先对两种图像各25幅加以训练,并进行特点值提取,在使用节余的图像进行分类方

 

法的评估,本文意在运用模式辨别方法在医学领域应用。

 

1.2流程说明

本次模式识其他过程是:

有已知样本状况的监察模式辨别

 

分类器设计(训练)

 

信息的获得与预办理特点的提取与选择

 

分类器设计(训练)

 

图1监察模式识其他流程图

 

关于图像的预办理主要分红两个步骤:

无效地区的填补和图像的对照度加强。

 

病变图像

无效地区

Retinex

预办理后

的填补

对照加强

图像

正常图像

 

图2图像的预办理的流程图

 

关于所给的病变图像,有部分的图像边缘是无效的黑色,这关于下一步对照度加强会带来影响,此外,在图像的特点提取上也会造成影响。

假如先期部进行办理,那么,后期的分别器中则需要加入判断构造对无效地区的辨别,这无疑增添特点提取的运转时间。

所以,这里采纳了一种简单的方法对向地区填补图像的R、G、B均值。

做法是先读取有效的R、

G、B值,并存入数组,下一步将对数组中的值求均匀即可获得该图像有效R、G、B的均匀值,在向

 

无效地区填补即可。

 

第1页共15页

 

图3无效填补前图4无效填补后

 

接下来,对图像的办理是:

对照度加强。

因为摄影的光芒对眼底图像质量起侧重要作用,所以,

关于明场和暗场下的蛋白质与血液的成像都有所不一样,为了加强二者在图像中的辨别度,采纳的是

Retinex图像加强的方法,设置蛋白质和血液通道,分别对R、G、B的标准差进行设定,从而获得

 

预办理后的图像。

而后,再对图像的蛋白质和血液挑选,形成25*2的特点矩阵。

 

蛋白质通道

预办理后

特点矩阵

图像

血液通道

 

图5特点提取和选择

 

图6经过蛋白质通道前图7经过蛋白质通道前

 

第2页共15页

 

图8经过血液通道前图9经过血液通道后

 

而后将训练集的数据进行整合,使用三种分类器(分别是最小距离分类器、Fisher线性分类器、

 

二次分类器)进行训练。

 

最小距离分类器

 

特点矩阵Fisher线性分类器

 

二次分别器

 

图10分类器的训练

 

最后将测试图像也进行相应的预办理和特点提取,最后输入到训练好的分类器中,进行鉴别,

 

输出正确率、敏捷度和运转时间,从而对分类器的结果进行评估。

 

训练后

 

最小距离分类器

 

测试图像Fisher线性分类器

 

正确率、敏捷度

和运转时间

 

二次分别器

 

图11分类器的测试

 

第3页共15页

2.

代码实现

2.1主程序部分:

 

第4页共15页

2.2无效地区的填补:

 

第5页共15页

 

2.3Retinex对照度加强与特点提取:

2.3.1蛋白质通道

 

functionx=blood_channel(f)

 

fr=f(:

:

1);fg=f(:

:

2);fb=f(:

:

3);%RGB

 

通道

 

mr=mat2gray(im2double(fr));mg=mat2gray(im2double(fg));mb=mat2gray(im2double(fb));%

 

数据种类归

 

一化

 

alf1=600;%

 

定义标准差

 

n=51;%定义模板大小

 

n1=floor((n+1)/2);%

 

计算中心

fori=1:

n

forj=1:

n

 

b(i,j)=exp(-((i-n1)^2+(j-n1)^2)/(4*alf1))/(pi*alf1);%

 

高斯函数

end

end

nr1=imfilter(mr,b,'conv',

'replicate');ng1

=imfilter(mg,b,'conv',

'replicate');nb1=imfilter(mb,b,'conv',

'replicate');%卷积滤波

 

ur1=log(nr1);ug1=log(ng1);ub1=log(nb1);

tr1=log(mr);tg1=log(mg);tb1=log(mb);

yr1=(tr1-ur1)/3;yg1=(tg1-ug1)/3;yb1=(tb1-ub1)/3;

 

alf2=600;%定义标准差

第6页共15页

fori=1:

n

forj=1:

n

 

a(i,j)=exp(-((i-n1)^2+(j-n1)^2)/(4*alf2))/(6*pi*alf2);%高斯函数

 

end

end

nr2=imfilter(mr,a,'conv','replicate');ng2=imfilter(mg,a,'conv','replicate');nb2=imfilter(mb,a,'conv',

 

'replicate');%卷积滤波

 

ur2=log(nr2);ug2=log(ng2);ub2=log(nb2);

tr2=log(mr);tg2=log(mg);tb2=log(mb);

yr2=(tr2-ur2)/3;yg2=(tg2-ug2)/3;yb2=(tb2-ub2)/3;

 

alf3=100;%定义标准差

 

fori=1:

n

forj=1:

n

 

e(i,j)=exp(-((i-n1)^2+(j-n1)^2)/(4*alf3))/(4*pi*alf3);%高斯函数

 

end

end

nr3=imfilter(mr,e,'conv','replicate');ng3=imfilter(mg,e,'conv','replicate');nb3=imfilter(mb,e,'conv',

 

'replicate');%卷积滤波

 

ur3=log(nr3);ug3=log(ng3);ub3=log(nb3);

tr3=log(mr);tg3=log(mg);tb3=log(mb);

yr3=(tr3-ur3)/3;yg3=(tg3-ug3)/3;yb3=(tb3-ub3)/3;

dr=yr1+yr2+yr3;dg=yg1+yg2+yg3;db=yb1+yb2+yb3;

cr=im2uint8(dr);cg=im2uint8(dg);cb=im2uint8(db);

z=cat(3,cr,cg,cb);

%figure,imshow(z);

 

pr=z(:

:

1);pg=z(:

:

2);pb=z(:

:

3);%RGB通道

 

blo_ture=0;

bg_plus=0;

N=101;

 

forj=1:

N%列

 

fori=1:

N%行

 

if(pb(i,j)==0)

if((pg(i,j)<40)&&(pr(i,j)>pg(i,j)))

blo_ture=blo_ture+1;

end

 

第7页共15页

end%血液特点一

 

if(pg(i,j)==0)

if(pb(i,j)>pr(i,j))

blo_ture=blo_ture+1;

end

 

end%血液特点二

 

if((pr(i,j)>80)&&(pr(i,j)<100))

if((pg(i,j)>20)&&(pg(i,j)<90))

if((pb(i,j)>100)&&(pb(i,j)<130))

blo_ture=blo_ture+5;

end

end

 

end%血液特点三

 

if((pr(i,j)>140)&&(pr(i,j)<150))

if((pg(i,j)>140)&&(pg(i,j)<150))

if((pb(i,j)>180)&&(pb(i,j)<255))

bg_plus=bg_plus+1;

end

end

 

end%灰色特点一

if((pr(i,j)>140))

if((pg(i,j)>140))

if((pb(i,j)==0))

bg_plus=bg_plus+1;

end

end

 

end%黄色特点一

 

end

end

add_mark=floor(bg_plus*1000/(101*101));

if((add_mark<120)&&(add_mark>90))

x=blo_ture+add_mark;

else

x=blo_ture;

end

 

第8页共15页

3.3.2血液通道

 

functionx=protein_channel(f)

fr=f(:

:

1);fg=f(:

:

2);fb=f(:

:

3);%RGB

 

通道

mr=mat2gray(im2double(fr));mg=mat2gray(im2double(fg));mb=mat2gray(im2double(fb));%

数据种类归

一化

 

alf1=100;%

 

定义标准差

 

alf=a^2/2

 

a=54

n=51;%定义模板大小

 

n1=floor((n+1)/2);%

fori=1:

n

 

forj=1:

n

 

计算中心

b(i,j)=exp(-((i-n1)^2+(j-n1)^2)/(4*alf1))/(pi*alf1);%end

高斯函数

end

 

nr1=imfilter(mr,b,'conv',

'replicate');ng1=imfilter(mg,b,'conv',

'replicate');nb1

=imfilter(mb,b,'conv',

'replicate');%卷积滤波

ur1=log(nr1);ug1=log(ng1);ub1=log(nb1);

 

tr1=log(mr);tg1=log(mg);tb1=log(mb);

yr1=(tr1-ur1)/3;yg1=(tg1-ug1)/3;yb1=(tb1-ub1)/3;

 

alf2=100;%定义标准差

 

alf=a^2/2

 

x1=floor((n+1)/2);%

 

fori=1:

n

 

forj=1:

n

计算中心

a(i,j)=exp(-((i-n1)^2+(j-n1)^2)/(4*alf2))/(6*pi*alf2);%end

高斯函数

end

 

nr2=imfilter(mr,a,'conv','replicate');ng2=imfilter(mg,a,'conv','replicate');nb2=imfilter(mb,a,'conv',

 

'replicate');%卷积滤波

ur2=log(nr2);ug2=log(ng2);ub2=log(nb2);

 

tr2=log(mr);tg2=log(mg);tb2=log(mb);

yr2=(tr2-ur2)/3;yg2=(tg2-ug2)/3;yb2=(tb2-ub2)/3;

 

alf3=100;%定义标准差alf=a^2/2a=167

第9页共15页

l1=floor((n+1)/2);%

 

fori=1:

n

 

forj=1:

n

计算中心

e(i,j)=exp(-((i-n1)^2+(j-n1)^2)/(4*alf3))/(4*pi*alf3);%end

高斯函数

end

 

nr3=imfilter(mr,e,'conv','replicate');ng3=imfilter(mg,e,'conv','replicate');nb3=imfilter(mb,e,'conv',

'replicate');%卷积滤波

ur3=log(nr3);ug3=log(ng3);ub3=log(nb3);

tr3=log(mr);tg3=log(mg);tb3=log(mb);

 

yr3=(tr3-ur3)/3;yg3=(tg3-ug3)/3;yb3=(tb3-ub3)/3;

 

dr=yr1+yr2+yr3;dg=yg1+yg2+yg3;db=yb1+yb2+yb3;

cr=im2uint8(dr);cg=im2uint8(dg);cb=im2uint8(db);

 

z=cat(3,cr,cg,cb);

pr=z(:

:

1);pg=z(:

:

2);pb=z(:

:

3);%RGB通道

 

pro_ture=0;

N=101;

 

forj=1:

N%列

 

fori=1:

N%行

if((pg(i,j)>70)&&(pg(i,j)<80))

 

if((pr(i,j)>10)&&(pb(i,j)>55))

pro_ture=pro_ture+1;

 

end

end

 

if(pg(i,j)>=80)

if((pr(i,j)>45)&&(pb(i,j)>70))

 

pro_ture=pro_ture+1;

end

 

end

 

end

end

 

x=pro_ture;

第10页共15页

3.4分类器测试:

3.4.1最小距离分类器

 

第11页共15页

3.4.2Fisher分类器

 

第12页共15页

3.4.3二次分类器

 

第13页共15页

4.

结果说明

4.1训练参数

 

图12训练参数散布图

从图上能够看出关于蛋白质的病变辨别成效较好,因为表示蛋白质的数据(Y轴上的数据)的

间类失散度大,反之,关于血管破碎的状况就比较难划分,表示血液的数据(x轴上的数据)的间

 

类失散度小。

可是从图像上能够看出,血管的正常值基本散布在400~800之间。

4.2测试时间

 

先期办理数据的时间:

Elapsedtimeis5.708662seconds.

 

分次运转分类器时间:

 

第14页共15页

4.3测试结果

评论项目最小距离分类器Fisher分类器二次分类器

 

正确率

 

真阳性

 

假阴性

 

假阳性

 

真阴性

 

耗时(s)

 

总结

 

关于采纳的三种分类器而言,Fisher线性分类器达到了最好的正确率有76%,而其他二者分别

是68%和74%。

可是,关于假阴性的鉴别中Fisher的错误率也是最高的,达到了32%,而最小距离

分类器和二次分别器是都在24%。

将这两项评论要素作为分类器的评论,那么二次分类分类器应当

 

是得分最高的。

所以,采纳这类思想进行眼底图像的识其他时候,采纳二次分类器应当是比较好的。

实验的耗时基本在数据办理部分,尔后的分类器中耗时却近乎同样,但对与大数据而言最小距

 

离分类器则会占优。

 

在此项作业中,我按照了监察模式识其他步骤,在每一步中都为最后能获得最好的结果而做出

努力。

在这个过程中,我将讲堂上和课后所学习的模式识其他知识,运用到了此项作业中,加深了

 

我对各样分类器的思想和图像预办理及特点提取的方法。

在此的特点提取方法比较简单,关于血液

 

的溢出和基本的血管像素的分辨不高,这是造成最后正确率不高的主要原由。

 

经过一个学期的学习,让我知道当下模式识其他基本方法和过程,经过此次大作业,我提升了

关于医学图像识其他实践能力。

 

第15页共15页

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2