Chuyển đến nội dung

YOLO12: Object Detection tập trung vào Attention

Tổng quan

YOLO12 giới thiệu một kiến trúc tập trung vào attention, 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 object detection hàng đầu thông qua các cải tiến phương pháp luận mới trong cơ chế attention và kiến trúc mạng tổng thể, đồng thời duy trì hiệu suất theo thời gian thực.



Xem: Cách sử dụng YOLO12 để phát hiện đối tượng với Gói Ultralytics | YOLO12 nhanh hay chậm? 🚀

Các tính năng chính

  • Cơ chế Area Attention: Một phương pháp self-attention mới xử lý các receptive field lớn một cách hiệu quả. Nó chia feature map 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 hoạt động phức tạp và duy trì một receptive field hiệu quả lớn. Điều này giúp giảm đáng kể chi phí tính toán so với self-attention tiêu chuẩn.
  • Mạng Tổng hợp Lớp Hiệu quả Dư (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 tối ưu hóa, đặc biệt là trong các mô hình tập trung vào attention (cơ chế chú ý) quy mô lớn hơn. R-ELAN giới thiệu:
    • Kết nối dư cấp khối với tỷ lệ (tương tự như tỷ lệ lớp).
    • Một phương pháp tổng hợp đặc trưng được thiết kế lại, tạo ra một cấu trúc giống như nút thắt cổ chai.
  • Kiến trúc Chú ý được Tối ưu hóa: YOLO12 sắp xếp hợp lý cơ chế attention tiêu chuẩn để tăng hiệu quả và khả năng 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 sạch hơn và nhanh hơn.
    • Điều chỉnh tỷ lệ MLP (từ 4 điển hình xuống 1.2 hoặc 2) để cân bằng tốt hơn tính toán giữa các lớp attention và feed-forward.
    • Giảm độ sâu của các khối xếp chồng lên nhau để tối ưu hóa tốt hơn.
    • Tận dụng các phép toán tích chập (nếu phù hợp) để có hiệu quả tính toán.
    • Thêm một phép chập tách rời 7x7 ("bộ phận cảm nhận vị trí") vào cơ chế chú ý để mã hóa ngầm thông tin vị trí.
  • Hỗ Trợ Toàn Diện Các Tác Vụ: 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 vùng thể hiện (instance segmentation), phân loại ảnh, ước tính tư thế và phát hiện đối tượng theo hướng (OBB).
  • Nâng cao hiệu quả: Đạ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 đây, thể hiện sự cân bằng được cải thiệ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 nhiều nền tảng khác nhau, từ thiết bị biên đến cơ sở hạ tầng đám mây.

Hình ảnh so sánh YOLO12

Các Tác vụ và Chế độ được Hỗ trợ

YOLO12 hỗ trợ nhiều tác vụ computer vision khác nhau. Bảng dưới đây cho thấy sự hỗ trợ tác vụ và các chế độ hoạt động (Inference, Validation, Training và Export) được kích hoạt cho từng tác vụ:

Loại mô hình Tác vụ Suy luận Xác thực Huấn luyện Xuất
YOLO12 Phát hiện vật thể
YOLO12-seg Phân đoạn
YOLO12-pose Pose (Dáng điệu/Tư thế)
YOLO12-cls Phân loại (Classification)
YOLO12-obb OBB

Các 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 đó nhanh nhất. Dưới đây là kết quả định lượng cho object detection trên tập dữ liệu COCO validation:

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

Hiệu suất

Mô hình Kích thước
(pixels)
mAPval
50-95
Tốc độ
CPU ONNX
(ms)
Tốc độ
T4 TensorRT
(ms)
Tham số
(M)
FLOPs
(B)
So sánh
(mAP/Tốc độ)
YOLO12n 640 40.6 - 1.64 2.6 6.5 +2.1% /-9% (so với YOLOv10n)
YOLO12s 640 48.0 - 2.61 9.3 21.4 +0.1% /+42% (so với RT-DETRv2)
YOLO12m 640 52.5 - 4.86 20.2 67.5 +1.0% /-3% (so với YOLO11m)
YOLO12l 640 53.7 - 6.77 26.4 88.9 +0.4% /-8% (so với YOLO11l)
YOLO12x 640 55.2 - 11.79 59.1 199.0 +0.6% /-4% (so với YOLO11x)
  • Tốc độ suy luận được đo trên NVIDIA T4 GPU với độ chính xác TensorRT FP16.
  • So sánh cho thấy sự cải thiện tương đối về mAP và phần trăm thay đổi về tốc độ (dương cho biết nhanh hơn; âm cho biết chậm hơn). So sánh được thực hiện dựa trên các 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ụ về 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 Validation (Xác thực)Export (Xuất)), hãy tham khảo các trang Predict (Dự đoán)Train (Huấn luyện) chuyên biệt.

Các ví dụ dưới đây tập trung vào các mô hình Detect YOLO12 (để 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, phát hiện đối tượng theo hướng và ước tính tư thế), hãy tham khảo tài liệu dành riêng cho từng tác vụ tương ứng: Segment, Classify, OBBPose.

Ví dụ

Đã huấn luyện trước *.pt các mô hình (sử dụng PyTorch) và cấu hình *.yaml các tệp có thể được chuyển đến YOLO() class để 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")

Các lệnh Command Line Interface (CLI) cũng có sẵn:

# Load a COCO-pretrained YOLO12n model and train on the COCO8 example dataset for 100 epochs
yolo train model=yolo12n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLO12n model and run inference on the 'bus.jpg' image
yolo predict model=yolo12n.pt source=path/to/bus.jpg

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

  1. Cải thiện Trích xuất đặc trưng:

    • Area Attention: Xử lý hiệu quả các receptive field lớn, giảm chi phí tính toán.
    • Cân bằng Tối ưu: Cải thiện sự cân bằng giữa các phép tính mạng lưới chú ý và truyền thẳng.
    • R-ELAN: Tăng cường tổng hợp đặc trưng bằng cách sử dụng kiến trúc R-ELAN.
  2. Đổi mới Tối ưu hóa:

    • Kết nối Tồn dư: Giới thiệu các kết nối tồn dư với tỷ lệ điều chỉnh để ổn định quá trình huấn luyện, đặc biệt là ở các mô hình lớn hơn.
    • Tích hợp tính năng tinh chỉnh: Triển khai một phương pháp cải tiến để tích hợp tính nă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 số lượng 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 đây.
    • Cơ chế Attention được sắp xếp hợp lý: Sử dụng cách triển khai cơ chế attention đơn giản hóa, tránh mã hóa vị trí.
    • Tỷ lệ MLP Tối ưu: Điều chỉnh tỷ lệ MLP để phân bổ hiệu quả hơn các tài nguyên tính toán.

Yêu cầu

Theo mặc định, việc triển khai Ultralytics YOLO12 không yêu cầu FlashAttention. Tuy nhiên, FlashAttention có thể được biên dịch và sử dụng tùy chọn với YOLO12. Để biên dịch FlashAttention, cần có 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 Đại học BuffaloĐại học thuộc Học viện Khoa học Trung Quốc:

@article{tian2025yolov12,
  title={YOLOv12: 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 = {YOLOv12: Attention-Centric Real-Time Object Detectors},
  year = {2025},
  url = {https://github.com/sunsmarterjie/yolov12},
  license = {AGPL-3.0}
}

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

YOLO12 đạt được khả năng phát hiện đối tượng theo thời gian thực đồng thời duy trì độ chính xác cao như thế nào?

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

YOLO12 hỗ trợ những 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 object detection, instance segmentation, image classification, pose estimation và oriented object detection (OBB) (xem chi tiết). Khả năng hỗ trợ tác vụ toàn diện này làm cho YOLO12 trở thành một công cụ mạnh mẽ cho các ứng dụng đa dạng, từ robotics và autonomous driving đến medical imaging và industrial inspection. Mỗi tác vụ này có thể được thực hiện ở các chế độ Inference, Validation, Training và Export.

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

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 đó như YOLOv10 và YOLO11, với một số đánh đổi về tốc độ so với các mô hình trước đó nhanh nhất. Ví dụ: YOLO12n đạt được 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 mức cải thiện mAP +1,5% và mức 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. Xem phần số liệu hiệu suất để so sánh chi tiết.

Các yêu cầu về phần cứng để chạy YOLO12 là gì, đặc biệt là để sử dụng FlashAttention?

Theo mặc định, việc triển khai Ultralytics YOLO12 không yêu cầu FlashAttention. Tuy nhiên, FlashAttention có thể được biên dịch và sử dụng tùy chọn với YOLO12 để giảm thiểu chi phí truy cập bộ nhớ. Để biên dịch FlashAttention, cần có một trong các NVIDIA GPU sau: Turing GPU (ví dụ: T4, Quadro RTX series), Ampere GPU (ví dụ: RTX30 series, A30/40/100), Ada Lovelace GPU (ví dụ: RTX40 series) hoặc Hopper GPU (ví dụ: H100/H200). Tính 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.

Tôi có thể tìm 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 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 dụng. Để biết thông tin cụ thể theo tác vụ (phân đoạn, phân loại, phát hiện đối tượng theo 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.



📅 Đã tạo 6 tháng trước ✏️ Cập nhật 2 tháng trước

Bình luận