You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何计算图像与文本相似度?CLIP使用疑问及飞机检测方案咨询

问题解答

一、为什么softmax输出[[1.0]]

当你只传入单个文本标签['aircraft']时,softmax(dim=1)是对这唯一的维度做归一化,结果必然是1.0——因为softmax的作用是让所有候选类别的概率和为1,只有一个候选时自然就是100%,这和图片实际内容无关,是使用方式的问题。

二、如何用百分比表示图像与词汇的关联度

有两种可行方案:

1. 引入对比标签,用softmax计算相对概率

给模型传入多个文本标签(包含目标类别和其他常见类别),这样softmax会输出每个标签对应的概率百分比,反映图片与各标签的匹配程度。示例代码修改如下:

from PIL import Image
from transformers import CLIPProcessor, CLIPModel

model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32")
processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")
image = Image.open('image_4.jpg')
# 传入多个对比标签
inputs = processor(text=['aircraft', 'human face', 'car'], images=image, return_tensors="pt", padding=True)

outputs = model(**inputs)
logits_per_image = outputs.logits_per_image
# 对多个标签维度做softmax,得到每个标签的概率
probs = logits_per_image.softmax(dim=1)
# 转换为百分比形式(保留两位小数)
probs_percent = (probs * 100).tolist()
print(probs_percent)

比如输出可能是[[1.2, 98.5, 0.3]],表示图片与"human face"的匹配度为98.5%,与"aircraft"仅1.2%。

2. 用sigmoid计算单标签的置信度

如果你只想针对"aircraft"这一个标签计算置信度,可以用sigmoid函数将logit转换为0-1之间的概率值(对应0%-100%),sigmoid适合单标签的二分类场景(判断图片是否匹配该标签):

from torch import sigmoid

# 沿用之前的单标签输入
inputs = processor(text=['aircraft'], images=image, return_tensors="pt", padding=True)
outputs = model(**inputs)
logits_per_image = outputs.logits_per_image
# 用sigmoid转换为概率
prob = sigmoid(logits_per_image).item()
# 转换为百分比
prob_percent = prob * 100
print(f"与aircraft的关联度:{prob_percent:.2f}%")

这里的结果会直接反映图片与"aircraft"标签的匹配置信度,数值越高越匹配。

三、关于logits_per_image的理解

logits_per_image是CLIP输出的图像-文本原始相似度分数,没有经过归一化,数值越高表示图像与文本的匹配程度越高,但不能直接对应百分比。你得到的20.03只是这个原始分数,需要通过softmax或sigmoid转换后才能得到可解释的概率值。

四、能否用目标检测解决飞机存在性判断

完全可以,而且对于"判断图片中是否存在飞机"这个需求,目标检测是更直接的方案:

  • 目标检测模型(如YOLOv8、Faster R-CNN等)专门用于识别图像中的物体类别并定位其位置,能直接输出图片中是否存在飞机,以及对应的置信度和 bounding box。
  • 相比CLIP的图文匹配,目标检测更聚焦于物体本身的视觉特征,对于物体存在性的判断精度更高,尤其是当图片中有多个物体时,能精准定位目标是否存在。

内容的提问来源于stack exchange,提问作者Fateme Nazari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 23:57:21