皮肤科领域图像识别入门方法研究

2018-12-07 05:14温娟蒋雯雯周扬
医药前沿 2018年35期
关键词:红斑狼疮图像识别皮肤科

温娟 蒋雯雯 周扬

(1中山大学附属第七医院 广东 深圳 518107)

(2珠海金山办公软件有限公司 广东 珠海 519000)

1.引言

2011年斯坦福大学在Nature上发表了一篇文章,利用13万个皮肤病的图像数据库训练AI算法,进行人工智能自动诊断皮肤病的探索。图像数据库包含了皮肤镜图像、手机相片、病理图片等。将AI诊断系统用于鉴别皮肤良性肿瘤、恶性肿瘤和其他的一些非肿瘤性皮肤病,结果AI诊断结果与皮肤科专家诊断结果吻合度非常高,诊断效果打成平手。而AI算法的诊断效率远高于皮肤科专家。我国将AI算法应用于皮肤科疾病诊断起步相对较晚,原因之一是AI算法和皮肤科疾病诊断相结合的资料匮乏,皮肤科医务工作者面对繁多的人工智能算法资料往往无从下手。针对此情况,本文介绍了一帮助皮肤科医务工作快速掌握人工智能图像识别算法的方法。

2.基础知识

图像识别算法非常多,目前学术界公认的基于神经网络的图像识别算法效果较好。本文也仅讨论基于神经网络的图像识别算法基础原理。

2.1 反向传播算法

反向传播算法[1]是一种求函数某个邻域内极值的算法,神经网络算法应用于图像识别的基础。其图数学原理来源于高等数据中的多元复合函数与偏导。

若要求公式(1)的极小值,则可以用反向传播算法解决。反向传播算法要先求出函数对各个自变量的偏导,即求出函数的梯度。如公式(2)所示

反复利用该不等式,就可以不断找到新x的使z越来越小,直到找到极小值。

2.2 softmax函数

为了说明softmax的实际意义,假定现有3张大小为10103的图片,图片上病症内容分别为红斑狼疮,带状疱疹和银屑病。每张图片在计算机中的表示可以认为是10103=300个数值,那么3张图片就有3003=900个数值。若要使用人工智能中的神经网络算法分析图片中的病症,就需要用3张图片的900个数值和一些未知数(如x,y)构造一个矩阵。如公式(5)所示。

该矩阵的构造方法下节讨论。矩阵的3行分别对应3张图片,3列分别对应红斑狼疮,带状疱疹和银屑病。其中含义是第1张图片上的病症是红斑狼疮的得分,含义是第2张图片上的病症是带状疱疹的得分,其余的含义同理。现在已知第1张图片是红斑狼疮病症,第2张图片是带状疱疹病症,第3张图片是银屑病病症。那么当然是希望找到合适的x,y使矩阵中的,,尽可能大,而矩阵中的其它元素尽可能小。通常要对z进行归一化处理[2]。令

则矩阵z的softmax函数如公式所示。

显然,矩阵softmax(z)中的元素的取值范围是[0,1]。因此可以把每个元素都看作一个概率。以第1张图片对应的第1行为例,表示第1张图片是红斑狼疮的概率,表示第1张图片是带状疱疹的概率,表示第1张图片银屑病的概率。现在已知第1张图片是红斑狼疮的病症图片,那么图像识别算法的目的就是要找到一组使尽可能大,使,尽可能小[3]。如果考虑3张图片,则希望找到一组使公式(9)中的E收尽可能大。矩阵z的构造方法见3.1节。

2.3 python语言

以上两小节讨论了基于神经网络的图像识别算法涉及的一些基础原理和概念。在实际实现算法时,并不需要从0开始实现所有步骤。目前学术界和工业界都有很多框架(如tensorflow和keras),可以帮助快速实现算法。这些框架往往提供的多种编程语言的调用接口。但从实际情况看,python语言语法简单,入门成本最低。因此推荐用python作为人工智能算法的入门语言。

3.训练与使用模型

基于神经网络的图像识别算法通常需要2步[4]。第1步,训练模型。直观地讲就是找到一组合适的参数,使分类正确的概率尽可能大,分类错误的概率尽可能小。神经网络中的模型本质上是一组参数的集合。第2步,使用模型。根据模型中的参数去判断新的图片属于哪一类。

3.1 训练模型

2.2节已讨论过,在计算机中保存的3张大小为10103的图片,本质上是保存3300个数值。这里用矩阵d[3][300]表示。随机构造一矩阵p[300][3],该矩阵有900个参数。令

这样就得到2.2节中讨论的z。不同的是2.2节中的z只有x,y两个未知数。而此处的未知数是用矩阵p表示,共有900个未知数。虽然未知数的个数不同,但矩阵的结构完全相同。得到矩阵z后就可以构造公式(9)中的E。得到E之后再利用2.1节讨论的反向传播算法得到E的极大值。当E为极大值时,矩阵p[300][3]中的参数即为训练的模型参数。

3.2 使用模型

假定现有一个未知病症的图片,大小仍然是10103。将该图片看作一个m[1][300]的矩阵,则m与上节训练出的p相乘,得到一个13的矩阵r[1][3]。此时r的3列对应3种病症的得分。新图片中的病症即为得分最高的一列对应的病症。延续节中的假设,3列分别对应红斑狼疮,带状疱疹和银屑病。那么如果第1列的数值最大,该图片的病症即为红斑狼疮。

4.结论

针对AI图像识别算法在皮肤科医务工作者中了解较少的实际情况。以实际病例为出发点,介绍了AI图像识别算法要使用的基础知识和训练使用模型的原理,帮助皮肤科医务工作者快速入门。为了描述问题方便,假定的图片大小比较小,病症种类和病症图片数量也较小。在现实使用中皮肤科医务工作者可以根据实际情况加大图片的样本数,尽可能多收集病症种类。基于神经网络的图像识别算法在很多领域已经取得较大成绩。皮肤病学诊断比较依赖形态学特征,随着样本数量增大、病症数据的增多,AI图像识别算法在皮肤科将有广阔的发展前景。

猜你喜欢
红斑狼疮图像识别皮肤科
依托皮肤科独立病区开展皮肤科住院医师规范化教学查房探讨
系统性红斑狼疮临床特点
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
皮肤科医生6招教你抗“冬痒”
图像识别在物联网上的应用
图像识别在水质检测中的应用
邢台市中医院皮肤科
伴脱发的头皮深在性红斑狼疮并发干燥综合征一例
系统性红斑狼疮并发带状疱疹的护理