【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条结果,后续更新)
总结(耐心等待,有时间就更新)
完结撒花(提前):