JSON
Tìm hiểu cách JSON đơn giản hóa việc trao đổi dữ liệu AI. Khám phá cách export prediction của Ultralytics YOLO26 sang JSON để tích hợp API và triển khai model liền mạch.
JSON, hay Ký hiệu đối tượng JavaScript, là một định dạng dựa trên văn bản, gọn nhẹ, được 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à machine learning, JSON đóng vai trò là tiêu chuẩn chung để trao đổi dữ liệu giữa các server, ứng dụng web và inference engine. Cấu trúc của JSON, gồm các cặp khóa-giá trị và danh sách có thứ tự, dễ đọc và ghi đối với con người, đồng thời cho phép máy dễ dàng phân tích cú pháp và tạo dữ liệu. Vì độc lập với ngôn ngữ, JSON hỗ trợ giao tiếp liền mạch giữa 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.
JSON trong pipeline AI và triển khai#
Khi một model computer vision được triển khai vào môi trường production, model 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 server đang chạy model object detection, server sẽ phân tích hình ảnh và trả về kết quả. Thay vì gửi lại một hình ảnh nhị phân, server phản hồi bằng một chuỗi JSON chứa tọa độ của bounding box, tên các lớp được phát hiện và điểm confidence tương ứng. Phản hồi dạng văn bản này dễ dàng được các dashboard frontend, ứng dụng di động hoặc cơ sở dữ liệu NoSQL như MongoDB tiếp nhận để ghi log và phân tích.
Ngoài inference, JSON đóng vai trò quan trọng trong việc cấu trúc training data. Định dạng phổ biến của COCO dataset sử dụng một JSON schema toàn diện để định nghĩa đường dẫn tệp hình ảnh, thông tin giấy phép và tọa độ annotation. Điều này khác 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 với các trường được phân tá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ý metadata phức tạp của project và versioning của dataset trên cloud.
Chuyển đổi dự đoán của model sang JSON#
Các framework hiện đại đơn giản hóa quy trình tuần tự hóa dữ liệu, cho phép developer xuất trực tiếp đầu ra của model sang JSON. Thư viện ultralytics cung cấp các method tích hợp để tuần tự hóa kết quả detection, giúp dễ dàng tích hợp các model YOLO26 vào những hệ sinh thái phần mềm lớn hơn.
Ví dụ sau minh họa cách chạy inference với một model Ultralytics YOLO26 và chuyển đổi kết quả detection 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.")JSON và các định dạng liên quan#
Mặc dù JSON được sử dụng phổ biến trong phát triển web và thiết kế API, điều quan trọng là phải phân biệt JSON với các định dạng tuần tự hóa dữ liệu khác thường gặp trong các workflow Deep Learning.
- JSON và YAML: YAML được thiết kế để con người dễ đọc tối đa và hỗ trợ comment, nên thường được ưu tiên cho các tệp cấu hình. Ví dụ: các thiết lập tuning hyperparameter hoặc đường dẫn dataset trong Ultralytics được định nghĩa trong các tệp
.yaml. JSON có quy tắc nghiêm ngặt hơn, không hỗ trợ comment và thường nhanh hơn khi được máy phân tích cú pháp, nên phù hợp hơn cho việc truyền dữ liệu và phản hồi API. - JSON và XML: XML sử dụng cấu trúc dựa trên tag dài dòng. Mặc dù từng là tiêu chuẩn cho các dataset như Pascal VOC, XML phần lớn đã được JSON thay thế trong lĩnh vực Vận hành machine learning (MLOps) hiện đại nhờ kích thước tệp nhỏ hơn và cú pháp đơn giản hơn của JSON.
Tiêu chuẩn hóa và khả năng tương tác#
Việc JSON được áp dụng rộng rãi thúc đẩy khả năng tương tác giữa các công cụ đa dạng. Dù dùng để xuất mask instance segmentation, lưu trữ nhãn image classification hay cấu hình pipeline triển khai model, JSON đều đảm bảo dữ liệu vẫn có cấu trúc và dễ truy cập. Vai trò của JSON còn mở rộng đến GeoJSON, một định dạng chuyên dụng để mã hóa các cấu trúc dữ liệu địa lý, thường được sử dụng trong phân tích ảnh vệ tinh nhằm á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 thư viện json tích hợp sẵn của Python, developer có thể dễ dàng xác thực, phân tích cú pháp và thao tác với các cấu trúc dữ liệu này để xây dựng các ứng dụng AI mạnh mẽ.









