微信视觉团队斩获CVPR Video Similarity大赛双赛道冠军,视频号也用到了这些技术
前言 视频的内容理解在内容审核、产品运营和搜索推荐等场景都有重要作用。其中,Video Similarity(视频相似性)是视频理解最底层最重要的技术之一,应用在短视频搬运打击、直播录播和盗播打击以及黑库检索等场景,这些应用对视频内容生态至关重要。微信视觉团队报名参加了 CVPR 2023 Video Similarity Challenge,该比赛由 Meta AI 主办,旨在推动视频拷贝检测领域的进步。团队最终获得该比赛双赛道冠军,得分远超其他团队,相关技术方案也在视频号落地使用。
本文转载自机器之心
仅用于学术分享,若侵权请联系删除
欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。
【CV技术指南】CV全栈指导班、基础入门班、论文指导班 全面上线!!
任务背景
视频拷贝检测(Video Copy Detection)旨在检测一个视频是否拷贝了另外一个视频,包括完整拷贝、片段剪辑以及各种滤镜特效花边字幕等编辑对抗。这种技术起源于视频版权保护,随着短视频平台的兴起,视频创作如雨后春笋般涌现,互联网上每天有上亿的新视频创作和分享,同时也伴随着极其严重的拷贝。如何打击拷贝、鼓励原创,对短视频平台的内容生态至关重要。而因为其中伴随巨大经济利益,黑灰产会通过各种编辑手段对抗检测,这对技术提出了巨大的挑战。下面是一些视频拷贝的实际例子,左边和右边分别是同一视频的不同拷贝版本。
图 1:视频号的实际拷贝视频举例,有片段剪辑、剪裁、加黑边等对抗
比赛介绍
Video Similarity Challenge 是由 Meta AI 在 CVPR 2023 Workshop 上举办的竞赛,奖金 10 万美元,旨在推动视频拷贝检测领域的进步。比赛设立了 Descriptor Track 和 Matching Track 两个赛道,Descriptor Track 的目的是生成视频 embedding 计算两个视频相似得分,embedding 可以通过向量索引快速召回相似视频;而 Matching Track 则可以对召回的结果做精确的匹配,并进一步定位到拷贝片段。Descriptor Track 和 Matching Track 是 Video Copy Detection 工作中的两个环节,每个环节对于最终的检测效果都有重要的影响。
图 2:Video Copy Detection 中 Descriptor Track 和 Matching Track 的关系。Descriptor Track 生成视频 embedding 并从参考视频中召回被拷贝视频,Matching Track 在此基础上定位拷贝片段。
数据
数据集中主要包含 query 和 reference 两类 video,其中 reference 一般是用户正常发表的视频,与之存在拷贝关系的 query 则是通过一些编辑方法,对 reference 中的片段进行搬运和拷贝,从而产生的新视频。下表是比赛数据集的分布统计情况,阶段 1 和阶段 2 是两个独立的封闭测试阶段,两个测试阶段的 reference 集合一致。
通常来讲,如果存在拷贝关系,query 和 video 在视频的某些片段上,会存在高度的语义相似性。但并非所有的相似视频都存在拷贝关系,如下图所示,query 和 reference 虽然是相似视频,但它们在视频语义层面并不存在拷贝关系。所以判断 query 和 reference 是否存在拷贝关系,需要分析和比对整个 video 层面的语义,这也是本次挑战赛的难点之一。
图 3:拷贝视频样例,左边为 reference 视频,右边为拷贝了 reference 片段的 query 视频
图 4:左边为 reference 视频,右边为正常的 query 视频,两者相似但不存在拷贝关系
评测方法
Descriptor Track,需要模型给每个 query 和 reference 推理至多 1 fps 的 embedding 集合,通过计算两个 embedding 集合的 pairwise 最大内积相似性,得到每个 query 和 reference pair 拷贝关系的预测置信度。所有 query 和 reference 的置信度得分降序排列,通过一个全局的置信度阈值来控制召回的 pair 数目,最终与 ground truth 计算 micro-average precision。
Matching Track,模型需要不仅给出存在 copy 关系的 query 和 reference,还要求定位 copy segment 在 query 和 reference 中的起始位置,以及相应置信度。下图给出了单个 segment 上 precision-recall 计算方法,可以看出 segment location 与真实 ground truth 的重合度越高,对应的 pr 值也越高。所有 segments 按置信度降序排列,最终与 ground truth 计算 micro-average precision。
图 5:matching track 单个 segment 的 precision-recall 计算方法
相关工作
Descriptor Track
Descriptor 主要依赖 embedding 做召回,而 contrastive learning 依托于其高效率的学习方法,逐渐成为训练 embedding 的主流方法。微信视觉团队在 descriptor track 也基于对比学习的方案,并对几篇经典的工作做了简单梳理。SimCLR [20] 采用了随机裁剪、缩放、翻转、色彩失真和高斯模糊等更多样的增强方法和组合,将同一批次内的其他样本作为负样本,框架简单,效果显著,但是受 batch size 大小影响大。MoCo [22] 构造了一个负样本队列来扩大采样的负样本数量和范围,并通过动量编码器更新队列,从而避免了受 batch size 大小的影响。BYOL [21] 采用了非对称的结构,不需要负样本,通过自举学习,使用两个网络(在线网络和目标网络)来训练模型来避免 model collapse 的问题。SwAV [18] 引入了聚类的思想,不再需要成对的比较,而是比较在不同视角下的聚类结果。DINO [19] 动态更新 teacher-student 网络,利用 teacher 蒸馏 student,用 momentum 机制做平滑,增加稳定性同时避免 collapse。
Matching Track
拷贝片段的定位通常基于帧级别特征,因此传统方法会产生一个帧到帧的相似度矩阵,在该相似度矩阵上定位连续片段。早期的工作有时序霍夫投票 (Temporal Hough Voting)[15],基于图结构的时序网络 (Graph-based Temporal Network)[16],和动态规划算法 (Dynamic Programming)[17]。随后,SPD [13] 将目标检测引入该任务,使任务变为从相似度矩阵上检测拷贝区域。最近的 TransVCL [14] 引入 Transformer 结构进一步学习视频间和视频内的帧级别特征交互,取得了最新的 SOTA 结果。在比赛中,微信视觉团队复现了 Temporal Network 和 TransVCL,并提出了自己的新方案,在比赛数据集上,微信视觉团队的方案远超这些学术 SOTA 方案。
Descriptor Track 解决方案
问题分析
Descriptor Track 的核心目的是基于 embedding 召回潜在的 copy video pair,在学术方法上,对比学习 contrastive learning 是训练 embedding 的有效手段。因此如何在该场景下,针对数据集的特点和难点,训练一个高效率的 embedding 是微信视觉团队要探究的课题。首先,微信视觉团队对数据做了细致的分析,总结了数据集中的几种常见样本:
- 无增强的视频,它们更接近用户发表的原视频。经过统计发现,该类 query 存在 copy reference 的概率很低,但极易造成相似视频的误召回。
- 随机增强的视频,官方为了增加数据集的复杂性,对 query 和 reference 都做了不同程度的随机增强,包括基础的 GaussNoise、GaussBlur、Crop、Pad、Rotation、ColorJitter、Compression 等,也包含复杂的 OverlayEmoji、OverlayText、OverlayVideo 等。
- 多场景视频,另一种困难样本主要是在视频帧中堆叠多个场景,这导致了同一帧中的场景差异很大,同时不同场景又各自会经过不同的增强,这使得常规的方式很难处理好这种样本。
图 6:Query 视频中的 3 种类型的样本,(a) 无增强视频;(b) 增强视频;(c) 多场景视频
解决方案
经过数据分析,微信视觉团队明确了该任务的主要难点,针对这些难点,提出了一个两阶段检测方法来识别拷贝视频。图 7 展示了微信视觉团队解决方案的整体框架,该方法主要分为 Frame-Level Embedding,Video Editing Detection 和 Frame Scenes Detection 三个模块。
图 7:微信视觉团队提出的解决方案的推理过程,(a) query 视频经过 Video Editing Detection 模块得到高置信度的 query; (b) query 的每一帧经过 Frame Scenes Detection 做分析和多图拆解;(c) 每一帧视频经过基线模型提取 embedding,形成 query 的视频帧 embedding 集合。
1. Frame-Level Embedding
模型框架:由于需要兼容 Matching Track 对帧级别特征的需求,微信视觉团队训练的表征模型是在帧级别上进行的,主要基于 contrastive learning 框架进行自监督训练。对于采样到的视频帧,微信视觉团队基于上面提到的增强方式对视频帧进行不同的变换增强得到两张图像作为正样本,其他图像作为负样本进行学习。为了测试不同种类的基础 backbone 性能,以及方便后续做模型 ensemble,微信视觉团队训练了 CNN-based、ViT-based 以及 Swin Transformer-based models 作为对比学习的基线模型。最终做 embedding ensemble 时,每帧视频共提交了 4 组 embedding,拼接后经过 PCA 算法降维到官方要求的维度。损失函数:在损失函数上,除了常用的 InfoNCE Loss,微信视觉团队参考 SSCD [1] 引入了 Differential Entropy Loss [3],该损失的作用可以直观地理解为在特征空间中将同一 batch 内最近的负样本推远。
公式中的 N 表示 batch 中的样本数量,z 表示图像特征,
2. Video Editing Detection
微信视觉团队统计发现,无增强视频通常不是拷贝视频,并且会带来错误的召回,而图像表征模型训练得越好,这种错误召回的置信度就越高,所以在单帧的语义表征层面很难处理这种情况。因此,微信视觉团队用一个 video-level 的分类模型来初步判断 query 中是否存在增强信息,如不存在增强,就使用一个模值非常小的随机向量作为 query 的表征,这样在召回过程中与任意 reference 的拷贝置信度非常小,不会产生置信度很高的错误召回。
Video Editing Detection 的模型结构为 CLIP [2] 和 Roberta [4,6] 两个部分,微信视觉团队用 CLIP ViT-L/14 提取视频帧特征,然后将特征序列输入到 Roberta 模型中,进行二分类,这个模型在比赛数据集上的 Accuracy 和 AP 都可以达到 0.98 以上。
3. Frame Scenes Detection
在该任务场景中,多场景视频是一种典型的困难样例,微信视觉团队发现多场景通常是在水平或垂直方向上的拼接,这使得采用传统的边缘检测方法就能检测帧内是否存在不同的场景区域并进行切分子图。微信视觉团队将切分后得到的子图也分别提取特征,作为该视频帧的表征。
Matching Track 解决方案
图 8:Matching Track 解决方案,(a) Feature Extraction 前处理模块提取视频帧粒度的特征矩阵;(b) Similar Segment Matching 模块基于相似性矩阵预测潜在的 copy 路径;(c) Similar Segment Parsing 模块解析得到具体的 copy 片段。
解决方案
1. Feature Extraction
微信视觉团队的 Matching Track 解决方案是在 Descriptor Track 方案的基础上设计的,因此团队沿用 Descriptor Track 的 Frame Scenes Detection 以及 Frame-Level Embedding 两个模块来做前处理提取特征。在 Matching Track 的方案中,由于存在更细粒度的后处理模块,故没有 Video Editing Detection 模块。
2. Similar Segment Matching
微信视觉团队的解决方案基于 query 视频和 reference 视频的相似度矩阵来定位 copy 片段,将 query 视频和 reference 视频统一截断或者填充到长宽均为 128 的相似度矩阵,采用高分辨率网络 HRNet-w18 [8] 作为处理相似度矩阵图的骨干网络,输出的目标为根据 ground truth 生成的热图,以准确反映匹配关系。在下图 9 中展示了一些实际的输入和输出的样例,可以看到左侧 3 个 copy 片段在模型处理后十分明显。
图 9:Matching Track 模型处理的一些实例,第一行为输入的原始相似度矩阵,第二行为经过 HRNet 后输出的匹配关系图,左边 3 个例子为存在 copy 片段的结果,右边 2 个为不存在 copy 片段的结果。
3. Similar Segment Parsing
在获得准确的匹配关系图后,需要从中解析得到 copy 片段的具体位置,在这里微信视觉团队有两个设计:(1) 使用分类模型来过滤错误的 matching 结果,比如图 7 中右边 2 个样例,通过一个简单的分类模型可以过滤掉。(2) 使用连通分量算法和 RANSAC 回归算法 [9] 来识别匹配图中的 copy 片段的位置。
比赛结果
微信视觉团队团队最终包揽了 Video Similarity Challenge 双赛道的冠军,并且在得分上远超其他团队,证实了微信视觉团队解决方案的有效性。
Descriptor Track 最终榜单
Matching Track 最终榜单
在 Descriptor Track 上,微信视觉团队在 uAP 指标上取得了 0.8717 的成绩,相比第 2 名的 0.8514 有明显提升;在 Matching Track 上,微信视觉团队的方案展现了惊人的效果,在 uAP 指标上达到了 0.9153,远超其他参赛者,本文的相关工作已发表于 [10][11] 。
总结和展望
微信视觉团队在 Video Similarity Challenge 上夺得双赛道冠军,展示了团队在视频相似检索和 copy detection 技术上处于业界领先地位。目前,相关技术已经落地到视频号产品中,后续将持续优化,打击黑灰产,维护微信的内容生态健康。
参考文献
[1] Ed Pizzi, Sreya Dutta Roy, Sugosh Nagavara Ravindra, Priya Goyal, and Matthijs Douze. A self-supervised descriptor for image copy detection. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 14532–14542, 2022
[2] Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, Sandhini Agarwal, Girish Sastry, Amanda Askell, Pamela Mishkin, Jack Clark, et al. Learning transferable visual models from natural language supervision. In International conference on machine learning, pages 8748–8763. PMLR, 2021
[3] Alexandre Sablayrolles, Matthijs Douze, Cordelia Schmid, and Herv ́e J ́egou. Spreading vectors for similarity search. arXiv preprint arXiv:1806.03198, 2018
[4] Yiming Cui, Wanxiang Che, Ting Liu, Bing Qin, Shijin Wang, and Guoping Hu. Revisiting pre-trained models for Chinese natural language processing. In Proceedings of the 2020 Conference on Empirical Methods in Natural Language Processing: Findings, pages 657–668, Online, Nov. 2020. Association for Computational Linguistics.
[5] Ting Chen, Simon Kornblith, Mohammad Norouzi, and Geoffrey Hinton. A simple framework for contrastive learning of visual representations. In International conference on machine learning, pages 1597–1607. PMLR, 2020
[6] Yiming Cui, Wanxiang Che, Ting Liu, Bing Qin, Ziqing Yang, Shijin Wang, and Guoping Hu. Pre-training with whole word masking for chinese bert. arXiv preprint arXiv:1906.08101, 2019
[7] Alexey Dosovitskiy, Lucas Beyer, Alexander Kolesnikov, Dirk Weissenborn, Xiaohua Zhai, Thomas Unterthiner, Mostafa Dehghani, Matthias Minderer, Georg Heigold, Sylvain Gelly, et al. An image is worth 16x16 words: Transformers for image recognition at scale. arXiv preprint arXiv:2010.11929, 2020.
[8] Ke Sun, Bin Xiao, Dong Liu, and Jingdong Wang. Deep high-resolution representation learning for human pose estimation. In CVPR, 2019
[9] Martin A Fischler and Robert C Bolles. Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography. Communications of the ACM, 24 (6):381–395, 1981
[10] Tianyi Wang, Feipeng Ma, Zhenhua Liu, Fengyun Rao. A Dual-level Detection Method for Video Copy Detection. arXiv preprint arXiv:2305.12361, 2023.
[11] Zhenhua Liu, Feipeng Ma, Tianyi Wang, Fengyun Rao. A Similarity Alignment Model for Video Copy Segment Matching. arXiv preprint arXiv:2305.15679, 2023.
[12] Giorgos Kordopatis-Zilos, Symeon Papadopoulos, Ioannis Patras, and Ioannis Kompatsiaris. Visil: Fine-grained spatio-temporal video similarity learning. In
IEEE International Conference on Computer Vision (ICCV), 2019.
[13] Chen Jiang, Kaiming Huang, Sifeng He, et al. Learning segment similarity and alignment in large-scale content based video retrieval. In Proceedings of the 29th ACM International Conference on Multimedia. 2021.
[14] Sifeng He, Yue He, Minlong Lu, Chen Jiang, et al. TransVCL: Attention-enhanced Video Copy Localization Network with Flexible Supervision. arXiv preprint arXiv:2211.13090.
[15] Douze, Matthijs, Hervé Jégou, and Cordelia Schmid. An image-based approach to video copy detection with spatio-temporal post-filtering. IEEE Transactions on Multimedia, 2010.
[16] Tan, Hung-Khoon, et al. Scalable detection of partial near-duplicate videos by visual-temporal consistency. In Proceedings of the 17th ACM international conference on Multimedia. 2009.
[17] Chou, Chien-Li, Hua-Tsung Chen, and Suh-Yin Lee. Pattern-based near-duplicate video retrieval and localization on web-scale videos. IEEE Transactions on Multimedia, 2015.
[18] Mathilde Caron, Ishan Misra, Julien Mairal, Priya Goyal, Piotr Bojanowski, and Armand Joulin. Unsupervised learning of visual features by contrasting cluster assignments. Advances in neural information processing systems, 33:9912–9924, 2020.
[19] Mathilde Caron, Hugo Touvron, Ishan Misra, Herv ́e J ́egou, Julien Mairal, Piotr Bojanowski, and Armand Joulin. Emerging properties in self-supervised vision transformers. In Proceedings of the IEEE/CVF international conference on computer vision, pages 9650–9660, 2021.
[20] Ting Chen, Simon Kornblith, Mohammad Norouzi, and Geoffrey Hinton. A simple framework for contrastive learning of visual representations. In International conference on machine learning, pages 1597–1607. PMLR, 2020.
[21] Jean-Bastien Grill, Florian Strub, Florent Altch ́e, Corentin Tallec, Pierre Richemond, Elena Buchatskaya, Carl Doersch, Bernardo Avila Pires, Zhaohan Guo, Mohammad Gheshlaghi Azar, et al. Bootstrap your own latent-a new approach to self-supervised learning. Advances in neural information processing systems, 33:21271–21284, 2020.
[22] Kaiming He, Haoqi Fan, Yuxin Wu, Saining Xie, and Ross Girshick. Momen-tum contrast for unsupervised visual representation learning. In Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, pages 9729–9738, 2020.
欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。
【技术文档】《从零搭建pytorch模型教程》122页PDF下载
QQ交流群:470899183。群内有大佬负责解答大家的日常学习、科研、代码问题。
其它文章
ICLR2023 | 扩散生成模型新方法:极度简化,一步生成
小内存有救了!Reversible ViT:显存减少15倍,大模型普及曙光初现!
此「错」并非真的错:从四篇经典论文入手,理解Transformer架构图「错」在何处
CVPR 2023 | 即插即用!SQR:对于训练DETR-family目标检测的探索和思考
CVPR 2023 Highlight | 西湖大学提出一种全新的对比多模态变换范式
libtorch教程(一)开发环境搭建:VS+libtorch和Qt+libtorch
NeRF与三维重建专栏(三)nerf_pl源码部分解读与colmap、cuda算子使用
NeRF与三维重建专栏(二)NeRF原文解读与体渲染物理模型
BEV专栏(一)从BEVFormer深入探究BEV流程(上篇)
可见光遥感图像目标检测(三)文字场景检测之Arbitrary