Skip to main content

“使用 AI 模型生成嵌入”的工作原理

需具有 Image Analyst 许可才能使用。

在 Advanced 许可等级下可用。

生成嵌入是将原始空间数据或相关数据转换为能够捕捉语义含义的数值矢量表示的过程。 这些矢量表示称为嵌入,能够使影像、地理位置、属性和文本描述在共享嵌入空间中基于相似性进行比较。 生成影像嵌入需要 Image Analyst 扩展模块;生成位置或文本嵌入需要 ArcGIS Pro 中的 Advanced 许可。

使用 AI 模型生成嵌入工具利用预训练模型为空间数据生成嵌入。 根据所选模型,该工具可生成以下内容:

  • 基于影像的视觉嵌入

  • 基于地理要素的位置嵌入

  • 基于文本字段的文本嵌入

  • 融合影像或空间上下文与文本的视觉语言或多模态嵌入

生成的嵌入将写入输出要素类中名为 Embedding 的二进制大对象 (BLOB) 字段,并可用于 ArcGIS 中的多个下游工作流。

可能的应用

基于嵌入的工作流不仅限于图像相似性,还支持多种空间分析场景,包括:

  • 语义相似性搜索 - 识别与给定输入语义相似的空间要素、影像区域或位置。

  • 变化分析 - 比较在不同时期捕获的影像所生成的嵌入。

  • 自然语言语义搜索 - 使用描述性文本查询(如带密集车辆的大型停车场沿海住宅区)检索相关影像或位置。

  • 位置相似性 - 识别具有相似地理、环境或空间背景的位置。

  • 聚类与探索性分析 - 在无预定义标签的情况下,基于嵌入相似性对空间要素进行分组。

在 ArcGIS Pro 中,将嵌入用作回归、分类或预测建模任务的高级语义特征。 嵌入往往通过捕捉传统手工特征可能遗漏的复杂空间与上下文关系,从而提升模型性能。

嵌入生成模型为原始输入创建紧凑、学习到的、固定长度的数值表示。 这些模型可包括在大型数据集上训练的大规模基础模型,以及专门的嵌入模型(如视觉编码器或语言模型),例如类似于 BERT 架构的基于 Transformer 的文本编码器。 该工具支持适用于所选输入模态的预训练嵌入模型。

如何生成嵌入

对于基于图像的输入(如卫星或航空影像),模型处理像素数据以学习视觉模式、空间结构和上下文关系,生成代表图像或区域语义内容而非原始像素值的嵌入。 当使用视觉语言或多模态模型时,图像与文本被投影到共享嵌入空间中,从而实现自然语言图像搜索和跨模态相似性比较。

对于基于位置的输入,模型将地理信息(如要素几何)转换为嵌入,这些嵌入捕捉土地利用模式、密度、地形、邻近关系等空间特征。 具有相似地理上下文的位置在嵌入空间中彼此更接近,从而能够基于空间语义而非单纯属性匹配进行相似性分析。

对于基于文本的输入,描述或元数据等文本字段被转换为捕捉语义含义的嵌入。 这支持自然语言查询、要素描述的语义比较,以及将文本信息集成到空间分析工作流中。

在所有模态中,嵌入均保持语义相似性:具有相似视觉、空间或文本含义的输入在嵌入空间中生成更接近的矢量。 这使得 ArcGIS Pro 能够进行相似性搜索、聚类、检索、特征排序和预测建模,为语义驱动的空间分析提供统一基础。

使用 AI 模型生成嵌入

您可以使用使用 AI 模型生成嵌入工具,利用预训练的嵌入模型或基础模型为空间数据生成嵌入。 该工具无需模型训练或标记数据, 而是应用预训练模型将原始空间或文本输入转换为固定长度的嵌入矢量,以捕捉语义含义。

这些嵌入随后可用于下游基于嵌入的工作流,包括:

  • 相似性搜索

  • 空间聚类

  • 回归与分类模型

  • 基于位置的模式分析

  • 基于文本的空间分析

通过将嵌入用作高级语义特征,后续分析任务通常受益于更好的泛化能力和减少的手动特征工程需求。

工具的工作原理

该工具接收空间输入数据,例如栅格影像、地理要素或文本属性。 所选嵌入模型处理输入并生成语义嵌入。 这些嵌入随后写入输出要素类以供重用。

栅格输入

对于栅格影像,嵌入在规则空间格网上生成。 每个格网单元代表一个确定的地面区域,并生成一个概括该区域内语义内容的单一嵌入。

要素输入(位置)

对于地理要素输入,该工具执行以下操作:

  • 可直接为每个要素生成嵌入。

  • 使用 SHAPE 字段(几何)派生空间上下文。

  • 每个要素接收一个表示其空间语义的单一嵌入。

文本字段输入

当指定文本字段时,该工具执行以下操作:

  • 使用预训练的文本嵌入模型处理所选文本属性。

  • 每条记录基于其文本内容生成一个语义嵌入。

  • 文本嵌入可独立使用,也可在多模态工作流中与空间嵌入结合使用。

输出嵌入要素类

生成的嵌入写入输出要素类,其中包含:

  • 原始的非嵌入属性。

  • 一个专用的 Embedding 字段,存储为 esriFieldTypeBlob。

由于嵌入存储为可重用的矢量表示,因此可在下游基于嵌入的分析工具中高效使用,而无需重新生成。

嵌入存储格式

嵌入以固定精度的 Float32 矢量表示,并存储于名为 Embedding 的二进制大对象 (BLOB) 字段中。 规范的磁盘表示形式为原始字节序列,包含编码为小端 IEEE-754 32 位浮点数 (<f4) 的嵌入值,按元素顺序(索引 0, 1, …, D-1)连续存储。 该格式紧凑、读写速度快且与语言无关;任何运行环境均可通过将 BLOB 字节解释为小端 float32 值来重新构建矢量。

嵌入维度 D 因模型而异,因此预期有效负载大小为 D * 4 字节。 当嵌入必须通过纯文本通道(如 JSON 或 ArcGIS 要素服务 REST API)传输时,相同的二进制有效负载将以 Base64 字符串的形式进行传输。 除明确采用小端 float32 格式外,不假定任何平台相关的结构布局或特定语言的序列化方式。

最佳做法

使用该工具时,建议遵循以下最佳做法。

为影像选择嵌入格网大小

当基于栅格影像生成嵌入时,格网大小参数控制每个嵌入所概括的地面区域。 由于相似性搜索基于这些嵌入进行,因此格网大小会影响对象表示的精度和匹配的准确性。

如果格网大小相对于目标对象过大,多个特征及周围背景可能被合并到单个嵌入中。 这可能导致相似性响应范围扩大、边界精度下降。 如果格网大小过小,对象可能被分割到多个嵌入单元,从而偏向局部纹理而非整体结构。

通常,当目标对象跨越多个嵌入单元而非仅包含在一个单元内时,可获得有效结果。 这有助于平衡结构细节与上下文完整性。

解读格网大小的影响

如何生成嵌入

在上述示例中,使用 1.4 米格网大小生成的嵌入在多个单元中保留了车辆结构,从而实现高度局部的相似性匹配。 使用 2.8 米格网大小时,每个嵌入概括了更大的区域,增加了上下文混合,导致相似性模式更为宽泛。

由于对象大小、影像分辨率和分析目标各不相同,因此不存在单一的最佳格网大小。 您应选择与待识别要素的尺度和结构复杂性相匹配的格网大小。 通过测试多种格网大小并比较相似性模式,即可确定最适合当前工作流的配置。