前言
放眼世界,人工智能(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诊断能提升筛查效率,降低人力成本,降低误漏误诊率,促进我国基层医疗卫生机构“守门人”作用的有效发挥。
▼欢迎关注《统计咨询》公众号▼
▼扫码赞赏▼
领取专属 10元无门槛券
私享最新 技术干货