Skip to content

Conversation

xiaoqidaov2
Copy link

@xiaoqidaov2 xiaoqidaov2 commented Feb 18, 2025

基于动态稀疏化的嘴部伪影消除方案

一、问题发现(实践观察)

在部署Synctalk模型进行实时语音驱动面部动画时,我们观察到以下关键问题:

  1. 嘴部区域伪影
  • 音频特征可视化呈现明显的伪影
  • 快速口型变化时产生闪烁伪影
  1. 不确定性分布异常
  • 不确定性图在面部轮廓处持续高亮
# 原特征编码实现(问题根源)
def encode_x(self, xyz, bound):
    xy, yz, xz = self.split_xyz(xyz)
    feat_xy = self.encoder_xy(xy, bound=bound)
    feat_yz = self.encoder_yz(yz, bound=bound)
    feat_xz = self.encoder_xz(xz, bound=bound)
    return torch.cat([feat_xy, feat_yz, feat_xz], dim=-1)  # 直接拼接导致特征冗余

二、解决方案设计(动态稀疏化)

提出层级式稀疏约束:

class KSparseLinear(nn.Linear):
    def __init__(self, in_features, out_features, k, bias=True):
        super().__init__(in_features, out_features, bias)
        self.k = min(k, in_features)  # 安全约束
        
    def forward(self, x):
        output = super().forward(x)
        actual_k = min(self.k, output.shape[-1])  # 动态k值调整
        values, _ = torch.topk(output, actual_k, dim=-1)
        threshold = values[..., -1].unsqueeze(-1)
        return output * (output >= threshold).float()  # 硬阈值滤波

# 在网络中的关键集成点
def encode_x(self, xyz, bound):
    # ... 原有特征提取 ...
    return self.sparse_layer(torch.cat([feat_xy, feat_yz, feat_xz], dim=-1))  # 新增稀疏层

三、改进机制解析

  1. 伪影消除原理
  • 抑制局部高频噪声:通过k=min(k,dim)实现自适应降噪
  • 增强运动连续性:保留与发音肌肉协同运动相关的特征
  1. 不确定性优化
  • 特征稀疏化降低对表面细节的过度敏感
  • 动态阈值适应不同发音状态的特征复杂度

可视化对比:
未使用动态稀疏化:
image
image
image
image

使用动态稀疏化
image
image
image
image

@xiaoqidaov2
Copy link
Author

xiaoqidaov2 commented Feb 18, 2025

未使用KSparseLinear:
PSNR = 32.056255
LPIPS (alex) = 0.038065
LMD (fan) = 2.891654
image

使用KSparseLinear:
PSNR = 32.122964
LPIPS (alex) = 0.038312
LMD (fan) = 2.849545
image

@xiaoqidaov2
Copy link
Author

对比图,左边为未使用,右边使用
image
然而,如图所示,这种方法也仅能缓解,无法完全解决问题

@itzhoujun
Copy link

作者最近咋不活跃了。这个pr是否会被合并呢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants