のんびりしているエンジニアの日記

ソフトウェアなどのエンジニア的な何かを書きます。

画像を混ぜ合わせるData Augmentationの紹介

Sponsored Links

皆さんこんにちは
お元気でしょうか。冬寒いです。いい布団ほしい。

さて、本日は画像を混ぜ合わせる系のData Augmentationを紹介します。(CutOut含む)
画像を回転、拡縮、平行移動させるのはよく知られている手法でしょう。

ただし、CutOut、Mixupを筆頭に、画像のコンテキストそのものに加工したり、混ぜ合わせたりする手法も時折使われるようになってきました。
その手法に関して、本記事では紹介していきます。

Data Augmentationの手法の紹介

CutOut

arxiv.org

有名な手法の一つであるCutOutです。
学習中に正方領域をマスクすることにより、頑強性(robustness)を獲得し、精度が向上しました。
シンプルな手法ではありますが、当時のSoTAを獲得しています。

※実装
github.com

Random Erasing

arxiv.org

画像に対する新規のData Augmentationです。
過学習(Overfitting)の軽減やオクルージョンによる影響を抑えられます。
画像から一定の領域を抽出し、その箇所にランダムで与えた数値で塗りつぶす処理をします。

言葉で説明するよりも、論文にある例を見てもらったほうがわかりやすいと思います。

f:id:tereka:20200104174513p:plain:w500
Random Erasingの例

論文中の実験だとCIFAR-10、CIFAR-100やFashion MNISTでRandom Erasionなしの場合より高いスコアを出しました。

Mixup

arxiv.org

2つの画像を合成して新しいサンプルを作成する手法です。
モデルの学習時にはラベル側も混ぜ合わせる必要があります。
この画像の合成の結果により、正則化の効果が生まれ、かつ、画像の中間も識別できるようになるため、精度が向上すると言われています。
中間の識別は次のイメージです。緑が0, オレンジがクラス1, xが入力された場合(=事前条件)の緑の確率です。
右側がMixupになりますが、徐々に青色がなくなっていく様が見られます。

f:id:tereka:20200105224713p:plain:w400
Mixupのイメージ

※実装
github.com

RICAP

arxiv.org

RICAPの手法の正式名称はrandom image cropping and patchingです。
RICAPはMixupに似ていますが、4枚の画像をくり抜き、合成する方法です。
CutoutやMixupと比較して、RICAPの方が精度が高い結果となりました。

f:id:tereka:20200105225534p:plain:w400
RICAPの画像生成(論文より)

(ただ、個人的にうまくいった覚えはない。)

※実装
github.com

CutMix

arxiv.org

最初に紹介したCutoutの改良版です。
画像を2枚用意し、一つの画像からもう一つの画像へコピーします。
この手法を使うことで、画像分類のみならず、物体検出でも精度向上を達成しました。
従来まで行われていた領域の欠如を行う手法(Random Erasing/Cutout)は学習に必要な情報を削り、非効率になるため、その改善を図ったそうです。

f:id:tereka:20200105230342p:plain:w400
CutMixの例

※実装
github.com

AugMix

arxiv.org

こちらが最近出たData Augmentation手法です。
複数の変換をかけた画像を最後に混ぜ合わせる手法です。
Augmixは学習とテストのデータに異なるときにも精度が伸ばす工夫がされており、未知のデータにも強い方法です。
本手法のイメージは、次の画像を見るとわかりやすいと思います。

f:id:tereka:20200105232907p:plain:w500
AugMixの方式(論文)

※実装
github.com

所感

この手の手法はKaggleの画像コンペでは殆どといっても良いほど利用・検討されるものです。
ImageNetのように、画像中にそれなりに被写体が写っている場合だと一部が異なっていてもそれなりに学習できます。
しかし、判定に一部分しかない場合だと判定するための情報がそのまま欠けてしまいうまく学習できないこともありました。

ドメインによってこの部分は影響するのでデータの特性を見て、適用できるか検討する必要があるでしょう。
AugMixはまだ実験していないので、ちゃんと精度が上がるか検討・実験の余地があります。

最後に

結局のところ、最新がベストではなさそうなので、考えて、試して合うのを見つけましょう。
では。