深圳Yolo 视觉
深圳
立即加入
词汇表

JSON

了解 JSON 如何通过无缝数据交换、模型配置和实时应用简化 AI 和 ML 工作流程。

JSON 或 JavaScript Object Notation 是一种轻量级、基于文本的格式,用于存储和传输数据。 JSON 在设计上既便于人类读写,又便于机器解析和生成,已成为现代计算中数据交换的事实标准。 已成为现代计算中数据交换的事实标准。它与语言无关的特性使其能 在各种编程环境中无缝运行,使其成为 基石技术 网络应用程序 和复杂的 人工智能(AI)系统的基石技术。

JSON 的核心结构

JSON 数据分为两种主要结构,它们反映了大多数语言中的常见数据类型:

  • 对象:这些是用大括号括起来的键值对的无序集合 {}.在 在人工智能的语境中,一个对象可能代表一张图像的元数据,其中键是字符串(如 "文件名"、"宽度 "和 "宽度"),值是相应的数据、 "宽度"),而值则是相应的数据。
  • 数组:这些是用方括号括起来的有序数值列表 [].数组常用于 存储预测列表,例如多个 边界框 在一个帧内检测到的 帧内检测到的坐标。

语法由 ECMA-404 标准定义、 确保不同平台的一致性。要深入了解语法图,官方的 JSON.org文档提供了全面的参考。

在 AI 和机器学习中的应用

机器学习(ML)工作流中,JSON 是连接管道不同阶段的重要桥梁,从 数据预处理到最终部署 模型之间的重要桥梁。JSON 的多功能性使其既能处理训练所需的结构化数据,又能处理推理过程中产生的动态输出。 推理过程中生成的动态输出。

数据集注释

JSON 在计算机视觉领域最常见的用途之一是 计算机视觉中最常见的用途之一就是处理 数据注释。流行的基准,如 COCO 数据集等流行基准利用特定的 JSON 结构将图像 将图像映射到相应的标签。典型的注释文件包含图像、类别和注释的相关信息。 注释,其中每个注释包括类别 ID、分割掩码和边界框坐标。

模型推理和应用程序接口

当使用模型服务技术将训练有素的模型部署到生产环境中时 当使用模型服务技术将训练有素的模型部署到生产环境中时,它通常 通过 REST API.例如,应用程序可能会 向运行 Ultralytics YOLO11.服务器 服务器处理图像并返回预测结果--类别、置信度分数和位置数据--格式为 JSON、 置信度分数和位置数据--格式为一个 JSON 字符串格式。前端应用程序、数据库或 机器人控制系统使用。

下面的示例演示了如何使用 ultralytics 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 与相关数据格式的对比

虽然 JSON 无处不在,但重要的是要将它与 ML 项目中经常遇到的其他 在 ML 项目中经常遇到的数据序列化格式。

  • YAML(YAML 不是标记语言):YAML 的设计最大限度地实现了人类可读性,并支持注释,因此成为了 配置文件的首选。在Ultralytics 生态系统中,YAML 用于定义 数据集路径和 超参数调整,而 JSON 则是数据交换和 API 响应的首选。 则因其严格的语法和更快的解析速度而成为数据交换和 API 响应的首选。
  • XML(可扩展标记语言):XML 采用基于标签的结构,类似于 HTML。虽然它功能强大并支持复杂的模式,但比 JSON 比 JSON 要啰嗦得多。在现代 在现代深度学习管道中,XML 在现代深度学习管道中,XML 在很大程度上被 JSON 所取代,尽管它在传统系统和特定格式(如用于对象检测的 PascalVOC )中仍然存在。 对象检测

现代人工智能堆栈的相关性

在人工智能领域,JSON 的应用已扩展到视觉库之外的其他库。像 TensorFlow.js等框架允许将模型直接保存和加载为 JSON 文件、 实现基于浏览器的机器学习。此外,像 MongoDB 等 NoSQL 数据库以类似 JSON 的文档形式存储数据,越来越多地用于 管理所需的海量非结构化数据湖。 训练基础模型所需的海量非结构化数据湖。

通过提供标准化、轻量级和可读的格式,JSON 简化了模型部署的复杂性,并确保了互操作性。 模型部署的复杂性,并确保构成现代人工智能生态系统的 的互操作性。对于有兴趣在网络环境中解析 JSON 的开发人员来说 环境中解析 JSON 的开发人员 Mozilla 开发者网络 (MDN) 提供了大量教程和文档。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入