JSON
Apprends comment JSON simplifie l’échange de données d’IA. Découvre comment exporter les prédictions d’Ultralytics YOLO26 vers JSON pour une intégration fluide à une API et un déploiement de modèles.
JSON, ou JavaScript Object Notation, est un format léger basé sur du texte, utilisé pour stocker et transporter des données. Dans le domaine de l'intelligence artificielle et de l'apprentissage automatique, il sert de standard universel pour l'échange de données entre les serveurs, les applications web et les moteurs d'inférence. Sa structure, composée de paires clé-valeur et de listes ordonnées, est facile à lire et à écrire pour les humains, tout en étant aisément analysable et générable par les machines. Comme il est indépendant du langage, JSON facilite la communication fluide entre un modèle entraîné en Python et un environnement de déploiement exécutant JavaScript, C++ ou Go.
JSON dans les pipelines d'IA et le déploiement#
Lorsqu'un modèle de vision par ordinateur est déployé en production, il interagit généralement avec d'autres composants logiciels via une REST API. Par exemple, lorsqu'un système de surveillance envoie une image vidéo à un serveur exécutant un modèle de détection d'objets, le serveur analyse l'image et renvoie les résultats. Au lieu de renvoyer une image binaire, le serveur répond avec une chaîne JSON contenant les coordonnées des boîtes englobantes, les noms des classes détectées et leurs scores de confiance associés. Cette réponse textuelle peut facilement être exploitée par des tableaux de bord frontend, des applications mobiles ou des bases de données NoSQL comme MongoDB pour la journalisation et l'analyse.
Au-delà de l'inférence, JSON est essentiel pour structurer les données d'entraînement. Le format populaire du jeu de données COCO utilise un schéma JSON complet pour définir les chemins des fichiers image, les informations de licence et les coordonnées des annotations. Il se distingue d'autres formats comme le format YOLO TXT, qui utilise de simples fichiers texte avec des valeurs séparées par des espaces. Les outils avancés de la plateforme Ultralytics utilisent souvent JSON pour gérer dans le cloud les métadonnées de projets complexes et le versionnage des jeux de données.
Conversion des prédictions de modèles en JSON#
Les frameworks modernes simplifient le processus de sérialisation des données, ce qui permet aux développeurs d'exporter directement les sorties des modèles au format JSON. La bibliothèque ultralytics fournit des méthodes intégrées pour sérialiser les résultats de détection, ce qui facilite l'intégration des modèles YOLO26 dans des écosystèmes logiciels plus vastes.
L'exemple suivant montre comment exécuter l'inférence avec un modèle Ultralytics YOLO26 et convertir les résultats de détection en une chaîne JSON standardisée :
import json
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Convert the first result object to a JSON string
# This serializes boxes, classes, and confidence scores
json_output = results[0].tojson()
# Parse back to a dict to verify structure
data = json.loads(json_output)
print(f"Detected {len(data)} objects.")JSON et formats associés#
Bien que JSON soit omniprésent dans le développement web et la conception d'API, il est important de le distinguer des autres formats de sérialisation des données couramment rencontrés dans les workflows de Deep Learning.
- JSON et YAML : YAML est conçu pour être parfaitement lisible par les humains et prend en charge les commentaires, ce qui en fait le choix privilégié pour les fichiers de configuration. Par exemple, les paramètres de réglage des hyperparamètres ou les chemins des jeux de données dans Ultralytics sont définis dans des fichiers
.yaml. JSON est plus strict, ne prend pas en charge les commentaires et est généralement plus rapide à analyser pour les machines, ce qui le rend mieux adapté à la transmission de données et aux réponses d'API. - JSON et XML : XML utilise une structure verbeuse fondée sur des balises. Bien qu'il ait autrefois été le standard pour des jeux de données comme Pascal VOC, il a été en grande partie supplanté par JSON dans les workflows modernes de Machine Learning Operations (MLOps), en raison de la taille de fichier réduite et de la syntaxe plus simple de JSON.
Standardisation et interopérabilité#
L'adoption généralisée de JSON favorise l'interopérabilité entre des outils variés. Qu'il s'agisse d'exporter des masques de segmentation d'instances, de stocker des labels de classification d'images ou de configurer un pipeline de déploiement de modèle, JSON garantit que les données restent structurées et accessibles. Son rôle s'étend à GeoJSON, un format spécialisé dans l'encodage des structures de données géographiques, fréquemment utilisé dans l'analyse d'images satellite pour projeter les objets détectés sur des coordonnées géographiques. En s'appuyant sur la bibliothèque json intégrée à Python, les développeurs peuvent facilement valider, analyser et manipuler ces structures de données afin de créer des applications d'IA robustes.









