FD-GAN: Pose-guided Feature Distilling GAN for Robust Person Re-identification まとめ

FD-GAN: Pose-guided Feature Distilling GAN for Robust Person Re-identification

実装されたコード
https://github.com/yxgeee/FD-GAN

FD-GAN: Pose-guided Feature Distilling GAN for
Robust Person Re-identification

 

論文のモチベーション

人物照合のタスクにおいて、画像上で頑健な人間の特徴量を取得するのには、ポーズの変化が重要な課題のひとつです。
照合をするためには、人間のアライメントなどが必要になり、追加のポーズ情報が必要になったり、推論に計算コストがかかる問題点を持っています。

何を主張している論文なのか

この論文では、上記の問題点を解決するために、Feature Distilling Generative Adversarial Network (FD-GAN)を提案しています。
このモデルのやりたいことは、画像の特徴量からポーズの特徴量を切り離すことです。
このモデルを使用すると、大量のポーズ情報が不要になり、計算コストもかなり削減されるとのことです。
そして人物照合のタスクにおいて、一番良い結果を得ることができました。

学習のプロセス

下記が提案されたFD-GANのモデル図です。
Image from Gyazo
論文より引用

学習のプロセスは、3つに分解されます。
これからの説明に出てくる名前は、上記の図の名前からとっています。

ステージ1

ImageNetの学習済みモデルとSGDを使用し、Image Encoder(ResNet50:以降Eと記載)を初期化します。
identity verification classifier(上記の画像右上:以降Vと記載)も初期化します。
これで、EとVのパラメータが決定します。

ステージ2

次にGenerator(画像左上:以降Gと記載)、
Identity Discriminator(画像左下:以降Didと記載)、
Pose Discriminator(画像右下:以降Dpdと記載)を結合します。

Gには、Adamを使用し、DidとDpdにはSGDと異なった最適アルゴリズム使用しています。
learning rateでも、
G, Did, Dpdそれぞれで異なっており、10^(−3), 10^(−4), 10^(−2)で設定されているようです。
ここらへんがなぜかがわからないです……

ステージ3

最後に全てのネットワークをつなげて、fine tuningします。
ここでも最適化の方法やlearning rateが異なっていました。
うーん、ここらへんを理解するの時間かかりますね。

 

結果

DR-GANの精度よりも良い結果となっています。
Image from Gyazo
論文より引用

その原因として、考えられることとして下記3点が挙げられます。
1. same-pose lossを使用したこと
2. image encoder と identity discriminatorのResnet50で重みを共有しなかったこと
3. cross-entropyclassifierの代わりに、verification classifierを使用したこと

 

感想

最近は、GANの実装をしており、友人からこの論文のことを知った。
わからないことが多すぎるが、1ヶ月後には、ある程度わかるようになってるでしょと楽観的にいとく。
実装のほうは少ししか見ていないので、来週からいろいろ試してみようと思います。

わからなかったた単語

Person re-identification

人物照合

pose variation

ポーズの変化

参考にした記事