【2022研电赛】技术赛华南区一等奖:基于改进GoogLeNet的瘢痕色泽和血管分布评估系统
本文为2022年第十七届中国研究生设计大赛技术赛道华南赛区一等奖作品介绍,参加极术社区的【有奖活动】分享2022研电赛作品扩大影响力,更有丰富电子礼品等你来领!
团队介绍
参赛单位:广西科技大学
参赛队伍:瘢痕智能诊断小队
指导教师:徐雅玲、文家燕教授
参赛队员:闻海潮、于洲波、周志文
奖项:华南赛区一等奖
1. 作品简介
瘢痕是皮肤伤口处真皮组织异常增生的疾病,其病理情况主要体现在色泽和血管分布程度,准确客观的瘢痕评估对诊治具有关键作用。针对传统评估方式具有较大主观性以及效率低下等问题,本文研究了一种基于卷积神经网络的瘢痕色泽和血管分布评估算法。首先收集大量各类型的瘢痕图像制作数据集,其次分析了GoogLeNet网络模型的结构和优势,并结合瘢痕图像的特点对原模型做出改进优化,然后提出了基于改进网络的双模型评估算法。实验结果表明:即便改进网络较传统GoogLeNet模型参数量减少了65%,前者在瘢痕评估任务中的表现依然要优于后者,并且也高于AlexNet和ResNet等经典深度学习网络,而基于改进网络设计的双模型评估算法又将识别的性能进一步提升,缩小了误判范围,增加了评估准确性,本文方法可以为瘢痕辅助诊断系统的应用提供新的技术参考。
2. 作品创新
色泽和血管分布是评估量表中重点评价的指标,这两个指标直接反映了瘢痕内组织的供血情况,与瘢痕所处的病理阶段具有直接的关联性。在临床研究中,一些测量仪器被应用到瘢痕色泽和血管分布的客观采集与评估中 。虽然瘢痕有着异于周围皮肤的颜色,但肉眼观察难以区分色泽的细微差异,而三刺激值色度计和窄谱反射分光光度计被用来客观量化测定瘢痕红斑和黑色素沉淀情况。尽管这种方法客观准确,但专业仪器价格昂贵,使用者需要经过专业培训,且较为耗费时力。
随着数字成像技术的进步,数码照片能够较为完整的还原拍摄物的特征。因此出现了不少借助数字图像对瘢痕进行分析的研究成果。如将RGB格式的数字照片转换成L_a_b颜色空间对瘢痕的颜色进行客观定量评估,在Color Worker软件上进行基于图像的瘢痕色彩测量,以及使用ImageJ软件对瘢痕的数字图像进行血管性分布的评估测量。研究表明深度学习技术在皮肤病图像识别方面有着优良的性能,不仅处理高效,且诊断水平能与专业医生媲美。现有文献中,大量研究工作都是关于瘢痕图像分析,而利用深度学习对瘢痕进行辅助评估的研究较为少见。因此,本文探究了深度学习技术在瘢痕评估上的应用,提出了一个适应瘢痕图像的改进GoogLeNet模型和一种基于改进模型的评估算法。为瘢痕诊断提供一种自动、准确和高效的评估方案。
3. 作品方案
文中数据收集于某医院,照片在室内照明环境下拍摄获得,原始图片像素尺寸为6000×4000像素,瘢痕图像数据涵盖了人体四肢、前胸、后背和腹部等身体部位。样本整理流程如图1-1所示,首先排除掉病灶模糊、光线不足和反光等低质量照片,然后将原图分块为带有病灶区域的小图,得到不同阶段的瘢痕图像样本数据1360张。
图1-1 数据集制作流程
GoogLeNet模型介绍
提升深度学习网络性能的方法通常是增加网络的层次和神经元的数量,但这又会导致参数过多、计算复杂和梯度弥散等问题。GoogLeNet团队提出了Inception模块,以此构建一个既能保持网络结构稀疏,又能利用密集矩阵的高计算性能的网络模型 。Inception模块的结构如图2-1所示,由1×1、3×3、5×5三个常用卷积以及3×3池化构成。因为所有的卷积核都对前一层的输出特征图进行计算,而3×3卷积和5×5卷积需要的计算量较大,经过多层堆叠后会造成特征图厚度过大。为了避免该情况,分别在3×3、5×5卷积之前以及3×3池化之后连接1×1卷积核。这一巧妙的结构不仅能降低参数数量,还能增加网络的非线性。基于Inception模块的GoogLeNet网络包含3个卷积层和9个Inception块,虽然22层网络深度超过了16层的VGG网络,但模型参数仅仅只有VGG网络的1/36。因此,在计算资源有限的情况下,GoogLeNet网络是比较好的选择。
Googlenet模型所带来的一些思考:一般来说,提高网络性能最直接的方法是增加网络大小:
- 1、增加网络深度
- 2、增加网络宽度
这种简单的解决方案有两个主要缺点:
- 1、随着网络参数的增加,网络容易陷入过拟合,需要大量的训练数据。然而,在解决高粒度分类问题时,高质量的训练数据成本过高;
- 2、单纯增加网络规模会增加网络计算量,无法充分利用,造成计算资源浪费。一般来说,提高网络性能最直接的方法是增加网络的深度和宽度,这意味着需要大量的参数,大大增加了计算的复杂程度。
googlenet的主要思想就是围绕这两个思路去做的:
- 1.深度,层数更深,文章采用了22层,为了避免上述提到的梯度消失问题,googlenet巧妙的在不同深度处增加了两个loss来保证梯度回传消失的现象。
- 2.宽度,增加了多种核 1x1,3x3,5x5,还有直接max pooling的,但是如果简单的将这些应用到feature map上的话,concat起来的feature map厚度将会很大,所以在googlenet中为了避免这一现象提出的inception具有如下结构,在3x3前,5x5前,max pooling后分别加上了1x1的卷积核起到了降低feature map厚度的作用。
综上googlent有两个最重要的创新点分别是为了解决深度和宽度受限来设计的,由于googlenet的两个辅助loss的限制,很多文章拿base model的时候比较偏向与vgg。
优点:把整个Inception的网络架构画出来,更直观感受网络结构
1.宽度。总共是9个Inception的模块,每个模块除了num_output的个数不一样之外,其他的都是相同的。每一个卷积后都要做relu操作。
2.深度。除了在最后的全连接计算了loss和top_1,top_5的准确率之外,还在inception_4a/output和inception_4d/output之后进行池化卷积全连接,最后计算loss和top_1,top_5。
这种处理方式下,一方面可以比较不同深度下的loss和准确率,同时,这些中间层的backward computation会对整个起到调整梯度的作用,这样防止当层次过深时的梯度消失的问题。
图2-1 Inception结构
模型改进
虽然GoogLeNet在分类性能上表现优秀,但对于本文研究的瘢痕评估任务,原网络显得复杂冗余。因此需要对网络进行改进,让其更好的适应瘢痕数据样本。改进模型除了用到常规的卷积和Inception模块,还在分类层之前引入批归一化层(Batch Normalization, BN),分类层则继续沿用全局平均池化代替全连接层来将特征图转换为特征向量,从而达到减少模型参量和防止过拟合等目的。
改进的基本原则围绕着以下三点进行:要防止出现特征描述的瓶颈(representational bottleneck)。所谓特征描述的瓶颈就是中间某层对特征在空间维度进行较大比例的压缩(比如使用pooling时),导致很多特征丢失。虽然Pooling是CNN结构中必须的功能,可以通过一些优化方法来减少Pooling造成的损失。
- 1、特征的数目越多收敛的越快。相互独立的特征越多,输入的信息就被分解的越彻底,分解的子特征间相关性低,子特征内部相关性高,把相关性强的聚集在了一起会更容易收敛。
- 2、空间聚合可以在较低维度嵌入上完成,而不会在表示能力上造成许多或任何损失。
- 3、平衡网络的宽度和深度。通过平衡每个阶段的滤波器数量和网络的深度可以达到网络的最佳性能。增加网络的宽度和深度可以有助于更高质量的网络。
基于改进模型的评估算法
使用VSS评估表的瘢痕评估是为了获得描述患者病灶的情况的等级分数,该分数由各个子项目得分累加。分数的高低对应着瘢痕总体情况的好坏。同多数深度学习识别应用一样,可以利用单个识别网络对瘢痕色泽和血管分布的总分进行预测评估。而本文提出一种双模型预测评估算法,首先训练瘢痕色泽和血管分布总分的评估网络,随后基于该总分评估模型使用迁移学习的方式分别训练色泽评估模型和血管分布评估模型,联合两个模型对同一张图像进行分数评估,最后将两个分数相加得到瘢痕色泽和血管分布的总分。
4. 作品展望
本文探索了基于深度学习的瘢痕色泽和血管分布的评估方法,根据瘢痕图像的特点,在GoogLeNet网络的基础上进行了模型改进,设计得到GoogLeNet-Scar深度卷积神经网络模型。与原模型以及其它经典的卷积神经网络相比,改进后的模型不仅在瘢痕图像的识别性能上有所提升,同时在参数量、内存需求以及运行耗时上有着明显的优势。另外本文提出了一种基于改进模型的瘢痕色泽和血管分布评估算法,用双改进模型对瘢痕进行评估,实验结果表明:双模型评估算法能进一步提高识别的性能,对每种类型病灶的评估达到了98.72%的平均准确率。该方法可以给瘢痕自动诊断系统的开发提供一定参考。本文的研究尚有一些局限,如数据集数量较少和样本分布不均等。未来将收集更多样本数据,同时继续研究保持识别性能的前提下如何缩减识别网络的体量,以便于移植和推广到实际的瘢痕临床辅助诊断中。