Aujourd'hui, nous, Smart Engines , raconterons comment nous avons travaillé pendant la pandémie et ce que nous en avons retiré. Nous vous dirons quand et pour qui la taille de l'application compte, quelle est la vivacité des documents et où se dirige ce monde merveilleux de reconnaissance.
L'histoire de la façon dont nous avons relancé les moteurs intelligents au niveau du produit. Et cette histoire ne portera pas du tout sur la façon dont nous avons attiré des milliards de dollars d'investissements grâce à un changement de marque «penny» ou réussi à obtenir des subventions gouvernementales à distance pour soutenir l'entreprise. Non, nous ne sommes pas par nature de ceux qui, comme on dit, «mangent un poisson et ne vont pas dans un étang». La raison de beaucoup de mois de travail acharné était de repenser complètement le concept, l'architecture et le but de nos moteurs de reconnaissance. Mais tout d'abord.
Il y a cinq ans, nous sommes entrés sur le marché avec un produit simple - un moteur de reconnaissance de passeport sur les appareils mobiles. La fonctionnalité était extrêmement simple: vous montrez au moteur le passeport dans le flux vidéo, et il renvoie les attributs du document sous forme de texte (et il l'a faitsans aucune connexion avec des serveurs externes, toute la reconnaissance a été effectuée directement sur l'appareil). Pas de rapprochement avec les bases de données des passeports valides, pas de demandes automatiques au ministère de l'Intérieur pour fraude, pas d'autres services KYC. Seule une reconnaissance rapide et de qualité, qui, à notre avis, aurait dû partiellement renverser le monde numérique.
Arrivé. En mars 2015, nous avons présenté la première version du produit - Smart PassportReader , qui a été «claironné» sur toutes les ressources (qui n'est que notre article sur Habré, où nous parlons de toutes les couleurs des caractéristiques de la tâche et des façons d'utiliser la technologie dans les affaires). Bien qu'au départ le marché ait réagi lentement à notre innovation, aujourd'hui, seules quelques banques n'utilisent pas cette technologie dans les applications mobiles.
À mesure que le nombre de clients augmentait, le nombre de demandes d'ajout de nouvelles fonctionnalités et capacités augmentait également. La base des types de documents pris en charge s'est élargie, la liste des langues prises en charge, le nombre de langues utilisées a augmenté, la base de code a été gonflée (malgré le fait qu'au cours des cinq dernières années, certains sous-systèmes ont été réécrits plusieurs fois "à partir de zéro" afin de ne pas se noyer à l'avenir en support du code hérité). Bien sûr, tout cela a affecté la taille finale du SDK - la taille de Smart IDReaderen "configuration complète" pour iOS, il a commencé à peser plus de 200 Mo. Beaucoup de? Oui, incroyablement nombreux! Cependant, une énorme liste de capacités logicielles était plus évidente que n'importe quel mégaoctet.
Le travail à distance, avec sa régularité et son uniformité, nous a donné l'opportunité d'analyser notre produit en détail et de communiquer avec les clients comment ils utilisent notre SDK. Il s'est avéré que de nombreux clients utilisent la fonctionnalité de reconnaissance des cartes de paiement et des codes à barres séparément des passeports (en fait, dans différentes analyses de rentabilisation et applications), ce qui nous a fait prendre conscience de la nécessité d'un produit pour reconnaître ces objets. Nous avons nommé ce produit Smart Code Engine... Bien sûr, nous n'avons pas seulement isolé les fonctionnalités limitées du SDK précédent, nous avons formé une équipe distincte de personnes puissantes qui ont considérablement étendu les capacités du moteur en termes de reconnaissance des objets codifiés. Et surtout, ils formaient les exigences clés du produit: travailler rapidement, travailler dans toutes les conditions, travailler avec précision.
En conséquence, le moteur de code intelligent fournit une lecture automatique des données de la carte bancaire, de la zone lisible par machine et des codes-barres dans une large classe de conditions de capture d'image. Le système résiste aux changements d'éclairage, d'angle de prise de vue, aux distorsions, à l'angle de rotation, à un éclairage excessif et insuffisant. Le système fonctionne en temps réel et est capable de reconnaître les cartes bancaires et autres objets sur les appareils modernes à une cadence de 25 images par seconde.
Moteur de code intelligentvous permet de numériser et de reconnaître les cartes de débit et de crédit bancaires des systèmes de paiement "Mir", Visa, Mastercard, American Express, JCB, MIR, Maestro, Unionpay et Diners Club émises par divers pays du monde, fournissant non seulement l'extraction de numéros (12-19 chiffres), mais aussi la durée de validité et le nom du propriétaire. La reconnaissance de tous les types de cartes bancaires est prise en charge: avec des données en relief, en retrait et imprimées à plat, avec des données d'identification horizontale et verticale, et les cartes sur lesquelles les données sont situées à la fois sur le devant et sur face arrière. Dans le nouveau produit, les utilisateurs peuvent désormais reconnaître les cartes bancaires avec un numéro IBAN, qui sont répandues dans les pays de l'UE.Le lecteur de code à barres prend en charge la reconnaissance de code QR (y compris diverses versions de conception), AZTEC, PDF 417, Data Matrix, CODABAR, CODE_39, CODE_93, CODE_128, EAN_8, EAN_13, ITF, UPC_A, UPC_E. Le module de reconnaissance des zones de documents lisibles par machine (MRZ), en complément de la norme internationale ISO / ICAO (IEC 7501-1 / ICAO Document 9303 ISO), prend en compte les réglementations locales (Russie, France, Suisse, Bulgarie, Equateur).
Le deuxième «repenser» fait référence à notre solution phare - le moteur de reconnaissance des documents d'identité. Bien qu'au tout début nous ayons positionné notre produit pour résoudre toute une gamme de tâches, des systèmes de contrôle d'accès aux systèmes complexes d'intelligence artificielle au service des personnes de manière autonome, l'application principale de Smart IDReader a été trouvée dans les tâches d'identification à distance et d'authentification d'identité. Voici quelques cas "en direct": inscription des indépendants dans le service My Tax, achat et activation d'une carte SIM, inscription dans le client mobile Tinkoff.
La résolution de ces problèmes nécessite plus que la simple reconnaissance des détails du texte. C'est ainsi que nous avons créé un nouveau produit Smart ID Engine, qui, en plus de la reconnaissance des données, permet une authentification multifactorielle grâce au mécanisme intégré de vérification du visage, l'analyse de la «vivacité» du document présenté, ainsi que la mise en évidence des signes de compromis.
En plus d'analyser le texte et les éléments graphiques individuels (y compris les éléments qui changent au fil du temps lorsque l'environnement change, tels que les hologrammes), Smart ID Engine contient un ensemble de méthodes qui empêchent les interférences «physiques» avec l'intégrité du document (par exemple, la détection de falsification de photo).
Un tel vecteur dans la création d'un système complexe d'identification et d'authentification d'une personne nous ouvre de nouvelles frontières et de nouveaux marchés de vente, élargissant la géographie de l'applicabilité du système dans tous les sens. Et là, nous avons également décidé de «tourner»: nous avons fait la reconnaissance de l'écriture arabe et des langues du groupe indo-iranien. Pour un instant, nous parlons de 21 juridictions avec une population totale de 500 millions de personnes qui n'utilisent pas d'inscriptions latines dans les documents nationaux. La reconnaissance arabe a été mise en œuvre pour 73 types de documents, y compris les passeports, cartes d'identité et permis de conduire des pays suivants: Algérie, Bahreïn, État de Palestine, Égypte, Jordanie, Irak, Iran, Yémen, Qatar, Comores, Koweït, Liban, Libye, Mauritanie, Maroc, Emirats Arabes Unis, Oman, Arabie Saoudite, Syrie, Soudan, Tunisie. Au total, nous prenons aujourd'hui en charge 99 langues du monde,et a commencé il y a 5 ans avec deux - le russe et l'anglais.
Enfin, le dernier tiers "repenser" la réalité et la présentation d'un nouveau produit si vite né pendant la phase aiguë de la pandémie - Smart Document Engine . Ce moteur résout le problème de l'extraction automatique de données à partir de formulaires standard de documents, de formulaires de déclaration stricts, de documents comptables primaires, financiers, fiscaux, juridiques, notariaux et autres. Tout comme tous les autres moteurs de reconnaissance Smart Engines , strictement sur l'appareil, sans l'utilisation de serveurs externes hautes performances. Plus de nombreuses fonctions auxiliaires, telles que la vérification de la présence d'une signature et d'une impression, la reconnaissance de l'écriture manuscrite, le contrôle de l'intégrité topologique du document, etc.
Bien sûr, les sceptiques peuvent abandonner et dire que le sujet est complètement dénué de sens et stupide, car qui peut avoir besoin de reconnaître des documents sur des téléphones portables ou des tablettes. J'ai une réponse à cela. Premièrement, l'optimisation des algorithmes pour les architectures de calcul faibles nous permet de faire une solution qui fonctionne à une vitesse inégalée sur les postes de travail et les serveurs (le temps de traitement d'une page de document A4 sur AMD Ryzen 7 3700X est d'environ 2 secondes). Et deuxièmement, nous avons déjà rencontré exactement ces prévisions sceptiques, il y a 5 ans, lorsque nous avons lancé un produit de reconnaissance des passeports.
Et après? Vous entrez sur les marchés occidentaux? Développement des ventes? PR et marketing et trucs bla bla bla? Bien sûr que non. En Occident, comme en Orient, nous existons déjà. Les ventes augmentent. Les relations publiques et le marketing sont déjà mis en place (puisque vous avez lu cet article jusqu'au bout). Par conséquent, concentrons-nous sur le cas:
- ajout de nouveaux objets codifiés: reconnaissance des lignes de texte individuelles, reconnaissance des numéros VIN, reconnaissance des relevés de compteurs et autres;
- l'ajout de nouvelles langues et scripts, par exemple, plus de 20 langues sont utilisées en Inde;
- augmenter la vitesse de reconnaissance;
- élargir la liste des types de documents pris en charge;
- beaucoup d'autres travaux intéressants.