📄 A Dataset and Benchmark for Optical Music Recognition of String Quartet Scores

标签:#端到端 #Transformer #基准测试

8.5/10 | 创新 1.3/2 | 严谨 1.2/1.5 | 实验 1.3/1.5 | 清晰 0.9/1 | 影响 1/1.5 | 开源 1.2/1.5 | 复现 0.3/0.5 | 工程 1.3/1.5

🔥 8.5/10 | 前25% | 文档类型:数据集与基准 | 评分置信度:高 | #端到端 | #Transformer | #基准测试 | arxiv

👥 作者与机构

  • Dongmin Kim(韩国西江大学 Music & Arts Learning (MALer) Lab)
  • Brian Liu(独立研究者)
  • Jose J. Valero-Mas(西班牙阿利坎特大学模式识别与人工智能小组)
  • Dasaem Jeong(韩国西江大学 MALer Lab;联系邮箱 dasaemj@sogang.ac.kr;论文未明确标注“通讯作者”,按署名与联系邮箱推断)

💡 毒舌点评

首个多声部 OMR 基准的开创性毋庸置疑,视觉对齐 + 三编码转换 + 测试集互斥四折协议的工程链条相当完整,3.6%/5.9% 的基线让这个任务从“不可能”变成了“可挑战”。但人工校对没有第二人校验、四折标准差偏大、LMXE 由作者自己的转换管线生成并取得全面优势,使得“编码选择 > 架构选择”这个 headline 结论的公信力打了折扣。

📌 核心摘要

本文首次提出面向多声部(弦乐四重奏)乐谱的光学音乐识别(OMR)基准数据集 OSSQ-OMR,填补了该领域仅有单声部与钢琴谱数据、多声部 OMR 长期缺乏评测资源的空白。数据集基于 OpenScore String Quartet 语料与 IMSLP 扫描件构建,经过超过 100 小时的人工视觉对齐与记谱修正,发布 13,240 张合成与 11,304 张扫描系统级图像,以及 52,960 张合成与 45,212 张扫描声部级图像,共 24,544 张系统图与 98,172 张声部图,并配套 LMXE、**kern、ABC 三种符号编码。

相比已有数据集,OSSQ-OMR 的核心特点在于数字编码与扫描图像在 token 级别视觉对齐,并设计了四个 score-level 随机划分、测试集互斥的基准协议。两个代表性基线(Zeus、Sheet Music Transformer)在 9 种分词方案下评测,最佳配置(Zeus + LMXE 部件级)在合成与扫描输入上分别达到 3.6% 与 5.9% 的 OMR-NED。实验显示编码格式与切分粒度的选择对精度的影响超过架构本身,部件级输入全面优于系统级输入,合成到扫描的域迁移仍使错误率相对上升 39%–100%。该数据集为多声部 OMR 提供了首个可复现的评测平台,但人工对齐的客观性、体裁覆盖狭窄以及扫描域精度仍是明显短板。

🔗 开源详情

  • 代码:公开可用。数据集与基准代码托管于 GitHub:https://github.com/MALerLab/string-quartet-omr-benchmark(论文脚注 1)。
  • 数据集:公开可用,包括 24,544 张系统图像与 98,172 张声部图像,以及 LMXE、**kern、ABC 三种符号编码。发布时按编码轨道分别提供,排除掩码透明公开。
  • 修正后的 MuseScore 源:以 Git 仓库形式发布,每次编辑作为独立 commit 记录于原始 OpenScore 编码之上,支持逐条审计。
  • 预训练模型权重:未披露。论文未提供本文基线的训练模型权重,仅外部基线 Legato 使用了其已发布权重进行推理。
  • 算力要求:完整复现需 2 张 RTX PRO 6000 Blackwell 与 4 张 B200 GPU,训练 136 个模型;复现成本较高,但代码与数据开放使部分复现可行。

🏗️ 方法概述和架构

OSSQ-OMR 的构建是一个从数字编码语料出发,经扫描件收集、人工视觉对齐、图像分割、多格式符号转换到基准评测的完整流水线,论文的“方法”即这一可审计、可验证的数据生产与评测框架。整体链路可概括为:以 OpenScore String Quartet 的 MuseScore 数字文件作为“符号真值”的起点,同时从 IMSLP 获取对应的历史扫描乐谱图像;随后通过人工视觉对齐消除数字渲染与扫描版本之间的不匹配,得到成对的“图像—符号”数据;接着利用三阶段 YOLOv8 模型对图像进行系统级和声部级(staff-level)分割,获得不同粒度的乐谱图像;再将原始 MuseScore 文件经由统一的转换管线导出为 LMXE、**kern、ABC 三种符号编码,并经过转换验证筛选出可用的样本;最终设计包含四个随机划分、测试集互斥的基准协议,使用两个基线模型在九种分词方案下进行评测。下面逐阶段展开。

数字源来自 OpenScore String Quartet 语料,包含 116 首弦乐四重奏的 MuseScore 文件(对应 122 个 MuseScore 文件,其中两首作品包含多个乐章或版本)。这些文件提供了结构化的音乐符号信息,包括音符、谱号、调号、拍号、演奏法、连音线等,作为后续转换和人工对齐的基础。扫描图像则从 IMSLP 获取对应的原始出版版本,涵盖不同出版商、不同年代和不同来源条件(如 19 世纪早期刻版、现代数字重刻版、手写手稿等),从而保证数据集的视觉多样性。对于合成图像,系统使用 MuseScore 3.6.2 将每个 MuseScore 文件渲染为 A4 尺寸、默认排版样式的 PDF,再以 300 DPI 光栅化为 PNG;对于扫描图像,则直接将 IMSLP 的 PDF 按原始分辨率光栅化。这一步骤的输入是数字编码文件与扫描 PDF,输出是成对的页面级图像和对应的符号文件。

数字编码与实际出版的扫描件之间往往存在显著差异,直接使用会导致图像与符号标签错位。论文的图 2 展示了典型例子:莫扎特弦乐四重奏 K. 458 的扫描版缺少一个小节(可能为印刷错误),而 OpenScore 编码含有该小节,因此需要从编码中删除该小节以与扫描视觉对齐;格林卡弦乐四重奏的扫描版在第三小节从次中音谱号变为低音谱号,而 OpenScore 编码全曲使用低音谱号,也需要修正。为了系统化地处理这类不匹配,作者对全部 81 个总谱文件进行了人工视觉对齐和记谱修正,耗时超过 100 小时。表 1 列出了最常见的编辑类别:系统分页(81 个文件、984 处编辑)、页面分页(81 个文件、939 处编辑)、连音符(beaming)组(69 个文件、1262 处编辑)、连音线(slurs)(37 个文件、1948 处编辑)、谱号标记(34 个文件、786 处编辑)、演奏法(articulations)(16 个文件、1080 处编辑)以及音符音高编辑(21 个文件、7183 处编辑)。其中音符音高编辑数量最多,说明数字编码中的音高错误或与扫描版本不一致的情况十分突出。人工对齐的目标是使每个符号在视觉上与其在扫描图像中的位置精确对应,从而为后续训练提供可靠的真值。

OSSQ-OMR 提供两个粒度的图像:系统级(system)和声部级(staff)。系统图像对应一个五线谱系统(即一排包含四件乐器声部的多行谱表),声部图像对应其中单独一行谱表。分割由三个 YOLOv8 模型组成的流水线完成,该流水线对合成图像和扫描图像统一使用。模型依次执行:

  • 系统边界框检测:第一个模型在整页图像上检测系统所在的边界框。每个检测结果被裁剪为一张系统级图像。该模型从零开始训练,训练集包含 1,804 页来自参考工作的页面和 47 页 OSSQ-OMR 页面。
  • 谱表高度回归:第二个模型在系统级图像上回归谱表高度(以像素为单位)。该模型直接复用已有工作 [29] 的模型,不重新训练。得到高度后,将系统图像按比例均匀缩放,使符头(约为谱表高度的四分之一)在图像中约为 4–5 像素高,以匹配下游 OMR 模型期望的输入尺度。这里的“统一缩放”避免了非等比拉伸破坏音符形状。
  • 谱表边界框检测:第三个模型在缩放后的系统图像上检测单个谱表(即每件乐器的独立五线谱)。该模型在 1,440 张 OSSQ-OMR 系统图像上训练,标注结果由作者人工审查。

三阶段流水线的输出是:系统级图像、对应的谱表级图像,以及每张图像的分割元数据。该设计的关键动机是,直接检测谱表在复杂版式中容易漏检或误检,而先定位系统、再回归谱表高度、最后检测谱表,可以充分利用系统内谱表的规律性,提高分割精度,同时统一了合成与扫描图像的尺度分布。

每份乐谱的真值以纯文本形式提供三种符号编码:LMXE、**kern 和 ABC。它们均由以 MuseScore 文件为起点的统一转换管线产生。

  • LMXE(Extended Linearized MusicXML):扩展自 Linearized MusicXML,用于支持多声部乐谱,同时保持紧凑、适合序列模型处理的表示。LMXE 引入显式的声部(part)记号和乐谱类型记号(single、multi、grandstaff),将不同类型乐谱统一到单一词表;此外,它按小节为序、在小节内部嵌套声部(measure-wise encoding order),这使得即使解码出现部分错误,输出仍然能够被部分重建,从而提高鲁棒性。LMXE 是直接从 MuseScore 文件导出的,不经过第三方格式转换,因此覆盖率最高,接近完整样本数。
  • **kern:Humdrum 格式的一种,通过制表符分隔的“spines”组织声部和谱表,对有效编码施加了较为严格的结构约束。**kern 由转换工具从 MuseScore 文件生成。
  • ABC:使用 ASCII 助记符的文本表示,几乎不提供结构性脚手架,文本简洁,适合通用语言模型处理。

转换管线具体包括:首先将 MuseScore 文件导出为中间格式,再转换为上述三种编码。对于 **kern 和 ABC,转换后还需要进行验证:若样本存在结构性错误或严重的音乐往返错误(即转换回 MusicXML 后与原始文件不一致),则将该样本从对应编码的轨道中删除。因此表 2 中 LMXE 的样本数接近原始分割数,而 **kern 和 ABC 的样本数因验证过滤而有所减少。

为了公平评估多声部 OMR 模型,论文设计了一套完整的基准协议。

基线模型:评测两个有代表性的模型架构。Zeus 是一个基于 LSTM 的序列到序列模型,具有类似 ResNet 的卷积编码器,专为线性化 MusicXML 转录设计;实验中其编码器和解码器的 LSTM 隐藏层大小增至 256。Sheet Music Transformer(SMT)结合了 ConvNeXt 视觉编码器和 Transformer 解码器,最初为 **kern OMR 开发,实验时不作架构修改。这两个模型分别代表了循环网络与 Transformer 两种主流序列建模路线。

分词方案:共九种,覆盖三种编码格式。具体包括:LMXE(空格分隔 token,系统级上限 800 token,声部级 430 token);LMXE-P(声部优先编码顺序的消融变体,仅用于系统级,用于验证 LMXE 的小节优先设计);EKERN(按图形学意义拆分的 **kern token 化,带分隔符和规范顺序,由 kernpy 生成);BEKERN(EKERN 的细粒度变体,将每个音符分解为最小语义元素,词表更小、序列更长);CABC(ABC 的字符级 token 化);以及 ABC-BPE 及其更小词表变体 ABC-BPE-1024、ABC-BPE-512、ABC-BPE-256(BPE 为字节对编码,用于压缩序列长度)。

数据过滤与划分:首先排除系统级图像高度超过 256 像素的样本(因为超过基线模型的输入限制);其次排除在任一编码下序列长度超过对应上限的样本——如果一个样本在九种编码中的任意一种超限,则该样本被全局丢弃,这样所有基准配置共享完全相同的样本池。划分时按乐谱 ID 进行 score-level 划分,即同一首作品的所有系统和声部图像全部进入同一个划分,防止跨划分泄漏。共生成四个随机划分,且四个划分的测试集在乐谱级别上互斥。表 3 给出各划分的平均样本数。测试集进一步区分为合成与扫描两类,因此能够评估域迁移的影响。

评估指标:使用 OMR-NED(OMR Normalized Edit Distance),定义如式 (1) 所示,其中 N1 和 N2 分别表示预测和参考在 music21 符号空间中的音乐符号数,I 和 D 为二者之间的插入和删除计数,由 musicdiff 计算。OMR-NED 与具体编码格式无关,因此可以跨不同词表和序列长度的分词方案进行公平比较。系统级评测对整个预测序列计算 OMR-NED;声部级评测则对每个声部独立预测,然后将四个声部的错误计数汇总后按式 (2) 计算系统级聚合值,使得两种粒度的分数可直接比较。对于 **kern 和 ABC,为防止重建时解析失败,会在每个声部预测的第一小节注入原始拍号,因此这两种编码的时间签名准确性在分割粒度间不可比较,而 LMXE 不注入,从而可以观测系统级上下文对拍号识别的影响。

这一方法框架不仅产出了数据集,还构成了一个可复现的评测平台:任何 OMR 模型都可在同一组划分、过滤规则和指标下与现有基线比较。整体架构的核心设计选择——视觉对齐、多粒度分割、多编码真值、score-level 互斥划分和格式无关指标——共同保证了数据集在多声部 OMR 评测中的有效性和公正性。

💡 核心创新点

  1. 首个多声部 OMR 数据集:OSSQ-OMR 是第一个专门面向多声部(弦乐四重奏)乐谱的 OMR 基准数据集,填补了现有数据集仅覆盖单声部与钢琴谱的空白。
  2. Token 级视觉对齐:通过超过 100 小时的人工编辑,将数字编码的渲染结果与 IMSLP 扫描件在音符/符号级别精确对齐;修正后的 MuseScore 源以 Git 仓库形式发布,每次编辑均可审计。
  3. 多粒度图像:提供系统级和声部级两种图像,分别对应整个五线谱系统和单一乐器谱表,支持不同粒度的端到端 OMR 建模。
  4. 三格式符号真值:同一乐谱同时发布 LMXE、**kern、ABC 三种文本编码,均从统一转换管线生成,并经过往返转换验证,便于跨格式公平比较。
  5. 严格互斥的基准协议:四个 score-level 随机划分,测试集在乐谱级别互斥,避免同一作品跨划分泄漏;所有配置共享同一过滤后的样本池,使用格式无关的 OMR-NED 指标。

📊 实验结果

两个基线模型(Zeus、SMT)在 9 种分词方案、4 个互斥划分上共训练 136 个独立模型。所有结果均为 4 个划分的均值(标准差见原文)。下表汇总了关键配置的 OMR-NED(越低越好):

配置粒度合成 (%)扫描 (%)
Zeus + LMXE系统7.310.6
SMT + LMXE系统5.211.3
Zeus + LMXE声部3.65.9
SMT + LMXE声部4.210.4
Zeus + BEKERN声部4.06.3
SMT + CABC系统6.018.5
Legato(外部基线)系统36.166.3

主要发现:

  • 编码选择显著影响精度:LMXE 在几乎所有配置下优于 **kern 和 ABC;ABC 的 BPE 分词随词表增大单调变差(从 BPE-256 到 BPE-4096,Zeus 系统级合成错误率从 15.0% 升至 62.4%)。字符级 CABC 明显优于所有 BPE 变体。
  • 声部级输入全面优于系统级:所有 34 个配置中,声部级 OMR-NED 均不高于系统级;Zeus + LMXE 在声部级达到最优,合成 3.6%/扫描 5.9%。
  • 域迁移差距:从合成到扫描,Zeus 错误率平均相对上升 39%(+3.6 个百分点),SMT 相对上升 100%(+6.7 个百分点);LSTM 型基线对扫描输入的退化幅度远小于 Transformer 型基线。
  • 外部基线对比:不经微调的 ABC 预训练模型 Legato 在 OSSQ-OMR 上系统级 OMR-NED 为 36.1%(合成)/66.3%(扫描),远高于本文在 ABC 轨道上训练的基线(如 SMT-CABC 为 6.0%/18.5%),说明在 PDMX 上的 ABC 预训练不足以应对多声部弦乐四重奏任务。

🔬 细节详述

  • 人工对齐范围:仅对 93 份总谱扫描件进行视觉对齐;其中 78 份同时需要排版与记谱编辑,6 份仅需排版编辑,8 份仅需记谱编辑,1 份无需任何编辑。编辑类别中最突出的是音符音高编辑(21 个文件、7183 处编辑),说明原始 OpenScore 编码中音高错误或不一致占比最高。
  • 转换验证与排除:每次从 MusicXML 到其他格式再往返转换回 MusicXML 后,使用 OMR-NED 检测结构性或重大音乐错误;出错样本从对应编码轨中排除。**kern 转换损失约 5% 的系统级样本,ABC 转换损失约 21%;声部级轨道继承同一排除掩码。排除在样本级而非乐谱级进行,因此每个入选乐谱仍至少贡献部分系统/声部。
  • 分词方案细节:LMXE 系统级 token 上限 800、声部级 430;LMXE-P 为声部优先顺序的消融变体,仅用于系统级。EKERN 上限为 1,100/390;BEKERN 上限为 1,400/540;CABC 上限为 1,170/500;ABC-BPE 及其小词表变体上限从 640/340 到 340/160 不等。所有超限样本被全局丢弃,保证九种分词配置共享同一样本池。
  • 训练设置:AdamW 优化器,100,000 步更新,每 5,000 步在验证集上监控 OMR-NED。系统级 batch size 64,声部级 256;Zeus 学习率 0.001 余弦调度,SMT 学习率 0.0001 无调度。图像转为灰度,高度中心填充到 256(系统)或 112(声部),宽度动态右填充到各 mini-batch 最宽样本。训练分布在 2 张 NVIDIA RTX PRO 6000 Blackwell 和 4 张 NVIDIA B200 上。
  • 外部基线 Legato 的协议差异:解码上限放宽到 2,048/1,024 token,使用贪婪解码而非 beam search。其 OMR-NED 与 Legato 原论文在 OpenScore 252 页测试集上的结果(32.9%/58.2%)接近,差异与解码策略变化一致。

⚖️ 评分理由

  • 创新性 (1.3/2):[SCORING_SOURCE_2/17] 首个专门面向多声部(弦乐四重奏)的 OMR 数据集,填补了仅钢琴谱/单声部数据集的空白;[SCORING_SOURCE_4/17] 对 93 份总谱进行 100+ 小时人工视觉对齐并以 Git 逐提交审计,形成 token 级对齐的可审计真值。

  • 技术严谨性 (1.2/1.5):[SCORING_SOURCE_5/17] 系统/声部两级图像由三阶段 YOLOv8 流水线生成并统一缩放尺寸;[SCORING_SOURCE_7/17] 三种编码经往返转换验证后按轨道排除不可靠样本;[SCORING_SOURCE_8/17] 采用 score-level 四个互斥划分与格式无关的 OMR-NED,控制了泄漏并支持跨格式公平比较。

  • 实验充分性 (1.3/1.5):[SCORING_SOURCE_10/17] 两个代表性基线在 9 种分词方案、4 个划分上共 136 runs,覆盖编码、分词、粒度与域迁移;[SCORING_SOURCE_11/17] 全部 34 配置均报告均值与标准差,并引入外部基线 Legato;[SCORING_SOURCE_12/17] 对外部基线解码上限等协议差异作说明,提供清晰参照。

  • 清晰度 (0.9/1):[SCORING_SOURCE_3/17] 数据集构成、来源分类(总谱/分谱/手稿)和视觉多样性有图 1 示例;[SCORING_SOURCE_5/17] 以图 2 展示不匹配类型并用表 1 量化编辑类别;[SCORING_SOURCE_7/17] 各轨道发布数量以表 2 列明,整体结构清晰。

  • 影响力 (1.0/1.5):[SCORING_SOURCE_2/17] 该数据集可支撑多声部 OMR 的后续评测与训练,是语音/音乐/音频领域中 OMR 方向的重要基础设施;[SCORING_SOURCE_10/17] 揭示编码与粒度选择显著影响性能的结论,可能推动后续基准与模型设计;但体裁限于弦乐四重奏,辐射范围有限。

  • 开源 (1.2/1.5):[A_OPEN] 代码、数据集和三种编码均公开可用,修正后的 MuseScore 源以 Git 仓库逐提交发布,核心数据产物完整开放;但预训练模型权重未披露,且论文未提供论文基线权重,开放程度未达满分。

  • 可复现性 (0.3/0.5):[SCORING_SOURCE_9/17] 划分方式、样本池过滤规则与 OMR-NED 指标定义披露充分;[SCORING_SOURCE_10/17] 训练步数、batch size、学习率、图像尺寸、GPU 配置等关键设置均已交代;但未提供训练模型权重,且完整复现需 136 runs 和 6 张高端 GPU,部分复现成本很高。

  • 工程/实践价值 (1.3/1.5):[SCORING_SOURCE_4/17] 超过 100 小时的人工视觉对齐流程配合 Git 审计,构建了可追溯的真值生产链;[SCORING_SOURCE_5/17] 三阶段 YOLOv8 分割流水线按系统→谱表高度→声部逐级检测,并统一缩放以匹配下游模型,形成可复用的数据工程管线;[SCORING_SOURCE_7/17] 三种编码由同一转换管线导出并做往返验证,工程闭环完整。

🚨 局限与问题

  • 人工对齐的客观性存疑:视觉对齐与标注审查均由作者完成,没有第二人独立校验;主观判断可能影响真值质量,且难以量化。
  • 体裁覆盖狭窄:仅包含弦乐四重奏,乐器组合固定为四件,未覆盖管弦乐、合唱等更复杂多声部织体;结论向其他多声部体裁推广需谨慎。
  • 扫描域精度仍有明显短板:最佳扫描 OMR-NED 为 5.9%,远高于合成的 3.6%;合成到扫描的域迁移导致错误率相对上升 39%–100%(取决于架构),扫描识别仍是主要瓶颈。
  • “编码选择 > 架构选择”结论的稳健性:LMXE 由作者自己的转换管线生成并在所有配置下占优,**kern/ABC 经第三方工具转换可能引入系统性偏差;该结论需要更多独立实现验证。
  • 四折方差较大:多个配置的标准差在 2–7 个百分点之间,尤其系统级和扫描输入,部分差异可能未达到统计显著。
  • 架构差异原因未隔离:Zeus 与 SMT 在扫描域鲁棒性上的差距未通过消融定位到具体组件(如编码器、解码器、训练策略),后续工作可补充。
  • 全页面端到端识别未涉及:数据集仅提供系统/声部级图像,未提供完整页面级基准,限制了与全页面 OMR 方法的直接比较。

← 返回 2026-08-12 语音/音乐/音频论文速递