


Sept étapes pour préparer des ensembles de données pour les projets Image AI
Traducteur | Chen Jun
Chonglou | Révisé
Je me demande si vous avez remarqué que l'ensemble de données est peut-être la partie la plus négligée du projet d'apprentissage automatique. Pour la plupart des gens, un ensemble de données n’est rien de plus qu’une collection d’images prédéfinies qui ont été rapidement assemblées ou téléchargées. En fait, les ensembles de données sont la pierre angulaire de tout projet d’intelligence artificielle (IA) basé sur l’image. Pour tout projet d’apprentissage automatique visant à atteindre une grande précision, la création et la gestion d’un ensemble de données équilibré et bien structuré sont cruciales.
Cependant, créer un ensemble de données n'est pas aussi simple que de collecter des centaines d'images. Lorsque nous essayons de démarrer un projet d’IA, nous sommes susceptibles de rencontrer divers dangers cachés. Ci-dessous, je discuterai de sept étapes typiques que vous pouvez suivre pour créer votre propre ensemble de données afin que vous puissiez mieux comprendre l'importance de la taille de l'ensemble de données, les éventuelles omissions de données et la conversion d'un ensemble de données en base de données.
Remarque : Ces étapes s'appliqueront principalement aux projets de détection et de classification d'objets contenant des ensembles de données d'images. D'autres types de projets tels que le PNL ou les projets graphiques nécessitent une approche différente.
Étape 1 : Taille de l'image
Normalement, les réseaux de neurones ne peuvent gérer que des images d'une taille spécifique, et les images dépassant un seuil seront obligées d'être réduites. Cela signifie qu'avant d'utiliser l'ensemble de données, nous devons choisir un réseau neuronal approprié et redimensionner l'image en conséquence
Comme vous le savez, si vous réduisez la taille de l'image, cela peut entraîner une énorme baisse de précision, même si elle est petite les objets sur l'image disparaissent, endommageant ainsi tout le processus de reconnaissance. Comme indiqué ci-dessous, vous devez détecter le numéro de plaque d'immatriculation dans l'image capturée par la caméra de sécurité, et la plaque d'immatriculation n'occupe qu'une petite partie de l'image entière. Par conséquent, lorsque le réseau neuronal réduit l'image, le numéro de plaque d'immatriculation peut devenir très petit et ne peut pas être reconnu
Comme le montre la figure ci-dessous, si la taille de l'image que le réseau peut utiliser peut être comprise , Vous aide à recadrer l'image de l'ensemble de données appropriée.
Bien que la plupart des réseaux de neurones puissent gérer des images de plus petite taille, les derniers réseaux de neurones, tels que Yolo v5x6, sont capables de traiter des images de plus grande résolution. Par exemple, Yolo v5xs6 est capable de traiter des images jusqu'à 1280 pixels de large.
Étape 2 : Comprendre votre environnement
Afin de garantir que l'ensemble de données reflète avec précision les images réelles que le réseau neuronal doit reconnaître pendant le fonctionnement, nous collectent Les facteurs suivants doivent être pris en compte lors de la configuration des données :
- Le type de caméra, qu'il s'agisse d'une caméra de smartphone ou d'une caméra de sécurité
- La taille de l'image
- L'emplacement de la caméra, est-il à l'intérieur ou à l'extérieur
- les conditions météorologiques, telles que la lumière, la pluie, le brouillard, la neige, etc.
Avec une compréhension claire des images réelles à traiter par le réseau neuronal, nous pouvons créer un ensemble de données qui reflète avec précision ces objets d'intérêt et leur environnement.
La collecte d'images courantes auprès de Google peut être considérée comme le moyen le plus simple et le plus rapide d'assembler un grand ensemble de données. Cependant, cette méthode est en réalité difficile à satisfaire aux exigences de haute précision. Comme le montre la figure ci-dessous, par rapport aux images prises par de vrais appareils photo, les images de Google ou des bases de données de photos sont généralement « belles » traitées
et un ensemble de données trop « joli » est susceptible d'en résulter. dans une précision de test plus élevée. Cela signifie que le réseau neuronal ne fonctionnera bien que sur les données de test (une collection d'images purifiées à partir de l'ensemble de données), mais qu'il fonctionnera mal dans des conditions réelles et entraînera une faible précision.
Étape 3 : Formatage et Annotation
Un autre aspect important auquel nous devons prêter attention est : le format de l'image. Avant de commencer votre projet, vérifiez quels formats le framework choisi prend en charge et si vos images peuvent répondre à ces exigences. Bien que le framework actuel puisse prendre en charge plusieurs formats d'image, des problèmes subsistent avec des formats tels que .jfif.
Les données d'annotation peuvent être utilisées pour spécifier des cadres de délimitation, des noms de fichiers et différentes structures qui peuvent être adoptées. Généralement, différents réseaux et frameworks de neurones nécessitent différentes méthodes d'annotation. Certains nécessitent des coordonnées absolues contenant l'emplacement du cadre englobant, d'autres nécessitent des coordonnées relatives ; certains exigent que chaque image soit accompagnée d'un fichier .txt distinct contenant les annotations, tandis que d'autres nécessitent uniquement un seul fichier .txt
contenant tous les fichiers d'annotations. Comme vous pouvez le constater, même si votre ensemble de données contient de bonnes images, cela ne servira à rien si votre framework ne peut pas gérer les annotations.Étape 4训 : Sous-ensembles de formation et de vérification
Aux fins de la formation, l'ensemble de données est généralement divisé en deux sous-ensembles :
- Sous-ensemble de formation
- - C'est un ensemble d'images. Le réseau de neurones sera formé sur cet ensemble d'images. Sa proportion varie de 70% à 80% du nombre total d'images. Sous-ensemble de validation
- - est un ensemble plus petit d'images utilisé pour vérifier dans quelle mesure le réseau neuronal apprend pendant l'entraînement. Sa proportion est comprise entre 20% et 30% du nombre total d'images.
"voir ". Qu'il s'agisse d'une supposition correcte ou fausse, sa structure permet au réseau neuronal d'apprendre davantage en profondeur.
Bien que cette approche ait été largement utilisée et ait fait ses preuves pour obtenir de bons résultats, nous préférons une approche différente en divisant l'ensemble de données en sous-ensembles comme suit :
- Sous-ensemble de formation
- - 70% du nombre total d'images Ensemble de données de test
- - environ 10%
- Étant donné que le sous-ensemble de test contient des images de l'ensemble de données qui le réseau neuronal n'a jamais vu, les développeurs peuvent tester le modèle sur ce sous-ensemble pour voir ses performances lorsqu'il est exécuté manuellement et avec quelles images il a des difficultés. En d'autres termes, ce sous-ensemble aidera à découvrir où le réseau neuronal peut commettre des erreurs avant le début du projet, évitant ainsi un recyclage excessif après le démarrage du projet Étape 5 : Données
.
Si les données que vous utilisez pour entraîner un algorithme d'apprentissage automatique contiennent les informations que vous essayez de prédire, une fuite de données peut se produire. Comme le montre la figure ci-dessous, du point de vue de la reconnaissance d'images, une fuite de données se produit lorsque les photos du même objet dans les sous-ensembles de formation et de validation sont très similaires. Évidemment, les données manquantes sont extrêmement préjudiciables à la qualité des réseaux de neurones.
Essentiellement, le modèle voit une image dans l'ensemble de données d'entraînement, extrait ses caractéristiques, puis accède à l'ensemble de données de validation et découvre que ce qu'il a vu est exactement la même image (ou très similaire). Par conséquent, plutôt que de dire que le modèle apprend réellement, il vaut mieux dire qu’il mémorise simplement diverses informations. Parfois, cela se traduit par une précision ridiculement élevée sur l'ensemble de données de validation (par exemple, jusqu'à 98 %), mais une précision très faible en production.
L'une des méthodes de segmentation d'ensembles de données les plus couramment utilisées consiste à mélanger les données de manière aléatoire, puis à sélectionner les premiers
70 % des images dans le sous-ensemble d'entraînement et les
restants 30 % Ensuite, placez-le dans le sous-ensemble de vérification. Cette méthode peut facilement conduire à des omissions de données. Comme le montre la figure ci-dessous, notre priorité immédiate est de supprimer toutes les photos « en double » de l'ensemble de données et de vérifier si des photos similaires existent dans les deux sous-ensembles.
Pour cela, nous pouvons utiliser un simple script pour effectuer automatiquement la suppression des doublons. Bien entendu, vous pouvez ajuster le seuil de duplication, par exemple : supprimer uniquement les images complètement en double, ou les images présentant une similarité allant jusqu'à 90% , etc. En général, plus le contenu en double est supprimé, plus le réseau neuronal sera précis.
Étape 6 : Base de données de grande taille
Si votre ensemble de données est assez volumineux, par exemple : plus de 10 millions images, et combien pour dix classes et sous-classes d'objets, nous vous recommandons de créer une base de données simple pour stocker les informations sur les ensembles de données. La raison derrière cela est en fait très simple : avec de grands ensembles de données, il est difficile de suivre toutes les données. Par conséquent, sans un traitement structuré des données, nous ne serons pas en mesure de les analyser avec précision.
Grâce à la base de données, vous pouvez rapidement diagnostiquer l'ensemble de données et découvrir que : trop peu d'images dans une catégorie spécifique rendront difficile la reconnaissance des objets par le réseau neuronal ; assez ; dans une catégorie spécifique. Il y a trop d'images Google, ce qui entraîne un faible score de précision pour cette catégorie.
Avec une simple base de données, nous pouvons inclure les informations suivantes :
- Nom du fichier
- Chemin du fichier
- Annotation données
- tapez données
- Source de données (de l'environnement de production, Google, etc.)
- Type d'objet, nom et autres informations relatives à l'objet
La base de données est indispensable pour collecter des ensembles de données et outils de données statistiques. Cela nous aide à voir rapidement et facilement à quel point l'ensemble de données est équilibré et combien d'images de haute qualité se trouvent dans chaque catégorie (du point de vue du réseau neuronal). Avec des données comme celle présentée visuellement ci-dessous, nous pouvons les analyser plus rapidement et les comparer avec les résultats de reconnaissance pour découvrir la cause profonde de la faible précision
Le contenu qui doit être réécrit est : Un Le problème à noter est que la faible précision peut être due à un plus petit nombre d'images ou à une proportion plus élevée de Google Photos dans une certaine catégorie. En créant une telle base de données, le temps de production, de test et de recyclage du modèle peut être considérablement réduit. images Technologie, l'augmentation des données est le processus d'exécution de transformations simples ou complexes sur les données, par exemple par retournement ou transformation de style, nous pouvons améliorer la validité des données. L'ensemble de données efficace obtenu sur cette base ne nécessite pas de formation excessive. Comme le montre l'image ci-dessous, ce type de transformation de données peut être aussi simple que de simplement faire pivoter l'image de de 90
degrés, ou aussi complexe que d'ajouter une éruption solaire à l'image pour simuler une photo rétroéclairée ou une lumière parasite.En règle générale, ces conversions améliorées sont effectuées automatiquement. Par exemple, nous pouvons préparer une bibliothèque Python
spécifiquement pour l'augmentation des données. Actuellement, il existe deux types d'augmentation des données : Augmentation avant l'entraînement
- Avant le début du processus d'entraînement, les données sont augmentées et ajoutées au sous-ensemble d'entraînement. Bien entendu, nous ne pouvons effectuer de tels ajouts qu’après que l’ensemble de données ait été divisé en sous-ensembles de formation et de validation afin d’éviter les omissions de données mentionnées précédemment.
Amélioration en formation- utilise un cadre similaire à
- PyTorch
- technologie de transformation d'image intégrée. Il convient de noter que multiplier par dix la taille de l'ensemble de données ne rend pas le réseau neuronal dix fois plus efficace. En fait, cela peut effectivement rendre les performances du réseau moins bonnes qu’auparavant. Par conséquent, nous ne devons utiliser que les améliorations pertinentes pour les environnements de production. Par exemple, une caméra installée dans un bâtiment ne sera pas exposée à la pluie lorsqu’elle fonctionne normalement. Il n’est donc absolument pas nécessaire d’ajouter une amélioration « pluie » à l’image.
-
SmallKnot
Bien que pour ceux qui cherchent à appliquer l'IA aux entreprises, l'ensemble de données est la partie la moins excitante. Mais il est indéniable que les ensembles de données constituent une partie importante de tout projet de reconnaissance d’images. De plus, dans la plupart des projets de reconnaissance d’images, la gestion et l’organisation des ensembles de données prennent souvent beaucoup de temps à l’équipe. Enfin, résumons comment vous pouvez obtenir les meilleurs résultats de vos projets d'IA en éliminant correctement vos ensembles de données :
- Recadrez ou redimensionnez des images pour répondre aux exigences de votre réseau neuronal
- Collectez de vraies images en fonction des conditions météorologiques et d'éclairage
- Construisez des annotations basées sur les exigences du réseau neuronal
- Évitez d'utiliser toutes les images pour entraîner le réseau. Une partie doit être réservée aux tests
- Supprimez les images en double dans l'ensemble de données de validation pour éviter toute omission de données
- Créez une base de données pour diagnostiquer rapidement l'ensemble de données
- Utilisez l'augmentation des données le moins possible, pour augmenter le nombre d'images
Introduction au traducteur
Julian Chen, rédacteur de communauté 51CTO, a plus de dix ans d'expérience dans la mise en œuvre de projets informatiques et est doué pour la mise en œuvre interne et ressources et risques externes Gestion et contrôle, en mettant l'accent sur la diffusion des connaissances et de l'expérience en matière de sécurité des réseaux et de l'information.
Titre original : 7 étapes pour préparer un ensemble de données pour un projet d'IA basé sur l'image, auteur : Oleg Kokorin
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Ce site a rapporté le 27 juin que Jianying est un logiciel de montage vidéo développé par FaceMeng Technology, une filiale de ByteDance. Il s'appuie sur la plateforme Douyin et produit essentiellement du contenu vidéo court pour les utilisateurs de la plateforme. Il est compatible avec iOS, Android et. Windows, MacOS et autres systèmes d'exploitation. Jianying a officiellement annoncé la mise à niveau de son système d'adhésion et a lancé un nouveau SVIP, qui comprend une variété de technologies noires d'IA, telles que la traduction intelligente, la mise en évidence intelligente, l'emballage intelligent, la synthèse humaine numérique, etc. En termes de prix, les frais mensuels pour le clipping SVIP sont de 79 yuans, les frais annuels sont de 599 yuans (attention sur ce site : équivalent à 49,9 yuans par mois), l'abonnement mensuel continu est de 59 yuans par mois et l'abonnement annuel continu est de 59 yuans par mois. est de 499 yuans par an (équivalent à 41,6 yuans par mois) . En outre, le responsable de Cut a également déclaré que afin d'améliorer l'expérience utilisateur, ceux qui se sont abonnés au VIP d'origine

Améliorez la productivité, l’efficacité et la précision des développeurs en intégrant une génération et une mémoire sémantique améliorées par la récupération dans les assistants de codage IA. Traduit de EnhancingAICodingAssistantswithContextUsingRAGandSEM-RAG, auteur JanakiramMSV. Bien que les assistants de programmation d'IA de base soient naturellement utiles, ils ne parviennent souvent pas à fournir les suggestions de code les plus pertinentes et les plus correctes, car ils s'appuient sur une compréhension générale du langage logiciel et des modèles d'écriture de logiciels les plus courants. Le code généré par ces assistants de codage est adapté à la résolution des problèmes qu’ils sont chargés de résoudre, mais n’est souvent pas conforme aux normes, conventions et styles de codage des équipes individuelles. Cela aboutit souvent à des suggestions qui doivent être modifiées ou affinées pour que le code soit accepté dans l'application.

Pour en savoir plus sur l'AIGC, veuillez visiter : 51CTOAI.x Community https://www.51cto.com/aigc/Translator|Jingyan Reviewer|Chonglou est différent de la banque de questions traditionnelle que l'on peut voir partout sur Internet. nécessite de sortir des sentiers battus. Les grands modèles linguistiques (LLM) sont de plus en plus importants dans les domaines de la science des données, de l'intelligence artificielle générative (GenAI) et de l'intelligence artificielle. Ces algorithmes complexes améliorent les compétences humaines et stimulent l’efficacité et l’innovation dans de nombreux secteurs, devenant ainsi la clé permettant aux entreprises de rester compétitives. LLM a un large éventail d'applications. Il peut être utilisé dans des domaines tels que le traitement du langage naturel, la génération de texte, la reconnaissance vocale et les systèmes de recommandation. En apprenant de grandes quantités de données, LLM est capable de générer du texte

Les grands modèles linguistiques (LLM) sont formés sur d'énormes bases de données textuelles, où ils acquièrent de grandes quantités de connaissances du monde réel. Ces connaissances sont intégrées à leurs paramètres et peuvent ensuite être utilisées en cas de besoin. La connaissance de ces modèles est « réifiée » en fin de formation. À la fin de la pré-formation, le modèle arrête effectivement d’apprendre. Alignez ou affinez le modèle pour apprendre à exploiter ces connaissances et répondre plus naturellement aux questions des utilisateurs. Mais parfois, la connaissance du modèle ne suffit pas, et bien que le modèle puisse accéder à du contenu externe via RAG, il est considéré comme bénéfique de l'adapter à de nouveaux domaines grâce à un réglage fin. Ce réglage fin est effectué à l'aide de la contribution d'annotateurs humains ou d'autres créations LLM, où le modèle rencontre des connaissances supplémentaires du monde réel et les intègre.

L'apprentissage automatique est une branche importante de l'intelligence artificielle qui donne aux ordinateurs la possibilité d'apprendre à partir de données et d'améliorer leurs capacités sans être explicitement programmés. L'apprentissage automatique a un large éventail d'applications dans divers domaines, de la reconnaissance d'images et du traitement du langage naturel aux systèmes de recommandation et à la détection des fraudes, et il change notre façon de vivre. Il existe de nombreuses méthodes et théories différentes dans le domaine de l'apprentissage automatique, parmi lesquelles les cinq méthodes les plus influentes sont appelées les « Cinq écoles d'apprentissage automatique ». Les cinq grandes écoles sont l’école symbolique, l’école connexionniste, l’école évolutionniste, l’école bayésienne et l’école analogique. 1. Le symbolisme, également connu sous le nom de symbolisme, met l'accent sur l'utilisation de symboles pour le raisonnement logique et l'expression des connaissances. Cette école de pensée estime que l'apprentissage est un processus de déduction inversée, à travers les connaissances existantes.

L'ensemble de données ScienceAI Question Answering (QA) joue un rôle essentiel dans la promotion de la recherche sur le traitement du langage naturel (NLP). Des ensembles de données d'assurance qualité de haute qualité peuvent non seulement être utilisés pour affiner les modèles, mais également évaluer efficacement les capacités des grands modèles linguistiques (LLM), en particulier la capacité à comprendre et à raisonner sur les connaissances scientifiques. Bien qu’il existe actuellement de nombreux ensembles de données scientifiques d’assurance qualité couvrant la médecine, la chimie, la biologie et d’autres domaines, ces ensembles de données présentent encore certaines lacunes. Premièrement, le formulaire de données est relativement simple, et la plupart sont des questions à choix multiples. Elles sont faciles à évaluer, mais limitent la plage de sélection des réponses du modèle et ne peuvent pas tester pleinement la capacité du modèle à répondre aux questions scientifiques. En revanche, les questions et réponses ouvertes

Selon les informations de ce site le 1er août, SK Hynix a publié un article de blog aujourd'hui (1er août), annonçant sa participation au Global Semiconductor Memory Summit FMS2024 qui se tiendra à Santa Clara, Californie, États-Unis, du 6 au 8 août, présentant de nombreuses nouvelles technologies de produit. Introduction au Future Memory and Storage Summit (FutureMemoryandStorage), anciennement Flash Memory Summit (FlashMemorySummit) principalement destiné aux fournisseurs de NAND, dans le contexte de l'attention croissante portée à la technologie de l'intelligence artificielle, cette année a été rebaptisée Future Memory and Storage Summit (FutureMemoryandStorage) pour invitez les fournisseurs de DRAM et de stockage et bien d’autres joueurs. Nouveau produit SK hynix lancé l'année dernière

Editeur | KX Dans le domaine de la recherche et du développement de médicaments, il est crucial de prédire avec précision et efficacité l'affinité de liaison des protéines et des ligands pour le criblage et l'optimisation des médicaments. Cependant, les études actuelles ne prennent pas en compte le rôle important des informations sur la surface moléculaire dans les interactions protéine-ligand. Sur cette base, des chercheurs de l'Université de Xiamen ont proposé un nouveau cadre d'extraction de caractéristiques multimodales (MFE), qui combine pour la première fois des informations sur la surface des protéines, la structure et la séquence 3D, et utilise un mécanisme d'attention croisée pour comparer différentes modalités. alignement. Les résultats expérimentaux démontrent que cette méthode atteint des performances de pointe dans la prédiction des affinités de liaison protéine-ligand. De plus, les études d’ablation démontrent l’efficacité et la nécessité des informations sur la surface des protéines et de l’alignement des caractéristiques multimodales dans ce cadre. Les recherches connexes commencent par "S
