【亲测免费】 HoVer-Net:同时进行核实例分割与分类的开源项目教程
1、项目介绍
HoVer-Net 是一个高度创新的深度学习模型,专为同时在H&E染色的病理图像中执行核实例分割和分类而设计。该模型通过利用每个核像素与其质心的水平和垂直距离来有效地分离聚类细胞,并采用专门的上采样分支来对每一个分割出的核实例进行类型预测。HoVer-Net的官方实现基于PyTorch框架,提供了一个强大的工具,支持在多种组织类型的Histology图像上的训练与应用。
该项目不仅包括模型代码,还提供了预训练权重,这些权重经过CoNSeP、PanNuke、MoNuSAC、Kumar和CPM17等多个数据集的训练。此外,它还兼容TensorFlow的原始版本,并且有一个转换脚本,用于将旧有的TensorFlow模型权重转化为PyTorch支持的格式。
2、项目快速启动
首先,确保你的环境满足开发需求:
conda env create -f environment.yml
conda activate hovernet
pip install torch==1.6.0 torchvision==0.7.0
接下来,为了快速启动,你需要设置数据路径和配置文件中的其他必要信息,然后运行训练脚本或推理脚本。例如,若要查看训练数据的增广效果,可以执行:
python run_train.py --view=train
如果你想立即开始训练模型,使用指定GPU:
python run_train.py --gpu='0,1'
对于推断处理,指定模型路径和GPU:
python run_infer.py --model_path=path/to/checkpoint.pth --gpu=0
记得替换path/to/checkpoint.pth为你选择的预训练模型路径。
3、应用案例和最佳实践
应用案例
HoVer-Net广泛应用于病理学研究,特别是癌症诊断和治疗评估。它能够帮助研究人员高效地识别和分析不同类型的肿瘤细胞,从而加速疾病的诊断流程。
最佳实践
- 数据准备:使用
extract_patches.py正确提取并组织训练数据。 - 模型调优:根据具体任务调整模型参数,如学习率、批次大小等,在
models/hovernet/opt.py中进行。 - 验证与测试:定期用未见过的数据验证模型性能,确保泛化能力。
- 可视化:利用
--view选项在训练过程中可视化结果,以监控学习过程和数据增强效果。
4、典型生态项目
虽然HoVer-Net本身构成了核心组件,但其在医疗图像分析领域内激发了多个衍生项目和应用,包括但不限于集成到医疗影像分析工作流的工具和平台中。开发者和研究者可以利用HoVer-Net的功能,结合OpenSlide或其他WSI(全片扫描)处理器,构建起更加复杂的病理分析系统。例如,将HoVer-Net集成到QuPath这样的开源数字病理软件中,可以提升细胞检测和分类的自动化程度,促进临床决策。
通过以上步骤,你可以快速地开始使用HoVer-Net,无论是用于学术研究还是产品开发。这个项目不仅简化了复杂病理图像分析的过程,而且鼓励了医学成像技术的进步和创新。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C0131
let_datasetLET数据集 基于全尺寸人形机器人 Kuavo 4 Pro 采集,涵盖多场景、多类型操作的真实世界多任务数据。面向机器人操作、移动与交互任务,支持真实环境下的可扩展机器人学习00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python059
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
AgentCPM-ReportAgentCPM-Report是由THUNLP、中国人民大学RUCBM和ModelBest联合开发的开源大语言模型智能体。它基于MiniCPM4.1 80亿参数基座模型构建,接收用户指令作为输入,可自主生成长篇报告。Python00