OCR de documentos de identidad en teléfonos móviles: la importancia de la binarización

La eficacia de una solución de OCR de documentos de identidad se mide fundamentalmente por la tasa de acierto de OCR, y esta tasa de acierto depende enormemente de lo buena que sea la binarización de los caracteres. Esto se debe a que los algoritmos de OCR trabajan principalmente sobre caracteres binarizados, a los que les aplica algoritmos de reconocimiento de patrones para identificar aquel caracter que mayor similitud presenta con el caracter de la imagen.

Una mala binarización puede provocar que desaparezcan caracteres o parte de ellos, o al contrario, que contenido del fondo permanezca presente en la imagen binarizada y sea posteriormente decodificado como un caracter por el OCR. Por lo tanto, una mala binarización provoca una disminución de la tasa de acierto en la extracción de los datos de los documentos de identidad, lo que supone coste, puesto que en la mayoría de las ocasiones provocará una inspección visual del mismo.

Muchos son los algoritmos de binarización existentes. En un primer momento se emplearon algoritmos de binarización globales, es decir, aquellos que definían un umbral único para toda la imagen, de modo que cada píxel de la escena que contiene al DNI se comparaba con el umbral, y si es superior al valor se asumía que era un píxel del fondo (texto negro/oscuro sobre fondo blanco/claro) y si era inferior al umbral se asumía que era un píxel perteneciente a un caracter. Estos algoritmos están diseñados para imágenes de texto sobre fondo constante, y con cierto contraste entre ambos contenidos, y que además fueran escaneadas. Para el caso de los documentos de identidad, estos algoritmos no son para nada recomendables, puesto que los DNIs o pasaportes presentan un fondo de diferentes colores y luminancias, con lo que un buen umbral para la zona MRZ (ver normativa ICAO) será un mal umbral para la zona de inspección visual del DNI.

Para la extracción de datos de DNIs o pasaportes es necesario usar algoritmos de binarización locales, que son aquellos que calculan un umbral diferente para cada zonal del documento. Así, la zona MRZ debería tener un umbral diferente de la zona de inspección visual, y las diferentes regiones de la zona de inspección visual poseer diferentes umbrales. Los algoritmos de binarización locales más famosos son los de Niblack, Sauvola y Wolf . Habitualmente, estos algoritmos funcionan de modo enventanado, y calculan el umbral en base al valor de la luminancia de los píxeles del documento de identidad que residen dentro de la ventana.

Estos algoritmos han permitido mejorar considerablemente las tasas de acierto de OCR a la hora de extraer la información de documentos de identidad escaneados, sin embargo, para DNIs o pasaportes capturados con teléfonos móviles o tablets, su uso es mucho más complicado, debido principalmente a las bruscas variaciones de iluminación, a la distorsión de perspectiva, y a la borrosidad. Parámetros como el tamaño de la ventana no son tan fáciles de escoger en este caso, y el valor del umbral debe poseer una precisión mucho mayor, para evitar efectos habituales como caracteres binarizados de trazo demasiado grueso, tanto como para rellenar huecos internos (ejemplo en el caracteres 8).

ÿNeeds emplea algoritmos de binarización locales en sus soluciones de OCR para documentos de identidad, adaptados a la naturaleza del entorno de captura (escáner o móvil), aprovechando todo el conocimiento que dispone sobre cada zona a binarizar y las propiedades de su OCR propio, para conseguir la mayor tasa de acierto posible, y por lo tanto, el mejor retorno de inversión para sus clientes.