EVF-SAM
为 SAM 装上语言理解大脑,实现自然语言指代表达分割
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
为 SAM 装上语言理解大脑,实现自然语言指代表达分割
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
EVF-SAM(Early Vision-Language Fusion for Text-Prompted Segment Anything Model)是华中科技大学(HUST)与 vivo AI Lab 联合开源的多模态图像分割框架,发表于 ICLR 2025。该项目为 Meta 开源的 SAM(Segment Anything Model)补上了文本理解能力——用户只需用自然语言描述目标,EVF-SAM 就能在任意图片中精准定位并分割出对应区域。这项能力在学术上叫做"指代表达分割"(Referring Expression Segmentation),是视觉-语言多模态领域的核心任务之一。

图1:EVF-SAM 项目标识
SAM 于 2023 年由 Meta FAIR 团队发布,以"万物皆可分割"的交互式分割能力惊艳业界。但 SAM 的标准交互方式是"点选+框选"——用户必须在图片上手动点击目标位置或拖拽边界框。这在简单场景下游刃有余,但面对复杂真实世界时,局限性显而易见。
试想一个实际场景:摄影师拍了一张城市街景,想精确分割出"左侧红绿灯旁边戴蓝色头盔的骑行者"。在没有文本提示的情况下,用户需要反复点击才能选中这个复杂目标;而用自然语言描述后,EVF-SAM 一次就能完成分割。
这一需求的背后,是计算机视觉社区长达数年的探索——如何让模型真正"看懂"自然语言指令。早期方案多依赖 CLIP 等视觉-语言模型,但这些模型擅长分类,对像素级分割的精度有限。EVF-SAM 的核心创新在于:不替换 SAM 的分割能力,而是在早期阶段就让视觉信息与语言信息深度融合,从而获得比后期融合方案更精准的指代表达理解能力。
EVF-SAM 的架构设计围绕一个核心问题展开:如何高效融合视觉特征(来自 SAM)和语言特征(来自大型多模态模型)?团队选择了 BEiT-3 作为文本编码器,这是微软提出的大型多模态基础模型,具备强大的跨模态理解能力。

图2:EVF-SAM 整体架构——早期视觉-语言融合方案
具体来说,EVF-SAM 包含三个核心模块:
1. BEiT-3 语言编码器:将自然语言提示(如"前景中穿红色衣服的人")编码为高维语义向量,提供精准的区域定位信息。BEiT-3 的大规模预训练使其具备出色的零样本泛化能力,即使面对训练集中从未出现的复杂描述也能正确理解。
2. SAM 视觉编码器(冻结):采用 SAM-H(Scalable Visual Tokenizer-Huge)作为视觉骨干,将输入图像编码为 1024x1024 分辨率的特征图。SAM 的 ViT-H 架构在大量分割数据上预训练,具备极强的通用物体感知能力。EVF-SAM 在训练时选择冻结视觉编码器,仅微调下游模块,大幅降低训练成本。
3. 早期融合 + Mask 解码器:这是关键创新点——团队没有将视觉特征和语言特征分别处理后再拼接,而是让两者在特征提取阶段就进行交互融合。融合后的多模态特征送入 SAM 原有的 Mask Decoder,输出精准的分割掩码。
这种设计带来的效果是显著的:在 RefCOCO、RefCOCO+ 和 RefCOCO-g 三个标准指代表达分割基准上,EVF-SAM 刷新了 SOTA 纪录,尤其在描述复杂、多目标场景时优势明显。
EVF-SAM 提供三套模型,覆盖从图像到视频的多种分割场景:
| 模型 | 基础模型 | 参数量 | RefCOCO 得分 | 适用场景 |
|---|---|---|---|---|
| EVF-SAM | SAM-H | 1.32B | 83.7 | 指代表达图像分割 |
| EVF-SAM-multitask | SAM-H | 1.32B | 84.2 | 多任务分割(语义+指代) |
| EVF-SAM2 | SAM-2-L | 898M | 83.6 | 视频帧指代表达分割 |
| EVF-SAM2-multitask | SAM-2-L | 898M | 83.2 | 视频多任务分割 |
| EVF-Effi-SAM-L | EfficientSAM-S | 700M | 83.5 | 低资源/轻量场景 |
对于普通用户,HuggingFace 提供了开箱即用的在线 Demo,无需本地配置即可体验。开发者则可以通过 pip 安装依赖后,用 Python 脚本本地推理:
git clone https://github.com/hustvl/EVF-SAM
pip install -r requirements.txt
# 下载 HuggingFace 权重(约 2.6GB)
python inference.py --version YxZhang/evf-sam --image_path your_image.jpg --prompt "the person in blue"

图3:输入文本"zebra top left",EVF-SAM 精准分割出左上角的斑马

图4:输入文本"a pizza with a yellow sign on top of it",成功分割复杂场景中的目标物体

图5:输入"the broccoli closest to the ketchup bottle",EVF-SAM 理解空间关系并完成精确分割
1.32B 参数的全精度模型在消费级 GPU 上运行压力较大。为此,EVF-SAM 提供了两条优化路径:
量化推理:通过 --load_in_4bit 或 --load_in_8bit 参数启用 BitsAndBytes 量化,将显存需求从 16GB+ 降至约 8GB,使 T4 级别的 GPU 也能运行完整推理:
python inference.py --version YxZhang/evf-sam \
--image_path input.jpg --prompt "target object" \
--load_in_4bit # 启用 4bit 量化
轻量模型:EVF-Effi-SAM-L 仅 700M 参数,基于 EfficientSAM-S 视觉编码器,在几乎不损失精度的前提下大幅降低资源需求。
视频扩展:EVF-SAM2 基于 Meta 的 SAM-2 架构,额外解锁了视频分割能力。只需用 inference_video.py 逐帧处理视频帧序列,再用 frame2video.py 合成最终视频——值得注意的是,SAM-2 原本只支持点/框提示,EVF-SAM2 将文本提示能力迁移到了视频域,团队发现这一能力竟然是零样本涌现的,无需专门的视频-文本训练数据。

图6:EVF-SAM 支持语义级分割——输入"[semantic] sea",模型理解语义后分割出画面中的海洋区域
EVF-SAM 的代码库结构清晰,核心模块分层明确:
python setup.py build_ext --inplace)。技术栈方面,项目使用 PyTorch 2.0+ 作为深度学习框架,transformers 库加载 BEiT-3 预训练权重,BitsAndBytes 实现量化推理,OpenCV 和 Pillow 处理图像 I/O,FastAPI + Uvicorn 支撑模型服务(Demo 部分)。
代码质量评分较高的原因在于:项目提供了完整的 eval.py 评估脚本,README 中包含详尽的安装和推理说明,模型权重已在 HuggingFace Hub 开源,学术论文经过同行评审(ICLR 2025)。不足之处在于缺少完整的单元测试套件(仅有 pytest 作为依赖但未提供测试用例),以及代码未容器化,生产环境部署需要开发者手动配置 CUDA 环境。
| 维度 | 评价 |
|---|---|
| 学术研究者 | 极佳。代码开源完整,论文质量高,适合多模态/VLP/分割方向的研究者快速复现和改进 |
| AI 开发者 | 中等。需要 CUDA 环境配置能力和模型权重(HuggingFace)下载知识,门槛高于纯 Python 包 |
| 普通爱好者 | 较难。CLI 界面无图形化,需命令行参数配置,但 HuggingFace 在线 Demo 提供零配置体验入口 |
| 企业用户 | 需定制。缺少生产级容器化部署方案,但模型轻量(SAM-2 版本仅 898M),适合嵌入现有 CV pipeline |
尽管 EVF-SAM 取得了 SOTA 成绩,但仍存在一些值得关注的问题:
1. 训练数据依赖:模型的指代表达分割能力高度依赖 RES(Referring Expression Segmentation)数据集的标注质量。不同语言、文化背景下的指代表达习惯差异可能导致跨语言泛化能力的局限——目前模型主要在英文指代表达数据上训练。
2. 复杂空间推理的边界:对于极度复杂或含糊的自然语言描述(如"图片中第二小的红色物体"这类需要多步推理的指令),模型性能会明显下降。指代表达分割和视觉推理(VQA)的边界尚未完全打通。
3. 视频处理效率:EVF-SAM2 处理视频时采用逐帧处理模式,没有利用 SAM-2 的流式记忆机制优化帧间计算。这意味着长视频的推理时间随帧数线性增长,在实时场景中应用受限。
4. BEiT-3 的版权与许可:BEiT-3 基于大规模预训练数据构建,其训练数据的许可证合规性在商业应用中需要额外审查。
EVF-SAM 的出现标志着视觉基础模型(如 SAM)向多模态交互方向演进的趋势。从"点选分割"到"语言分割"的跨越,不仅是交互方式的升级,更体现了 AI 系统理解自然语言指令能力的本质飞跃。
项目作者张宇轩(Yuxuan Zhang)和程天恒(Tianheng Cheng)均来自华中科技大学实验室,该实验室在目标检测、图像分割领域持续有高质量产出。EVF-SAM 项目于 2024 年 6 月发布,GitHub 已获 500+ stars,并在 HuggingFace 上积累了大量模型下载。2025 年 1 月,团队预告 EVF-SAM v2 即将支持显著物体分割和 matte抠图任务。
从技术趋势看,EVF-SAM 代表了"早期融合"路线在多模态任务中的成功验证。随着更大规模 VLM(视觉-语言模型)的出现,将文本理解能力与专业分割模型结合的路线将持续深化,未来可能在自动驾驶感知、医疗影像标注、遥感图像分析等领域发挥更大价值。