👉 Đọc bài này của Phạm Đình Khánh ← Nói tới Faster R-CNN mà thôi, sau đó là nhắc tới Mask R-CNN và cái này được tích hợp trong Detectron2 của Facebook.

⭐  Hiểu theo cách bình dân: Cơ bản về Object Detection với R-CNN, Fast R-CNN, Faster R-CNN và YOLO - Mì AI

Good: Object Detection for Dummies Part 3: R-CNN Family

👇 (theo bài của Mì AI + vài thứ thêm vào)

R-CNN (Region Based Convolutional Neural Networks)

Từ ảnh gốc → tách ra 2k ROI (regions proposal có chứa vật thể) → đưa vào CNN để xác định và tính toán. ← Nhược: dùng selective search để tìm ra 2k ROI + xử lý tới 2k ROI như 2k hình riêng biệt vào trong CNN ← slow (47s/ảnh input)

Untitled

Source.

Source.

Fast R-CNN

(Use a single model instead of pipeline like R-CNN)

Xử lý được vụ “xử lý riêng bằng CNN” 2K hình riêng biệt (2K ROI kia) bằng cách chỉ đưa ảnh gốc (và các ROIs này) vào CNN → ra feature map (của hình + các ROIs) → ROI pooling (để đưa các region proposal trong feature map về cùng kích thước do bước feature map ko thể resize được) + xác định ROI (cũng lại dùng selective search) → ….

Untitled

VGG16 (an example in this case) mapping our image into 16x16x512 feature map

VGG16 (an example in this case) mapping our image into 16x16x512 feature map

Mapping our RoIs onto the output of VGG16

Mapping our RoIs onto the output of VGG16

Kiến trúc single model Fast R-CNN (được trích xuất từ bài báo gốc). Ở bước đầu ta áp dụng một mạng Deep CNN để trích xuất ra feature map. Thay vì warp image của region proposal như ở R-CNN chúng ta xác dịnh ngay vị trí hình chiếu của của region proposal trên feature map thông qua phép chiếu RoI projection.
 Vị trí này sẽ tương đối với vị trí trên ảnh gốc. Sau đó tiếp tục truyền output qua các layer RoI pooling layer và các Fully Connected layers để thu được RoI feature véc tơ. Sau đó kết quả đầu ra sẽ được chia làm 2 nhánh. 1 Nhánh giúp xác định phân phối xác suất theo các class của 1 vùng quan tâm RoI thông qua hàm softmax và nhánh còn xác định tọa độ của bounding box thông qua hồi qui các offsets.

Kiến trúc single model Fast R-CNN (được trích xuất từ bài báo gốc). Ở bước đầu ta áp dụng một mạng Deep CNN để trích xuất ra feature map. Thay vì warp image của region proposal như ở R-CNN chúng ta xác dịnh ngay vị trí hình chiếu của của region proposal trên feature map thông qua phép chiếu RoI projection.  Vị trí này sẽ tương đối với vị trí trên ảnh gốc. Sau đó tiếp tục truyền output qua các layer RoI pooling layer và các Fully Connected layers để thu được RoI feature véc tơ. Sau đó kết quả đầu ra sẽ được chia làm 2 nhánh. 1 Nhánh giúp xác định phân phối xác suất theo các class của 1 vùng quan tâm RoI thông qua hàm softmax và nhánh còn xác định tọa độ của bounding box thông qua hồi qui các offsets.

Weak: Mô hình này nhanh hơn đáng kể cả về huấn luyện và dự đoán, tuy nhiên vẫn cần một tập hợp các region proposal được đề xuất cùng với mỗi hình ảnh đầu vào.

Faster R-CNN

Ngay cái bước dùng selective search để tìm ROI, mấy ông tác giả (mới) này dùng 1 mạng RPN (Region Proposal Network) riêng biệt để tìm ra ROI → còn lại giống Fast R-CNN