使用训练分类网络预处理多分辨率图像

简介: 说明如何准备用于读取和预处理可能不适合内存的多分辨率全玻片图像 (WSI) 的数据存储。肿瘤分类的深度学习方法依赖于数字病理学,其中整个组织切片被成像和数字化。生成的 WSI 具有高分辨率,大约为 200,000 x 100,000 像素。WSI 通常以多分辨率格式存储,以促进图像的高效显示、导航和处理。读取和处理WSI数据。这些对象有助于使用多个分辨率级别,并且不需要将图像加载到核心内存中。此示例演示如何使用较低分辨率的图像数据从较精细的级别有效地准备数据。可以使用处理后的数据来训练分类深度学习网络。

​一、前言
此示例说明如何准备用于读取和预处理可能不适合内存的多分辨率全玻片图像 (WSI) 的数据存储。
肿瘤分类的深度学习方法依赖于数字病理学,其中整个组织切片被成像和数字化。生成的 WSI 具有高分辨率,大约为 200,000 x 100,000 像素。WSI 通常以多分辨率格式存储,以促进图像的高效显示、导航和处理。
读取和处理WSI数据。这些对象有助于使用多个分辨率级别,并且不需要将图像加载到核心内存中。此示例演示如何使用较低分辨率的图像数据从较精细的级别有效地准备数据。可以使用处理后的数据来训练分类深度学习网络。
二、下载Camelyon16数据集
此示例使用 Camelyon16的WSI。该数据包含来自两个独立来源的总共400个淋巴结WSI,分为270张训练图像和130张测试图像。WSI以剥离格式存储为TIF文件,具有11级金字塔结构。
训练数据集由正常淋巴结的 159 个 WSI 和肿瘤和健康组织的淋巴结的 111 个 WSI 组成。病变边界的地面真实坐标伴随肿瘤图像。
指定为数据的目标位置。数据集的大小约为 451 GB。
要下载训练数据,请访问Camelyon17网站,然后单击第一个“CAMELYON16数据集”链接。
三、创建对象以管理 WSI 映像
获取正常和肿瘤训练图像的文件名。正常组织的训练图像之一“normal_144.tif”缺少推断图像物理范围所需的重要元数据。排除此文件。
创建两个块图像对象数组,一个用于正常图像,一个用于肿瘤图像。每个对象都指向磁盘上的相应映像文件。
为了更好地了解训练数据,请显示正常组织的阻塞图像。粗分辨率级别的图像足够小,可以放入内存中,因此您可以使用帮助程序函数直观地检查图像浏览器应用程序中的数据。此帮助程序函数作为支持文件附加到示例。请注意,图像包含大量空白区域,并且组织仅占据图像的一小部分。这些特征是WSI的典型特征。
更深入地探索单曲。选择要可视化的肿瘤样本图像,然后使用 bigimageshow 功能显示图像。该功能根据屏幕尺寸和当前缩放级别自动选择分辨率级别。
1.png
放大至感兴趣区域。分辨率级别会自动增加以显示更多细节。
2.png
四、对齐空间范围
使用多分辨率影像的多个分辨率级别时,每个级别的空间范围必须匹配。如果空间范围对齐,则可以在粗分辨率级别提取掩膜等信息,并将其正确应用于更精细分辨率级别的匹配位置。
在每个分辨率水平上检查样品肿瘤图像的尺寸。级别 1 具有最多的像素,并且是最好的分辨率级别。级别 10 具有最少的像素,并且是最粗糙的分辨率级别。纵横比不一致,这通常表示关卡不跨越相同的世界区域。
3.png
五、创建组织面膜
典型WSI的大部分由背景像素组成。要有效地处理 WSI 数据,您可以从粗分辨率级别创建感兴趣区域 (ROI) 掩码,然后将更精细分辨率级别的计算限制为 ROI 内的区域。
选择掩码级别时,请考虑以下两个因素:
此示例使用粗分辨率级别为正常组织的训练图像创建遮罩。
背景均匀浅。您可以通过简单的阈值操作分割组织。使用函数以逐块方式将阈值应用于所有正常训练图像。通过指定名称-值参数将结果保存到磁盘。
组织面膜只有一个级别,并且足够小以适合记忆。使用帮助程序功能在图像浏览器应用程序中显示组织蒙版。
4.png
根据概述,选择一个以进一步评估组织面膜的准确性。显示使用大图像功能。使用显示标签功能将蒙版显示为叠加层。使用名称-值参数设置每个像素的透明度。对于 ROI 内的像素,标签是完全透明的。对于 ROI 之外的像素,标签部分透明,并以绿色色调显示。
5.png
放大以检查感兴趣区域。
6.png
六、创建肿瘤掩膜
在肿瘤图像中,ROI由肿瘤组织组成。肿瘤组织的颜色与健康组织的颜色相似,因此不能使用颜色分割技术。相反,通过使用伴随肿瘤图像的病变边界的地面真实坐标来创建ROI。这些区域是手绘的,最精细。
显示肿瘤边界.为了更好地了解肿瘤训练数据,请阅读真实边界坐标,并使用辅助函数将坐标显示为手绘 ROI。此帮助程序函数作为支持文件附加到示例。请注意,正常区域(用绿色边界显示)可能发生在肿瘤区域内。
7.png

目录
相关文章
|
1月前
|
机器学习/深度学习 PyTorch 算法框架/工具
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
这篇文章介绍了如何使用PyTorch框架,结合CIFAR-10数据集,通过定义神经网络、损失函数和优化器,进行模型的训练和测试。
86 2
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
|
1月前
|
机器学习/深度学习 数据可视化 计算机视觉
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
这篇文章详细介绍了如何通过可视化深度学习中每层特征层来理解网络的内部运作,并使用ResNet系列网络作为例子,展示了如何在训练过程中加入代码来绘制和保存特征图。
56 1
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
|
1月前
|
网络协议
计算机网络的分类
【10月更文挑战第11天】 计算机网络可按覆盖范围(局域网、城域网、广域网)、传输技术(有线、无线)、拓扑结构(星型、总线型、环型、网状型)、使用者(公用、专用)、交换方式(电路交换、分组交换)和服务类型(面向连接、无连接)等多种方式进行分类,每种分类方式揭示了网络的不同特性和应用场景。
|
8天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
利用Python和TensorFlow构建简单神经网络进行图像分类
利用Python和TensorFlow构建简单神经网络进行图像分类
27 3
|
28天前
|
机器学习/深度学习 Serverless 索引
分类网络中one-hot的作用
在分类任务中,使用神经网络时,通常需要将类别标签转换为一种合适的输入格式。这时候,one-hot编码(one-hot encoding)是一种常见且有效的方法。one-hot编码将类别标签表示为向量形式,其中只有一个元素为1,其他元素为0。
30 3
|
9天前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习的奇迹:如何用神经网络识别图像
【10月更文挑战第33天】在这篇文章中,我们将探索深度学习的奇妙世界,特别是卷积神经网络(CNN)在图像识别中的应用。我们将通过一个简单的代码示例,展示如何使用Python和Keras库构建一个能够识别手写数字的神经网络。这不仅是对深度学习概念的直观介绍,也是对技术实践的一次尝试。让我们一起踏上这段探索之旅,看看数据、模型和代码是如何交织在一起,创造出令人惊叹的结果。
19 0
|
1月前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
46 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
|
2月前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
90 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
1月前
|
机器学习/深度学习 算法 TensorFlow
深度学习笔记(五):学习率过大过小对于网络训练有何影响以及如何解决
学习率是深度学习中的关键超参数,它影响模型的训练进度和收敛性,过大或过小的学习率都会对网络训练产生负面影响,需要通过适当的设置和调整策略来优化。
271 0
深度学习笔记(五):学习率过大过小对于网络训练有何影响以及如何解决
|
1月前
|
机器学习/深度学习 PyTorch 算法框架/工具
深度学习入门案例:运用神经网络实现价格分类
深度学习入门案例:运用神经网络实现价格分类