返回博客
视觉多模态

U-Net 没有输给新模型:工业视觉里,先定义任务再选择模型

在单类细长区域分割任务里,模型有效性更多取决于任务结构与归纳偏置的匹配,而不是发布时间、参数规模或预训练光环。

📅 2026.05 ⏱️ 8 min 👤 Eric Pan

不是老模型战胜新模型

最近做了一个细长区域分割实验。任务并不复杂:在一个工业视觉场景中,给定图像后稳定输出目标区域的 mask。它不是开放世界检测,也不是多类别实例分割,业务真正需要的是像素级区域提取。

一开始,我把 2015 年的 U-Net 当成经典 baseline,预期它能给出一个参考下限。真正表现更好的,直觉上应该是更新的 YOLO26 系列模型,毕竟后者工程生态成熟,也通常会搭配预训练权重。

但实验现象没有这么线性:U-Net 在没有预训练、从随机初始化训练的情况下,很快进入稳定表现区间;在当前任务上,它并没有明显输给使用预训练权重的新模型。

这不是“老模型战胜新模型”的故事。更准确地说,它提醒我重新看一个问题:工业视觉里的模型有效性,到底来自模型发布时间、参数规模和预训练光环,还是来自任务结构与模型归纳偏置之间的匹配?

先判断输出形式

很多模型选择一开始就被框架牵着走。看到 YOLO,就自然想到框、类别、置信度和实例;看到新模型,就默认它应该比老模型更强。但工业项目首先要问的不是“用哪个模型”,而是“业务到底需要什么输出”。

在这个场景里,目标区域有时是一整条,有时因为遮挡或结构状态变化,看起来像断成两段。但业务并不需要判断两段是不是同一个实例,也不需要给每一段分配独立身份。业务只关心一件事:哪些像素属于目标区域,哪些像素不属于目标区域。

当前任务要的是单类区域 mask,所以它首先是一个语义分割问题,其次才是一个模型选择问题。

细长区域更吃空间定位

U-Net 在这个任务上表现稳定,并不是因为它“更先进”,而是因为它的结构假设很贴近任务形态。它通过编码路径提取上下文,通过解码路径恢复空间分辨率,再用跳跃连接把浅层空间细节带回分割结果。

这对细长结构非常重要。细长目标面积占比小、边界占比高,轻微下采样就可能造成断裂;局部边界偏移、端点丢失、mask 变粗或变细,都可能影响后续业务判断。

U-Net 的价值恰好在这里:它不需要把像素问题包装成对象问题,也不需要引入额外实例抽象。模型优化的方向,和业务需要的输出形式之间几乎没有中间层。

预训练优势为什么没有压倒性转化

这次实验里更值得注意的是,U-Net 没有使用预训练权重,仍然表现不错。这不意味着预训练没用,而是说明预训练的价值是条件性的。

预训练通常提供的是开放视觉世界里的通用先验:边缘、纹理、形状、对象语义和复杂背景理解。对于开放场景、多类别、小数据、复杂背景任务,这些先验很有价值。但工业视觉常常是受控场景:相机位置固定,背景模式有限,目标形态有工程约束,主要变化来自遮挡、光照、反光、模糊、污渍和设备状态。

在这种分布相对窄的任务里,模型未必需要理解整个视觉世界。它只需要在当前数据分布中学会目标区域对应的局部纹理、边界形态和上下文组合。

预训练权重提供的是更好的起点,但不保证更好的终点。当任务结构足够清晰、数据分布足够集中时,一个结构合适、容量适中的经典模型,也可能很快接近当前任务的有效上限。

不要只看总指标

如果要让这个观察更扎实,不能只看 Dice、IoU 或 loss。对于细长区域,总指标很容易掩盖关键错误:少一小段、断一个端点、边界偏一点,面积损失可能不大,但业务影响可能很明显。

更合理的评估方式,是围绕业务风险补充指标和分场景评估。

如果 U-Net 只是在总体指标上接近,但在极端工况下明显弱于新模型,那就应该继续改模型或补数据。如果它在关键子场景里也足够稳定,那它的工程价值就不能只被当作 baseline。

模型选择是一种系统设计

工业视觉最终不是模型比赛,而是系统交付。除了精度,还要比较训练复杂度、推理速度、显存占用、部署链路、后处理成本、错误定位难度和长期维护成本。

模型能力冗余不是免费的。一个能力更广的新模型,如果把输出结构、调参空间、后处理和部署链路都变复杂,却没有在当前任务的关键错误类型上带来明确收益,就未必是更好的工程选择。

这次观察真正有价值的地方,不是“2015 年的 U-Net 还很能打”,而是:当任务被定义清楚之后,很多看似先进的复杂能力,可能并不是必要条件。

最好的模型,不一定是最新的模型。最好的模型,是以最小复杂度稳定完成业务闭环的模型。