Skip to content

unirain/book-title-ocr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

book-title-ocr

AI 驱动的书籍封面标题识别工具 — OCR + VLM 提取书名,生成带缩略图的 Excel 表格。

功能

  • 图片 → Excel:将封面照片嵌入 Excel,自动识别书名
  • 两步识别:DeepSeek-OCR 提取文字 → Qwen2.5-7B 提取书名,准确率 99%+
  • VL 模型补漏:OCR 失败的封面用 Qwen3-VL 等视觉模型重试
  • 多目录支持--input-dir / --output 指定不同图片目录和输出文件
  • 断点续传:中断后自动跳过已处理项,进度文件独立保存
  • 并发处理:可配置并发数,大幅提升速度
  • HEIC 支持:原生支持 iPhone 拍摄的 HEIC 格式照片

快速开始

1. 准备图片

将书籍封面照片放入文件夹(支持 HEIC / JPG / PNG 等格式)。

2. 安装依赖

pip install openpyxl pillow pillow-heif openai

3. 设置 API Key

SiliconFlow 注册并获取 API Key:

export SILICONFLOW_API_KEY=your-api-key

4. 运行

# 完整流程:嵌入图片 → 识别书名
python process_books.py --api-key $SILICONFLOW_API_KEY --workers 15

# 处理指定文件夹,输出到指定文件
python process_books.py --input-dir book-images2 --output books2.xlsx \
    --api-key $SILICONFLOW_API_KEY --workers 15

# 仅嵌入图片,跳过识别
python process_books.py --init-only

# 用 VL 模型重新识别失败的书名
python process_books.py --api-key $SILICONFLOW_API_KEY \
    --retry-unrecognized --model Qwen/Qwen3-VL-32B-Instruct

参数说明

参数 默认值 说明
--input-dir book-images 图片文件夹路径
--output books.xlsx 输出 Excel 文件名
--init-only - 仅创建含图片的 Excel
--names-only - 仅识别书名(需已存在 Excel)
--api-key $SILICONFLOW_API_KEY SiliconFlow API Key
--model deepseek-ai/DeepSeek-OCR OCR / VL 模型名称
--title-model Qwen/Qwen2.5-7B-Instruct 提取书名的文本模型
--workers 5 并发数
--reset - 清除进度缓存,全部重新识别
--retry-unrecognized - 用 VL 模型重试"无法识别"的行

进度文件与缩略图目录根据 --output 自动命名(如 books2.xlsxbooks2.progress.json / .thumbnails_books2/)。

工作流程

book-images/   →   Phase 1: 嵌入 Excel   →   Phase 2: AI 识别书名
  IMG_0001.HEIC      id | 书名 | 图片           DeepSeek-OCR → 提取文字
  IMG_0002.HEIC      ...                         Qwen2.5-7B → 提取书名
  IMG_0003.HEIC
                     books.xlsx  ←  最终输出
                     books.progress.json ← 断点缓存

识别流程

首次识别(默认)
  DeepSeek-OCR(Free OCR)→ 提取封面所有文字
       ↓
  Qwen2.5-7B(文本 LLM)→ 从文字中挑出书名

失败重试(--retry-unrecognized)
  Qwen3-VL(视觉模型)→ 直接理解图片,输出书名

实测效果

数据集 图片数 首轮识别率 最终识别率
儿童绘本 (book-images) 240 88.8% 99.2%
儿童绘本 (book-images2) 126 92.1% 100%

依赖模型

所有模型通过 SiliconFlow API 调用(OpenAI 兼容协议):

角色 模型
OCR 文字提取 deepseek-ai/DeepSeek-OCR
书名识别 Qwen/Qwen2.5-7B-Instruct
失败重试(推荐) Qwen/Qwen3-VL-32B-Instruct

License

MIT

About

Extract book titles from cover photos using AI vision models (OCR + VLM), output to Excel with embedded thumbnails.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages