需要JoVE订阅才能观看此内容。 请登录或开始免费试用

方法文章

基于Swin Transformer的甲状腺结节超声图像检测模型

2.8K 次观看

DOI:

10.3791/64480

2023年4月21日

本文内容

摘要

本文提出了一种用于超声图像中甲状腺结节检测的新模型,该模型采用Swin Transformer作为主干网络,以实现长距离上下文建模。实验结果表明,该模型在敏感性和准确性方面表现良好。

摘要

近年来,甲状腺癌的发病率呈上升趋势。甲状腺结节的检出对于甲状腺癌的发现和治疗至关重要。卷积神经网络(CNN)在甲状腺超声图像分析任务中已取得良好效果。然而,由于卷积层的有效感受野有限,CNN难以捕捉长距离的上下文依赖关系,而这种依赖关系对于识别超声图像中的甲状腺结节非常重要。Transformer网络在捕获长距离上下文信息方面具有优势。受此启发,我们提出一种结合Swin Transformer骨干网络与Faster R-CNN的新型甲状腺结节检测方法。具体而言,首先将超声图像投影为一维的嵌入序列,然后输入到分层的Swin Transformer中。

Swin Transformer 骨干网络通过利用移位窗口计算自注意力,从五个不同的尺度提取特征。随后,使用特征金字塔网络(FPN)融合来自不同尺度的特征。最后,通过检测头预测边界框及其对应的置信度分数。实验使用了来自 2,680 名患者的数据,结果表明,该方法达到了 44.8% 的最佳 mAP 分数,优于基于 CNN 的基线方法。此外,我们的敏感性(90.5%)也优于竞争对手。这表明该模型中的上下文建模对甲状腺结节检测是有效的。

引言

自1970年以来,甲状腺癌的发病率迅速上升,尤其在中年女性中更为显著1。甲状腺结节可能预示甲状腺癌的发生,且大多数甲状腺结节无明显症状2。早期发现甲状腺结节对于甲状腺癌的治愈具有重要意义。因此,根据目前的临床实践指南,所有在体格检查中疑似患有结节性甲状腺肿或影像学检查发现异常的患者,均应接受进一步检查3,4

甲状腺超声(US)是检测和表征甲状腺病变的常用方法5,6。超声是一种便捷、经济且无辐射的技术。然而,超声的应用容易受到操作者因素的影响7,8。甲状腺结节的形态、大小、回声强度和纹理等特征在超声图像上通常易于分辨。尽管某些超声特征——如钙化、回声强度和不规则边界——常被用作识别甲状腺结节的标准,但观察者间的差异不可避免8,9。不同经验水平的放射科医生所做出的诊断结果存在差异。相较于经验丰富的放射科医生,经验不足者更易发生误诊。某些超声现象,如反射、声影和回波,可能降低图像质量。由于超声成像本身的特性所导致的图像质量下降,使得即使是经验丰富的医生也难以准确定位结节。

近年来,甲状腺结节的计算机辅助诊断(CAD)发展迅速,可有效减少不同医师间诊断差异,并帮助放射科医生快速、准确地诊断结节10,11。目前已提出多种基于卷积神经网络(CNN)的CAD系统,用于甲状腺超声结节分析,包括分割12,13、检测14,15和分类16,17。CNN是一种多层监督学习模型18,其核心模块为卷积层和池化层。卷积层用于特征提取,池化层用于下采样。浅层卷积层可提取纹理、边缘和轮廓等初级特征,而深层卷积层则学习高级语义特征。

卷积神经网络(CNN)在计算机视觉领域取得了巨大成功19,20,21。然而,由于卷积层的有效感受野有限,CNN 难以捕捉长距离的上下文依赖关系。在过去,图像分类的主干网络架构主要采用 CNN。随着视觉 Transformer(ViT)22,23 的出现,这一趋势发生了改变,如今许多最先进的模型均采用 Transformer 作为主干网络。ViT 基于非重叠的图像块,使用标准的 Transformer 编码器25 对空间关系进行全局建模。Swin Transformer24 进一步引入了移位窗口以学习特征。移位窗口不仅提高了效率,还显著缩短了序列长度,因为自注意力是在窗口内计算的。同时,通过移位(移动)操作可实现相邻窗口之间的交互。Swin Transformer 在计算机视觉中的成功应用,推动了基于 Transformer 的架构在超声图像分析中的研究26

最近,Li 等人提出了一种受 Faster R-CNN27 启发的深度学习方法28,用于甲状腺乳头状癌的检测。Faster R-CNN 是一种经典的基于卷积神经网络(CNN)的目标检测架构。原始的 Faster R-CNN 包含四个模块:CNN 主干网络、区域建议网络(RPN)、ROI 池化层和检测头。CNN 主干网络通过一组基础的卷积(conv)+ 批归一化(bn)+ 激活函数(relu)+ 池化(pooling)层,从输入图像中提取特征图。随后,这些特征图被送入 RPN 和 ROI 池化层。RPN 网络的作用是生成候选区域,该模块使用 softmax 判断锚点(anchors)是否为正样本,并通过边界框回归生成精确的锚点。ROI 池化层通过整合输入的特征图和候选区域,提取出候选区域的特征图,并将其送入后续的检测头。检测头利用这些候选区域的特征图对目标进行分类,并通过边界框回归获得检测框的精确位置。

本文提出了一种新的甲状腺结节检测网络,称为Swin Faster R-CNN,该网络通过使用Swin Transformer替代Faster R-CNN中的CNN主干网络,从而更好地从超声图像中提取结节检测所需的特征。此外,采用特征金字塔网络(FPN)29通过聚合多尺度特征来提升模型对不同尺寸结节的检测性能。

访问受限。请登录或开始试用以查看此内容。

方案

本回顾性研究已获得中国四川大学华西医院伦理审查委员会的批准,且免除了获取知情同意的要求。

1. 环境设置

  1. 图形处理器(GPU)软件
    1. 为实现深度学习应用,首先配置与 GPU 相关的环境。从 GPU 官方网站下载并安装适用于 GPU 的软件和驱动程序。
      ​注意:本研究中所用材料详见材料表
  2. Python3.8 安装
    1. 在计算机上打开终端。输入以下命令:
      命令行sudo apt-get install python3.8 python-dev python-virtualenv
  3. Pytorch1.7 安装
    1. 按照官方网站上的步骤下载并安装 Miniconda。
    2. 创建 conda 环境并激活该环境。
      命令行:conda create --name SwinFasterRCNN python=3.8 -y
      命令行:conda activate SwinFasterRCNN
    3. 安装 Pytorch。
      命令行:conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2
  4. MMDetection 安装
    1. 从官方 Github 仓库克隆代码。
      命令行:git clone https://github.com/open-mmlab/mmdetection.git
    2. 安装 MMDetection。
      命令行:cd mmdetection
      命令行:pip install -v -e .

2. 数据准备

  1. 数据收集
    1. 收集超声图像(本研究中为来自一家三级甲等医院的3,000例病例)。确保每例病例均包含诊断记录、治疗方案、超声报告及对应的超声图像。
    2. 将所有超声图像存放于一个名为 "images."
      注:本研究使用的数据包括来自3,000例病例的3,853幅超声图像。
  2. 数据清洗
    1. 手动检查数据集中是否存在非甲状腺区域的图像,例如淋巴结图像。
    2. 手动检查数据集中是否包含彩色多普勒血流图像。
    3. 删除前两步中选中的图像。
      注:数据清洗后,剩余2,680例病例的3,000幅图像。
  3. 数据标注
    1. 由一位高年资医生在超声图像中定位结节区域,并勾画结节边界。
      注:标注软件及操作流程详见补充文件1
    2. 由另一位高年资医生对标注结果进行审核与修正。
    3. 将标注完成的数据存放在一个名为 "Annotations." 的独立文件夹中。
  4. 数据划分
    1. 运行Python脚本,设置步骤2.1.2中的图像路径以及步骤2.3.3中的标注文件路径,将所有图像及其对应的标签文件按8:2的比例随机划分为训练集和验证集。将训练集数据保存至 "Train" 文件夹,验证集数据保存至 "Val" 文件夹。
      注:Python脚本详见补充文件2
  5. 转换为COCO数据集格式
    注:为使用MMDetection,需将数据处理为COCO数据集格式,该格式包括一个包含标注信息的json文件,以及一个存放超声图像的图像文件夹。
    1. 运行Python脚本,输入步骤2.3.3中的标注文件夹路径,提取医生勾画的结节区域并将其转换为掩膜(masks)。将所有掩膜保存至 "Masks" 文件夹。
      注:Python脚本详见补充文件3
    2. 运行Python脚本,设置步骤2.5.1中的掩膜文件夹路径,将数据转换为COCO格式的数据集,并生成包含超声图像信息的json文件。
      注:Python脚本详见补充文件4

3. Swin Faster RCNN 配置

  1. 下载 Swin Transformer 模型文件(https://github.com/microsoft/Swin-Transformer/blob/main/models/swin_transformer.py),对其进行修改,并将其放入“mmdetection/mmdet/models/backbones/”文件夹中。使用 vim 文本编辑器打开“swin_transformer.py”文件,并按照 补充文件5中提供的 Swin Transformer 模型文件进行修改。
    命令行:vim swin_transformer.py
  2. 复制 Faster R-CNN 配置文件,将主干网络更改为 Swin Transformer,并设置 FPN 参数。
    命令行:cd mmdetection/configs/faster_rcnn
    命令行:cp faster_rcnn_r50_fpn_1x_coco.py swin_faster_rcnn_swin.py
    注意:Swin Faster R-CNN 配置文件(swin_faster_rcnn_swin.py)已在 补充文件6 中提供。Swin Faster R-CNN 网络结构如 图1 所示。
  3. 在配置文件中将数据集路径设置为 CoCo 格式数据集路径(步骤 2.5.2)。使用 vim 文本编辑器打开 "coco_detection.py" 文件,并修改以下行:
    data_root = "数据集路径(步骤 2.5.2)"
    命令行:vim mmdetection/configs/_base_/datasets/coco_detection.py

4. 训练 Swin Faster R-CNN

  1. 编辑 mmdetection/configs/_base_/schedules/schedule_1x.py,设置默认的训练相关参数,包括学习率、优化器和训练轮数。在 vim 文本编辑器中打开 "schedule_1x.py" 文件,并修改以下行:
    optimizer = dict(type="AdamW", lr=0.001, momentum=0.9, weight_decay=0.0001)
    runner = dict(type='EpochBasedRunner', max_epochs=48)
    命令行:vim mmdetection/configs/_base_/schedules/schedule_1x.py
    注意:在本论文的实验方案中,学习率设置为 0.001,使用 AdamW 优化器,最大训练轮数设置为 48,批量大小设置为 16。
  2. 输入以下命令开始训练。等待网络开始进行 48 轮训练,并在输出文件夹中生成 Swin Faster R-CNN 网络的训练权重。保存在验证集上准确率最高的模型权重。
    命令行:cd mmdetection
    命令行:python tools/train.py congfigs/faster_rcnn/swin_faster_rcnn_swin.py --work-dir ./work_dirs
    注意:模型在 "NVIDIA GeForce RTX3090 24G" GPU 上进行训练。所使用的中央处理器为 "AMD Epyc 7742 64 核处理器 × 128",操作系统为 Ubuntu 18.06。总训练时间约为 2 小时。

5. 在新图像上进行甲状腺结节检测

  1. 训练完成后,从验证集上表现最佳的模型中选择用于新图像甲状腺结节检测的模型。
    1. 首先,将图像调整为 512 像素 × 512 像素,并进行归一化处理。运行测试脚本时,这些操作将自动完成。
      命令 :python tools/test.py configs/faster_rcnn/swin_faster_rcnn_swin.py --out ./output
    2. 等待脚本自动将预训练模型参数加载至 Swin Faster R-CNN,并将预处理后的图像输入模型进行推理。等待 Swin Faster R-CNN 输出每张图像的预测框。
    3. 最后,允许脚本自动对每张图像执行 NMS 后处理,以去除重复的检测框。
      注意:检测结果将输出至指定文件夹,该文件夹包含带有检测框的图像以及打包文件中的边界框坐标。

访问受限。请登录或开始试用以查看此内容。

结果

甲状腺超声图像收集自中国两家医院,时间为2008年9月至2018年2月。纳入本研究的超声图像需满足以下入选标准:在活检和手术治疗前进行过常规超声检查、经活检或术后病理确诊、年龄≥18岁。排除标准为不含甲状腺组织的图像。

纳入的3,000张超声图像中包含1,384个恶性结节和1,616个良性结节。恶性结节中大多数(90%)为乳头状癌,良性结节中66%为结节性甲状腺肿。其中25%的结节小于5 mm,38%的结节大小在5 mm至10 mm之间,37%的结节大于10 mm。

所有超声图像均使用 Philips IU22 和 DC-80 仪器采集,并采用其默认的甲状腺检查模式。两种仪器均配备 5-13 MHz 线性探头。为充分暴露甲状腺下缘,所有患者均取仰卧位,背部伸展。根据美国放射学会认证标准,对双侧甲状腺叶及峡部在纵切面和横切面进行扫描。所有检查均由两名具有 ≥10 年临床经验的资深甲状腺放射科医师完成。甲状腺诊断依据细针穿刺活检或甲状腺手术后的组织病理学结果。

在实际应用中,...

访问受限。请登录或开始试用以查看此内容。

讨论

本文详细描述了如何进行环境配置、数据准备、模型设置以及网络训练。在环境配置阶段,需要注意确保依赖库的兼容性和匹配性。数据处理是非常重要的一步,必须投入时间和精力以确保标注的准确性。在训练模型时,可能会遇到"ModuleNotFoundError"错误。此时,需要使用"pip install"命令安装缺失的库。如果验证集的损失不下降或波动较大,应检查标注文件,并尝试调整学习率和批量大小,以使损失收敛。

甲状腺结节的检出对于甲状腺癌的治疗具有重要意义。计算机辅助诊断(CAD)系统可协助医生进行结节检测,避免因主观因素导致的诊断差异,并减少结节的漏检。与现有的基于卷积神经网络(CNN)的CAD系统相比,本文提出的网络引入了Swin Transformer来提取超声图像特征。通过捕捉长距离依赖关系,Swin Faster R-CNN能够更高效地从超声图像中提取结节特征。实验结果表明,与基于CNN主干网络的Faster R-CNN相比,Swin Faster R-CNN将结节检测的敏感度提高了约3%。该技术的应用可显著减轻医生的工作负担,因其可在早期超声检查中...

访问受限。请登录或开始试用以查看此内容。

披露

作者声明无利益冲突。

致谢

本研究由国家自然科学基金(项目编号:32101188)和四川省科技厅一般项目(项目编号:2021YFS0102)资助。

访问受限。请登录或开始试用以查看此内容。

材料

本文使用的材料清单
姓名公司目录编号评论
GPU RTX3090Nvidia124G GPU
mmdetection2.11.0商汤科技4https://github.com/open-mmlab/mmdetection.git
python3.82https://www.python.org
pytorch1.7.1Facebook3https://pytorch.org

参考文献

  1. Grant, E. G., et al. Thyroid ultrasound reporting lexicon: White paper of the ACR Thyroid Imaging, Reporting and Data System (TIRADS) committee. Journal of the American College of Radiology. 12 (12 Pt A), 1272-1279 (2015).
  2. Zhao, J., Zheng, W., Zhang, L., Tian, H. Segmentation of ultrasound images of thyroid nodule for assisting fine needle aspiration cytology. Health Information Science and Systems. 1, 5(2013).
  3. Haugen, B. R. American Thyroid Association management guidelines for adult patients with thyroid nodules and differentiated thyroid cancer: What is new and what has changed. Cancer. 123 (3), 372-381 (2017).
  4. Shin, J. H., et al. Ultrasonography diagnosis and imaging-based management of thyroid nodules: Revised Korean Society of Thyroid Radiology consensus statement and recommendations. Korean Journal of Radiology. 17 (3), 370-395 (2016).
  5. Horvath, E., et al. An ultrasonogram reporting system for thyroid nodules stratifying cancer risk for clinical management. The Journal of Clinical Endocrinology & Metabolism. 94 (5), 1748-1751 (2009).
  6. Park, J. -Y., et al. A proposal for a thyroid imaging reporting and data system for ultrasound features of thyroid carcinoma. Thyroid. 19 (11), 1257-1264 (2009).
  7. Moon, W. -J., et al. Benign and malignant thyroid nodules: US differentiation-Multicenter retrospective study. Radiology. 247 (3), 762-770 (2008).
  8. Park, C. S., et al. Observer variability in the sonographic evaluation of thyroid nodules. Journal of Clinical Ultrasound. 38 (6), 287-293 (2010).
  9. Kim, S. H., et al. Observer variability and the performance between faculties and residents: US criteria for benign and malignant thyroid nodules. Korean Journal of Radiology. 11 (2), 149-155 (2010).
  10. Choi, Y. J., et al. A computer-aided diagnosis system using artificial intelligence for the diagnosis and characterization of thyroid nodules on ultrasound: initial clinical assessment. Thyroid. 27 (4), 546-552 (2017).
  11. Chang, T. -C. The role of computer-aided detection and diagnosis system in the differential diagnosis of thyroid lesions in ultrasonography. Journal of Medical Ultrasound. 23 (4), 177-184 (2015).
  12. Fully convolutional networks for ultrasound image segmentation of thyroid nodules. Li, X. IEEE 20th International Conference on High Performance Computing and Communications; IEEE 16th International Conference on Smart City; IEEE 4th International Conference on Data Science and Systems (HPCC/SmartCity/DSS), , 886-890 (2018).
  13. Nguyen, D. T., Choi, J., Park, K. R. Thyroid nodule segmentation in ultrasound image based on information fusion of suggestion and enhancement networks. Mathematics. 10 (19), 3484(2022).
  14. Ma, J., Wu, F., Jiang, T. A., Zhu, J., Kong, D. Cascade convolutional neural networks for automatic detection of thyroid nodules in ultrasound images. Medical Physics. 44 (5), 1678-1691 (2017).
  15. Song, W., et al. Multitask cascade convolution neural networks for automatic thyroid nodule detection and recognition. IEEE Journal of Biomedical and Health Informatics. 23 (3), 1215-1224 (2018).
  16. Learning from weakly-labeled clinical data for automatic thyroid nodule classification in ultrasound images. Wang, J., et al. 2018 25Th IEEE International Conference on Image Processing (ICIP), , IEEE. 3114-3118 (2018).
  17. Wang, L., et al. A multi-scale densely connected convolutional neural network for automated thyroid nodule classification. Frontiers in Neuroscience. 16, 878718(2022).
  18. Krizhevsky, A., Sutskever, I., Hinton, G. E. Imagenet classification with deep convolutional neural networks. Communications of the ACM. 60 (6), 84-90 (2017).
  19. He, K., Zhang, X., Ren, S., Sun, J. Deep residual learning for image recognition. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. , 770-778 (2016).
  20. Hu, H., Gu, J., Zhang, Z., Dai, J., Wei, Y. Relation networks for object detection. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. , 3588-3597 (2018).
  21. Szegedy, C., et al. Going deeper with convolutions. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. , 1-9 (2015).
  22. Dosovitskiy, A., et al. An image is worth 16x16 words: Transformers for image recognition at scale. arXiv preprint arXiv:2010.11929. , (2020).
  23. Touvron, H., et al. Training data-efficient image transformers & distillation through attention. arXiv:2012.12877. , (2021).
  24. Liu, Z., et al. Swin Transformer: Hierarchical vision transformer using shifted windows. 2021 IEEE/CVF International Conference on Computer Vision (ICCV). , 9992-10002 (2021).
  25. Vaswani, A., et al. Attention is all you need. Advances in Neural Information Processing Systems. 30, (2017).
  26. Chen, J., et al. TransUNet: Transformers make strong encoders for medical image segmentation. arXiv. arXiv:2102.04306. , (2021).
  27. Ren, S., He, K., Girshick, R., Sun, J. Faster r-cnn: Towards real-time object detection with region proposal networks. Advances in Neural Information Processing Systems. 28, 91-99 (2015).
  28. Li, H., et al. An improved deep learning approach for detection of thyroid papillary cancer in ultrasound images. Scientific Reports. 8, 6600(2018).
  29. Lin, T. -Y., et al. Feature pyramid networks for object detection. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. , 2117-2125 (2017).
  30. Ouahabi, A. A review of wavelet denoising in medical imaging. 2013 8th International Workshop on Systems, Signal Processing and their Applications. , 19-26 (2013).
  31. Mahdaoui, A. E., Ouahabi, A., Moulay, M. S. Image denoising using a compressive sensing approach based on regularization constraints. Sensors. 22 (6), 2199(2022).
  32. Castleman, K. R. Digital Image Processing. , Prentice Hall Press. Hoboken, NJ. (1996).
  33. Liu, W., et al. Ssd: Single shot multibox detector. European Conference on Computer Vision. , 21-37 (2016).
  34. Redmon, J., Farhadi, A. Yolov3: An incremental improvement. arXiv. arXiv:1804.02767. , (2018).
  35. Lin, T. -Y., Goyal, P., Girshick, R., He, K., Dollár, P. Focalloss for dense object detection. arXiv. arXiv:1708.02002. , (2017).
  36. Carion, N., et al. End-to-end object detection with transformers. Computer Vision-ECCV 2020: 16th European Conference. , Glasgow, UK. 23-28 (2020).

访问受限。请登录或开始试用以查看此内容。

重印与许可

标签

更快的R-CNN特征金字塔网络自注意力上下文建模CNN基线模型模型敏感性边界框预测