开放词汇分割

可以把“开放词汇分割(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. 遥感开放词汇分割和普通开放词汇分割有什么区别?

核心区别:

image

例如:

普通图片:

 
一辆汽车占图片30%
 

遥感:

 
汽车可能只有几个像素
 

所以遥感开放词汇更难。


10. 遥感开放词汇分割目前最大的难点

(1)遥感词汇和普通语言不匹配

CLIP学习:

 
car
dog
person
 

但是遥感需要:

 
container terminal
floating solar farm
greenhouse
bare land
 

这些词训练少。


(2)目标太小

卫星图:

 
建筑:
████

汽车:
█
 

模型容易漏。


(3)空间关系复杂

例如:

普通图片:

"dog"

很好找。

遥感:

"河流旁边的小型工业厂房"

需要理解:

  • 河在哪里?

  • 工厂在哪里?

  • 空间关系?


(4)需要结合三维信息

对于你之前关注的点云语义分割问题,其实有类似思想:

二维:

 
图像 + 文本
       ↓
开放词汇分割
 

三维:

 
点云 + 文本
       ↓
开放词汇三维分割
 

例如:

输入:

"tree"

输出:

 
点云中所有树的点
 

11. 用一句最简单的话总结

开放词汇分割:

以前计算机只能认老师教过的东西,现在可以根据一句话去找并圈出没专门学过的东西。


遥感开放词汇分割:

把这种能力用到卫星、航空、无人机影像上,让计算机可以根据文字描述自动寻找和提取地球表面的各种目标,而不用为每一种目标重新训练模型。


正在发展的方向就是:

二维遥感开放词汇分割 → 图像-点云跨模态开放词汇三维分割。

也就是未来可以直接输入:

“找出城市中的建筑、树木、道路、桥梁、光伏板”

然后从三维点云中自动提取对应对象。这个方向和数字孪生、城市三维建模非常契合。

 
 
 
 
 
 
 
 
posted @ 2026-08-05 18:47  太一吾鱼水  阅读(21)  评论(0)    收藏  举报