先给结论:只需要知道画面里有哪些类别,选语义分割;要把同类物体一个个分开数清,选实例分割。这两类任务都是人工智能视觉里的基础活儿,命名只差两个字,输出却完全不同,选错任务后面全要返工。
拿一张街景照片举例,语义分割会像铺一层彩色玻璃纸:天空涂一片蓝,马路涂一片灰,行人区域整体涂成同一色。它回答的是「这个像素属于哪一类」,整张图的同类目标共享一层颜色。
语义分割到底在标什么
逐像素打类别标签是它的工作方式:进一张图,出来一张同尺寸的类别图,每个像素带走一个类别号。这个机制让它特别适合路况感知、卫星地块划分这类关心区域、不关心个体的场景,通义千问等支持图像输入的助手也能对上传的图片粗略描述分割后的区域构成,帮助新手建立直观。想快速建立手感,可以把同一张图分别让工具做两种分割,把两张结果图并排放着看:一张是整片同色的区域图,一张是一个个带编号的个体,差异一眼就能看懂。
代价是它分不清「三辆并排的车」和「一辆车」:三辆车在同一类里会糊成一块。如果业务要数数、要逐个跟踪,这一层输出就不够用了。举个直观的例子:把三个行人涂成同一片颜色后,想知道谁离镜头更近、谁举着手,输出里已经找不到答案,这些信息在合并时被丢掉了。
实例分割多做了哪一步
实例分割在类别之上再加一道个体编号:同样是行人,输出会标出行人1、行人2、行人3,每人一圈独立轮廓。相当于在彩色玻璃纸之外,还给每个目标剪出了带编号的剪纸。
多这一步,算力开销和标注成本都会上升,但换来了可数、可跟踪、可逐个度量的能力。做客流统计、细胞计数这类任务,基本绕不开它。另外,实例分割的结果天然带一份个体清单,下游可以直接接统计模块;语义分割的输出还要多一步连通域分析才能数数,环节多一处,误差也多一处。顺带理一下三者的关系:分类管「是什么」,检测管「在哪里」,分割管「每个像素属于谁」,粒度逐级变细,标注成本也逐级上升。新项目从哪一级切入,取决于决策需要精细到什么程度——判断区域可用分类,清点目标需要检测,度量面积和边界就得到分割这一层。
四级任务粒度逐级变细,选哪一级看决策要多精细。
| 任务 | 回答的问题 | 输出粒度 | 标注成本 | 适合的判断 |
|---|---|---|---|---|
| 图像分类 | 是什么 | 整张图一级 | 最低 | 判断区域 |
| 目标检测 | 在哪里 | 逐个目标 | 比分类高一档 | 清点目标 |
| 语义分割 | 每个像素属于谁 | 逐像素,同类合并成一片 | 更高 | 度量面积和边界 |
| 实例分割 | 每个像素属于谁、是哪一个个体 | 逐个体掩码,每个目标带编号 | 最高 | 数数、跟踪、逐个度量 |
五个维度的对照速查
对照速查表:
- 输出单位:前者逐像素类别,后者逐个体掩码
- 能否数数:前者不能,后者能
- 标注成本:前者便宜,后者贵
- 典型场景:路面区域划分对逐人跟踪
- 选型口诀:只问类别选前者,要数个体选后者——这句话可作为每次立项前的第一道自查。
项目里怎么选任务类型
判断顺序建议是:先问业务要不要区分个体,再问要不要精确轮廓,最后看标注预算。只要答出「要数、要跟、要逐个量」中的任意一个,就该往实例分割走;三个都不要,语义分割省钱又省时。拿不准时,把需求原样抛给智谱清言这类助手,让它先复述一遍任务定义,常能暴露理解偏差。还有一条经验:拿三到五张有代表性的样图,先手动画出期望的输出样子,再和两种任务的输出形态对照,哪个接近选哪个,比看任何教程都直观。
顺带一提,如果你的需求更上游——只想知道图里有没有某类东西,那连分割都不用,直接看目标检测和图像分类有什么区别就够了。想继续了解下游的画质处理,可以读图像超分和图像修复有什么区别;关心画面动起来之后的任务,可参考文生视频和图生视频有什么区别;做虚拟形象相关的项目,还能看数字人的录制路线和生成路线差在哪。
关于语义分割和实例分割的三个常问问题
- 它俩能互相替代吗?:不能。前者丢了个体边界,后者补不出更便宜的输出,任务目标定哪个就用哪个。
- 全景分割又是什么?:它把两种思路合到一张图里,可数的个体单独编号,天空马路这类不可数区域整体涂色。
- 标注量大怎么办?:先用大模型预标注再人工修正,是目前省时间最明显的做法,质检环节不要省。


