Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

Data Preprocessing

Le prétraitement des données transforme les tableaux, textes et images bruts en entrées propres, mises à l’échelle et au format fixe qu’attend un modèle. Découvre les étapes courantes, les règles contre les fuites de données et le code.

Le prétraitement des données désigne l’ensemble des transformations qui convertissent les données brutes en entrées numériques propres et formatées de manière cohérente, comme l’attend un modèle d’apprentissage automatique (ML), en appliquant les mêmes opérations pendant l’entraînement et l’inférence. Pour les données tabulaires, il consiste à gérer les valeurs manquantes, à encoder les catégories sous forme de nombres et à mettre les caractéristiques à l’échelle. Pour les images, il consiste à décoder les fichiers, à les redimensionner aux dimensions d’entrée du réseau, à ordonner les canaux de couleur et à mettre les valeurs des pixels à l’échelle. Le prétraitement fait effectivement partie du modèle : un réseau entraîné sur des images RGB dont les valeurs sont ramenées entre 0 et 1 produit des prédictions peu fiables s’il reçoit des images BGR avec des valeurs allant de 0 à 255, même si ses poids n’ont pas changé.

Étapes courantes de prétraitement#

  • Nettoyage des données : Suppression des doublons, des fichiers corrompus et des valeurs impossibles, et correction des étiquettes ou unités incohérentes.
  • Imputation : Remplacement des valeurs manquantes par une statistique comme la médiane de la colonne, une estimation basée sur un modèle ou une catégorie « manquant » distincte, ou suppression des lignes comportant trop de lacunes.
  • Encodage : Conversion des catégories en nombres, avec un encodage one-hot pour les catégories sans ordre, comme les couleurs, des codes ordinaux pour celles qui ont un ordre, comme les tailles, et des indices entiers pour les noms de classes.
  • Mise à l’échelle et normalisation : La mise à l’échelle min-max ramène une caractéristique dans l’intervalle 0–1, et la standardisation soustrait la moyenne puis divise par l’écart-type. Ainsi, une caractéristique mesurée en millimètres ne prend pas le dessus sur une caractéristique mesurée en mètres dans les modèles fondés sur la distance, et la descente de gradient converge plus rapidement. De nombreux modèles préentraînés sur ImageNet dans torchvision attendent que chaque canal RGB soit standardisé avec les moyennes 0.485, 0.456 et 0.406, et les écarts-types 0.229, 0.224 et 0.225.
  • Redimensionnement : Mise de chaque image aux dimensions d’entrée du réseau, par étirement, recadrage centré ou ajout de bordures, méthode qui redimensionne l’image pour l’adapter puis complète l’espace restant afin que les objets conservent leurs proportions.
  • Tokenisation : Découpage du texte en jetons et attribution à chacun d’un identifiant entier issu d’un vocabulaire fixe.

Des étapes propres à chaque domaine viennent s’y ajouter. Les scanners CT appliquent une fenêtre qui associe une plage d’unités Hounsfield, par exemple celle qui fait ressortir le tissu pulmonaire, aux intensités d’affichage reçues par le modèle ; l’audio est rééchantillonné à une fréquence fixe et souvent converti en spectrogramme.

Ajuster sur les données d’entraînement, appliquer partout#

Les statistiques utilisées lors du prétraitement, comme les moyennes et les écarts-types des caractéristiques, les valeurs d’imputation et les vocabulaires de catégories, sont calculées uniquement sur le sous-ensemble d’entraînement, enregistrées, puis appliquées sans modification aux données de validation, de test et de production. Les calculer sur l’ensemble du jeu de données avant de le diviser permet aux informations de l’ensemble de test d’influencer les entrées d’entraînement : c’est une forme de fuite de données qui gonfle les scores d’évaluation. Un Pipeline scikit-learn impose cette règle en ajustant ses étapes de prétraitement uniquement sur les données transmises à fit. L’application d’un prétraitement différent au moment du service, par exemple une autre méthode de redimensionnement ou un autre décodeur d’images, entraîne un décalage entre entraînement et service : le modèle obtient de bons scores hors ligne, mais des résultats moins bons en production.

Prétraitement des images pour les modèles de vision#

Les modèles d’images nécessitent un format de tenseur fixe. OpenCV décode les images sous forme de tableaux hauteur × largeur × canaux contenant des entiers de 8 bits dans l’ordre BGR, tandis que les réseaux PyTorch attendent des lots de tenseurs à virgule flottante au format RGB, avec les canaux en première dimension. Dans Ultralytics, YOLO26 effectue automatiquement la prédiction en suivant ces étapes : il redimensionne chaque image pour que son côté le plus long corresponde à imgsz (640 pixels par défaut), sans la déformer, ajoute des pixels gris de valeur 114 pour obtenir un carré de 640 × 640 dans le cas des modèles exportés à forme fixe, ou complète seulement jusqu’au multiple suivant du pas de 32 pixels pour les modèles PyTorch, convertit l’ordre des canaux de BGR en RGB, réorganise le tableau pour placer les canaux en première position et divise les valeurs par 255. Le script ci-dessous, qui utilise OpenCV et NumPy, effectue manuellement le letterboxing carré :

import urllib.request

import cv2
import numpy as np

# Download a sample photo and read it as a BGR uint8 array of shape (height, width, 3)
urllib.request.urlretrieve("https://ultralytics.com/images/bus.jpg", "bus.jpg")
image = cv2.imread("bus.jpg")

# Resize so the longer side is 640 pixels, keeping the aspect ratio
scale = 640 / max(image.shape[:2])
resized = cv2.resize(image, None, fx=scale, fy=scale, interpolation=cv2.INTER_LINEAR)

# Letterbox: center the resized image on a 640x640 canvas of gray (114) padding
canvas = np.full((640, 640, 3), 114, dtype=np.uint8)
top, left = (640 - resized.shape[0]) // 2, (640 - resized.shape[1]) // 2
canvas[top : top + resized.shape[0], left : left + resized.shape[1]] = resized

# Reorder BGR to RGB and HWC to CHW, scale pixels to 0-1, and add a batch dimension
tensor = canvas[:, :, ::-1].transpose(2, 0, 1).astype(np.float32) / 255.0
batch = tensor[None]
print(f"{image.shape} uint8 -> {batch.shape} float32 in [{batch.min():.1f}, {batch.max():.1f}]")

Le script affiche (1080, 810, 3) uint8 -> (1, 3, 640, 640) float32 in [0.0, 1.0] : la photo de 1080 × 810 devient un lot d’une seule image, dans la disposition et la plage de valeurs attendues par un détecteur PyTorch, avec des bandes grises qui remplissent les 80 pixels de chaque côté.

  • Étiquetage des données : Création des cibles de vérité terrain, comme les classes et les boîtes, que le prétraitement convertit ensuite au format numérique lu par l’entraînement.
  • Ingénierie des caractéristiques : Création de nouvelles variables d’entrée à partir de connaissances du domaine, comme l’indice de masse corporelle calculé à partir des colonnes de taille et de poids.
  • Normalisation par lots : Couche du réseau qui standardise les activations intermédiaires pendant l’entraînement et l’inférence. La normalisation des entrées lors du prétraitement ne s’effectue qu’une fois, avant que les données n’atteignent le réseau.
  • Augmentation des données : Transformations aléatoires, comme les retournements, les changements de couleur et les mosaïques, appliquées uniquement pendant l’entraînement pour créer des variantes de chaque exemple. Le prétraitement est déterministe et identique à l’entraînement et à l’inférence.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique