RolmOCR: modelo de reconocimiento óptico de caracteres (OCR) de documentos para reconocer caracteres manuscritos e inclinados

Introducción general

RolmOCR es una herramienta de reconocimiento óptico de caracteres (OCR) de código abierto desarrollada por el equipo Reducto AI, basada en el modelo de lenguaje visual Qwen2.5-VL-7B. Puede extraer texto de imágenes y archivos PDF más rápidamente que otras herramientas similares. olmOCR RolmOCR no depende de los metadatos PDF, lo que simplifica el procesamiento al tiempo que admite una amplia gama de tipos de documentos, incluidas notas manuscritas y trabajos académicos. El equipo de Reducto creó la herramienta actualizando el modelo y optimizando los datos de entrenamiento, con el objetivo de hacer más eficiente la digitalización de documentos.

RolmOCR:识别手写和倾斜字符的文档OCR模型RolmOCR:识别手写和倾斜字符的文档OCR模型

 

Lista de funciones

  • Extracción rápida de texto: Extraiga texto de imágenes y archivos PDF con gran velocidad de procesamiento para un gran número de documentos.
  • Admite una amplia gama de documentos: reconoce notas manuscritas, documentos impresos y formularios complejos.
  • Código abierto y gratuito: abierto bajo licencia Apache 2.0, el código puede descargarse y adaptarse libremente.
  • Poca memoria: en comparación con olmOCR Mayor eficiencia de recursos y menores requisitos informáticos durante el funcionamiento.
  • Sin necesidad de metadatos: procese directamente el documento original sin depender de la información adicional del PDF.
  • Reconocimiento mejorado de documentos inclinados: 15% en los datos de entrenamiento se gira para mejorar la adaptación a documentos con ángulos no positivos.
  • Basado en el último modelo: adopta Qwen2.5-VL-7B para mejorar la precisión y la eficacia del reconocimiento.

 

Utilizar la ayuda

RolmOCR es una herramienta de código abierto que funciona principalmente mediante código y es adecuada para usuarios con conocimientos básicos de programación. A continuación se ofrece una guía detallada de instalación y uso.

Proceso de instalación

  1. Comprobación del entorno Python
    RolmOCR requiere Python 3.8 o superior. Abra la línea de comandos y escriba python --version Comprueba la versión. Si no la tiene instalada, vaya al sitio web de Python y descárguela e instálela.
  2. Instalación del marco vLLM
    Uso de RolmOCR vLLM Ejecute el modelo. Introduzca en la línea de comandos:
pip install vllm

Una vez finalizada la instalación, configure las variables de entorno:

export VLLM_USE_V1=1

Esto garantiza que vLLM funcione correctamente.

  1. Descargar el modelo RolmOCR
    Los archivos del modelo están alojados en Hugging Face. Vaya a https://huggingface.co/reducto/RolmOCR y haga clic en "Archivos y versiones" para descargarlo. O sácalo desde la línea de comandos:
git clone https://huggingface.co/reducto/RolmOCR
  1. Puesta en marcha de servicios locales
    Vaya a la carpeta del modelo descargado y ejecútelo:
vllm serve reducto/RolmOCR

Cuando se inicia el servicio, la dirección por defecto es http://localhost:8000/v1. Mantenga abierta la ventana de la línea de comandos.

Utilización

RolmOCR extrae texto mediante llamadas a la API. Aquí están los pasos exactos.

Preparar el documento

Prepare el archivo que desea reconocer, por ejemplo, una imagen (PNG/JPG) o un PDF. suponga que la ruta del archivo es test_doc.png.

Llamada a la API para extraer texto

Escriba un script en Python para convertir el archivo a codificación base64 y enviarlo a RolmOCR. el código de ejemplo es el siguiente:

from openai import OpenAI
import base64
# 连接本地服务
client = OpenAI(api_key="123", base_url="http://localhost:8000/v1")
model = "reducto/RolmOCR-7b"
# 图片转 base64
def encode_image(image_path):
with open(image_path, "rb") as image_file:
return base64.b64encode(image_file.read()).decode("utf-8")
# 调用 RolmOCR 提取文字
def ocr_page_with_rolm(img_base64):
response = client.chat.completions.create(
model=model,
messages=[
{
"role": "user",
"content": [
{"type": "image_url", "image_url": {"url": f"data:image/png;base64,{img_base64}"}},
{"type": "text", "text": "把这张图片里的文字提取出来,像人读的那样自然返回。"}
]
}
],
temperature=0.2,
max_tokens=4096
)
return response.choices[0].message.content
# 运行示例
test_img_path = "test_doc.png"
img_base64 = encode_image(test_img_path)
result = ocr_page_with_rolm(img_base64)
print(result)

guardar como (un archivo) ocr_test.pyy luego corre:

python ocr_test.py

El programa devuelve el texto extraído, por ejemplo:

会议记录
2025年4月7日
- 项目计划讨论
- 准备相关资料

archivo por lotes

Para manejar múltiples archivos, reescribe el código. Coloca las rutas de los archivos en una lista y llámala en un bucle:

file_paths = ["doc1.png", "doc2.png", "doc3.png"]
for path in file_paths:
img_base64 = encode_image(path)
result = ocr_page_with_rolm(img_base64)
print(f"{path} 的结果:\n{result}\n")

Función destacada Operación

  1. reconocimiento de escritura
    RolmOCR reconoce la escritura a mano. Por ejemplo, una nota que diga "Deepseek Coder" se emite con precisión sin confundirse con "OCLM". Tras cargar la imagen, los resultados se clasifican por orden natural.
  2. Tratamiento sesgado de documentos
    El 15% se rota en los datos de entrenamiento, por lo que se adapta mejor a los documentos sesgados. Por ejemplo, un escaneado sesgado, el texto se sigue extrayendo correctamente.
  3. Funcionamiento con poca memoria
    Sin dependencia de los metadatos, longitudes de pista más cortas y menor uso de memoria gráfica (VRAM) para el procesamiento. Adecuado para ordenadores con configuraciones inferiores.

advertencia

  • interrupción del servicioNo cierre la ventana de línea de comandos después de iniciar el servicio o la API se detendrá.
  • déficit de memoriaSi su ordenador no tiene suficiente memoria, puede ajustar el parámetro vLLM, por ejemplo per_device_train_batch_sizereduciendo las necesidades de recursos.
  • limitacionesRolmOCR puede pasar por alto texto pequeño con bajo contraste o el reconocimiento incompleto de tablas complejas sin metadatos. Se recomienda optimizar la calidad de la imagen y volver a intentarlo.
  • No se admiten los cuadros de diseñoA diferencia de la API comercial de Reducto, RolmOCR no puede generar cuadros delimitadores para texto.

Con estos pasos, los usuarios pueden instalar y utilizar fácilmente RolmOCR para extraer texto de documentos rápidamente.

 

escenario de aplicación

  1. investigación académica
    Los estudiantes e investigadores pueden utilizar RolmOCR para escanear notas manuscritas o documentos antiguos y convertirlos en textos electrónicos para facilitar su organización y búsqueda.
  2. Procesamiento de documentos de empresa
    La empresa puede utilizarlo para extraer texto de contratos y sobres e introducirlo en el sistema, lo que reduce el trabajo manual.
  3. Soporte multilingüe
    Maneja documentos mixtos en chino e inglés o cartas manuscritas en francés, extrayendo la información con rapidez y adaptándose a la comunicación transfronteriza.

 

CONTROL DE CALIDAD

  1. ¿Cuál es la diferencia entre RolmOCR y olmOCR?
    RolmOCR se basa en el modelo actualizado Qwen2.5-VL-7B, que es más rápido, ocupa menos memoria, no utiliza metadatos y es más robusto para documentos sesgados.
  2. ¿Se puede utilizar sin conexión?
    Se puede. Basta con descargar el modelo e iniciar el servicio local, sin necesidad de conexión a Internet.
  3. ¿Admite el reconocimiento de formularios?
    Se admite, pero puede omitir partes de tablas complejas sin metadatos, como los subtítulos de los artículos académicos.
© declaración de copyright
AiPPT

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...