Qari OCR 0.1 VL 2B Instruct
基于Qwen2 VL模型微调的阿拉伯语OCR模型,专为整页阿拉伯文本识别优化
下载量 2,965
发布时间 : 2/28/2025
模型简介
该模型是针对阿拉伯语整页文本光学字符识别(OCR)任务优化的视觉语言模型,在阿拉伯语OCR数据集上微调,显著提升了识别准确率
模型特点
高精度阿拉伯语OCR
针对阿拉伯语整页文本优化的识别能力,WER仅0.068,CER仅0.019
整页文本处理
专门针对整页阿拉伯文本识别训练,能处理完整页面内容
量化优化
采用4bit量化技术,在保持性能的同时减少资源占用
特定字体优化
针对Almarai、Amiri、Cairo等常用阿拉伯字体特别优化
模型能力
阿拉伯语印刷体识别
整页文本提取
高精度字符识别
多字体支持
使用案例
文档数字化
阿拉伯古籍数字化
将阿拉伯语古籍和手稿转换为可编辑文本
准确率达98.1%字符识别率
商业文档处理
处理阿拉伯语合同、发票等商业文档
较传统OCR工具提升84%准确率
教育应用
教材数字化
将阿拉伯语教材和学术论文转换为数字文本
BLEU分数达0.860
🚀 Qari-OCR-0.1-VL-2B-Instruct模型
该模型是基于阿拉伯语OCR数据集对unsloth/Qwen2-VL-2B-Instruct进行微调的版本。它经过优化,可对整页文本进行高精度的阿拉伯语光学字符识别(OCR)。
🚀 快速开始
你可以使用transformers
和qwen_vl_utils
库加载此模型:
!pip install transformers qwen_vl_utils accelerate>=0.26.0 PEFT -U
!pip install -U bitsandbytes
from PIL import Image
from transformers import Qwen2VLForConditionalGeneration, AutoProcessor
import torch
import os
from qwen_vl_utils import process_vision_info
model_name = "NAMAA-Space/Qari-OCR-0.1-VL-2B-Instruct"
model = Qwen2VLForConditionalGeneration.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
processor = AutoProcessor.from_pretrained(model_name)
max_tokens = 2000
prompt = "Below is the image of one page of a document, as well as some raw textual content that was previously extracted for it. Just return the plain text representation of this document as if you were reading it naturally. Do not hallucinate."
image.save("image.png")
messages = [
{
"role": "user",
"content": [
{"type": "image", "image": f"file://{src}"},
{"type": "text", "text": prompt},
],
}
]
text = processor.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True
)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
text=[text],
images=image_inputs,
videos=video_inputs,
padding=True,
return_tensors="pt",
)
inputs = inputs.to("cuda")
generated_ids = model.generate(**inputs, max_new_tokens=max_tokens)
generated_ids_trimmed = [
out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text = processor.batch_decode(
generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)[0]
os.remove(src)
print(output_text)
✨ 主要特性
- 基于Qwen2 VL模型微调,在阿拉伯语OCR数据集上进行训练。
- 能够高精度地提取整页阿拉伯语文本。
- 经过标准OCR指标评估,在WER、CER和BLEU得分上表现出色。
📦 安装指南
!pip install transformers qwen_vl_utils accelerate>=0.26.0 PEFT -U
!pip install -U bitsandbytes
💻 使用示例
基础用法
from PIL import Image
from transformers import Qwen2VLForConditionalGeneration, AutoProcessor
import torch
import os
from qwen_vl_utils import process_vision_info
model_name = "NAMAA-Space/Qari-OCR-0.1-VL-2B-Instruct"
model = Qwen2VLForConditionalGeneration.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
processor = AutoProcessor.from_pretrained(model_name)
max_tokens = 2000
prompt = "Below is the image of one page of a document, as well as some raw textual content that was previously extracted for it. Just return the plain text representation of this document as if you were reading it naturally. Do not hallucinate."
image.save("image.png")
messages = [
{
"role": "user",
"content": [
{"type": "image", "image": f"file://{src}"},
{"type": "text", "text": prompt},
],
}
]
text = processor.apply_chat_template(
messages, tokenize=False, add_generation_prompt=True
)
image_inputs, video_inputs = process_vision_info(messages)
inputs = processor(
text=[text],
images=image_inputs,
videos=video_inputs,
padding=True,
return_tensors="pt",
)
inputs = inputs.to("cuda")
generated_ids = model.generate(**inputs, max_new_tokens=max_tokens)
generated_ids_trimmed = [
out_ids[len(in_ids) :] for in_ids, out_ids in zip(inputs.input_ids, generated_ids)
]
output_text = processor.batch_decode(
generated_ids_trimmed, skip_special_tokens=True, clean_up_tokenization_spaces=False
)[0]
os.remove(src)
print(output_text)
📚 详细文档
模型详情
属性 | 详情 |
---|---|
基础模型 | Qwen2 VL |
微调数据集 | 阿拉伯语OCR数据集 |
目标 | 高精度提取整页阿拉伯语文本 |
支持语言 | 阿拉伯语 |
任务 | 光学字符识别(OCR) |
数据集大小 | 5000条记录 |
训练轮数 | 1 |
性能评估
该模型已在标准OCR指标上进行评估,包括单词错误率(WER)、字符错误率(CER)和BLEU得分。
指标
模型 | 单词错误率(WER)↓ | 字符错误率(CER)↓ | BLEU得分↑ |
---|---|---|---|
Qari v0.1模型 | 0.068 | 0.019 | 0.860 |
Qwen2 VL 2B | 1.344 | 1.191 | 0.201 |
EasyOCR | 0.908 | 0.617 | 0.152 |
Tesseract OCR | 0.428 | 0.226 | 0.410 |
关键结果
- 单词错误率(WER):0.068(单词准确率93.2%)
- 字符错误率(CER):0.019(字符准确率98.1%)
- BLEU得分:0.860
性能对比
- 与基础模型相比,单词错误率降低95%。
- 与基础模型相比,字符错误率降低98%。
- 与基础模型相比,BLEU得分提高328%。
- 与Tesseract OCR相比,单词错误率降低84%。
- 与EasyOCR相比,单词错误率降低92%。
性能对比图表
单词错误率(WER)和字符错误率(CER)对比

BLEU得分对比

局限性
虽然该阿拉伯语OCR模型在特定条件下表现出色,但仍存在一些局限性:
- 字体依赖:模型使用有限的字体集(Almarai-Regular、Amiri-Regular、Cairo-Regular、Tajawal-Regular和NotoNaskhArabic-Regular)进行训练。因此,在处理其他字体的文本时,尤其是装饰性或风格化字体,其准确性可能会下降。
- 字体大小限制:训练时使用的固定字体大小为16。字体大小的变化,特别是非常小或非常大的文本,可能会降低识别准确率。
- 不支持变音符号:模型不支持阿拉伯语变音符号(Tashkeel)。依赖变音符号进行消歧的文本可能无法正确识别。
- 不支持手写识别:模型未经过手写文本识别训练,仅适用于印刷文档。
- 整页处理:模型在整页文本识别上进行训练,这可能会影响其在分段文本、裁剪部分或复杂布局(如表格和多列格式)中的文本的性能。
在实际应用中部署该模型时,应考虑这些局限性,以确保最佳性能。
📄 许可证
该模型遵循原始Qwen2 VL模型的许可条款。在商业使用前,请仔细阅读相关条款。
引用
如果您在研究中使用了该模型,请引用:
@misc{QariOCR2025,
title={Qari-OCR: A High-Accuracy Model for Arabic Optical Character Recognition},
author={NAMAA},
year={2025},
publisher={Hugging Face},
howpublished={\url{https://huggingface.co/NAMAA-Space/Qari-OCR-0.1-VL-2B-Instruct}},
note={Accessed: 2025-03-03}
}
Table Transformer Structure Recognition
MIT
基于PubTables1M数据集训练的表格变换器模型,用于从非结构化文档中提取表格结构
文字识别
Transformers

T
microsoft
1.2M
186
Trocr Small Handwritten
TrOCR是一个基于Transformer的光学字符识别模型,专门用于手写文本图像的识别。
文字识别
Transformers

T
microsoft
517.96k
45
Table Transformer Structure Recognition V1.1 All
MIT
基于Transformer的表格结构识别模型,用于检测文档中的表格结构
文字识别
Transformers

T
microsoft
395.03k
70
Trocr Large Printed
基于Transformer的光学字符识别模型,适用于单行印刷体文本识别
文字识别
Transformers

T
microsoft
295.59k
162
Texify
Texify 是一个 OCR 工具,专门用于将公式图片和文本转换为 LaTeX 格式。
文字识别
Transformers

T
vikp
206.53k
15
Trocr Base Printed
TrOCR是基于Transformer的光学字符识别模型,专为单行文本图像识别设计,采用编码器-解码器架构
文字识别
Transformers

T
microsoft
184.84k
169
Manga Ocr Base
Apache-2.0
专为日语文本设计的光学字符识别工具,主要针对日本漫画场景优化。
文字识别
Transformers 日语

M
kha-white
130.36k
145
Tiny Random Internvl2
专注于将图像中的文本信息提取并转化为可编辑的文本内容
文字识别
Safetensors
T
katuni4ka
73.27k
0
Trocr Large Handwritten
TrOCR是基于Transformer的光学字符识别模型,专为手写文本识别设计,在IAM数据集上进行了微调。
文字识别
Transformers

T
microsoft
59.17k
115
Trocr Small Printed
TrOCR是一个基于Transformer的光学字符识别模型,适用于单行文本图像的OCR任务。
文字识别
Transformers

T
microsoft
20.88k
40
精选推荐AI模型
Llama 3 Typhoon V1.5x 8b Instruct
专为泰语设计的80亿参数指令模型,性能媲美GPT-3.5-turbo,优化了应用场景、检索增强生成、受限生成和推理任务
大型语言模型
Transformers 支持多种语言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一个基于SODA数据集训练的超小型对话模型,专为边缘设备推理设计,体积仅为Cosmo-3B模型的2%左右。
对话系统
Transformers 英语

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基于RoBERTa架构的中文抽取式问答模型,适用于从给定文本中提取答案的任务。
问答系统 中文
R
uer
2,694
98
智启未来,您的人工智能解决方案智库
简体中文