JSON
Tìm hiểu cách JSON hợp lý hóa việc trao đổi dữ liệu AI. Khám phá cách xuất dự đoán của Ultralytics YOLO26 sang JSON để tích hợp API liền mạch và triển khai model.
JSON, hay JavaScript Object Notation, là một định dạng gọn nhẹ, dựa trên văn bản được sử dụng để lưu trữ và truyền tải dữ liệu. Trong lĩnh vực trí tuệ nhân tạo và học máy, nó đóng vai trò là một tiêu chuẩn phổ quát cho việc trao đổi dữ liệu giữa các máy chủ, ứng dụng web và inference engines. Cấu trúc của nó, bao gồm các cặp khóa-giá trị và danh sách có thứ tự, giúp con người dễ dàng đọc và viết trong khi vẫn giúp máy tính phân tích và tạo dữ liệu một cách hiệu quả. Vì độc lập với ngôn ngữ lập trình, JSON tạo điều kiện thuận lợi cho việc giao tiếp liền mạch giữa một model được huấn luyện bằng Python và môi trường triển khai chạy trên JavaScript, C++ hoặc Go.
Link to this sectionJSON trong các AI Pipeline và Triển khai#
Khi một model computer vision được đưa vào sản xuất, nó thường tương tác với các thành phần phần mềm khác thông qua REST API. Ví dụ, khi một hệ thống giám sát gửi một khung hình video đến máy chủ đang chạy model object detection, máy chủ sẽ phân tích hình ảnh và trả về kết quả. Thay vì gửi lại hình ảnh nhị phân, máy chủ phản hồi bằng một chuỗi JSON chứa tọa độ của các bounding boxes, tên lớp được phát hiện và điểm confidence liên quan. Phản hồi dựa trên văn bản này dễ dàng được tiêu thụ bởi các bảng điều khiển frontend, ứng dụng di động hoặc NoSQL databases như MongoDB để phục vụ mục đích ghi nhật ký và phân tích.
Ngoài việc inference, JSON rất quan trọng để cấu trúc training data. Định dạng COCO dataset phổ biến sử dụng một schema JSON toàn diện để xác định đường dẫn tệp hình ảnh, thông tin bản quyền và tọa độ chú thích. Điều này khác biệt với các định dạng khác như định dạng YOLO TXT, vốn sử dụng các tệp văn bản đơn giản phân cách bằng dấu cách. Các công cụ nâng cao trên Ultralytics Platform thường sử dụng JSON để quản lý siêu dữ liệu dự án phức tạp và kiểm soát phiên bản tập dữ liệu trên đám mây.
Link to this sectionChuyển đổi dự đoán của model sang JSON#
Các framework hiện đại đơn giản hóa quy trình data serialization, cho phép các nhà phát triển xuất đầu ra của model trực tiếp sang JSON. Thư viện ultralytics cung cấp các phương thức tích hợp sẵn để serialize kết quả phát hiện, giúp việc tích hợp các model YOLO26 vào các hệ sinh thái phần mềm lớn hơn trở nên đơn giản.
Ví dụ sau đây minh họa cách chạy inference với một model YOLO26 và chuyển đổi kết quả phát hiện thành một chuỗi JSON chuẩn hóa:
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 so với các định dạng liên quan#
Mặc dù JSON rất phổ biến trong web development và thiết kế API, nhưng cần phân biệt nó với các định dạng serialization dữ liệu khác thường gặp trong các quy trình Deep Learning.
- JSON so với YAML: YAML được thiết kế để con người đọc tối ưu nhất và hỗ trợ chú thích, khiến nó trở thành lựa chọn ưu tiên cho các tệp cấu hình. Ví dụ, các cài đặt hyperparameter tuning hoặc đường dẫn tập dữ liệu trong Ultralytics được xác định trong các tệp
.yaml. JSON nghiêm ngặt hơn, không hỗ trợ chú thích và thường nhanh hơn để máy tính phân tích, làm cho nó phù hợp hơn cho việc truyền tải dữ liệu và các phản hồi API. - JSON vs. XML: XML utilizes a verbose tag-based structure. While it was once the standard for datasets like Pascal VOC, it has largely been superseded by JSON in modern Machine Learning Operations (MLOps) due to JSON's smaller file size and simpler syntax.
Link to this sectionTiêu chuẩn hóa và Khả năng tương tác#
Việc áp dụng rộng rãi JSON thúc đẩy khả năng tương tác giữa các công cụ khác nhau. Cho dù là xuất các mặt nạ instance segmentation, lưu trữ nhãn image classification, hay cấu hình một pipeline model deployment, JSON đảm bảo rằng dữ liệu luôn có cấu trúc và dễ truy cập. Vai trò của nó mở rộng sang GeoJSON, một định dạng chuyên biệt để mã hóa các cấu trúc dữ liệu địa lý, thường được sử dụng trong satellite image analysis để ánh xạ các đối tượng được phát hiện lên tọa độ địa lý. Bằng cách tận dụng json library tích hợp sẵn của Python, các nhà phát triển có thể dễ dàng xác thực, phân tích và thao tác các cấu trúc dữ liệu này để xây dựng các ứng dụng AI mạnh mẽ.






