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采用多分支网络架构,在单一网络中完成核实例分割和分类。网络利用核像素到其质心的水平和垂直距离来分离聚集细胞,同时使用专门的上采样分支对每个分割出的核实例进行分类预测。

该项目提供基于PyTorch的官方实现,支持在多种组织类型的组织学图像上进行训练和应用。项目包含完整的模型代码和预训练权重,这些权重经过CoNSeP、PanNuke、MoNuSAC、Kumar和CPM17等多个数据集的训练验证。

环境配置与安装

基础环境搭建

使用conda环境管理工具快速搭建HoVer-Net运行环境:

conda env create -f environment.yml
conda activate hovernet

环境配置文件包含以下关键依赖:

  • Python 3.6.12
  • OpenSlide用于全片扫描图像处理
  • 完整的Python包依赖列表

依赖包安装

项目requirements.txt包含所有必要的Python包:

  • 图像处理:opencv-python、Pillow、scikit-image
  • 深度学习:tensorboard、tensorboardx
  • 数据增强:imgaug
  • 科学计算:numpy、scipy、pandas

项目结构解析

核心目录说明

  • dataloader/:数据加载器和增强管道
  • models/hovernet/:模型定义、运行步骤和超参数设置
  • run_utils/:定义训练/验证循环和回调函数
  • misc/:包含各种工具函数
  • metrics/:指标计算脚本

主要可执行脚本

  • run_train.py:主训练脚本
  • run_infer.py:用于图像块和全片扫描处理的主推理脚本
  • extract_patches.py:从原始图像中提取块
  • config.py:配置文件

训练流程详解

数据准备

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

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

训练前配置

  1. config.py中设置数据目录路径
  2. config.py中设置检查点保存路径
  3. models/hovernet/opt.py中设置预训练权重路径
  4. 修改超参数,包括周期数和学习率

训练命令示例

查看训练数据集增强效果:

python run_train.py --view='train'

使用GPU 0和1启动训练:

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

网络架构图

推理应用指南

输入数据格式

  • 标准图像文件:png、jpg、tiff
  • OpenSlide支持的全片扫描图像:svs、tif、ndpi、mrxs

输出数据格式

图像块和全片扫描图像输出包含以下信息的json文件:

  • 'bbox':每个核的边界框坐标
  • 'centroid':每个核的质心坐标
  • 'contour':每个核的轮廓坐标
  • 'type_prob':每个核的每类概率
  • 'type':每个核的类别预测

分割效果展示

上图展示了在CoNSeP数据集上训练的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 |

实用技巧与最佳实践

数据预处理优化

合理配置数据提取脚本参数,确保训练数据的质量和多样性。

模型调优策略

根据具体任务需求调整模型参数,在模型配置文件中优化超参数设置。

推理加速方案

利用多GPU并行处理提升计算效率,合理设置批处理大小和工作进程数量。

应用场景

癌症诊断辅助

HoVer-Net在肿瘤细胞识别中表现出色,能够自动标注可疑病变区域,大幅提升诊断效率。

科研数据分析

研究人员可利用该项目批量处理病理切片,生成详细的细胞统计报告,支持学术研究。

药物疗效评估

通过对比治疗前后的细胞形态变化,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

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

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

抵扣说明:

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

余额充值