Ultralytics YOLO27: Đăng ký vào danh sách chờ.
Cấp phép YOLO
Quay lại Bảng thuật ngữ Ultralytics

JSON

JSON là định dạng văn bản gồm các object, array và giá trị, được dùng cho API, chú giải và đầu ra của model. Quy tắc cú pháp, ứng dụng ML, JSON Lines và code.

JSON, viết tắt của JavaScript Object Notation, là định dạng dựa trên văn bản, gọn nhẹ để lưu trữ và trao đổi dữ liệu có cấu trúc. Douglas Crockford đặc tả JSON vào đầu những năm 2000, dựa trên cú pháp object literal của JavaScript; hiện nay, JSON đã được chuẩn hóa thành IETF RFC 8259 và ECMA-404. JSON độc lập với ngôn ngữ lập trình, con người có thể đọc được và được thư viện chuẩn của hầu hết các ngôn ngữ lập trình phân tích, nhờ đó trở thành định dạng mặc định cho các API web. Trong học máy (ML), JSON truyền các dự đoán từ engine suy luận, lưu trữ chú thích dataset, ghi nhật ký metadata của experiment và xác định đầu ra có cấu trúc của mô hình ngôn ngữ lớn (LLM).

Cú pháp JSON#

Tài liệu JSON được cấu thành từ hai container và bốn loại giá trị:

  • Object: Các tập hợp không có thứ tự gồm những cặp key-value nằm trong dấu ngoặc nhọn, chẳng hạn {"name": "bus", "confidence": 0.94}. Key phải là chuỗi nằm trong dấu ngoặc kép.
  • Array: Các danh sách có thứ tự nằm trong dấu ngoặc vuông, chẳng hạn [48.5, 398.0, 245.3, 902.1].
  • Giá trị: Chuỗi, số, các literal true, false và null, hoặc object và array lồng nhau.

Định dạng này có quy tắc nghiêm ngặt. Không cho phép comment, dấu phẩy ở cuối, chuỗi đặt trong dấu nháy đơn và các giá trị NaN và Infinity, mặc dù module json của Python mặc định ghi NaN nếu không đặt allow_nan=False, tạo ra các tệp mà parser nghiêm ngặt sẽ từ chối. RFC 8259 cũng cảnh báo rằng các số chỉ được trao đổi đáng tin cậy trong phạm vi độ chính xác kép IEEE 754; do đó, các số nguyên lớn hơn 2⁵³ − 1, chẳng hạn một số ID trong cơ sở dữ liệu, thường được gửi dưới dạng chuỗi.

JSON trong quy trình làm việc học máy#

Khi camera trong một hệ thống an ninh gửi frame đến dịch vụ phát hiện đối tượng, lớp phục vụ model thường phản hồi bằng JSON: mỗi đối tượng được phát hiện có một bản ghi chứa lớp, điểm confidence và tọa độ bounding box, sẵn sàng cho dashboard, ứng dụng di động và cơ sở dữ liệu tài liệu như MongoDB.

Các định dạng gán nhãn cũng dựa vào JSON. Dataset COCO lưu toàn bộ nhãn của một split trong một file JSON với ba danh sách chính: images chứa tên và kích thước file, categories chứa ID và tên lớp, còn annotations gồm các mục trỏ đến ảnh và danh mục theo ID, đồng thời lưu hộp dưới dạng [x, y, width, height] tính bằng pixel từ góc trên bên trái. Định dạng YOLO thay vào đó dùng một file văn bản cho mỗi ảnh với tọa độ tâm đã chuẩn hóa; chuyển đổi giữa hai định dạng là bước thường gặp trong pipeline gán nhãn dữ liệu, dù một lớp dataset tùy chỉnh cũng có thể huấn luyện YOLO trực tiếp trên JSON COCO.

JSON Lines, còn gọi là NDJSON, đặt một object JSON hoàn chỉnh trên mỗi dòng. Nhờ đó, có thể nối thêm vào file, truyền dữ liệu theo luồng và chia nhỏ file mà không cần phân tích toàn bộ tài liệu; định dạng này phù hợp với log huấn luyện, luồng dự đoán và dataset chỉ dẫn dùng để fine-tune LLM. Với LLM, JSON Schema mô tả chính xác các trường mà ứng dụng mong đợi, còn đầu ra có cấu trúc và gọi hàm giới hạn model để tạo JSON khớp với schema. GeoJSON, được chuẩn hóa trong RFC 7946, áp dụng định dạng này cho các đối tượng địa lý, cho phép phân tích ảnh vệ tinh đặt các phát hiện lên bản đồ.

Chuyển đổi dự đoán sang JSON#

Các object Results của Ultralytics YOLO tuần tự hóa dự đoán bằng to_json(), ghi một bản ghi cho mỗi phát hiện, gồm tên lớp, id lớp, confidence và các góc của box x1, y1, x2, y2, cùng tọa độ mask hoặc keypoint đối với model phân đoạn instance và ước lượng pose. Ví dụ sau chạy YOLO26 trên một ảnh mẫu rồi phân tích JSON trở lại bằng thư viện chuẩn của Python:

import json

from ultralytics import YOLO

# Tải model phát hiện YOLO26 đã huấn luyện trước và chạy suy luận
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]

# Tuần tự hóa mọi phát hiện thành chuỗi JSON (normalize=True sẽ đưa các box về tỷ lệ 0-1)
json_string = result.to_json()

# Mọi JSON parser đều có thể đọc dữ liệu trở lại, ở đây là thành danh sách các dict Python
detections = json.loads(json_string)
print(json.dumps(detections[0], indent=2))

Bản ghi được in ra là một object JSON với các key name, class và confidence, cùng một object box lồng bên trong chứa tọa độ các góc theo pixel.

  • YAML: Định dạng dễ đọc hơn, cho phép comment và lồng cấu trúc bằng thụt lề; thường dùng cho cấu hình huấn luyện và định nghĩa dataset. YAML 1.2 được thiết kế như một siêu tập hợp của JSON, vì vậy hầu hết tài liệu JSON đều hợp lệ dưới dạng YAML.
  • XML: Định dạng dựa trên thẻ, được dùng cho chú thích Pascal VOC; dài dòng hơn JSON và hỗ trợ thuộc tính, namespace cùng schema.
  • CSV: Định dạng bảng phẳng, gọn nhẹ cho dữ liệu dạng bảng nhưng không thể lồng object hoặc danh sách.
  • Định dạng nhị phân: Protocol Buffers và MessagePack nhỏ hơn và phân tích nhanh hơn JSON nhưng con người không thể đọc được. File model ONNX được lưu dưới dạng các message Protocol Buffers.

Khám phá các giải pháp

Thị giác máy tính trong thể thao

Thị giác máy tính trong thể thao

Khám phá cách Ultralytics YOLO thúc đẩy thị giác máy tính trong thể thao với khả năng theo dõi cầu thủ và bóng, phân tích hiệu suất, cung cấp thông tin chuyên sâu cho huấn luyện và hỗ trợ phục hồi cho vận động viên.
Tìm hiểu thêm
Thị giác máy tính cho ảnh hàng không

Thị giác máy tính cho ảnh hàng không

Chuyển hình ảnh từ drone và ảnh hàng không thành thông tin chuyên sâu theo thời gian thực cho nông nghiệp, nuôi trồng thủy sản, bảo tồn và phân tích không gian địa lý với Ultralytics YOLO.
Tìm hiểu thêm
Thị giác máy tính trong hàng không vũ trụ

Thị giác máy tính trong hàng không vũ trụ

Ứng dụng computer vision trong ngành hàng không vũ trụ với Ultralytics YOLO cho kiểm tra máy bay, phát hiện dị vật trên đường băng (FOD), vận hành mặt đất tại sân bay và phát hiện lỗi vật liệu composite.
Tìm hiểu thêm
Computer vision trong lĩnh vực an ninh

Computer vision trong lĩnh vực an ninh

Bảo vệ mọi địa điểm bằng model Ultralytics YOLO. Vision AI hỗ trợ giám sát vành đai, phát hiện mối đe dọa, nhận dạng biển số và an toàn nơi làm việc.
Tìm hiểu thêm
Computer vision trong robotics

Computer vision trong robotics

Tăng cường năng lực cho máy móc thông minh bằng model Ultralytics YOLO. Vision AI trong lĩnh vực robotics hỗ trợ điều hướng tự động, nhận thức, theo dõi đối tượng và điều khiển theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong logistics

Thị giác máy tính trong logistics

Tinh giản hoạt động logistics với các model Ultralytics YOLO. Vision AI hỗ trợ kiểm tra kiện hàng, phân loại, theo dõi phương tiện và giám sát an toàn kho hàng theo thời gian thực.
Tìm hiểu thêm
Thị giác máy tính trong bán lẻ

Thị giác máy tính trong bán lẻ

Định hình lại hoạt động bán lẻ với các model Ultralytics YOLO. Vision AI hỗ trợ theo dõi hàng tồn kho, giám sát kệ hàng, quản lý hàng chờ và phân tích khách hàng thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong chăm sóc sức khỏe

Thị giác máy tính trong chăm sóc sức khỏe

Xây dựng các giải pháp chăm sóc sức khỏe với model Ultralytics YOLO. Vision AI trong chăm sóc sức khỏe hỗ trợ xử lý hình ảnh y tế nhanh hơn, chẩn đoán thông minh hơn và theo dõi bệnh nhân.
Tìm hiểu thêm
Thị giác máy tính trong sản xuất

Thị giác máy tính trong sản xuất

Tối ưu hóa sản xuất bằng các model Ultralytics YOLO. Vision AI thúc đẩy kiểm soát chất lượng, phát hiện lỗi, tuân thủ PPE và tự động hóa dây chuyền lắp ráp.
Tìm hiểu thêm
Thị giác máy tính trong ngành ô tô

Thị giác máy tính trong ngành ô tô

Ứng dụng thị giác máy tính trong ngành ô tô với các model Ultralytics YOLO. Vision AI nâng cao an toàn giao thông, hỗ trợ người lái và tự động hóa phương tiện để tạo nên những tuyến đường thông minh hơn.
Tìm hiểu thêm
Thị giác máy tính trong nông nghiệp

Thị giác máy tính trong nông nghiệp

Ứng dụng AI thị giác vào nông nghiệp thông minh với các model Ultralytics YOLO. Hỗ trợ giám sát cây trồng, theo dõi vật nuôi và canh tác chính xác để nâng cao năng suất một cách thông minh hơn.
Tìm hiểu thêm

Hãy cùng nhau kiến tạo tương lai của AI!

Bắt đầu hành trình hướng đến tương lai của machine learning