文档图像旋转对VLM OCR的影响及基于Phi-3.5-Vision+分类头的文档方向分类器、及数据构建思路

假设文档的存在方向旋转,那么会进一步的干扰VLM进行OCR的性能,下面看一个预处理方案,解决文档旋转干扰OCR问题,并进行一些评估,方法较为简单,快速看一下。

旋转分类任务定义:将文档旋转校正转化为四分类任务,覆盖最常见的四种旋转状态:

  • 类别0:-90°(逆时针旋转90°)
  • 类别1:0°(正立)
  • 类别2:90°(顺时针旋转90°)
  • 类别3:180°(倒置)

模型架构

视觉编码器

初始化Phi-3.5-Vision-Instruct的视觉编码器作为 backbone,该编码器基于CLIP ViT-L/14结构,具备强视觉特征提取能力,且参数量适中(整体模型约304M参数)。

动态裁剪策略

为解决单一图像输入难以兼顾"全局布局"和"局部文本细节"的问题,设计了多尺度裁剪方案:

  • 预处理步骤:先将输入图像(RGB格式,H×W×3)缩放、填充至"长和宽均能被336整除"的分辨率。
  • 裁剪生成:
    • 局部裁剪:将图像分割为不重叠的336×336补丁(最多16个),捕捉局部文本特征。
    • 全局裁剪:将整图缩放到336×336,保留全局布局信息。

这么做可以通过多视角输入提升模型对文本位置不均、边缘填充过多等复杂场景的鲁棒性。

分类头

既然是一个四分类任务,那么自然有基于特征的分类头。

  • 特征聚合:每个裁剪块经编码器输出序列后,提取首个位置的CLS token(全局特征表示,跟bert的分类类似),再对所有裁剪块的CLS token取平均,得到统一的图像表征。
  • 多层分类头:采用轻量前馈神经网络,结构为:
    1. 第一层:线性投影(维度从D→D/2,D为编码器输出维度1024)+ GELU激活 + 20% dropout(防过拟合)。
    2. 第二层:线性投影(维度从D/2→4),输出四分类logits。
  • 损失函数:Softmax交叉熵损失。

数据

训练数据:英文数据集(11K文档图像,含发票、合同等真实场景);11种印度语言数据集(38K图像,源自Wikisource

旋转增强:对训练数据均匀施加四种旋转变换,模拟真实的随机旋转场景。

性能

参考文献:Seeing Straight: Document Orientation Detection for Efficient OCR,https://arxiv.org/pdf/2511.04161v1

相关推荐
ZJU_统一阿萨姆2 小时前
【算子开发】矩阵乘法(GEMM)入门与共享内存优化
人工智能·线性代数·矩阵·系统架构
AI码农小姐姐2 小时前
AI漫剧用什么软件制作?知漫剧对比即梦/豆包/可灵怎么选?
人工智能
YH55269842 小时前
GPT‑5.6 Sol 原本支持 1M 上下文,Codex 现已放开此前限制,如何看待这次调整?
java·jvm·人工智能·gpt·算法·chatgpt
ZYJCSZKJ2 小时前
AI数字人实时交互系统的工程架构与多方言适配实践
人工智能·架构·交互·ai数字人直播系统
2601_965958462 小时前
口腔黏膜脱皮超2周未愈建议及时就医
人工智能·python
智购科技智能售货柜2 小时前
2026自动售货机整机可靠性测试:从高低温交变到EMC电磁兼容的认证工程实践~YH
运维·服务器·数据库·人工智能·物联网
“初生”2 小时前
用 Codex 做一致性 AI 动画:5 步工作流,角色不再漂移
人工智能·ai·chatgpt
AI_小站3 小时前
刚面完百度的 Agent 开发岗,我才发现:世界就是个巨大的草台班子
java·开发语言·人工智能·spring·百度·langchain
随风而飘1863 小时前
KEITHLEY吉时利 2400 数字源表
人工智能·功能测试·科技·测试工具
HyperAI超神经3 小时前
【Triton 教程】triton_language.fdiv
人工智能·深度学习·triton