29 juin 2023

Génération d'images par IA sans violation des droits d'auteur

Les contributeurs
Philippe Moussali
Ingénieur en machine learning
Aucun élément trouvé.
S'abonner à la newsletter
Partager cet article

Création d'un ensemble de données Creative Commons pour le recyclage de Stable Diffusion à l'aide du cadre de création d'ensembles de données open source Fondant

Image créée par Stable Diffusion montrant une recréation du filigrane de Getty Images. Image : The Verge / Stable Diffusion (Image de James Vincent)

La génération d'images par l'IA a pris le monde d'assaut avec des services tels que Midjourney, DALL-E et Dream Studio(Stable Diffusion). Leurs modèles génératifs d'IA sous-jacents ont été entraînés sur des centaines de millions d'images provenant de l'internet public. Nombre de ces images ne sont pas libres de droits, ce qui crée des incertitudes juridiques pour les utilisateurs des systèmes de génération d'images, car il n'est pas certain que les lois sur les droits d'auteur s'appliquent, en particulier au niveau international. En outre, des actions en justice ont été annoncées par des détenteurs de droits d'auteur contre des fournisseurs tels que Midjourney et Stability AI.

Ces problèmes ont rendu les entreprises prudentes lorsqu'il s'agit d'incorporer des modèles d'IA générative dans leur flux de travail. C'est regrettable, car la génération d'images par l'IA peut entraîner des gains de productivité considérables, par exemple en aidant les concepteurs à concevoir et à prototyper pour accélérer les cycles de conception et améliorer la qualité.

Une solution possible consiste à entraîner un modèle sur des données exclusives telles que le générateur d'images de Shutterstock. Cependant, seuls quelques acteurs possèdent des centaines de millions d'images avec des descriptions significatives. Une autre option consiste à partir d'images publiques sous licence permissive.

Le plus grand dépôt d'images libres d'utilisation est Openverse. Il contient environ 600 millions d'œuvres sous licence Creative Commons (CC ), mais il présente plusieurs limites : il s'appuie sur une petite sélection de sites web et limite les utilisateurs à 10 000 téléchargements par jour.

La solution que nous présentons dans ce billet vise à surmonter les limitations susmentionnées en collectant un vaste ensemble de données sous licence permissive à partir de l'internet public.

Creative Commons

En ce qui concerne les licences permissives, plusieurs options sont disponibles en fonction de votre cas d'utilisation spécifique. Une catégorie largement reconnue et utilisée est celle des licences Creative Commons (CC). Ces licences sont généralement considérées comme ayant une validité juridique internationale et sont couramment utilisées pour les images. Elles ont été établies par l'organisation Creative Commons, une entité internationale réputée à but non lucratif. Plus de 2 milliards d'œuvres créatives auraient déjà fait l'objet d'une licence Creative Commons.

Grâce à leur adoption généralisée par des plateformes telles que Wikimedia et Flickr, les licences Creative Commons nous permettent d'accumuler potentiellement une collection substantielle d'images libres de droits, ce qui les rend adaptées à divers outils de génération d'images.

Les principales catégories de licences sur lesquelles nous nous concentrons sont les suivantes :

Catégories de licences communes Creative Common et leurs restrictions.

Si vous êtes intéressé par toutes les catégories de licences ou par une description plus détaillée de chaque licence, vous pouvez consulter la page officielle des licences CC : À propos des licences CC. Les licences CC peuvent avoir n'importe quelle combinaison des catégories mentionnées ci-dessus. Exemple : BY-SA-NC-ND : BY-SA-NC-ND.

Pour nos besoins, nous cherchons principalement à utiliser les licences Public Domain, BY et BY-SA. Ces licences nous permettent de modifier les images et de les utiliser à des fins commerciales, ce qui correspond à notre cas d'utilisation.

Notre approche

De nombreux ensembles de données à source ouverte ont été créés en recherchant des images dans les fichiers Common Crawl. Ces fichiers sont des pages web archivées de sites web qui contiennent le code HTML de chaque page web. En analysant un grand nombre de pages web archivées, il est possible d'extraire les URL d'images et de les associer au contenu textuel correspondant, ce qui permet de générer un ensemble complet de paires URL-texte d'images.

Une fois la liste des URL des images obtenue, l'ensemble de données peut être mis à la disposition du public et n'importe qui peut télécharger les images et entraîner ses propres modèles d'IA. Toutefois, ces ensembles de données ne contiennent que peu ou pas d'informations sur les licences d'utilisation des images. Par conséquent, si nous voulons disposer d'un vaste ensemble d'images contenant les informations relatives à la licence, nous devons prendre des mesures supplémentaires.

Notre approche consiste à récupérer sélectivement les images accompagnées de licences Creative Commons (CC) sur les pages web correspondantes. En filtrant l'ensemble des données sur la base de ce critère, nous devrions obtenir des images qui peuvent être utilisées pour l'entraînement d'un modèle de génération d'images par l'IA similaire à Stable Diffusion sans enfreindre la propriété intellectuelle de qui que ce soit.

Pour ce faire, nous examinons des sections spécifiques de la page web, à savoir les pieds de page, les balises de côté ou les balises latérales. Les licences situées dans les sections "aside" et "sidebar" ne sont collectées que si la licence est imbriquée dans une balise HTML pas plus de cinq fois. Cela nous permet de saisir les détails pertinents relatifs à la licence. La collecte de toutes les URL d'images présentes sur la page web nous permet de créer un ensemble de données complet de paires image-licence.

Qu'est-ce qu'un pied de page, un côté ou une barre latérale ?

Pour ceux qui ne sont pas familiers avec le code HTML, voici une brève explication :

  • Balises de bas de page : Il s'agit de blocs HTML utilisés pour encapsuler des informations placées au bas d'une page web. En général, les pieds de page contiennent des informations de contact, des liens hypertextes vers d'autres pages du site web, voire des licences.
  • Balises Aside ou sidebar : Ces balises HTML ont une fonction similaire à celle des pieds de page. Elles contiennent souvent des liens hypertextes vers d'autres pages web ou servent de notes annexes. Comme leur nom l'indique, les barres latérales et les apartés sont généralement situés à gauche ou à droite de la présentation d'un site web.

Dans les images ci-dessous, vous pouvez voir la structure générale d'une page web et un exemple de la façon dont ces sections peuvent apparaître.

Représentation structurelle d'une page web en code html, Source de l'image : burlingtoncodeacademy
Exemple d'un site web du rapport Asie-Pacifique qui a une licence Creative Commons pour l'ensemble du contenu de son site web. Rapport Asie-Pacifique

Nous avons remarqué que les sites web qui placent leur licence CC à ces endroits l'appliquent à l'ensemble de leur page web. Nous avons testé cette hypothèse en créant un petit ensemble de données de test de 1032 pages web. L'ensemble de données a été créé en sélectionnant au hasard 5 fichiers Common Crawl différents sur les 3 dernières années et en extrayant les pages web qui ont une licence CC. Le nombre total de fichiers Common Crawl que nous avons pu sélectionner était d'environ 1 920 000 et chaque fichier contenait environ 36 300 à 49 500 pages web utiles.

Organigramme de la sélection des données pour l'ensemble de données de test.

Nous avons étiqueté manuellement l'ensemble de données en fonction de l'emplacement de la licence sur la page web et de la possibilité d'interpréter la licence comme représentant l'ensemble de la page web ou non.

Distribution de l'emplacement des licences CC dans le code HTML d'une page web.

Nous constatons que la plupart des licences CC se trouvent dans le pied de page de la page web. La licence locale se réfère à une image qui se trouve dans le corps (contenu principal/centre) d'une page web. Cette licence ne concerne généralement qu'une seule image spécifique de la page web. Il peut également y avoir plusieurs licences sur la même page web, chacune se référant à une image différente.

Notre approche initiale consistait à établir un lien direct entre les licences CC et les images individuelles. Cependant, cela s'est avéré extrêmement difficile en raison de la diversité des méthodes utilisées pour le référencement des images. En outre, les licences ne faisaient pas toujours référence aux images.

Les blogs consacrés aux "poèmes" constituent un exemple problématique. Les internautes utilisaient souvent une image protégée par le droit d'auteur en tête de leur poème, mais faisaient référence à une licence CC en dessous, qui se référait en fait au poème, et non à l'image. Il ne s'agit là que de l'un des quelques exemples pour lesquels notre algorithme n'a atteint qu'une précision de 80 % dans la détection des licences locales.

Exemple de licence CC faisant référence à un poème plutôt qu'à une image dans le corps d'une page web.

En raison de ces limitations, nous avons décidé de nous concentrer sur l'identification des pages web dont l'ensemble du contenu est soumis à une licence unique. Nous avons examiné le pourcentage de licences CC correctement interprétées et avons obtenu une précision de 96,32 % avec la première version de notre algorithme si nous ne prenons en compte que les pieds de page, les apartés et les barres latérales.

Il est toutefois important de noter qu'il convient d'être prudent lors de l'interprétation de la précision de cette solution. Notre ensemble de données ne comprenait que 1 032 pages web, ce qui peut limiter la généralisation de nos résultats.

Diagramme représentant si une licence Creative Commons a été correctement interprétée comme représentant l'ensemble de la page web ou seulement une image locale.

Maintenant que nous disposons d'un algorithme capable de détecter les pages web sous licence CC avec une précision relativement élevée, l'étape suivante consiste à rassembler les URL des images de ces pages web. Une fois que nous avons rassemblé toutes les URL d'images des pages web sous licence CC, nous les stockons dans un fichier parquet.

Schéma du fichier Parquet de l'ensemble de données de retour

Développer notre solution

Comme notre solution est destinée à analyser des milliards de pages web, nous avons besoin d'une certaine évolutivité. Nous avons choisi Fondant comme framework pour permettre une mise à l'échelle facile et un développement local. Nous contribuerons nos composants et notre pipeline sur le dépôt Fondant dans un futur proche (pingnez-nous sur le Discord Fondant au cas où vous seriez intéressés par un accès en avant-première à ce pipeline et à ces composants).

Voici une vue d'ensemble de l'architecture du pipeline et des composants (personnalisés) de Fondant.

Vue d'ensemble de la filière Fondant
Vue d'ensemble de la canalisation de fondant

Téléchargement des images

Une fois que vous aurez exécuté notre outil, vous obtiendrez un ensemble de données contenant une liste d'URL d'images et de métadonnées associées (taille de l'image, type de licence, emplacement de la licence...). Vous pouvez ensuite filtrer les métadonnées pour choisir facilement un sous-ensemble spécifique de données qui correspond à votre cas d'utilisation spécifique.

Pour télécharger la liste des URL d'images, Fondant propose le composant download_images. Ce composant peut être utilisé pour télécharger, redimensionner et empaqueter plus de 100 millions d'images URL en l'espace de 20 heures sur une seule machine ou sur plusieurs machines.

Prochaines étapes

Nous sommes actuellement en train de peaufiner l'outil d'ensemble de données libre d'utilisation comme différents composants et comme pipeline standard dans Fondant, un cadre qui facilite la collecte et le prétraitement des données pour affiner les modèles de fondations. Il permet de construire des pipelines avec différents composants réutilisables pour l'extraction de données, la transformation, le filtrage, le légendage et plus encore.

L'objectif est de créer notre propre ensemble de données sous licence Creative Commons, qui sera mis à la disposition du public. Pour ce faire, nous chercherons également à améliorer la précision, par exemple grâce à la détection des filigranes, ainsi qu'à des options pour les mécanismes d'exclusion. En outre, nous prévoyons d'ajouter des fonctions supplémentaires à l'ensemble de données, notamment la détection d'images non sécurisées pour le travail (NSFW) et l'évaluation de l'esthétique.

Conclusion

Le besoin d'un grand ensemble de données libre d'utilisation pour les outils de génération d'images d'IA est pertinent. Notre solution répond à ce besoin en collectant un ensemble de données à grande échelle sous licence Creative Commons, tout en étant évolutive, agnostique et précise.

Nous espérons que cela améliorera considérablement la sécurité juridique des ensembles de données image-texte par rapport aux solutions existantes. En donnant la priorité au respect des règles d'autorisation, nous nous efforçons de créer un environnement plus fiable et plus digne de confiance pour l'utilisation des données.

Postes connexes

Voir tout le contenu
Aucun résultat n'a été trouvé.
Il n'y a pas de résultats correspondant à ces critères. Essayez de modifier votre recherche.
Grand modèle linguistique
Modèles de fondation
Entreprise
Personnes
Données Structurées
Chat GPT
Durabilité
Voix et son
Développement frontal
Protection des données et sécurité
IA responsable/éthique
Infrastructure
Hardware et capteurs
MLOps
IA générative
Natural Language Processing
Vision par ordinateur