A veces, intentamos capturar un código QR con un móvil inteligente con una buena cámara digital, pero la lectura finalmente falla. Esto suele pasar cuando el propio código QR tiene una calidad de imagen deficiente, o bien si se ha imprimido sobre superficies no planas —deformadas o con irregularidades de patrón desconocido—, como el envoltorio de un paquete de mensajería o una bandeja de comida preparada.
Ahora un equipo de la Universitat Oberta de Catalunya (UOC) y de la Universidad de Barcelona (UB) ha diseñado una metodología que facilita el reconocimiento de los códigos QR en estos entornos físicos con una lectura más complicada.
La nueva metodología tiene carácter generalista, no depende completamente de la topografía subyacente, y es aplicable en códigos QR que pueden encontrarse sobre superficies tubulares —botellas—, bandejas de alimentos, etc. Se trata de la primera propuesta tecnológica capaz de poner en común una metodología generalista y los códigos de barras en dos dimensiones para facilitar el reconocimiento de la información digital.
El trabajo, publicado en abierto en la revista Pattern Recognition Letters, tiene como primer autor al profesor e investigador Ismael Benito, de los Estudios de Informática, Multimedia y Telecomunicación de la UOC y de la Facultad de Física y del Departamento de Ingeniería Electrónica y Biomédica de la UB. Son coautores de esta investigación los investigadores Cristian Fàbrega, Joan Daniel Prades, Hanna Lizarzaburu-Aguilar y David Martínez-Carpena, también de la UB y de su empresa derivada ColorSensing, SL, especializada en el etiquetado inteligente.
¿Por qué es difícil leer algunos códigos QR?
Los códigos QR —del inglés quick response— son una variación del típico código de barras y son capaces de recoger información en lenguaje informático —en una matriz bidimensional de píxeles en blanco y negro— cuando se escanean con un dispositivo de lectura. Facilitan el acceso a datos de interés, ahorran tiempo y recursos —como el uso de papel— y han revolucionado la forma en la que el usuario accede a la información digital.
Sin embargo, a veces es difícil escanear correctamente un código de barras “porque la calidad de la imagen no es buena. Por lo tanto, a pesar de que hoy en día mucha gente tiene acceso a buenas cámaras de fotografía digital, no siempre pueden captar bien la imagen del QR. En segundo lugar, la calidad de la impresión del código QR y de los colores empleados —buen contraste— a veces no es satisfactoria. Finalmente, si la superficie de impresión no es lo suficientemente plana y no se sitúa paralela al plano de captura también será difícil captar la información del código”, detalla el investigador, que también está adscrito al grupo Artificial Intelligence for Human Well-being (AIWELL) del eHealth Center.
“Por ejemplo —sigue—,todos estos factores entran en juego cuando intentamos capturar un QR del Bicing, el servicio de bicicletas públicas de Barcelona, con la aplicación del móvil: la superficie no es plana, es un cilindro, y, si intentamos capturar el QR muy cerca, a unos 5-10 centímetros, la deformación de la superficie se hace evidente y la lectura falla. Si nos alejamos demasiado, a 1 metro, el QR se hace demasiado pequeño y la captura no es buena. Si estamos en un rango intermedio, a unos 30-50 centímetros, la distorsión aparente de la superficie se reduce y la calidad es apta para hacer la captura”.
Un algoritmo que aprovecha propiedades de los códigos QR
El trabajo, que es parte de la tesis doctoral de Ismael Benito, presenta un nuevo algoritmo que aprovecha las propias características del QR —es decir, los patrones internos del código— para extraer la superficie subyacente en la que se encuentra posicionado el código QR.
La “textura” de esta superficie se recupera mediante un ajuste generalista basado en las funciones matemáticas conocidas como splines, que permiten ajustar la topografía de la superficie a escala local. “Son funciones que ‘se adaptan’ localmente a los altibajos de la superficie, y constituyen una técnica ampliamente utilizada originariamente en campos como la geología o la edición fotográfica para ajustar o generar deformaciones en superficies”, apunta el investigador.
Todavía hay muchos retos tecnológicos pendientes para mejorar todo el proceso de reconocimiento de los códigos QR. En el caso de las aplicaciones comerciales activadas por el lector de códigos del usuario, “el desafío principal es poder aportar lecturas correctas y fiables. También se está trabajando a fondo para que los códigos no puedan ser atacados mediante técnicas de modificación, por ejemplo, con una URL falsa que pueda capturar datos con pequeñas modificaciones del código. En el caso de la industria, en que las capturas se logran en entornos controlados, el reto principal es reducir la velocidad de captura”, apunta el experto.
Esta investigación de la UOC y la UB favorece el objetivo de desarrollo sostenible (ODS) 9 de la ONU: construir infraestructuras resilientes, promover la industrialización sostenible y fomentar la innovación.
Artículo de referencia
Benito, Ismael; Martínez, David; Lizarzaburu, Hanna; Fàbrega, Cristian; Prades, J. Daniel. «Reading QR Codes on challenging surfaces using thin-plate splines». Pattern Recognition Letters, juny de 2024. DOI: 10.1016/j.patrec.2024.06.004