在LIDC-IDRI
的数据集中,对于同一个案例,存在多个医生标注的结果。这就导致下面几种情况的出现:
- A医生标注的结节区域,B医生并不一定会标;
- B医生标注的结节,C医生也标注了,但是范围大小存在着交集关系;
- 同时标记,给的特征等级也不一定相同。
此时,就需要对一个案例标注的结节进行处理。可以根据标注次数进行选择,也可以简单粗暴的直接取并集。本文就直接取并集,比较的简单。如果要考虑标记次数,可以参考这篇文章:【3D 图像分割】基于 Pytorch 的 3D 图像分割6(数据预处理之LIDC-IDRI 标签 xml 标签转储及标记次数统计 )。
本文的目标,就是在上一节处理得到的PKL
文件的基础上,获取一个个结节坐标信息,和对应需要处理的某个特征的信息,比如良恶性,比如钙化程度。最终得到一个合并后汇总版的坐标,和对应的等级,具体步骤如下:
- 获取一个个结节信息,包括坐标和等级;
- 对这些结节,根据
IOU
,分成一个个小堆,等着合并用; - 一个堆,一个堆的合并在一起,等级是根据投票少数服从多数;
- 最后把合并后的坐标和等级存储下来,供后续裁剪使用。
一、具体实施 ❤️
实施上述内容的主调用函数如下