iOS 13 : Apple offre une fonction d'OCR à tous les développeurs

Florian Innocente |

À partir d'iOS 13, les développeurs pourront ajouter dans leurs applications une fonction d'OCR, de la reconnaissance de caractères à partir d'une image, fournie par Apple.

Depuis deux ans dans Notes, on dispose d'une fonction de scanner avec laquelle on peut photographier une carte de visite, un panneau, un bloc de texte dans une page, le détail d'une addition, etc. iOS détecte cet élément dans l'image et, même s'il est photographié de biais, il sait le plus souvent corriger la perspective pour le redresser et en améliorer la présentation en uniformisant l'éclairage.

Sur iOS 13, Apple a amélioré cette fonction en la dotant d'une reconnaissance de caractères. Elle propose le framework VisionKit contenant l'API Document Camera que tous les développeurs peuvent utiliser. Ce framework assure le gros du travail d'analyse de l'image et de reconnaissance du texte, déchargeant les développeurs d'une bonne partie de cet effort.

Lors de la présentation de VisionKit à la WWDC 2019, les deux ingénieurs d'Apple venus décrire son fonctionnement n'ont pas trop insisté sur la question de la langue, mais il a été dit que seul l'anglais était utilisé pour le moment [vidéo].

Ce que le nouveau Notes sait faire, des apps utilisant cette API en seront capables aussi. Dans iOS 13, lorsqu'un contenu texte a été scanné, Notes utilise automatiquement les premiers mots pour les affecter au titre de la note créée. Dans iOS 12, toutes ces notes portaient un nom générique de "Nouvelle note" et le scan était marqué comme "Document scanné". C'est du temps de gagné.

iOS 12 tout à gauche, iOS 13 à droite où les scans sont baptisés en fonction du début du texte reconnu

Cet OCR ouvre la voie à une fonction de recherche sur les contenus plus complète, puisqu'on peut retrouver un mot dans une image. Ici le nom du cyclone "Fani" a été indexé après qu'on ait photographié, un peu de travers, une légende (en anglais) dans un hebdo. Ça va même plus loin puisqu'iOS 13 sait parfois comprendre ce qu'il y a dans l'image, et permet de le retrouver par une recherche texte (ce sera par exemple la photo d'un avion sur une couverture, lire iOS 13 : toutes les nouveautés dans Notes).

Par contre le scan d'un texte en français ne donnera rien avec la recherche de texte, sauf exception lorsque le document contient des mots anglais ou des termes existant dans les deux langues.

La possibilité suivante qui s'offre aux développeurs est d'extraire le texte reconnu et de le présenter sous une forme éditable toute bête ou de le reformater. Le nom, l'adresse et le numéro de téléphone pris dans une carte de visite pourront être affectés à des champs ad-hoc ou injectés dans un tableau. Tout dépend de ce que le développeur entend proposer avec son app.

Les infos de la cartes de visite sont reconnues et classées en fonction
Le moteur d'OCR reprend automatiquement l'organisation de l'information du reçu

La démonstration par les deux ingénieurs d'Apple a abordé les bonnes pratiques dont les développeurs seraient avisés de s'emparer, comme de décider s'ils ont besoin d'une reconnaissance rapide (qui utilisera le CPU de l'iPhone) ou plus précise mais plus longue (qui s'appuie sur les capacités de calcul de la puce graphique). C'est une affaire de contexte, la reconnaissance d'un code barre n'a pas besoin de beaucoup de puissance, alors autant laisser le GPU vaquer à des tâches plus importantes ou urgentes.

Des conseils donnés aux développeurs qui s'empareront de la nouvelle API

Ce point est néanmoins important car cette opération d'OCR est effectuée en local, directement sur le téléphone. Il n'y a pas d'aller et retour de l'image de votre document vers les serveurs d'Apple, comme le fait Microsoft avec son système d'OCR dans OneNote et que des développeurs tiers utilisent comme service intégré à leurs apps.

Si l'app et la fonction d'OCR visent un public particulier, comme des catégories de professionnels, il y aura tout intérêt à doter son app d'un lexique adapté, avec les spécificités de vocabulaire, insiste Apple.

Autre conseil, celui de proposer une reconnaissance où l'on n'embête pas l'utilisateur en lui demandant d'abord ce qu'il veut scanner comme type de document : un seul bouton "Scanner" plutôt qu'un choix entre "Scanner un reçu", "Scanner une carte", "Scanner autre chose"… Charge à l'app de se débrouiller pour identifier le document qu'on lui présente.

Tags
avatar romainB84 | 

Ça va pas plaire ça ^^
C’est la principale nouveauté de la version payante dans la majorité des applis de scanner ^^
Si c’est fourni en standard, ça risque de pas leur plaire 🙂

avatar Bounty23 | 

@romainB84

J’ai l’impression qu’Apple s’inspire (a juste titre) de pas mal de bonnes choses sur l’App Store pour permettre à tous ses utilisateurs d’en profiter et je trouve ça génial pour nous !

En revanche pour les développeurs de ce genre d’applications oui ça va râler :( entre la recopie d’écran et ça sans parler du reste, c’est plein de petits ajouts !

avatar romainB84 | 

@Bounty23

Ah c’est exactement ce que je voulais dire !!
Ça va râler « côté développeur » pas coté « utilisateur » 🙂

avatar marenostrum | 

ils ne seront jamais leur clients. et personne va utiliser en plus, même si le système le permet.
les gens qui ont besoin de ces fonctions, ils achètent le meilleur logiciel qui existe.

avatar romainB84 | 

@marenostrum

Bah personnellement j’utilise Scanbot (j’ai acheté la version payant) mais depuis 2 mois ils sont passé à une version à abonnement !
Bah je te confirme que si lappli de base d’Apple fait le boulot, pour mon besoin ça me suffira bien largement 😉

avatar marenostrum | 

même avec ce que fait Apple, si personne ne s'intéresse vraiment, la fonction disparaitra. parce que eux ne peuvent pas payer le développement pour des trucs que personne n'utilise.
ils ont le même problème que les autres développeurs, qui arrêtent le programme si pas suffisamment d'utilisateurs. d'ailleurs le pas vers l'abonnement c'est leur dernier cartouche. ça montre qu'ils ne gagnent pas suffisamment d'argent, ils sont pas rentables.

avatar romainB84 | 

@marenostrum

Je comprend parfaitement !
Personnellement je n’avais pas hésité à payé les 8€ car lappli est vraiment bien!
Mais payer 5€/mois pour 3 ou 4 scans... c’est trop cher pour mon usage !
Sûrement que ça intéressera les pro qui rentabiliseront facilement cet achat mais pas moi en tout cas 🙂

avatar shaba | 

@bidibout

Je trouve les résultats de scanner pro largement meilleurs que ce que propose iOS perso. J’espère que ça s’arrangera avec iOS 13.

avatar shaba | 

@bidibout

Le scan plus lumineux décrit me semblait indiquer une préférence pour le scanner d’iOS ;) Mais j’ai peut-être lu un peu vite également !

avatar Lu Canneberges | 

C’est vraiment génial et une super nouvelle !! En espérant que le support du français arrive vite... Qu’Apple démontre encore qu’on peut faire en local ce que les autres veulent absolument faire sur leurs serveurs ne peut être que bon pour la vie privée (mais aussi l’accessibilité en zones moins couvertes ou pas du tout, pour les petits forfaits, les connexions très lentes ou faibles, etc.) !

avatar shaba | 

Je ne comprends pas pourquoi l’appli ne peut indexer que l’anglais, je pensais que les mots n’étaient qu’une succession de caractères, peut importe la langue...

avatar marenostrum | 

il lui faut un dictionnaire derrière. et souvent ça c'est pas gratuit. il faut payer des droits.

avatar shaba | 

@marenostrum

Les dictionnaires oui, mais s’ils se contentent d’assembler des lettres les unes après les autres et d’indexer le résultat ça pourrait marcher quelle que soit la langue.

avatar marenostrum | 

je crois que c'est le dico qui fait l'assemblage justement, par comparaison. comme nous en fait, qu'on l'a le dico dans le cerveau. sinon pour les langues qu'on ne connait pas (chinois, japonais, grec, russe, etc) on peut rien distinguer du tout. on peut se tromper de caractères qui se ressemblent.

avatar Yves SG | 

Je ne savais même pas qu’IOs faisait ça en natif !
Même si ScannerPro est géniallissime de a à z et mérite largement les qq euros qu’ils demandent, ça m’intéresse de savoir comment faire sur iOS.
Quelqu’un peut me dire où ?

avatar Yves SG | 

@bidibout

Merci !

avatar romainB84 | 

@Yves SG

Le gros défaut de la version d’iOS , c’est que au moment de la génération’ du pdf... il rajoute une énorme marge sur les cotes...
Assez étrange 🙂

avatar Yves SG | 

Trouvé !
Ça marche effectivement bien pour intégrer un document à une note, mais rien à voir avec scanner pro pour la création de documents pdf multi pages, nommés et automatiquement téléchargés dans un dossier sur le Mac...

avatar vomi | 

Quid du framework sur macOS ? Ce serait super à intégrer dans PDFZone ...

avatar Mk71 | 

D’abord il y a plantage iOS 13 changeant écriture ou emoji ça saute iPhone se soit Facebook ou bloc note donc arrêter vos connerie mise à jour iOS 13 mais il ne l’a pas fait iOS 11 et iOS 12 plantage

CONNEXION UTILISATEUR