张芷铭的个人博客

小波多尺度分析通过不同层级捕捉视频速度操作的痕迹,结合机器学习实现视频真伪鉴定。

分层等级含义

层级捕捉内容视频分析对应
Level 1-2高频细节帧间微小变化、物体运动
Level 3-4中频成分场景变化、镜头切换
Level 5+低频趋势长期模式、速度操作痕迹

小波系数物理意义

系数类型物理意义视频分析对应
D (细节系数)高频快速变化速度操作干扰信号
A (近似系数)低频缓慢变化视频整体趋势
D3-D5低频细节速度操作周期性特征

特征提取流程

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
def extract_video_features(video_path):
    # 提取帧大小序列(EFS)
    efs, frame_types = extract_efs_ffprobe(video_path)

    # 自适应小波分解
    level = min(5, pywt.dwt_max_level(len(efs), wavelet.dec_len))
    coeffs = pywt.wavedec(efs, 'db4', level=level) if level > 0 else []

    features = []
    if coeffs:
        # 能量特征
        for i in range(1, len(coeffs)):
            energy = np.sum(coeffs[i]**2) / len(coeffs[i])
            features.append(energy)

        # 频谱特征
        mid_coeff = coeffs[len(coeffs)//2]
        fft = np.abs(np.fft.rfft(mid_coeff)[1:])
        features.extend([np.max(fft), np.mean(fft), np.std(fft)])

    return np.array(features)

分类系统

graph LR
A[原始视频] --> B[帧大小序列EFS]
B --> C[小波多尺度分解]
C --> D[特征提取]
D --> E[特征选择]
E --> F[分类模型]

集成分类器:RandomForest + SVM + XGBoost 加权融合

优化策略

  1. 自适应分解:根据视频长度动态选择分解层数
  2. 关键特征增强:D3-D5 层功率谱密度分析
  3. 迁移学习:冻结基础层微调顶层

Comments