Koharu四阶段流水线实战:如何组合运行检测、OCR、翻译与图像修复(Inpainting) Koharu四阶段流水线实战如何组合运行检测、OCR、翻译与图像修复Inpainting【免费下载链接】koharuAI-powered manga translator, written in Rust.项目地址: https://gitcode.com/gh_mirrors/ko/koharuKoharu 是一款用 Rust 编写的开源 AI 漫画翻译工具其核心是一套固定的四阶段流水线检测Detection→ OCR → 翻译Translation以及检测 → 图像修复Inpainting两条分支。本文带你完整跑通一次漫画翻译项目从选择处理范围、组合四个阶段到理解每个模型阶段何时运行、何时跳过以及中途停止后已完成的成果为何不会丢失。上图为 Koharu 主界面左侧是项目页面列表中间是漫画画布右侧图层面板中可以看到文本图层、Cleanup 修复层与原画图层——这正是四阶段流水线运行后的产物。 先理解 Koharu 的流水线结构Koharu 没有自由搭建的运行时计算图而是采用小而明确的工作流检测 detection - OCR - 翻译 translation \- 图像修复 inpainting检测用布局模型找出文字区域、对话气泡与分镜并生成文字擦除掩码removal maskOCR只读取检测出的文字区域识别原文如日语翻译调用语言模型把原文翻译为目标语言写入语义文本组件图像修复Inpainting用擦除掩码重建原画中被台词遮挡的画面。这条工作流定义在 crates/koharu-pipeline/src/stages/mod.rs 中Stages结构体持有 detection、ocr、translation、inpainting 四个命名处理器每个阶段实现同一套生命周期契约StageProcessor trait懒加载模型、处理恰好一页、产出一个语义化Patch。各阶段的默认模型可在配置中查看crates/koharu-pipeline/src/config.rs检测默认koharu-layout-rfdetr-seg-2xlOCR 默认paddleocr-vl-1.6修复默认lama。 选择处理范围与阶段组合在画布上方的处理选择器中Koharu 支持三种范围docs/workflow/process-pages.md范围含义当前页仅画布中可见的这一页选中页页面栏Page Rail中选中的页面整个项目按项目顺序处理所有页面阶段选择则对应 Operation 枚举Full四个阶段全跑即完整工作流Through 某阶段例如Run through Inpainting 检测 修复注意它不会顺带跑 OCR 与翻译Only 某阶段只跑一个阶段适合精修重跑Stages 子集勾选任意非空组合按固定工作流顺序执行。⚠️ 一个关键规则被省略的前置阶段不会自动补上。如果你要重跑翻译但没有新鲜 OCR 结果请同时勾上 OCR同理重跑修复前通常需要新的检测结果。️ 各阶段实战要点检测给后续阶段画地图检测阶段对输入页面做文字、气泡、分镜三类识别。下图是典型的输入漫画页检测模型Koharu Layout RF-DETR Seg 2XL提供 text / bubble / panel 三个置信度阈值阈值越低保留越多不确定区域误报也越多。官方建议先检查若干代表性页面再调高阈值见 docs/models/vision-and-inpainting.md。OCR只读检测到的文字Koharu 提供四种 OCR 模型PaddleOCR-VL 1.6默认通用视觉语言路线、Manga OCR日语漫画专精、Baberu OCR、Hayai OCR中日韩英。识别器无法找回检测阶段遗漏的文字因此如果 OCR 结果为空应先到画布上检查检测区域而不是怀疑翻译模型。翻译可插拔的 Provider 后端翻译是流水线中的普通处理器其模型选择、目标语言、指令与生成参数都放在[pipeline.translation]配置节中与 Provider 连接配置[providers]解耦。翻译结果会替换每个文本实体的Translation组件而分析区域与排版层仍保持独立可编辑——这意味着你可以人工改写译文而不影响源文本与版式。支持的 Provider 源码见 crates/koharu-translator/src/remote/OpenAI、Gemini、DeepL、Claude 等。图像修复Inpainting输出质量取决于掩码精度Inpainting 用检测阶段生成的擦除掩码重建被台词遮挡的画面。下图是一张 4K 风景画测试图正是 Inpainting 模型要在缺损区域重建周围画质的典型场景修复模型分两类直接修复LaMa默认、AOT Inpainting——轻量快速生成式FLUX.2 Klein、RORem Mixed——带正/负提示词控制但运行时包更大、更耗时。提示词应聚焦重建周围画面、排除文字不要让修复模型去做排版。另外你也可以不依赖自动掩码选择Remove工具手动绘制擦除区域再对当前页单独运行 Inpainting 阶段见 docs/workflow/cleanup-and-inpainting.md。⚡ 调度机制为什么中途停止也不丢结果Koharu 流水线的执行单位是一页上的一个阶段crates/koharu-pipeline/README.md逐阶段提交某个页面阶段一完成立即提交画布即时刷新无需等待全项目屏障页面窗口调度页面按项目顺序进入调度器始终选最老的就绪页加速卡上就绪任务共享一条执行通道模型跨页保持驻留空输入即跳过某页没检测到文字 → 自动跳过 OCR 与翻译擦除掩码为空 → 跳过修复推理。这些是正常完成不是失败协作式停止StopToken阻止新工作开始进行中的推理会跑到安全边界后丢弃结果此前所有已提交成果完整保留执行返回Stopped状态OOM 自愈某阶段显存不足时加速门会卸载其他阶段的模型、让设备冷却并重试一次。️ 推荐的组合运行方式场景阶段组合说明首次处理新项目Full四阶段全跑首次运行含模型下载与加载耗时较长只做去台词Through Inpainting检测 修复不含 OCR/翻译OCR 识别不准Only OCR限当前页/选中页用窄范围重跑避免覆盖人工修订换翻译风格/语言Only Translation仅替换译文不影响原画与检测区域修完局部文字后补修复Only Inpainting当前页配合手动 Remove 掩码精修 重跑派生阶段会替换该阶段的语义输出。重跑检测或 OCR 前建议先检查已人工修订过的文本元素并尽量用窄范围单页或选中页执行。 延伸阅读流水线模块文档crates/koharu-pipeline/README.md处理页面工作流docs/workflow/process-pages.md清理与图像修复docs/workflow/cleanup-and-inpainting.md视觉与 Inpainting 模型选型docs/models/vision-and-inpainting.md翻译 Provider 配置crates/koharu-translator/README.md模型是懒加载的且 Koharu 会为每个处理器单独记忆配置档位切回生成式修复模型时其提示词配置会自动恢复。建议先完整跑一轮、再在同一页面上横向对比模型质量最后再调整项目默认配置。【免费下载链接】koharuAI-powered manga translator, written in Rust.项目地址: https://gitcode.com/gh_mirrors/ko/koharu创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考