当前位置: 首页 > news >正文

Boundary-loss 3D距离图计算:WMH数据集预处理与3D-CNN扩展技巧

Boundary-loss 3D距离图计算:WMH数据集预处理与3D-CNN扩展技巧

【免费下载链接】boundary-lossOfficial code for "Boundary loss for highly unbalanced segmentation", runner-up for best paper award at MIDL 2019. Extended version in MedIA, volume 67, January 2021.项目地址: https://gitcode.com/gh_mirrors/bo/boundary-loss

Boundary-loss是GitHub加速计划中一个专注于医学图像分割的开源项目,其核心功能是通过边界损失函数解决高度不平衡分割问题,尤其在3D距离图计算和WMH数据集预处理方面表现出色。本文将详细介绍如何利用Boundary-loss进行3D距离图计算、WMH数据集预处理以及3D-CNN扩展的实用技巧。

一、3D距离图计算核心原理

Boundary-loss的边界损失函数本质上是网络预测(softmax输出)与预计算距离图之间的逐像素乘法,因此距离图的计算是实现边界损失的关键环节。项目中距离图的计算主要通过one_hot2dist函数实现,该函数定义在utils.py中。

距离图的计算需要考虑图像的分辨率信息,在preprocess/slice_wmh.py中可以看到相关代码实现:

distmap: np.ndarray = one_hot2dist(one_hot_gt.numpy(), resolution=(rx, ry, rz), dtype=np.float32)

其中rxryrz分别表示三个维度的分辨率,通过原始图像的物理尺寸计算得到。这种基于分辨率的距离图计算方法能够确保距离值的物理意义准确性,为后续的边界损失计算提供可靠基础。

二、WMH数据集预处理完整流程

WMH(脑白质高信号)数据集的预处理是Boundary-loss项目中的重要环节,主要通过preprocess/slice_wmh.py实现。预处理流程包括以下关键步骤:

2.1 数据加载与分辨率调整

首先加载原始WMH数据,包括FLAIR序列、T1序列和对应的 ground truth 标签。然后根据目标尺寸(通常为256x256)对图像进行重采样,同时计算各维度的分辨率参数。

2.2 3D距离图预计算

在WMH数据集预处理中,3D距离图的计算是核心步骤之一。代码中明确标注了这一过程:

# Pre-compute the 3d distance map rx = dx * w / 256 ry = dy * h / 256 rz = dz one_hot_gt: Tensor = class2one_hot(torch.tensor(resized_gt[None, ...], dtype=torch.int64), K=2)[0] distmap: np.ndarray = one_hot2dist(one_hot_gt.numpy(), resolution=(rx, ry, rz), dtype=np.float32)

这段代码首先将标签转换为one-hot编码格式,然后调用one_hot2dist函数计算3D距离图,并将结果保存到指定目录。

2.3 数据保存与组织

预处理后的数据会被保存到不同的目录中,便于后续模型训练使用:

save_dir_flair: Path = Path(dest_dir, flair_dir) save_dir_t1: Path = Path(dest_dir, t1_dir) save_dir_gt: Path = Path(dest_dir, gt_dir) save_dir_distmap_npy: Path = Path(dest_dir, "3d_distmap")

这种结构化的数据组织方式有助于提高训练过程中的数据读取效率。

三、3D-CNN扩展实用技巧

虽然Boundary-loss项目中主要使用2D网络进行图像分割,但扩展到3D-CNN并不复杂。根据项目文档,扩展到3D-CNN的关键在于以下几点:

3.1 3D距离图计算

扩展到3D-CNN的首要任务是预计算3D距离图。在处理3D体积数据时,最简单的方法是在将3D体积切片为2D图像时计算距离图,如preprocess/slice_wmh.py中所示。对于纯3D处理,可以直接对整个3D体积计算距离图。

3.2 网络结构调整

项目提供了多种网络模型,包括UNet、ResidualUNet等,定义在models/目录下。其中models/unet_3d.py是专门为3D图像分割设计的网络结构,可以直接用于3D-CNN扩展。

3.3 数据预处理适配

3D-CNN需要处理3D体积数据,因此在数据预处理阶段需要调整数据的维度和组织方式。可以参考WMH数据集的预处理流程,将2D处理扩展到3D,确保距离图与输入图像的维度匹配。

四、Boundary-loss分割效果对比

Boundary-loss在医学图像分割中表现出优异的性能,特别是在边界区域的分割准确性上。以下是使用不同损失函数在ACDC数据集上的分割结果对比:

图:ACDC数据集上不同损失函数的分割结果对比。从左到右分别为Ground truth、交叉熵损失(ℒ_CE)、Dice损失(ℒ_DSC)和边界损失(ℒ_B)。边界损失能够更准确地分割对象边界。

另一个对比展示了在脑部图像分割中使用边界损失的效果提升:

图:脑部图像分割结果对比。(a)为Ground truth,(b)为使用GDL损失的分割结果,(c)为使用GDL+边界损失的分割结果。加入边界损失后,小病灶区域的分割准确性明显提高。

五、常见问题与解决方案

5.1 距离图是否需要归一化?

根据项目文档,距离图不需要归一化。距离图是有符号的,对象内部的距离为负值,完美的预测只会累加负距离,这在最小化损失的设置中不是问题。

5.2 如何处理3D数据中的内存问题?

处理3D数据时,内存消耗会显著增加。可以采用分块处理的方法,将3D体积分成多个子块进行处理,如preprocess/slice_wmh.py中所示的切片处理方式。

5.3 距离图计算的效率优化

距离图的计算是预处理阶段的耗时操作。项目中通过在预处理时预先计算距离图并保存为npy文件,避免了在训练过程中重复计算,有效提高了训练效率。

通过本文介绍的3D距离图计算方法、WMH数据集预处理流程和3D-CNN扩展技巧,您可以充分利用Boundary-loss项目进行医学图像分割任务。无论是2D还是3D分割,Boundary-loss的边界损失函数都能帮助您获得更准确的分割结果,特别是在处理高度不平衡的医学图像数据时。

要开始使用Boundary-loss项目,请克隆仓库:git clone https://gitcode.com/gh_mirrors/bo/boundary-loss,然后参考项目中的readme.md获取详细的安装和使用指南。

【免费下载链接】boundary-lossOfficial code for "Boundary loss for highly unbalanced segmentation", runner-up for best paper award at MIDL 2019. Extended version in MedIA, volume 67, January 2021.项目地址: https://gitcode.com/gh_mirrors/bo/boundary-loss

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.jsqmd.com/news/1274365/

相关文章:

  • 企业数字化转型:AI Agent破解系统集成难题
  • MonitorControl:macOS外接显示器控制的终极解决方案
  • 深度剖析想做国内健身房有哪些权威优选公司推荐 - 招财兔数字员工
  • Magpie窗口超分辨率工具:让老旧程序焕然一新的终极指南
  • VC++6.0集成OpenSSL开发库:避坑指南与快速部署方案
  • 5步攻克Winlator性能瓶颈:Android运行Windows游戏的实战优化指南
  • 耐强酸碱工业防化手套品牌测评推荐:安思尔AlphaTec系列为何成为行业 - 博客万
  • 如何在Ember项目中快速集成ember-truth-helpers?5分钟入门教程
  • 石家庄高新区防爆玻璃膜3M防晒玻璃贴膜
  • IPG-UI寄存器映射调试:从自动读取到I2C总线配置实战
  • 深入解析ADC101C021/027寄存器配置与I2C通信实战
  • 嘉兴南湖区漏水检测防水维修优选推荐(2026新)精准测漏不砸砖 - 超人防水
  • TI TMCS1101霍尔电流传感器评估板深度解析与安全实操指南
  • 5分钟掌握PoeCharm汉化版:流放之路角色构建终极指南
  • ColorChord嵌入式开发实战:在STM32与ESP8266上实现音乐可视化
  • 广州本地前沿铝合金染料服务商精选推荐 - 招财兔数字员工
  • 数字电源控制器UCD9246:多相降压转换器的核心机制与工程实践
  • 深入解析BQ41Z50阻抗跟踪算法:锂电池电量精准计量与动态学习机制
  • Disruptor
  • 解锁数字记忆主权:WeChatMsg重塑你的微信聊天数据掌控力
  • RAG系统混合检索架构设计与工程实践
  • 2026-辽宁大宸律师事务所办案笔记 - 行业品牌推荐
  • DataAgent:基于Spring AI的企业级智能数据分析平台
  • Codex桌面端从安装到接入DeepSeek:避坑指南与稳定配置全流程
  • TPS92200同步降压LED驱动器:高效能、灵活调光与电池充电应用全解析
  • 暗黑2存档编辑器终极指南:5分钟学会角色装备修改,告别刷装备烦恼
  • MAI Gateway 速览:马斯克 Altman“和好“,你的 AI 安全谁兜底?
  • 计算机组成原理:从基础架构到性能优化技术
  • TMS570锁相环配置实战:从原理到EMC优化的嵌入式时钟系统设计
  • 基于峰值电流模式与简化模型,系统设计TPS65270环路补偿