# VinBigData 结构图 这份结构图描述当前仓库的主流程、各 notebook 职责,以及它们之间的输入输出关系。 ## 1. 总体流水线 ```mermaid flowchart LR A[官方比赛数据
train.csv / test dicom] --> B[图像预处理数据集
256 / 512 / 1024 PNG] B --> C[yolov5-chest-512.ipynb
主检测流程] A --> C B --> D[vinbigdata-2-class-classifier-complete-pipeline.ipynb
normal / abnormal 二分类] A --> D C --> E[14 类异常检测结果] D --> F[test_pred.csv / valid_pred.csv
整图 normal 概率] E --> G[后处理逻辑
Keep / Add / Replace] F --> G G --> H[submission.csv] H --> I[ensemble-of-best-public-notebooks.ipynb
轻量 2-class 再过滤] F --> I I --> J[postprocessed submission.csv] H --> K[ensembling-approach.ipynb
多 submission 融合] J --> K K --> L[final submission.csv] ``` ## 2. Notebook 职责图 ```mermaid flowchart TD A[yolov5-chest-512.ipynb] --> A1[读取比赛数据] A --> A2[MultilabelStratifiedKFold 分 fold] A --> A3[生成 YOLO 标签] A --> A4[调用检测模型推理] A --> A5[结合整图分类做后处理] A --> A6[导出 submission.csv] B[vinbigdata-cxr-ad-yolov5-14-class-infer.ipynb] --> B1[加载 best.pt] B --> B2[运行 detect.py] B --> B3[YOLO 坐标转回比赛格式] B --> B4[纯检测 baseline submission] C[vinbigdata-2-class-classifier-complete-pipeline.ipynb] --> C1[构造 normal / abnormal 标签] C --> C2[StratifiedKFold 训练] C --> C3[导出 valid_pred.csv] C --> C4[导出 test_pred.csv] C --> C5[按阈值修正检测 submission] D[ensemble-of-best-public-notebooks.ipynb] --> D1[读取已有 submission] D --> D2[读取 2-class 概率] D --> D3[Keep / Add / Replace] E[ensembling-approach.ipynb] --> E1[读取多个 submission] E --> E2[按图片拆分 PredictionString] E --> E3[top-n 保留] E --> E4[同类框平均融合] ``` ## 3. 关键后处理决策 ```mermaid flowchart TD A[输入: 一张图的检测结果 + class0 概率] --> B{normal 概率阈值} B -->|p < low_threshold| C[Keep
保留检测结果] B -->|low_threshold <= p < high_threshold| D[Add
保留检测结果并追加 class 14] B -->|p >= high_threshold| E[Replace
替换为 14 1 0 0 1 1] ``` ## 4. 代码层面的对应关系 - 主检测流程:`yolov5-chest-512.ipynb` - 纯检测推理:`vinbigdata-cxr-ad-yolov5-14-class-infer.ipynb` - 二分类与后处理:`vinbigdata-2-class-classifier-complete-pipeline.ipynb` - 轻量再过滤:`ensemble-of-best-public-notebooks.ipynb` - 多结果融合:`ensembling-approach.ipynb` ## 5. 适合怎么用 - 想先理解全局:先看“总体流水线” - 想找每个 notebook 的职责:看“Notebook 职责图” - 想单独复现提分逻辑:看“关键后处理决策”