数据标注桌面应用人工智能【免费下载链接】BooruDatasetTagManager项目地址https://gitcode.com/gh_mirrors/bo/BooruDatasetTagManager点击查看免费下载BooruDatasetTagManager 是一个面向 Stable Diffusion 数据集训练 hypernetwork、embedding、LoRA 等的桌面标签编辑器主要用于批量整理 booru 风格标签加载图片 同名 txt组成的数据集后可以对单张或多张图片进行增删、排序、翻译、加权并通过内置的 Python 服务 AiApiServer 调用本地模型自动生成标签。读完本文你可以完成数据集加载与批量编辑、配置标签翻译与自动补全词库、部署并排错 AiApiServer 自动打标服务以及自定义颜色方案与界面语言。项目定位与适用场景根据 README.md 的说明这个编辑器的定位是为训练数据集准备的简单标签编辑器你可以用纯图片从零开始建库——程序保存时会自动创建对应的 txt 标签文件也可以加载已经用自动打标工具如 wd14-tagger、stable-diffusion-webui 生态工具生成过标签的数据集继续人工修订编辑器主要面向 booru 风格逗号分隔、小写、多标签的数据但也可以适配其他数据集自 2.5.0 版本起编辑器支持视频文件的打标。整个仓库由两部分组成部分目录说明桌面编辑器C# / WinFormsBooruDatasetTagManager/主程序加载数据集、编辑标签、管理翻译与配色、调用打标服务AiApiServerPython / FlaskAiApiServer/本地模型推理服务提供自动打标、背景移除、文本翻译三类接口数据集结构加载与保存流程目录要求图片与同名 txt 一一对应程序期望的数据集结构是每张配文图片旁有一个同名的标签文件例如1.png对应1.txt也可以只放图片、不放 txt——程序会从零开始建库在保存时生成 txt 文件。默认读取的标签文件扩展名定义在 AppSettings.cs 中DefaultTagsFileExtension默认txtCaptionFileExtensions默认为txt,caption加载/保存时的分隔符SeparatorOnLoad/SeparatorOnSave也可以在设置里修改。加载与三栏界面在程序中依次选择File - Load folder指定包含数据集的目录即可。加载完成后界面分为三个区域左侧栏数据集内的图片缩略图列表中间面板当前所选图片的标签列表可直接编辑增删、移动顺序、修改权重右侧面板两个标签页。第一个页签显示数据集中全部或公共标签及其统计第二个页签是 AutoTagger 预览窗口用于用内置服务生成标签。批量编辑与保存程序支持一次选中多张图片从而对同一类图片批量修改标签——这是整理大规模数据集时的核心效率来源。右侧全部标签列表中还提供了一系列批量操作按钮对选中/过滤后的图片添加或删除标签、替换标签等。编辑完成后选择File - Save all changes。从源码 DatasetManager.cs 可以看到SaveAll()的实现遍历数据集中IsModified的项先调用DeduplicateTags()去重再将标签序列化为文本写入TextFilePath即同名 txt 文件。如果启用了修正标签选项默认开启标签在保存/加载时会做规范化处理。其他实用入口来自 README 的 Other 一节View菜单可以隐藏不需要的面板还能开关标签翻译列见下文Tools菜单提供将透明背景自动替换为指定颜色的功能适合把 PNG 的透明区域填成纯色后再训练。标签翻译Tag translation使用标签翻译前需要先在设置中指定翻译语言与翻译服务README 特别提示如果所在网络无法访问 Google Translate可以把服务切换为 Chinese 服务。然后在View菜单选择Translate tags显示翻译列——显示后所有标签会自动翻译成所选语言。翻译缓存保存在工作目录的Translations文件夹中文件名即所选语言名格式为originaltranslation//Translation format: originaltranslation black hairтёмные волосы *soloСоло 1girl1 девушка要点程序优先读取该文件中的翻译因此可以手工编辑文件来纠正机器翻译建议把手工翻译用*前缀标记目前仅手动翻译过滤器只能在标签自动补全中使用需要在设置里启用该选项README 说明未来会扩展到更多场景。从源码 TranslationManager.cs 可以看到完整机制文件路径为工作目录/语言码.txt构造函数中Path.Combine(_workDir, _language .txt)不存在时会创建只含格式注释的空文件TransItem.Create解析每一行以*开头表示手动翻译按最后一个切分出原文与译文第 156 行LastIndexOf()并以原文小写后的哈希OrigHash作为键翻译流程带文件锁Program.TranslationLocker先查本地缓存未命中才调用在线服务翻译成功后用AddTranslationAsync追加写回缓存文件命中过的标签不会重复请求网络。自动补全用的标签词库编辑器支持从两种文件加载标签词库Booru tag autocompletion for A1111所用的 csv 格式文件自定义 txt 文件每行一个标签。由于加载这些数据耗时较长程序会把它们转换为自己的内部格式后再读取因此修改词库文件后需要等待较长时间重新加载。所有词库文件放在Tags文件夹中。源码 TagsDB.cs 印证了这些细节LoadCSVFromDir/LoadTxtFromDir只扫描目录顶层的*.csv/*.txtCSV 解析使用的正则(.*?),(\\d),(\\d),(.*)对应标签名、计数、计数、别名列表四段别名会作为独立词条挂回主标签AddTag(al, count, isAliastrue, tagName)每个文件用 Adler32 哈希记录LoadedFiles字典哈希未变化则跳过重读——这就是改了词库要等很久的原因只有内容变化才会触发重新解析。自动补全的行为参数如输入多少个字符后弹出、匹配模式、排序方式、是否只显示手动翻译在 AppSettings.cs 中有对应字段ShowAutocompleteAfterCharCount默认 3、AutocompleteMode默认StartWith、OnlyManualTransInAutocomplete默认关闭。AutoTagger部署本地 AiApiServer程序内置了自动打标能力由独立的 Python 服务AiApiServer提供README 称之为 interrogator_rpc 的后继方案。需要安装 Python 才能运行。安装依赖pip install -r requirements.txt由于最新版 onnxruntime 需要 2015 版 MSVC 运行时README 建议额外安装该运行时包。若使用 anacondaconda install conda-forge::vs2015_runtime若直接用 pip 安装pip install msvc-runtime如果纯 Python 环境运行服务有问题README 建议改用 anaconda / miniconda#Creating new environment with python conda create -n bdtm python3.12.9 #Activating the created environment conda activate bdtm #Installing the necessary dependencies. pip install -r requirements.txt #Run service python main.py之后每次启动已配置好的服务只需conda activate bdtm python main.py实际依赖清单见 requirements.txt包含onnx/onnxruntime-gpu、transformers当前锁定4.57.3、torch/torchvision/torchaudio从 PyTorch 官方 cu128 索引源安装、pyvips、qwen-vl-utils、keye-vl-utils、flask等。服务架构三类模型注册表 REST 接口从源码结构看AiApiServer 是一个 Flask 应用入口在 main.py启动时调用models.init()初始化设备然后监听0.0.0.0:50051models.py 维护三张模型注册表INTERROGATOR_MAP打标模型BLIP / BLIP2 / GIT-Large / Florence-2 / Moondream2 / JoyCaption / Qwen2.5-VL / Qwen3-VL / Keye-VL 系列 captioning 模型以及 DeepDanbooru 和 13 个 WD-tagger 变体每个都带有各自的默认thresholdEDITOR_MAP图像编辑模型RMBG-2.0 与多个 BiRefNet 变体用于背景移除各自绑定不同的处理分辨率TRANSLATOR_MAP翻译模型ByteDance-Seed 的 Seed-X 系列。设备选择逻辑在 models.py 顶部有 CUDA 就用cuda否则退回cpu。对外暴露的接口见 main.py 的api.add_resource注册接口方法作用/getconfigGET获取全部 Interrogator / Editor / Translator 列表含是否支持视频、仓库地址/listmodelsbytype?name...GET按类型过滤模型列表/getmodelparamsPOST查询某模型的可调参数如 wd/dd 的threshold、florence2 的cmd/prompt/split、qwen 系列的fps/max_frames/min_pixels/max_pixels/interrogateimagePOST对图片/视频路径执行打标返回带置信度的标签列表/editimagePOST执行图像编辑背景移除返回处理后的图片/translatePOST调用本地 Seed-X 模型翻译文本/setcustomsustempromptPOST设置自定义系统提示词interrogateimage 的处理流程值得注意请求中可带多个模型Models数组服务依次对每个模型加载推理并汇总结果支持AdditionalParameters透传模型参数如阈值DataType区分IMAGE_BYTE_ARRAY图片字节与VIDEO_PATH视频路径两种输入。若出现 VRAM 不足out of memory服务会自动卸载所有模型、切换为同一时间只保留一个模型在显存的模式并重试——这就是编辑器端SerializeVramUsage选项的底层机制。仓库自带 test.http 可直接在 IDE 中发送示例请求例如对wd-swinv2-tagger-v3打标阈值 0.25或调用 Seed-X 做日译俄POST http://127.0.0.1:50051/interrogateimage Content-Type: application/json { SkipInternetRequests: false, SerializeVramUsage: false, ImageName: name, Models: [ { ModelName: wd-swinv2-tagger-v3, AdditionalParameters: [ { Key: threshold, Value: 0.25, Type: float1, Comment: c } ] } ] }在编辑器中使用 AutoTagger服务启动后在编辑器内有三种入口Tools菜单用当前设置对全部图片生成标签工具栏上的 AutoTagger 图标只对选中图片生成右侧第二个页签AutoTagger preview window预览式生成不直接写入。生成参数可以通过Tools菜单中的生成菜单项打开设置窗口也可以走Settings - Auto tagger settings...对应 Form_AutoTaggerSettings.cs。编辑器通过 AiApiClient.cs 与服务通信构造时用设置项AutoTagger.ConnectionAddress作为连接地址ConnectAsync()先请求/getconfig拉取模型列表随后按请求把图片字节或视频路径VIDEO_PATH发给/interrogateimage。README 强调生成器允许同时勾选多个模型并指定多种结果的合并方式这是多模型互补打标的关键。AiApiServer 常见问题README 官方排错记录README 专列了 AiApiServer problems 一节以下是其中明确记载的坑Florence2 与 transformers 版本README 指出当时 Florence2 模型可用的最新 transformers 版本为 4.49.0如需使用需执行pip install transformers4.49.0 --upgrade但这可能破坏其他模型需要自行权衡。注意当前仓库 requirements.txt 已锁定transformers4.57.3是否仍受此限制以你实际运行的版本组合为准。背景移除模型briaai/RMBG-2.0与新版 transformers 不兼容README 建议改用BiRefNet系列models.py的BG_REMOVAL列表同时登记了两类模型。Kwai-Keye/Keye-VL-1_5-8B需要Flash Attention 2与triton。在 Windows 上 Flash Attention 无法直接 pip 安装需要按本机配置手动编译或寻找预编译包triton 可用pip install triton-windows安装。README 提示在 python 3.12 且显卡为 Blackwell 2.0RTX 50 系、AdaRTX 40 系或 AmpereRTX 30 系时可以尝试作者提到的预编译 build。加权标签Weighted tags编辑器支持加权标签加载标签时括号( )会被自动解析为权重修改权重时选中该标签拖动底部的 weight 滑块——一个刻度对应一层括号。对应实现见 EditableTag.cs 中的Weight属性浮点数每次变更触发OnEditableTagChanged。注意 README 与设置界面的提示如果启用加载时修正分隔符/规范化标签选项带权重的标签不会被支持且重置该选项会重建标签数据库、耗时较长。颜色方案Classic、Dark 与自定义程序自带两套配色Classic 和 Dark。目前还没有图形化的配色编辑器README 说明可以直接用文本编辑器打开ColorScheme.json手工修改。源码 ColorScheme.cs 中ColorSchemeManager.Load证实了这一点首次运行时若文件不存在会自动写入GetDefaultColorScheme()Classic与GetDarkDefaultColorScheme()Dark两套方案并序列化保存ChangeColorScheme则按控件类型逐类应用前景/背景色。当前选用的方案名记录在设置项ColorScheme中默认Classic见 AppSettings.cs。界面语言本地化所有界面语言文件位于 Languages/ 文件夹当前仓库包含en-US.txt、zh-CN.txt、zh-TW.txt、ru-RU.txt、pt-BR.txt格式为键文案例如 en-US.txtBtnTagAddAdd Tag BtnTagDeleteDelete Tag BtnMenuGenTagsWithCurrentSettingsGenerate tags with current settings (AiApiServer) GridCountCountREADME 的参与方式复制任一xx-XX.txt按语言代码重命名翻译号后的内容然后通过 Issues / Discussions 提交会被合入下个版本。界面语言由设置中的Language项默认en-US控制。视频打标支持自 2.5.0 起编辑器支持视频打标。README 的依赖一节说明视频抽帧依赖外部程序ScreenListerstarik222 的另一项目。从源码结构看编辑器端在请求时会根据扩展名判断数据类型视频文件若所选模型支持视频SupportedVideo标志来自/getconfig则以VIDEO_PATH形式发送路径给服务混合选择不支持视频的模型时会自动剔除这些模型见 AiApiClient.cs。视频类模型Qwen2.5-VL、Qwen3-VL、Keye-VL额外暴露fps、max_frames等抽帧参数可通过/getmodelparams查询参数说明见 main.py。从源码构建主程序是 C#.NET WinForms工程需要在Visual Studio不是 VS Code中构建安装 Visual Studio将仓库克隆到本机某目录在 Visual Studio 中FileOpenProject/Solution选择 BooruDatasetTagManager.slnBuildBuild Solution或 CtrlShiftB然后运行。运行时配置语言、快捷键、翻译、AutoTagger 连接地址等保存在工作目录的settings.json由 AppSettings.cs 负责加载与容错解析失败会重写默认配置。小结BooruDatasetTagManager 的价值在于把建库、批量修订、机器辅助打标合进一个桌面工作流数据集结构上兼容图片 同名 txt的通用约定编辑层提供多选、过滤、加权、翻译列等面向大规模数据整理的能力而 AiApiServer 以 Flask REST 服务的形式把 WD-tagger、DeepDanbooru、Florence-2、Qwen-VL 等本地模型统一成多模型 参数 结果合并的打标接口并内置了显存不足自动降载重试机制。按上文顺序完成数据集加载、词库与翻译配置、AiApiServer 部署三步即可开始批量处理自己的训练集。赞分享数据标注桌面应用人工智能【免费下载链接】BooruDatasetTagManager项目地址https://gitcode.com/gh_mirrors/bo/BooruDatasetTagManager点击查看免费下载相关推荐如何高效管理Booru数据集标签BooruDatasetTagManager完整指南如何高效管理Booru数据集标签BooruDatasetTagManager完整指南 BooruDatasetTagManager是一款功能强大的开源工具专数据标注桌面应用人工智能如何快速掌握AI图像标签管理Booru风格数据集标注终极指南如何快速掌握AI图像标签管理Booru风格数据集标注终极指南 在AI训练数据标注领域 AI图像标签管理 工具正成为提升工作效率的关键利器。BooruData数据标注桌面应用人工智能Hunyuan3D-2.1 架构深度解析开源3D生成系统的技术突破Hunyuan3D 2.1 架构深度解析开源3D生成系统的技术突破 Hunyuan3D 2.1 是腾讯推出的开源3D资产生成系统通过创新的全开源框架和基于物人工智能大模型基础模型媒体生成图形学上一篇D2DX如何让20年前的《暗黑破坏神2》在现代PC上焕发新生下一篇终极指南使用EPPlus在.NET中实现高效Excel自动化处理创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?