开放词汇分割
可以把“开放词汇分割(Open-Vocabulary Segmentation)”理解成:让计算机不仅能认识训练时见过的东西,还能根据人给它的新名字去找和分割对应的东西。
我先用大白话解释,再解释遥感里的开放词汇分割。
1. 传统语义分割是什么?
假设你训练一个道路提取模型。
训练时告诉它:
这是道路
这是建筑
这是树
模型学会以后,看到新图片:
道路
─────────────
房子 树
它可以输出:
道路 → 类别1
建筑 → 类别2
树 → 类别3
但是问题来了:
如果有一天你问它:
“帮我找出图里的充电桩。”
如果训练数据里没有“充电桩”这个类别,它通常会:
❌ 不认识
❌ 不能分割
❌ 只能把它归到“其他”
原因很简单:
传统模型是:
训练的时候见过什么,就只能认识什么。
这叫封闭词汇分割(Closed-Vocabulary Segmentation)。
2. 什么是开放词汇分割?
开放词汇分割就是:
模型不用提前知道所有类别,你给它一个文字描述,它可以根据这个描述找到图像中的目标并分割出来。
例如:
你输入一句话:
“找出所有红色汽车”
模型看图:
道路
----------------
🚗 🚙 🚗
树 房子
输出:
汽车区域:
████
████
换一个词:
“找出消防车”
即使模型以前没有专门训练“消防车”类别,只要它理解:
消防车 ≈ 红色车辆 ≈ truck/car
也可能找到。
所以开放词汇的核心是:
图像理解能力 + 语言理解能力结合。
3. 它为什么能做到?
关键技术来自近年来的视觉语言大模型。
例如:
OpenAI 的 CLIP 思想。
简单说:
CLIP 做了一件事:
让计算机知道:
图片 文字
------------------------
一只狗 ≈ "a dog"
汽车 ≈ "a car"
飞机 ≈ "an airplane"
它学习了:
图片里面有什么,文字怎么描述它。
于是:
图片:
🚜
文字:
"tractor"
模型计算:
图片特征 ----\
> 相似度
文字特征 ----/
发现匹配:
于是知道:
这里可能是拖拉机。
4. 开放词汇分割 = 找东西 + 画边界
注意:
CLIP只能说:
这张图里面有汽车。
但是不能告诉你:
汽车在哪里。
所以开放词汇分割需要两步:
第一步:理解文字
例如输入:
"building"
模型知道:
building =
建筑物
第二步:像素级定位
模型找到:
原图:
🏢
███████
███████
输出:
mask:
00000000
00111100
00111100
00000000
这就是分割。
5. 常见开放词汇分割模型
目前比较典型:
| 模型 | 特点 |
|---|---|
| CLIP | 图文理解基础 |
| SAM | 强大的目标分割能力 |
| Grounding DINO | 文字找目标 |
| LSeg | 开放词汇语义分割 |
| OpenSeg | 开放类别分割 |
| SEEM | 统一视觉交互分割 |
| SAM + CLIP | 现在非常常见组合 |
一个典型流程:
文字:
"bridge"
↓
Grounding DINO
找桥的位置
↓
SAM
生成桥的精确轮廓
↓
输出:
桥区域mask
6. 那什么是遥感开放词汇分割?
把上面的图片换成:
卫星影像、航空影像、无人机影像
就是:
利用自然语言描述,在遥感影像中寻找和分割目标。
例如:
输入:
"solar panels"
模型自动找到:
卫星图:
-----------------
建筑
████████
太阳能板
道路
-----------------
输出:
太阳能板区域。
7. 为什么遥感需要开放词汇分割?
因为遥感目标太多。
传统遥感分类:
训练类别:
建筑
道路
水体
植被
但是实际应用:
你可能突然需要:
-
光伏板
-
风力发电机
-
塑料大棚
-
废弃矿坑
-
军事设施
-
集装箱
-
临时建筑
-
桥梁
-
港口设施
如果每一种都重新采集数据训练:
成本巨大。
开放词汇希望:
只输入:
"greenhouse"
模型直接找:
大棚在哪里?
8. 一个遥感开放词汇分割例子
假设有一张高分辨率卫星影像:
你输入:
查询1:
"road"
结果:
道路 mask
查询2:
"solar panel"
结果:
光伏板 mask
查询3:
"construction site"
结果:
施工区域 mask
不需要重新训练。
9. 遥感开放词汇分割和普通开放词汇分割有什么区别?
核心区别:

例如:
普通图片:
一辆汽车占图片30%
遥感:
汽车可能只有几个像素
所以遥感开放词汇更难。
10. 遥感开放词汇分割目前最大的难点
(1)遥感词汇和普通语言不匹配
CLIP学习:
car
dog
person
但是遥感需要:
container terminal
floating solar farm
greenhouse
bare land
这些词训练少。
(2)目标太小
卫星图:
建筑:
████
汽车:
█
模型容易漏。
(3)空间关系复杂
例如:
普通图片:
"dog"
很好找。
遥感:
"河流旁边的小型工业厂房"
需要理解:
-
河在哪里?
-
工厂在哪里?
-
空间关系?
(4)需要结合三维信息
对于你之前关注的点云语义分割问题,其实有类似思想:
二维:
图像 + 文本
↓
开放词汇分割
三维:
点云 + 文本
↓
开放词汇三维分割
例如:
输入:
"tree"
输出:
点云中所有树的点
11. 用一句最简单的话总结
开放词汇分割:
以前计算机只能认老师教过的东西,现在可以根据一句话去找并圈出没专门学过的东西。
遥感开放词汇分割:
把这种能力用到卫星、航空、无人机影像上,让计算机可以根据文字描述自动寻找和提取地球表面的各种目标,而不用为每一种目标重新训练模型。
正在发展的方向就是:
二维遥感开放词汇分割 → 图像-点云跨模态开放词汇三维分割。
也就是未来可以直接输入:
“找出城市中的建筑、树木、道路、桥梁、光伏板”
然后从三维点云中自动提取对应对象。这个方向和数字孪生、城市三维建模非常契合。
浙公网安备 33010602011771号