← 返回 2026-08-05

多任务多帧视觉钢琴转写 Multi-Task Multi-Frame Visual Piano Transcription

Yonghyun Kim, Hoyeol Sohn, Juhan Nam, Alexander Lerch 📅 2026-08-04 👍 3 2026-08-10 18:30
Conformer 多任务学习 自动音乐转写 视觉钢琴转写 音乐信息检索

首个完整视觉钢琴转写系统,联合预测起音、释音、按键保持与力度。

前置知识

视觉钢琴转写(VPT)

Visual Piano Transcription 直接从拍摄钢琴键盘的视频中恢复符号化的演奏信息(音高、起音、释音、力度)。与基于音频的转写不同,它观察按键本身,因此能直接读取物理按键状态,不受延音踏板导致的余音干扰。早期方法用背景减除,现代方法(S2S、V2R、PPAN)用 ResNet 或 ViT 处理 5–6 帧的短窗口。

本文的核心任务就是 VPT,理解它才能明白为何‘看键盘’能解决‘听音频’解决不了的释音问题。

MIDI 与延音踏板问题

MIDI 用 NoteOn(按键)/NoteOff(松键)事件描述音符,配合 CC64 控制延音踏板。音频转写遇到一个根本矛盾:踩下延音踏板后琴声在松键后仍持续数秒,所以音频系统通常把音符终点扩展到踏板释放时刻,导致与 MIDI NoteOff 偏差可达数秒。本文用视频绕过这一矛盾,直接观测物理键释放。

这是整篇论文的动机核心——‘释音准确’是音频转写长期无法解决的痛点,而视频恰好能直接看到键是否抬起。

Conformer ConvModule

Conformer 是语音识别中的卷积增强 Transformer,其 ConvModule 结构为 FFN→深度可分离一维卷积→FFN,配合残差连接。本文省略自注意力,仅用 3 个核大小 31 的卷积模块堆叠,使 1 秒输入窗口(25 帧)的每一帧都能获得覆盖全部帧的感受野,而无需自注意力的平方计算开销。

这是 V2N 时序骨干的关键设计,理解它才能看懂架构消融中‘序列建模带来最大单项增益’的结论。

多任务联合训练(Onsets-and-Frames 范式)

源自音频钢琴转写的经典工作 Onsets and Frames:同时预测稀疏的起音事件、密集的持续帧活动、以及力度。这种互补性大幅提升了转写效果。本文把该范式迁移到视觉域,增加专门的释音头,并用‘按键保持’(key hold)对应音频中的‘帧活动’。

V2N 的四个任务头(起音/释音/按键保持/力度)正是这一思想在视觉上的延伸,理解它才能读懂多任务消融表。

基于帧级 F1 的音符级评测(mir_eval)

评测先把帧级预测解码为 MIDI 音符事件,再用 mir_eval 计算 F1。包含五个指标:帧级(60Hz 网格上多音高 F1)、起音(音高+起音在容差 τ 内匹配)、+Off(再加释音匹配,但用与起音相同的 τ 而非 mir_eval 默认的 max(0.2d,50ms))、+Vel(加力度匹配 10%)、+Off+Vel(最严格,四属性全匹配)。τ 取 50ms 或 100ms。

结果表中的 F1 列含义依赖于此,特别是 +Off 用严格释音容差,这正是体现视频物理释音优势的关键指标。

研究动机

音频钢琴转写在音高、起音、力度上已很成熟,但释音(offset)受延音踏板系统性干扰:松键后声音仍持续,所以音频系统习惯把音符终点扩展到踏板释放时刻,与 MIDI NoteOff 偏差可达数秒。转而看视频本是解决之道,因为按下的键在视觉上与抬起的键截然不同,且不受踏板影响。但现有视觉钢琴转写(VPT)方法严重不足:S2S、V2R、PPAN 至多只处理 0.2 秒视频上下文,仅在窗口中心帧监督,释音准确率远低于起音(例如作者重新评测 PPAN 在 PianoVAM 上 50ms 的 +Off F1 仅 45.9%),并且从不报告音符级力度。最接近的音视频融合工作 Li et al. 仍从声学帧活动推断释音、且不报告力度。换言之,VPT 领域既没有‘完整 MIDI 转写’,也缺少对物理释音的专门建模。

本文的目标是作者目标是构建第一个完整的 VPT 系统 V2N(Video to Notes),用视频单独恢复 MIDI 的全部四个属性:起音(onset)、释音(offset)、按键保持(key hold)与力度(velocity)。具体做法是用一个共享时序骨干喂给四个任务头,在 1 秒视频窗口上做每帧监督(而非仅窗口中心)。作者希望在 PianoVAM 和 R3 两个数据集上刷新 SOTA,并成为首个报告音符级力度 F1 的纯视频系统,同时通过消融验证‘多任务头 + 多帧监督 + 释音引导解码’这三项设计选择的有效性。

与已有工作不同的是,本文的独特切入是把音频转写里成熟的 Onsets-and-Frames 多任务范式整体迁移到视觉域,但做了一处本质改写:释音不再是‘从声音衰减推断’,而是‘对物理键释放的直接观测’。由于起音线索不同(手指运动 vs 频谱瞬态),作者为视觉专门设计了 Conformer 卷积骨干、稀疏起音/释音的软三角核标签、以及偏置引导的音符解码(在释音头峰值处终止音符,按键保持作为兜底)。这与以往只在中心帧做二分类、且把释音当作帧活动副产物的做法形成本质区别,从而第一次让纯视频系统在物理释音和力度上都达到可用精度。

核心方法

直觉很简单:按键被按下与抬起在视觉上完全可分,与踏板状态无关,所以视频能直接读出物理键状态。V2N 沿这条思路把灰度键盘视频逐帧编码,建模帧间依赖,再并行输出四个逐帧预测:起音 $o_{t,k}$、释音 $r_{t,k}$、按键保持 $f_{t,k}$(均为 sigmoid 概率)和力度 $v_{t,k}$(线性回归)。推理时起音峰值定义音符起点并读取该处力度,释音峰值定义终点(若按键保持先降到阈值以下则提前结束)。整条管线由三部分组成:视觉特征提取器(S2S 的 ResNet-18 + 斜率先验,5 帧聚合)、共享时序骨干(3 个 Conformer ConvModule)、四个 BiLSTM→Linear 任务头,共 28.2M 参数、每秒视频摊销约 250 GFLOPs。

三项核心创新相对以往方法形成本质区别:第一,多帧监督——不再只在 5 帧窗口的中心帧打标签,而是对 1 秒窗口的全部 25 帧监督,每个片段获得约 5 倍监督信号且推理零成本,这一改使钢琴独奏数据上的 +Off 提升约 4.5 个百分点。第二,多任务头的互补性——把释音、按键保持、力度既当作训练监督、又当作推理信号,专门的释音头让物理键释放被直接观测而非由按键保持(帧活动)推断。第三,释音引导解码——在释音头峰值处终止音符(按键保持兜底),取代音频转写传统的按键保持阈值法。这三点合起来让 V2N 成为第一个能在起音、释音、力度上同时达到高精度的纯视频系统。

方法步骤详情

(1) 前端:键盘透视变换得灰度帧,灰度 ResNet-18+斜率先验每帧 5 帧聚合、GAP 得 $T\times512$ 再线性投影降维。(2) 骨干与头:3 个 Conformer ConvModule(核 31 深度卷积、无自注意力)覆盖全部 25 帧;后接四个 BiLSTM→Linear 头——起音/释音/按键保持 sigmoid 出 $T\times88$,力度线性回归、推理裁剪 $[0,127]$。(3) 训练:起音/释音用峰值 1.0、$\pm2$ 帧衰减的软三角核,按键保持 $[onset,offset)$ 内为 1,力度仅真实起音处掩码回归;总损失 $\mathcal{L}=2L_{on}+L_{off}+L_{kh}+L_{vel}$。AdamW 学习率 $5\times10^{-4}$、余弦调度、bfloat16、批 16;PianoVAM 100k 步、R3 200k 步。(4) 推理:0.5 秒步长滑窗、留中心预测;起音峰 $>\tau_{on}=0.5$ 开音符并读力度,延伸到下一释音峰 $>\tau_{off}=0.5$ 或起音+按键保持跌破阈值为止。

技术新颖性

新颖性集中在‘把完整 MIDI 转写第一次搬到纯视频’这一组合上:首个报告音符级力度 F1 的纯视频系统;首次用多帧损失在 1 秒长上下文上监督每个视频帧;首次用 Conformer 风格卷积骨干(取代 S2S 的纯空间 ResNet)解决‘按住 vs 抬起’的歧义;首次引入专门的释音头并设计释音引导解码。作者还证明级联式(cascaded)头不优于并行头,故保留更简单的并行设计。计算上虽达 125 GFLOPs/1s 片段,但 0.5 秒步长摊销后约 250 GFLOPs/秒输入,在单卡 RTX 5080 上 bfloat16 推理每秒视频仅需 40ms(实时因子 RTF≈0.04),反而比 Li et al. 的视频分支更轻。

V2N (Video to Notes) architecture.
Figure 2: V2N (Video to Notes) architecture.

实验结果

主结果(Table 1)显示 V2N 全面领先。PianoVAM 起音 F1 94.7%(50ms)/97.0%(100ms),持平音视频融合的 Li et al.(94.2/97.4)并超越所有纯视频基线;释音突破最大:+Off 从 PPAN 的 45.9% 跃升到 89.5%(近翻倍),+Off+Vel 从 29.7% 到 78.3%(+48.6 个百分点),+Vel 50ms 82.8% 为首个报告。更难的 R3 优势更大:R3s 起音 78.8%(基线 38.7–47.7%)、+Off 69.5%;R3x 起音 73.3%、+Off 68.5%。消融(Table 2)表明每个任务头既作监督又作推理信号,去掉任一头释音 F1 崩塌,释音引导解码带来最佳 +Off。架构消融(Table 3):序列建模单项最大增益(起音 +2.5、+Off +5.7),1 秒长上下文 PianoVAM 仅 +0.4/+0.8 但在 R3 决定性。跨数据集迁移(Table 4)对所有系统崩溃到近 0,根因是键盘像素宽度差异(R3≈784px vs PianoVAM≈606px)使固定几何预处理失效。

Main results (F1 %).
Table 1: Main results (F1 %).
Task-head and decoder ablation on PianoVAM.
Table 2: Task-head and decoder ablation on PianoVAM.
Architecture ablation on PianoVAM.
Table 3: Architecture ablation on PianoVAM.
Cross-dataset transfer.
Table 4: Cross-dataset transfer.
查看结构化数据
任务指标本文基线提升
PianoVAM 起音 F1 (50ms) Onset F1 94.7% PPAN 84.9% / Li et al. 94.2% 超越 PPAN +9.8,持平 Li et al.
PianoVAM 物理释音 F1 (50ms) +Off F1 89.5% PPAN 45.9% +43.6 个百分点,几乎翻倍
PianoVAM 全属性 F1 (50ms) +Off+Vel F1 78.3% PPAN 29.7% +48.6 个百分点
PianoVAM 力度 F1 (50ms) +Vel F1 82.8% 无基线(首个报告) 首次纯视频音符级力度
R3s 起音 F1 (100ms) Onset F1 91.7% S2S 84.7% / PPAN 83.4% +8.3 vs PPAN
R3s 物理释音 F1 (100ms) +Off F1 88.9% PPAN 60.3% +28.6 个百分点

局限与改进

作者坦承两大局限:其一,跨数据集迁移几乎完全失败(Table 4),原因是透视变换只统一了像素网格而非键盘在其中的几何——同一列索引在不同数据集指向不同琴键,V2N 和所有基线都受此影响,反映固定几何预处理与模型强耦合。其二,V2N 不预测延音踏板(CC64),而踏板是真实钢琴演奏的重要表现维度。此外训练数据 R3 存在同步问题:895 个文件中有 70 个音视频偏差超过 200ms(MIDI 整体早于视频),经互相关检测;剔除受影响的 10 个 R3x 测试文件后,V2N 在 100ms 上起音 +7.7、+Off +7.9、+Vel +6.6、+Off+Vel +6.7 个百分点。我额外观察到:25 fps(40ms 分辨率)的量化误差逼近 50ms 容差,评测可能受帧率制约;仅在单一俯视机位、固定键盘预处理下评测,对多机位/遮挡/手势遮挡的鲁棒性未验证。

独立分析的弱点

第一,几何强耦合是最大软肋:透视变换依赖手标键盘角点,模型把‘像素列→琴键’的映射学死,跨数据集即崩溃。改进方向是几何不变的键盘定位(如关键点检测 + 可微对齐)或位置无关的特征学习。第二,缺失踏板建模,导致转出的 MIDI 在表现力上不完整,可增加第五个踏板头,并设计音视频协同的踏板监督。第三,同步噪声拖累训练:70/895 文件偏差超 200ms,可用联合时间对齐(如 DTW 或可微对齐层)在训练时自动校正音视频偏移。第四,25 fps 量化误差逼近评测容差,若提升到 60 fps 原生帧率或加入亚帧起音回归(类似音频工作的高分辨率回归),可进一步压低容差边界误差。第五,仅在固定俯视、单机位场景评测,对手部遮挡、侧拍、多乐器同框的真实场景缺少验证,可补充遮挡增强与多视角训练。

未来方向

作者明确列出四条:(1) 几何不变的键盘定位,解决跨数据集迁移;(2) 针对噪声训练数据的联合同步对齐;(3) 延音踏板估计,补齐完整 MIDI;(4) 在 V2N 视觉贡献基础上做音视频融合。基于本成果还可延伸:把多任务多帧监督范式推广到其他键盘乐器(管风琴、羽管键琴)或打击乐;用 V2N 生成的物理释音作为弱监督,反向改进音频转写的释音标注;探索自监督预训练(在大量无标注练琴视频上)以缓解标注稀缺;以及把释音引导解码的思想移植回音频域,重新定义‘物理释音 vs 声学释音’的双轨评测。

复现评估

复现度很高。作者公开了代码、训练好的 checkpoint 和预测 MIDI(https://github.com/yonghyunk1m/V2N),两个数据集 PianoVAM 和 R3 均公开,按 PianoVAM v1.1 元数据划分训练/验证/测试。超参数完整:AdamW 学习率 $5\times10^{-4}$、权重衰减 0.01、余弦调度、bfloat16、有效批大小 16、PianoVAM 100k 步/R3 200k 步,增强采用 PPAN 配方(亮度抖动 ±10%、旋转 ±0.2°、随机擦除、高斯噪声 σ=0.1)。基线 S2S/V2R/PPAN/Li et al. 都用各自官方代码与默认超参从头训练,且复现的 R3s/R3x 起音数与发表值相差约 1 个百分点,说明基线可比。算力门槛低:单卡 RTX 5080、bfloat16、梯度采样,推理每秒视频仅 40ms(RTF≈0.04)。唯一需注意 R3 的同步偏差文件清单需从仓库获取,且评测依赖固定的 τ=50/100ms 容差约定。