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

Anchor-Based Detectors

Detector dựa trên anchor dự đoán đối tượng dưới dạng độ lệch so với anchor box định sẵn, như trong Faster R-CNN, SSD, RetinaNet và YOLOv5. Cách hoạt động và so sánh.

Bộ phát hiện dựa trên anchor là các model phát hiện đối tượng xếp các anchor box định sẵn trên ảnh, rồi dự đoán điểm số lớp và độ lệch biến mỗi anchor thành một bounding box khớp với đối tượng. Nhóm này bao gồm các model hai giai đoạn như Faster R-CNN, trong đó mạng đề xuất vùng chấm điểm anchor để tạo các vùng ứng viên, và các model một giai đoạn như SSD, RetinaNet và YOLOv2 đến YOLOv5, trực tiếp phân loại và tinh chỉnh từng anchor. Anchor là phương pháp tiêu chuẩn để định vị đối tượng từ Faster R-CNN năm 2015 cho đến khi các bộ phát hiện không dùng anchor như FCOS đạt độ chính xác tương đương vào năm 2019.

Cách phát hiện dựa trên anchor hoạt động#

Backbone và neck chuyển ảnh thành các feature map; một tập anchor cố định với nhiều kích thước và tỷ lệ khung hình được đặt tại mỗi ô trên từng map. Với mỗi anchor, đầu phát hiện dự đoán một điểm số cho mỗi lớp, cộng với điểm objectness trong YOLOv2 đến YOLOv5, và bốn giá trị hồi quy. Phép mã hóa được sử dụng rộng rãi từ Faster R-CNN dịch chuyển tâm anchor theo tỷ lệ của chiều rộng và chiều cao, đồng thời nhân chiều rộng và chiều cao của anchor với hàm mũ:

import torch

# One anchor as (center x, center y, width, height) in pixels
anchor = torch.tensor([320.0, 240.0, 64.0, 128.0])

# Offsets (tx, ty, tw, th) that the regression branch predicts for this anchor
tx, ty, tw, th = torch.tensor([0.25, -0.10, 0.20, -0.05])

# Faster R-CNN decoding: shift the center in units of anchor size, scale width and height exponentially
cx = anchor[0] + tx * anchor[2]
cy = anchor[1] + ty * anchor[3]
w = anchor[2] * torch.exp(tw)
h = anchor[3] * torch.exp(th)
print(f"anchor 64x128 at (320, 240) -> box {w:.1f}x{h:.1f} at ({cx:.1f}, {cy:.1f})")

Anchor trở thành một bounding box 78,2 × 121,8 pixel, tâm tại (336,0; 227,2): box dịch sang phải 16 pixel và lên trên 12,8 pixel, rộng thêm 22% (exp(0.2)) và thấp đi 5% (exp(−0.05)). Vì các offset được tính tương đối theo kích thước của anchor, cùng một bộ giá trị dự đoán có thể áp dụng cho cả anchor nhỏ lẫn anchor lớn.

Trong quá trình suy luận, bộ phát hiện giải mã mọi anchor theo cách này, loại bỏ các box thấp hơn ngưỡng độ tin cậy, rồi chạy loại bỏ cực đại không tối đa (NMS) để loại bỏ các box trùng lặp từ những anchor lân cận.

Huấn luyện: gán nhãn cho từng anchor#

Trong quá trình huấn luyện, mỗi anchor được gán nhãn dựa trên giao trên hợp (IoU) với các box đã gán nhãn. RetinaNet sử dụng các ngưỡng sau:

Mạng đề xuất vùng của Faster R-CNN sử dụng các giá trị nghiêm ngặt hơn: 0.7 và 0.3. Với 9 anchor trên mỗi vị trí ở năm tầng kim tự tháp, RetinaNet có tổng cộng khoảng 100.000 anchor cho mỗi ảnh, gần như tất cả đều là mẫu âm tính; focal loss giảm trọng số của các mẫu âm tính dễ này để chúng không lấn át quá trình huấn luyện.

Các kiến trúc dựa trên anchor chính#

  • Bộ phát hiện hai giai đoạn: Mạng đề xuất vùng của Faster R-CNN chấm điểm anchor là đối tượng hoặc nền, rồi tinh chỉnh chúng thành khoảng 300 vùng đề xuất cho mỗi ảnh; một đầu thứ hai phân loại và tinh chỉnh từng vùng đề xuất. Khi dùng backbone VGG-16, mô hình đạt 5 FPS trên GPU; Mask R-CNN bổ sung một nhánh mask vào cùng thiết kế.
  • Bộ phát hiện đối tượng một giai đoạn: SSD, RetinaNet và các model YOLO từ YOLOv2 đến YOLOv5 phân loại và tinh chỉnh mọi anchor chỉ trong một lượt. YOLOv2 thay thế anchor được chọn thủ công bằng các cụm k-means từ chiều rộng và chiều cao của box huấn luyện.

YOLOv5 của Ultralytics dựa trên anchor, với 3 anchor ở mỗi trong ba tầng đầu ra; mô hình ghép nhãn với anchor theo hình dạng: một anchor là ứng viên khi cả chiều rộng lẫn chiều cao của nhãn đều nằm trong phạm vi 4× kích thước tương ứng của anchor. Các biến thể YOLOv5u trong package Ultralytics thay đầu này bằng đầu tách không dùng anchor được giới thiệu trong YOLOv8, thiết kế tiếp tục được YOLO26 sử dụng.

Bộ phát hiện dựa trên anchor và không dùng anchor#

Bộ phát hiện không dùng anchor dự đoán box từ mỗi điểm lưới dưới dạng khoảng cách tới bốn cạnh, hoặc từ keypoint như tâm đối tượng; nhờ vậy, chúng không cần tinh chỉnh kích thước anchor, tỷ lệ khung hình hay ngưỡng IoU và tạo một ứng viên trên mỗi vị trí thay vì một ứng viên trên mỗi hình dạng anchor. ATSS xác định nguyên nhân chênh lệch độ chính xác giữa RetinaNet và FCOS không dùng anchor là cách mỗi mô hình chọn mẫu huấn luyện dương tính: khi dùng cùng quy tắc chọn, cả hai đạt độ chính xác như nhau; RetinaNet đạt 39.2 AP trên COCO minival với 9 anchor trên mỗi vị trí và 39.3 AP với 1 anchor.

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