【PaddleOCR-PPOCRLabel】Usando la herramienta de etiquetado

MD correspondiente: \PPOCRLabel\README_ch.md
el archivo Léame es muy claro, los siguientes pasos se copian de README_ch.md

PPOCRLabel es una herramienta de etiquetado gráfico semiautomática adecuada para el campo OCR. El modelo PP-OCR incorporado etiqueta y reidentifica automáticamente los datos. Escrito en Python3 y PyQT5, admite anotaciones de cuadro rectangular y modo de anotación de cuatro puntos, y el formato de exportación se puede utilizar directamente para el entrenamiento de modelos de detección y reconocimiento PaddleOCR.
inserte la descripción de la imagen aquí

1. Instalación y operación

1.1 Instalar PaddlePaddle

pip3 install --upgrade pip

# 如果您的机器安装的是CUDA9或CUDA10,请运行以下命令安装
python3 -m pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple

# 如果您的机器是CPU,请运行以下命令安装
python3 -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple
或
pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

Para conocer más requisitos de versión, consulte las instrucciones en la documentación de instalación .

1.2 Instalar y ejecutar PPOCRLabel

PPOCRLabel se puede iniciar mediante el paquete whl y el script Python, el paquete whl es más conveniente para iniciar y el script python es fácil para el desarrollo secundario

1.2.1 Instalar y ejecutar el paquete whl

ventanas
pip install PPOCRLabel  # 安装

# 选择标签模式来启动
PPOCRLabel --lang ch  # 启动【普通模式】,用于打【检测+识别】场景的标签
PPOCRLabel --lang ch --kie True  # 启动 【KIE 模式】,用于打【检测+识别+关键字提取】场景的标签

Nota: La instalación de PPOCRLabel a través del paquete whl descargará automáticamente paddleocrel paquete whl y las dependencias de Shapely pueden causar [winRrror 126] 找不到指定模块的问题。errores. Se recomienda descargarlo e instalarlo desde aquí .

ubuntu linux
pip3 install PPOCRLabel
pip3 install trash-cli

# 选择标签模式来启动
PPOCRLabel --lang ch  # 启动【普通模式】,用于打【检测+识别】场景的标签
PPOCRLabel --lang ch --kie True  # 启动 【KIE 模式】,用于打【检测+识别+关键字提取】场景的标签
Mac OS
pip3 install PPOCRLabel
pip3 install opencv-contrib-python-headless==4.2.0.32 # 如果下载过慢请添加"-i https://mirror.baidu.com/pypi/simple"

# 选择标签模式来启动
PPOCRLabel --lang ch  # 启动【普通模式】,用于打【检测+识别】场景的标签
PPOCRLabel --lang ch --kie True  # 启动 【KIE 模式】,用于打【检测+识别+关键字提取】场景的标签

Si hay algún problema con la instalación anterior, puede consultar la Sección 3.6 Consejos de error

1.2.2 Ejecute PPOCRLabel a través del script Python

Si realiza cambios en el archivo PPOCRLabel (como especificar un nuevo modelo integrado), será más conveniente ver los resultados de los cambios ejecutando el script Python. Si aún necesita comenzar con el paquete whl, primero debe desinstalar el paquete whl en el entorno actual y luego consultar la siguiente sección para volver a compilar el paquete whl.

cd ./PPOCRLabel  # 切换到PPOCRLabel目录
python PPOCRLabel.py --lang ch

2. uso

2.1 Pasos de operación

Si solo necesita etiquetar información de texto y ubicación, se recomienda seguir los pasos a continuación:

  1. Instalar y ejecutar: utilice los comandos anteriores para instalar y ejecutar el programa.
  2. Abra la carpeta: haga clic en "Archivo" - "Abrir directorio" en la barra de menú para seleccionar la carpeta de la imagen que se marcará [1] .
  3. Etiquetado automático: haga clic en "Etiquetado automático" para utilizar el modelo ultraligero PP-OCR para etiquetar automáticamente las imágenes cuyo estado de imagen [2] es "X" antes del nombre del archivo de imagen.
  4. Etiquetado manual: haga clic en "Etiquetado rectangular" (se recomienda hacer clic directamente en "W" en el teclado en modo inglés) y el usuario podrá dibujar manualmente un marco de marcado para la parte no detectada del modelo en la imagen actual. Haga clic en el teclado Q para usar el modo de anotación de cuatro puntos (o haga clic en "Editar" - "Anotación de cuatro puntos"). Después de que el usuario haga clic en cuatro puntos por turno, haga doble clic en el botón izquierdo para indicar que la anotación está completa.
  5. Una vez dibujado el marco de marcador, el usuario hace clic en "Aceptar" y al marco de detección se le asignará previamente una etiqueta "para ser reconocido".
  6. Re-reconocimiento: después de dibujar/ajustar todos los cuadros de detección en la imagen, haga clic en "Re-reconocimiento" y el modelo PP-OCR volverá a reconocer todos los cuadros de detección en la imagen actual [3] .
  7. Cambios de contenido: haga clic en un resultado de reconocimiento para realizar cambios manuales en resultados de reconocimiento inexactos.
  8. Marca de confirmación: haga clic en "Confirmar", el estado de la imagen cambiará a "√" y saltará a la siguiente imagen.
  9. Eliminar: haga clic en "Eliminar imagen" y la imagen se eliminará a la papelera de reciclaje.
  10. Exportar resultados: los usuarios pueden exportar manualmente a través del menú "Archivo - Exportar resultados marcados" y también pueden hacer clic en "Archivo - Exportar automáticamente resultados marcados" para iniciar la exportación automática. Las etiquetas confirmadas manualmente se almacenarán en Label.txt en la carpeta de imágenes abierta . Después de hacer clic en "Archivo" - "Exportar resultados de reconocimiento" en la barra de menú, los datos de entrenamiento de reconocimiento de dichas imágenes se guardarán en la carpeta crop_img y las etiquetas de reconocimiento se guardarán en rec_gt.txt [ 4] .

2.2 Etiquetado de formularios

La anotación de tablas tiene como objetivo la extracción estructurada de tablas y convierte las tablas de la imagen al formato Excel, por lo que es necesario cooperar con un software externo para abrir Excel y completarlo al mismo tiempo. Complete el etiquetado de la información del texto (texto y posición) en la tabla en el software PPOCRLabel y complete el etiquetado de la información de la estructura de la tabla en el archivo Excel. Los pasos recomendados son:

  1. Reconocimiento de formulario: después de abrir la imagen del formulario, haga clic en 表格识别el botón en la esquina superior derecha del software, el software llama al modelo de reconocimiento de formulario en PP-Structure, etiqueta automáticamente el formulario y muestra Excel al mismo tiempo.

  2. Cambiar el resultado del etiquetado: agregue un cuadro de etiquetado en unidades de celdas en la tabla (es decir, el texto de una celda se marca como un cuadro). Haga clic derecho en el cuadro de etiqueta y haga clic 单元格重识别
    para usar el modelo para identificar automáticamente el texto en la celda.

    Nota: Si hay celdas en blanco en la tabla, también deben marcarse con un cuadro de etiqueta para que el número total de celdas sea coherente con la imagen.

  3. Ajuste el orden de las celdas : haga clic en el software 视图-显示框编号para abrir el número de serie del cuadro de etiquetas, arrastre 识别结果todos los resultados debajo de la columna en el lado derecho de la interfaz del software, de modo que los números del cuadro de etiquetas estén ordenados de izquierda a derecha y desde arriba. hacia abajo y marcados en secuencia por fila.

  4. Etiquete la estructura de la tabla: en el software externo de Excel, marque las celdas con texto como identificadores arbitrarios (como 1) para garantizar que la combinación de celdas en Excel sea la misma que la imagen original (es decir, el texto de la celda en Excel no necesita para combinar con El texto de la imagen es exactamente igual)

  5. Exportar en formato JSON: cierre Excel correspondiente a todas las imágenes de la tabla y haga clic en 文件- 导出表格JSON标注para obtener el resultado de la anotación JSON.

2.3 Atención

[1] PPOCRLabel toma la carpeta como unidad de marcado básica. Después de abrir la carpeta de imágenes a marcar, la imagen no se mostrará en la barra de la ventana, pero la imagen debajo de la carpeta se importará directamente al programa después de hacer clic en "Seleccionar Carpeta" en el medio.

[2] El estado de la imagen indica si el usuario ha guardado manualmente esta imagen, si no se ha guardado manualmente, será "X", y si se ha guardado manualmente, será "√". Después de hacer clic en el botón "Etiqueta automática", PPOCRLabel no volverá a etiquetar las imágenes cuyo estado sea "√".

[3] Después de hacer clic en "Reidentificar", el modelo sobrescribirá los resultados del reconocimiento en la imagen. Por lo tanto, si el resultado del reconocimiento se ha cambiado manualmente antes, puede cambiar después del nuevo reconocimiento.

[4] Los archivos generados por PPOCRLabel se colocan en la carpeta de imágenes marcadas, incluidos los siguientes tipos. No cambie manualmente el contenido, de lo contrario provocará anomalías en el programa.

Nombre del archivo ilustrar
Etiqueta.txt La etiqueta de detección se puede utilizar directamente para el entrenamiento del modelo de detección PPOCR. Después de que el usuario confirme cada 5 resultados de prueba, el programa escribirá automáticamente. Las escrituras también ocurren cuando el usuario cierra la aplicación o cambia las rutas de los archivos.
estadodelarchivo.txt Archivo de etiquetas de estado de imagen, que guarda los nombres de las imágenes en la carpeta actual que han sido confirmadas manualmente por el usuario.
caché.cach Archivo de caché para guardar los resultados del reconocimiento automático del modelo.
rec_gt.txt Etiqueta de identificación. Se puede utilizar directamente para la capacitación del modelo de reconocimiento PPOCR. Debe generarse después de que el usuario haga clic manualmente en "Archivo" - "Exportar resultados de reconocimiento" en la barra de menú.
crop_img datos identificativos. La imagen se corta según el marco de detección. Generado simultáneamente con rec_gt.txt.

3. Descripción

3.1 Teclas de acceso directo

tecla de acceso rápido ilustrar
Ctrl + Mayús + R Volver a reconocer todos los marcadores en la imagen actual
W. Nuevo rectángulo
q Crear un nuevo cuadro multipunto
X La caja gira en sentido antihorario
C la caja gira en el sentido de las agujas del reloj
Ctrl + E Editar etiqueta de cuadro seleccionado
Ctrl+X --kieEn modo, modifique el tipo de palabra clave de Box
Ctrl + R Volver a reconocer los marcadores seleccionados
Ctrl+C 【Copiar y Pegar】Casilla marcada
Ctrl + botón izquierdo del ratón casilla de verificación
Retroceso eliminar cuadro seleccionado
Ctrl + V Confirmar esta etiqueta de imagen
Ctrl + Mayús + d borrar esta imagen
D siguiente imagen
A Imagen anterior
Ctrl++ disminuir el zoom
Control- agrandar
↑→↓← Mover cuadro de marcador

3.2 Modelos integrados

  • Modelo predeterminado: PPOCRLabel utiliza el modelo OCR superligero en chino e inglés en PaddleOCR de forma predeterminada, admite reconocimiento de números y chino e inglés, y detección de varios idiomas.

  • Cambio de idioma del modelo: los usuarios pueden cambiar el idioma del modelo integrado a través de "PaddleOCR" - "Seleccionar modelo" en la barra de menú. Los idiomas admitidos actualmente incluyen francés, alemán, coreano y japonés. Para enlaces de descarga de modelos específicos, consulte la lista de modelos PaddleOCR .

  • Modelo personalizado : si el usuario desea reemplazar el modelo incorporado con su propio modelo de inferencia, puede usarlo de acuerdo con el código del modelo personalizado , modificando la creación de instancias de la clase PaddleOCR en PPOCRLabel.py , como especificando el modelo de detección. : self.ocr = PaddleOCR(det=True, cls=True, use_gpu=gpu, lang=lang) , det_model_diry pasando él mismo en modelo.

3.3 Exportar los resultados marcados

PPOCRLabel admite tres métodos de exportación:

  • Exportación automática: después de hacer clic en "Archivo - Exportar automáticamente los resultados del etiquetado", cada vez que el usuario confirma una imagen, el programa escribirá automáticamente los resultados del etiquetado en Label.txt. Si esta opción no está habilitada, se exportará automáticamente después de detectar que el usuario ha confirmado manualmente 5 imágenes.

    La exportación automática está desactivada de forma predeterminada

  • Exportación manual: haga clic en "Archivo - Exportar resultados marcados" para exportar manualmente las marcas.

  • Desactivar la exportación de aplicaciones

3.4 División del conjunto de datos

Ingrese el siguiente comando en la terminal para ejecutar el script de partición del conjunto de datos:

cd ./PPOCRLabel # 将目录切换到PPOCRLabel文件夹下
python gen_ocr_train_val_test.py --trainValTestRatio 6:2:2 --datasetRootPath ../train_data 

Descripción de parámetros:

  • trainValTestRatioEs la proporción del número de imágenes en el conjunto de entrenamiento, el conjunto de verificación y el conjunto de prueba, configurado de acuerdo con la situación real, el valor predeterminado es6:2:2

  • datasetRootPathEs la ruta de almacenamiento del conjunto de datos completo marcado por PPOCRLabel. La ruta predeterminada debe PaddleOCR/train_datatener la siguiente estructura antes de dividir el conjunto de datos:

    |-train_data
      |-crop_img
        |- word_001_crop_0.png
        |- word_002_crop_0.jpg
        |- word_003_crop_0.jpg
        | ...
      | Label.txt
      | rec_gt.txt
      |- word_001.png
      |- word_002.jpg
      |- word_003.jpg
      | ...
    

3.5 Mensaje de error

  • Si usa el paquete whl para instalar paddleocr al mismo tiempo, su prioridad es mayor que llamar a la clase PaddleOCR a través de paddleocr.py. Si el paquete whl no se actualiza, provocará una excepción en el programa.

  • PPOCRLabel no admite el etiquetado automático de imágenes con nombres de archivos en chino .

  • Para usuarios de Linux: si recibe un error que comienza con **objc[XXXXXX]** al abrir el software, significa que su versión de opencv es demasiado alta y se recomienda instalar la versión 4.2:

    pip install opencv-python==4.2.0.32
    
  • Si Missing string idocurre un error al principio, es necesario volver a compilar el recurso:

    pyrcc5 -o libs/resources.py resources.qrc
    
  • Si module 'cv2' has no attribute 'INTER_NEAREST'se produce un error, primero debe eliminar todos los paquetes relacionados con opencv y luego reinstalar la versión 4.2.0.32 de opencv sin cabeza.

    pip install opencv-contrib-python-headless==4.2.0.32
    

4. Referencias

1. Tzutalín. EtiquetaImg. Código Git (2015)

Supongo que te gusta

Origin blog.csdn.net/z5z5z5z56/article/details/130238630
Recomendado
Clasificación