Two-Stage Object Detectors
Khám phá cơ chế của các bộ phát hiện object hai giai đoạn, tập trung vào đề xuất vùng và phân loại. Tìm hiểu lý do các model hiện đại như Ultralytics YOLO26 đang dẫn đầu.
Bộ phát hiện đối tượng hai giai đoạn là một lớp kiến trúc học sâu (DL) tinh vi được sử dụng trong thị giác máy tính để nhận diện và định vị các vật thể trong ảnh. Không giống các bộ phát hiện một giai đoạn, vốn thực hiện việc phát hiện chỉ trong một lượt, các model này chia nhiệm vụ thành hai pha riêng biệt: đề xuất vùng và phân loại đối tượng. Cách tiếp cận phân tách này được tiên phong nhằm ưu tiên độ chính xác định vị cao, khiến các bộ phát hiện này có ý nghĩa lịch sử trong quá trình phát triển của trí tuệ nhân tạo (AI). Bằng cách tách biệt “ở đâu” khỏi “là gì”, các bộ phát hiện hai giai đoạn thường đạt độ chính xác cao hơn, đặc biệt với các đối tượng nhỏ hoặc bị che khuất, dù điều này thường phải đánh đổi bằng việc sử dụng nhiều tài nguyên tính toán hơn và độ trễ suy luận cao hơn.
Quy trình hai giai đoạn#
Kiến trúc của bộ phát hiện hai giai đoạn dựa trên một quy trình tuần tự, mô phỏng cách con người có thể cẩn thận xem xét một cảnh.
-
Đề xuất vùng: Ở giai đoạn đầu tiên, model quét ảnh đầu vào để xác định các khu vực tiềm năng có thể chứa đối tượng. Một thành phần có tên là Mạng đề xuất vùng (RPN) tạo ra một tập thưa các hộp ứng viên, thường được gọi là các vùng quan tâm (RoIs). Giai đoạn này loại bỏ phần lớn nền, cho phép mạng tập trung năng lực xử lý vào các khu vực liên quan.
-
Phân loại và tinh chỉnh: Ở giai đoạn thứ hai, model trích xuất đặc trưng từ các vùng ứng viên này bằng Mạng nơ-ron tích chập (CNN). Sau đó, model gán một nhãn lớp cụ thể (ví dụ: “người”, “phương tiện”) cho từng vùng và tinh chỉnh tọa độ của hộp giới hạn để bao sát đối tượng.
Các ví dụ tiêu biểu của kiến trúc này bao gồm họ R-CNN, cụ thể là Faster R-CNN và Mask R-CNN, những model đã thiết lập tiêu chuẩn cho các benchmark học thuật trong nhiều năm.
So sánh với các bộ phát hiện một giai đoạn#
Việc phân biệt các model hai giai đoạn với bộ phát hiện đối tượng một giai đoạn như Bộ phát hiện đa hộp một lần (SSD) và dòng Ultralytics YOLO là rất hữu ích. Trong khi các model hai giai đoạn ưu tiên độ chính xác bằng cách xử lý riêng từng vùng, các model một giai đoạn coi việc phát hiện là một bài toán hồi quy duy nhất, ánh xạ trực tiếp các pixel ảnh tới tọa độ hộp giới hạn và xác suất lớp.
Trong lịch sử, điều này tạo ra một sự đánh đổi: các model hai giai đoạn chính xác hơn nhưng chậm hơn, còn các model một giai đoạn nhanh hơn nhưng kém chính xác hơn. Tuy nhiên, những tiến bộ hiện đại đã làm mờ ranh giới này. Các model tiên tiến như YOLO26 hiện sử dụng kiến trúc end-to-end có độ chính xác tương đương với các bộ phát hiện hai giai đoạn, đồng thời duy trì tốc độ cần thiết cho suy luận thời gian thực.
Các ứng dụng trong thực tế#
Do chú trọng vào precision và recall, các bộ phát hiện hai giai đoạn thường được ưu tiên trong những tình huống mà tính an toàn và mức độ chi tiết quan trọng hơn tốc độ xử lý thuần túy.
- Chẩn đoán hình ảnh y tế: Trong lĩnh vực AI trong chăm sóc sức khỏe, bỏ sót một chẩn đoán có thể gây hậu quả nghiêm trọng. Các kiến trúc hai giai đoạn thường được sử dụng trong phân tích ảnh y tế để phát hiện các bất thường như khối u trên ảnh X-quang hoặc ảnh MRI. Quy trình nhiều bước giúp bảo đảm các tổn thương nhỏ không bị bỏ qua giữa những nền mô phức tạp, cung cấp cho bác sĩ chẩn đoán hình ảnh sự hỗ trợ tự động có độ tin cậy cao.
- Kiểm tra công nghiệp độ chính xác cao: Trong sản xuất thông minh, các hệ thống kiểm tra bằng hình ảnh tự động sử dụng những model này để xác định các khuyết tật siêu nhỏ trên dây chuyền lắp ráp. Ví dụ, việc phát hiện một vết nứt chân tóc trên cánh tuabin đòi hỏi độ chính xác cao của chỉ số giao trên hợp (IoU) mà các bộ phát hiện hai giai đoạn cung cấp, bảo đảm chỉ những linh kiện hoàn hảo mới được chuyển sang công đoạn tiếp theo của quá trình sản xuất.
Triển khai công nghệ phát hiện hiện đại#
Mặc dù các bộ phát hiện hai giai đoạn đã đặt nền tảng cho thị giác máy tính có độ chính xác cao, các developer hiện đại thường sử dụng những model một giai đoạn tiên tiến, cung cấp hiệu năng tương đương với quy trình triển khai đơn giản hơn đáng kể. Ultralytics Platform đơn giản hóa việc training và triển khai các model này, đồng thời quản lý hiệu quả dataset và tài nguyên tính toán.
Ví dụ Python sau đây minh họa cách tải và chạy suy luận bằng quy trình phát hiện đối tượng hiện đại với ultralytics, đạt được kết quả có độ chính xác cao tương tự các phương pháp hai giai đoạn truyền thống nhưng hiệu quả hơn:
from ultralytics import YOLO
# Load the YOLO26 model, a modern high-accuracy detector
model = YOLO("yolo26n.pt")
# Run inference on an image to detect objects
results = model("https://ultralytics.com/images/bus.jpg")
# Process results (bounding boxes, classes, and confidence scores)
for result in results:
result.show() # Display the detection outcomes
print(result.boxes.conf) # Print confidence scores








