
本报告对目标说话人语音活动检测(Target-Speaker Voice Activity Detection, TS-VAD)和个性化语音活动检测(Personalized Voice Activity Detection, Personal VAD/PVAD)领域的奠基性工作和最新SOTA方法进行全面深度分析。这两项技术是说话人日志(Speaker Diarization)领域的关键突破,为解决高度重叠语音场景下的"谁在何时说话"问题提供了全新的技术范式。
传统说话人日志系统采用级联架构:
语音活动检测(VAD) → 分段 → 说话人特征提取 → 聚类 → 重分段核心缺陷:
TS-VAD将说话人日志问题转化为多标签分类问题:
核心优势:
传统方法 | TS-VAD |
|---|---|
单说话人假设 | 多说话人并行预测 |
聚类依赖距离度量 | 神经网络端到端学习 |
重叠语音需后处理 | 原生支持重叠 |
DER ~60% (CHiME-6) | DER ~33% (CHiME-6) |
贡献1:TS-VAD架构设计
模型由三个核心模块组成:
输入层:MFCC/Fbank特征 + 说话人i-vectors
↓
编码器:CNN提取帧级嵌入
↓
独立说话人检测(ISD):BLSTM处理每个说话人独立特征
↓
联合说话人检测(JSD):BLSTM建模跨说话人和跨时间信息
↓
输出层:N个二分类头,预测每个说话人的帧级活动数学表达:
设输入特征为$X \in \mathbb{R}^{T \times F}$(T帧,F维特征),说话人profile为$P \in \mathbb{R}^{N \times S}$(N个说话人,S维i-vector),则:
$$H^{(0)} = \text{CNN}(X) \in \mathbb{R}^{T \times D}$$
对于第$i$个说话人:
$$Hi^{(ISD)} = \text{BLSTM}{ISD}(H^{(0)}; p_i)$$
联合处理:
$$H^{(JSD)} = \text{BLSTM}_{JSD}(H_1^{(ISD)}; H_2^{(ISD)}; ...; H_N^{(ISD)})$$
输出:
$$\hat{y}_i(t) = \sigma(W_i \cdot H^{(JSD)}(t) + b_i)$$
贡献2:迭代i-vector估计策略
由于真实场景中没有预先知道的说话人profile,论文提出迭代估计方法:
贡献3:多通道扩展
使用注意力机制融合多通道信息:
$$H^{(mc)} = \sum_{c=1}^{C} \alpha_c H^{(c)}$$
$$\alphac = \frac{\exp(w^T H^{(c)})}{\sum{c'}\exp(w^T H^{(c')})}$$
在CHiME-6数据集上:
系统 | Dev DER | Eval DER |
|---|---|---|
x-vector基线 | 62.1% | 64.8% |
BUT (DIHARD II最佳) | ~60% | ~60% |
TS-VAD | 33.0% | 36.0% |
改进幅度:超过30%绝对DER降低
问题: 原始TS-VAD需要固定(已知)说话人数量
解决方案:
实验结果(LibriCSS):
方法 | 0L | 0S | OV10 | OV20 | OV30 | OV40 |
|---|---|---|---|---|---|---|
VBx基线 | 5.6 | 6.7 | 11.3 | 16.8 | 23.4 | 32.3 |
TS-VAD | 3.7 | 4.8 | 6.9 | 10.1 | 14.2 | 20.8 |
注:OVxx表示xx%重叠率
问题: 原始BLSTM架构的JSD模块通过拼接处理所有说话人,限制了说话人数量灵活性
解决方案:Transformer跨说话人建模
输入张量:T × S × F (时间 × 说话人 × 特征)
↓
交替应用:
- S轴Transformer(无位置编码)→ 说话人顺序不变
- T轴Transformer/BLSTM → 时序建模
↓
输出:每个说话人的语音活动概率关键设计:
与EEND-EDA的融合:
将EEND-EDA的点积匹配模块替换为Transformer-based TS-VAD:
系统 | VoxConverse DER | CALLHOME DER |
|---|---|---|
EEND-EDA | 5.18% | 12.01% |
EEND-EDA + TS-VAD | 4.57% | 11.18% |
问题: 纯音频TS-VAD在高度重叠场景仍有局限;视频信息天然容忍重叠但存在遮挡问题
解决方案:多输入多输出框架
支持四种输入组合:
1. X_a vs E_spk (音频特征 + 说话人嵌入) → 纯音频模式
2. X_v vs E_lip (视频特征 + 嘴唇嵌入) → 纯视频模式
3. X_a + X_v vs E_lip → 音视频混合
4. X_a + X_v vs E_spk + E_lip → 完全融合模式架构创新:序列到序列设计
# 编码器
H = Encoder(X_audio, X_video) # 多模态编码
# 解码器(支持多任务)
activities = Decoder(H, E_spk, E_lip) # 说话人/嘴唇嵌入引导
# 灵活输出分辨率
# 输入长度T → 输出长度T' (可调节)处理模态缺失:
实验结果:
数据集 | 基线DER | MIMO-TSVAD DER | 改进 |
|---|---|---|---|
VoxConverse | 5.25% | 4.18% | 20.4% |
DIHARD-III | 12.6% | 10.10% | 19.8% |
MISP 2022 | 11.2% | 8.15% | 27.2% |
方法 | 核心创新 | 说话人数 | 重叠处理 | DER (典型数据集) |
|---|---|---|---|---|
TS-VAD (2020) | 奠基架构 | 固定 | ✓ | CHiME-6: 36% |
TS-VAD++ (2021) | 未知说话人数 | 灵活 | ✓ | LibriCSS: 20.8% |
Trans-TSVAD (2022) | Transformer | 任意 | ✓ | VoxConverse: 4.57% |
MIMO-TSVAD (2025) | 音视频融合 | 任意 | ✓✓ | VoxConverse: 4.18% |
特性 | 标准VAD | Personal VAD |
|---|---|---|
目标 | 检测所有语音 | 仅检测目标说话人语音 |
输入 | 音频 | 音频 + 目标说话人嵌入 |
应用 | 通用语音处理 | 个性化语音助手、会议系统 |
挑战 | 噪声鲁棒性 | 说话人区分 + 噪声鲁棒性 |
传统PVAD训练需要enrollment-full数据:
大量标准VAD数据集(如VoiceActivity)缺乏说话人标签,无法直接用于PVAD训练。
核心思想:
训练时,将同一条语音同时用作输入和注册语音,通过数据增强创造差异。
方法流程:
训练阶段:
输入语音 X → 特征提取
├─→ 直接作为输入特征
└─→ 通过Enrollment Augmentation → 目标说话人嵌入
推理阶段:
输入语音 X → 特征提取
注册语音 Y → 特征提取 → 目标说话人嵌入Enrollment Augmentation技术:
$$\tilde{e} = \text{Dropout}(\text{SpecAugment}(e))$$
其中$e$是从输入语音提取的说话人嵌入。
关键设计原则:
嵌入相似度分析:
方法 | 同一说话人余弦相似度 | 不同说话人余弦相似度 |
|---|---|---|
无增强 | 1.0(完全相同) | - |
SpecAugment | 0.82 | 0.31 |
Dropout | 0.88 | 0.28 |
SpecAugment + Dropout | 0.76 | 0.29 |
性能对比:
训练方式 | 数据类型 | 测试AUC |
|---|---|---|
传统方法 | Enrollment-full | 0.892 |
无注册训练 | Enrollment-less | 0.918 |
PVAD条件概率:
$$P(qt|x_1, ..., x_t, Y, \theta) = F(x_1, ..., x_t, Y; \theta){q_t}$$
其中:
损失函数:
$$L{CE}^P = -\frac{1}{|D_P|} \sum{(X, Y, q) \in D_P} \sum_t \log P(q_t|x_1, ..., x_t, Y, \theta_P)$$
问题: 传统空气传导麦克风在嘈杂环境中难以区分说话人
解决方案:骨传导麦克风 + TinyML
技术路线:
骨传导麦克风 → 特征提取(MFCC) → RNN模型 → 语音活动检测硬件平台:
性能指标:
指标 | 数值 |
|---|---|
延迟 | 12.8ms |
准确率 | 95% |
功耗 | 2.64mW |
每次推理能耗 | 14μJ |
电池续航(32mAh) | 43小时 |
技术优势:
在MIMO-TSVAD框架中,Personal VAD可以通过嘴唇轨迹实现:
嘴唇嵌入提取:
$$E{lip} = \text{LipEncoder}(V{lip})$$
其中$V_{lip}$是目标说话人的嘴唇视频轨迹。
优势:
TS-VAD = 多个Personal VAD并行 + 联合建模共同点:
区别:
特性 | Personal VAD | TS-VAD |
|---|---|---|
说话人数 | 1(目标说话人) | N(所有参与者) |
输出 | 单一二分类 | N个二分类 |
联合建模 | 无 | 有(跨说话人相关性) |
典型应用 | 语音助手 | 会议日志 |
Personal VAD (单说话人)
↓ 扩展
TS-VAD (固定N说话人)
↓ 改进
TS-VAD++ (灵活N说话人)
↓ 融合
MIMO-TSVAD (音视频 + 模态缺失鲁棒)音频编码器:
方法 | 架构 | 特点 |
|---|---|---|
原始TS-VAD | CNN + BLSTM | 逐帧特征提取 + 时序建模 |
Trans-TSVAD | Transformer | 并行计算,全局注意力 |
MIMO-TSVAD | 多模态Transformer | 跨模态注意力融合 |
视频编码器(MIMO-TSVAD):
嘴唇帧序列 → 3D-CNN → 时序Transformer → 视觉嵌入i-vector(传统方法):
$$i = T^{-1} \cdot F(x)$$
其中$T$是总变化矩阵,$F(x)$是充分统计量。
d-vector / x-vector(深度方法):
$$e = \text{DNN}_{spk}(x)$$
嘴唇嵌入(视觉方法):
$$e{lip} = \text{LipNet}(V{lip})$$
早期融合(原始TS-VAD):
$$H = E{audio}; E{spk}$$
注意力融合(多通道):
$$H = \sum_c \alpha_c H_c$$
跨模态Transformer(MIMO-TSVAD):
# 跨模态注意力
Q = W_q(E_audio)
K = W_k(E_video)
V = W_v(E_video)
cross_attn = softmax(QK^T / sqrt(d)) V$$L{BCE} = -\frac{1}{T} \sum{t=1}^{T} y_t \log \hat{y}_t + (1-y_t)\log(1-\hat{y}_t)$$
$$L{PIT} = \min{\pi \in \Pi} \sum{i=1}^{N} L{BCE}(y_{\pi(i)}, \hat{y}_i)$$
其中$\Pi$是所有排列的集合。
$$L{exist} = -\frac{1}{N+1} \sum{n=1}^{N+1} e_n \log \hat{e}_n + (1-e_n)\log(1-\hat{e}_n)$$
其中$e_n$表示第n个attractor是否存在。
音频增强:
视频增强:
for iteration in range(max_iter):
# Step 1: 提取说话人嵌入
embeddings = extract_ivectors(initial_diarization)
# Step 2: TS-VAD预测
activities = TS_VAD(audio, embeddings)
# Step 3: 更新分段
diarization = activities_to_segments(activities)
# Step 4: 更新嵌入
embeddings = extract_ivectors(diarization)
# 检查收敛
if converged:
breakdef enrollment_less_training(utterance):
# 从同一语音提取嵌入
enrollment_embed = speaker_encoder(utterance)
# Enrollment Augmentation
augmented_embed = spec_augment(enrollment_embed)
augmented_embed = dropout(augmented_embed)
# PVAD预测
input_feat = feature_extractor(utterance)
prediction = PVAD(input_feat, augmented_embed)
return prediction数据集 | 类型 | 时长 | 说话人数 | 特点 |
|---|---|---|---|---|
CHiME-6 | 晚餐聚会 | 33h | 4/会话 | 高重叠、多通道 |
DIHARD-III | 多场景 | 47h | 变化 | 高难度基准 |
VoxConverse | 视频/访谈 | 216h | 变化 | 开源标准 |
LibriCSS | 模拟会议 | 10h | 0-8 | 可控重叠 |
CALLHOME | 电话通话 | 20h | 2-7 | 经典基准 |
$$DER = \frac{FA + MISS + SPKERR}{TOTAL}$$
其中:
$$CER = \frac{FP{frame} + FN{frame}}{N_{frame}}$$
方法 | CHiME-6 | DIHARD-III | VoxConverse |
|---|---|---|---|
VBx基线 | 64.8% | 23.4% | 7.2% |
EEND-EDA | - | 15.8% | 5.18% |
TS-VAD | 36.0% | 14.2% | 5.8% |
Trans-TSVAD | - | 12.1% | 4.57% |
方法 | VoxConverse | DIHARD-III | MISP 2022 |
|---|---|---|---|
纯音频 | 5.25% | 12.6% | 11.2% |
纯视频 | 8.3% | 18.4% | 14.6% |
MIMO-TSVAD | 4.18% | 10.10% | 8.15% |
多通道音频 → 初始日志 → TS-VAD → 精确分段 → ASR → 转录商业产品: Microsoft Teams、Zoom、Otter.ai
麦克风阵列 → VAD → Personal VAD → 关键词检测 → 语音助手挑战: 低功耗、实时性、无注册用户适应
骨传导Personal VAD + 目标语音提取 → 增强目标说话人
音视频TS-VAD → 说话人标注 → 字幕生成、内容检索
问题: TS-VAD需要迭代和初始系统,计算开销大
方向:
问题: Transformer复杂度O(T²),长音频内存消耗大
方向:
问题: 理论上说话人数越多,性能越差
方向:
问题: 音视频特征空间不对齐
方向:
问题: 标注数据成本高
方向:
年份 | 里程碑 | 核心贡献 |
|---|---|---|
2020 | TS-VAD诞生 | 将日志转化为多标签分类,突破重叠语音瓶颈 |
2021 | 未知说话人数 | 解决实际应用中说话人数未知的限制 |
2021 | 无注册PVAD训练 | 使PVAD可利用大规模无标签数据 |
2022 | Transformer TS-VAD | 提升模型性能,处理任意说话人数 |
2023 | 骨传导PVAD | 实现毫瓦级功耗的Personal VAD |
2025 | 音视频MIMO-TSVAD | 统一框架处理多模态输入和模态缺失 |
TS-VAD的思想与活跃说话人检测(ASD)高度相关:
未来研究方向:将TS-VAD框架与ASD任务更紧密结合,实现端到端的多说话人活跃说话人检测。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。