Comment l'inpainting par IA comble les parties manquantes des photos
Du tampon de duplication à LaMa : comment l'IA a appris à effacer des objets des photos en imaginant des textures plausibles grâce aux convolutions de Fourier.
Vous prenez en photo un recu, et quelques secondes plus tard le texte apparait a l'ecran, modifiable, recherchable et copiable. Derriere cette interaction apparemment simple se cachent des decennies de recherche en reconnaissance optique de caracteres - la technologie qui apprend aux ordinateurs a lire. Comment une machine regarde-t-elle des pixels et y voit-elle des lettres ?
L'OCR est ne dans les annees 1950, lorsque les services postaux ont eu besoin de trier le courrier automatiquement. Les premiers systemes ne savaient lire que des polices specialement concues, imprimees a l'encre magnetique (les chiffres bloques en bas des cheques sont un vestige de cette epoque). Dans les annees 1990, les scanners et les logiciels OCR de bureau ont rendu la numerisation de documents praticable. Aujourd'hui, l'OCR fonctionne en temps reel sur les cameras de telephone pour lire des panneaux, des menus et des plaques d'immatriculation.
Les pipelines OCR modernes decoupent le probleme en quatre etapes :
Image → Preprocess → Detect text regions → Segment characters → Recognise → Output text
│ │ │ │ │
│ Grayscale Bounding boxes Split or Neural net
│ Deskew around lines sequence + language
│ Denoise model modelTesseract est le moteur OCR open source le plus utilise. Developpe a l'origine par Hewlett-Packard dans les annees 1980, il est devenu open source en 2005 et est aujourd'hui maintenu par Google. Tesseract 5 utilise un reseau neuronal LSTM (Long Short-Term Memory) pour la reconnaissance, ce qui a nettement ameliore la precision par rapport a l'ancienne approche par pattern matching.
Tesseract prend en charge plus de 100 langues et systemes d'ecriture, dont le chinois, l'arabe et le devanagari. Il peut fonctionner dans le navigateur via WebAssembly (au travers de bibliotheques comme Tesseract.js), ce qui signifie que l'OCR peut s'executer entierement cote client sans envoyer les images a un serveur.
| Defi | Pourquoi c'est difficile | Attenuation |
|---|---|---|
| Ecriture manuscrite | Variation quasi infinie d'un scripteur a l'autre | Modeles specialises de reconnaissance de l'ecriture manuscrite (HTR) |
| Texte courbe | Les caracteres se deforment le long d'arcs | Pretraitement de rectification du texte |
| Faible contraste | Texte clair sur fond clair | Seuillage adaptatif, egalisation d'histogramme |
| Ecritures non latines | Davantage de glyphes, caracteres relies | Modeles specifiques a chaque langue |
| Mises en page complexes | Tableaux, colonnes, contenu mixte | Analyse de mise en page avant la reconnaissance |
La precision de l'OCR depend bien davantage de la qualite de l'entree que du moteur lui-meme :
L'OCR ne se contente pas de lire du texte - il fait le pont entre le monde physique et le monde numerique. Chaque formulaire scanne, chaque tableau blanc photographie et chaque panneau traduit depend d'une machine qui a appris a voir des lettres dans des pixels.
Du tampon de duplication à LaMa : comment l'IA a appris à effacer des objets des photos en imaginant des textures plausibles grâce aux convolutions de Fourier.
Les maths derrière les filigranes semi-transparents, pourquoi des motifs fixes peuvent être inversés sans perte et différence entre filigranes visibles et invisibles.
Pourquoi les écrans mélangent la lumière rouge, verte et bleue, ce que code vraiment l'écriture abrégée HEX et quand HSL simplifie la vie.