Khám phá vai trò quan trọng của detection head trong object detection, tinh chỉnh các bản đồ đặc trưng để xác định chính xác vị trí và lớp của đối tượng.
Đầu phát hiện là thành phần cuối cùng và có lẽ là quan trọng nhất của mô hình phát hiện đối tượng, đóng vai trò là lớp ra quyết định, chuyển đổi các đặc điểm hình ảnh được mã hóa thành các dự đoán khả thi. Nằm ở cuối mạng nơ-ron học sâu, cụ thể là sau xương sống và cổ, đầu phát hiện xử lý các bản đồ đặc điểm cấp cao để tạo ra đầu ra cuối cùng: lớp của đối tượng và vị trí chính xác của nó trong ảnh. Trong khi các lớp trước đó của mạng tập trung vào việc trích xuất đặc điểm—xác định các cạnh, kết cấu và các mẫu phức tạp—đầu phát hiện diễn giải dữ liệu này để trả lời câu hỏi "nó là gì?" và "nó ở đâu?"
Nhiệm vụ chính của đầu phát hiện là thực hiện hai nhiệm vụ riêng biệt nhưng đồng thời: phân loại và hồi quy. Trong các kiến trúc phát hiện đối tượng hiện đại, các nhiệm vụ này thường được xử lý bởi các nhánh riêng biệt trong đầu, một lựa chọn thiết kế cho phép mô hình chuyên biệt hóa các khía cạnh dự đoán khác nhau.
Đầu ra từ đầu phát hiện thường là một tập hợp dày đặc các phát hiện ứng viên. Để hoàn thiện kết quả, các bước hậu xử lý như NMS (Non-Maximum Suppression) được áp dụng để lọc ra các hộp chồng chéo và chỉ giữ lại những dự đoán đáng tin cậy nhất.
Thiết kế của đầu phát hiện quyết định cách mô hình tiếp cận vấn đề định vị vật thể.
Hiệu quả và độ chính xác của đầu phát hiện rất quan trọng để triển khai trí tuệ nhân tạo (AI) trong các môi trường phức tạp.
Sẽ rất hữu ích khi phân biệt đầu phát hiện với các thành phần chính khác của Mạng nơ-ron tích chập (CNN) :
Sau đây là Python đoạn mã minh họa cách kiểm tra đầu phát hiện của một thiết bị đã được đào tạo trước YOLO11 mô hình sử dụng ultralytics gói. Điều này giúp người dùng hiểu cấu trúc của lớp cuối cùng chịu trách nhiệm suy luận.
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Inspect the final detection head layer
# This typically reveals the number of classes (nc) and anchors/outputs
print(model.model.model[-1])
# Run inference to see the head's output in action
results = model("https://ultralytics.com/images/bus.jpg")
Việc hiểu rõ đầu phát hiện là điều cần thiết cho bất kỳ ai muốn tối ưu hóa hiệu suất mô hình hoặc thực hiện các tác vụ nâng cao như học chuyển giao, trong đó đầu thường được thay thế để huấn luyện mô hình trên một tập dữ liệu tùy chỉnh mới. Các nhà nghiên cứu liên tục thử nghiệm các thiết kế đầu mới để cải thiện các chỉ số như Độ chính xác trung bình ( mAP ) , mở rộng giới hạn mà thị giác máy tính có thể đạt được.