当前位置:网站首页>AI+医疗:使用神经网络进行医学影像识别分析
AI+医疗:使用神经网络进行医学影像识别分析
2022-08-09 21:17:00 【51CTO】

作者: 韩信子@ ShowMeAI
计算机视觉实战系列: https://www.showmeai.tech/tutorials/46
行业名企应用系列: https://www.showmeai.tech/tutorials/63
本文地址: https://www.showmeai.tech/article-detail/298
声明:版权所有,转载请联系平台与作者并注明出处
收藏 ShowMeAI查看更多精彩内容
深度学习+医疗科技
近年高速发展的人工智能技术应用到了各个垂直领域,比如把深度学习应用于各种医学诊断,效果显著甚至在某些方面甚至超过了人类专家。典型的 CV 最新技术已经应用于阿尔茨海默病的分类、肺癌检测、视网膜疾病检测等医学成像任务中。

图像分割
图像分割是将图像按照内容物切分为不同组的过程,它定位出了图像中的对象和边界。语义分割是像素级别的识别,我们在很多领域的典型应用,背后的技术支撑都是图像分割算法,比如:医学影像、无人驾驶可行驶区域检测、背景虚化等。


本文涉及到的深度学习基础知识,及计算机视觉详细知识,推荐大家阅读 ShowMeAI的教程专栏:
语义分割典型网络 U-Net
U-Net 是一种卷积网络架构,用于快速、精确地分割生物医学图像。
关于语义分割的各类算法原理及优缺点对比(包括U-Net), ShowMeAI 在过往文章 深度学习与CV教程(14) | 图像分割 (FCN,SegNet,U-Net,PSPNet,DeepLab,RefineNet) 中有详细详解。
U-Net 的结构如下图所示:

在 U-Net 中,与其他所有卷积神经网络一样,它由卷积和最大池化等层次组成。
- U-Net 简单地将编码器的特征图拼接至每个阶段解码器的上采样特征图,从而形成一个梯形结构。该网络非常类似于 Ladder Network 类型的架构。
- 通过跳跃
拼接连接的架构,在每个阶段都允许解码器学习在编码器池化中丢失的相关特征。 - 上采样采用转置卷积。
使用 U-Net 进行肺部影像分割

我们这里使用到的数据集是 蒙哥马利县 X 射线医学数据集。 该数据集由肺部的各种 X 射线图像以及每个 X 射线的左肺和右肺的分段图像的图像组成。大家也可以直接通过ShowMeAI的百度网盘链接下载此数据集。
实战数据集下载(百度网盘):公众号『ShowMeAI研究中心』回复『实战』,或者点击 这里 获取本文 [10] 使用神经网络进行肺部医学影像识别与分析 『masked montgomery county x-ray set 肺部医学影像数据集』
ShowMeAI官方GitHub: https://github.com/ShowMeAI-Hub

① 工具库导入&环境设置
首先导入我们本次使用到的工具库。
② 数据读取
接下来我们完成数据读取部分,这里读取的内容包括图像和蒙版(mask,即和图片同样大小的标签)。我们会调整维度大小,以便可以作为 U-Net 的输入。
③ 数据切分
我们要对模型的效果进行有效评估,所以接下来我们进行数据划分,我们把全部数据分为训练集、验证集和测试集。具体代码如下:
④ TensorFlow IO准备
我们会使用到 TensorFlow 进行训练和预估,我们用 TensorFlow 读取 numpy array 格式的数据,转为 TensorFlow 的 tensor 形式,并构建方便以 batch 形态读取和训练的 dataset 格式。
⑤ U-Net 网络构建
下面我们构建 U-Net 网络。
⑥ 评估准则与损失函数
我们针对语义分割场景,编写评估准则 IoU 的计算方式,并构建 Dice Loss 损失函数以便在医疗场景语义分割下更针对性地训练学习。
关于IoU、mIoU等评估准则可以查看 ShowMeAI的文章 深度学习与CV教程(14) | 图像分割 (FCN,SegNet,U-Net,PSPNet,DeepLab,RefineNet) 做更多了解。
关于Dice Loss损失函数的解释如下:
Dice 系数
根据 Lee Raymond Dice 命名,是一种集合相似度度量函数,通常用于计算两个样本的相似度(值范围为 ):
表示 和 之间的交集; 和 分别表示 和 的元素个数。其中,分子中的系数 ,是因为分母存在重复计算 和 之间的共同元素的原因。
针对,语义分割问题而言, 为分割图像标准答案 GT, 为分割图像预测标签 Pred。
Dice 系数差异函数(Dice loss)
评估准则与损失函数的代码实现如下:
⑦ 超参数设置与模型编译
接下来在开始模型训练之前,我们先敲定一些超参数,如下:
- 批次大型
batch size = 2 - 学习率
learning rate= 1e-5 - 迭代轮次
epoch = 30
我们使用 Adam 优化器进行训练,使用的评估指标包括 Dice 系数、IoU、召回率和精度。
可以使用model.summary查看模型结构信息与参数量:
结果如下图所示(部分内容截图,全部模型信息较长):

⑧ 回调函数&模型训练
我们在回调函数中设置模型存储相关设置,学习率调整策略等,之后在数据集上进行训练。
训练部分中间信息如下图所示。

在训练模型超过 30 个 epoch 后,保存的模型(验证损失为 0.10216)相关的评估指标结果如下:
dice coef:0.9148iou:0.8441recall:0.9865precision:0.9781val_loss:0.1022val_dice_coef: 0.9002val_iou:0.8198val_recall:0.9629val_precision:0.9577
⑨ 模型加载与新数据预估
我们可以把刚才保存好的模型重新加载入内存,并对没有见过的测试数据集进行预估,代码如下:
部分结果可视化:
下面为2个测试样本的原始图像、原始掩码(标准答案)和预测掩码的组合图像:
测试用例的输入图像(左侧)、原始掩码标签(中间)、预测掩码(右侧)

参考资料
- 实战数据集下载(百度网盘):公众号『ShowMeAI研究中心』回复『实战』,或者点击 这里 获取本文 [10] 使用神经网络进行肺部医学影像识别与分析 『masked montgomery county x-ray set 肺部医学影像数据集』
- ShowMeAI官方GitHub: https://github.com/ShowMeAI-Hub
- 深度学习教程:吴恩达专项课程 · 全套笔记解读: https://www.showmeai.tech/tutorials/35
- 深度学习与计算机视觉教程:斯坦福CS231n · 全套笔记解读: https://www.showmeai.tech/tutorials/37
- 深度学习与CV教程(14) | 图像分割 (FCN,SegNet,U-Net,PSPNet,DeepLab,RefineNet): https://www.showmeai.tech/article-detail/273

边栏推荐
- Access control knowledge
- 【随笔】致19期的小伙伴们
- 编程语言中,取余和取模的区别
- Word第一页不要页眉怎么设置?设置Word首页不要页眉方法教程
- 威纶通触摸屏制作自定义弹出窗口的具体方法(3种)
- LeetCode Daily Question (321. Create Maximum Number)
- MySQL Notes-06 Basic SQL Operations
- Puyuan Jingdian turned losses into profits in the first half of the year, and high-end products continued to develop!Are you optimistic about "Huawei" in the instrument industry?
- mysql多表左链接查询
- Word第一页空白页怎么删除?删除Word第一页空白页方法教程
猜你喜欢

CMake 安装升级更高版本

Jmeter 使用正则表达式提取器将返回值全部保存到一个文件中

buuctf(探险2)

Install Mysql8.0 on windos, and solve the problem of re-login exception ERROR 1045 (28000)

Number of daffodils within a thousand

cadence中复制一部分PCB到另一个PCB中去
![[corctf 2022] 部分](/img/03/ee1ead55805a2ac690ec79c675c3e6.png)
[corctf 2022] 部分

source install/setup.bash时出现错误

matlab neural network ANN classification

Unity2D_背景粒子效果
随机推荐
SecureCRT强制卸载
LoRa Basics无线通信技术和应用案例详解
威纶通触摸屏制作自定义弹出窗口的具体方法(3种)
URL Protocol web page to open the application
hdu 1503 Advanced Fruits(最长公共子序列的应用)
MySQL, which is asked on both sides of the byte, almost didn't answer well
【泛型编程】模板全详解
Access Characteristics of Constructor under Inheritance Relationship
SQL语句及索引的优化
【高效工具】远程控制软件 ToDesk(收藏夹)
Reverse Analysis of Unknown Cryptographic Protocol Based on Network Data Flow
一千以内的水仙花数
Hessian Matrix 海森矩阵
韩国网络安全体系特征与发展前景
智能家居设备安全分析技术综述
别叫我玩,我要考PMP:考PMP选择机构需要了解的那些事儿
DSPE-PEG-Azide, DSPE-PEG-N3, phospholipid-polyethylene glycol-azide can react directly with DBCO
supervisor 命令操作大全「建议收藏」
DSPE-PEG-PDP,DSPE-PEG-OPSS,磷脂-聚乙二醇-巯基吡啶可减少肽的免疫原性
基于Docker构建MySQL主从复制数据库