Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

JSON

Scopri come JSON semplifica i flussi di lavoro di IA e ML con scambio di dati continuo, configurazione dei modelli e applicazioni in tempo reale.

JSON, o JavaScript Object Notation, è un formato leggero, basato sul testo, utilizzato per memorizzare e trasportare dati. Progettato per essere facile da leggere e scrivere per l'uomo e altrettanto facile da analizzare e generare per le macchine, JSON è diventato lo standard di fatto per lo scambio di dati nell'informatica moderna. JSON è diventato lo standard di fatto per lo scambio di dati nell'informatica moderna. La sua natura indipendente dal linguaggio gli permette di di funzionare senza problemi in diversi ambienti di programmazione, rendendolo un tecnologia di base per applicazioni web e per complessi sistemi di sistemi di intelligenza artificiale (AI).

Struttura principale di JSON

I dati JSON sono organizzati in due strutture principali che rispecchiano i tipi di dati comuni presenti nella maggior parte dei linguaggi:

  • Oggetti: Si tratta di raccolte non ordinate di coppie chiave-valore racchiuse tra parentesi graffe {}. Nel contesto di AI, un oggetto potrebbe rappresentare i metadati di una singola immagine, dove le chiavi sono stringhe (ad esempio, "filename", "larghezza") e i valori sono i dati corrispondenti.
  • Array: Si tratta di elenchi ordinati di valori racchiusi tra parentesi quadre []. Gli array sono spesso utilizzati per memorizzare elenchi di previsioni, come ad esempio bounding box coordinate rilevate in un singolo fotogramma.

La sintassi è definita dallo standard standard ECMA-404, che garantisce la coerenza tra le diverse piattaforme. Per approfondire i diagrammi della sintassi, la documentazione ufficiale di JSON.org fornisce un riferimento completo.

Applicazioni nell'AI e nel Machine Learning

Nei flussi di lavoro dell 'apprendimento automatico (ML), JSON funge da un ponte fondamentale tra le varie fasi della pipeline, dalla preelaborazione dei dati alla distribuzione finale dei modelli. modelli. La sua versatilità gli consente di gestire i dati strutturati necessari per l'addestramento e gli output dinamici generati durante l'inferenza. generati durante l'inferenza.

Annotazioni sul set di dati

Uno degli usi più comuni di JSON in visione artificiale è la gestione annotazione dei dati. I benchmark più diffusi, come il set di dati COCO , utilizzano una struttura JSON specifica per mappare le immagini alle loro etichette corrispondenti. Un tipico file di annotazione contiene informazioni su immagini, categorie e annotazioni. annotazioni, dove ogni annotazione include l'ID della classe, la maschera di segmentazione e le coordinate del rettangolo di selezione.

Inferenza del modello e API

Quando un modello addestrato viene distribuito in produzione utilizzando tecniche di tecniche di model serving, spesso comunica con altri componenti software tramite un REST API. Ad esempio, un'applicazione potrebbe inviare un'immagine a un server che esegue Ultralytics YOLO11. Il server server elabora l'immagine e restituisce i risultati della predizione, le classi, e i dati sulla posizione, formattati come una stringa JSON. JSON. Questo output è facilmente utilizzabile da applicazioni frontend, database o sistemi di controllo robotico. sistemi di controllo robotico.

L'esempio seguente mostra come generare un output JSON da un risultato dell'inferenza, utilizzando il metodo ultralytics Pacchetto 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 e formati di dati correlati

Sebbene JSON sia molto diffuso, è importante distinguerlo da altri formati di serializzazione dei dati formati di serializzazione dei dati che si incontrano spesso nei progetti di ML.

  • YAML (YAML non è un linguaggio di markup): YAML è progettato per essere il più leggibile possibile e supporta i commenti, il che lo rende la scelta preferita per i file di configurazione. file di configurazione. Nell'ecosistema di Ultralytics , YAML è utilizzato per definire percorsi dei set di dati e di parametri, mentre JSON è preferito per l'interscambio di dati e le risposte API. JSON per l'interscambio di dati e le risposte API, grazie alla sua sintassi rigorosa e all'analisi più rapida.
  • XML (Linguaggio di marcatura estensibile): XML utilizza una struttura basata su tag simile a quella dell'HTML. Pur essendo robusto e in grado di supportare schemi complessi, è è molto più prolisso di JSON. Nelle moderne pipeline di deep learning, XML è stato in gran parte sostituito da JSON, anche se persiste nei sistemi legacy e in formati specifici come Pascal VOC per il rilevamento degli oggetti. il rilevamento degli oggetti.

Rilevanza negli stack di intelligenza artificiale moderni

L'adozione di JSON nell'IA si estende a librerie che vanno oltre la visione. Framework come TensorFlow.js consentono di salvare e caricare i modelli direttamente come file JSON, di apprendimento automatico basato su browser. Inoltre, i database NoSQL come MongoDB, che memorizzano i dati in documenti simili a JSON, sono sempre più utilizzati per gestire enormi laghi di dati non strutturati, necessari per per l'addestramento dei modelli di base.

Fornendo un formato standardizzato, leggero e leggibile, JSON semplifica la complessità dell'implementazione dei modelli e garantisce l'interoperabilità. modelli e garantisce l'interoperabilità tra i diversi strumenti tra i diversi strumenti che compongono il moderno ecosistema dell'intelligenza artificiale. Per gli sviluppatori interessati ad analizzare JSON all'interno di ambienti web ambienti web, la Mozilla Developer Network (MDN) offre un'ampia documentazione e tutorial.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora