kaggle aptos2019 的图像预处理
kaggle aptos2019 的图像预处理
APTOS全称Asia Pacific Tele-Ophthalmology Society (APTOS) Symposium。训练和测试样本图片由印度Aravind Eye Hospital为了筛查农村人口的病情所得。
aptos2019 竞赛的目的是分析糖尿病造成的视网膜病变(diabetic retinopathy)的严重程度,正常为0,最差为4,疾病严重的可致盲。所以此项研究旨在利用人工智能方法尽早诊断糖尿视网膜病变,避免病情恶化。
kaggle链接如下:
https://www.kaggle.com/c/aptos2019-blindness-detection/overview
眼底照片如下:
图像预处理
由于图像实际拍摄的时间、地点、设备、操作人员不同,所以尺寸,颜色、亮度也各不相同。正所谓垃圾进,垃圾出。直接对原图进行训练增加训练的难度,不容易找到病变的特征。
一般的计算机视觉处理都会进行图像预处理。在aptos2019竞赛的kaggle社区notekooks中,看到最多的一种图像增强方法是Ben Graham提出的。他是aptos2015年的糖尿病视网膜病变竞赛的冠军,由于2019年的竞赛图像也是相似的,所以很多人都延用他的预处理方法。
方法分为以下3步
- rescale the images to have the same radius (300 pixels or 500 pixels),
- subtracted the local average color; the local average gets mapped to 50% gray,
- clipped the images to 90% size to remove the “boundary effects”.
python 代码如下:
import cv2 , glob , numpy
# 输出图像的眼球半径都为1*scale个像素
def scaleRadius(img,scale):
x = img[int(img.shape[0]/2),: