Meet YOLO26: next-gen vision AI.

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

Link to this sectionTổng quan#

YOLO12, được phát hành vào đầu năm 2025, giới thiệu kiến trúc lấy trọng tâm là sự chú ý, khác biệt so vớ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ữ được tốc độ suy luận theo thời gian thực cần thiết cho nhiều ứng dụng. Mô hình này đạt được độ chính xác phát hiện vật thể cao nhờ những đổi mới về phương pháp luận trong cơ chế chú ý và kiến trúc mạng tổng thể, trong khi vẫn 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ể gặp phải tình trạng mất ổn định khi huấn luyện, tiêu thụ bộ nhớ cao và thông lượng CPU chậm hơn do các khối chú ý nặng, vì vậy Ultralytics khuyến nghị sử dụng YOLO11 hoặc YOLO26 cho hầu hết các quy trình sản xuất.

Mô hình Cộng đồng

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



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

Link to this sectionTính năng chính#

  • Cơ chế Area Attention: Một phương pháp tự chú ý mới xử lý các trường tiếp nhận 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 thao tác phức tạp và duy trì một trường tiếp nhận hiệu quả lớn. Điều này giúp giảm đáng kể chi phí tính toán so với phương pháp 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 vật thể, instance segmentation, image classification, ước tính tư thế và phát hiện vật thể đị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.

Trực quan hóa so sánh YOLO12

Link to this sectionCá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á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, tư thế và OBB được xác định trong ultralytics/cfg/models/12/, vì vậy các biến thể đó hỗ trợ huấn luyện từ đầu từ cấu hình .yaml, nhưng hiện không có tệp .pt được huấn luyện trước nào cho chúng. Đối với các checkpoint phân đoạn, tư thế, phân loại hoặc OBB được huấn luyện trước, Ultralytics khuyến nghị YOLO11 hoặc YOLO26.

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

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

Link to this sectionChỉ số hiệu suất#

YOLO12 cho thấy 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à kết quả định lượng cho phát hiện vật thể trên tập dữ liệu xác thực COCO:

Link to this sectionHiệ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.66.5+2.1%/-9% (so với YOLOv10n)
YOLO12s64048.0-2.619.321.4+0.1%/+42% (so với RT-DETRv2)
YOLO12m64052.5-4.8620.267.5+1.0%/-3% (so với YOLO11m)
YOLO12l64053.7-6.7726.488.9+0.4%/-8% (so với YOLO11l)
YOLO12x64055.2-11.7959.1199.0+0.6%/-4% (so với YOLO11x)
  • Tốc độ suy luận được đo trên NVIDIA T4 GPU với TensorRT FP16 độ chính xác.
  • 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ó.

Link to this sectionVí 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 đầy đủ 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 chuyên biệt Dự đoánHuấn luyện.

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

Ví dụ

Các mô hình *.pt được huấn luyện trước (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ực thể 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")

Link to this sectionNhữ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, 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.

Link to this sectionYê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:

Link to this sectionTrí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 tác phẩm gốc của Đại học BuffaloĐại học Viện Hàn lâm Khoa học Trung Quốc:

Trích dẫn
@article{tian2025yolo12,
  title={YOLO12: Attention-Centric Real-Time Object Detectors},
  author={Tian, Yunjie and Ye, Qixiang and Doermann, David},
  journal={arXiv preprint arXiv:2502.12524},
  year={2025}
}

@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}
}

Link to this sectionCâu hỏi thường gặp#

Link to this sectionLàm thế nào YOLO12 đạt được khả năng phát hiện vật thể theo thời gian thực trong khi vẫn duy trì độ chính xác cao?#

YOLO12 kết hợp một số đổi mới chính để cân bằng giữa tốc độ và độ chính xác. Cơ chế chú ý Area xử lý các trường tiếp nhận lớn một cách hiệu quả, giảm chi phí tính toán so với tự chú ý tiêu chuẩn. Residual Efficient Layer Aggregation Networks (R-ELAN) cải thiện quá trình tổng 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 lớn lấy trọng tâm là sự chú ý. Kiến trúc Chú ý Tối ưu hóa, bao gồm việc sử dụng FlashAttention và loại bỏ mã hóa vị trí, giúp nâng cao hiệu quả hơn nữa. Những tính năng này cho phép YOLO12 đạt được độ chính xác hiện đại trong khi vẫn duy trì tốc độ suy luận thời gian thực quan trọng cho nhiều ứng dụng.

Link to this sectionYOLO12 hỗ trợ các tác vụ thị giác máy tính nào?#

YOLO12 là một mô hình linh hoạt hỗ trợ nhiều tác vụ thị giác máy tính cốt lõi. Nó vượt trội trong việc phát hiện vật thể, phân đoạn instance, phân loại ảnh, ước tính tư thế và phát hiện vật thể định hướng (OBB) (xem chi tiết). Sự hỗ trợ tác vụ toàn diện này khiến YOLO12 trở thành một công cụ mạnh mẽ cho các ứng dụng đa dạng, từ robotics và lái xe tự động đế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 trước hiện chỉ được xuất bản cho phát hiện; các kiến trúc phân đoạn, tư thế, phân loại và OBB được cung cấp dưới dạng cấu hình .yaml để huấn luyện từ đầu.

Link to this sectionYOLO12 so sánh như thế nào với các mô hình YOLO khác và các đối thủ cạnh tranh như RT-DETR?#

YOLO12 cho thấy những cải thiện đáng kể về độ chính xác trên tất cả các quy mô model so với các model YOLO trước đó như YOLOv10 và YOLO11, với một số đánh đổi về tốc độ so với các model nhanh nhất trước đây. Ví dụ, YOLO12n đạt mức cải thiện +2.1% mAP 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 model như RT-DETR, YOLO12s mang lại mức cải thiện +1.5% mAP và tăng tốc đáng kể +42%. Các chỉ số này làm nổi bật sự cân bằng mạnh mẽ của YOLO12 giữa độ chính xác và hiệu suất. Xem phần chỉ số hiệu suất để biết các so sánh chi tiết.

Link to this sectionCác yêu cầu phần cứng để chạy YOLO12, đặc biệt là khi sử dụng FlashAttention là gì?#

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.

Link to this sectionTôi có thể tìm thấy các ví dụ sử dụng và tài liệu chi tiết hơn về YOLO12 ở đâu?#

Trang này cung cấp các ví dụ sử dụng cơ bản để huấn luyện và suy luận. Để có tài liệu đầy đủ 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 chuyên biệt Dự đoánHuấn luyện. Đối với thông tin dành riêng cho tác vụ (phân đoạn, phân loại, phát hiện vật thể định hướng và ước tính tư thế), hãy tham khảo tài liệu tương ứng: Phân đoạn, Phân loại, OBBTư thế. Các tài nguyên này cung cấp hướng dẫn chuyên sâu để sử dụng hiệu quả YOLO12 trong các tình huống khác nhau.

Bình luận