JSON
了解 JSON 如何简化 AI 数据交换。发现如何将 Ultralytics YOLO26 的预测结果导出为 JSON,以便实现无缝 API 集成和模型部署。
JSON,即 JavaScript Object Notation,是一种用于存储和传输数据的轻量级、基于文本的格式。在人工智能和机器学习领域,它作为服务器、Web 应用程序和 inference engines 之间进行数据交换的通用标准。其由键值对和有序列表组成的结构,不仅易于人类阅读和编写,同时也方便机器进行解析和生成。由于它与语言无关,JSON 能够促进使用 Python 训练的模型与运行在 JavaScript、C++ 或 Go 上的部署环境之间实现无缝通信。
Link to this sectionAI 管道和部署中的 JSON#
当计算机视觉模型部署到生产环境时,它通常通过 REST API 与其他软件组件进行交互。例如,当监控系统将视频帧发送到运行 object detection 模型的服务器时,服务器会分析图像并返回结果。服务器不会发送二进制图像,而是返回一个包含 bounding boxes 坐标、检测到的类别名称及其相关的 confidence 分数的 JSON 字符串。这种基于文本的响应可以轻松地被前端仪表板、移动应用程序或像 MongoDB 这样的 NoSQL databases 用于日志记录和分析。
除了推理之外,JSON 对于构建 training data 也至关重要。流行的 COCO dataset 格式使用全面的 JSON 模式来定义图像文件路径、许可信息和标注坐标。这与使用简单空格分隔文本文件的 YOLO TXT 格式形成了鲜明对比。Ultralytics Platform 上的高级工具通常利用 JSON 在云端管理复杂的项目元数据和数据集版本控制。
Link to this section将模型预测转换为 JSON#
现代框架简化了 data serialization 的过程,允许开发者直接将模型输出导出为 JSON。ultralytics 库提供了内置方法来序列化检测结果,使得将 YOLO26 模型集成到更大的软件生态系统中变得非常直接。
以下示例演示了如何使用 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.")Link to this sectionJSON 与相关格式的比较#
虽然 JSON 在 web development 和 API 设计中随处可见,但将其与在 Deep Learning 工作流程中常见的其他数据序列化格式区分开来非常重要。
- JSON 与 YAML 的对比: YAML 专为最大限度地提高人类可读性而设计,并支持注释,使其成为配置文件的首选。例如,Ultralytics 中的 hyperparameter tuning 设置或数据集路径都是在
.yaml文件中定义的。JSON 则更为严格,不支持注释,且机器解析速度通常更快,因此更适合数据传输和 API 响应。 - JSON 与 XML 的对比: XML 使用冗长的基于标签的结构。虽然它曾经是 Pascal VOC 等数据集的标准,但由于 JSON 文件体积更小且语法更简洁,它在现代 Machine Learning Operations (MLOps) 中已基本被 JSON 取代。
Link to this section标准化与互操作性#
JSON 的广泛采用促进了不同工具之间的互操作性。无论是导出 instance segmentation 掩码、存储 image classification 标签,还是配置 model deployment 管道,JSON 都能确保数据保持结构化且易于访问。它的作用还扩展到了 GeoJSON,这是一种用于编码地理数据结构的特殊格式,经常在 satellite image analysis 中用于将检测到的物体映射到地理坐标上。通过利用 Python 内置的 json library,开发者可以轻松验证、解析和操作这些数据结构,从而构建稳健的 AI 应用程序。






