Antes de que un cliente pueda hacer transferencias de dinero en ePayments, tendr谩 que pasar por la verificaci贸n. Nos proporciona sus datos personales y carga documentos para verificar su identidad y direcci贸n. Y verificamos si cumplen con los requisitos de nuestro regulador. El flujo de solicitudes de verificaci贸n se hizo cada vez m谩s, nos result贸 dif铆cil procesar dicho flujo de documentos. Tem铆amos que el procedimiento llevar铆a mucho tiempo y exceder铆a todos los t茅rminos razonables para los clientes. Luego decidimos crear un sistema de verificaci贸n basado en el aprendizaje profundo.

Programa educativo sobre reguladores y sus requisitos.
Para emitir dinero electr贸nico, debe obtener una licencia de regulador. Si abre un sistema de pago, por ejemplo, en Rusia, el Banco Central de la Federaci贸n de Rusia se convertir谩 en su regulador. ePayments es un sistema de pago en ingl茅s, nuestro regulador es la Financial Conduct Authority (FCA), una autoridad que informa al Tesoro del Reino Unido. FCA garantiza que cumplamos con la pol铆tica contra el lavado de dinero (AML), que incluye el conjunto de procedimientos Conozca a su cliente (KYC).
Seg煤n KYC, estamos comprometidos a verificar qui茅n es nuestro cliente y si est谩 asociado con grupos socialmente peligrosos. Por lo tanto, tenemos dos obligaciones:
- Identificaci贸n y confirmaci贸n de identidad del cliente.
- Conciliaci贸n de sus datos con varias listas: terroristas, personas bajo sanciones, miembros del gobierno y muchos otros.
Cada a帽o, los requisitos de KYC son cada vez m谩s estrictos y detallados. A principios de 2017, los clientes de ePayments a煤n pod铆an recibir pagos o realizar transferencias sin verificaci贸n. Ahora esto no es posible hasta que confirmen su identidad.
Verificaci贸n manual
Hace unos a帽os, nos las arreglamos por nuestra cuenta. Los rusos enviaron un escaneo de ciertas p谩ginas del pasaporte para confirmar su identidad, y un escaneo del contrato de arrendamiento, un recibo por el pago de la vivienda y los servicios comunales para confirmar la direcci贸n. 驴Recuerdas el juego Papeles, por favor? En 茅l, jugando como oficial de aduanas, verifica los documentos contra los requisitos cada vez m谩s complejos del gobierno. Nuestro departamento de atenci贸n al cliente jugaba en el trabajo todos los d铆as.

Los clientes se verifican de forma remota, sin una visita a la oficina. Para agilizar el procedimiento, contratamos nuevos empleados, pero este es un callej贸n sin salida. Entonces surgi贸 la idea de confiar parte del trabajo de la red neuronal. Si ella se las arregla bien con el reconocimiento facial, entonces ella hace frente a nuestras tareas. Desde una perspectiva comercial, un sistema de verificaci贸n r谩pida deber铆a ser capaz de:
- Clasifica un documento. Se nos env铆a una tarjeta de identidad y la confirmaci贸n de la direcci贸n de residencia. El sistema deber铆a responder a lo que recibi贸 al ingresar: un pasaporte de un ciudadano de la Federaci贸n Rusa, un contrato de arrendamiento u otra cosa.
- Compare la cara en la foto y el documento. Pedimos a los clientes que env铆en selfies con una tarjeta de identidad para asegurarse de que ellos mismos est茅n registrados en el sistema de pago.
- Extraer texto Llenar decenas de campos desde un tel茅fono inteligente no es muy conveniente. Es mucho m谩s f谩cil si la aplicaci贸n hizo todo por usted.
- Verifique los archivos de imagen para montaje fotogr谩fico. No debemos olvidarnos de los estafadores que quieren ingresar al sistema de manera fraudulenta.
En la salida, el sistema debe indicar un cierto nivel de confianza en el cliente: alto, medio o bajo. Centr谩ndose en tal gradaci贸n, verificaremos r谩pidamente y no enojaremos a los clientes con per铆odos prolongados.
Clasificador de documentos
La tarea de este m贸dulo es asegurarse de que el usuario env铆e un documento v谩lido y dar una respuesta de lo que carg贸 exactamente: un pasaporte de un ciudadano de Kazajst谩n, un contrato de arrendamiento o un recibo por el pago de la vivienda y los servicios comunales.
El clasificador recibe los datos de entrada:
- Foto o documento escaneado
- Pa铆s de residencia
- Tipo de documento indicado por el cliente (documento de identidad o comprobante de domicilio)
- Texto extra铆do (m谩s sobre eso a continuaci贸n)
En la salida, el clasificador informa lo que recibi贸 (pasaporte, licencia de conducir, etc.) y qu茅 tan seguro est谩 de la respuesta correcta.

La soluci贸n ahora se ejecuta en la arquitectura de red residual amplia. No acudimos a ella de inmediato. La primera versi贸n del sistema de verificaci贸n r谩pida funcion贸 sobre la base de la arquitectura a la que nos inspir贸 VGG. Ten铆a 2 problemas obvios: una gran cantidad de par谩metros (unos 130 millones) e inestabilidad en la posici贸n del documento. Cuantos m谩s par谩metros, m谩s dif铆cil es entrenar una red neuronal de este tipo: generaliza poco el conocimiento. El documento en la fotograf铆a debe estar centrado, de lo contrario el clasificador tendr铆a que ser entrenado en las muestras en las que se encuentra en diferentes partes de la fotograf铆a. Como resultado, abandonamos VGG y decidimos cambiar a una arquitectura diferente.
La red residual (ResNet) era m谩s fr铆a que VGG. Gracias a las
conexiones salteadas, puede crear una gran cantidad de capas y lograr una alta precisi贸n. ResNet tiene solo alrededor de 1 mill贸n de par谩metros, y ella era indiferente a la posici贸n del documento. No importa d贸nde se encuentre en la imagen, la soluci贸n en esta arquitectura manej贸 la clasificaci贸n.
Mientras est谩bamos finalizando la soluci贸n con un archivo, se lanz贸 una nueva modificaci贸n de arquitectura, la Red Residual Amplia (WRN). La principal diferencia con ResNet es un paso atr谩s en t茅rminos de profundidad. WRN tiene menos capas, pero m谩s filtros convolucionales. Ahora esta es la mejor arquitectura de red neuronal para la mayor铆a de las tareas y nuestra soluci贸n funciona en ella.
Algunas soluciones 煤tiles
Problema n煤mero 1. El clasificador necesitaba ser entrenado. Tuvimos que descargar muchos pasaportes y licencias de conducir rusos, kazajos y bielorrusos. Pero, por supuesto, no puede tomar documentos de clientes. Hay muestras en la red, pero hay muy pocas de ellas para entrenar con 茅xito la red neuronal.
Soluci贸n Nuestro departamento t茅cnico gener贸 una muestra de m谩s de 8000 muestras de cada tipo. Creamos una plantilla de documento y la multiplicamos por muchas muestras aleatorias. Luego, generamos una posici贸n aleatoria del documento en el espacio con respecto a la c谩mara, teniendo en cuenta su modelo matem谩tico y sus caracter铆sticas: distancia focal, resoluci贸n de la matriz, etc. Al generar una fotograf铆a artificial, se selecciona una imagen aleatoria del conjunto de datos terminado como fondo. Despu茅s de eso, se coloca un documento con distorsiones de perspectiva en la imagen al azar. En tal muestra, nuestra red neuronal estaba bien entrenada y defini贸 perfectamente el documento "en batalla". Los resultados est谩n al final del art铆culo.
Problema n煤mero 2. Restricci贸n banal en recursos inform谩ticos y memoria. No tiene sentido enviar una red neuronal profunda a la entrada de im谩genes grandes. Y las fotos de los tel茅fonos inteligentes modernos son solo eso.
Soluci贸n Antes de aplicar a la entrada, la foto se comprime a un tama帽o de aproximadamente 300x300 p铆xeles. De la imagen de este permiso, uno puede distinguir f谩cilmente un documento de identificaci贸n de otro. Para resolver este problema, podemos usar la arquitectura est谩ndar Wide ResNet.
Problema n煤mero 3. Con los documentos que confirman la direcci贸n de residencia, todo es m谩s complicado. El contrato de arrendamiento o el extracto bancario solo se pueden distinguir por el texto en la hoja. Despu茅s de reducir el tama帽o de la imagen a los mismos 300x300 p铆xeles, cualquiera de estos documentos tiene el mismo aspecto, como una hoja A4 con texto ilegible.
Soluci贸n Para clasificar documentos arbitrarios, realizamos cambios en la arquitectura de la red neuronal misma. En 茅l apareci贸 una capa de neuronas de entrada adicional, que est谩 conectada con la capa de salida. Las neuronas de esta capa de entrada reciben una entrada vectorial que describe el texto previamente reconocido utilizando el modelo de
Bolsa de palabras .
Primero, capacitamos a una red neuronal para clasificar documentos de identidad. Utilizamos los pesos de la red capacitada cuando inicializamos otra red con una capa adicional para clasificar documentos arbitrarios. Esta soluci贸n ten铆a una alta precisi贸n, pero el reconocimiento de texto tom贸 algo de tiempo. La diferencia en la velocidad de procesamiento entre diferentes m贸dulos y la precisi贸n de clasificaci贸n se puede ver en la tabla No. 2.
Reconocimiento facial
驴C贸mo enga帽ar a un sistema de pago que verifica documentos? Puede pedir prestado el pasaporte de otra persona y registrarse con 茅l. Para asegurarse de que el cliente se est茅 registrando, le pedimos que se tome una selfie con una tarjeta de identidad. Y el m贸dulo de reconocimiento debe comparar la cara en el documento y la cara en la selfie y responder, esta es una persona o dos diferentes.
驴C贸mo comparar 2 caras si eres un auto y piensas como un auto? Convierta una foto en un conjunto de par谩metros y compare sus valores entre s铆. As铆 es como funcionan las redes neuronales que reconocen caras. Toman una imagen y la convierten en un vector de 128 dimensiones (por ejemplo). Cuando env铆a otra imagen de cara a la entrada y les pide que comparen, la red neuronal convertir谩 la segunda cara en un vector y calcular谩 la distancia entre ellas.
Tabla 1. Un ejemplo de c谩lculo de la diferencia entre vectores en reconocimiento facial. Steve Buscemi difiere de s铆 mismo en diferentes fotos en 0.44. Y de Jennifer Aniston, un promedio de 1.33.Por supuesto, hay diferencias entre la apariencia de una persona en la vida y el pasaporte. Tambi茅n seleccionamos la distancia entre los vectores y probamos en personas reales para lograr un resultado. En cualquier caso, la decisi贸n final la tomar谩 la persona y un comentario del sistema ser谩 solo una recomendaci贸n.
Reconocimiento de texto
Hay campos de texto en los documentos que ayudan al clasificador a comprender lo que est谩 frente a 茅l. Ser谩 conveniente para el usuario si el texto del mismo pasaporte se transfiere autom谩ticamente y no tiene que escribirse manualmente, por qui茅n y cu谩ndo se emiti贸. Para hacer esto, creamos el siguiente m贸dulo: reconocimiento y extracci贸n de texto.
En algunos documentos, por ejemplo, nuevos pasaportes de la Federaci贸n de Rusia hay una zona legible por m谩quina (MRZ). Con su ayuda, es f谩cil tomar informaci贸n: es f谩cil leer texto en negro sobre un fondo blanco, lo cual es f谩cil de reconocer. Adem谩s, MRZ tiene un formato bien conocido, gracias al cual es m谩s f谩cil obtener los datos necesarios.

Si la tarea tiene documentos con MRZ, entonces nos resulta m谩s f谩cil. Todo el proceso se encuentra en el campo de la visi贸n por computadora. Si esta zona no est谩 all铆, entonces, despu茅s de reconocer el texto, debe resolver un problema interesante: comprender y 驴qu茅 informaci贸n reconocimos? Por ejemplo, "15 de mayo de 1999" es la fecha de nacimiento o la fecha de emisi贸n? En esta etapa, tambi茅n puede cometer un error. MRZ es bueno porque est谩 decodificado de forma 煤nica. Siempre sabemos qu茅 informaci贸n y en qu茅 parte del MRZ buscar. Es muy conveniente para nosotros. Pero MRZ no estaba en el documento m谩s popular con el que trabajar谩 la red: el pasaporte de la Federaci贸n Rusa.
Para el reconocimiento de texto, necesit谩bamos una soluci贸n muy efectiva. El texto deber谩 eliminarse de la imagen tomada por la c谩mara del tel茅fono y no por los fot贸grafos m谩s profesionales. Probamos Google Tesseract y varias soluciones pagas. No surgi贸 nada, o funcion贸 mal o fue excesivamente caro. Como resultado, comenzamos a desarrollar nuestra propia soluci贸n. Ahora estamos terminando su prueba. La soluci贸n muestra resultados decentes: puede leer sobre ellos a continuaci贸n. Hablaremos sobre el m贸dulo para verificar el montaje fotogr谩fico un poco m谩s tarde, cuando habr谩 resultados de investigaci贸n precisos en muestras de prueba y en la "batalla".
Resultado
El sistema se est谩 probando actualmente en el segmento de aplicaciones para verificaci贸n de Rusia. El segmento se determina mediante muestreo aleatorio, los resultados se guardan y se comparan con las decisiones del operador del departamento del cliente para un cliente en particular.
Pais | Tipo de clasificador | Precisi贸n | Tiempo de trabajo, s |
Rusia | Tarjeta de identificaci贸n | 99,96% | 0,41 |
Rusia | Documento personalizado | 98,62% | 6.89 |
Kazajst谩n | Tarjeta de identificaci贸n | 99,51% | 0,47 |
Kazajst谩n | Documento personalizado | 97,25% | 7.66 |
Bielorrusia | Tarjeta de identificaci贸n | 98,63% | 0,46 |
Bielorrusia | Documento personalizado | 98,63% | 9.66 |
Tabla 2. La precisi贸n del clasificador de documentos (la clasificaci贸n correcta del documento en comparaci贸n con la evaluaci贸n del operador).Una de las grandes ventajas del aprendizaje autom谩tico es que la red neuronal realmente aprende y comete menos errores. Pronto terminaremos las pruebas en el segmento y lanzaremos el sistema de verificaci贸n en modo "combate". El 30% de las solicitudes de verificaci贸n llegan a pagos electr贸nicos de Rusia, Kazajst谩n y Bielorrusia. Seg煤n nuestras estimaciones, el lanzamiento ayudar谩 a reducir la carga en el departamento del cliente en un 20-25%. En el futuro, la soluci贸n puede ampliarse a pa铆ses europeos.
驴Buscando trabajo?
Estamos buscando empleados para trabajar en una oficina en San Petersburgo. Si est谩 interesado en un proyecto internacional con un gran grupo de tareas ambiciosas, lo estamos esperando. No tenemos suficientes personas que no tengan miedo de realizarlas. A continuaci贸n encontrar谩 enlaces a vacantes en hh.ru.