【MICCAI 2023 Challenges :STS-基于3D CBCT的牙齿分割任务】学习记录:使用nnU-Net V2训练自己的数据集

前言


本文是对天池平台发布的【MICCAI 2023 Challenges :STS-基于3D CBCT的牙齿分割任务】比赛进行一个初步总结,主要包含开发过程、训练技巧以及创新思路,对于此次比赛的详细信息可移步官网查看。
提示:开发过程,训练技巧同样适用于其他数据集:


提示:以下是本篇文章正文内容,下面案例可供参考

一、大赛数据简介

主题:在提供的三维CBCT数据集上实现牙齿分割任务。

此项任务基于三维CBCT数据集,任务的核心目标是在三维上分割出牙齿结构。我们将采用Dice、豪斯多夫距离、IOU等评价指标进行评估(评估及得分详细信息见评价指标)。同样地,具体的任务目标可参考下图:

在这里插入图片描述

评价指标:所有参赛选手均需对测试集的所有图像进行牙齿分割,生成对应的二值化mask。我们会对选手所提交的mask与我们的基准mask计算Dice、霍夫距离、IOU。
(1)Dice系数(Dice coefficient)用于评估两个集合的相似度,公式为:
在这里插入图片描述

(2)IoU(Intersection over Union)公式为:
在这里插入图片描述
其中,公式中A表示选手模型预测的mask,B表示Groud Truth的基准mask。

(3)三维豪斯多夫距离是基于体素(voxel)级别的距离度量,公式为:
在这里插入图片描述
其中,(x1, y1, z1)和(x2, y2, z2)表示两个体素的坐标,|x1 - x2|、|y1 - y2|和|z1 - z2|表示对应坐标轴上的距离。

**评分规则:**参赛选手的得分主要依据上述三个评分指标,主要为了便于评分,比赛统一将豪斯多夫距离进行归一化,使其值在0-1之间。最终取三个指标的加权平均,具体的评分公式为:score=0.4∗Dice+0.3∗IOU+0.3∗(1−H(d))


二、开发过程

1.准备nnU-Net V2的开发环境:【nnUNet

(1)进入官网,下载ZIP到本地,或者直接SSH CLone。
在这里插入图片描述
(2)打开服务器终端,创建一个新环境,注意查看官方文档的安装说明!!!!python3.9版本以上

打开终端,创建环境 conda create -n nnUNet python=3.9

安装torch2.0,安装torch慢,直接下载whl文件pip install安装:【whl链接】https://download.pytorch.org/whl/torch_stable.html

实在不会,看此篇教程,博主写的很好:https://blog.csdn.net/i__om/article/details/128773034

下图是我在Linux服务器下安装的版本,仅供参考,具体根据自己需要进行安装;(这图片水印怎么去掉,烦死了),到这里,nnUNet所需的torch环境已安装好,接下来安装nnUNetV2。
在这里插入图片描述


2.安装nnU-Net V2

(1)官网 https://github.com/MIC-DKFZ/nnUNet/blob/master/documentation/installation_instructions.md。根据官网的步骤来安装,打开终端,激活刚刚创建的新环境,按照步骤一步一步来,注意pip install -e .的时候别忘了后面的.(安装的时候一定要保持目录干净,官方的啥样,你的就啥样,如果你在nnUNet提前创建了新的目录,在安装的时候会报错,一定要安装完之后在创建)
在这里插入图片描述

(2)接下来就是数据集准备,创建目录结构,和具体怎么训练、推理的教程,暂时没时间写了,请先移步官方文档,有空会更新。
官方文档说明的很详细,【https://github.com/MIC-DKFZ/nnUNet】按照自己的需求创建(若遇到困难,请进一步搜素如何nnUNetv2的使用教程之类的文章,后续有时间我会继续更新
在这里插入图片描述


3. 一些训练过程和推理过程踩过的坑(耐心等待,有时间就更新)


4. “投机取巧”,不走寻常路(耐心等待,有时间就更新)


5. 比赛提供数据集的处理方式(耐心等待,有时间就更新)


6. 半监督学习在此比赛的表现(耐心等待,有时间就更新)


三、训练技巧(耐心等待,有时间就更新)


四、创新思路(耐心等待,有时间就更新)


五、实验结果对比分析(大概有30条结果,后续更新)


总结(耐心等待,有时间就更新)

完结撒花(提前):