Meta:大规模视频隐形水印技术

作者:Wes Castro, Zeki Yalniz
来源:https://engineering.fb.com/2025/11/04/video-engineering/video-invisible-watermarking-at-scale/

在 Meta 平台上运用隐形水印技术处理各类内容溯源场景。隐形水印技术可应用于多种场景,包括检测 AI 生成视频、验证视频首发者身份,以及追溯视频来源与制作工具。

本文将分享 Meta 如何克服隐形水印技术扩展过程中的挑战,包括如何构建基于 CPU 的解决方案,该方案不仅能提供与 GPU 相当的性能,更具备更优的运行效率。

Meta:大规模视频隐形水印技术

隐形水印是一种强大的媒体处理技术,它允许我们将信号嵌入媒体中,这种嵌入方式对人类来说是不可见的,但对软件来说是可检测的。这项技术为内容溯源标记(指示内容的来源)提供了一种可靠的解决方案,从而能够识别和追踪内容,支持各种应用场景。隐形水印的核心原理是通过巧妙地修改图像中的像素值、音频中的波形或大型语言模型(LLM)生成的文本标记,来嵌入少量数据。水印系统的设计增加了必要的冗余机制;这确保了嵌入的标识信息在转码和编辑过程中始终存在,而不会像元数据标签那样丢失。

将隐形水印解决方案大规模应用于生产环境面临诸多挑战。在本文中,我们将探讨如何克服部署环境、比特率提升和视觉质量下降等方面的难题,以适应实际应用场景。

一些有用的定义

数字水印、隐写术和隐形水印是相关概念,但理解它们的区别很重要:

特征数字水印隐写术隐形水印
目的内容归属、保护、来源秘密通讯内容归属、保护、来源
能见度可见或不可见无形的无形的
鲁棒性反对内容修改中等至高通常较低高(经得起编辑)
有效载荷/消息容量中等(不固定)因情况而异中等(例如,>64 位)
计算成本从低(可见)到高(不可见)因情况而异高(高级机器学习模型)

内容标记的必要性

在当今数字环境中,内容不断被分享、混编甚至由人工智能生成,这引发了重要问题:

谁是视频的首发布者?

如图 1 所示的照片中,可见两个不同的用户名,但没有视觉标识表明谁是该图片的首上传者。隐形水印技术可帮助追溯视频的首次上传时间。

Meta:大规模视频隐形水印技术
图 1:两个用户在 Instagram Reels 上上传的似乎是同一视频的屏幕截图

这真的是 一张照片吗?​​ ​​  

随着生成式 AI(GenAI)视频的逼真度日益提高,区分真实内容和 AI 生成内容变得越来越具有挑战性。隐形水印可用于推断图 2 所示内容是否由 AI 生成。

Meta:大规模视频隐形水印技术
图 2:AI 生成的图像

使用的是什么相机? 

当看到像图 3 中那样引人入胜的图片或视频时,人们常常会好奇其来源和创作工具。隐形水印可以直接提供这些信息。

Meta:大规模视频隐形水印技术
图 3:使用 Ray-Ban Meta 眼镜拍摄的视频截图

传统的诸如视觉水印(可能会分散注意力)或元数据标签(如果视频被编辑或重新编码,则可能会丢失)等方法,并不能充分且稳健地应对这些挑战。由于其持久性和不可察觉性,隐形水印提供了一种更优的替代方案。

扩展之旅:从 GPU 到 CPU

早期的数字水印研究(始于20世纪90年代)采用数字信号处理技术(例如DCT和DWT)来改变图像的频谱特性,从而隐藏难以察觉的信息。尽管这些方法对于静态图像非常有效,并被认为是一个“已解决的问题”,但它们对于我们在社交媒体和其他实际应用中常见的各种几何变换和滤波手段却缺乏足够的鲁棒性。 

当今最先进的解决方案(例如VideoSeal)采用机器学习 (ML) 技术,显著提高了对社交媒体中常见的各种编辑行为的鲁棒性。然而,如果没有必要的推理优化,将这些解决方案应用于视频问题领域(即逐帧水印)可能会产生过高的计算成本。 

对于部署基于机器学习的视频水印解决方案而言,GPU 似乎是显而易见的选择。然而,大多数类型的 GPU 硬件都专用于训练和推理大规模模型(例如 LLM 和扩散模型)。它们对视频转码(压缩和解压缩)的支持有限或完全缺失。因此,实现视频的隐形水印对我们现有的视频处理软件(FFmpeg)和硬件栈(不具备视频转码功能的 GPU 或其他不具备高效机器学习模型推理能力的定制视频处理加速器)提出了独特的挑战。

GPU 优化尝试与向 CPU 的转变

我们的嵌入架构使用 FFmpeg 和自定义过滤器来计算视频并应用不可见的水印掩码。该过滤器作为一个可重用的模块,可以轻松添加到现有的视频处理流程中。迁移到更优化的预热模型推理服务意味着牺牲 FFmpeg 过滤器的灵活性,因此对于我们的应用而言,这不是一个可行的选择。

对我们的隐形水印过滤器进行性能分析后发现,其 GPU 利用率较低。我们在过滤器中实现了帧批处理和线程化,但这些努力并未显著改善延迟或利用率。配备硬件视频编码器和解码器的 GPU 更容易实现高吞吐量,但我们服务可用的 GPU 缺少视频编码器,因此需要将帧发送回 CPU 进行编码。在这种情况下,对于在 GPU 上使用低复杂度机器学习模型的流水线而言,软件视频编码器最终可能会成为主要瓶颈。

具体来说,我们遇到了三个主要瓶颈:

  • 数据传输开销:在 CPU 和多个 GPU 之间来回传输高分辨率输入视频帧对线程和内存优化提出了挑战,导致 GPU 利用率不理想。 
  • 推理延迟:在同一主机上的多个 GPU 上并行处理多个不可见水印请求,导致推理延迟急剧增加。
  • 模型加载时间:尽管模型体积很小,但加载模型却消耗了相当一部分总处理时间。由于依赖 FFmpeg,我们无法在 GPU 上使用预热加载的模型。

意识到这些局限性后,我们开始研究纯 CPU 推理。嵌入器的神经网络架构更适合 GPU,初步基准测试表明,CPU端到端性能比 GPU 慢两倍以上。通过调整编码器、解码器和 PyTorch 的线程参数,并优化不可见水印滤波器的采样参数,我们获得了显著的性能提升。 

最终,通过适当调整线程和嵌入参数,在 CPU 上以单个进程运行不可见水印的端到端延迟与 GPU 性能的差距控制在 5% 以内。至关重要的是,我们可以在 CPU 上并行运行多个 FFmpeg 进程而不会增加延迟。这一突破使我们能够计算所需的容量,并获得比基于 GPU 的解决方案更高效的运行方案。

为了验证我们的 CPU 解决方案在分布式系统中的可扩展性,我们进行了全面的负载测试。给定一组 CPU 工作节点,我们生成了请求速率逐渐增加的测试流量,以确定请求延迟开始上升之前的峰值性能点。为了进行比较,我们使用相同的参数,在一组具有类似性能的 GPU 工作节点上进行了 GPU 推理测试。结果证实,我们的 CPU 解决方案能够大规模运行,与本地测试结果相当。这一成果使我们能够以比基于 GPU 的方法更高的运营效率提供所需的容量。

优化考量与权衡

大规模部署隐形水印技术面临诸多优化挑战,主要涉及以下四个指标之间的权衡:

  • 延迟:水印过程发生的速度
  • 水印检测位精度:检测嵌入式水印的准确率
  • 视觉质量:确保嵌入的水印人眼无法察觉。
  • 压缩效率(以BD-Rate衡量):确保嵌入的水印不会显著增加比特率。

针对某一指标进行优化可能会对其他指标产生负面影响。例如,为了提高比特率而使用更强的水印可能会导致可见的瑕疵和更高的比特率。我们无法为所有四个指标都找到完美的最优解。

管理 BD-Rate 影响

隐形水印虽然不易察觉,但会增加视频熵,从而导致视频编码器的比特率升高。我们最初的实现方案显示,BD-Rate 下降了约 20%,这意味着用户需要更高的带宽才能观看带有水印的视频。为了缓解这个问题,我们设计了一种新颖的帧选择水印方法,该方法能够大幅降低 BD-Rate 的影响,同时提高视觉质量,并将对水印比特检测精度的影响降至最低。

解决视觉质量下降问题 

我们需要确保“隐形”水印真正做到隐形。尽管各项指标(VMAF 和 SSIM)得分很高,但我们最初观察到明显的视觉瑕疵。

我们通过实施自定义后处理技术并结合众包人工检查,迭代不同的嵌入设置,解决了视觉质量评估问题。这种主观评估对我们至关重要,因为传统的视觉质量指标不足以检测出不可见水印有时会引入的瑕疵。在调整算法以使其能够被人眼察觉的过程中,我们密切监控比特精度的影响,以在视觉质量和检测精度之间取得最佳平衡。

经验教训与未来之路

我们部署可扩展、无痕水印解决方案的过程获得了宝贵的经验:

通过适当的优化,仅使用 CPU 的流水线在特定应用场景下可以达到与 GPU 流水线相媲美的性能,且成本更低。与我们最初的设想相反,经过正确的优化,CPU 为我们的隐形水印系统提供了更高效、更具可扩展性的解决方案。虽然 GPU 在隐形水印模型推理方面仍然更快,但我们通过优化降低了 CPU 集群的整体计算量和延迟。

传统的视频质量评分不足以评估隐形水印技术:我们发现,诸如 VMAF 和 SSIM 之类的指标并不能完全反映隐形水印技术引入的感知质量问题,因此需要人工检查。我们需要开展更多研究,开发一种能够以编程方式检测隐形水印技术造成的视觉质量损失的指标。

生产应用对质量的要求很高:由于水印技术会对BD-Rate和下游视频压缩造成影响,因此可能无法直接应用于实际场景。我们需要拓展相关文献,在保持检测所需的高比特精度的同时,尽可能降低对BD-Rate的影响。

我们成功交付了一款可扩展的水印解决方案,该方案具有出色的延迟、视觉质量、检测位精度,并且对 BD-Rate 的影响极小。

我们的目标是持续提升隐形水印检测的精确率和复制检测召回率。这将涉及进一步调整模型参数、预处理和后处理步骤以及视频编码器设置。最终,我们设想隐形水印技术将成为一个轻量级的“过滤模块”,无需针对特定产品进行调整即可无缝集成到各种视频应用场景中,在提供强大的内容溯源功能的同时,最大限度地减少对用户体验的影响。

版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。

(0)

相关推荐

发表回复

登录后才能评论