YOLO Vision 2026:

YOLO12: Phát hiện vật thể lấy trọng tâm là sự chú ý#

Tổng quan#

YOLO12, ra mắt vào đầu năm 2025, giới thiệu một kiến trúc tập trung vào cơ chế chú ý (attention-centric) tách rời khỏi các phương pháp dựa trên CNN truyền thống được sử dụng trong các mô hình YOLO trước đây, nhưng vẫn giữ lại tốc độ suy luận (inference) thời gian thực cần thiết cho nhiều ứng dụng. Mô hình này đạt độ chính xác phát hiện đối tượng cao thông qua các đổi mới phương pháp luận mới lạ trong cơ chế chú ý và kiến trúc mạng tổng thể, đồng thời duy trì hiệu suất thời gian thực. Bất chấp những ưu điểm đó, YOLO12 vẫn là một bản phát hành do cộng đồng thúc đẩy có thể biểu hiện sự bất ổn định trong quá trình huấn luyện (training), mức tiêu thụ bộ nhớ cao hơn và tốc độ thông lượng CPU chậm hơn do các khối chú ý nặng của nó, vì vậy Ultralytics khuyến nghị YOLO11 hoặc YOLO26 cho hầu hết các tác vụ production.

Mô hình Cộng đồng

YOLO12 được duy trì chủ yếu cho mục đích benchmark và nghiên cứu. Nếu bạn cần quá trình huấn luyện ổn định, mức sử dụng bộ nhớ có thể dự đoán và suy luận CPU được tối ưu hóa, hãy chọn YOLO11 hoặc YOLO26 để triển khai (deployment).



Watch: How to Use YOLO12 for Object Detection with the Ultralytics Package | Is YOLO12 Fast or Slow? 🚀

Tính năng chính#

  • Cơ chế Area Attention: Một cách tiếp cận tự chú ý (self-attention) mới xử lý các trường tiếp nhận (receptive fields) lớn một cách hiệu quả. Nó chia các feature maps thành l vùng có kích thước bằng nhau (mặc định là 4), theo chiều ngang hoặc chiều dọc, tránh các phép toán phức tạp và duy trì một trường tiếp nhận hiệu quả lớn. Điều này làm giảm đáng kể chi phí tính toán so với cơ chế tự chú ý tiêu chuẩn.
  • Residual Efficient Layer Aggregation Networks (R-ELAN): Một mô-đun tổng hợp đặc trưng được cải tiến dựa trên ELAN, được thiết kế để giải quyết các thách thức về tối ưu hóa, đặc biệt là trong các mô hình lớn lấy trọng tâm là sự chú ý. R-ELAN giới thiệu:
    • Các kết nối residual cấp khối với tính năng mở rộng (tương tự như mở rộng lớp).
    • Một phương pháp tổng hợp đặc trưng được thiết kế lại tạo ra cấu trúc giống như nút thắt (bottleneck).
  • Kiến trúc chú ý tối ưu hóa: YOLO12 hợp lý hóa cơ chế chú ý tiêu chuẩn để đạt hiệu quả cao hơn và tương thích với framework YOLO. Điều này bao gồm:
    • Sử dụng FlashAttention để giảm thiểu chi phí truy cập bộ nhớ.
    • Loại bỏ mã hóa vị trí để có một mô hình gọn gàng và nhanh hơn.
    • Điều chỉnh tỷ lệ MLP (từ 4 thông thường xuống 1.2 hoặc 2) để cân bằng tính toán tốt hơn giữa các lớp chú ý và các lớp feed-forward.
    • Giảm độ sâu của các khối xếp chồng để cải thiện tối ưu hóa.
    • Tận dụng các phép toán tích chập (nếu phù hợp) vì hiệu quả tính toán của chúng.
    • Thêm một tích chập phân tách 7x7 ("position perceiver") vào cơ chế chú ý để mã hóa thông tin vị trí một cách ngầm định.
  • Hỗ trợ tác vụ toàn diện: YOLO12 hỗ trợ một loạt các tác vụ thị giác máy tính cốt lõi: phát hiện đối tượng, phân đoạn thực thể, phân loại ảnh, ước lượng tư thế (pose estimation) và phát hiện đối tượng có định hướng (OBB).
  • Hiệu quả nâng cao: Đạt được độ chính xác cao hơn với ít tham số hơn so với nhiều mô hình trước đó, thể hiện sự cân bằng cải tiến giữa tốc độ và độ chính xác.
  • Triển khai linh hoạt: Được thiết kế để triển khai trên các nền tảng đa dạng, từ các thiết bị biên đến cơ sở hạ tầng đám mây.

YOLO12 comparison visualization

Các tác vụ và chế độ được hỗ trợ#

YOLO12 hỗ trợ nhiều tác vụ thị giác máy tính khác nhau. Bảng dưới đây hiển thị khả năng hỗ trợ tác vụ và các chế độ vận hành (Suy luận, Xác thực, Huấn luyện và Xuất) được bật cho từng tác vụ:

Tính sẵn có của trọng số được huấn luyện trước

Chỉ có trọng số phát hiện (yolo12n.pt, yolo12s.pt, yolo12m.pt, yolo12l.pt, yolo12x.pt) được phát hành trên ultralytics/assets. Các kiến trúc phân đoạn, phân loại, pose và OBB được định nghĩa trong ultralytics/cfg/models/12/, do đó các biến thể đó hỗ trợ huấn luyện từ đầu (train from scratch) từ cấu hình .yaml, nhưng hiện không có tệp .pt đã được huấn luyện sẵn (pretrained) nào khả dụng cho chúng. Đối với các checkpoint phân đoạn, pose, phân loại hoặc OBB đã được huấn luyện sẵn, Ultralytics khuyến nghị YOLO11 hoặc YOLO26.

Loại modelTác vụTrọng số PretrainedHuấn luyệnValidationSuy luậnXuất (Export)
YOLO12Phát hiện
YOLO12-segPhân đoạn
YOLO12-clsPhân loại
YOLO12-posePose
YOLO12-obbOBB

Tất cả các kiến trúc YOLO12 đều hỗ trợ mọi chế độ một khi checkpoint đã được huấn luyện có sẵn. Cột Pretrained Weights chỉ cho biết liệu Ultralytics có xuất bản một bản pretrained .pt chính thức trên ultralytics/assets hay không: đối với phân đoạn, pose, phân loại và OBB, bạn phải huấn luyện checkpoint của riêng mình từ tệp cấu hình .yaml tương ứng trước khi chạy suy luận, xác thực (validation) hoặc xuất (export).

Chỉ số hiệu suất#

YOLO12 thể hiện những cải tiến đáng kể về độ chính xác trên tất cả các quy mô mô hình, với một số đánh đổi về tốc độ so với các mô hình YOLO trước đây nhanh nhất. Dưới đây là các kết quả định lượng cho phát hiện đối tượng trên tập dữ liệu validation COCO:

Hiệu suất phát hiện (COCO val2017)#

Hiệu suất
Mô hìnhkích thước
(pixel)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT
(ms)
params
(M)
FLOPs
(B)
So sánh
(mAP/Tốc độ)
YOLO12n64040.6-1.642.67.6+2.1%/-9% (so với YOLOv10n)
YOLO12s64048.0-2.619.323.7+0.1%/+42% (so với RT-DETRv2)
YOLO12m64052.5-4.8620.271.3+1.0%/-3% (so với YOLO11m)
YOLO12l64053.7-6.7726.496.3+0.4%/-8% (so với YOLO11l)
YOLO12x64055.2-11.7959.1210.2+0.6%/-4% (so với YOLO11x)
  • Tốc độ suy luận được đo trên GPU NVIDIA T4 với độ chính xác TensorRT FP16.
  • So sánh hiển thị mức cải thiện tương đối về mAP và phần trăm thay đổi về tốc độ (dương nghĩa là nhanh hơn; âm nghĩa là chậm hơn). So sánh được thực hiện dựa trên kết quả đã công bố cho YOLOv10, YOLO11 và RT-DETR nếu có.

Ví dụ Sử dụng#

Phần này cung cấp các ví dụ để huấn luyện và suy luận với YOLO12. Để có tài liệu toàn diện hơn về các chế độ này và các chế độ khác (bao gồm Xác thựcXuất), hãy tham khảo các trang Dự đoánHuấn luyện chuyên dedicated.

Các ví dụ dưới đây tập trung vào các mô hình YOLO12 Detect (dành cho phát hiện đối tượng). Đối với các tác vụ được hỗ trợ khác (phân đoạn, phân loại, ước lượng tư thế và phát hiện đối tượng có định hướng), hãy tham khảo tài liệu cụ thể theo từng tác vụ: Phân đoạn, Phân loại, PoseOBB.

Ví dụ

Các mô hình *.pt đã được huấn luyện sẵn (sử dụng PyTorch) và các tệp cấu hình *.yaml có thể được truyền vào lớp YOLO() để tạo một thể hiện mô hình trong Python:

from ultralytics import YOLO

# Load a COCO-pretrained YOLO12n model
model = YOLO("yolo12n.pt")

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLO12n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

Những cải tiến chính#

  1. Trích xuất đặc trưng nâng cao:

    • Area Attention: Xử lý hiệu quả các trường tiếp nhận lớn, làm giảm chi phí tính toán.
    • Cân bằng tối ưu hóa: Cân bằng cải tiến giữa các tính toán mạng chú ý và feed-forward.
    • R-ELAN: Nâng cao khả năng tổng hợp đặc trưng sử dụng kiến trúc R-ELAN.
  2. Đổi mới tối ưu hóa:

    • Kết nối Residual: Giới thiệu các kết nối residual với tính năng mở rộng để ổn định việc huấn luyện, đặc biệt là trong các mô hình lớn hơn.
    • Tích hợp đặc trưng tinh chỉnh: Triển khai phương pháp cải tiến để tích hợp đặc trưng trong R-ELAN.
    • FlashAttention: Kết hợp FlashAttention để giảm chi phí truy cập bộ nhớ.
  3. Hiệu quả kiến trúc:

    • Giảm tham số: Đạt được số lượng tham số thấp hơn trong khi vẫn duy trì hoặc cải thiện độ chính xác so với nhiều mô hình trước đó.
    • Chú ý được hợp lý hóa: Sử dụng một cách triển khai chú ý đơn giản hóa, tránh mã hóa vị trí.
    • Tỷ lệ MLP tối ưu hóa: Điều chỉnh tỷ lệ MLP để phân bổ tài nguyên tính toán hiệu quả hơn.

Yêu cầu#

Triển khai YOLO12 của Ultralytics, theo mặc định, không yêu cầu FlashAttention. Tuy nhiên, FlashAttention có thể được biên dịch tùy chọn và sử dụng với YOLO12. Để biên dịch FlashAttention, cần một trong các GPU NVIDIA sau:

Trích dẫn và Ghi nhận#

Nếu bạn sử dụng YOLO12 trong nghiên cứu của mình, vui lòng trích dẫn công trình gốc của University at BuffaloUniversity of Chinese Academy of Sciences:

Trích dẫn
@inproceedings{tian2025yolov12,
  title={YOLOv12: Attention-Centric Real-Time Object Detectors},
  author={Tian, Yunjie and Ye, Qixiang and Doermann, David},
  booktitle={Advances in Neural Information Processing Systems},
  volume={38},
  pages={78433--78457},
  year={2025},
  url={https://proceedings.neurips.cc/paper_files/paper/2025/file/7103444259031cc58051f8c9a4868533-Paper-Conference.pdf}
}

@software{yolo12,
  author = {Tian, Yunjie and Ye, Qixiang and Doermann, David},
  title = {YOLO12: Attention-Centric Real-Time Object Detectors},
  year = {2025},
  url = {https://github.com/sunsmarterjie/yolov12},
  license = {AGPL-3.0}
}

Bài báo YOLO12 được xuất bản trong Kỷ yếu NeurIPS 2025, với bản in trước (preprint) trên arXiv.

Câu hỏi thường gặp#

  • YOLO12 kết hợp một số cải tiến chính để cân bằng giữa tốc độ và độ chính xác. Cơ chế chú ý Area Attention xử lý hiệu quả các trường tiếp nhận lớn, làm giảm chi phí tính toán so với cơ chế tự chú ý tiêu chuẩn. Residual Efficient Layer Aggregation Networks (R-ELAN) cải thiện khả năng tập hợp đặc trưng, giải quyết các thách thức tối ưu hóa trong các mô hình tập trung vào cơ chế chú ý lớn hơn. Kiến trúc chú ý được tối ưu hóa, bao gồm việc sử dụng FlashAttention và loại bỏ mã hóa vị hiệu (positional encoding), nâng cao hơn nữa hiệu quả. Các tính năng này cho phép YOLO12 đạt được độ chính xác tiên tiến (state-of-the-art) đồng thời duy trì tốc độ suy luận thời gian thực quan trọng đối với nhiều ứng dụng.

  • YOLO12 là một mô hình đa năng hỗ trợ một loạt các tác vụ thị giác máy tính cốt lõi. Nó xuất sắc trong việc phát hiện đối tượng, phân đoạn thực thể, phân loại ảnh, ước lượng tư thế và phát hiện đối tượng có định hướng (OBB) (xem chi tiết). Việc hỗ trợ tác vụ toàn diện này biến YOLO12 thành một công cụ mạnh mẽ cho các ứng dụng đa dạng, từ robot và xe tự hành đến hình ảnh y tế và kiểm tra công nghiệp. Lưu ý rằng trọng số .pt đã được huấn luyện sẵn hiện chỉ được xuất bản cho mục đích phát hiện; các kiến trúc phân đoạn, pose, phân loại và OBB được cung cấp dưới dạng các cấu hình .yaml để huấn luyện từ đầu.

  • YOLO12 thể hiện những cải tiến đáng kể về độ chính xác trên tất cả các quy mô mô hình so với các mô hình YOLO trước đây như YOLOv10 và YOLO11, với một số đánh đổi về tốc độ so với các mô hình trước đây nhanh nhất. Ví dụ, YOLO12n đạt mức cải thiện mAP +2.1% so với YOLOv10n và +1.2% so với YOLO11n trên tập dữ liệu COCO val2017. So với các mô hình như RT-DETR, YOLO12s mang lại cải thiện mAP +1.5% và tăng tốc đáng kể +42%. Các số liệu này làm nổi bật sự cân bằng mạnh mẽ giữa độ chính xác và hiệu quả của YOLO12. Hãy xem phần số liệu hiệu suất để biết các so sánh chi tiết.

  • Theo mặc định, triển khai YOLO12 của Ultralytics không yêu cầu FlashAttention. Tuy nhiên, FlashAttention có thể được biên dịch tùy chọn và sử dụng với YOLO12 để giảm thiểu chi phí truy cập bộ nhớ. Để biên dịch FlashAttention, cần một trong các GPU NVIDIA sau: GPU Turing (ví dụ: T4, dòng Quadro RTX), GPU Ampere (ví dụ: dòng RTX30, A30/40/100), GPU Ada Lovelace (ví dụ: dòng RTX40) hoặc GPU Hopper (ví dụ: H100/H200). Sự linh hoạt này cho phép người dùng tận dụng các lợi ích của FlashAttention khi tài nguyên phần cứng cho phép.

  • Trang này cung cấp các ví dụ sử dụng cơ bản cho việc huấn luyện và suy luận. Để có tài liệu toàn diện về các chế độ này và các chế độ khác, bao gồm Xác thựcXuất, hãy tham khảo các trang Dự đoánHuấn luyện chuyên biệt. Đối với thông tin cụ thể theo tác vụ (phân đoạn, phân loại, ước lượng tư thế và phát hiện đối tượng có định hướng), hãy tham khảo tài liệu tương ứng: Segment, Classify, PoseOBB. Các tài nguyên này cung cấp hướng dẫn sâu sắc để sử dụng hiệu quả YOLO12 trong các kịch bản khác nhau.

Bình luận