眼底图像识别报告

2017-03-23  本文已影响0人  cooody

简介

本次实验的目的是对眼底图像进行分类识别,数据的标签分为【0,1,2,3,4】五类,分别代表糖尿病视网膜病变的5个阶段,0为健康,4为最严重。

我们的任务就是利用深度学习根据训练集训练模型,对测试集的数据进行预测分类,达到尽可能高的准确率。

原始数据集

图像预处理

网络结构

Paste_Image.png

特征提取

从 RMSPooling Layer提取特征。为了提升质量,重复进行20次特征提取,但是使用的是随机的data argumentation。然后在20次循环之后提取出 RMSPooling Layer的平均值和标准差,作为下一层blend network的输入。

左右眼混合

对于每个病人,使用下面的特征作为网络的输入
[this_eye_mean, other_eye_mean, this_eye_std, other_eye_std, right_eye_indicator]
训练一个简单的全连接神经网络。

网络结构:

Input        8193
Dense          32
Maxout         16
Dense          32
Maxout         16
```

根据上文训练的三组weights,会生成三个blend network。然后对这三个network的输出取平均值,并且设置阈值为[0.5,1.5,2.5,3.5]来生成最终的分类结果。

## 评分标准

kaggle对此比赛的评分基于 quadratic weighted kappa 算法。得分范围为0-1,分数越高证明模型的效果越好。

简单地说就是对于多分类问题,预测的越不准得分越低,比如把class=0预测成class=4的惩罚会比把class=0预测成class=1的惩罚重很多,进行随机预测的得分约为0。

具体的算法实现内容参见[此链接](https://www.kaggle.com/c/diabetic-retinopathy-detection/details/evaluation)

## 实验结果

提交到kaggle进行评分,结果为8.42,略低于原队伍的8.44,但是考虑到我们所大幅度简化的网络,实际得到的结果还是不错的。

validation set的confusion matrix如下:
![confusion matrix](https://img.haomeiwen.com/i2563527/e190e0077b75e00d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
可以看到,对于糖尿病视网膜病变的识别率能达到约92%左右,误报率为8%左右。

整个训练耗时约30+小时,使用一块GTX1080显卡。
上一篇 下一篇

猜你喜欢

热点阅读