物体検出向けTransformer系の論文調査


# 記事概要

Transformerを使用した物体検出向けの論文調査メモ。誤りもあると思われるので随時修正＆更新していく。

## MSCOCOでの比較

学習時計算量多すぎる、と思いきや[HTC](https://openaccess.thecvf.com/content_CVPR_2019/html/Chen_Hybrid_Task_Cascade_for_Instance_Segmentation_CVPR_2019_paper.html)だから多いみたい。SwinTransformer自体はそこまで学習時計算量を増やさず、CNN系バックボーンに比べると微増、Vision Transformerよりは少ない計算量である[[Liu2021](https://openaccess.thecvf.com/content/ICCV2021/html/Liu_Swin_Transformer_Hierarchical_Vision_Transformer_Using_Shifted_Windows_ICCV_2021_paper.html)]。SwinTransformer V2はV1と計算量はほぼ同じ。

Backbone|Detector|mAP|params|FLOPS|
--------|--------|---|------|-----|
DarkNet(P6)|YOLOv4|54.9%|128M|718G|
DarkNet(P6)|YOLOR|55.4%|37M|[326G](https://github.com/WongKinYiu/yolor/issues/1)|
DarkNet(D6)|YOLOR|57.3%|152M|[937G](https://github.com/WongKinYiu/yolor/issues/1)|
ViT|YOLOv4||||
SwinV1-L |HTC++|58.7%|284M|1470G|
Dual-SwinV1-L|HTC|60.1%|453M|2162G|
SwinV2-L|HTC++|60.8%|284M||
SwinV2-G|HTC++|63.1%|30B||

# ViT-YOLO:Transformer-Based YOLO for Object Detection [Zhang2021] <font color=FireBrick>ICCV2021</font>

Zhang, Zixiao, et al. "ViT-YOLO: Transformer-Based YOLO for Object Detection." Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021.

https://openaccess.thecvf.com/content/ICCV2021W/VisDrone/html/Zhang_ViT-YOLOTransformer-Based_YOLO_for_Object_Detection_ICCVW_2021_paper.html

### 概要

[課題]：ドローンの空撮映像は同一カテゴリ物体でも映っている大きさはまちまちであり、視点変化も大きい。
[従来]：YOLOv4等で使用されているCNN系バックボーンは深いレイヤほど解像度が落ちるため、大きい物体は正確な位置検出ができず、小さい物体は検出そのものが難しい。
[提案]：Vision Transformerの機構を取り入れたMHSA-Darknetバックボーンを提案
[効果]：VisDrone-DET 2021にてYOLOv4-P7を超えてSOTA、VisDrone2019ではYOLOv4-P7を5Pt以上改善し、mAP41%となった。

### 手法詳細

MHSA-Darknetは P7アーキテクチャのP7ブロックをTransformerを使用したMHSA-Dark Blockに入れ替えている。Transformerは画像サイズn、チャネル数dに対してO(n^2*d)の計算量であるため、P7の箇所のみ適用している。Vision Transformerに関しては[この記事](https://tech-ai.panasonic.com/jp/blog_page.html?id=20211022#paper11)が詳しい。

![Screen Shot 2022-01-08 at 17.01.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261276/a6e71f90-dd48-e445-aba1-4bf70987c9e1.png)

P7は７つの CSP bottleneck blocks 内に 1 × 1 convolution と 3 × 3 convolutionのペアを持つが、ここの部分はTransformer機構を持つ MHSA-Dark blockに入れ替わっている。

![Screen Shot 2022-01-08 at 17.08.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261276/3eaf19bd-416d-4607-58f4-747128a83c4a.png)

### 実験・考察

YOLOv4-P7をベースラインとし、バックボーンをDarknet->MHSA-Darknet、ネック部をFPN->BiFPNに変更し、さらにTTA+WBF[[Solovyev2021](https://www.sciencedirect.com/science/article/abs/pii/S0262885621000226)]による推論時アンサンブルによって改善を得られた。バックボーンのTransformer化による改善が一番大きい。

![Screen Shot 2022-01-08 at 16.19.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261276/7246ff37-720a-c226-d56d-4f92487f7427.png)

*  小さい物体検出に強い

CNNベースのバックボーンは深いレイヤほど解像度が落ちるため、大きい物体は正確な位置検出ができず、小さい物体は検出そのものが難しい。小さい物体は周辺物体との共起性の傾向が強く、広い範囲でのコンテキスト情報を学習できるTransformer系のバックボーンは小さい物体の検出に強いと言える。

*  視点変化(viewpoint variation)に強い

これは Vision Transformer の特性である。CNN系バックボーンよりもドメイン変化、オクルージョン、摂動に強い傾向があることが報告されている[[Naseer2021](https://arxiv.org/abs/2105.10497)]。


# Swin Transformer: Hierarchical Vision Transformer Using Shifted Windows [Liu2021] <font color=FireBrick>ICCV2021</font>

Liu, Ze, et al. "Swin transformer: Hierarchical vision transformer using shifted windows." arXiv preprint arXiv:2103.14030 (2021).

https://openaccess.thecvf.com/content/ICCV2021/html/Liu_Swin_Transformer_Hierarchical_Vision_Transformer_Using_Shifted_Windows_ICCV_2021_paper.html

MSRAの研究、SwinTransformer V1は以下の資料の説明が詳しいのでそちらに任せる

*  [[DL輪読会]Swin Transformer: Hierarchical Vision Transformer using Shifted Windows](https://www.slideshare.net/DeepLearningJP2016/dlswin-transformer-hierarchical-vision-transformer-using-shifted-windows)
*  [「Swin Transformer」の概要を理解する](https://qiita.com/m_sugimura/items/139b182ee7c19c83e70a)

# Swin Transformer V2: Scaling Up Capacity and Resolution [Liu2021]

[Liu2021] Liu, Ze, et al. "Swin Transformer V2: Scaling Up Capacity and Resolution." arXiv preprint arXiv:2111.09883 (2021).
https://arxiv.org/abs/2111.09883
MSRAの研究、SwinTransformer V1はICCV2021採択

（調査中）

### 実験・考察

![Screen Shot 2022-01-06 at 13.08.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261276/2e052744-1991-bfe2-3902-f41890c09048.png)

# CMT: Convolutional Neural Networks Meet Vision Transformers [Guo2021]

Guo, Jianyuan, et al. "Cmt: Convolutional neural networks meet vision transformers." arXiv preprint arXiv:2107.06263 (2021).

https://arxiv.org/abs/2107.06263

###