识别AI生成视频的来源:Saga技术拆解
给一段AI生成的视频,想知道它是用Runway、Luma还是Sora跑出来的?这在以前基本靠猜,但Saga这个方案提供了一种通过源归属(Source Attribution)来精准锁定模型的方法。
对于需要构建AI内容审计工作流的开发者,建议把这种归属分析作为多模态验证的一环,而不是唯一标准。
下一篇
用Crystal + Kemal撸一个实时应用 →
简单来说,Saga的核心逻辑是捕捉不同生成模型在视频帧、运动矢量或潜在空间中留下的“数字指纹”。由于每个大模型的采样算法和噪声分布有细微差异,这些特征在视频渲染后依然存在。
如果你想在自己的工作流中尝试实现类似的检测逻辑,可以参考这个基础的特征提取思路:
import cv2
import numpy as np
def extract_frame_fingerprint(video_path):
# 提取视频关键帧并计算频率域特征
cap = cv2.VideoCapture(video_path)
features = []
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
# 将图像转为频域,分析高频噪声分布
f_transform = np.fft.fft2(frame)
f_shift = np.fft.fftshift(f_transform)
magnitude_spectrum = 20 * np.log(np.abs(f_shift))
features.append(np.mean(magnitude_spectrum))
cap.release()
return np.mean(features)
# 这里的逻辑是对比已知模型的特征库,匹配度最高的即为来源在实操中,这种归属分析比简单的水印检测要硬核得多,因为它不需要原厂预埋信息。不过实际部署时有几个坑:
- 压缩损失: 视频经过社交平台二次压缩后,高频特征会丢失,导致识别率直线下降。
- 后处理干扰: 如果视频经过了调色或加滤镜,指纹会被掩盖。
对于需要构建AI内容审计工作流的开发者,建议把这种归属分析作为多模态验证的一环,而不是唯一标准。