# xuniranse-3759 **Repository Path**: haobinjun/xuniranse-3759 ## Basic Information - **Project Name**: xuniranse-3759 - **Description**: AIC 2026 算法挑战赛道 赛题五 基于虚拟染色的免疫组化图像生成(3759)复赛方案与代码 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-05 - **Last Updated**: 2026-10-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 交付说明(README) **赛题**:2026 AIC 第八届全球校园人工智能算法精英大赛 · 算法挑战赛道 · 赛题五「基于虚拟染色的免疫组化图像生成」(编号 3759) **参赛编号**:AIC-2026-44947989 | **团队名称**:码上云开工 | **队长**:王佳怡 **阶段**:复赛 --- ## 一、交付清单 | # | 内容 | 位置 | 说明 | |---|---|---|---| | 1 | **测试集输出结果** | `AIC-2026-44947989-赛题结果文档/submission_mtfull_1marker_CD45RO_rgb.zip` | 560 张 8-bit RGB JPEG,结构 `results/test/CD45RO/<原名>_fake.jpg` | | 2 | **技术方案(PDF)** | `AIC-2026-44947989-技术方案.PDF` | 15 页,正文约 7600 汉字 | | 3 | 技术方案源文件 | `AIC-2026-44947989-技术方案.md` | 报告 Markdown 源(PDF 的可编辑版本,便于评审核对) | | 4 | 架构图 | `AIC-2026-44947989-技术方案-架构图.svg` | 技术方案图 1 的矢量源文件 | | 5 | **算法代码** | `AIC-2026-44947989-代码与数据/` | 训练 + 模型 + 打包 + 评测,共 5 个 .py | | 6 | **模型权重** | `AIC-2026-44947989-模型文件/CD45RO.pt`(54.7 MB) | 最终交付模型,单输出,一个 checkpoint | | 7 | **运行环境说明** | `AIC-2026-44947989-代码与数据/环境说明与复现步骤.md` + `requirements.txt` | 含逐步复现命令 | | 8 | 结果文档说明 | `AIC-2026-44947989-赛题结果文档/结果文档说明.md` | 说明该结果对应排行榜最高分,含复现命令 | | 9 | 报告构建脚本 | `AIC-2026-44947989-代码与数据/build_report.py` | 由 Markdown 生成报告 HTML,体现报告本身可复现 | ## 二、最终成绩 | 项目 | 数值 | |---|---| | **官方评测综合得分(排行榜最高分)** (截至 2026-10-05 20:00 定榜) | **78.4041** | | **定榜名次** | **第 109/161(68 百分位)→ 复赛三等奖区间** | | 半决赛推荐线(一、二等奖,前 40%) | 78.6387 — 差 0.235,**未进入半决赛** | | 复赛基准线 | 69.3(超出 8.1 分) | | 最终提交标记 | CD45RO(单标记) | | 真实 SSIM / PSNR | **0.892907 / 26.501 dB** | | 模型规模 | 14.31 M 参数 / 54.7 MB | | 输出校验 | 缺失图 0、异常图 0、输出数 1、标记正确识别 | 按赛题"多输出取平均、最低可只提交 1 种标记"的规则,我们只提交预测质量最高的 CD45RO 单标记。 ## 三、交付物自洽性验证(已执行) 交付审查最关心"报告、代码、权重、结果"四者是否自洽。我们做了如下验证并留档: 1. **权重可加载且与报告描述一致**:`make_sub.py` 读 `模型文件/CD45RO.pt` 后自动探测出 `base=64 norm=gn in_ch=1 params=14.31M`,与报告 2.2 节一致; 2. **交付物可复现最高分结果**:用**交付目录内的代码 + 交付目录内的模型**在官方测试输入上重新推理,产出 560 张图; 3. **逐位一致性**:将上述 560 张图与 `赛题结果文档` 中实际取得 78.4041 的压缩包逐张比对 MD5 —— **560/560 完全相同,0 张不同**。 ``` 提交的图 : 560 复现的图 : 560 逐字节相同 : 560 不同 : 0 ``` ## 四、模型说明(重要) 交付的 `CD45RO.pt` **是一个标准的单输出模型**,不是集成、不是多模型、只有一个 checkpoint。 它来自一次**多任务训练**:共享的 ImageNet 预训练 ResNet-18 编码器 + 四个输出头(同时学习 HLA-DR / CD45RO / Vimentin / CD68),损失为四个标记损失之和。训练结束后,我们只保留 CD45RO 对应的输出通道(`head.weight[0:1]`、`head.bias[0:1]`),因此: - 交付物满足赛题"仅一个最终模型、仅一个 checkpoint"的要求; - 打包与推理流程与普通单输出模型完全一致,无需任何特殊处理; - 多任务训练的作用是给共享编码器提供 4 倍监督信号(实测留出 +0.0011 SSIM),**不是**在推理阶段融合多个模型。 同目录的 `CD45RO.pt.norm` 是训练程序自动写出的配置说明(输入归一化方式、主干类型、通道数、归一化层类型),由打包脚本自动读取,用于消除"训练端与推理端预处理不一致"的风险。 ## 五、复现方式(最短路径) ```bash # 1. 依赖 pip install -r AIC-2026-44947989-代码与数据/requirements.txt # 2. 出包(使用交付的模型,约 40 秒) python AIC-2026-44947989-代码与数据/make_sub.py \ --test_dapi /test/DAPI \ --ckpt_dir AIC-2026-44947989-模型文件 \ --out results --markers CD45RO --tta 1 --rgb 1 --quality 95 # 3. 训练复现(可选;全量 2380 张 / 80 轮 / RTX 5090 约 25 分钟) python AIC-2026-44947989-代码与数据/exp.py --data /train \ --markers CD45RO,HLA-DR,Vimentin,CD68 --multitask --mt_channel 0 \ --backbone resnet18 --in_ch 1 --base 64 --norm gn \ --loss ssim_l1 --w_ssim 1.0 --w_l1 0.5 \ --lr 1e-3 --wd 1e-5 --batch 8 --epochs 80 \ --deterministic --save_last \ --save CD45RO.pt --out CD45RO.json --log train.log ``` ## 六、合规要点(对应技术方案 1.4 / 2.5 节) - 训练、验证、推理**仅使用赛事官方发布的复赛数据集**;模型编码器使用 **ImageNet 公开预训练权重**作为初始化(符合赛题规则 I.11),未使用任何外部病理/IHC 数据训练或微调; - 随机种子固定 **2026**,并启用确定性内核,同配置逐位可复现; - 训练集与验证集为 **ROI 级隔离**;测试集 4 个 ROI(017/025/053/095)与训练集 17 个 ROI 完全不相交,无数据泄漏; - 推理仅使用**一个最终模型结构 + 一个最终 checkpoint**;TTA 为同一 checkpoint 的固定几何变换(4 向翻转)且**等权平均**,预测后逆变换回原坐标; - **无任何预测后处理**(无阈值/二值化、无形态学操作、无去噪/平滑/锐化、无 Gamma/亮度/对比度调整、无直方图匹配、无 CLAHE、无人工修正); - 未使用 Test-Time Training / Adaptation,未在测试阶段更新任何归一化层统计量; - 未使用测试集标签或其衍生信息进行训练、调参或后处理。