首页
/ manga-image-translator部署教程:本地搭建高性能翻译服务

manga-image-translator部署教程:本地搭建高性能翻译服务

2026-02-05 05:52:16作者:龚格成

痛点与解决方案

你是否还在为漫画/图片中的外语文字无法理解而烦恼?手动翻译效率低下且容易出错,在线翻译服务又存在隐私泄露风险和网络依赖问题。本文将详细介绍如何在本地部署manga-image-translator项目,搭建属于自己的高性能图片翻译服务,实现一键翻译各类图片内文字,让你轻松跨越语言障碍。

读完本文后,你将能够:

  • 了解manga-image-translator的核心功能和工作流程
  • 掌握在不同操作系统下的本地部署方法
  • 学会使用Docker快速搭建服务
  • 配置GPU加速以提升翻译性能
  • 熟悉各种使用模式和参数优化技巧

项目概述

manga-image-translator是一个开源的图片翻译工具,旨在翻译那些不太可能有人专门翻译的图片,例如各种群聊、图站上的漫画/图片。该项目主要支持日语,同时也支持简繁中文、英文及其他20种小语言,支持图片修复(去字)和嵌字功能。

核心功能

  • 文本检测:自动识别图片中的文本区域
  • OCR识别:将图片中的文本转换为可编辑文本
  • 翻译功能:支持多种翻译引擎,包括在线和离线选项
  • 图片修复:智能去除原图文字并修复背景
  • 文字渲染:将翻译后的文字重新排版到图片中

工作流程

flowchart TD
    A[输入图片] --> B[文本检测]
    B --> C[OCR识别]
    C --> D[文本翻译]
    D --> E[图片修复]
    E --> F[文字渲染]
    F --> G[输出翻译后图片]

环境准备

硬件要求

组件 最低配置 推荐配置
CPU 双核处理器 四核及以上
内存 4GB 8GB及以上
显卡 集成显卡 NVIDIA GPU (4GB显存及以上)
存储 10GB可用空间 20GB可用空间

软件要求

  • 操作系统:Linux (推荐Ubuntu 20.04+)、Windows 10/11、macOS 12+
  • Python:3.10或更高版本
  • Git:用于克隆代码仓库
  • pip:Python包管理工具
  • 虚拟环境工具:venv或conda(推荐)

本地安装步骤

使用Pip/venv(推荐)

1. 克隆代码仓库

git clone https://gitcode.com/gh_mirrors/ma/manga-image-translator.git
cd manga-image-translator

2. 创建并激活虚拟环境

# 创建虚拟环境
python -m venv venv

# 激活虚拟环境
# Linux/macOS
source venv/bin/activate
# Windows
venv\Scripts\activate

3. 安装依赖

# 基础依赖安装
pip install -r requirements.txt

# 如果需要使用GPU加速,请安装对应版本的PyTorch
# 访问https://pytorch.org/get-started/locally/获取适合你系统的安装命令
# 例如,对于CUDA 11.7:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117

4. 模型下载

模型将在首次运行时自动下载到./models目录,无需手动下载。

Windows用户注意事项

Windows用户需要额外安装Microsoft C++ Build Tools,否则某些依赖包可能无法编译安装。

  1. 下载并安装Microsoft C++ Build Tools:

    • 下载地址:https://visualstudio.microsoft.com/vs/
    • 安装时选择"使用C++的桌面开发"工作负载
  2. 安装CUDA(如使用GPU):

    • 下载地址:https://developer.nvidia.com/cuda-downloads
    • 安装后需要重启电脑

Docker部署

环境要求

  • Docker:19.03或更高版本
  • Docker Compose(可选)
  • Nvidia Container Runtime(如使用GPU)

CPU版本部署

# 使用docker-compose启动
docker-compose -f demo/doc/docker-compose-web-with-cpu.yml up

GPU版本部署

# 使用docker-compose启动GPU版本
docker-compose -f demo/doc/docker-compose-web-with-gpu.yml up

手动运行Docker容器

# CPU版本
docker run \
  --name manga_image_translator_cpu \
  -p 5003:5003 \
  --ipc=host \
  --entrypoint python \
  --rm \
  -v $(pwd)/result:/app/result \
  zyddnys/manga-image-translator:main \
  server/main.py --verbose --start-instance --host=0.0.0.0 --port=5003

# GPU版本
docker run \
  --name manga_image_translator_gpu \
  -p 5003:5003 \
  --ipc=host \
  --gpus all \
  --entrypoint python \
  --rm \
  -v $(pwd)/result:/app/result \
  zyddnys/manga-image-translator:main \
  server/main.py --verbose --start-instance --host=0.0.0.0 --port=5003 --use-gpu

本地构建Docker镜像

# 构建镜像
make build-image

# 运行构建好的镜像
make run-web-server

使用方法

本地批量模式

# 基本用法
python -m manga_translator local -v -i <输入图片路径或文件夹>

# 示例:翻译images文件夹中的所有图片
python -m manga_translator local -v -i ./images

# 结果将保存在<输入文件夹>-translated目录中

网页模式

启动网页服务器

# 旧版UI
cd server
python main.py --use-gpu

# 服务启动后访问 http://127.0.0.1:8000

网页界面说明

网页模式提供了直观的用户界面,主要包含以下功能区域:

  • 图片上传区:用于上传需要翻译的图片
  • 参数配置区:可调整翻译器、目标语言、字体等参数
  • 预览区:显示翻译前后的对比效果
  • 历史记录区:查看之前的翻译结果

API模式

# 启动API服务
cd server
python main.py --use-gpu --port 8001

# API文档可访问 http://127.0.0.1:8001/docs

API调用示例

# 使用curl调用API
curl -X POST "http://127.0.0.1:8001/translate" \
  -H "Content-Type: multipart/form-data" \
  -F "image=@test.jpg" \
  -F "target_lang=CHS" \
  -F "translator=sakura"

性能优化配置

推荐参数组合

针对不同语言和场景,以下参数组合可获得较好效果:

场景 检测器 OCR 翻译器 修补器
日语漫画 default 48px sakura lama_large
英文漫画 default 48px sugoi lama_large
中文漫画 default 48px offline lama_large
韩语漫画 ctd 48px google lama_large

GPU加速配置

# 启用GPU加速
python -m manga_translator local -v -i ./images --use-gpu

# 网页模式启用GPU
cd server
python main.py --use-gpu

提升翻译质量的技巧

  1. 调整检测参数

    # 低分辨率图片降低检测尺寸
    python -m manga_translator local -v -i ./images --detection-size 1024
    
    # 提高掩膜覆盖范围
    python -m manga_translator local -v -i ./images --mask-dilation-offset 20
    
  2. 使用合适的字体

    # 指定漫画风格字体
    python -m manga_translator local -v -i ./images --font-path fonts/anime_ace_3.ttf
    
  3. 调整字体大小

    # 增加字体大小偏移量
    python -m manga_translator local -v -i ./images --font-size-offset 2
    
  4. 使用术语表

    # 使用预定义术语表
    python -m manga_translator local -v -i ./images --pre-dict dict/mit_glossary.txt
    

高级配置

配置文件

可以通过配置文件进行更详细的参数设置。示例配置文件位于examples/config-example.json

# 使用配置文件
python -m manga_translator local -v -i ./images --config-file ./config.json

常用配置项说明

{
  "detector": {
    "detector": "default",
    "detection_size": 2048,
    "text_threshold": 0.5
  },
  "ocr": {
    "ocr": "48px",
    "min_text_length": 0
  },
  "translator": {
    "translator": "sakura",
    "target_lang": "CHS"
  },
  "inpainter": {
    "inpainter": "lama_large",
    "inpainting_size": 2048
  },
  "render": {
    "font_size_offset": 0,
    "alignment": "auto"
  }
}

环境变量配置

对于需要API密钥的翻译服务,可以通过环境变量设置:

# Linux/macOS
export OPENAI_API_KEY="your_api_key"
export DEEPL_AUTH_KEY="your_deepl_key"

# Windows
set OPENAI_API_KEY="your_api_key"
set DEEPL_AUTH_KEY="your_deepl_key"

常见问题解决

依赖安装问题

问题:安装依赖时出现编译错误

解决方法

  • 安装编译工具链:
    # Ubuntu/Debian
    sudo apt-get install build-essential python3-dev
    # CentOS/RHEL
    sudo yum install gcc python3-devel
    # macOS
    xcode-select --install
    

GPU支持问题

问题:无法使用GPU加速

解决方法

  1. 确认已安装正确版本的PyTorch和CUDA
  2. 检查NVIDIA驱动是否正常工作:
    nvidia-smi
    
  3. 确保在命令中添加了--use-gpu参数

性能优化问题

问题:翻译速度慢

解决方法

  1. 降低检测和修复尺寸:
    python -m manga_translator local -v -i ./images --detection-size 1024 --inpainting-size 1024
    
  2. 使用更快的翻译器:
    python -m manga_translator local -v -i ./images --translator sugoi
    
  3. 减少线程数:
    python -m manga_translator local -v -i ./images --threads 2
    

总结与展望

通过本教程,你已经掌握了在本地部署manga-image-translator的完整流程,包括使用Pip/venv和Docker两种方式,以及各种使用模式的基本操作。合理配置参数和利用GPU加速可以显著提升翻译性能和质量。

项目目前仍在持续开发中,未来可能会加入更多功能,如:

  • 更先进的文本检测算法
  • 多语言同时翻译
  • 更好的图片修复效果
  • 移动端支持

如果你在使用过程中遇到问题或有改进建议,可以通过项目的GitHub仓库参与讨论和贡献。

附录:参数参考

基本参数

-h, --help                     显示帮助信息
-v, --verbose                  启用详细日志
--use-gpu                      使用GPU加速
--model-dir MODEL_DIR          模型存储目录
--font-path FONT_PATH          字体文件路径
--pre-dict PRE_DICT            翻译前替换字典
--post-dict POST_DICT          翻译后替换字典

本地模式参数

local                          本地批量模式
-i, --input INPUT              输入图片路径
-o, --dest DEST                输出目录
-f, --format FORMAT            输出格式(png,jpg等)
--overwrite                    覆盖已存在的文件
--skip-no-text                 跳过没有文本的图片
--save-text                    保存提取的文本和翻译结果

网页模式参数

--host HOST                    服务器地址
--port PORT                    服务器端口
--start-instance               自动启动翻译实例
--models-ttl MODELS_TTL        模型在内存中保留的时间(秒)

翻译参数

--translator TRANSLATOR        翻译器类型(sakura,deepl等)
--target-lang TARGET_LANG      目标语言
--source-lang SOURCE_LANG      源语言
--translator-chain TRANSLATOR_CHAIN 翻译器链

检测和修复参数

--detector DETECTOR            文本检测器
--detection-size DETECTION_SIZE 检测尺寸
--inpainter INPAINTER          图片修复器
--inpainting-size INPAINTING_SIZE 修复尺寸
--mask-dilation-offset MASK_DILATION_OFFSET 掩膜扩展偏移量
登录后查看全文
热门项目推荐
相关项目推荐