Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

JSON

Descubra cómo JSON simplifica los flujos de trabajo de IA y ML con un intercambio de datos fluido, la configuración de modelos y las aplicaciones en tiempo real.

JSON, o JavaScript Object Notation, es un formato ligero basado en texto que se utiliza para almacenar y transportar datos. JSON se ha convertido en el estándar de facto para el intercambio de datos en la informática moderna. JSON se ha convertido en el estándar de facto para el intercambio de datos en la informática moderna. Su naturaleza independiente del lenguaje le permite funcionar sin problemas en diversos entornos de programación, lo que lo convierte en una piedra angular de las aplicaciones web y sistemas complejos de sistemas complejos de Inteligencia Artificial (IA).

Estructura básica de JSON

Los datos JSON se organizan en dos estructuras principales que reflejan los tipos de datos comunes que se encuentran en la mayoría de los lenguajes:

  • Objetos: Son colecciones desordenadas de pares clave-valor encerradas entre llaves. {}. En el contexto de la IA, un objeto puede representar los metadatos de una imagen, donde las claves son cadenas (por ejemplo, "nombre de archivo", "anchura") y los valores son los datos correspondientes.
  • Arrays: Se trata de listas ordenadas de valores entre corchetes []. Las matrices se utilizan con frecuencia para almacenar listas de predicciones, como múltiples bounding box coordenadas detectadas en un fotograma.

La sintaxis se define en la norma norma ECMA-404, lo que garantiza la coherencia entre distintas plataformas. Para profundizar en los diagramas sintácticos, la documentación oficial de JSON.org ofrece una referencia completa.

Aplicaciones en IA y Machine Learning

En los flujos de trabajo de aprendizaje automático (ML), JSON sirve puente fundamental entre las distintas fases del proceso, desde el preprocesamiento de datos hasta el despliegue final de modelos. Su versatilidad le permite manejar los datos estructurados necesarios para el entrenamiento y los resultados dinámicos generados durante la inferencia.

Anotaciones del conjunto de datos

Uno de los usos más comunes de JSON en visión por computador es el manejo de la anotación de datos. Los puntos de referencia más populares, como el conjunto de datos COCO , utilizan una estructura JSON específica para asignar imágenes a sus etiquetas correspondientes. Un archivo de anotación típico contiene información sobre imágenes, categorías y anotaciones. donde cada anotación incluye el ID de clase, la máscara de segmentación y las coordenadas del cuadro delimitador.

Inferencia de modelos y API

Cuando un modelo entrenado se despliega en producción utilizando técnicas de servicio de modelos, suele comunicarse otros componentes de software a través de una REST API. Por ejemplo, una aplicación puede enviar una imagen a un servidor que ejecute Ultralytics YOLO11. El servidor servidor procesa la imagen y devuelve los resultados de la predicción -clases puntuaciones de confianza y datos de ubicación, en formato JSON JSON. Esta salida es fácilmente consumida por aplicaciones frontales, bases de datos o sistemas de control robótico. sistemas de control robótico.

El siguiente ejemplo muestra cómo generar una salida JSON a partir de un resultado de inferencia utilizando la función ultralytics Paquete Python :

from ultralytics import YOLO

# Load the YOLO11 model
model = YOLO("yolo11n.pt")

# Run inference on a sample image
results = model("https://ultralytics.com/images/bus.jpg")

# Convert the first result object to a JSON string
# This serializes detection data including boxes, classes, and confidence
print(results[0].tojson())

JSON frente a formatos de datos relacionados

Aunque JSON es omnipresente, es importante distinguirlo de otros formatos de serialización de datos que suelen encontrarse en los proyectos de ML. formatos de serialización de datos que se encuentran a menudo en proyectos de ML.

  • YAML (YAML no es un lenguaje de marcado): YAML está diseñado para ser lo más legible posible y admite comentarios, por lo que es la opción preferida para los archivos de configuración. archivos de configuración. En el ecosistema Ultralytics , YAML se utiliza para definir rutas de conjuntos de datos y ajuste de hiperparámetros, mientras que JSON se para el intercambio de datos y las respuestas de la API, debido a su sintaxis estricta y a un análisis más rápido.
  • XML (Lenguaje de marcado extensible): XML utiliza una estructura basada en etiquetas similar a HTML. Aunque es robusto y admite esquemas complejos, es significativamente más verboso que JSON. En los tuberías de aprendizaje profundo, XML está siendo JSON, aunque persiste en sistemas heredados y formatos específicos como Pascal VOC para la detección de objetos. detección de objetos.

Relevancia en las modernas pilas de IA

La adopción de JSON en la IA se extiende a las bibliotecas más allá de la visión. Frameworks como TensorFlow.js permiten guardar y cargar modelos directamente como archivos JSON, lo que permite el aprendizaje automático basado en navegador. Además, las bases de datos NoSQL como MongoDB, que almacenan datos en documentos similares a JSON, se utilizan cada vez más para gestionar grandes lagos de datos no estructurados. lagos de datos no estructurados necesarios para la formación de modelos básicos.

Al proporcionar un formato estandarizado, ligero y legible, JSON simplifica la complejidad del despliegue de modelos y garantiza la interoperabilidad. despliegue de modelos y garantiza la interoperabilidad entre las diversas herramientas que componen el ecosistema moderno de la IA. Para los desarrolladores interesados en analizar JSON en entornos web en entornos web, la Red de desarrolladores de Mozilla (MDN) ofrece extensos tutoriales y documentación.

Únase a la comunidad Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora