亚马逊AWS官方博客

基于亚马逊云科技服务构建视频相似度检测方案

在短视频爆炸式增长的时代,海量视频内容的出现不仅为用户带来了丰富娱乐体验,也带来了一系列版权与内容重复问题。传统依靠人工或简单规则的视频检测方式已难以满足大规模视频处理的需求。今天,我们就来探讨如何利用先进的深度学习模型和 AWS 服务,实现高效的视频相似性检测。

一、方案背景与挑战

短视频平台每天都会产出海量内容,其中不乏一些创作者盗用他人视频发布的情况。传统的检测方式主要依赖视频标题、描述或者简单的规则匹配,无法应对数据量激增和不断变化的内容特性。为此,本方案提出了一种新的思路:

  • 自动化:通过 AI 模型自动提取视频特征,无需人工干预。
  • 高效性:采用无服务器架构,实现大规模并发处理与即时响应。
  • 精准度:利用预训练的深度学习模型,实现高维特征提取和精细相似性计算。

二、核心技术与实现原理

1. 视频相似度对比

方案核心在于对视频进行特征提取和相似度计算,主要步骤包括:

  • 视频抽帧:利用 OpenCV 对视频进行均匀抽帧,将视频分解为一系列图像帧。
  • 特征提取:使用预训练的 ResNet50 模型,对每一帧图像进行特征提取,生成一个 1000 维的特征向量。ResNet50 作为图像分类领域的经典模型,既能保证准确率,又具备较好的计算效率。
  • 向量矩阵构建:将视频中所有帧的特征向量整合成一个矩阵,为后续的相似性计算提供数据支持。
  • 相似度计算:利用余弦相似度等算法,对视频间的特征向量进行比对,计算出相似度得分,判断视频内容的相似程度。

2. 相似视频检索

针对相似视频的检索,本方案设计了一整套高效的向量检索流程:

  • 向量存储:将提取出的高维视频特征向量存入 HAQM OpenSearch 向量数据库,这为后续检索提供了高效、可扩展的数据存储方案。
  • 近似检索:利用 KNN(K-Nearest Neighbors)算法,在海量向量数据中快速找到与查询视频最为相似的向量。
  • 二次排序:对初步检索结果进行更精细的相似度计算,确保返回结果的精准性。

三、系统架构概览

整个方案采用无服务器架构,充分利用 AWS 的众多服务。简要的系统架构如下图所示:

架构中各组件职责明确:

  • HAQM SageMaker AI:部署 ResNet50 模型,通过 AWS Marketplace 订阅后,模型即服务(Model-as-a-Service)模式实现快速调用。
  • AWS CDK:利用 AWS CDK 实现一键部署,将各个组件(如 API Gateway、Lambda 函数等)快速、无缝集成。
  • HAQM OpenSearch:构建视频向量索引,支持高效的向量检索。
  • HAQM S3:作为视频文件的存储后端,结合 Lambda 实现实时数据更新与调用。

四、Demo部署与 API 接口

笔者已经实现了一个Demo项目,可以作为实践本方案的一种选择。

项目地址:http://github.com/aws-samples/sample-for-video-similarity-using-serverless

1. 项目部署

项目部署非常便捷,主要分为两步:

  1. 订阅并部署 ResNet50 模型
    前往 AWS Marketplace 完成一键订阅部署,并记下 SageMaker Endpoint Name。
    AWS Marketplace 提供了可免费订阅的ResNet50模型,支持一键部署至AWS SageMaker Inference Endpoint,在页面上订阅模型,然后使用Cloudformation一键部署(机型选择  ml.g4dn.xlarge 即可)。

  2. CDK 一键部署
    克隆项目代码,使用 AWS CDK 将整个项目部署到 AWS 环境中:

    cd src/cdk
    # 示例:指定 SageMaker 终端名称
    cdk deploy --parameters sagemaker_endpoint=ResNet50
    

部署完成后,获取 API Gateway 的 Endpoint,再调用接口创建 OpenSearch 索引:

curl --location 'http://{{apigateway.endpoint.url}}/create_opensearch_index' \
--header 'Content-Type: text/plain' \
--data '{}'

2. 主要 API 接口说明

项目主要提供以下API:

  1. 获取视频向量:生成视频向量数据;
  2. 将视频向量插入数据库:生成视频向量数据,并将向量数据插入到向量数据库中;
  3. 检索相似视频:通过一个视频在存储库中检索出相似视频;
  4. 对比两个视频相似度:输出给定的两个视频的相似度分数。

更多 API 的详细说明,参见项目 README 文件。

3. 测试结果

五、测试结果探讨以及进一步优化探索

从项目架构与实现来看,这个方案不仅展示了 AI 在视频内容识别领域的强大能力,更体现了 AWS 云服务在处理大规模数据和实现无服务器架构方面的优势,但是在一些方面仍有改进的空间,特别是在面对增加黑框和图像颜色变换后,视频的相似度会受到极大影响。

因为不同的业务场景对相似视频的定义不同(例如有的业务场景下,视频颜色变化后属于创新作品,而不应被认为相似作品),本方案设计的初衷还是在不改变视频原有特征的情况下做相似度比对,如果您对加黑框视频以及颜色变换视频有相似度检索需求,可以尝试在本方案的基础上进行以下探索:

  • 对视频进行预处理以增强鲁棒性,例如:检测并裁剪边框(如通过边缘检测或训练边框分割模型),提取特征前将图片转换为灰度图(牺牲颜色信息但提升对调色鲁棒性);
  • 提取特征向量时,尝试使用 DINO(Self-Supervised Vision Transformer)模型,可能对局部变换(裁剪、翻转、添加边框等)鲁棒性更强。

六、总结

在短视频内容激增的今天,如何在海量数据中精准快速地发现相似视频成为了一个亟待解决的问题。本方案通过结合 AI 模型、无服务器架构以及向量检索技术,构建了一个高效、自动化的视频相似性检测系统。这个项目不仅展示了技术的前沿应用,也为视频版权保护和内容管理提供了新的思路。

希望本文能够为大家在探索 AI 与 AWS 云服务融合应用时提供灵感。如果你对该项目感兴趣,欢迎关注、试用并提出宝贵建议,共同推动视频内容检测技术的发展!


*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您了解行业前沿技术和发展海外业务选择推介该服务。

本篇作者

张召

亚马逊云科技解决方案架构师,负责基于亚马逊云科技的云计算方案的架构设计,同时致力于亚马逊云科技的云服务在移动应用与互联网行业的应用和推广。拥有多年移动互联网研发及技术团队管理经验,丰富的互联网应用架构项目经历。