NOAI 2025 复赛题解|第4题:标签是假的,你发现了吗?

NOAI 2025 复赛题解|第4题:标签是假的,你发现了吗?

本文核心观点
NOAI 2025复赛第4题看似有监督分类,实际标签是无效的——这是一道无监督学习题。核心思路:先发现标签陷阱,再用边缘检测或手动标注解决宫格图识别。

NOAI 2025 复赛题解|第4题:标签是假的,你发现了吗?

NOAI复赛 计算机视觉 / 无监督学习

需要真题、资料,请拉到文末添加艾斯老师微信。

题目回顾

判断一张图片是不是"宫格图"——把多张图拼成格子效果的电商展示图。训练集 1,000 张,RGB,256×256。train.csv 里有标签。

这道题最大的坑

先看标签。train.csv 里的 label 标的是"女装"还是"美妆"

不是"宫格图"还是"非宫格图"。直接拿这个标签训练,你训的是一个"女装 vs 美妆"的分类器,跟宫格图没有半点关系。

这是一道无监督学习题。没有有效标签,你得自己想办法区分宫格图。

发现这个坑 = 及格,没发现 = 0 分 ⚠️

思路一:手动打标签

最朴素的做法:自己看 1,000 张图,手动标注。然后就变成标准的有监督二分类。

宫格图有明显的网格线/拼接痕迹,快速过一遍不难。标注 500 张可能就够训一个不错的模型。比赛时间有限,权衡标注时间和调模型时间。

思路二:边缘检测 + 规则

宫格图最明显的视觉特征:有规则的横线和竖线把图片分成几个区块。

用 Canny 边缘检测 + 霍夫变换找直线,统计横线和竖线的数量。多条横线 + 多条竖线 → 大概率宫格图。

优势:不需要训练,速度极快。劣势:有些宫格图分隔线不明显,有些非宫格图有大量直线。可以作为快速 baseline,或辅助手动打标签。

思路三:无监督特征聚类

用预训练 ResNet18 提取每张图的 512 维特征 → PCA 降维 → KMeans 聚成 2 类 → 看哪个簇是宫格图。

model = models.resnet18(pretrained=True) model.fc = nn.Identity() # 输出512维特征 # 提取特征 → PCA降维 → KMeans聚2类 features = extract_features(dataset, model) pca_features = PCA(n_components=50).fit_transform(features) labels = KMeans(n_clusters=2).fit_predict(pca_features)

理论上优雅,但聚类结果不一定完美对应"宫格/非宫格"。

实战建议:组合方案

比赛时间有限,最稳的策略:

1先用边缘检测快速初筛

2挑 100~200 张人眼核实,纠正错误

3用半自动标签训练一个简单 CNN

4accuracy 不够高再补标注

不要在"纯无监督"上死磕。题目允许手动打标签——如果无监督搞了很久效果不好,切换到手动标注是更务实的选择。

容易踩的坑

坑 1直接用 train.csv 的标签训练

最致命的坑。标签是"女装/美妆",不是"宫格/非宫格"。方向完全错误。

坑 2假设宫格图一定有黑色网格线

有些宫格图的分隔是白色间隙、渐变过渡、甚至没有分隔线。不能只检测黑线。

坑 3验证集没标签,没法本地评估

只能提交到 A 榜看分数。每次提交前多想一步。

区分度在哪

第一道分水岭不是技术,是有没有发现标签是假的

手动打标签 + 简单 CNN → 稳拿不错的分数

边缘检测规则法 → 快速但天花板有限

无监督特征聚类 → 理论优雅但实践不一定好

这道题从审题到解题,每一步都要自己判断——标签能不能用、方法怎么选、时间怎么分配。

微信二维码

扫码备注【NOAI】加交流群