JSON
Aprende cómo JSON agiliza el intercambio de datos de IA. Descubre cómo exportar predicciones de Ultralytics YOLO26 a JSON para una integración de API y despliegue de modelos fluidos.
JSON, o JavaScript Object Notation, es un formato ligero basado en texto que se utiliza para almacenar y transportar datos. En el ámbito de la inteligencia artificial y el aprendizaje automático, sirve como estándar universal para el intercambio de datos entre servidores, aplicaciones web y motores de inferencia. Su estructura, compuesta por pares de clave-valor y listas ordenadas, es fácil de leer y escribir para los humanos, además de ser sencilla de analizar y generar para las máquinas. Dado que es independiente del lenguaje, JSON facilita una comunicación fluida entre un modelo entrenado en Python y un entorno de implementación que ejecuta JavaScript, C++ o Go.
Link to this sectionJSON en pipelines de IA y despliegue#
Cuando un modelo de visión artificial se despliega en producción, normalmente interactúa con otros componentes de software a través de una REST API. Por ejemplo, cuando un sistema de vigilancia envía un fotograma de vídeo a un servidor que ejecuta un modelo de detección de objetos, el servidor analiza la imagen y devuelve los resultados. En lugar de devolver una imagen binaria, el servidor responde con una cadena JSON que contiene las coordenadas de los cuadros delimitadores, los nombres de las clases detectadas y sus puntuaciones de confianza asociadas. Esta respuesta basada en texto es consumida fácilmente por paneles de control frontend, aplicaciones móviles o bases de datos NoSQL como MongoDB para el registro y el análisis.
Más allá de la inferencia, JSON es fundamental para estructurar los datos de entrenamiento. El popular formato del conjunto de datos COCO utiliza un esquema JSON completo para definir rutas de archivos de imagen, información de licencias y coordenadas de anotación. Esto contrasta con otros formatos como el formato TXT de YOLO, que utiliza archivos de texto simples separados por espacios. Las herramientas avanzadas en la Plataforma Ultralytics suelen utilizar JSON para gestionar metadatos de proyectos complejos y el versionado de conjuntos de datos en la nube.
Link to this sectionConversión de predicciones de modelos a JSON#
Los frameworks modernos simplifican el proceso de serialización de datos, permitiendo a los desarrolladores exportar las salidas del modelo directamente a JSON. La biblioteca ultralytics proporciona métodos integrados para serializar resultados de detección, lo que facilita la integración de modelos YOLO26 en ecosistemas de software más grandes.
El siguiente ejemplo demuestra cómo ejecutar la inferencia con un modelo YOLO26 y convertir los resultados de la detección en una cadena JSON estandarizada:
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.")Link to this sectionJSON frente a formatos relacionados#
Aunque JSON es omnipresente en el desarrollo web y el diseño de API, es importante distinguirlo de otros formatos de serialización de datos que se encuentran habitualmente en los flujos de trabajo de Deep Learning.
- JSON frente a YAML: YAML está diseñado para una máxima legibilidad humana y admite comentarios, lo que lo convierte en la opción preferida para archivos de configuración. Por ejemplo, los ajustes de ajuste de hiperparámetros o las rutas de conjuntos de datos en Ultralytics se definen en archivos
.yaml. JSON es más estricto, no admite comentarios y, por lo general, es más rápido de analizar para las máquinas, por lo que es más adecuado para la transmisión de datos y las respuestas de API. - JSON frente a XML: XML utiliza una estructura detallada basada en etiquetas. Aunque en su día fue el estándar para conjuntos de datos como Pascal VOC, ha sido sustituido en gran medida por JSON en las operaciones de aprendizaje automático (MLOps) modernas debido al menor tamaño de archivo y a la sintaxis más sencilla de JSON.
Link to this sectionEstandarización e interoperabilidad#
La adopción generalizada de JSON fomenta la interoperabilidad entre diversas herramientas. Ya sea para exportar máscaras de segmentación de instancias, almacenar etiquetas de clasificación de imágenes o configurar un pipeline de despliegue de modelos, JSON garantiza que los datos permanezcan estructurados y accesibles. Su función se extiende a GeoJSON, un formato especializado para codificar estructuras de datos geográficos, que se utiliza frecuentemente en el análisis de imágenes por satélite para mapear objetos detectados en coordenadas geográficas. Al aprovechar la biblioteca json integrada de Python, los desarrolladores pueden validar, analizar y manipular fácilmente estas estructuras de datos para crear aplicaciones de IA robustas.






