医学影像的AI诊断

前言

放眼世界,人工智能(Artificial Intelligence, AI)的机遇已至。无论IT巨头,还是投资创业者,抑或科研人员,都在抢点布局。AI正在前所未有地走向世界繁荣。

作为医学界的我们,如何能抓住机遇?

据估计,在医疗行业中超过80%的数据来自医学影像,医学影像是循证医学时代医师诊断疾病的重要依据。因此,AI当前参与最多的正是医学影像诊断领域。

实例与策略

作为乳腺癌早期诊断的可靠方法,乳腺钼靶影像具有分辨率高、诊断准确率高等特点,呈以简化的实例和策略如下。

(1)数据收集,收集尽可能多的病例与正常对照的乳腺钼靶影像资料。图像格式可为jpg、png、tiff、pgm等。

(2)数据清洗,去除噪声、异常数据、人工伪迹等;图像锐化增强。Matlab软件中的imread()函数可读取上述的影像数据,灰度像素中,0为黑色,1为白色,设定合适阈值,通过im2bw()函数可将接近两端的像素设置为0或1进而实现噪声去除,通过fspecial()函数可实现图像的锐化。

(图片来源于网络)

(3)特征提取;提取图像特征是AI诊断的关键步骤,有效的特征直接影响诊断的效果。以几个常用的特征为例:①熵(Entropy):反映图像纹理的复杂程度和非均匀度,纹理越复杂则熵越高。Matlab软件中的entropy()函数可计算。②灰度方差(variance):反映图像的均匀程度,越不均匀则方差越大。从黑到白存在0~255的灰度等级,直接对全部像素的灰度求方差。③Zernike矩:用于异常区域边缘的识别,因其具有对噪声不敏感、图像方向变化无影响的特点,Zernike矩在图像识别中应用较多。Matlab软件中的Zernikmoment()函数可计算。如上,我们可以提取多个图像特征。此外,R包EBImage,Python库PIL、pytesseract、ImageAI等都能进行图像的处理。

如下所示,我们可以对疑似病灶进行检测,并且得到疑似病灶的位置、大小等特征信息。

(经图像二值化处理)

(4)判别模型;至此,我们得到因变量为二分类变量(病例与否),自变量为连续变量(entropy、variance、zernike...等图像特征)的数据集。通过构建支持向量机模型(SVM)、随机森林(RF)、神经网络(NN)、XGBoost模型等高效的机器学习模型,实现以图像特征对病例进行判别之目的。此外,Python软件和R软件都能轻松地构建模型。

Matlab提取特征实例

%读取乳腺图像

img = imread('breast.jpg');

%图像灰度化

img = rgb2gray(img);

%查看图像

imshow(img);

%计算灰度直方图

p = imhist(img);

%计算灰度比例

p_norm = p./(1024*1024);

%提取均值特征

mean = 0;

for z=1:256

mean = mean + (z-1)*p_norm(z);

end

%提取变异特征

var = 0;

for z=1:256

var = var + ( ( (z-1) - mean)^2 ) * p_norm(z);

end

std = sqrt(var);

R = 1 - (1/(1+ std^2 ));

%提取偏度特征

skew = 0;

for z=1:256

skew = skew + ( ( ( (z-1) - mean)^3 ) * p_norm(z) );

end

%提取能量(平方和)特征

U = 0;

for z=1:256

U = U + (p_norm(z)^2);

end

%提取熵特征

E = entropy(img);

%组合各特征为向量

feature = [mean std R skew U E];

%二值化处理

level = graythersh(img);

bwg = im2bw(img, level);

%查看图像

imshow(bwg);

展望

早筛早诊早治对改善疾病特别是癌症的预后至关重要,医学影像AI诊断能提升筛查效率,降低人力成本,降低误漏误诊率,促进我国基层医疗卫生机构“守门人”作用的有效发挥。

▼欢迎关注《统计咨询》公众号▼

▼扫码赞赏▼

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180824B0BIMY00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券