Glossar

JSON

Entdecke, wie JSON KI- und ML-Workflows durch nahtlosen Datenaustausch, Modellkonfiguration und Echtzeitanwendungen vereinfacht.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

JSON ( JavaScript Object Notation) ist ein leichtgewichtiges und für Menschen lesbares Datenformat, das häufig für den Datenaustausch verwendet wird, insbesondere in Webanwendungen und datengesteuerten Systemen. Seine Einfachheit und die leichte Verarbeitung durch Maschinen haben es zu einem Eckpfeiler der modernen Programmierung gemacht, auch im Bereich der Künstlichen Intelligenz (KI) und des Maschinellen Lernens (ML). JSON ermöglicht einen nahtlosen Datenaustausch, die Konfiguration von Modellen und effiziente Echtzeitanwendungen und ist damit ein unverzichtbares Werkzeug für Entwickler und Forscher. Es bietet eine standardisierte Methode zur Strukturierung von Daten, die sowohl Menschen als auch Computer leicht verstehen können, wie im offiziellen ECMA-404 JSON Data Interchange Standard definiert. Weitere Informationen findest du auch auf JSON.org.

Wesentliche Merkmale

Die Struktur von JSON besteht aus zwei grundlegenden Elementen:

  1. Schlüssel-Werte-Paare: Sammlungen von Name/Wert-Paaren, die in verschiedenen Programmiersprachen oft als Objekte, Wörterbücher oder assoziative Arrays bezeichnet werden. Der Schlüssel ist immer ein String und der Wert kann ein String, eine Zahl, ein Boolescher Wert, ein Array oder ein anderes JSON-Objekt sein.
  2. Geordnete Listen: Geordnete Abfolgen von Werten, bekannt als Arrays oder Listen. Die Werte in einem Array können jeden gültigen JSON-Datentyp haben.

Diese einfache Struktur macht es leicht, JSON-Dateien zu erstellen, zu lesen und zu ändern. JSON ist sprachunabhängig, d.h. es kann in verschiedenen Programmiersprachen verwendet werden, z.B. Python und Plattformen ohne Kompatibilitätsprobleme verwendet werden, was sie für verteilte Systeme und Microservices sehr vielseitig macht.

Anwendungen in KI und ML

JSON spielt in verschiedenen Aspekten von KI- und ML-Workflows eine entscheidende Rolle:

  • Modellkonfiguration: Während YAML aufgrund seiner besseren Lesbarkeit oft für komplexe Konfigurationen bevorzugt wird, wird JSON häufig in API-Aufrufen zur Angabe von Konfigurationsparametern oder in einfacheren Konfigurationsdateien verwendet.
  • Datenkommentare und Datensätze: In der Computer Vision (CV) ist JSON ein gängiges Format zur Speicherung von Anmerkungen für Aufgaben wie Objekterkennung und Bildsegmentierung. Annotationsdateien enthalten oft Listen von Objekten, die jeweils mit Klassenbezeichnungen, Bounding-Box-Koordinaten oder Segmentierungspolygonen im JSON-Format dargestellt werden. Viele Standarddatensätze wie COCO verwenden JSON für ihre Annotationsstruktur.
  • API-Kommunikation: JSON ist der De-facto-Standard für den Datenaustausch in Web-APIs, einschließlich derer, die in KI- und ML-Diensten verwendet werden. Bei der Interaktion mit KI-Modellen, die über Cloud-Computing-Plattformen oder spezielle Endpunkte mit Protokollen wie REST gehostet werden, werden Eingabedaten (z. B. Bild-URLs, Text) oft als JSON-Payload gesendet und die Vorhersagen des Modells (z. B. erkannte Objekte, Klassenwahrscheinlichkeiten, Konfidenzwerte) im JSON-Format zurückgegeben. Die Ultralytics Inference API verwendet JSON für die Formatierung von Anfragen und Antworten.
  • Speichern von Modellergebnissen: Die Ergebnisse der Modellinferenz oder -bewertung, wie z. B. vorhergesagte Klassen, Bounding Boxes oder Leistungskennzahlen wie die durchschnittliche Genauigkeit (mAP), können bequem in JSON-Dateien gespeichert werden. In diesem strukturierten Format lassen sich die Ergebnisse leicht analysieren und in größere MLOps-Pipelines integrieren.

Beispiele aus der realen Welt

Hier sind ein paar Beispiele, die die praktischen Anwendungen von JSON in KI und ML zeigen:

  1. Autonome Fahrzeuge: Sensordaten von Kameras, Lidar und Radar in selbstfahrenden Autos müssen oft verarbeitet und zwischen verschiedenen Systemkomponenten ausgetauscht werden. JSON kann verwendet werden, um diese Daten zu strukturieren und erkannte Objekte mit ihren Typen, Positionen, Geschwindigkeiten und Vertrauensstufen darzustellen, bevor sie in Entscheidungsalgorithmen eingespeist werden, die oft auf Deep-Learning-Modellen basieren. Unternehmen wie Waymo sind auf robuste Datenformate für ihre komplexen Systeme angewiesen.
  2. Ultralytics HUB: Bei der programmgesteuerten Interaktion mit Ultralytics HUB über die API werden bei Anfragen zum Starten von Trainingsaufträgen, zum Hochladen von Datensätzen oder zum Abrufen von Modellleistungsmetriken häufig Daten im JSON-Format gesendet und empfangen. Dies ermöglicht eine nahtlose Integration der HUB-Funktionen in benutzerdefinierte Workflows und Anwendungen.

JSON vs. andere Datenformate

Es ist hilfreich, JSON mit anderen gängigen Datenserialisierungsformaten zu vergleichen:

  • YAML (YAML Ain't Markup Language): YAML legt den Schwerpunkt auf die Lesbarkeit und wird häufig für Konfigurationsdateien verwendet (z. B. für die Definition von Modellarchitekturen oder Trainingsparametern). JSON kann zwar auch für die Konfiguration verwendet werden, aber die YAML-Syntax (mit Einrückung) gilt allgemein als sauberer und leichter lesbar für komplexe verschachtelte Strukturen. JSON wird in der Regel für den Datenaustausch über APIs bevorzugt, da es einfachere Parsingregeln hat und weit verbreitet ist.
  • XML (eXtensible Markup Language): XML ist eine weitere Auszeichnungssprache, mit der Dokumente in einem Format kodiert werden, das sowohl von Menschen als auch von Maschinen gelesen werden kann. Im Vergleich zu JSON ist XML aufgrund der Verwendung von abschließenden Tags ausführlicher und tendenziell komplexer zu parsen. JSON wird zwar immer noch in Unternehmenssystemen und speziellen Standards wie SOAP verwendet, hat aber aufgrund seiner Einfachheit und seines geringeren Aufwands XML in Webanwendungen und modernen APIs weitgehend ersetzt.

Zusammenfassend lässt sich sagen, dass JSON aufgrund seiner Leichtigkeit, der menschlichen Lesbarkeit und der einfachen Verarbeitung ein sehr effektives und weit verbreitetes Format für die Strukturierung und den Austausch von Daten in KI- und ML-Systemen ist, insbesondere für die API-Kommunikation und die Speicherung strukturierter Ergebnisse. Seine Kompatibilität mit verschiedenen Programmiersprachen sorgt für eine reibungslose Integration in verschiedene Technologie-Stacks, von der Datenkommentierung und Datenvorverarbeitung bis hin zur endgültigen Modellbereitstellung mit Tools wie Ultralytics YOLO.

Alles lesen