AIGC标识 漫画翻译的技术链路:从文字检测到译文回填

缘起

追日漫、韩漫最难受的不是看不懂剧情,而是拿到"生肉"——没有汉化组接的作品只能干等。这几年 OCR 和大模型都成熟了,自己搭一条漫画翻译流水线其实没那么难。这篇文章把整条链路拆开讲一遍,也顺带说说每一步容易踩的坑。

一、文字检测:先搞清楚"哪里是字"

漫画和普通文档最大的区别在于版面。文档有固定的分栏和行距,漫画的文字却散落在气泡、旁白框、标题栏和拟声词里,还可能顺着气泡的弧形排布。

工业界常用 DBNet、CRAFT 这类文本检测模型先拿到候选文本框,再按连通域和重叠度合并成"气泡"级别的区域。这一步的关键不是召回率,而是分组:同一个气泡里的多行文字必须被识别成一组,否则后面翻译出来的语序会乱。

实践中还有一个坑:拟声词(ドキドキ、バンッ 之类)通常不应该翻译,或者应该保留原样。可以先用一个轻量分类器把"对白"和"效果音"分开,再决定要不要送进翻译环节。

二、OCR:日文识别比想象中难

日文是混合文字系统:平假名、片假名、汉字,外加偶尔出现的拉丁字母。三个难点:

  1. 竖排。日漫大量使用竖排文本,通用 OCR 模型默认按横排切分,直接跑会得到一堆乱码。要么用支持竖排的模型,要么先把区域旋转 90° 再识别。
  2. 假名相似。シ/ツ、ソ/ン、ハ/八 这几组字形极为接近,低分辨率扫描件上人眼都容易看错。
  3. 注音(ルビ)。汉字上方的小字注音如果被一起识别进来,会污染整句。

我的做法是先用检测框的高度做一次过滤:高度明显小于同组平均值的框,大概率是注音,单独处理。

三、翻译:大模型改变了什么

以前做漫画翻译,基本靠机器翻译引擎逐句翻译,最大的问题是没有上下文。漫画的对白高度依赖语境,一句"そうか"在不同场景下可以是"原来如此",也可以是"是吗",还可以是"这样啊"。

换成大模型之后,可以把整个气泡组、甚至前后几页的对白一起塞进 prompt,让它按上下文统一人称和语气。实测下来,术语一致性和语气连贯性提升非常明显。

需要注意的是长度控制。中文译文通常比日文原文短,但英译中、韩译中有时会变长,如果译文长度超出气泡,回填时就会溢出。可以在 prompt 里给出字数上限,或者在后处理阶段做一次压缩。

四、回填与排版:最容易被低估的一步

把译文贴回图片里,比想象中麻烦得多:

  • 擦除原文。简单的做法是用背景色矩形覆盖,但漫画气泡里有网点、渐变和阴影,直接盖一块纯色会非常突兀。好一点的做法是用图像修复(inpainting)模型,把文字区域当成 mask 补全。
  • 排版。中文可以横排,但日漫气泡多为竖排,回填时要么改成横排(观感会变),要么把中文也竖排(需要处理标点旋转)。
  • 字体。气泡里的手写体、粗体、描边字体,用默认字体回填会明显违和。

这一步的质量基本决定了最终成品"能不能看"。

五、不想自己搭怎么办

上面这套链路,检测 + OCR + 翻译 + 修复 + 回填,每一环单独调优都要花不少时间。如果只是想看漫画,直接用现成工具更划算。

我最近在用的 Manga Translator 就是把这几步串起来的在线工具:上传页面图片,它会自动完成气泡检测、文字识别、翻译和译文回填,保留原图的版式,输出可以直接阅读的成品页。对偶尔追几话生肉、又懒得自己搭流水线的场景来说,省事很多。

小结

漫画翻译这条链路里,检测和 OCR 是工程问题,翻译是模型问题,而回填是体验问题。三者都做到位,才谈得上"能用"。如果只做其中一环,成品大概率是没法看的。

posted @ 2026-09-27 22:25  jacobmillerv  阅读(9)  评论(0)    收藏  举报