JSON
Узнай, как JSON упрощает обмен данными в ИИ. Изучи экспорт предсказаний Ultralytics YOLO26 в JSON для бесшовной интеграции с API и развёртывания моделей.
JSON, или обозначение объектов JavaScript, — это легковесный текстовый формат для хранения и передачи данных. В сфере искусственного интеллекта и машинного обучения он служит универсальным стандартом обмена данными между серверами, веб-приложениями и системами инференса. Его структура, состоящая из пар «ключ—значение» и упорядоченных списков, удобна для чтения и записи человеком, а машины легко разбирают и создают такие данные. Поскольку JSON не зависит от языка программирования, он обеспечивает беспрепятственное взаимодействие между моделью, обученной в Python, и средой развертывания на JavaScript, C++ или Go.
JSON в конвейерах ИИ и развертывании#
При развертывании модели компьютерного зрения в рабочей среде она обычно взаимодействует с другими программными компонентами через REST API. Например, когда система видеонаблюдения отправляет видеокадр на сервер с моделью обнаружения объектов, сервер анализирует изображение и возвращает результаты. Вместо двоичного изображения сервер отправляет строку JSON, содержащую координаты ограничивающих рамок, названия обнаруженных классов и соответствующие оценки уверенности. Такой текстовый ответ легко обрабатывается интерфейсами мониторинга, мобильными приложениями или базами данных NoSQL, например MongoDB, для ведения журналов и аналитики.
Помимо инференса, JSON играет важную роль в структурировании данных для обучения. Популярный формат набора данных COCO использует комплексную схему JSON для определения путей к файлам изображений, информации о лицензиях и координатах аннотаций. Это отличается от других форматов, таких как формат YOLO TXT, в котором используются простые текстовые файлы с разделением пробелами. Расширенные инструменты на платформе Ultralytics часто используют JSON для управления сложными метаданными проектов и версиями наборов данных в облаке.
Преобразование предсказаний модели в JSON#
Современные фреймворки упрощают процесс сериализации данных, позволяя разработчикам экспортировать выходные данные модели непосредственно в JSON. Библиотека ultralytics предоставляет встроенные методы для сериализации результатов обнаружения, благодаря чему модели YOLO26 легко интегрировать в более крупные программные экосистемы.
В следующем примере показано, как выполнить инференс с моделью Ultralytics YOLO26 и преобразовать результаты обнаружения в стандартизированную строку JSON:
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.")JSON и связанные форматы#
Хотя JSON повсеместно используется в веб-разработке и проектировании API, важно отличать его от других форматов сериализации данных, часто встречающихся в рабочих процессах глубокого обучения.
- JSON и YAML: YAML разработан для максимальной удобочитаемости и поддерживает комментарии, поэтому его предпочитают для файлов конфигурации. Например, параметры настройки гиперпараметров или пути к наборам данных в Ultralytics задаются в файлах
.yaml. JSON строже, не поддерживает комментарии и обычно быстрее разбирается машинами, поэтому лучше подходит для передачи данных и ответов API. - JSON и XML: XML использует громоздкую структуру на основе тегов. Хотя когда-то он был стандартом для наборов данных, таких как Pascal VOC, в современных рабочих процессах операций машинного обучения (MLOps) его в значительной степени вытеснил JSON благодаря меньшему размеру файлов и более простому синтаксису.
Стандартизация и совместимость#
Широкое распространение JSON способствует совместимости различных инструментов. Используется ли он для экспорта масок сегментации экземпляров, хранения меток классификации изображений или настройки конвейера развертывания модели, JSON обеспечивает структурированность и доступность данных. Его роль распространяется и на GeoJSON — специализированный формат кодирования географических структур данных, который часто используется в анализе спутниковых изображений для отображения обнаруженных объектов по географическим координатам. Используя встроенную в Python библиотеку json, разработчики могут легко проверять, разбирать и изменять эти структуры данных для создания надежных приложений ИИ.









