一、视觉层面的AI痕迹(技术识别)
| 特征 | 说明 | 如何检测 |
|---|---|---|
| 1. 画面局部不连贯(帧间抖动) | 扩散模型是逐帧生成,缺乏全局物理建模,物体形状/位置在相邻帧轻微变形 | 播放慢速(0.25x)或逐帧翻看,观察手、脸、头发、背景物体的微小闪烁/变形 |
| 2. 手指/面部畸变 | CLIP引导的图像生成对手部、牙齿、眼睛建模差 | 放大看手(常多指/少指/融合)、脸部表情僵硬、牙齿不齐 |
| 3. 文字渲染错误 | AI很难生成正确文字(尤其是中文) | 视频中出现标牌、书、屏幕 → 文字模糊、乱码、拼写错误 |
| 4. 光影不一致 | 光源方向、强度、反射不统一 | 观察多个物体的阴影方向是否矛盾 |
| 5. 背景与前景融合异常 | 自动配图常“硬贴”,深度感错误 | 人物与背景边缘生硬,或人物“浮”在背景上 |
| 6. 运动轨迹不自然 | 缺少真实物理惯性 | 物体移动路径突兀、速度不匀、没有预期加速度 |
二、内容逻辑层面的AI痕迹(语义识别)
| 特征 | 说明 | 如何检测 |
|---|---|---|
| 1. 画面与文本“似是而非” | 关键词命中,但细节错位 | 文本说“老人坐在公园长椅上看书”,画面却是“年轻人站在操场拿书” |
| 2. 叙事缺乏因果 | 镜头切换无逻辑 | 上一秒下雨,下一秒晴天无过渡;人突然换衣服 |
| 3. 重复动作/静态感 | 扩散模型倾向生成“循环小动作” | 人物反复点头、眨眼、手微动,像“活照片” |
| 4. 缺乏交互细节 | 真实视频有微交互(风吹头发、手扶物体) | AI视频中头发静止、衣服无褶皱反应 |
三、技术检测方法(可自动化)1. 频域分析(FFT / 高频噪声)
- 真实视频:压缩噪声、自然纹理
- AI视频:高频噪声模式异常(扩散模型残留的“网格状”或“云雾状”噪声)
- 工具:用Python + OpenCV做FFT,观察频谱图是否有规则条带
python
import cv2
import numpy as np
import matplotlib.pyplot as plt
frame = cv2.imread("frame.jpg", 0)
f = np.fft.fft2(frame)
fshift = np.fft.shift(f)
magnitude = 20 * np.log(np.abs(fshift))
# AI视频常有“环形”或“网格”高频 artifact
2. CLIP语义一致性检测
- 提取每帧图像,用CLIP计算图像-文本相似度
- 真实视频:相似度波动小且高
- AI视频:相似度高但分布异常(局部匹配,整体不连贯)
python
# 伪代码
for frame in video:
sim = clip_similarity(frame, prompt)
if sim < 0.6 or 剧烈波动: → 疑似AI
3. 光学流(Optical Flow)分析
- 计算相邻帧像素运动向量
- AI视频:运动场不连续,有“跳跃”或“噪声块”
- 工具:RAFT、FlowNet2
4. 元数据与编码分析
- 检查视频编码器:AI工具常输出固定码率、特定容器(如WebM/VP9)
- 缺少相机EXIF、镜头畸变、传感器噪声
四、实用识别流程(人工+工具结合)
1. 慢放视频 → 看手、脸、文字、光影
2. 截帧放大 → 找手指畸变、文字乱码
3. 看运动 → 是否有物理惯性?风吹反应?
4. 对比文本 → 画面是否“只沾边”?
5. 用工具:
- https://hive.moderation.com/ (AI内容检测API)
- https://illuminarty.ai/ (免费检测)
- 本地跑CLIP + 光学流脚本
五、当前最强AI视频也难逃的弱点(2025年)
| 模型 | 仍存在的破绽 |
|---|---|
| Sora / Runway Gen-3 | 复杂交互(多人握手、物体传递)失败 |
| Luma Dream Machine | 文字几乎全错 |
| Pika 1.5 | 背景穿模严重 |
只要不是电影级特效,99%的“文本+配图”视频都能被识破。
总结:识别口诀(5秒判断法)
“手乱、字花、光不对、动不真、意不准”
- 手乱 → 手指畸形
- 字花 → 文字模糊/错
- 光不对 → 阴影矛盾
- 动不真 → 物理假
- 意不准 → 画面不贴文本
只要满足3条以上,基本可判定为 AI生成。