Buen trabajo no solo mueren los lobos, sino que aparecen los motores de reconocimiento





Hoy, Smart Engines , contaremos la historia de cómo trabajamos durante la pandemia y qué obtuvimos de ella. Le diremos cuándo y para quién importa el tamaño de la aplicación, cuál es la vivacidad de los documentos y hacia dónde se dirige este maravilloso mundo de reconocimiento.



La historia de cómo realmente relanzamos Smart Engines a nivel de producto. Y esta historia no se tratará en absoluto de cómo atraemos miles de millones de dólares en inversiones a través de un cambio de marca de "centavo" o cómo obtuvimos con éxito subsidios gubernamentales a distancia para apoyar el negocio. No, por naturaleza no somos de los que, como dicen, “comen un pez y no se meten en un estanque”. El motivo de muchos meses de arduo trabajo fue un replanteamiento completo del concepto, la arquitectura y el propósito de nuestros motores de reconocimiento. Pero lo primero es lo primero.



Hace cinco años ingresamos al mercado con un producto simple: un motor de reconocimiento de pasaportes en dispositivos móviles. La funcionalidad fue extremadamente simple: le muestra al motor el pasaporte en la transmisión de video y devuelve los atributos del documento en forma de texto (y lo hizosin ninguna conexión con servidores externos, todo el reconocimiento se llevó a cabo directamente en el dispositivo). Sin conciliación con las bases de datos de pasaportes válidos, sin solicitudes automáticas al Ministerio del Interior por fraude, sin otros servicios KYC. Solo un reconocimiento rápido y de alta calidad, que, en nuestra opinión, debería haber cambiado parcialmente el mundo digital.



Sucedió. En marzo de 2015, presentamos la primera versión del producto: Smart PassportReader , que fue "pregonado" en todos los recursos (que es solo nuestro artículo sobre Habré, donde en todos los colores hablamos de las características de la tarea y de las formas de utilizar la tecnología en los negocios). Aunque inicialmente el mercado reaccionó con lentitud a nuestra innovación, hoy solo unos pocos bancos no utilizan esta tecnología en aplicaciones móviles.



A medida que crecía el número de clientes, también lo hacía el número de solicitudes para agregar nuevas funciones y capacidades. La base de tipos de documentos admitidos se expandió, la lista de idiomas admitidos aumentó, la cantidad de idiomas utilizados, la base de código se expandió (a pesar de que durante los últimos cinco años, algunos subsistemas se reescribieron varias veces "desde cero" para no ahogarse en el futuro del soporte de código heredado). Por supuesto, todo esto afectó el tamaño final del SDK: el tamaño de Smart IDReaderen "configuración completa" para iOS, comenzó a pesar más de 200 MB. ¿Un montón de? ¡Sí, increíblemente muchos! Sin embargo, era más probable que llamara la atención una gran lista de funciones de software que cualquier megabyte.



El trabajo remoto, con su regularidad y uniformidad, nos brindó la oportunidad de analizar nuestro producto en detalle y comunicar a los clientes cómo utilizan nuestro SDK. Resultó que muchos clientes utilizan la funcionalidad de reconocer tarjetas de pago y códigos de barras por separado de los pasaportes (de hecho, en diferentes casos comerciales y aplicaciones), lo que nos hizo darnos cuenta de la necesidad de un producto para reconocer tales objetos. Llamamos a este producto Smart Code Engine... Por supuesto, no solo separamos la funcionalidad limitada del SDK anterior, sino que formamos un equipo separado de tipos poderosos que expandieron significativamente las capacidades del motor en términos de reconocimiento de objetos codificados. Y lo más importante, hemos formado los requisitos clave para el producto: trabajar rápidamente, trabajar en cualquier condición, trabajar con precisión.



Como resultado, el Smart Code Engine proporciona lectura automática de datos de tarjetas bancarias, zonas legibles por máquina y códigos de barras en una amplia clase de condiciones de captura de imágenes. El sistema es resistente a cambios de iluminación, ángulo de disparo, distorsiones, ángulo de rotación, iluminación excesiva e insuficiente. El sistema funciona en tiempo real y es capaz de reconocer tarjetas bancarias y otros objetos en dispositivos modernos a una velocidad de 25 cuadros por segundo.



Motor de código inteligentepermite escanear y reconocer tarjetas bancarias de débito y crédito de los sistemas de pago "Mir", Visa, Mastercard, American Express, JCB, MIR, Maestro, Unionpay y Diners Club emitidas por varios países del mundo, proporcionando extracción no solo de números (12-19 dígitos), pero también el período de validez y el nombre del propietario. Se admite el reconocimiento de todo tipo de tarjetas bancarias: con datos de identificación en relieve, sangría e impresos planos, horizontales y verticales, y aquellas tarjetas en las que los datos se encuentran tanto en el anverso como en el parte trasera. En el nuevo producto, los usuarios ahora pueden reconocer tarjetas bancarias con un número IBAN, que están muy extendidas en los países de la UE.El lector de códigos de barras admite el reconocimiento de códigos QR (incluidas varias versiones de diseño), AZTEC, PDF 417, Data Matrix, CODABAR, CODE_39, CODE_93, CODE_128, EAN_8, EAN_13, ITF, UPC_A, UPC_E. El módulo para el reconocimiento de zonas de documentos legibles por máquina (MRZ), además de la norma internacional ISO / ICAO (IEC 7501-1 / ICAO Document 9303 ISO), tiene en cuenta las regulaciones locales (Rusia, Francia, Suiza, Bulgaria, Ecuador).



El segundo "replanteamiento" se refiere a nuestra solución insignia: el motor de reconocimiento de documentos de identidad. Si bien al principio posicionamos nuestro producto para resolver todo un abanico de tareas, desde sistemas de control de acceso hasta complejos sistemas de inteligencia artificial que atienden de forma autónoma a las personas, la principal aplicación de Smart IDReader se encontró en problemas de identificación remota y autenticación de identidad. A continuación se muestran algunos casos "en vivo": alta de autónomos en el servicio "My Tax", compra y activación de una tarjeta SIM, alta en el cliente móvil Tinkoff.



Resolver estos problemas requiere algo más que el reconocimiento de los detalles del texto. Así es como creamos un nuevo producto Smart ID Engine, que, además del reconocimiento de datos, proporciona autenticación multifactor debido al mecanismo de verificación facial incorporado, análisis de la "vida" del documento presentado, así como resaltando signos de compromiso.



Además de analizar texto individual y elementos gráficos (incluidos elementos que cambian con el tiempo cuando cambia el entorno, como los hologramas), Smart ID Engine contiene una colección de métodos que evitan la interferencia "física" con la integridad del documento (por ejemplo, detección de manipulación de fotografías).



Este vector en la creación de un sistema integrado de identificación y autenticación de una persona nos abre nuevas fronteras y nuevos mercados de venta, ampliando la geografía de aplicabilidad del sistema en todos los sentidos. Y aquí también decidimos "disparar": hicimos reconocimiento de la escritura árabe y las lenguas del grupo indo-iraní. Por un momento, estamos hablando de 21 jurisdicciones con una población total de 500 millones de personas que no utilizan inscripciones latinas en los documentos nacionales. El reconocimiento árabe se ha implementado para 73 tipos de documentos, incluidos pasaportes, tarjetas de identificación y licencias de conducir de los siguientes países: Argelia, Bahrein, Estado de Palestina, Egipto, Jordania, Irak, Irán, Yemen, Qatar, Comoras, Kuwait, Líbano, Libia, Mauritania, Marruecos, Emiratos Árabes Unidos, Omán, Arabia Saudita, Siria, Sudán, Túnez. En total, hoy admitimos 99 idiomas del mundo,y comenzó hace 5 años con dos: ruso e inglés.



Finalmente, el último tercio "repensar" la realidad y la presentación de un nuevo producto, que nació tan rápidamente durante la fase aguda de la pandemia: Smart Document Engine . Este motor resuelve el problema de extraer automáticamente datos de formularios estándar de documentos, formularios de informes estrictos, contabilidad primaria, financiera, fiscal, legal, notarial y otros documentos. Al igual que todos los demás motores de reconocimiento de Smart Engines , estrictamente en el dispositivo, sin el uso de servidores externos de alto rendimiento. Además de muchas funciones auxiliares, como comprobar la presencia de firma e impresión, reconocimiento de escritura a mano, control de la integridad topológica del documento, etc.



Por supuesto, los escépticos pueden darse por vencidos y decir que el tema carece de sentido y es estúpido, porque es posible que sea necesario reconocer documentos en teléfonos móviles o tabletas. Tengo una respuesta a esto. En primer lugar, la optimización de algoritmos para arquitecturas informáticas débiles nos permite crear una solución que funciona con una velocidad inigualable en estaciones de trabajo y servidores (el tiempo de procesamiento de 1 página de un documento A4 en AMD Ryzen 7 3700X es de aproximadamente 2 segundos). Y en segundo lugar, ya cumplimos exactamente esos pronósticos escépticos, hace 5 años, cuando lanzamos un producto de reconocimiento de pasaportes.



¿Que sigue? ¿Entrar en los mercados occidentales? ¿Desarrollo de ventas? Relaciones públicas y marketing y esas cosas, ¿bla, bla, bla? Por supuesto no. En Occidente, como en Oriente, ya existimos. Las ventas están creciendo. Las relaciones públicas y el marketing ya están configurados (desde que leyó este artículo hasta el final). Por lo tanto, centrémonos en el caso:



  • agregar nuevos objetos codificados: reconocimiento de líneas de texto individuales, reconocimiento de números VIN, reconocimiento de lecturas de medidores y otros;
  • agregar nuevos idiomas y escrituras, por ejemplo, en la India se utilizan más de 20 idiomas;
  • aumentando la velocidad de reconocimiento;
  • ampliar la lista de tipos de documentos admitidos;
  • muchos otros trabajos interesantes.



All Articles