Faster R-CNN: Tổng Quan
Nội dung
- 1. Giới thiệu
- 2. Kiến trúc của Faster R-CNN
- 3. Luồng hoạt động của mô hình
- 4. Ưu điểm và nhược điểm
- 5. Huấn luyện Faster R-CNN (Demo nhỏ)
- 6. Tham khảo
1. Giới thiệu
Faster R-CNN là một mô hình phát hiện đối tượng hiện đại, kết hợp mạng đề xuất vùng (Region Proposal Network - RPN) với mạng phát hiện để tạo ra hệ thống phát hiện nhanh và chính xác. Khác với các phương pháp trước sử dụng thuật toán tạo vùng thủ công (như Selective Search), Faster R-CNN sử dụng RPN, một mạng tích chập hoàn toàn (fully convolutional), để sinh ra các vùng đề xuất trực tiếp từ đặc trưng hình ảnh. Mô hình chia sẻ các tầng tích chập giữa RPN và mạng phát hiện, giúp giảm chi phí tính toán đáng kể.
Mô hình gồm hai giai đoạn:
- Stage 1: RPN đề xuất các vùng tiềm năng có thể chứa vật thể trong ảnh.
- Stage 2: Mạng phân loại và hồi quy sử dụng các vùng được đề xuất để xác định nhãn lớp và tinh chỉnh hộp bao cho chính xác.
2. Kiến trúc của Faster R-CNN
kiến trúc mô hình faster rcnn
2.1 CNN backbone
CNN backbone là mạng tích chập chính được dùng để trích xuất đặc trưng từ ảnh đầu vào. Các mạng phổ biến như VGG16 hoặc ResNet được sử dụng để tạo ra bản đồ đặc trưng (feature map). Các đặc trưng này sau đó được chia sẻ giữa cả RPN và mạng phân loại cuối cùng, giúp tiết kiệm chi phí tính toán.
2.2 Region Proposal Network (RPN)
RPN là thành phần thay thế các phương pháp tạo vùng thủ công như Selective Search. Nó là một mạng tích chập nhỏ hoạt động trên bản đồ đặc trưng và sinh ra các vùng đề xuất (region proposals). Mỗi vị trí trên bản đồ đặc trưng sẽ sinh ra nhiều “anchor boxes” với các tỷ lệ và kích thước khác nhau. RPN dự đoán:
- Mức độ có khả năng chứa vật thể (objectness score)
- Toạ độ biên dạng của hộp (bounding box regression)
2.3 RoI Pooling & Classification
Các vùng đề xuất từ RPN có kích thước không đồng nhất, nên cần được chuẩn hoá bằng RoI Pooling để có kích thước cố định (ví dụ 7×7). Sau đó, các vùng này được đưa qua các tầng fully connected để:
- Phân loại vùng đó là thuộc lớp nào (classification)
- Điều chỉnh lại bounding box cho chính xác hơn (bounding box regression)
3. Luồng hoạt động của mô hình
🔹 Stage 1: Region Proposal (RPN)
- Ảnh đầu vào được đưa qua CNN backbone (VGG16, ResNet…) để tạo ra feature map.
- RPN hoạt động trên feature map để sinh ra các region proposals – vùng có khả năng chứa vật thể, kèm theo điểm tin cậy và tọa độ.
🔹 Stage 2: Object Detection
- Các region proposals được sử dụng để trích xuất vùng tương ứng từ feature map và chuẩn hóa kích thước bằng RoI Pooling.
- Các vùng này được đưa qua mạng con phân loại và hồi quy:
- Xác định nhãn lớp của đối tượng
- Tinh chỉnh lại bounding box
- Kết quả đầu ra là danh sách các bounding box chứa vật thể, kèm nhãn và độ tin cậy.
4. Ưu điểm và nhược điểm
✅ Ưu điểm
- Tốc độ nhanh hơn các phương pháp trước (như R-CNN, Fast R-CNN) nhờ tích hợp RPN và chia sẻ feature map.
- Độ chính xác cao trong phát hiện vật thể.
- Huấn luyện end-to-end: dễ dàng tối ưu toàn bộ mô hình.
- Linh hoạt: dễ thay thế backbone (VGG, ResNet…) hoặc kết hợp với các cải tiến mới.
❌ Nhược điểm
- Chưa đạt real-time trên CPU, cần GPU để chạy nhanh (~5fps với VGG-16).
- Phức tạp trong triển khai hơn so với các mô hình một giai đoạn như YOLO hay SSD.
- Không tối ưu cho thiết bị di động do kích thước mô hình lớn.
5. Huấn luyện Faster R-CNN (Demo nhỏ)
Download source code
6. Tham khảo
[1] S. Ren, K. He, R. Girshick, J. Sun. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks. arXiv:1506.01497v3 [cs.CV], 2016. 🔗 https://arxiv.org/abs/1506.01497