Inspección de marcación

engiAI · botón TEXTO
Reconocimiento y verificación de marcas en cable, tubería, cinta y embalaje.

La cámara está ubicada después de la impresora o del marcador láser. El software engiAI lee el texto impreso directamente desde el flujo de vídeo: ensambla la palabra, que pasa por la zona, comparándola con una plantilla o una lista de referencia, guarda cada palabra en una base de datos y envía el resultado a través de la red, ya sea a un navegador, en formato JSON o a un controlador mediante TCP.

1. Zona: Marco en el video donde aparece el texto.
2. Frase de ejemplo que debe imprimirse
3. Análisis La red neuronal analiza cada fotograma.
4. Conclusión "Reconocido" o "No reconocido" + base de datos
~10 cuadros/segundo
Lectura de la zona en la tarjeta gráfica (CUDA)
RU + EN
Cirílico, latín, números, símbolos
0 entrenamiento
El modelo PaddleOCR está listo de inmediato
HTTP + TCP
Navegador, JSON, señal del controlador

Cómo se ve en la práctica

engiAI — TEXTO: ventana junto al vídeo
A la izquierda: vídeo de la cámara, el marco azul indica la zona de reconocimiento. A la derecha: ventana de TEXTO: extracción de la zona, marcos verdes alrededor de las palabras reconocidas y la línea "Actualmente en la zona".

El botón "TEXTO" se encuentra en la primera fila de la ventana principal "engiAI", junto a los botones de SALIR, CÁMARAS, DISPARADORES, MODELOS GENERALES y CONteo. Abre la ventana "TEXTO - reconocimiento marcado". Se puede mantener la ventana abierta sobre el vídeo: la zona del encuadre es visible mientras la ventana está abierta o el reconocimiento está activado.

En la parte superior de la ventana hay tres elementos comunes a todas las pestañas:

  • Reconocimiento de texto – es el interruptor principal. Mientras no esté activado, el reconocimiento no funciona y no consume recursos de la aplicación.
  • ▭ Definir área – haga clic y arrastre el marco sobre el vídeo con cualquier botón del ratón. Mientras la ventana esté abierta, también se puede arrastrar el marco con el botón derecho del ratón sin necesidad de hacer clic. ✖ Eliminar área – elimina el área.
  • Estado en el lado derecho: ESPERANDO, REGISTRADO, PAUSA o SEGÚN SEÑAL DE ENTRADA. Debajo, se indica (GPU CUDA o procesador), el número de fotogramas por segundo que se lee y el número de milisegundos que tarda en procesar cada fotograma.
Consejo. Asegúrese de que la zona visible de la inscripción y la parte extendida a lo largo del movimiento sean lo suficientemente amplias. Cuantos más signos haya en la zona, más fiable será la combinación de los fotogramas. La cámara debe estar colocada después de aplicar la marca, y el texto debe ser nítido y sin desenfoque.

Pestaña "marcado": resultado y comparación con el patrón

engiAI — TEXTO: frase de muestra
Pestaña "marcado": patrón de frase, vista previa de la zona, lo que está actualmente en la zona y lo que se está grabando, más abajo: lista de marcado preparados. Líneas verdes: "Reconocido", líneas rojas: "No reconocido", entre paréntesis: porcentaje de coincidencia con el patrón.

Esta es la pestaña principal para el operador. En la parte superior, se encuentra la opción "Comparar todo dentro de la zona con la muestra":

engiAI — TEXTO: Elemento marcado
El campo "Muestra" es la frase que debe imprimirse; "% de coincidencia" indica el porcentaje mínimo de coincidencia que se considera correcto. A la derecha se muestra el estado actual.
1
Marque la opción "Comparar todo en el área con la muestra" e introduzca la frase completa en el campo "Muestra", por ejemplo, Энергокомплект UTCAB-PV1-F 6 4 ТУ BY 300528652.036-2014 EAC 2026 Беларусь. La mayúsculas y minúsculas, los espacios y las letras rusas y latinas que se parecen (como la T y la t, la У y la Y, la Е y la E) no son importantes.
2
Establezca el Umbral de coincidencia, %. Un valor de 100 significa una coincidencia exacta; un valor de 65-80 permite cierta tolerancia para las imprecisiones de impresión y lectura.
3
Active el reconocimiento de texto. Si una frase es demasiado larga para mostrarse completamente en la zona, el programa la mostrará por partes, cuadro por cuadro, a medida que se desplaza a través de la zona.

Cómo se analiza la frase en la línea de producción:

  • La grabación comienza desde el principio de la frase. Si se ha iniciado la grabación en medio de una inscripción, la parte final se omite; el programa espera al siguiente inicio.
  • Cada fotograma se coloca en su posición dentro del conjunto de datos, y cada letra recibe "puntos" de todos los fotogramas en los que es visible. El resultado es la opción que se lee con mayor frecuencia. Los errores aleatorios de un solo fotograma (una letra cortada por el borde, un reflejo) se corrigen con los fotogramas adyacentes: cuanto más fotogramas se utilizan, más "votos" hay y, por lo tanto, el resultado es más preciso.
  • El resultado se muestra tan pronto como la frase completa ha pasado por toda la zona, o si no se detectan nuevos caracteres durante un período de tiempo especificado en la pestaña "Reconocimiento" (es decir, si la línea de procesamiento se detiene y la zona está vacía). Después de mostrar el resultado, el programa espera el inicio de la siguiente frase; las frases que siguen inmediatamente una a otra se registran individualmente.
  • El programa determina automáticamente la dirección de movimiento o la obtiene de la configuración "De dónde proviene el texto".

Mientras la frase se procesa, a la derecha de la puerta se puede ver el porcentaje de coincidencia y el texto extraído: 40 de 64 caracteres, en la línea "Registrado". Después del resultado, se muestra 73% - RECONOCIDO o NO RECONOCIDO. El mismo resultado se muestra de forma destacada sobre el vídeo.

Sin la casilla "Comparar todo en la zona con la muestra", se realiza una concatenación secuencial: cualquier texto se escribe de principio a fin, siguiendo las reglas de la pestaña "Inicio y fin", y, si es necesario, se compara con la lista de referencia.

Debajo de la lista, se encuentran las opciones de control:

  • Todas marcadas / Solo la última – ¿Cuántas mostrar aquí y cuáles enviar al navegador?
  • Fecha, hora y marcas/Solo marcas – información que se debe enviar al navegador y guardar en formato JSON.
  • ⚖ Comparar — comparar cada documento terminado con el documento de referencia marcado.
  • 💾 Guardar como JSON, 📂 Cargar JSON (los archivos cargados se convierten en referencias), Borrar la lista — elimina las filas de la pantalla y del navegador, pero permanece en la base de datos.

La pestaña "Referencia" es una lista de frases correctas.

engiAI — TEXTO: Referencia
La pestaña "Referencia": frases cargadas, casilla "comparar con esta", umbral de similitud y corrección según el modelo.

La pestaña "Referencia" es necesaria cuando en la línea hay varias frases diferentes (diferentes secciones, lotes, clientes), y se debe encontrar cada una en la lista.

  • 📂 Cargar JSON – Lista extraída de un archivo: nuestro JSON, un array de cadenas, objetos con el campo "text" o simplemente texto por línea. Se eliminan las duplicaciones.
  • ✓ Marcar todo, ☐ Desmarcar todo, casilla de verificación junto a cada fila – para comparar con qué referencia. ✖ Eliminar referencia – eliminar la lista.
  • Similitud para coincidencia, % – 100 significa que el carácter coincide con el carácter (sin tener en cuenta espacios ni mayúsculas/minúsculas). Los valores inferiores permiten errores de escritura y lectura.
  • Corregir según el estándar del … % — si el texto leído es similar al texto de referencia, se registra el texto del estándar (el texto original se conserva en el registro).

La pestaña "Inicio y fin" indica dónde termina una frase.

engiAI — TEXTO: Inicio y fin
Pestaña "Inicio y fin": texto de inicio y fin, pausa después del fin, tiempo de vacío y duración máxima de la grabación.

Estas reglas funcionan en modo de unión secuencial (sin patrón), donde el programa determina por sí mismo dónde comienza y termina el marcado:

  • Inicio del texto – la grabación comienza cuando se lee este texto en la zona (por ejemplo, UTCAB). Si está vacío, se inicia desde cualquier texto. Si la marca se repite, la segunda aparición del texto de inicio marca el final. Incluir el texto de inicio en la marca – dejarlo como resultado.
  • Pausa después del final, ms — no se debe registrar nada después de la marca final.
  • Texto de finalización — se marca cuando se ha leído este texto (por ejemplo, BY o 2026).
  • Tiempo de vacío, ms — Si no hay texto en esa zona, el marcador se detiene y se guarda.
  • Duración máxima, con — para una escritura continua sin espacios: cada X segundos se considera un carácter separado. 0 indica que no hay límite.

Ejemplo: inicio "UTCAB", fin "BY" - se registrará "UTCAB … BY", a continuación, el programa espera el siguiente "UTCAB". Comparación sin tener en cuenta mayúsculas, las letras rusas y latinas similares se consideran iguales.

Pestaña "Reconocimiento": zona, giro, modelos

engiAI — TEXTO: Reconocimiento
Pestaña "Reconocimiento": coordenadas precisas de la zona, giro y ampliación, umbrales, espera de nuevos símbolos de patrón, dirección del cinturón transportador, tarjeta gráfica, letras y símbolos permitidos, diccionario.
  • Área en el fotograma, píxeles – Coordenadas X e Y, ancho y alto del área en el fotograma original: ajustar el marco con precisión, sin necesidad de usar el ratón.
  • Rotar el texto en la zona — cómo rotar la zona para que el texto quede recto. El texto se desplaza de arriba hacia abajo ("90° en sentido antihorario") o de abajo hacia arriba ("90° en sentido horario"). Para rotar el vídeo en la pantalla, utilice la pestaña "Rotar vídeo".
  • Aumentar el tamaño del texto – el texto se lee mejor si se aumenta el tamaño; la opción "Automático" lo ajusta automáticamente.
  • Menor nivel de confianza, % – las líneas que se leen con menor confianza se descartan (reflejos, bordes de las letras).
  • La longitud mínima permitida para los campos de texto — los resultados más cortos no se guardarán.
  • Muestra: no hay nuevos símbolos, el sistema de lectura debe indicar el resultado - ¿Cuánto tiempo esperar si no se reciben nuevos símbolos en la muestra (la cinta transportadora se ha detenido, la zona está vacía, el texto no se puede leer)? Una vez que se haya obtenido el resultado, se inicia un nuevo análisis.
  • De dónde proviene el texto — desde qué lado de la zona aparece el nuevo texto. "Auto" determina esto analizando los fotogramas, y la función de "pegar" es más fiable.
  • Utilizar la tarjeta gráfica (GPU): En las tarjetas NVIDIA con tecnología CUDA, la velocidad de lectura es significativamente más rápida.
  • Letras y Símbolos: ¿Qué puede aparecer en la etiqueta? Palabras en inglés y ruso, solo palabras en inglés o cualquier símbolo; números y espacios en blanco: siempre, los símbolos (punto, guión, rayas, números, etc.) se indican con una marca de verificación. El modelo selecciona el símbolo solo de los permitidos: los símbolos innecesarios no aparecen, y los símbolos similares se identifican con mayor precisión.
  • Seleccionar palabras según el diccionario — la palabra detectada (de 3 letras o más, que no sea un número ni un código), similar a una palabra del diccionario en un porcentaje mínimo, se reemplaza por la correcta. El diccionario contiene palabras propias (una por línea) y, opcionalmente, palabras del diccionario de referencia.

En la pestaña inferior, encontrará la selección de modelos: «Búsqueda de líneas» (v3 – rápida, v5 server – más precisa, para tarjeta gráfica) y «Lectura de texto» (cirílico, latín y números; solo latín y números; latín de idiomas europeos; modelo server preciso; o dos modelos a la vez – ambos leen la línea, se elige la opción más fiable). El modelo faltante se descarga con el botón ⬇ Descargar. El botón ⚖ Comparar modelos en la zona actual aplica la última versión de la zona a todas las opciones, lo que permite ver inmediatamente qué modelo lee mejor su marcado específico y cuánto tiempo tarda en hacerlo.

No es necesario entrenar el modelo. El reconocimiento se basa en PaddleOCR y puede leer latín, cirílico y números inmediatamente después de la instalación. La configuración consiste en definir la zona de reconocimiento, el ángulo y la lista de caracteres permitidos.

Pestaña "Base de datos": todos los marcados se almacenan

engiAI — TEXTO: Base de datos
Pestaña "Base de datos": número de marcados almacenados, exportación a JSON, importación de la exportación como referencia y limpieza.

Cada marca reconocida se guarda en la base de datos de la aplicación, junto con la fecha, la hora, la cámara, el texto y el resultado de la comparación, independientemente de lo que se muestra en la lista de la pantalla.

  • 📤 Exportar la base de datos (JSON) – marcar todos los datos en un archivo para generar un informe o transferirlos a un sistema de gestión.
  • 📥 Descargar la base (marcado → referencia) — Se extraen solo los textos marcados, que se convierten en referencias. De esta manera, se puede utilizar la versión verificada como modelo para las siguientes.
  • 🗑 Limpiar la base de datos – eliminar todas las entradas.

La pestaña "Red": resultado en el navegador y en formato JSON.

engiAI — TEXTO: Red
La pestaña "Red": servidor HTTP integrado, direcciones para conectarse a través de todos los adaptadores de red de la PC y lista de direcciones de API.

Marca Enviar datos a través de la red — engiAI iniciará un servidor HTTP (puerto predeterminado: 8096). Cualquier ordenador o tableta en la red puede acceder a la página con el marcado, la comparación y la referencia en un navegador normal; no es necesario instalar nada. Los botones 📋 Copiar y 🌐 Abrir en el navegador obtienen la dirección de la lista.

DirecciónQué se envía
/página: marca, comparación, referencia, JSON
/api/marksmarca: todas o la última, con fecha o sin ella (según lo seleccionado en la ventana)
/api/marks?show=last&format=textla última marca en texto simple
/api/lastla última marca
/api/stateestado y texto en la zona actual
/api/refsreferencia; POST /api/refs — enviar referencia (JSON)
/api/exporttoda la base de datos de marcas

Al iniciar, el firewall de Windows podría solicitar permiso para acceder a engiAI, y es recomendable permitir el acceso a las redes necesarias.

La pestaña "Entrada": captura según la señal del controlador.

engiAI — TEXTO: Entrada
Pestaña "Entrada": Servidor TCP para recibir señales de un PLC o sensor – red, puerto, valor de la señal, respuesta al cliente y verificación de "Captura actual".

Cuando el objeto llega a la cámara según la señal (sensor, PLC, robot), marque Reconocer mediante la señal de entrada (TCP). engiAI abre el servidor TCP; cada señal genera una captura de la zona: el texto se reconoce, se compara y se guarda en la base de datos, de forma similar al modo continuo.

  • Red – ¿en qué adaptador de red esperar la señal? (En cualquier red); se puede introducir la dirección IP manualmente. Puerto – por defecto 8097.
  • Señal – ¿qué se considera como tal? Por defecto, 1: como texto ("1", "1\r\n") o como el byte 0x01.
  • Responder al cliente con el texto reconocido — la respuesta incluye una cadena con marcado, y al compararla, se indica si es "OK" o "NG" mediante tabulación; "NO TEXT" — el texto no se encontró, "ERROR …" — no hay zona o cuadro.
  • 📸 Captura instantánea (prueba) — es lo mismo que una señal, pero activada desde un botón. Se puede realizar una prueba sin un controlador utilizando un programa TCP-UDP (cliente): se introduce la dirección, el puerto, el valor "1" y se pulsa "Enviar".

La entrada y el reconocimiento continuo funcionan simultáneamente: si se marca "Reconocimiento de texto", el programa continúa supervisando la línea, y además realiza capturas adicionales para cada señal.

Configuración rápida en 5 minutos.

1
Haga clic en "TEXTO", luego en "Seleccionar área" y arrastre la línea a lo largo del texto que aparece en el vídeo.
2
En la pestaña "Reconocimiento", seleccione la opción de rotación para que el texto en la vista previa sea horizontal, y un zoom de ×2–×4 para texto pequeño y la dirección del movimiento de la línea.
3
En la pestaña "Comparar", marque la opción "Comparar todo en la zona con la muestra", introduzca la frase y el umbral.
4
Active la función de "Reconocimiento de texto". Cada frase que se detecte aparecerá en la lista con una línea verde ("Reconocido") o roja ("No reconocido").
5
Si es necesario, active "Red" para el navegador y JSON, así como "Entrada" para la señal del controlador.