---
# System prepended metadata

title: '[Yolov4: Optimal Speed and Accuracy of Object Detection](https://arxiv.org/pdf/2004.10934.pdf)'

---

# [Yolov4: Optimal Speed and Accuracy of Object Detection](https://arxiv.org/pdf/2004.10934.pdf)

Yolov3はJoseph Redmonという方が著者でしたが、Yolov4は違う方が書かれています。Yolov3から推論速度を落とさずに精度を大きく上昇させることに成功しました。

![](https://i.imgur.com/Oae4QuO.png)


## 概要

wrc(重み付き残差接続)、CSP(Cross-Stage-Partial-connections)、CmBN(corssミニバッチ正規化)、SAT(Self-adversarial-training)、Mish-activationをモデルに適用しています。またデータのAugumentationとしてMosaicを適用、評価指標としてIOUではなくCIOUを利用してこれらの組み合わせで今回の結果が得られました。

## Bag of freebies(推論コストが上昇しない精度向上手法)
推論のコストを上げることなく、Trainingの戦略を変えることで、物体検出の精度を上げる手法を"Bag of freebies"といいます。今回この論文ではこの”Bag of freebies”の手法としてMosaicと呼ばれるdata augumentaion手法と目的関数としてIOU lossではなく、CIOU lossを用いています。

## Bag of specials(推論コストが上昇する精度向上手法)
この論文では推論コストがわずかに上昇させるが、精度を大幅に上昇させることができる手法を"Bag of specials"と呼んでいます。

## Yolov4 uses

![](https://i.imgur.com/HozwMCA.png)


### CSPNET
ネットワークステージの最初と最後から特徴マップを統合することにより、勾配の変動性を考慮します。
https://arxiv.org/pdf/1911.11929.pdf

### Mish
活性化関数の一つ。
![](https://i.imgur.com/nfJhRYz.jpg)

[説明](https://medium.com/lsc-psd/%E6%B4%BB%E6%80%A7%E5%8C%96%E9%96%A2%E6%95%B0%E6%A5%AD%E7%95%8C%E3%81%AE%E6%9C%9F%E5%BE%85%E3%81%AE%E3%83%AB%E3%83%BC%E3%82%AD%E3%83%BC-mish-%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6-b1982782e186)

### [SPP(Spatial Pyramid Pooling)](https://arxiv.org/pdf/1406.4729.pdf)

Spatial Pyramid Poolingは任意サイズの入力画像から固定サイズの特徴量ベクトルを出力するのが特徴。画像を格子状に、1, 4, 16, ...と分割していき、その中で、最大プーリング(ほかのプーリングでもいい）を行う。その後、1 + 4 + 16 + ・・・と、つなげたベクトルをSPPの出力とする。

![](https://i.imgur.com/VtubPvh.jpg)

### [PAN(Path Aggregation Network)](https://arxiv.org/pdf/1803.01534.pdf)





## data augumentation

CutMix, Mosaic, SATを採用している。

#### CutMix and Mosaic

[CutMix](https://arxiv.org/abs/1905.04899)とMosaic、SATを採用している。CutMixは２枚の入力画像のみを混合するがMosaicは４枚の画像を混合する。また４枚の画像に対してBatchNormを適用することで大きなMiniBatchを適用する必要をなくします。

#### SAT(Self-Adversarial Training)
SAT(Self-Adversarial Training)も新しいaugumentationの手法です。２つのステージからなるネットワークで、１つ目のステージは重みではなく入力画像を変更し、画像に目的の物体が存在しないように偽装します。2つ目のステージでは変更された画像乗の物体を通常の方法で検出されるようにTrainingされます。
[](https://i.imgur.com/Pm1gpe6.png)

### CmBN

４つのIterationの統計情報を正規化するCBNを改良したCmBNを採用。
概要は下記図を参照。

![](https://i.imgur.com/YQzZSvb.png)


### [CIOU Loss](https://arxiv.org/pdf/1911.08287.pdf)

CIOU lossは高速な収束を実現する。

b,b_gtはboxの中心、ρはEuclidean distance
cは、2つのボックスを覆う最小の囲いのボックスの対角線の長さです。

![](https://i.imgur.com/nZqMJVa.png)
