YOLO12: Phát hiện đối tượng tập trung sự chú ý
Tổng quan
YOLO12 giới thiệu một kiến trúc tập trung vào sự chú ý, khác với các phương pháp tiếp cận dựa trên CNN truyền thống được sử dụng trước đây YOLO mô hình, nhưng vẫn giữ được tốc độ suy luận 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 đối tượng tiên tiến thông qua các cải tiến phương pháp mới 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.
Đồng hồ: Cách sử dụng YOLO12 để phát hiện đối tượng với Ultralytics Gói | YOLO12 Nhanh hay Chậm? 🚀
Các tính năng chính
- Cơ chế chú ý khu vực : 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 bản đồ đặc điểm 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ì 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 tự chú ý tiêu chuẩn.
- Mạng tổng hợp lớp hiệu quả còn lại (R-ELAN): Một mô-đun tổng hợp tính nă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 tập trung vào sự chú ý ở quy mô lớn hơn. R-ELAN giới thiệu:
- Kết nối dư thừa cấp khối với khả năng mở rộng quy mô (tương tự như khả năng mở rộng quy mô lớp).
- Phương pháp tổng hợp tính năng được thiết kế lại tạo ra 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 hợp lý hóa cơ chế chú ý tiêu chuẩn để có hiệu quả cao hơn và tương thích với YOLO khung. 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ô hình sạch hơn và nhanh hơn.
- Điều chỉnh tỷ lệ MLP (từ mức thông thường là 4 xuống 1,2 hoặc 2) để cân bằng tốt hơn việc tính toán giữa lớp chú ý và lớp truyền tiếp.
- Giảm độ sâu của các khối xếp chồng để cải thiện khả năng tối ưu hóa.
- Tận dụng các phép toán tích chập (nếu thích hợp) để tăng hiệu quả tính toán.
- Thêm phép tích chập tách biệt 7x7 ("bộ cảm nhận vị trí") vào cơ chế chú ý để mã hóa ngầm thông tin vị trí.
- 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ể hiện , phân loại hình ảnh , ước tính tư thế và phát hiện đối tượng theo hướng (OBB).
- Hiệu quả nâng cao : Đạt được độ chính xác cao hơn với ít thông số hơn so với nhiều mẫu trước đây, chứng tỏ 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.
Nhiệm vụ và chế độ được hỗ trợ
YOLO12 hỗ trợ nhiều tác vụ thị giác máy tính. Bảng dưới đây hiển thị hỗ trợ tác vụ và chế độ hoạt động (Suy luận, Xác thực, Đào tạo và Xuất) được bật cho từng tác vụ:
Kiểu mẫu | Nhiệm vụ | Suy luận | Xác thực | Đào tạo | Xuất khẩu |
---|---|---|---|---|---|
YOLO12 | Phát hiện | ✅ | ✅ | ✅ | ✅ |
YOLO12 đoạn | Phân đoạn | ✅ | ✅ | ✅ | ✅ |
YOLO12-tư thế | Tư thế | ✅ | ✅ | ✅ | ✅ |
YOLO12-lớp | Phân loại | ✅ | ✅ | ✅ | ✅ |
YOLO12-obb | OBB | ✅ | ✅ | ✅ | ✅ |
Số liệu hiệu suất
YOLO12 chứng minh những cải tiến đáng kể về độ chính xác trên tất cả các thang đo mô hình, với một số sự đánh đổi về tốc độ so với phiên bản nhanh nhất trước đó YOLO mô hình. Dưới đây là kết quả định lượng để phát hiện đối tượng trên tập dữ liệu xác thực COCO:
Hiệu suất phát hiện (COCO val2017)
Hiệu suất
Người mẫu | kích cỡ (điểm ảnh) |
giá trị mAP 50-95 |
Tốc độ CPU ONNX (bệnh đa xơ cứng) |
Tốc độ T4 TensorRT (bệnh đa xơ cứng) |
tham số (Nam) |
Thất bại (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 một NVIDIA T4 GPU với TensorRT Độ chính xác FP16.
- So sánh cho thấy sự cải thiện tương đối trong mAP và phần trăm thay đổi về tốc độ (dương biểu thị nhanh hơn; âm biểu thị chậm hơn). So sánh được thực hiện với 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ề đào tạo và suy luận với YOLO12. Để biết thêm 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ực và Xuất ), hãy tham khảo các trang Dự đoán và Đào tạo chuyên dụng.
Các ví dụ bên dưới tập trung vào các mô hình YOLO12 Detect (để 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 cụ thể cho từng tác vụ: Segment , Classify , OBB và Pose .
Ví dụ
Đã được đào tạo trước *.pt
mô hình (sử dụng PyTorch) và cấu hình *.yaml
các tập tin có thể được chuyển đến YOLO()
lớp để 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")
Giao diện dòng lệnh ( CLI ) lệnh cũng có sẵn:
Những cải tiến chính
-
Trích xuất tính năng nâng cao :
- Lưu ý về khu vực : 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 được tối ưu hóa : Cải thiện sự cân bằng giữa sự chú ý và tính toán mạng truyền thẳng.
- R-ELAN : Nâng cao khả năng tổng hợp tính năng bằng kiến trúc R-ELAN.
-
Đổi mới tối ưu hóa :
- Kết nối dư thừa : Giới thiệu các kết nối dư thừa với khả năng mở rộng để ổn định quá trình đào tạo, đặc biệt là trong các mô hình lớn hơn.
- Tích hợp tính năng tinh chỉnh : Triển khai 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ớ.
-
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 đây.
- Sự chú ý được sắp xếp hợp lý : Sử dụng cách triển khai sự chú ý được đơn giản hóa, tránh mã hóa theo vị trí.
- Tỷ lệ MLP được 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
Các Ultralytics Theo mặc định, việc triển khai 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, một trong những điều sau đây NVIDIA GPU là cần thiết:
- GPU Turing (ví dụ: dòng T4, Quadro RTX)
- GPU Ampere (ví dụ: dòng RTX30, A30/40/100)
- GPU Ada Lovelace (ví dụ: dòng RTX40)
- GPU phễu (ví dụ: H100/H200)
Trích dẫn và Lời cảm ơ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 và Viện Hàn lâm 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
Làm thế nào YOLO12 có thể phát hiện đối tượng 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ố cải tiến quan trọng để cân bằng tốc độ và độ chính xác. Cơ chế 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 so với self-attention tiêu chuẩn. Residual Efficient Layer Aggregation Networks (R-ELAN) cải thiện tổng hợp tính nă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 sự chú ý lớn hơn. Kiến trúc Attention được 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 tăng cường hiệu quả hơn nữa. Các tính năng này cho phép YOLO12 đạt được độ chính xác tiên tiến trong khi vẫn duy trì tốc độ suy luận thời gian thực 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 đa năng hỗ trợ nhiều tác vụ thị giác máy tính cốt lõi. Nó nổi trội trong việc phát hiện đối tượng, phân đoạn thể hiện, phân loại hình ảnh, ước tính tư thế và phát hiện đối tượng theo hướng (OBB) ( xem chi tiết ). Hỗ trợ tác vụ toàn diện này giúp YOLO12 trở thành một công cụ mạnh mẽ cho nhiều ứng dụng khác nhau, từ robot và lái xe tự động đến hình ảnh y tế và kiểm tra công nghiệp. Mỗi tác vụ này có thể được thực hiện ở chế độ Suy luận, Xác thực, Đào tạo và Xuất.
YOLO12 so sánh với các loại khác như thế nào? YOLO các mô hình và đối thủ cạnh tranh như RT-DETR ?
YOLO12 chứng minh những cải tiến đáng kể về độ chính xác trên tất cả các thang đo mô hình so với trước đây YOLO các mô hình như YOLOv10 và YOLO11 , với một số sự đánh đổi về tốc độ so với các mô hình trước đó nhanh nhất . Ví dụ, YOLO12n đạt đượ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 cung cấp 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. Xem phần số liệu hiệu suất để biết các so sánh chi tiết.
Yêu cầu về phần cứng để chạy YOLO12, đặc biệt là khi sử dụng FlashAttention là gì?
Theo mặc định, Ultralytics Việc triển khai YOLO12 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, một trong những điều sau đây NVIDIA GPU cần thiết: 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). 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 để đào tạo và suy luận. Để biết 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ực và Xuất , hãy tham khảo các trang Dự đoán và Đào tạo chuyên dụng. Để biết thông tin cụ thể về nhiệm 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 , OBB và Tư 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 nhiều tình huống khác nhau.