- vừa được xem lúc

DINO: SOTA của Object Detection có gì hay ho

0 0 29

Người đăng: Đặng Hồng Thanh

Theo Viblo Asia

1. Lời mở đầu

Trong 2 bài review lần trước mình đã giới thiệu về DETRDeformable DETR. Các tác giả tiếp theo đã đưa ra những cải tiến tích cực cho DETR như: DAB-DETR cải tiến bằng việc đưa ra kiểu query mới học trực tiếp anchor bằng query , hay như DN-DETR cải tiến bằng việc thêm noise để tăng tốc độ huấn luyện mô hình,... DINO đã kế thừa và cải tiến được những kĩ thuật này để cải tiến hiệu năng.

2. Những kỹ thuật áp dụng trong DINO

2.1 Contrastive Denoising (DN)

DN-DETR được đưa ra và rất hiệu quả trong việc làm ổn định quá trình training và tăng tốc hội tụ. Những sample noise được đưa ra trong DN-DETR đều là positive sample, nhưng mô hình cũng cần biết làm sao để phân biệt negative samples. Cụ thể trong DINO hay các mô hình DETR-like sau này sử dụng lên tới 900 query nhưng chỉ có một vài object trong ảnh nên chủ yếu vẫn là negative sample. Bởi vậy, nhóm tác giả đã đưa ra một phương pháp huấn luyện mới để xác định negative samples. Như hình trên ta có thể thấy sự cải tiến, không những có positive noise mà còn có cả negative noise. Khi noise được thêm vào nhiều thì coi nó như là 1 negative sample, và nó sẽ được dự đoán là không chứa object khi training. Cùng lúc, khi mà negative sample gần với box thật, nó làm khó mô hình trong việc phân biệt những negative sample khó và làm cho mô hình học cho việc phân biệt giữa positive và negative sample.

2.2 Mix Query Selection

Trong DETR và DN-DETR decoder query là static embeddings và không có bất kì mối liên hệ nào với encoder features được encode từ ảnh. Chúng học anchors (ở DN-DETR và DAB-DETR) hoặc positional queries (ở DETR) trực tiếp từ training data và content query được khởi tạo bằng 0. Deformable DETR học cả positional và content queries, Deformable DETR có một phiên bản cải tiến chọn top K encoder feature từ lớp encoder cuối cùng để làm priors cho decoder queries. Như hình bên phải trong cùng có thể cho ta thấy là DINO chỉ khởi tạo thông tin position của anchor boxes từ top-K features được chọn và content queries là statics. Tác giả cũng định nghĩa static ở đây nghĩa là nó không thay đổi giữa các ảnh khi inference. Deformable DETR sử dụng top-K feature để refine cả positional queries và content queries trong khi Mix Query Selection chỉ sử dụng top-K feature để refine positional queries và giữ content queries learnable như trước.

2.3 Look forward twice

Tác giả đã đưa ra cách đưa ra dự đoán box mới. Interative box refinement ở Deformable DETR ngăn lan truyền ngược để ổn định quá trình huấn luyện. Và cách Deformable DETR thực hiện được nhóm tác giả gọi là "look forward once". Sở dĩ nó được đặt tên là "look forward once" bởi vì tham số ở layer i chỉ được cập nhật dựa trên loss của box bi. Tuy nhiên tác giả DINO lại nhận ra rằng là những thông tin của box ở phía sau có thể hữu dụng cho việc điều chỉnh box ở phía trước lân cận nó. Vậy nên tác giả đưa ra phương thức cập nhật mới là tham số ở layer i sẽ được cập nhật bởi losses ở cả layer i và layer (i+1).

box dự đoán bi(pred)b_i^{(pred)} được dự đoán bởi 2 thành phần: 1 là box khởi đạo bi1b_{i-1} và offset Δbi\Delta b_i

3. Kết quả của DINO ấn tượng thế nào

DINO đã cải thiện +4.5 AP so với DN-Deformabled-DETR với cùng settinglaf ResNet-50 với 4-scale featuremap và cải thiện +4.9 AP khi sử dụng 5-scale. Và đặc biệt hiệu quả với những object có kích thước nhỏ +6.4 AP với 4-scale và +7.4 AP với 5-scale. Lần đầu tiên end-to-end Transformer detector đạt SOTA trên leaderboad.

4. Tham khảo

End-to-End Object Detection with Transformers: DETR

Deformable DETR: Deformable Transformers for End-to-End Object Detection

DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tấn công và phòng thủ bậc nhất cực mạnh cho các mô hình học máy

tấn công bậc nhất cực mạnh = universal first-order adversary. Update: Bleeding edge của CleverHans đã lên từ 3.1.0 đến 4.

0 0 42

- vừa được xem lúc

[Deep Learning] Key Information Extraction from document using Graph Convolution Network - Bài toán trích rút thông tin từ hóa đơn với Graph Convolution Network

Các nội dung sẽ được đề cập trong bài blog lần này. . Tổng quan về GNN, GCN. Bài toán Key Information Extraction, trích rút thông tin trong văn bản từ ảnh.

0 0 219

- vừa được xem lúc

Trích xuất thông tin bảng biểu cực đơn giản với OpenCV

Trong thời điểm nhà nước đang thúc đẩy mạnh mẽ quá trình chuyển đổi số như hiện nay, Document Understanding nói chung cũng như Table Extraction nói riêng đang trở thành một trong những lĩnh vực được quan tâm phát triển và chú trọng hàng đầu. Vậy Table Extraction là gì? Document Understanding là cái

0 0 230

- vừa được xem lúc

Con đường AI của tôi

Gần đây, khá nhiều bạn nhắn tin hỏi mình những câu hỏi đại loại như: có nên học AI, bắt đầu học AI như nào, làm sao tự học cho đúng, cho nhanh, học không bị nản, lộ trình học AI như nào... Sau nhiều lần trả lời, mình nghĩ rằng nên viết hẳn một bài để trả lời chi tiết hơn, cũng như để các bạn sau này

0 0 157

- vừa được xem lúc

[B5'] Smooth Adversarial Training

Đây là một bài trong series Báo khoa học trong vòng 5 phút. Được viết bởi Xie et. al, John Hopkins University, trong khi đang intern tại Google. Hiện vẫn là preprint do bị reject tại ICLR 2021.

0 0 45

- vừa được xem lúc

Deep Learning với Java - Tại sao không?

Muốn tìm hiểu về Machine Learning / Deep Learning nhưng với background là Java thì sẽ như thế nào và bắt đầu từ đâu? Để tìm được câu trả lời, hãy đọc bài viết này - có thể kỹ năng Java vốn có sẽ giúp bạn có những chuyến phiêu lưu thú vị. DJL là tên viết tắt của Deep Java Library - một thư viện mã ng

0 0 139