menu

PAPER_READER_2: Fast R-CNN - P2: Kiến trúc mạng và training.

​ Bài viết dựa trên nội dung paper Fast R-CNN (Ross Girshick).

P1: Giới thiệu


Untitled

 

 

2. Kiến trúc mạng và training

  • Input của mạng Fast R-CNN là toàn bộ ảnh và tập hợp các bounding-box của vật thể.

  • Đầu tiên mạng sẽ trích xuất feature map bằng convolutionmax-pooling.

  • Feature map của bounding-box sau đó được đưa qua lớp RoI pooling.

  • Từng feature vector được nối với một chuỗi các fully connected (fc) layers rồi cuối cùng đưa ra 2 output:

    • Một output dùng softmax để đưa ra dự đoán class trong class ( classes + background).
    • Output kia trả về 4 giá trị của từng object để xác định bounding-box của vật thể.
2.1. RoI pooling layers
  • RoI pooling sử dụng max-pooling để convert feature map của bounding-box về kích cỡ (thường được chọn ).
  • RoI được xác định là cửa sổ hình chữ nhật trong feature map. Đại diện cho nó là 4 tham số , với là vị trí góc trên bên trái của hình chữ nhật, lần lượt là chiều cao và chiều rộng.
  • RoI max-pooling chia bounding-box thành các cửa sổ nhỏ rồi dùng max-pooling đưa output về dạng .
  • Bạn đọc tìm hiểu rõ hơn tại đây.
2.2. Initializing from pre-trained
  • Các mạng VGG thường được dùng trong image classification. Khi thực hiện pre-train cho mạng Fast R-CNN, ta cần chỉnh sửa một chút như sau:

    • Lớp max-pooling cuối cùng được thay bằng RoI pooling.
    • Lớp fcsoftmax cuối cùng được thay thế bằng 2 lớp như đã đề cập ở trên (fc+softmax (K+1) classesbounding-box).
    • Dữ liệu đầu vào phải bao gồm ảnh và list các RoI của từng ảnh.
2.3. Fine-tuning for detection
  • Multi-task loss:

    • Quy ước:

      • là class nhãn.
      • bounding-box nhãn của class với .
    • Mạng Fast R-CNN trả về hai output:

      • là dự đoán phân phối xác suất của classes.
      • bounding-box dự đoán của class với .
    • của class được định nghĩa:

    • Từng RoI được gán nhãn bounding-box . Hàm loss của RoI này sau khi được predict là:

      • phụ thuộc vào nhãn và predict . nếu và bằng nếu ngược lại, nghĩa là: nếu (tức vật thể trong RoIbackground) thì được bỏ qua.

      • , với:

      • là tham số dùng để cân bằng giữa hai loss. Bounding-box thường được chuẩn hóa về zero mean and unit variance.

  • Mini-batch sampling:

    • Mỗi vòng lặp sẽ chọn ngẫu nhiên images trong bộ dataset. Dùng selective search [3] lấy mẫu 64 RoIs mỗi image.

      • Lấy những RoIsIoU >0.5, gán nhãn class cho RoI đó ().
      • Phần còn lại (IoU) lấy RoIIoU max, nhãn là .
    • Trong suốt quá trình training, image flipped với xác suất 0.5. Không sử dụng data augmention.

  • Backpropagation through RoI pooling layers:

    • là in input thứ của lớp RoI pooling, là lớp output thứ của RoI thứ .

    • Do đó ta có: với

    • Công thức đạo hàm sẽ là:

  • SGD hyper-parameters:

    • Mạng Fast R-CNN dùng softmax cho phân lớp và bounding-box được khởi tạo bằng zero-mean Gaussian với độ lệch chuẩn khoảng , bias ban đầu bằng .
    • Mỗi layer sử dụng learning rate cho weights cho biases. Global learning rate được chọn là . Đi với đó là momentum parameter decay cho cả weightsbiases.

 

Tham khảo

[1] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich feature hierarchies for accurate object detection and semantic segmentation. In CVPR, 2014.

[2] Fast R-CNN for object detection | Toward Data Science

[3] J. Uijlings, K. van de Sande, T. Gevers, and A. Smeulders. Selective search for object recognition. IJCV, 2013.