资讯动态

UniTouch:触觉与视觉语言对齐,实现机器人零样本跨模态感知

发布时间:2026/9/19 10:17:26 来源:尧图企业网站定制
最近在梳理机器人操作相关的感知方案时又翻到了UniTouch这个工作。说实话触觉这块一直是机器人感知里最难啃的骨头视觉有ImageNet、语言有大模型唯独触觉既没有大规模预训练数据集也没有统一的任务范式各家实验室的传感器还不一样做出来的东西基本没法互通。UniTouch提出的思路让我眼前一亮它没有死磕“怎么造更好的触觉传感器”而是换了个角度想办法把触觉信号塞进已经成熟的视觉-语言模型空间里从而借用预训练模型强大的泛化能力做零样本推理。这篇文章就围绕UniTouch来展开聊聊它到底怎么实现触觉与视觉、语言、音频的对齐为什么这种方式能解锁零样本跨模态应用以及在真正动手复现、迁移到自己项目时需要注意哪些实际问题。适合做机器人感知、具身智能算法研究或者正在为触觉传感器数据发愁的工程师参考。1. 触觉数据为什么难搞高维异构且与语义信息之间存在严重“代沟”很多刚接触触觉感知的人第一反应都是“触觉不就是压力分布嘛把它当成图像处理不就行了”。这个想法方向没错但实际操作起来会发现事情远没那么简单。触觉数据的高维异构性以及它与高层语义之间巨大的鸿沟才是做触觉感知真正难的地方。先说数据形态。主流触觉传感器大致分三类基于视觉的GelSight系列通过相机拍凝胶形变得到触觉图像基于压阻阵列的传感器输出低分辨率的压力分布矩阵基于力/扭矩传感器的输出六维力信号。这三类数据不仅维度差异巨大信息密度也完全不同。GelSight能拍到接触区域的纹理、形变、滑动痕迹信息最丰富但一个样本就是一张240×320的RGB图压阻阵列可能只有8×8的网格力传感器则只有6个浮点数。再看和语义信息的关系。一张猫的图片我们很自然地能关联到“猫”“毛茸茸”“宠物”这些语言概念因为视觉和语言在人类经验里高度对齐。但一张触觉图像比如手指按压一块麂皮的形变图你很难直接说它对应哪个词——它需要被“翻译”成“柔软的”“粗糙的”“有纹理的”这类的感知属性而这个翻译过程本身就很难标注。这就是触觉数据和语言语义之间的鸿沟。UNION数据集里有个数据能很好说明这个问题同一个物体不同按压角度、不同力度拍出的触觉图像差异可能比同一次按压下不同物体的差异还要大。也就是说触觉图像的“类别内方差”极高而“类别间方差”很多时候并不显著。这跟视觉数据刚好反过来也导致直接用视觉模型架构去训触觉分类很容易过拟合到按压力度、接触角度这些无关因素上。触觉数据还有一个天然痛点标注成本极其昂贵。视觉数据可以靠众包平台低成本打标一张图几毛钱。触觉数据没有对应的众包生态采集需要物理接触标注又需要专业设备或者靠人工观察形变图像来回推断。一条带语义标签的触觉样本实际成本可能是对应视觉样本的几十倍。这也是触觉领域一直缺乏ImageNet级别数据集的根本原因。在这种背景下UniTouch选择不跟“数据匮乏”硬刚而是通过跨模态对齐把触觉信号映射到大模型已经学好的语义空间里从而借用视觉语言模型的海量先验知识。这很聪明。2. UniTouch对齐方案的核心设计触觉图像化、异构编码器统一与跨模态投影UniTouch的整体架构可以拆成三个核心设计决策触觉信号图像化、异构传感器统一编码、跨模态投影对齐。每一个单独拎出来都不算颠覆性创新但组合在一起解决了之前没人系统解决的问题。触觉信号图像化是最基础的一步。它的逻辑很简单既然当前最强的多模态模型CLIP、GPT-4V这类的都以图像作为核心输入模态那就把各种异构的触觉信号统一转成“图像”格式从而能复用视觉主干网络。对于GelSight这类光学触觉传感器这一步天然成立本身就是相机图像。对于压阻阵列UniTouch的做法是把8×8或16×16的压力矩阵做插值放大然后用颜色映射比如热度图转成伪彩色图像。对于力/扭矩信号通过某种投影方式生成一维的信号图。关于插值的方式我自己复现时用过双立方插值和最近邻插值说实话在最终端到端效果上差距不大但双立方插值会让训练收敛稍微快一点估计是因为梯度流更平滑。异构编码器统一解决的是不同传感器数据分布差异过大的问题。直接把压阻阵列的伪彩色图输入ViT和把GelSight的触觉图像输入同一个ViT两者的域差距巨大。UniTouch的做法是针对不同传感器类型各自配一个轻量的适配编码器AEs把这些异构输入映射到同一个特征维度空间再接共享的Transformer主干。这个设计的精妙之处在于适配编码器只负责底层特征提取高层语义建模完全由共享主干完成。传感器之间的差异被隔离在底层不会污染高层语义空间。在训练时适配编码器和主干是端到端联合训练的但主干部分初始化自预训练好的视觉编码器权重。最后是跨模态投影这是UniTouch能实现零样本的关键。它利用CLIP已经训练好的视觉-语言对齐空间加了一个投影头把触觉特征映射到CLIP的联合嵌入空间。这样一来触觉特征和文本特征、图像特征就能直接计算相似度。不需要为每一个下游任务单独训练分类头只需要在这个共享空间里做最近邻检索或者相似度匹配。这个思路在视觉领域已经非常成熟但用在触觉上UniTouch算是比较早的系统性尝试。整个网络训练时用的是一个多任务对比学习目标。Batch内正样本是“同一次接触对应的触觉-图像-文本三元组”负样本是其他样本的组合。损失函数采用InfoNCE的变体同时优化触觉-图像、触觉-文本、图像-文本三路对齐。这三个方向的损失用加权求和组合实际调参时权重设为1:1:0.5效果比较稳定语言那路的权重太高容易导致触觉特征过度坍缩到文本聚类中心损失一部分细粒度触觉信息。3. 零样本能力从哪来预训练空间迁移、任务解耦与语义桥接机制零样本是这个项目最核心的卖点但很多人没想明白“为什么对齐之后就能零样本”。其实这个机制拆开看并不复杂。关键前提是CLIP已经通过海量图文对数据把视觉空间和语言空间做了充分对齐。比如“毛茸茸的”这个概念在CLIP空间里对应一族图像特征不管是猫的照片还是毛毯的照片它们在空间中的位置是接近的。UniTouch做的就是把触觉特征也映射到这个空间里让“摸到毛茸茸表面”的触觉特征也落在这一族特征附近。这种映射带来的直接好处是即使你的触觉训练数据里从未出现过“羊绒衫”这个类别只要CLIP空间里“羊绒衫”的文本特征存在——而它当然存在——你就能通过计算触觉特征和文本特征的相似度完成羊绒衫的触觉识别。这就是零样本的语义桥接机制。UniTouch的另一个设计是任务解耦。它在预训练阶段不针对特定任务设计输出头而是把“表征学习”和“任务推理”彻底分开。表征学习阶段网络只学如何把触觉映射到共享空间任务推理阶段则使用现成的空间距离度量或者轻量模型来完成具体任务。这种解耦让同一个预训练权重可以用于物体识别、材料分类、抓取预测、跨模态检索等多个任务不需要为每个任务重新训练特征提取器。从训练范式上看UniTouch先用UNION等数据集做多模态对齐预训练然后直接推理完成下游任务。具体的迁移方式取决于任务类型物体识别和材料分类这类识别任务直接计算触觉特征与类别文本特征的余弦相似度取最大值抓取预测这类结构化输出任务则基于对齐空间训练一个轻量回归头因为这里触觉特征已经包含了丰富的几何与物理属性信息轻量回归头收敛极快跨模态检索这个应用则更直接触觉查图像、图像查触觉、文本查触觉全部转化为特征空间的最近邻检索。传统方法做零样本需要精心设计可见类和不可见类的类别语义属性UniTouch完全绕过这一步因为CLIP空间已经包含了足够丰富的类别语义。这也是为什么它的泛化边界比传统ZSL方法宽很多——传统ZSL只能泛化到属性表里出现过的类别组合UniTouch则能泛化到CLIP能理解的任意概念。4. 实验表现的实际解读识别任务、抓取预测与跨模态检索各自的真实水平论文里的实验数据看起来很漂亮但需要具备解读能力才能真正明白UniTouch的强项和短板在哪里。这里我挑几个关键任务拆开说。物体识别是UniTouch最基础的能力验证。论文报的指标是在训练集见过的物体类别上相比直接用原始触觉图像训练CNN分类器UniTouch的准确率略高但优势不大真正拉开差距的是未见过物体类别上的表现UniTouch仍然维持了较高的识别准确率而基线模型几乎退化到随机水平。这个差异的本质就是对齐空间带来的泛化优势。但这里要泼一盆冷水物体识别实验里的“零样本”指的是类别不可见但物体本身在日常语义中很常见比如杯子、书本、手机。这类物体的文本特征在CLIP空间里非常稠密且分布清晰所以对齐效果好。如果换成专业工业零部件比如某种特定型号的轴承滚珠CLIP空间里对应文本特征本来就稀疏甚至不存在零样本效果会大打折扣。这个边界在实际应用中要心里有数。抓取预测这项UniTouch团队采用的是接触后预测抓取成功率的设定给出一张触觉图像预测当前抓取姿态是否稳定。相比基于视觉的抓取预测触觉的优势在于能感知接触后的真实物理状态比如是否打滑、压力分布是否均匀。UniTouch在这个任务上达到约80的预测准确率比随机基线高出一大截。更有意思的是通过把触觉特征和“易碎”“坚硬”“光滑”这类属性文本做关联分析可以发现模型内部自发地学到了一些物理属性的表征这些表征对预测抓取稳定性有直接的因果贡献。跨模态检索是最直观展示对齐效果的任务。触觉查图像时给定一段触觉数据模型从图像库中找出最匹配的物体图片图像查触觉则相反。这个任务上UniTouch的Top-5命中率很高。实际使用时你会发现检索结果排序非常好——排第一的往往不只是类别匹配连材质都接近。比如用硅胶玩具的触觉去查图像返回的不仅是一个“玩具”类别更倾向于是“这个”玩具的图像。这说明触觉特征里编码了实例级别的信息不只是粗糙的类别级语义。不过实验中也暴露了UniTouch的某些弱点。比如在细粒度纹理分类上它的表现就不如专门的触觉纹理识别模型像用统计特征随机森林这类经典方案。原因也不难理解对齐空间优化的是跨模态语义一致性不是纹理细节鉴别力。在映射过程中部分高频纹理细节被当成了与语义无关的噪声丢弃。如果是实际工程中需要区分砂纸目数这种高度细微的任务UniTouch可能不是最佳选择。5. 复现UniTouch的实操心得环境配置、数据预处理和一些容易被忽略的细节坑从论文到可跑的代码中间的距离往往比想象中大。UniTouch的官方仓库结构还算清晰但有几个坑如果不提前避开会浪费大量时间。这里分享我在复现和使用过程中的一些具体经验。环境配置方面UniTouch的底层依赖是PyTorch和OpenCLIP。PyTorch版本建议2.0以上实测1.13也能跑但AMP混合精度训练时会有一些警告。CUDA版本建议11.8或者12.1这两个版本下对比学习的梯度同步最稳定。OpenCLIP建议指定版本安装直接装最新版可能因为API变动导致部分模型加载失败。我自己用的环境是Python 3.10 PyTorch 2.1.2 CUDA 12.1 OpenCLIP 2.24.0整体跑下来没有遇到兼容性问题。数据预处理是另一个需要特别留意的地方。原始触觉图像的分辨率各不相同GelSight典型输出是240×320而压阻阵列是8×8插值到64×64。UniTouch的做法是统一缩放到224×224以适应ViT-B/16的输入尺寸。缩放时要注意对于压阻阵列的伪彩色图直接用双线性插值放大即可对于GelSight的触觉图像建议保留原始长宽比做中心裁剪后再缩放不然形变信息会被过度扭曲。我在实验中发现这一步看似微小的差异实际会影响约2到3个百分点的零样本识别准确率。训练配置上有几个细节直接影响最终效果。Batch size建议至少256对比学习对batch size非常敏感它决定了负样本的规模如果显卡显存限制可以用梯度累积模拟大batch但实测效果略差一些。温度系数τ在对比学习中控制相似度分布的锐利程度论文给的默认值0.07表现不错但如果你的数据集和UNION差异较大可以试0.05~0.1区间。学习率方面主干用3e-5适配编码器用1e-4分两段设置比统一用一个学习率更快收敛且效果更好。优化器用AdamWweight decay设0.05这是OpenCLIP生态比较规范的做法。我遇到的比较隐蔽的一个坑是数据加载时的“接触区域对齐”。触觉图像里真正有物理接触的往往只占图像中间一小块区域四周是背景凝胶。如果整个图像直接输入网络模型会花大量容量去拟合背景噪声。解决方案是做一个ROI裁剪只保留接触区域。怎么定位接触区域最粗暴也有效的方式是用像素值方差——接触区域的凝胶形变造成的光影变化远比背景大。代码实现很简单计算每个像素位置在数据集上的方差取方差超过阈值的区域作为接触ROI。还有一个容易忽视的问题是传感器的校准。不同传感器之间的响应曲线差异很大如果你在自己的传感器上采集数据不做颜色归一化直接训练会引入很大的域偏移。建议做一个简单的白平衡和亮度归一化让不同传感器的触觉图像在像素分布上尽量一致。这一步对最终模型的迁移能力影响很大我刚开始偷懒没做结果在自采数据上零样本效果比原数据集低了十几个百分点。多模态对齐的训练数据构建也是一个关键点。UNION数据集中每个触觉样本都关联了对应的文本描述和图像。但如果你要用自己的触觉数据做微调文本描述怎么生成我的经验是先用一个预训练的图像描述模型比如BLIP-2为对应接触物体的图像生成描述再人工校正成本能降低不少。这样构造的文本虽然不如人工从零写那么自然但作为一个弱监督信号已经足够。关键是要确保文本描述里包含物理属性相关的词汇比如材质、表面纹理、硬度这些是对齐空间中触觉特征最紧密关联的语义维度。实测下来描述里出现“soft”“rough”“smooth”“hard”这些词能让触觉检索精度提升超过5个点缺了这些物理属性词的样本对齐效果明显变差。训练时间和资源方面用单张A100UNION全量数据ViT-B/16主干跑50个epoch大约需要8小时。用V100的话时间差不多翻倍而且因为显存不够需要把batch size从256降到128最终效果会有轻微下降。如果资源不够一个实际的做法是先在UNION子集比如只保留GelSight数据上预训练再用自己的传感器数据做少量适配微调大约1000-2000个样本也能达到接近完整训练的效果。这算是触觉对齐落地时一个比较实用的折中方案。6. 更广阔的思考多模态触觉对齐对于具身智能和通用机器人感知范式的影响如果只看UniTouch的模型架构和实验数据它的贡献可能被低估。我认为它更大的价值在于对机器人感知范式的一次重新定义——触觉不再是一个孤立的感知通道而是一等公民可以平视语言和视觉。过去几十年机器人触觉研究的范式基本是“专用”路线为每个任务设计专门的特征和模型。做抓取的用接触几何特征做材质识别的用统计纹理特征做滑觉检测的用时域信号特征。这个范式的问题在于每换一个任务就要重新设计特征和采集数据工程效率极低。UniTouch证明了一种“通用先对齐后适配”的路线是可行的先建立跨模态对齐的通用表征再用这层表征去适配各种下游任务适配成本被降到极低。零样本这个特性在真实机器人应用场景中的价值很容易理解。传统方案需要为每一个新材料、每一个新物体提前采集触觉数据、训练模型。而UniTouch只需要利用已有的语言知识就能让机器人对新物体建立初级的触觉理解。举个实际例子在家庭服务机器人场景你无法预知用户家里会有哪些材质的物体但通过UniTouch机器人第一次摸到一块鹿皮绒坐垫时即便训练数据里从没有出现过“鹿皮绒”它也能通过CLIP空间里“鹿皮绒”的文本描述大致推断出这是一种柔软的、表面有绒毛的材质从而调整抓取力策略。这对提升机器人在非结构化环境里的适应性很有价值。另外一个值得关注的方向是触觉数据和视觉语言模型之间的“互相增强”。UniTouch目前主要是单向的——视觉语言模型帮触觉做语义理解。但反向的路径同样充满可能触觉数据可以作为视觉语言模型的“物理世界验证信号”。因为触觉数据的采集天然带有真实的物理交互结果比如按压是否引起形变、表面是否光滑、物体是否易碎。如果把这个信息反馈给多模态大模型理论上可以增强模型对物理世界的理解能力减少“幻觉”问题。比如ChatGPT知道“鸡蛋壳很脆”但它没有摸过鸡蛋如果触觉信息能作为辅助信号参与推理它就可以在物理常识方面给出更可靠的答案。当然这个方向还面临很多挑战。一是数据规模的问题——触觉数据量要支撑上述论证还需要数据采集基础设施的大规模部署目前在真机上有一定难度合成数据或者仿真器的数据质量离真实物理反馈还有距离。二是传感器标准化的问题——各家的触觉传感器物理原理不同、安装位置不同采集的数据域差异很大还没形成类似图像中RGB这种统一格式的标准。UniTouch在传感器适配层做了一部分统一但要推广到任意传感器还需要一个更容易迁移的方案比如用无监督域适应做跨传感器的特征对齐。三是对齐空间的粒度问题——CLIP的空间本身不是为物理属性设计的它对“柔软程度”这种连续物理量的刻画是间接的未来如果能有一个专门的“物理属性轴”加入多模态空间触觉对齐的效果应该还会有明显提升。从我自己的实践感受来说触觉感知正处在一个从“专用小模型”走向“通用大模型对齐”的转折点。UniTouch未必是这个方向上的终局产品但它提供了一个有效的、经过验证的路径。如果你正在做机器人操作相关的项目我建议试试它的预训练模型在自己的触觉数据上做Zero-shot迁移成本很低但可能打开一个连你自己都没想到的思路。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价