# 当前 data 目录数据集说明 ## 一、文档目的 这份文档只根据当前仓库 `data` 目录中的实际内容编写,不引用外部数据平台说明,也不假设尚未下载的数据存在。目标是回答下面几个实际问题: 1. 当前 `data` 下面到底有哪些超声数据集。 2. 这些数据集从目录结构上看,更像分类、分割,还是混合用途。 3. 哪些数据集更适合直接接入当前 `2D` 半监督超声分割框架。 4. 后续代码实现时,数据加载器应优先兼容哪些目录结构。 本文档与以下文档直接相关: 1. [半监督超声分割方法\_易读版](/home/kekezack/workspace/X_SSL_Net/tmp/docs/半监督超声分割方法_易读版.md) 2. [X*SSL_Net*项目落地与代码改造方案](/home/kekezack/workspace/X_SSL_Net/tmp/docs/X_SSL_Net_项目落地与代码改造方案.md) 3. [训练框架设计说明](/home/kekezack/workspace/X_SSL_Net/tmp/docs/训练框架设计说明.md) --- ## 二、当前 data 目录下实际存在的数据集 当前 `data` 目录下可以直接看到以下数据集根目录: 1. `BUS-BRA` 2. `BUSI` 3. `BUS_UC` 4. `BUS-UCLM` 5. `CCAUI` 6. `DDTI` 7. `OTU_2d` 8. `TG3K` 9. `TN3K` 10. 这些数据集中,大多数从目录命名和文件分布上看,已经包含图像与对应标注,适合继续整理成 `2D` 医学图像分割任务。 --- ## 三、当前数据集的目录级概览 下面的统计只基于当前仓库里已经存在的文件。 | 数据集 | 目录数 | 文件数 | 图像文件数 | 其他说明 | | ---------- | -----: | -----: | ---------: | ------------------------------------------------------------------------------- | | `BUS-BRA` | 10 | 5627 | 5625 | 含 `csv` 文件,目录里同时存在 `Images`、`Masks` 和按分级划分的子目录 | | `BUS-UCLM` | 2 | 1366 | 1366 | 目录非常规整,直接有 `images` 和 `masks` | | `BUSI` | 4 | 1578 | 1578 | 按 `benign`、`malignant`、`normal` 分目录 | | `BUS_UC` | 11 | 3244 | 3244 | 含 `Benign`、`Malignant`、`All` 等层级目录 | | `CCAUI` | 3 | 2200 | 2200 | 有 `US images` 和 `Expert mask images` 命名 | | `DDTI` | 0 | 870 | 480 | 根目录文件平铺,结构不规整,需进一步解析命名关系 | | `OTU_2d` | 2 | 5880 | 5876 | 有 `images` 和 `annotations`,很像标准分割目录 | | `TG3K` | 2 | 7171 | 7170 | 有 `thyroid-image` 和 `thyroid-mask` | | `TN3K` | 4 | 6994 | 6986 | 有 `trainval-image`、`trainval-mask`、`test-image`、`test-mask`,并有少量 `csv` | 从工程角度看,这些数据集已经足够支撑当前项目进入真实数据接入阶段,不再需要只靠随机占位数据做训练框架验证。 --- ## 四、逐个数据集的可用性判断 ## 4.1 BUSI 目录结构: 1. `data/BUSI/Dataset_BUSI_with_GT/benign` 2. `data/BUSI/Dataset_BUSI_with_GT/malignant` 3. `data/BUSI/Dataset_BUSI_with_GT/normal` 从文件命名上看,可以观察到: 1. 原图文件如 `benign (100).png` 2. 掩膜文件如 `benign (100)_mask.png` 3. 某些样本可能有多个掩膜,例如 `_mask_1`、`_mask_2` 这说明: 1. `BUSI` 适合做乳腺超声分割。 2. 数据同时带有病理类别语义,即 `benign`、`malignant`、`normal`。 3. 对当前项目来说,最直接的使用方式是先做二值分割。 4. 若一个样本对应多个掩膜,需要明确是取并集、单独保留,还是只保留主掩膜。 适用性判断: 1. 很适合作为当前项目第一批主实验数据。 2. 很适合半监督设置,因为目录清晰、图像量适中、已有标注。 3. 边界分支也适合在该数据集上验证。 --- ## 4.2 BUS-BRA 当前看到两套明显不同的结构: 1. `data/BUS-BRA/BUSBRA/BUSBRA/Images` 2. `data/BUS-BRA/BUSBRA/BUSBRA/Masks` 3. `data/BUS-BRA/BUSBRA/BUSBRA/bus_data.csv` 4. `data/BUS-BRA/busbra_birads/busbra_birads/2` 5. `data/BUS-BRA/busbra_birads/busbra_birads/3` 6. `data/BUS-BRA/busbra_birads/busbra_birads/4` 7. `data/BUS-BRA/busbra_birads/busbra_birads/5` 从这个结构判断: 1. `Images` 和 `Masks` 这一套更适合直接做分割。 2. `busbra_birads` 这一套更像按 `BI-RADS` 分级组织的图像数据。 3. `csv` 很可能包含病例、分级或元数据映射关系。 适用性判断: 1. 这个数据集很有价值,但第一版接入时建议优先使用 `Images + Masks` 这套结构。 2. `busbra_birads` 目录可以后续作为分类属性、病例级分层或弱监督信息再利用。 3. 需要专门写一个解析器,而不要简单套用通用 `image-mask` 目录规则。 --- ## 4.3 BUS_UC 当前看到的主要结构: 1. `data/BUS_UC/BUS_UC/BUS_UC/Benign` 2. `data/BUS_UC/BUS_UC/BUS_UC/Malignant` 3. `data/BUS_UC/BUS_UC/BUS_UC/All` 脚本扫描结果还显示有类似: 1. `Benign/images` 2. `Benign/masks` 3. `Malignant/masks` 这说明: 1. 这也是一个乳腺超声相关数据集。 2. 目录层级比 `BUSI` 更深,可能需要特别处理路径。 3. 从工程上看,很可能依然可以整理成“图像路径 + 掩膜路径”的标准表。 适用性判断: 1. 适合作为乳腺方向的第二批联合实验数据。 2. 第一版也可接入,但优先级略低于 `BUSI` 和 `BUS-UCLM`,因为目录结构更绕。 --- ## 4.4 BUS-UCLM 目录结构: 1. `data/BUS-UCLM/images` 2. `data/BUS-UCLM/masks` 这个结构是当前所有数据里最干净的一类。 适用性判断: 1. 极适合作为第一版数据加载器接入样板。 2. 很适合先用它验证“真实数据训练链路”。 3. 也很适合作为半监督设置中的一个单源乳腺超声实验集。 如果接下来要快速从随机数据过渡到真实数据,我最推荐优先从这个数据集开始。 --- ## 4.5 CCAUI 目录结构: 1. `data/CCAUI/Common Carotid Artery Ultrasound Images/US images` 2. `data/CCAUI/Common Carotid Artery Ultrasound Images/Expert mask images` 这说明: 1. 这是一个颈总动脉超声图像数据集。 2. 标注命名里直接出现 `Expert mask images`,说明标注来自专家掩膜。 适用性判断: 1. 很适合做二值分割。 2. 目标类型与乳腺、甲状腺不同,更适合后续做跨器官泛化实验。 3. 第一版可以暂时不优先接,但很适合后面做外部验证集或跨域测试。 --- ## 4.6 DDTI 当前看到: 1. `data/DDTI` 下面没有进一步分层子目录 2. 文件数 `870` 3. 图像文件数 `480` 这说明: 1. 一部分文件可能不是图像,而是其他格式标注或辅助文件。 2. 文件是平铺结构,不像 `images/masks` 这种明显配对目录。 适用性判断: 1. 这个数据集值得保留,因为它通常与甲状腺超声任务有关。 2. 但在没有进一步解析命名规则之前,不建议作为第一批接入数据。 3. 后续应单独检查 `DDTI` 的文件名配对方式,再决定数据加载器怎么兼容。 --- ## 4.7 OTU_2d 目录结构: 1. `data/OTU_2d/images` 2. `data/OTU_2d/annotations` 从结构上看,这是一个很标准的图像-标注分离格式。 适用性判断: 1. 适合快速接入。 2. 很适合作为“通用 `image/annotation` 格式”的测试对象。 3. 但从目录命名不能直接判断其具体器官任务,因此在论文主实验里使用前,需要再明确任务定义。 --- ## 4.8 TG3K 目录结构: 1. `data/TG3K/thyroid-image` 2. `data/TG3K/thyroid-mask` 这说明: 1. 这是一个甲状腺超声图像分割数据集。 2. 目录结构非常适合当前任务。 适用性判断: 1. 很适合作为甲状腺方向的第一批主实验数据。 2. 很适合和 `TN3K` 联合使用。 3. 对边界分支和结构感知解码器也很友好。 --- ## 4.9 TN3K 目录结构: 1. `data/TN3K/trainval-image` 2. `data/TN3K/trainval-mask` 3. `data/TN3K/test-image` 4. `data/TN3K/test-mask` 并且目录下还有少量 `csv` 文件。 这说明: 1. 它已经天然带有训练验证与测试划分思路。 2. 是当前项目里最适合直接拿来构建正式实验流程的数据集之一。 适用性判断: 1. 非常适合作为第一版正式甲状腺主实验数据。 2. 很适合做标准的训练/验证/测试流程。 3. 也适合拿来做有监督基线与半监督基线对比。 --- ## 五、当前最适合优先接入的数据集 如果只从当前 `data` 的真实结构出发,不考虑外部信息,我建议优先级如下。 ### 第一优先级:最适合快速接入并跑正式流程 1. `BUS-UCLM` 2. `TG3K` 3. `TN3K` 原因: 1. 目录清晰。 2. 图像与掩膜关系直观。 3. 很适合作为第一版正式数据加载器的适配目标。 ### 第二优先级:适合扩展为更强的主实验 1. `BUSI` 2. `BUS-BRA` 3. `BUS_UC` 原因: 1. 都是乳腺超声方向,有利于同任务多源联合实验。 2. 但目录和命名关系比第一优先级更复杂。 3. 更适合在第一版加载器稳定后再扩展接入。 ### 第三优先级:适合作为补充或外部测试 1. `CCAUI` 2. `DDTI` 3. `OTU_2d` 原因: 1. 任务类型更杂,或目录需要进一步解析。 2. 更适合作为后续扩展实验,而不是当前第一批主流程数据。 --- ## 六、对当前项目最直接的工程建议 基于当前 `data` 目录,下一步数据加载器不要一上来追求“一套代码兼容所有数据”,而应该先分三类: ### 6.1 标准成对目录型 适用数据: 1. `BUS-UCLM` 2. `TG3K` 3. `OTU_2d` 特点: 1. 一套目录放图像 2. 一套目录放掩膜 适合先做一个通用 `paired-folder dataset`。 ### 6.2 预划分训练测试型 适用数据: 1. `TN3K` 特点: 1. 已经分出 `trainval` 和 `test` 2. 更适合按现有划分直接接入 ### 6.3 分类目录 + 掩膜命名匹配型 适用数据: 1. `BUSI` 2. `BUS-BRA` 3. `BUS_UC` 特点: 1. 按病理类别或分级组织 2. 图像与掩膜通过文件名对应 3. 可能一个图像对应多个掩膜 这类数据建议单独写解析器,不要强塞进最简单的数据加载器里。 --- ## 七、推荐的真实数据接入顺序 如果要尽快从当前训练骨架过渡到真实实验,我建议按这个顺序推进: 1. 先接 `BUS-UCLM` 2. 再接 `TN3K` 3. 再接 `TG3K` 4. 然后补 `BUSI` 5. 最后再扩展 `BUS-BRA` 和 `BUS_UC` 这样做的好处是: 1. 先用最规整的数据把真实训练链路跑通。 2. 再用更复杂的数据逐步提高数据加载器兼容性。 3. 避免一开始被多个特殊命名规则拖慢。 --- ## 八、对论文与文档写作的影响 由于当前仓库里已经真实存在多套乳腺超声和甲状腺超声数据,这意味着: 1. 论文主实验完全可以不再只停留在“方法设计”阶段。 2. 可以明确规划单数据集实验和多数据集联合实验。 3. 也可以自然设计跨数据集泛化测试。 比较适合当前项目的实验路线是: 1. 单数据集验证:`BUS-UCLM` 或 `TN3K` 2. 同任务多源联合:`BUSI + BUS-BRA + BUS_UC + BUS-UCLM` 3. 甲状腺方向联合:`TG3K + TN3K` 4. 跨器官外测:`CCAUI` --- ## 九、结论 只看当前 `data` 目录,当前项目已经拥有一批可以直接支持 `2D` 超声图像分割的数据资源,而且其中至少有三类数据集已经足够规整,可以马上进入真实数据接入阶段: 1. `BUS-UCLM` 2. `TN3K` 3. `TG3K` 如果目标是尽快把当前半监督分割骨架从“随机占位数据”推进到“真实数据训练”,最优先应做的是: 1. 为 `BUS-UCLM` 写第一版真实数据集加载器 2. 为 `TN3K` 写带现成划分的加载器 3. 再逐步兼容 `BUSI`、`BUS-BRA`、`BUS_UC` 这类更复杂目录 这比继续抽象讨论“未来可能有哪些数据集”更有价值,也更符合当前仓库实际状态。