Deep Learning

✨ Hành trình học deep learning

Giải thích bài báo DEtection TRansformer


Từ trước đến nay bài toán object detection thường dựa vào các thuật toán thiết kế thủ công như Non-maximum Suppession, hay anchor generation để thiết kế mạng network. Bài báo này đưa ra một phương pháp mới mới gọi là "DEtection TRansformer" sử dụng kiến trúc transfomer để giải quyết bài toán object detection.

Một số khái niệm

Hungarian Algotithm

Bài toán
Một nhà máy có bốn nhân công thực hiện 4 công việc khác nhau trong

$$

\left[

\begin{array}{llll} 30 & 40 & 50 & 60 \\ 70 & 30 & 40 & 70 \\ 60 & 50 & 60 & 30 \\ 20 & 80 & 50 & 70 \end{array}

\right]

$$

Kiến trúc mạng DETR

'DETR'

Kiến trúc mạng DETR gồm 3 thành phần chính

  1. Backbone network

    Tương tự như Faster RCNN, DETR sử dụng một mạng CNN để thu được convolutional features của ảnh đầu vào.

    Với mỗi ảnh đầu vào có kích thước

    $$x_{\mathrm{img}} \in \mathbb{R}^{3 \times H_{0} \times W_{0}}$$

    thu được convolutional features có kích thước

    $$f \in \mathbb{R}^{C \times H \times W} $$

    trong đó \(C=2048\) , \(H, W=\frac{H_{0}}{32}, \frac{W_{0}}{32}\)

    'Fast RCNN'

  2. Transformer encoder

    Ở đây, tác giả sử dụng \(1x1\) convolution để giảm chiều convolutional features từ \(C\) xuống \(z_{0} \in \mathbb{R}^{d \times H \times W}\). Bởi vì encoder có đầu vào dạng sequence, tại đây, features được flatten thành \(z_{0} \in \mathbb{R}^{d \times HW}\)

    'Fast RCNN'

    'Encoder-Decoder' | Hello

Loss Function

DETR cho ra output gồm N dự đoán

$$y = N \times \left(c_{i} , b_{i}\right)$$

với \(c_{i}\) là xác suất

$$\hat{y} = N \times \left(c_i , b_i\right)$$

$$

\hat{\sigma}=\underset{\sigma \in \mathfrak{S}{N}}{\arg \min } \sum^{N} \mathcal{L}{\mathrm{match}}\left(y, \hat{y}_{\sigma(i)}\right)

$$

Hungarian Loss

$$ \mathcal{L}_{\text {Hungarian }}(y, \hat{y})=\sum_{i=1}^{N}\left[-\log \hat{p}_{\hat{\sigma}(i)}\left(c_{i}\right)+\mathbb{1}_{\left\{c_{i} \neq \varnothing\right\}} \mathcal{L}_{\mathrm{box}}\left(b_{i}, \hat{b}_{\hat{\sigma}}(i)\right)\right] $$