Bounding Box
Bounding box là hình chữ nhật đánh dấu vị trí của một đối tượng trong ảnh. Nội dung đề cập định dạng xyxy, xywh và YOLO, gán nhãn, cùng box xoay và box 3D.
Bounding box là hình chữ nhật nhỏ nhất có các cạnh song song với trục tọa độ và bao quanh một đối tượng trong ảnh hoặc khung hình video, được mô tả bằng bốn số. Đây là đơn vị đầu ra của phát hiện đối tượng: detector trả về một box cho mỗi đối tượng, cùng với nhãn class và điểm confidence; người gán nhãn vẽ các box tương tự trên dữ liệu huấn luyện để model học. Box xác định vị trí và kích thước tương đối của đối tượng mà không cần vẽ theo đường bao hình dạng, nhờ vậy việc gán nhãn box nhanh và dự đoán box ít tốn kém.
Định dạng tọa độ#
Tọa độ ảnh bắt đầu từ góc trên bên trái, trục x tăng về bên phải và trục y tăng xuống dưới. Mỗi định dạng box lưu bốn số, nhưng các dataset và thư viện không thống nhất về bốn số đó; nhầm lẫn giữa các định dạng sẽ âm thầm làm dịch chuyển hoặc kéo giãn mọi box.
- Các góc (xyxy): góc trên bên trái (x1, y1) và góc dưới bên phải (x2, y2), tính bằng pixel. Annotation PASCAL VOC và hầu hết hàm vẽ cũng như hàm IoU đều dùng định dạng này.
- Định dạng COCO: góc trên bên trái, tiếp theo là chiều rộng và chiều cao, [x, y, width, height], tính bằng pixel.
- Định dạng YOLO: tâm box, tiếp theo là chiều rộng và chiều cao; mỗi giá trị được chia cho chiều rộng hoặc chiều cao của ảnh để nằm trong khoảng từ 0 đến 1. Các model Ultralytics YOLO như YOLO26 được huấn luyện từ một file văn bản cho mỗi ảnh, với một dòng cho mỗi đối tượng: chỉ số class, rồi đến x_center, y_center, width và height.
Tọa độ chuẩn hóa vẫn hợp lệ sau khi thay đổi kích thước: có thể phóng to hoặc thu nhỏ ảnh đến bất kỳ độ phân giải huấn luyện nào mà không cần viết lại nhãn, vì các box được lưu dưới dạng tỷ lệ so với kích thước ảnh.
from ultralytics import YOLO
# Tải detector YOLO26 nano đã huấn luyện trước
model = YOLO("yolo26n.pt")
# Phát hiện đối tượng và lấy các box từ ảnh đầu tiên
results = model("https://ultralytics.com/images/bus.jpg")
boxes = results[0].boxes
# Cùng một box đầu tiên ở bốn định dạng
print(boxes.xyxy[0]) # các góc tính bằng pixel
print(boxes.xywh[0]) # tâm, chiều rộng, chiều cao tính bằng pixel
print(boxes.xyxyn[0]) # các góc chia cho chiều rộng và chiều cao của ảnh
print(boxes.xywhn[0]) # tâm và kích thước chia cho kích thước ảnh, như trong nhãn YOLOCả bốn dòng đều mô tả cùng một hình chữ nhật. Các giá trị chuẩn hóa được tính bằng cách chia giá trị pixel cho kích thước ảnh 810 × 1080, còn xywh được đo từ tâm box, nên khác với xywh có gốc tại góc trên bên trái của COCO.
Cách detector dự đoán box#
Detector dự đoán box dưới dạng đầu ra hồi quy tại nhiều vị trí trong ảnh. Các thiết kế trước đây dự đoán độ lệch so với anchor box có kích thước và tỷ lệ khung hình xác định trước, còn detector anchor-free dự đoán trực tiếp khoảng cách từ một điểm trên lưới đến bốn cạnh box. Khi huấn luyện, model so sánh box dự đoán với box đã gán nhãn bằng loss dựa trên intersection over union (IoU); do các vị trí lân cận dự đoán những box chồng lấn cho cùng một đối tượng, non-maximum suppression (NMS) loại bỏ các box trùng lặp ở bước suy luận.
Gán nhãn bounding box#
Detector học cách vẽ box theo cách thể hiện trong nhãn, vì vậy hướng dẫn annotation dữ liệu quyết định chất lượng box. Hướng dẫn tốt yêu cầu box chạm đến các cạnh nhìn thấy được của từng đối tượng, gán nhãn mọi instance của mọi class vì đối tượng không được gán nhãn sẽ dạy model xem đối tượng đó là background, đồng thời đặt ra quy tắc cố định cho đối tượng bị che khuất hoặc bị cắt cụt, chẳng hạn chỉ đóng khung phần nhìn thấy được. Đánh giá cũng áp dụng cùng quy tắc, vì dự đoán được chấm điểm bằng IoU so với box đã gán nhãn.
Bounding box và các loại vùng khác#
- Bounding box định hướng (OBB): giá trị thứ năm là góc xoay, cho phép box xoay để khớp với các đối tượng nghiêng như tàu hoặc xe trong ảnh chụp từ trên không, đồng thời giảm đáng kể phần background bên trong box.
- Phân đoạn instance: mask theo từng pixel phác họa chính xác hình dạng của mỗi đối tượng.
- Keypoint: các điểm mốc riêng lẻ, chẳng hạn khớp cơ thể dùng cho ước tính tư thế.
- Bounding box 3D: các khối hộp trong không gian thực, thường được mô tả bằng bảy số: tâm (x, y, z), chiều dài, chiều rộng và chiều cao tính bằng mét, cùng góc hướng.










