你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

多模式嵌入(版本 4.0)

多模式嵌入是生成图像的矢量表示形式的过程,该表示形式将捕获图像的特征和特性。 这些矢量以与同一矢量空间上的文本搜索兼容的方式对图像的内容和上下文进行编码。

传统上,图像检索系统使用从图像中提取的特征(例如内容标签、标记和图像描述符)来比较图像并按相似性对图像进行排序。 然而,矢量相似性搜索与传统的基于关键字的搜索相比具有大量优势,它正在成为热门内容搜索服务的重要组成部分。

关键字搜索是最基本、最传统的信息检索方法。 在这种方法中,搜索引擎寻找用户在搜索查询中输入的关键字或短语的精确匹配项,并将其与为图像提供的标签和标记进行比较。 然后,搜索引擎返回包含这些确切关键字的图像作为内容标记和图像标签。 关键字搜索在很大程度上依赖于用户使用相关的特定搜索词的能力。

而矢量搜索则在高维空间中搜索大量矢量,以找到与给定查询相似的矢量。 矢量搜索通过捕获搜索查询的上下文和含义来寻找语义相似性。 这种方法通常比传统的图像检索技术更有效,因为它可以减少搜索空间并提高结果的准确度。

业务应用程序

多模式嵌入在不同领域有多种应用,其中包括:

  • 数字资产管理:多模式嵌入可用于管理大量数字图像,例如博物馆、档案馆或在线画廊中的数字图像。 用户可以根据视觉特征搜索图像,并检索符合其条件的图像。
  • 安全和监控:矢量化可用于安全和监控系统,以根据特定特征或模式搜索图像,例如在人物和物体跟踪或威胁检测中
  • 取证图像检索:矢量化可用于取证调查,以根据图像的视觉内容或元数据搜索图像,例如在网络犯罪案件中这样做
  • 电子商务:矢量化可用于在线购物应用程序,以根据特征或描述搜索相似产品,或根据以前购买的产品提供推荐产品
  • 时尚和设计:矢量化可用于时尚和设计,以根据图像的视觉特征(例如颜色、图案或纹理)搜索图像。 这可以帮助设计师或零售商识别相似的产品或趋势。

注意

多模式嵌入不是为分析医学图像的诊断特征或疾病模式而设计的。 请不要将多模式嵌入用于医疗目的。

什么是矢量嵌入?

矢量嵌入是一种将内容(文本或图像)表示为高维空间中的实数矢量的方法。 通常使用神经网络之类的机器学习算法从大量文本和视觉对象数据中学习矢量嵌入。

矢量的每个维度对应于内容的不同特征或属性,例如它的语义、语法角色或它通常出现在其中的上下文。 在 Azure AI 视觉中,图像和文本向量嵌入有 1024 个维度。

重要

只有来自同一模型类型的矢量嵌入才能彼此进行比较和匹配。 由一个模型矢量化的图像无法通过其他模型进行搜索。 最新的图像分析 API 提供了两种模型:支持多种语言的文本搜索的版本 2023-04-15,以及仅支持英语的旧版 2022-04-11 模型。

工作原理

以下是使用多模式嵌入的图像检索过程的主要步骤。

多模式嵌入/图像检索过程的关系图。

  1. 使图像和文本矢量化:多模式嵌入 API“VectorizeImage”和“VectorizeText”可分别用于从图像或文本中提取特征矢量。 API 返回表示整个输入的单个特征矢量。

    注意

    多模式嵌入不会对人脸进行任何生物识别处理。 有关人脸检测和识别,请参阅Azure AI 人脸服务

  2. 度量相似性:矢量搜索系统通常使用距离指标(例如余弦距离或欧氏距离)来比较矢量并按相似性对其进行排名。 Vision Studio 演示使用余弦距离来度量相似性。
  3. 检索图像:使用与搜索查询相似的前 N 个矢量,从照片库中检索与这些矢量相对应的图像作为最终结果提供。

相关性分数

图像和视频检索服务返回名为“相关性”的字段。术语“相关性”表示查询与图像或视频帧嵌入之间的相似性的度量值。 相关性分数由两个部分组成:

  1. 查询和图像或视频帧嵌入之间的余弦相似性(介于 [0,1] 范围内)。
  2. 元数据分数,反映查询与与图像或视频帧关联的元数据之间的相似性。

重要

相关性分数是很好的度量值,用于在单个查询中对结果(例如,图像或视频帧)进行排名。 但是,无法跨查询准确比较相关性分数。 因此,无法轻松地将相关性分数映射到置信度级别。 也无法轻松创建阈值算法,以仅基于相关性分数消除不相关的结果。

输入要求

图像输入

  • 图像的文件大小必须不到 20 兆字节 (MB)
  • 图像的尺寸必须大于 10 x 10 像素,小于 16,000 x 16,000 像素

文本输入

  • 文本字符串必须介于 1 - 70(含)个单词之间。

后续步骤

为搜索服务启用多模式嵌入,并按照步骤为文本和图像生成矢量嵌入。