跳到正文
北京时间
原文
MarkTechPost(RSS)· Asif Razzaq·· 2026-07-08精选AI 评分71

蚂蚁集团旗下Robbyant开源LingBot-Vision:1B参数边界中心视觉基础模型,用于密集空间感知

Ant Group’s Robbyant Open-Sources LingBot-Vision: A 1B Boundary-Centric Vision Foundation Model for Dense Spatial Perception

AI 导读

蚂蚁集团旗下具身智能公司Robbyant开源LingBot-Vision,一套自监督视觉Transformer家族,专为密集空间感知设计。旗舰ViT-g/16参数约1.1B,采用掩膜边界建模训练,将边界作为原生预训练信号。在密集空间任务中,该1B模型匹配或超越参数规模高达7倍的大模型(如7B DINOv3)。模型以Apache-2.0许可证在Hugging Face开源,提供ViT-g、ViT-L(300M)、ViT-B(86M)、ViT-S四个规模。

推荐理由

在视觉基础模型里把边界当作核心信号,这个思路很反常识,1B模型在深度估计上超过7B的DINOv3,做机器人的可以认真看看。

正文 · AI 翻译

Robbyant,蚂蚁集团旗下的具身智能公司,已开源 LingBot-Vision,这是一个为密集空间感知构建的自监督 Vision Transformer 系列。权重以 Apache-2.0 许可在 Hugging Face 上发布,提供四种规模——ViT-giant、ViT-large、ViT-base 和 ViT-small——并附带技术报告和推理代码。

大多数视觉基础模型都是为语义不变性而训练的:它们学会回答图像中有什么,同时恰恰丢弃了机器人和其它物理具身系统所依赖的细粒度空间结构——物体边界、轮廓、深度不连续处。LingBot-Vision 颠覆了这一优先级。它将边界视为一种原生预训练信号,而非下游输出,其回报是一个 1B 参数的主干网络,在密集空间任务上匹配或超越了最多大 7 倍的模型,包括 7B 的 DINOv3。

什么是 LingBot-Vision?

LingBot-Vision 是一个用于空间结构化下游任务的自监督预训练编码器。旗舰版 ViT-g/16 拥有约 1.1B 参数,在一个精选的约 161M 图像语料库上,以一种名为掩码边界建模的新目标进行训练——该语料库从 2B 网络图像池中筛选而来——不使用人工标注、不使用外部边缘检测器、也不使用预训练主干网络来引导。训练也显著经济:该语料库比 DINOv3 的 LVD-1689M 小一个数量级,且该模型消耗的训练样本不到 DINOv3 的三分之一。

编码器输出密集的 patch-token 特征,用于冻结读出。为在更小预算下部署,旗舰模型被蒸馏为 ViT-L(300M)、ViT-B(86M)和 ViT-S 学生模型,它们在其规模类别中领先于密集预测。

掩码边界建模如何工作

该方法建立在 DINO/iBOT 自蒸馏范式之上:教师模型——学生模型的 EMA 副本——生成在线目标,学生模型则从掩码视图中恢复这些目标。

标准的掩码图像建模随机隐藏 patch,忽略每个 patch 所描绘的内容。平坦的内部 patch 从其邻居恢复的成本很低;而跨越物体边界的 patch 携带了仅靠上下文无法提供的结构信息。边界是图像中冗余度最低、信息量最大的区域——而随机掩码却将它们与其他区域一视同仁。

LingBot-Vision 通过两个思路填补了这一空白。

边界强制。教师模型在线预测一个稠密边界场,并识别出承载边界的 token B。这些 token 在随机掩码 M 的基础上被强制加入学生的掩码集合,得到组合掩码 M⁺ = M ∪ B。随后,被掩码的 token 按几何方式路由:边界 token 在语义自蒸馏目标之外额外获得一个显式的几何目标,而内部被掩码的 token 则仅保留标准的语义目标。这种路由之所以重要,是因为语义目标恰好在两个区域交界处本质上存在歧义——而几何目标恰恰在传统掩码建模最薄弱的地方是良定义的,这正是让语义表征与几何表征协同涌现而非相互竞争的原因。

类别化边界场。边界被建模为提升到稠密场中的线段:每个邻近像素存储一个属性向量 a(p) = (d, θ, φ¹, φ²),记录其到最近线段的距离以及定位该线段的三个角度。在教师—学生循环中直接回归这个场会崩溃。解决办法是将每个通道离散化为 K = 32 个 bin,把边界预测重新表述为逐像素分类——这使边界分支得以继承那套稳定现代自蒸馏的居中与锐化机制。

类别形式有一个优雅的副作用。在经典的“无结构”a-contrario 零假设下,边界方向呈均匀分布——而该零假设现在字面上就是各分箱上的均匀分布。偏离均匀性即是存在真实边界的证据,因此一个无参数的虚警数量(NFA)检验能够以零额外成本验证每一个解码出的片段。教师模型在每次迭代中利用这一点:它从自身的场预测中解码候选片段,仅保留通过 NFA 验证的存活片段,并将它们重新渲染到目标场中——因此无支撑的结构永远不会成为教学信号。

完整目标函数由四项求和构成:

L = L_DINO + λᵢ · L_iBOT + λᵦ · L_bnd + λₖ · L_KoLeo

基准测试与性能

以下所有稠密结果均使用冻结特征加单个线性层,因此性能归因于表征本身,而非解码器。

模型参数量NYUv2 RMSE ↓KITTI RMSE ↓ADE20K mIoUCityscapes mIoUVOC mIoU
LingBot-Vision ViT-g1B/160.2962.55253.579.687.5
DINOv37B/160.3092.34655.981.186.6
V-JEPA 2.1 ViT-G2B/160.3072.46147.973.585.0
AM-RADIOv2.51B/140.3402.91853.078.485.4
DINOv21B/140.3722.62449.575.683.1
SigLIP 21B/160.4943.27342.764.872.7

在 NYU-Depth v2 上,LingBot-Vision 取得了整个对比中最佳的 RMSE(0.296),领先于 7B 的 DINOv3(0.309),而参数量大约只有后者的 1/7,同时也领先于 2B 的 V-JEPA 2.1(0.307)。在 KITTI 上,它是 2B 参数以下表现最好的模型。在语义分割上,它与蒸馏后的 DINOv3 ViT-H+ 不相上下——在 ADE20K 上落后 1.3 mIoU,在 Cityscapes 上持平,在 VOC12 上领先——同时在全部三个基准上都比同尺寸的 DINOv2 提升 4+ mIoU;唯一剩下的差距是与 DINOv3 家族本身之间的差距(在 ADE20K 上比 7B 模型落后 2.4 mIoU),而后者的稠密能力来自知识蒸馏和专门的稠密特征目标。

视频目标分割使用在冻结特征上的免训练标签传播。LingBot-Vision 在 DAVIS-2017 上达到 70.0 J&F,在 YouTube-VOS 上达到 73.5——与 DINOv3 ViT-H+(71.1 / 74.0)和 7B 的 DINOv3(71.1 / 74.1)不相上下,并且在所有其余任意规模的模型中表现最佳。边界 token 本身足够稳定,可以通过冻结特征的普通余弦相似度在视频中持续跟踪,无需任何时序监督。

代价在于图像级识别:ImageNet-1K 线性探测达到 86.32,k-NN 达到 83.39,落后于 DINOv3-7B,后者将容量用于图像级不变性。这些优势在知识蒸馏后依然保持——0.3B 的 ViT-L 学生模型在 NYUv2 深度估计上与 7B 的 DINOv3 持平(0.310 对 0.309),而参数量约少 23 倍。

用例与加载方法

冻结的 patch token 可直接服务于多种密集任务:深度估计直接从特征中读取几何信息,语义分割受益于恰好落在物体轮廓上的特征过渡,视频目标分割则通过余弦相似度 token 匹配来实现。该编码器还可作为下游深度补全训练的初始化。

加载骨干网络遵循官方仓库:

git clone https://github.com/robbyant/lingbot-vision.git
cd lingbot-vision
conda create -n lingbot-vision python=3.10 -y
conda activate lingbot-vision
python -m pip install -r requirements.txt
python -m pip install -e .
import torch
from lingbot_vision import load_pretrained_backbone, extract_patch_tokens, load_image


device = "cuda" if torch.cuda.is_available() else "cpu"
dtype = torch.bfloat16 if device == "cuda" else torch.float32


# Downloads model.pt from Hugging Face on first use.
backbone, embed_dim = load_pretrained_backbone(
    variant="small",   # giant | large | base | small; defaults to large
    device=device,
    dtype=dtype,
)


img_norm, _, _ = load_image(
    "examples/example.png",
    size=512,
    patch_size=backbone.patch_size,
    mode="square",
)
patch_tokens, patch_grid = extract_patch_tokens(backbone, img_norm, device, dtype)


print(patch_tokens.shape, patch_grid, embed_dim)
# torch.Size([1, 1024, 384]) (32, 32) 384

variant 参数用于选择规模,默认为 large。输出的 patch_tokens 形状为 [B, H*W, C]。环境要求为 Python ≥ 3.10 和 PyTorch ≥ 2.0,较大的骨干网络建议使用 GPU。

LingBot-Depth 2.0:下游收益

为了展示一个以空间感知为原生目标的编码器能为下游带来什么,团队将其深度补全系统升级为 LingBot-Depth 2.0。掩码深度建模的配方与 1.0 版本保持不变;只有两个要素发生了变动:编码器初始化从 DINOv2 切换为 LingBot-Vision(在 ViT-L 和 ViT-g 变体中),以及精选训练数据从公开的 3M 样本增长到 150M。

这两项改动在涵盖块掩码、稀疏和真实传感器三种场景的 14 个深度补全基准上取得了领先结果。在块掩码的 DIODE-Indoor 上,RMSE 从 0.132 减半至 0.062。该系统在透明物体的 ClearGrasp 采集数据上表现最强(0.010 / 0.012 RMSE)——这正是主动深度传感的经典失败场景。

值得注意的是,这两项改动是相互叠加而非相互抵消的:随着训练数据从 3M 增长到 150M,DINOv2 初始化的曲线在超过 20M 样本后趋于饱和,而 LingBot-Vision 的曲线则持续改善。更多的数据放大而非冲淡了更优起点的优势。

核心要点

  • LingBot-Vision 将边界变成一种原生的预训练信号,从原始图像中自举学习,无需标签、边缘检测器或预训练骨干网络。
  • 边界强制加上类别化边界场,让几何与语义共同涌现——并顺带免费提供了一个无需参数的 NFA 验证测试。
  • 1B 主干网络在其对比中取得了最佳的 NYU-Depth v2 RMSE,领先于 7B DINOv3,而训练语料规模却小了一个数量级。
  • 这些优势在知识蒸馏后依然保持:0.3B 的 ViT-L 在 NYUv2 上与 7B DINOv3 持平,而参数量约少 23 倍。
  • 仅替换编码器并扩大数据规模,就让 LingBot-Depth 2.0 在 14 个深度补全基准上取得了领先结果,而且随着数据增多,该编码器的优势进一步扩大。
  • 权重以 Apache-2.0 许可发布,提供 ViT-g/L/B/S 多种规格,满足各种部署预算。

交互式动态讲解器


来源:MarkTechPost(RSS) · marktechpost.com