細分化された階層的な画像生成と画像分類を可能にするFineGAN

この論文では、細分化されたカテゴリー画像を階層的に生成するFineGANを提案しています。さらにFineGANの学習された機能を使用して、教師なしで画像を細かいカテゴリーに分類するという課題にも取り組んでいます。

【論文】FineGAN: Unsupervised Hierarchical Disentanglement for Fine-Grained Object Generation and Discovery

上の図を考えてみましょう。

もし、ある画像をグループ分けするように指示されたとすると、鳥AとBは、まったく異なる背景と形をしているので、CとDのグループに分けるべきではないことが簡単にわかります。

でも、CとDはどうでしょうか。同じ背景、形、粗い色を共有します。しかし、よく見ると、Cのくちばしは黄色で、尾には大きな白い斑点があり、Dのくちばしは黒で、尾には細い白い帯があるので、CとDも一緒にしてはいけません。

本当のカテゴリは、
A:バローのゴールデンアイ
B:カリフォルニアのカモメ
C:黄色の鳩
D:黒の鳩です

細分化されたクラスタリングを行うには、背景、形状、外観(カラー/テクスチャ)を分離し、階層的に分ける必要があることが分かります。

FineGAN


図1:FineGANは、背景、オブジェクトの形状(親)、およびオブジェクトの外観(子)を絡み合わせて、きめの細かい注釈なしで、きめの細かいオブジェクトを階層的に生成します。

この研究では、このような細分化されたオブジェクトカテゴリーを手動の注釈なしに検出するモデルを提案しています。

新しいアイデアとしては、細分化されたカテゴリーを持つ画像を階層的に生成する生成モデルが、画像分類のタスクにも有用であるという仮説を立て、画像の背景・物体形状・テクスチャなどの階層構造を教師なしで分離し、細かいカテゴリ画像を階層的に生成する「FineGAN」を提案していることです。

図2:階層的な細かいカテゴリー画像を生成するFineGAN

目的としては真のデータ分布Xに一致する高品質の画像を生成すると同時にXの画像に関連する変動要因(対象物の背景、形状、外観、姿勢、位置などを変動の要因として定義)を解くことを学ぶことです。FineGANがそれぞれの見た目の潜在変数を特定の細分化されたカテゴリ(例えば、鳥の形や羽の色のように)にうまく関連付けることができれば、その学習された機能を使って、実際の画像分類タスクに応用することができると考えます。

FineGANは、背景画像を階層的に生成し、オブジェクトの1つの変動要因を取り込んだ親画像と、もう1つの変動要因を取り込んだ子画像とにより、細かいカテゴリー画像を生成します。

図 2は、全体のアーキテクチャです。全体的なプロセスには、背景、親、子という3つの段階があります。最初に、 ランダムベクトルzと背景コードbを条件とする背景ステージが背景画像Bを生成します。次に、zと親コードpを条件とする親ステージがキャンバスとして背景画像Bを使用して、オブジェクトの形状を捉えた親画像Pを生成します。最後に子ステージが、親画像Pをキャンバスとして使用して、オブジェクトの外観の詳細(テクスチャなど)を形状のアウトラインにステッチし子画像Cを生成します。

この方法で複数レベルの情報を取得することで、異なるサブネットワークが、関係するエンティティの合成にのみ焦点を当てることができ、その他の要因に影響されることなく外観の詳細をモデルが生成しやすくなります。同様の理由で、このような階層的特徴(すなわち親が形状をキャプチャし、子が外観をキャプチャすることは)、フラットレベルの特徴表現と比較して、細分化された画像分類にも有用だと考えることができます。

結果

 

(1)画像生成

図3親ステージはオブジェクトの形状のみで中空の画像を生成し、子ステージは外観を埋めて画像を完成させます

図3は段階的に生成していく様子を示しています。背景ステージは、子ステージと親ステージにまたがって保持されていることが分かります。親ステージでは(2列目)、各オブジェクトの形状とテクスチャ情報のないエンティティを背景と一緒にキャプチャする親マスク(3列目)が作成されます。最後の子ステージでは、より詳細情報を含むマスク(4行目)と最終的な合成画像(最後の列)が生成されます。

 

 

図4FineGANによって検出された親コードと子コードのグループ化を示したもの。

図4の縦軸3行は同じ親に対応し、横は異なる子コードに対応しています。同じ親に対して異なる子コードを使用すると、オブジェクトの形状を変えないまま、外観に細かい違いを取り込んでいることが確認できます。


図5:親と子の関係: 形状は縦列全体に保持され、テクスチャは横列全体に保持されます

図 5はさらに、親(形状)と子コード(外観)との絡み合いを視覚化したものです。子コードを一定に保ちながら親コードを変化させると、鳥の形は変わりますが、テクスチャ/色は変わりません(左→右)。一方、親コードを一定に保ちながら子コードを変化させると、鳥の色/テクスチャは変わりますが、形状は変わりません(上→下)。

 

(2)画像分類

次に、実際の画像を細分化されたオブジェクトカテゴリにクラスタリングできるかどうかFineGANの学習機能を評価します。FineGANを用いたアプローチは3つのデータセットにおいて、すべてのベースラインよりも優れています。例えば、JULEとDEPICTは、背景や大まかな形のような高レベルの詳細に焦点を当ててしまい、これらの詳細を正確にとらえることはできません。

 

詳細な結果はこちらのデモ動画で確認できます。