HoVer-Net医学图像分析:核实例分割与分类的完整指南

HoVer-Net医学图像分析:核实例分割与分类的完整指南

【免费下载链接】hover_net Simultaneous Nuclear Instance Segmentation and Classification in H&E Histology Images. 【免费下载链接】hover_net 项目地址: https://gitcode.com/gh_mirrors/ho/hover_net

HoVer-Net是一个创新的深度学习模型,专门用于在H&E染色的病理图像中同时执行核实例分割和分类。该模型利用核像素到其质心的水平和垂直距离来有效分离聚集细胞,并采用专门的上采样分支对每个分割的核实例进行类型预测。

项目概述

HoVer-Net采用多分支网络架构,能够在单个网络中完成核实例分割和分类任务。该模型通过创新的距离编码技术,在密集细胞群中实现精准分离,为医学图像分析提供了强大的解决方案。

环境配置

项目提供完整的环境配置文件,可以通过以下命令快速搭建开发环境:

conda env create -f environment.yml
conda activate hovernet
pip install torch==1.6.0 torchvision==0.7.0

上述配置将安装PyTorch 1.6版本和CUDA 10.2支持。

项目结构

该项目具有清晰的目录结构,主要包含以下核心组件:

  • dataloader/:数据加载器和增强管道
  • docs/:项目中使用的图片和GIF文件
  • metrics/:指标计算脚本
  • misc/:实用工具函数
  • models/:模型定义、主要运行步骤和超参数设置
  • run_utils/:定义训练/验证循环和回调函数

主要可执行脚本包括:

  • config.py:配置文件
  • dataset.py:定义数据集类
  • extract_patches.py:从原始图像中提取补丁
  • compute_stats.py:主要指标计算脚本
  • run_train.py:主要训练脚本
  • run_infer.py:用于图块和WSI处理的主要推理脚本

训练流程

数据准备

对于训练,必须使用extract_patches.py脚本提取补丁。对于实例分割,补丁存储为4维numpy数组,通道为[RGB, inst],其中inst是实例分割的真实标签。

对于同时进行实例分割和分类,补丁存储为5维numpy数组,通道为[RGB, inst, type],其中type是核类型的真实标签。

训练前配置

开始训练前需要进行以下配置:

  • config.py中设置数据目录路径
  • config.py中设置检查点保存路径
  • models/hovernet/opt.py中设置预训练的Preact-ResNet50权重路径
  • models/hovernet/opt.py中修改超参数,包括训练轮数和学习率

训练命令

查看数据增强效果:

python run_train.py --view=train

使用多GPU进行训练:

python run_train.py --gpu='0,1'

推理应用

输入输出格式

输入支持:

  • 标准图像文件,包括png、jpg和tiff格式
  • OpenSlide支持的WSI文件,包括svs、tif、ndpi和mrxs格式

输出格式:

  • 图像图块和全片图像都输出json文件,包含以下键:
    • 'bbox':每个核的边界框坐标
    • 'centroid':每个核的质心坐标
    • 'contour':每个核的轮廓坐标
    • 'type_prob':每个核的各类别概率
    • 'type':每个核的类别预测

推理命令

基本推理命令格式:

python run_infer.py --model_path=<checkpoint_path> --gpu=0

项目提供了两个示例可执行脚本:一个用于图块处理,一个用于WSI处理。要运行这些脚本,首先使用chmod +x run_tile.shchmod +x run_wsi.sh使其可执行,然后使用./run_tile.sh./run_wsi.sh运行。

模型权重

项目提供多种预训练模型权重,包括:

  • 分割和分类模型: CoNSeP、PanNuke、MoNuSAC
  • 仅分割模型: CoNSeP、Kumar、CPM17

可视化效果

核分割效果

上图展示了在CoNSeP数据集上训练的HoVer-Net的叠加结果。核边界的颜色表示核的类型:

  • 蓝色:上皮细胞
  • 绿色:炎性细胞
  • 红色:梭形细胞
  • 青色:其他类型

技术特点

模型模式

HoVer-Net支持两种模型模式:

  • 'original'模式:原始医学图像分析论文中描述的方法,使用270x270补丁输入和80x80补丁输出
  • 'fast'模式:使用256x256补丁输入和164x164补丁输出

重要提示: Kumar、CPM17和CoNSeP的检查点来自我们的原始出版物,因此必须使用'original'模式。对于PanNuke和MoNuSAC,必须选择'fast'模式。

数据集支持

HoVer-Net支持多个主流病理图像数据集,包括CoNSeP、PanNuke、MoNuSAC、Kumar和CPM17数据集。

性能对比

与原始TensorFlow实现相比,PyTorch版本在性能上保持了高度一致性:

在Kumar数据集上的分割结果: | 平台 | DICE | PQ | AJI | |-----------|--------|--------|--------| | TensorFlow | 0.8258 | 0.5971 | 0.6412 | | PyTorch | 0.8211 | 0.5904 | 0.6321 |

在CoNSeP数据集上的分割结果: | 平台 | DICE | PQ | AJI | |-----------|--------|--------|--------| | TensorFlow | 0.8525 | 0.5477 | 0.5995 | | PyTorch | 0.8504 | 0.5464 | 0.6009 |

应用场景

HoVer-Net在医学图像分析领域具有广泛的应用前景:

  • 癌症诊断: 帮助识别和分析不同类型的肿瘤细胞
  • 治疗评估: 监测治疗效果和疾病进展
  • 病理研究: 为细胞生物学研究提供定量分析工具

最佳实践

  1. 数据预处理: 使用extract_patches.py脚本正确提取训练数据
  2. 参数调优: 根据具体任务在models/hovernet/opt.py中调整超参数
  3. 模型验证: 定期使用未见过的数据验证模型性能
  4. 可视化监控: 利用--view选项在训练过程中监控学习进展

通过本指南,您可以快速掌握HoVer-Net的使用方法,无论是用于学术研究还是产品开发,这个项目都能为您的病理图像分析项目提供强大的技术支持。

【免费下载链接】hover_net Simultaneous Nuclear Instance Segmentation and Classification in H&E Histology Images. 【免费下载链接】hover_net 项目地址: https://gitcode.com/gh_mirrors/ho/hover_net

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

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值