Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

JSON

JSON es un formato de texto compuesto por objetos, matrices y valores que se utiliza para API, anotaciones y salidas de modelos. Reglas de sintaxis, usos en ML, JSON Lines y código.

JSON, abreviatura de notación de objetos de JavaScript, es un formato ligero basado en texto para almacenar e intercambiar datos estructurados. Douglas Crockford lo especificó a principios de la década de 2000 basándose en la sintaxis de literales de objeto de JavaScript, y ahora está estandarizado como RFC 8259 del IETF y ECMA-404. JSON es independiente del lenguaje, legible para las personas y se puede analizar con la biblioteca estándar de casi todos los lenguajes de programación, lo que lo convierte en el formato predeterminado para las API web. En aprendizaje automático (ML), transporta predicciones desde los motores de inferencia, almacena anotaciones de conjuntos de datos, registra metadatos de experimentos y define las salidas estructuradas de los grandes modelos de lenguaje (LLM).

Sintaxis de JSON#

Un documento JSON se compone de dos contenedores y cuatro tipos de valores:

  • Objetos: Conjuntos desordenados de pares clave-valor entre llaves, como {"name": "bus", "confidence": 0.94}. Las claves deben ser cadenas entre comillas dobles.
  • Matrices: Listas ordenadas entre corchetes, como [48.5, 398.0, 245.3, 902.1].
  • Valores: Cadenas, números, los literales true, false y null, u objetos y matrices anidados.

El formato es estricto. No se permiten comentarios, comas finales, cadenas entre comillas simples ni los valores NaN y Infinity, aunque el módulo json de Python escribe NaN de forma predeterminada, a menos que se establezca allow_nan=False, lo que genera archivos que los analizadores estrictos rechazan. La RFC 8259 también advierte que los números solo se intercambian de forma fiable dentro del rango de precisión doble de IEEE 754, por lo que los enteros mayores que 2⁵³ − 1, como algunos identificadores de bases de datos, suelen enviarse como cadenas.

JSON en los flujos de trabajo de aprendizaje automático#

Cuando una cámara de un sistema de seguridad envía un fotograma a un servicio de detección de objetos, la capa de servicio de modelos suele responder con JSON: un registro por cada objeto detectado, con su clase, puntuación de confianza y coordenadas de la caja delimitadora, listo para paneles, aplicaciones móviles y bases de datos documentales como MongoDB.

Los formatos de anotación también se basan en JSON. El conjunto de datos COCO almacena todas las etiquetas de una partición en un único archivo JSON con tres listas principales: images, con los nombres y tamaños de los archivos; categories, con los identificadores y nombres de las clases; y annotations, donde cada entrada apunta a una imagen y una categoría mediante su identificador y almacena una caja como [x, y, width, height] en píxeles desde la esquina superior izquierda. En cambio, el formato YOLO utiliza un archivo de texto por imagen con coordenadas centrales normalizadas, y convertir de un formato a otro es un paso habitual en las canalizaciones de anotación de datos, aunque una clase de conjunto de datos personalizada también puede entrenar YOLO directamente con JSON de COCO.

JSON Lines, también llamado NDJSON, coloca un objeto JSON completo en cada línea. Así, se puede añadir contenido a los archivos, transmitirlos y dividirlos sin analizar el documento entero, algo adecuado para registros de entrenamiento, flujos de predicciones y conjuntos de datos de instrucciones que se usan para ajustar LLM. En el caso de los LLM, JSON Schema describe los campos exactos que espera una aplicación, y las salidas estructuradas y la llamada a funciones restringen el modelo para que genere JSON que se ajuste a ese esquema. GeoJSON, estandarizado como RFC 7946, aplica el formato a entidades geográficas, lo que permite que el análisis de imágenes por satélite sitúe las detecciones en un mapa.

Convertir predicciones a JSON#

Los objetos Results de Ultralytics YOLO serializan sus predicciones con to_json() y escriben un registro por detección con el nombre de clase, el identificador de clase, la confianza y las esquinas de la caja x1, y1, x2, y2, además de las coordenadas de máscara o puntos clave para los modelos de segmentación de instancias y estimación de pose. El siguiente ejemplo ejecuta YOLO26 en una imagen de muestra y vuelve a analizar el JSON con la biblioteca estándar de Python:

import json

from ultralytics import YOLO

# Carga un modelo de detección YOLO26 preentrenado y ejecuta la inferencia
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]

# Serializa cada detección en una cadena JSON (normalize=True escalaría las cajas de 0 a 1)
json_string = result.to_json()

# Cualquier analizador JSON puede leerlo; aquí, lo convierte en una lista de diccionarios de Python
detections = json.loads(json_string)
print(json.dumps(detections[0], indent=2))

El registro impreso es un objeto JSON con las claves name, class y confidence, además de un objeto anidado box que contiene las coordenadas de las esquinas en píxeles.

  • YAML: Un formato más legible que permite comentarios y anidamiento basado en la indentación, habitual en las configuraciones de entrenamiento y las definiciones de conjuntos de datos. YAML 1.2 está diseñado como un superconjunto de JSON, por lo que la mayoría de los documentos JSON son YAML válido.
  • XML: Un formato basado en etiquetas, utilizado para las anotaciones Pascal VOC, más extenso que JSON y compatible con atributos, espacios de nombres y esquemas.
  • CSV: Un formato de tabla plana y compacto para datos tabulares, pero que no permite anidar objetos ni listas.
  • Formatos binarios: Protocol Buffers y MessagePack son más compactos y rápidos de analizar que JSON, pero no son legibles para las personas. Los archivos de modelos ONNX se almacenan como mensajes Protocol Buffers.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático