ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Oemer vs homr:两大开源OMR乐谱识别工具深度对比与局限边界说明

Oemer vs homr:两大开源OMR乐谱识别工具深度对比与局限边界说明 Oemer vs homr两大开源OMR乐谱识别工具深度对比与局限边界说明【免费下载链接】oemerEnd-to-end Optical Music Recognition (OMR) system. Transcribe phone-taken music sheet image into MusicXML, which can be edited and converted to MIDI.项目地址: https://gitcode.com/gh_mirrors/oe/oemerOmer 是一款免费开源的端到端光学乐谱识别OMR工具它能把手机拍摄的五线谱照片直接转换成可编辑的MusicXML进而导出 MIDI 播放或二次编辑homr则是它更强大的改进版。本文用 3 分钟带你深度对比 Oemer 与 homr 的识别流程、效果、鲁棒性与能力边界帮你避坑并快速选出适合手机拍乐谱转 MusicXML的场景。一、什么是 OMROemer 如何把手机拍的五线谱变成 MusicXML 光学乐谱识别Optical Music RecognitionOMR是把乐谱图像转换为结构化乐谱数据的 AI 技术。Oemer 的完整流程是手机拍照 → 倾斜/弯曲校正Dewarp→双 UNet 语义分割→ 规则引擎提取符头、和弦、小节线、休止符与升降号 → 节奏符杠、附点解析 → 生成 MusicXML整个过程一条命令行驱动入口在 oemer/ete.py。下面是真实乐谱的识别效果左原谱右Oemer 转写出的 MusicXML生成的 MusicXML 可用 MuseScore 等主流编辑器打开直接编辑、回放并导出 MIDI。二、Oemer 快速上手一条命令完成乐谱识别1. 安装步骤# 从 PyPI 安装最常用 pip install oemer # 可选附带 Tensorflow 支持 pip install oemer[tf] # 或克隆仓库安装最新源码 git clone https://gitcode.com/gh_mirrors/oe/oemer2. 运行识别oemer path/to/score.jpg会在当前目录输出.musicxml文件以及一张已识别元素的可视化分析图。常用参数一览参数作用-o / --output-path指定输出目录默认当前目录--use-tf改用 TensorFlow 推理默认 Onnxruntime--save-cache缓存模型预测结果下次无需再推理-d / --without-deskew跳过倾斜校正报错时优先尝试⏱耗时参考带 GPU 时通常3~5 分钟/首乐谱首次运行会自动下载模型 checkpoint视网络可能需要 10 分钟。3. 先看效果再上手仓库内置了 docs/index.html 演示页包含多组校正前后 / 原谱 vs 转写乐谱的对比图与音频试听非常适合先确认效果再本地运行。三、Oemer 识别原理双 UNet 规则引擎流程完全透明Omer 的流水线可以概括为三层全部位于开源的 oemer/ 目录便于阅读与魔改深度学习层两个 UNet 分割网络。第一个oemer/checkpoints/unet_big/分离五线谱 vs 其他符号第二个oemer/checkpoints/seg_net/再细分符头、谱号、符干、休止符与升降号。机器学习层oemer/sklearn_models/ 中的 SVM 模型clef.model、rests.model、sfn.model负责具体符号类型分类。规则引擎层纯算法提取模块——oemer/dewarp.py 校正、oemer/staffline_extraction.py 五线谱、oemer/rhythm_extraction.py 节奏、oemer/build_system.py 构建 MusicXML。3.1 六步校正把歪斜弯曲的手机拍乐谱变水平手机拍摄的乐谱几乎都有弯曲变形Oemer 的 OMR 校正流程分六步Predict → Morph → Quantize → Group → Connect → Dewarp实际校正效果左原图右校正后五线谱恢复水平3.2 五线谱定位逐行像素累计找峰校正后算法逐行累计正像素、挑选峰值再叠加规则过滤得到真正的五线谱图中红点。线间距unit_size是后续所有音高与尺寸度量的基础3.3 节奏解析符干、符杠与附点的规则推断节奏是 OMR 中最易出错的部分。Omer 用符号图减去其他符号图得到符杠/符旗区域与音符组关联并数符杠数量判定节奏型八分、十六分等必要时还会把和弦组拆分成多条旋律线再看一组真实乐谱识别演示左原谱右MusicXML 转写结果四、homrOemer 的强力改进版homr 由 Christian Liebhardt 基于 Oemer 改进而来原作者在 README 中给出了特别推荐更专用、更强大的深度学习模型对图像质量的鲁棒性更强低质量照片下结果更稳最终效果更讨喜一句话总结Oemer 胜在透明可改每一步都是独立 Python 模块homr 胜在效果更强模型驱动。如果只关心最终识别质量homr 更值得优先尝试。五、Oemer vs homr 核心差异对比表 ⚖️维度Oemerhomr定位端到端 OMR 基准实现Omer 的改进版核心模型双 UNet 分割 SVM 分类更专用、更强大的深度学习模型图像鲁棒性能处理倾斜/模糊照片效果随画质波动更强低质量图像下更稳定流程透明度高各步骤为独立模块便于修改模型驱动支持的谱印刷体西方五线谱印刷体西方五线谱输出MusicXML 元素可视化分析图可编辑乐谱数据安装方式pip install oemerpip install homr六、局限边界说明这些场景别硬用 ⚠️两者同源共享同一个能力圈边界务必认清6.1 记谱类型边界✅印刷体西方五线谱训练数据来源效果最好❌手写谱Oemer 官方明确很可能无法转写homr 同样聚焦印刷谱❌简谱、和弦谱、吉他六线谱不在支持范围内6.2 图像质量边界倾斜校正能应付中度倾斜与弯曲但以下情况两者精度都会明显下降严重运动模糊、低光噪点极端透视畸变拍摄角度过大遮挡、折痕阴影、强反光谱面过密、字号过小6.3 音乐复杂度边界复杂元素识别精度下降生成的 MusicXML需要人工核对密集和弦、交叉节奏、多声部交织装饰音、踏板标记、力度与表情记号频繁转调、特殊排版布局6.4 性能与工作流边界GPU 下约 3~5 分钟/首纯 CPU 机器耗时显著更长首次运行需下载 checkpoint可用--save-cache避免重复推理多页乐谱需手动分页逐张处理无内置切页功能导出的 MIDI 一般可听但建议听一遍并人工修正后再正式使用七、选型建议什么时候用 Oemer什么时候选 homr想学 OMR 原理、修改流水线、做研究基线→ 选Omer代码透明、模块独立追求识别质量、照片质量参差→ 选homr鲁棒性更强手抄谱 / 简谱 / 六线谱→ 两者都不适用建议专用工具或人工录入⚡快速验证→ 都是 pip 一条命令安装先看内置演示页效果再决定八、常见问题 FAQQ输入图片有什么要求AJPG/PNG 均可越大越清晰越好避免强反光与褶皱。Q能识别简谱或手抄谱吗A不能。两个模型都只针对西方五线谱印刷体训练。Q第一次运行报错怎么办A优先加-d / --without-deskew跳过倾斜校正再试仍失败则按仓库 issue 模板提交问题。Q识别结果如何编辑A用 MuseScore 等编辑器打开.musicxml可编辑、回放、导出 MIDI。【免费下载链接】oemerEnd-to-end Optical Music Recognition (OMR) system. Transcribe phone-taken music sheet image into MusicXML, which can be edited and converted to MIDI.项目地址: https://gitcode.com/gh_mirrors/oe/oemer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表