Reconocimiento de imagen
El reconocimiento de imagen identifica de forma automática patrones, objetos, caracteres o rostros en imágenes y vídeos digitales. El aprendizaje automático y el aprendizaje profundo elevaron mucho su precisión, y hoy sostiene aplicaciones como la conducción autónoma, el diagnóstico por imagen médica, la autenticación facial y el OCR.
El escaneo (decodificación) de un código QR es un caso especializado en el que las formas que hay que encontrar están fijadas por la norma, de modo que el trabajo empieza por el preprocesamiento. La imagen en color de la cámara se reduce a un mapa de brillo en escala de grises y un umbral convierte cada píxel en blanco o negro. Solo entonces el descodificador busca en esa imagen binaria los patrones de búsqueda (los 3 cuadrados de detección de posición de las esquinas) y combina su geometría con los patrones de alineación que llevan las versiones grandes para construir la transformación de perspectiva que anula la inclinación y la distorsión de la toma. Después se muestrea módulo a módulo la cuadrícula en el sistema de coordenadas corregido, se leen la información de formato y de versión, la corrección de errores Reed-Solomon repara las palabras de código dañadas y se recupera el dato original.
Los teléfonos actuales ejecutan esta secuencia en tiempo real: el reconocimiento termina en el instante en que el código aparece en la vista previa de la cámara, sin pulsar el disparador. Lo que actúa aquí no es el reconocimiento basado en aprendizaje del primer párrafo, sino procesamiento de imagen clásico, umbral y geometría. Como la forma buscada está fijada por la norma, el descodificador puede recorrer solo unas cuantas filas de cada fotograma y examinar en detalle únicamente donde el claro y el oscuro siguen la proporción 1:1:3:1:1 propia de un patrón de búsqueda. Y como un fotograma que falla cede el paso al siguiente, el coste por fotograma se mantiene bajo.