Bom trabalho não só morrem lobos, mas aparecem motores de reconhecimento





Hoje nós, Smart Engines , contaremos a história de como trabalhamos durante a pandemia e o que ganhamos com ela. Diremos quando e para quem o tamanho da aplicação é importante, qual é a vivacidade dos documentos e para onde se encaminha este maravilhoso mundo de reconhecimento.



A história de como realmente relançamos os Smart Engines em um nível de produto. E essa história não será, de forma alguma, sobre como atraímos bilhões de dólares em investimentos por meio de uma reformulação de marca "centavos" ou como obtivemos subsídios governamentais à distância para apoiar o negócio. Não, não somos por natureza daqueles que, como diz o ditado, “comem peixe e não vão para o lago”. O motivo de muitos meses de trabalho árduo foi um repensar completo do conceito, arquitetura e propósito de nossos motores de reconhecimento. Mas as primeiras coisas primeiro.



Há cinco anos, entramos no mercado com um produto simples - um mecanismo de reconhecimento de passaporte em dispositivos móveis. A funcionalidade era extremamente simples: você mostra ao motor o passaporte no stream de vídeo, e ele retorna os atributos do documento na forma de texto (e fez issosem qualquer conexão com servidores externos, todo o reconhecimento foi realizado diretamente no dispositivo). Nenhuma reconciliação com os bancos de dados de passaportes válidos, nenhuma solicitação automática de fraude ao Ministério de Assuntos Internos, nenhum outro serviço KYC. Somente reconhecimento rápido e de alta qualidade, que, em nossa opinião, deveria ter virado parcialmente o mundo digital.



Aconteceu. Em março de 2015, apresentamos a primeira versão do produto - Smart PassportReader , que foi “alardeada” em todos os recursos (que é apenas nosso artigo sobre Habré, onde em todas as cores contamos sobre as características da tarefa e as formas de usar a tecnologia nos negócios). Embora inicialmente o mercado tenha reagido com lentidão à nossa inovação, hoje poucos bancos não utilizam essa tecnologia em aplicativos móveis.



Conforme o número de clientes cresceu, também aumentou o número de solicitações para adicionar novos recursos e capacidades. A base de tipos de documentos suportados estava se expandindo, a lista de linguagens suportadas, o número de linguagens usadas aumentava, a base de código estava inchada (apesar do fato de que, nos últimos cinco anos, alguns subsistemas foram reescritos várias vezes "do zero" para não se afogar no futuro em suporte ao código legado). Claro, tudo isso afetou o tamanho final do SDK - o tamanho do Smart IDReaderem "configuração completa" para iOS, passou a pesar mais de 200 MB. Muito de? Sim, muitos! No entanto, uma lista enorme de recursos de software era mais evidente do que qualquer megabyte.



O trabalho remoto, com a sua regularidade e uniformidade, deu-nos a oportunidade de analisar detalhadamente o nosso produto e comunicar com os clientes como utilizam o nosso SDK. Descobriu-se que muitos clientes utilizam a funcionalidade de reconhecimento de cartões de pagamento e códigos de barras separadamente dos passaportes (aliás, em diferentes casos de negócios e aplicações), o que nos fez perceber a necessidade de um produto para reconhecimento de tais objetos. Chamamos esse produto de Smart Code Engine... Claro, não apenas separamos a funcionalidade limitada do SDK anterior, mas formamos uma equipe separada de caras poderosos que expandiram significativamente as capacidades do mecanismo em termos de reconhecimento de objetos codificados. E o mais importante, definimos os requisitos-chave para o produto: trabalhar rapidamente, trabalhar sob quaisquer condições, trabalhar com precisão.



Como resultado, o Smart Code Engine fornece leitura automática de dados de cartão bancário, zona legível por máquina e códigos de barras em uma ampla classe de condições de captura de imagem. O sistema é resistente a mudanças de iluminação, ângulo de tiro, distorções, ângulo de rotação, iluminação excessiva e insuficiente. O sistema funciona em tempo real e é capaz de reconhecer cartões bancários e outros objetos em dispositivos modernos a uma taxa de 25 quadros por segundo.



Smart Code Enginepermite digitalizar e reconhecer cartões bancários de débito e crédito dos sistemas de pagamento "Mir", Visa, Mastercard, American Express, JCB, MIR, Maestro, Unionpay e Diners Club emitidos por vários países do mundo, proporcionando extração não só de números (12-19 dígitos), mas também o período de validade e o nome do proprietário. O reconhecimento de todos os tipos de cartões bancários é suportado: com relevo, indentação e impressão plana, dados de identificação horizontal e vertical, e aqueles cartões nos quais os dados estão localizados na frente e na frente verso. No novo produto, os usuários agora podem reconhecer cartões bancários com um número IBAN, que são comuns nos países da UE.O leitor de código de barras suporta o reconhecimento de código QR (incluindo várias versões de design), AZTEC, PDF 417, Data Matrix, CODABAR, CODE_39, CODE_93, CODE_128, EAN_8, EAN_13, ITF, UPC_A, UPC_E. O módulo para reconhecimento de zonas de documentos legíveis por máquina (MRZ), além do padrão internacional ISO / ICAO (IEC 7501-1 / Documento ICAO 9303 ISO), leva em consideração os regulamentos locais (Rússia, França, Suíça, Bulgária, Equador).



O segundo "repensar" se refere à nossa solução carro-chefe - o mecanismo de reconhecimento de documentos de identificação. Embora desde o início tenhamos posicionado o nosso produto para resolver toda uma gama de tarefas, desde sistemas de controle de acesso a complexos sistemas de inteligência artificial que atendem as pessoas de forma autônoma, a principal aplicação do Smart IDReader foi encontrada nas tarefas de identificação remota e autenticação de identidade. Seguem alguns casos “ao vivo”: cadastro de autônomo no serviço “Meu Imposto”, a compra e ativação de um cartão SIM, cadastro no cliente móvel Tinkoff.



Resolver esses problemas requer mais do que apenas o reconhecimento dos detalhes do texto. É assim que criamos um novo produto Smart ID Engine, que, além do reconhecimento de dados, fornece autenticação multifatorial devido ao mecanismo de verificação facial integrado, análise da “vivacidade” do documento apresentado, além de evidenciar sinais de comprometimento.



Além de analisar texto individual e elementos gráficos (incluindo elementos que mudam ao longo do tempo com a mudança das condições ambientais, como hologramas), o Smart ID Engine contém uma coleção de métodos que evitam a interferência "física" na integridade do documento (por exemplo, detecção de adulteração de fotos).



Este vetor na criação de um sistema integrado de identificação e autenticação de uma pessoa abre novas fronteiras e novos mercados de venda para nós, ampliando a geografia de aplicabilidade do sistema em todos os sentidos. E aqui também decidimos “atirar”: fizemos o reconhecimento da escrita árabe e das línguas do grupo indo-iraniano. Por um momento, estamos falando de 21 jurisdições com uma população total de 500 milhões de pessoas que não usam inscrições em latim em documentos nacionais. O reconhecimento árabe foi implementado para 73 tipos de documentos, incluindo passaportes, carteiras de identidade e carteiras de motorista dos seguintes países: Argélia, Bahrein, Estado da Palestina, Egito, Jordânia, Iraque, Irã, Iêmen, Qatar, Comores, Kuwait, Líbano, Líbia, Mauritânia, Marrocos, Emirados Árabes Unidos, Omã, Arábia Saudita, Síria, Sudão, Tunísia. No total, hoje oferecemos suporte a 99 idiomas do mundo,e começou há 5 anos com dois - russo e inglês.



Por fim, o último terço “repensando” a realidade e a apresentação de um novo produto que nasceu tão rapidamente durante a fase aguda da pandemia - Smart Document Engine . Este motor resolve o problema de extração automática de dados de formulários padrão de documentos, formulários de relatórios rígidos, contabilidade primária, financeiro, fiscal, jurídico, notarial e outros documentos. Assim como todos os outros motores de reconhecimento Smart Engines , estritamente no dispositivo, sem o uso de servidores externos de alto desempenho. Além de muitas funções auxiliares, como verificação de assinatura e impressão, reconhecimento de caligrafia, verificação da integridade topológica do documento, etc.



Claro, os céticos podem desistir e dizer que o assunto é completamente sem sentido e estúpido, pois quem pode precisar reconhecer documentos em telefones celulares ou tablets. Eu tenho uma resposta para isso. Em primeiro lugar, a otimização de algoritmos para arquiteturas de computação fracas nos permite fazer uma solução que funciona com velocidade incomparável em estações de trabalho e servidores (o tempo de processamento para 1 página de um documento A4 no AMD Ryzen 7 3700X é de cerca de 2 segundos). E em segundo lugar, já cumprimos exatamente essas previsões céticas, 5 anos atrás, quando lançamos um produto de reconhecimento de passaporte.



Qual é o próximo? Entrando nos mercados ocidentais? Desenvolvimento de vendas? PR, marketing e outras coisas, blá, blá, blá? Claro que não. No Ocidente, como no Oriente, já existimos. As vendas estão crescendo. PR e marketing já estão configurados (desde que você leu este artigo até o fim). Portanto, vamos nos concentrar no caso:



  • adicionar novos objetos codificados: reconhecimento de linhas de texto individuais, reconhecimento de números VIN, reconhecimento de leituras de medidores e outros;
  • adicionar novos idiomas e scripts, por exemplo, mais de 20 idiomas são usados ​​na Índia;
  • aumentando a velocidade de reconhecimento;
  • expandir a lista de tipos de documentos suportados;
  • muitos outros trabalhos interessantes.



All Articles