Qu'est-ce qu'un filigrane ?
Dans le domaine de l'image numérique, un filigrane est un marqueur intégré ou superposé à une image pour indiquer son origine, son propriétaire ou son mode de création. Apparu dans la fabrication du papier au XIIIᵉ siècle, le filigrane numérique remplit des fonctions différentes : protection des droits d'auteur, identification des licences ou branding d'entreprise.
Les filigranes numériques modernes se divisent en deux grandes catégories :
Les filigranes visibles sont exactement ce que leur nom indique : logos, superpositions de texte ou graphiques semi-transparents visibles à l'œil nu. Des agences d'images comme Getty Images ou Shutterstock les utilisent pour protéger leurs images de prévisualisation. Les générateurs d'images IA, dont Google Gemini, adoptent une stratégie similaire en superposant leur identité de marque sur les images générées.
Les filigranes invisibles (stéganographiques) sont imperceptibles à l'œil humain mais détectables par un logiciel. La technologie SynthID de Google, par exemple, intègre un motif caché au niveau des pixels dans les images générées par IA. Ce type de filigrane ne peut pas être supprimé sans dégrader l'image, car les informations sont tissées dans le domaine fréquentiel de l'image et non simplement superposées.
L'outil présenté dans cet article traite exclusivement les filigranes de superposition semi-transparents visibles — spécifiquement ceux que Google Gemini applique aux images qu'il génère.
Comment Google Gemini applique son filigrane
Lorsque Google Gemini génère une image, il compose un logo semi-transparent — la marque "Made with Google AI" — sur l'image terminée avant de la livrer à l'utilisateur. Cette opération de composition utilise la formule standard d'alpha blending que tous les rendus graphiques, de CSS à OpenGL, emploient pour combiner deux couches visuelles :
C = B × (1 - α) + W × α
Où :
- C est la couleur finale du pixel composite que vous voyez
- B est le pixel de fond original (le contenu de l'image générée par IA)
- W est la couleur du pixel du filigrane (généralement blanc ou une couleur de marque spécifique)
- α (alpha) est l'opacité de la couche du filigrane, de 0 (complètement transparent) à 1 (complètement opaque)
Dans les régions où apparaît le logo du filigrane, l'alpha est non nul. Dans les régions sans filigrane, l'alpha est nul et l'équation se réduit à C = B — le fond est transmis sans modification.
L'insight crucial est que le profil de couleur et d'alpha du filigrane est connu. Puisque toutes les images générées par Gemini utilisent le même asset de filigrane avec les mêmes valeurs d'alpha à chaque position de pixel, il suffit de consulter quels sont W et α à chaque pixel pour résoudre l'équation en sens inverse.
La technique de l'alpha blending inversé
C'est ici que la mathématique devient élégante. Sachant que nous connaissons C (le composite), W (la couleur du filigrane) et α (l'opacité du filigrane à chaque pixel), nous pouvons résoudre B algébriquement :
C = B × (1 - α) + W × α
C - W × α = B × (1 - α)
B = (C - W × α) / (1 - α)
Cette formule est appliquée pixel par pixel sur chaque canal de couleur (rouge, vert, bleu). Pour les pixels où α = 0, le filigrane est absent et B = C trivialement. Pour les pixels où α > 0, on applique la formule et on récupère la couleur originale.
Le résultat est mathématiquement exact — pas une estimation, pas une reconstruction IA, mais une véritable inversion algébrique de l'opération de mélange. Tant que les valeurs de pixel originales n'ont pas été quantifiées ou tronquées, la restauration est sans pertes.
Exemple numérique
Supposons qu'un pixel dans l'image composite ait :
C = (200, 180, 175)(RGB)W = (255, 255, 255)(filigrane blanc)α = 0.4
Alors :
B.r = (200 - 255 × 0.4) / (1 - 0.4) = (200 - 102) / 0.6 = 98 / 0.6 ≈ 163
B.g = (180 - 255 × 0.4) / (1 - 0.4) = (180 - 102) / 0.6 = 78 / 0.6 = 130
B.b = (175 - 255 × 0.4) / (1 - 0.4) = (175 - 102) / 0.6 = 73 / 0.6 ≈ 122
Le pixel de fond récupéré est (163, 130, 122).
Implémentation avec la Canvas API
La Canvas API du navigateur fournit l'accès au niveau pixel nécessaire pour implémenter cet algorithme. Voici la logique principale :
async function removeGeminiWatermark(imageFile) {
// Charger l'asset du filigrane (profil alpha connu)
const watermark = await loadImage('/assets/gemini-watermark.png');
const source = await loadImage(imageFile);
const canvas = document.createElement('canvas');
canvas.width = source.width;
canvas.height = source.height;
const ctx = canvas.getContext('2d');
// Dessiner l'image source
ctx.drawImage(source, 0, 0);
const compositeData = ctx.getImageData(0, 0, canvas.width, canvas.height);
// Dessiner le filigrane sur un canvas séparé pour extraire les valeurs RGBA
const wmCanvas = document.createElement('canvas');
wmCanvas.width = canvas.width;
wmCanvas.height = canvas.height;
const wmCtx = wmCanvas.getContext('2d');
wmCtx.drawImage(watermark, 0, 0, canvas.width, canvas.height);
const wmData = wmCtx.getImageData(0, 0, canvas.width, canvas.height);
const output = compositeData;
for (let i = 0; i < output.data.length; i += 4) {
const alpha = wmData.data[i + 3] / 255; // normaliser 0–255 en 0–1
if (alpha > 0.001) {
const wR = wmData.data[i] / 255;
const wG = wmData.data[i + 1] / 255;
const wB = wmData.data[i + 2] / 255;
const cR = output.data[i] / 255;
const cG = output.data[i + 1] / 255;
const cB = output.data[i + 2] / 255;
// Alpha blending inversé : B = (C - W*a) / (1 - a)
output.data[i] = Math.round(clamp((cR - wR * alpha) / (1 - alpha)) * 255);
output.data[i + 1] = Math.round(clamp((cG - wG * alpha) / (1 - alpha)) * 255);
output.data[i + 2] = Math.round(clamp((cB - wB * alpha) / (1 - alpha)) * 255);
}
}
ctx.putImageData(output, 0, 0);
return canvas.toDataURL('image/png');
}
function clamp(v) { return Math.max(0, Math.min(1, v)); }
La fonction clamp gère les cas limites où l'arithmétique en virgule flottante produit des valeurs légèrement en dehors de la plage 0–1, ce qui peut se produire près des limites entièrement opaques ou transparentes du filigrane.
Vie privée en premier : pourquoi le traitement local dans le navigateur est crucial
Une caractéristique fondamentale de cette approche est qu'aucune donnée d'image ne quitte jamais votre appareil. L'intégralité de l'algorithme s'exécute dans votre navigateur en utilisant JavaScript et la Canvas API. Votre image n'est jamais chargée sur un serveur ni transmise via un appel API à un service IA tiers.
Cela a de l'importance pour plusieurs raisons :
- Confidentialité : Les images générées à partir de prompts propriétaires, de sujets personnels ou de contenus professionnels sensibles restent sur votre machine.
- Souveraineté des données : Vous n'êtes pas soumis aux conditions d'utilisation d'un fournisseur de traitement cloud.
- Latence : Le traitement s'effectue immédiatement sur votre matériel — sans aller-retour réseau.
- Coût : Pas de frais API par image, pas de limites de débit, pas de compte requis.
L'outil fonctionne entièrement hors ligne une fois chargé. Vous pourriez vous déconnecter d'internet après le chargement de la page et continuer à traiter des images sans interruption.
Cas d'usage concrets
Présentations et rapports
Lors de l'insertion d'images IA dans une présentation professionnelle ou un rapport technique, un logo de filigrane peut sembler peu professionnel ou distrayant. Sa suppression produit une image nette adaptée aux documents formels, à condition de disposer du droit d'utiliser le contenu généré.
Travail créatif et éditorial
Les designers et les illustrateurs utilisent fréquemment des images IA comme matériel de référence, mood boards ou sources de calques dans des œuvres composites. Une version propre sans logo s'intègre parfaitement dans un flux de travail créatif plus large.
Archivage personnel
Si vous générez des images pour le plaisir personnel ou pour un journal intime, vous souhaitez peut-être archiver des versions propres sans le logo de marque sur votre collection.
Accessibilité et localisation
Les éléments de texte ou de logo superposés peuvent parfois interférer avec les outils de reconnaissance d'image, les lecteurs d'écran ou les systèmes de sous-titrage automatique. La suppression de la superposition peut améliorer le traitement en aval.
Comparaison : alpha blending inversé vs. inpainting IA
| Méthode | Précision | Vitesse | Internet requis | Fonctionne sur tout filigrane | Artefacts |
|---|---|---|---|---|---|
| Alpha blending inversé (cet outil) | Précision au pixel (mathématique) | Instantané | Non | Non — Gemini uniquement | Non |
| Photoshop Remplissage génératif | Élevée (estimation IA) | Lent | Oui (cloud Adobe) | Oui | Possible |
| DALL-E Inpainting | Moyenne (estimation IA) | Lent | Oui (API OpenAI) | Oui | Fréquent |
| Stable Diffusion Inpainting | Élevée (estimation IA) | Moyen | Non (local) | Oui | Modéré |
| Tampon de duplication / Pinceau correcteur | Manuel, variable | Très lent | Non | Oui | Souvent |
Le différentiateur clé est le mot estimation par opposition à inversion mathématique. Les outils d'inpainting IA sont puissants précisément parce qu'ils peuvent remplir des régions d'une image même quand aucune information récupérable n'existe — ils synthétisent des pixels visuellement plausibles à partir du contexte. Mais cela signifie qu'ils devinent, et altèrent le contenu d'origine même dans la région du filigrane.
L'alpha blending inversé ne s'applique que lorsque l'information originale est encore présente dans le composite, encodée dans les valeurs de pixel par la formule de mélange. Dans ce cas, il est toujours plus précis que l'inpainting IA.
Limitations
Artefacts de compression JPEG
Si vous enregistrez ou téléchargez l'image Gemini en JPEG (plutôt qu'en PNG), la compression avec pertes introduit des erreurs de quantification. Les valeurs de pixel dans le composite C ne correspondent plus exactement à B × (1-α) + W × α ; elles ont été arrondies et déformées par le processus de compression DCT. Appliquer l'alpha blending inversé à un JPEG donnera une approximation de B, mais peut montrer des bandes subtiles, du bruit ou des incohérences de couleur, surtout dans les régions de forte opacité du filigrane.
Bonne pratique : Dans la mesure du possible, obtenez l'image au format PNG pour garantir une inversion sans pertes.
Ne fonctionne que pour le filigrane de Gemini
Le profil de filigrane de cet outil (les couleurs exactes des pixels et les valeurs alpha du logo) est spécifique à l'asset de marque de Google Gemini. D'autres générateurs IA — Midjourney, DALL-E, Stable Diffusion, Adobe Firefly — utilisent des designs de filigrane, des profils d'opacité et des stratégies de placement différents. Appliquer cet outil à des images d'autres sources produira des résultats incorrects.
Régions entièrement opaques du filigrane
Là où α = 1 (le filigrane est entièrement opaque), la formule produit une division par zéro : B = (C - W) / 0. Sur ces pixels, les informations de fond originales ont été complètement écrasées et sont irrécupérables par toute méthode mathématique. En pratique, le filigrane de Gemini utilise la semi-transparence sur l'ensemble de son logo, donc les régions entièrement opaques sont rares, mais elles existent autour des bords nets des glyphes du logo.
Mise à l'échelle et redimensionnement
Si l'image a été redimensionnée après l'application du filigrane, la correspondance pixel à pixel supposée entre l'asset du filigrane et l'image composite s'effondre. L'interpolation lors du redimensionnement mélange les pixels voisins, rendant l'inversion exacte impossible.
Considérations légales et éthiques
L'utilisation d'outils pour supprimer des filigranes soulève des questions légitimes qui varient selon la juridiction et le cas d'usage.
Droits d'auteur : Supprimer un filigrane d'une image que vous ne possédez pas ou n'avez pas licenciée peut constituer une violation des droits d'auteur dans de nombreux pays. Cependant, pour les images que vous avez vous-même générées via Google Gemini, vous disposez généralement des droits accordés par les conditions d'utilisation de Google.
Conditions d'utilisation de Google : Les CGU de Google Gemini permettent aux utilisateurs d'utiliser, modifier et distribuer les images qu'ils génèrent, sous réserve de certaines restrictions. Supprimer un filigrane pour un usage personnel et non commercial est généralement dans la portée autorisée, mais vous devez consulter les conditions actuelles pour votre cas d'utilisation spécifique.
Transparence : Si vous publiez ou partagez des images générées par IA, réfléchissez à si la suppression du filigrane pourrait induire en erreur les spectateurs sur l'origine de l'image. Le filigrane existe en partie pour signaler qu'une image est générée par IA — une divulgation qui a une valeur réelle dans des contextes comme les actualités, les réseaux sociaux et la communication publique.
Usage éthique : Cet outil est conçu pour les créateurs qui ont le droit d'utiliser leurs images générées et souhaitent des copies propres à des fins légitimes. Il n'est pas destiné à faciliter la présentation frauduleuse de contenu généré par IA comme une œuvre créée par un humain.
Bonnes pratiques
- Commencez toujours avec l'image source de la meilleure qualité possible — PNG de Gemini si disponible, pas une capture d'écran ou un JPEG ré-enregistré.
- Vérifiez le résultat en zoomant sur la zone où se trouvait le filigrane, en vérifiant les incohérences de couleur ou les bandes.
- Conservez le fichier original à côté de la version traitée pour la traçabilité de la provenance.
- Comprenez les limites : Si vous voyez des artefacts résiduels, l'image source a probablement été compressée en JPEG. Acceptez la limitation ou utilisez les fonctionnalités d'export de Gemini pour obtenir un PNG si possible.
- Vérifiez les conditions de licence avant de distribuer commercialement les images traitées.
Foire aux questions
Cet outil fonctionne-t-il sur les filigranes de Midjourney, DALL-E ou Stable Diffusion ?
Non. Chaque générateur d'images IA utilise son propre asset de filigrane avec son propre profil de couleur et ses valeurs alpha. Cet outil est spécifiquement calibré pour la superposition semi-transparente appliquée par Google Gemini. L'utiliser sur d'autres filigranes produira des corrections de couleur incorrectes.
Pourquoi ne pas simplement utiliser l'inpainting IA pour supprimer n'importe quel filigrane ?
L'inpainting IA est puissant mais synthétise fondamentalement des pixels plutôt que de les récupérer. Il modifiera l'apparence de l'image dans la région du filigrane même si le contenu original y est récupérable. L'alpha blending inversé est mathématiquement exact lorsque les données originales sont récupérables — ce qui est le cas pour les superpositions semi-transparentes — et est toujours plus précis que l'inpainting IA.
Cet outil est-il sûr ? Mes images seront-elles volées ?
Tout le traitement se déroule localement dans votre navigateur. Aucune donnée d'image n'est transmise à un serveur. Vous pouvez le vérifier en ouvrant l'inspecteur réseau de votre navigateur pendant le traitement d'une image et en confirmant qu'aucune requête réseau n'est effectuée après le chargement de la page.
Quel format d'image utiliser pour de meilleurs résultats ?
Utilisez PNG. PNG est sans pertes, ce qui signifie que les valeurs de pixel sont stockées exactement telles qu'elles étaient après l'application du filigrane. La compression avec pertes du JPEG corrompt les valeurs précises de pixel nécessaires pour un alpha blending inversé précis.
Puis-je utiliser cet outil à des fins commerciales ?
L'outil lui-même n'a pas de restrictions sur l'utilisation commerciale. Cependant, si vous pouvez distribuer commercialement les images résultantes dépend de vos droits sur le contenu original généré par IA selon les conditions d'utilisation de Google.
Que se passe-t-il dans les parties entièrement opaques du filigrane ?
Là où l'alpha du filigrane est 1 (entièrement opaque), le dénominateur dans la formule devient 0. L'outil gère cela élégamment en laissant ces pixels inchangés ou en les écrêtant à une valeur sûre. En pratique, ce sont des pixels de bord des glyphes du logo et ils sont typiquement peu nombreux.
L'outil modifie-t-il mon fichier original ?
Non. L'outil opère sur une copie de l'image dans le navigateur. Votre fichier original sur le disque n'est jamais altéré. Le résultat est proposé en téléchargement.
Conclusion
Le suppresseur de filigrane Gemini illustre un principe important : lorsqu'on comprend le processus mathématique exact utilisé pour créer un artefact, on peut souvent l'inverser exactement — sans apprentissage automatique. La formule d'alpha blending inversé B = (C - W×α) / (1 - α) est une simple inversion algébrique de l'équation de composition standard, mais elle produit des résultats précis au pixel qu'aucun outil d'inpainting IA ne peut égaler en termes de précision.
Les contraintes sont tout aussi importantes à comprendre : la technique ne fonctionne que lorsque les données de pixel originales sont mathématiquement récupérables (superposition semi-transparente, format source sans pertes, pas de redimensionnement). Dans ces contraintes, c'est l'outil le plus précis disponible pour cette tâche spécifique.