尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Audiveris 的 .zip 归档:训练样本仓库(samples/images/annotations)的结构、用途与运维

Audiveris 的 .zip 归档:训练样本仓库(samples/images/annotations)的结构、用途与运维 桌面应用计算机视觉图像处理OCR【免费下载链接】audiverisLatest generation of Audiveris OMR engine项目地址https://gitcode.com/gh_mirrors/au/audiveris点击查看免费下载本篇技术指南聚焦 Audiveris OMR 引擎中一类特殊的输出产物——.zip归档文件。它们不是乐谱的最终交付格式那是.omr、.pdf、.mxl而是服务于字形分类器Glyph classifier训练的容器本书的BOOK-samples.zip、BOOK-images.zip、BOOK-annotations.zip以及全局训练目录TRAIN_FOLDER下的samples.zip与images.zip。读完本文你将掌握这五种归档的职责边界、存放位置、生成/合并/推送流程以及如何在 SampleRepository.java 等源码中印证它们的内部实现。为什么是 .zip训练材料的容器设计Audiveris 的.omr输出是乐谱工程的内部数据序列化.pdf与.mxl是面向演奏者和打谱软件的结果而本文讨论的.zip则完全是另一类用途它们是容器主要服务于训练材料原文明确These files are containers mainly used for training material。从 SampleRepository.java 的类注释可以看到SampleRepository负责存储Sample实例每个 sample 本质上是一个字形 形状glyph shape的组合其中还有一类特殊的字体合成样本font-based samples由 Audiveris 的音乐字体与文本字体直接生成虽然它们是人工构造的但同样被计入训练样本集合。这些样本天然需要以按 sheet、按 shape组织的归档方式来存放.zip因此成为默认容器格式。本地 Book 归档Book 级对于一个名为BOOK的书籍文件夹其中可能出现三个.zip归档各自的定位完全不同归档文件定位内容与用途BOOK-samples.zip本书的样本仓库local repository汇集本书中采集到的全部样本glyph shape。高级用户应当在把内容推送到global仓库之前仔细检查甚至编辑这个local仓库里的所有样本BOOK-images.zip本地样本仓库的可选配套包含每个至少有一个样本的 sheet 的关联图像用于在界面中展示样本的背景上下文visual check不参与训练BOOK-annotations.zipAudiveris 5.x 的输出物为 6.x 版本计划中的 page / patch 分类器预留为每个被识别的 inter 提供 sheet 图像 符号标注shape bounding box本地归档的命名规律从 SampleRepository.java 中的正则可以看出命名约束private static final Pattern SAMPLES_PATTERN Pattern.compile((.*-)?(samples\\.zip));即本地归档采用BOOK_NAME-samples.zip形式全局归档则是纯samples.zip。在 SampleRepository.java 中构造器会从samples.zip文件名推导出配套的images.zip路径this.samplesFile samplesFile; this.imagesFile samplesFile.resolveSibling(prefix IMAGES_FILE_NAME);其中IMAGES_FILE_NAME定义为images.zip见 SampleRepository.javaSAMPLES_FILE_NAME为samples.zip见 SampleRepository.java。也就是说只要给出foo-samples.zip程序就能自动推导foo-images.zip的存在与路径。生成本地归档的操作路径在 指南 samples.md 中有明确的生成方式对单张 sheet 满意后使用Sheet → Sample下拉菜单保存该 sheet 的样本对整本书满意后使用Book → Sample下拉菜单保存整本书的样本。数据会以两个 zip 归档保存在 book 文件夹下例如foo书会生成foo-samples.zip样本集合与foo-images.zip包含的 sheet 图像。一个良好的实践是一次只处理一本书只有当本书数据被彻底验证、样本被仔细过滤后才把书仓库合并进全局仓库。工作区中的对应物仓库自带的示例数据与配置也体现了这套命名与存放约定app/res/basic-classifier.zip —— 随发行版提供的训练模型glyph classifier 的 trained model norms其默认位置就在TRAIN_FOLDERdata/examples/ —— 提供可供采样、验证的示例乐谱图片如BachInvention5.jpg、D0392410-1.256.png等。全局归档Global 级与 Book 级归档相对的是存放于TRAIN_FOLDER中的全局归档。TRAIN_FOLDER是CONFIG_FOLDER下直接的train子目录见 essential.md。CONFIG_FOLDER的具体位置随操作系统而异OSCONFIG_FOLDERWindows%APPDATA%\AudiverisLtd\audiveris\configLinux选项 1$XDG_CONFIG_HOME/AudiverisLtd/audiverisLinux选项 2$HOME/.config/AudiverisLtd/audiverisFlatpak$HOME/.var/app/org.audiveris.audiveris/configmacOS$HOME/Library/Application Support/AudiverisLtd/audiveris因此TRAIN_FOLDER即上述目录下的train子文件夹其中包含文件说明basic-classifier.zip字形分类器的训练模型与 norms用于覆盖默认 Audiveris 模型samples.zip全局训练样本仓库images.zip训练样本的背景 sheet 图像详见 essential.md 的表格。全局 samples.zip训练的唯一数据源全局samples.zip是训练 glyph classifier 的唯一来源原文It is the only source for training the glyph classifier。其内容建立于所有被推送pushed进来的本地仓库之上。从 SampleRepository.java 可以看到全局仓库的获取逻辑if (GLOBAL null) { GLOBAL getInstance(WellKnowns.TRAIN_FOLDER.resolve(SAMPLES_FILE_NAME), load); } if (load (GLOBAL ! null) !GLOBAL.isLoaded()) { GLOBAL.loadRepository(null); }即全局仓库就是TRAIN_FOLDER/samples.zip对应的SampleRepository单例它是懒加载的——只有真正执行loadRepository()时才会访问磁盘上的 zip 文件见 SampleRepository.java 的注释构造时并不会访问 samples 文件直到调用loadRepository()或storeRepository()。全局 images.zip体积大、仅供目检images.zip归档包含随样本从本地仓库推送上来的图像。它可能变得相当大原文档提示It can get fairly big并且只用于视觉检查visual check不用于训练。这也在源码中得到印证图像文件通过ZipFileSystem.open(imagesFile)打开按 sheet descriptor 的folderPath解析到对应的 sheet 图像见 SampleRepository.java提供isImagesAvailable()之类的检查判断 sheet 图像文件是否存在见 SampleRepository.java。下载初始材料在 samples.md 中给出了初始材料的获取与布置建议官方提供samples.zip约 4 MB约 15000 个样本、images.zip约 453 MB约 3500 张 sheet 图像与basic-classifier.zip约 0.3 MB训练结果模型。做法是**直接下载归档无需解压**放入自己的config/train目录之后即可在此基础上扩充自己的样本集。注意images.zip对训练不是必需的但有助于在 sheet 上下文中目检大部分样本。从采集到推送本地仓库如何进入全局结合 samples.md 的完整流程.zip 归档的完整生命周期如下1. 采样Sampling对已校正满意的 sheetSheet → Sample或 bookBook → Sample生成BOOK-samples.zip与BOOK-images.zip落在 book 文件夹中。2. 目检与编辑Repository UI通过Tools → Browse Global Repository...打开GLOBAL仓库读取config/train下的samples.zip/images.zip或通过Book → View Book Repository...打开某本书的仓库。界面左侧是 Shapes 选择器中间是 Sheets 选择器 Sample board Classifier board右侧是 Samples 选择器与 Sample context上下文面板依次选择 sheets → shapes → samples 三级联动特殊 sheet# SYMBOLS FROM FONT #汇集所有字体合成样本以绿色背景显示对选中样本可执行RemoveDELETE键 /Remove按钮 / 右键菜单或Assign to重新指定 shape。目检的核心动机是一个被错误指派 shape 的样本若混入训练集会严重损害 Audiveris 的识别效率因此要么删除、要么纠正其 shape。3. 合并 / 推送Merge / Push当本地仓库验收通过后在 book 仓库界面通过Repository → Push to Global把内容推送进全局仓库。源码层面对应SampleRepository.includeRepository(...)与includeSamplesFile(...)public synchronized void includeSamplesFile (Path samplesFile) { SampleRepository repo getInstance(samplesFile, true); ... includeRepository(repo); ... }见 SampleRepository.java。合并后调用storeRepository()见 SampleRepository.java将更新写回samples.zip。由于训练过程只使用 GLOBAL 仓库见 samples.md推送是本地样本进入训练流程的唯一通道。4. 训练Training全局仓库就绪后即可通过Tools → Train菜单启动字形分类器训练详见 training.md。训练基于全局仓库的样本随机选择Select按钮训练期间可利用False Positives/Weak Positives/Weak Negatives三类视图继续回到仓库界面修正样本形成采样 → 目检 → 推送 → 训练 → 再修正的闭环。归档内部实现要点从源码可以确认几个值得注意的实现细节zip 访问方式无论是加载 sheet 图像还是存储样本均通过java.nio.file的ZipFileSystem直接以文件系统视图访问归档内容SampleRepository.java、SampleRepository.java使用完毕后关闭对应的文件系统句柄。这意味着你可以把 zip 当作一个目录来组织 sheet 子目录与样本条目而无需在磁盘上解压展开。本地/全局命名区分samples.zip全局位于WellKnowns.TRAIN_FOLDER与BOOK_NAME-samples.zip本地位于某个 book 文件夹由正则(.*-)?(samples\.zip)统一识别SampleRepository.javaisGlobal()通过this GLOBAL判断SampleRepository.java。质量自检仓库内置对冲突样本conflicting同一 run table 被标成不同 shape与冗余样本redundant的检查并在冗余字体样本上打上 ignored 标记后重新storeRepository()SampleRepository.java避免劣质样本污染训练数据。annotations 的命名扩展整本书的标注归档扩展名为.annotations.zip单 sheet 的标注则是.annotations.xmlAnnotations.java印证了BOOK-annotations.zip属于 5.x 为未来分类器预留的结构化输出。小结归档层级是否参与训练主要用途BOOK-samples.zip本地book 文件夹否推送后间接参与本书样本仓库推送前的校验与编辑对象BOOK-images.zip本地book 文件夹否样本的背景 sheet 图像目检用BOOK-annotations.zip本地book 文件夹否5.x 预留的符号标注输出shape bounding boxsamples.zip全局TRAIN_FOLDER是唯一训练来源glyph classifier 的训练样本库images.zip全局TRAIN_FOLDER否推送图像的汇总归档仅视觉检查一句话总结samples.zip是训练链路的数据核心images.zip是它的目检配套annotations.zip是面向未来的标注储备理解它们的分层本地 Book 级 → 全局 TRAIN_FOLDER 级与流转采样 → 过滤 → Push to Global → Train即可在 Audiveris 中建立可控、可复现的训练样本管线。相关文档可继续参阅 Outputs 总览、Essential folders 与 Samples 指南。赞分享桌面应用计算机视觉图像处理OCR【免费下载链接】audiverisLatest generation of Audiveris OMR engine项目地址https://gitcode.com/gh_mirrors/au/audiveris点击查看免费下载相关推荐TimescaleDB Multi-node 弃用详解从分布式架构到单节点聚焦的演进TimescaleDB Multi node 弃用详解从分布式架构到单节点聚焦的演进 TimescaleDB 自 2.13 起正式弃用 multi node桌面应用计算机视觉图像处理OCRpython-docs-samples 实战App Engine Images API 与 Images Guestbook 样本应用深度解析python docs samples 实战App Engine Images API 与 Images Guestbook 样本应用深度解析 导读 本文围示例工程为什么选择Rapid SCADA工业自动化监控系统的5大优势为什么选择Rapid SCADA工业自动化监控系统的5大优势 Rapid SCADA是一款功能强大的开源工业自动化监控系统专为实时数据采集、处理和可视化而设工业制造后端物联网上一篇Liquibase与Git集成5步实现数据库架构变更的完美版本控制下一篇如何免费打造你的智能驾驶辅助系统FlowPilot完整安装与使用指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表