嵌入世界:大规模可搜索航拍图像的多模态AI
本文探讨了如何利用多模态嵌入、大语言模型标注和向量搜索,将航拍图像库转化为可自然语言搜索的知识库。通过使用Amazon Bedrock和Amazon OpenSearch Serverless构建的五阶段管道,评估了不同嵌入模型、融合策略、标注方法和搜索技术。实验表明,Amazon Nova Multimodal Embeddings在基准查询中获得了最高的F1分数。该工作已发展为Vexcel Intelligence产品。
将航拍图像库转化为可自然语言搜索的知识库,是保险、房地产、政府、基础设施和农业等依赖地理空间数据的行业共同面临的问题。传统方法需要逐块手动检查或为每个新问题训练定制计算机视觉模型。多模态嵌入、大语言模型标注和AWS上的向量搜索提供了一种更快的替代方案:一次索引,然后使用自然语言进行查询。
我们与全球最大航拍图像项目之一的Vexcel合作,评估了多种嵌入模型、融合策略、标注集成和搜索方法。Vexcel使用自有传感器和专用飞机机队,在45多个国家和地区收集高分辨率数据,提供正射影像、多角度倾斜影像和数字高程模型。数据存在且用例众多,但将数十亿像素转化为关于真实世界的答案需要更快的途径。
本文详细介绍了问题空间、基于Amazon Bedrock和Amazon OpenSearch Serverless的架构、基于OpenStreetMap地面真值的评估方法,以及四项比较实验,包括嵌入模型比较、融合策略、标注方法和搜索技术。您将了解哪些设计选择对地理空间语义搜索至关重要,包括为什么Amazon Nova Multimodal Embeddings在评估中为两个基准查询提供了最高的F1分数。这里描述的工作已发展为Vexcel Intelligence,一个可搜索图像产品。
无需为每个特征训练即可搜索数百万张航拍图像
当客户需要定位郊区的游泳池、识别开发区的道路网络或统计整个城市的太阳能电池板时,必须有人手动逐块检查数百万张图像。另一种方法是为每个特征训练计算机视觉模型,这需要标注数据、工程时间和持续重新训练。当下一个客户想要查找侧面有涂鸦的仓库时,他们重复这一循环。基于向量嵌入的语义搜索消除了这一逐个特征训练步骤,将自然语言查询转化为几秒钟内得到的结果。
Vexcel曾通过三个先导概念验证探索此问题:结合图像和财产数据的基于代理的方法,用于相似性搜索的财产嵌入系统,以及带大语言模型标注的瓦片多模态嵌入管道。第三个显示出潜力,但提出了关键问题:使用哪种嵌入模型,如何处理每个位置的多个视角,以及标注是否实际改善结果或仅增加成本。
AWS生成式AI创新中心与Vexcel合作回答一个焦点问题:对于多视角航拍图像的语义搜索,嵌入模型、融合策略、标注方法和搜索技术的最优组合是什么?Vexcel提供了领域专业知识和真实世界数据,GenAIIC贡献了机器学习架构、完整的摄取到评估管道以及AWS服务集成。结果是Vexcel已发展为Vexcel Intelligence的系统,这是一个现处于预览阶段的产品,将其图像库转变为可搜索、可AI查询的解决方案。
为什么地理空间图像搜索不同
地理空间图像搜索与搜索消费者照片根本不同。对“游泳池”的查询在谷歌图片上检索来自单一视角的独立照片。航拍图像并非如此。单个地图瓦片不是一张图像,而是同一位置的七种互补视角。每个瓦片包括一个正射影像、四个从北、南、东、西方向捕捉的倾斜照片、一个编码包括结构物在内的数字表面模型,以及表示裸地高度的数字地形模型。这些视角揭示截然不同的细节,没有单一视图能提供完整故事。
地面真值挑战
消费者图像搜索有数十年的标注数据集,如ImageNet、COCO和Open Images。此规模的地标特征检测没有。我们需要一种无需预标注语料库即可评估搜索质量的方法,这使我们选择将OpenStreetMap作为自动地面真值来源,这一决策塑造了整个评估框架。第三个挑战是模糊性。考虑一个搜索“游泳池”返回一个瓦片,其中游泳池仅出现在正射影像中,而没有任何倾斜视图可见。尚不清楚该结果是否正确。反转情况同样模糊:一个瓦片中游泳池从南倾斜方向可见,但从上方看不到。缩放级别加剧了这一点。我们必须定义“正确”的含义才能衡量。
共同设计研究议程
在编写任何优化代码之前,我们构建了评估框架。这是故意的:先测量再调整。没有严格的方法来衡量搜索质量,每个架构决策都变成意见。该工作结构围绕六个问题,每个针对影响搜索质量的特定架构决策:哪种嵌入模型最好理解航拍图像?如何处理每个地理位置的七张图像?大语言模型生成的标注是否提高搜索精度?大语言模型提取的元数据能否改善过滤?对于不同特征类型,哪种搜索策略最佳?能否使用公开可用的地面真值构建自动化评估框架?评估区域是芝加哥的格兰特公园,使用两个基准查询:“游泳池”(离散对象检测)和“道路”(分布式基础设施检测)。我们测试了约100种配置。
架构概览
系统采用五阶段管道,每个阶段可独立交换用于A/B实验。阶段1:探索感兴趣区域。用户在交互式地图上绘制多边形定义感兴趣区域。阶段2:摄取图像。系统从Vexcel的API获取与感兴趣区域相交的每个地图瓦片的瓦片。每个瓦片最多可生成七种图像。阶段3:嵌入与索引。每个图像通过选定的Amazon Bedrock嵌入模型。可选地,七种视图发送到视觉大语言模型以生成结构化文本描述。然后将嵌入和标注索引到Amazon OpenSearch Serverless或S3 Vectors中。阶段4:搜索。自然语言查询使用相同模型嵌入,然后与索引匹配。系统自动检测索引中存在哪些字段,并动态启用仅索引支持的方法。阶段5:评估。搜索结果根据OpenStreetMap地面真值使用精确率、召回率和F1分数进行评分。模块化设计使可以轻松更换每个组件,实现快速实验。