Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CorrPM] Correlating Edge, Pose with Parsing #74

Open
Yagami360 opened this issue Jul 2, 2020 · 0 comments
Open

[CorrPM] Correlating Edge, Pose with Parsing #74

Yagami360 opened this issue Jul 2, 2020 · 0 comments

Comments

@Yagami360
Copy link
Owner

Yagami360 commented Jul 2, 2020

0. 論文情報・リンク

1. どんなもの?

  • 人物パースタスクで重要な情報となる{人物画像、関節点情報、人物エッジ情報}の全てを十分に活用することで、人物パース画像の品質を向上させた CorrPM [Correlation Parsing Machine] のアーキテクチャを提案。LIP, ATR, CIHP データセットでの人物パースタスクにおいて、SOTAを達成している。

2. 先行研究と比べてどこがすごいの?

  • 既存の人物パースモデルでは、人物パースタスクで重要な情報となる{人物画像、関節点情報、人物エッジ情報}を部分的には活用していたものの、それら全てを十分には活用出来ていなかった。本手法では CorrPM [Correlation Parsing Machine] のアーキテクチャでそれら{人物画像、関節点情報、人物エッジ情報}の全てを十分に活用することで、人物パース画像の品質を向上させている。
  • 3つのデータセット(LIP, ATR, CIHP)での人物パースタスクにおいて、SOTAを達成している。

3. 技術や手法の"キモ"はどこにある?

  • アーキテクチャの全体像

    上図は、CorrPM [Correlation Parsing Machine] のアーキテクチャの全体像を示した図である。
    本手法は、以下の4つの主要コンポーネントから構成されている。これらネットワークは end2end に学習される。

    1. [PaE] Parsing Encoder
      人物画像をエンコードするエンコーダー
    2. [PoE] Pose Encoder
      間接的情報をエンコードするエンコーダー
    3. [EdE] Edge Encoder
      人物のエッジ情報をエンコードするエンコーダー
    4. Heterogeneous Non-Local
      Non-Local 構造を改良した HNL 構造で、エンコードされた3つの情報の相関関係を捉え、品質の高い人物パース画像を生成する
  • 各種エンコーダー

    {人物画像、関節点情報、人物エッジ情報}に関しての3つのエンコーダーは、それぞれベースモデル(ResNet-101など)で conv された特徴マップを、入力データとして活用している。

    • [PaE] Parsing Encoder
      ベースモデルの後段(Res5)からの特徴マップに対して、ASPP を実行し、複数スケールでの特徴量からコンテキスト情報(大域的な情報)を抽出するようにする。
      また、ベースモデルの前段(Res2)からの特徴マップを concat することで局所的な情報も捉えるようにする。

      ※ ASPP [Atrous Spatial Pyramid Pooling] : DeepLab v3 で採用されている構造で、各 Atrous convolution からの異なる範囲での特徴マップを取り込むことで、複数スケールからの特徴量を抽出している。(詳細は、「DeepLab v3+ の論文まとめ」参照)

    • [PoE] Pose Encoder
      既存の姿勢推定モデルでは、Hourglass などの複雑な畳み込み構造のネットワークを採用しているが、
      本手法では単純な2つの conv 層のみのネットワーク構造を採用する。
      生成したポーズ特徴ベクトル f_k に対して、標準偏差7ピクセルのアノテーションされた各キーポイント座標を中心とした2次元ガウスフィルタを適用し、ヒートマップ画像として回帰する。
      ※ このヒートマップへの回帰方法は、論文「Deep High-Resolution Representation Learning for Human Pose Estimation」に記載あり?

    • [EdE] Edge Encoder
      ベースモデルの Res2,3,4 からの特徴マップに対して、線形補間によってRes2と同じサイズにアップサンプリングした上で、それらを concat し、1x1 conv で畳み込み処理を行い、エッジ特徴マップ f_b を生成する。
      ※ 人物境界のエッジ情報を活用することで、隣接する2つのセグメンテーションの境界画素で特に外見が似ている場合に、品質が劣化する問題が軽減される

  • Heterogeneous Non-Local

    Non-Local 構造は、NN において長期依存性を捉えるための構造である。(詳細は、論文「Non-local Neural Networks」参照)
    本手法では、Non-Local 構造をそのまま利用するのではなく、3つの情報{人物パース画像、関節点情報、人物エッジ情報}に対して効率的かつ効果的に動作するように改良された Heterogeneous Non-Local 構造でそれら3つの情報の相関関係を捉える。

    具体的には、Heterogeneous Non-Local 構造では、以下の処理を行う

    1. まず以下の式で、エンコードされた3つの情報{人物パース画像、関節点情報、人物エッジ情報}を concat する

    2. 一般的な Non-Local block における self-attention 構造を、concat した特徴量 f_h とエンコードした人物パース画像情報 f_p との相関情報に置き換える。(※ この部分が Non-Local からの改良点)
      具体的には、concat した特徴量 f_h とエンコードした人物画像情報 f_p をそれぞれ畳み込み層で変換した特徴マップ A, B に対して、以下の式で softmax し、それぞれの相関情報を得る。

    3. 最後に以下の式のように、softmax された相関情報 S と人物パース画像情報 f_p1 を統合し、重み行列 W_b でパラメータ化された畳み込み層に供給し、更に人物画像情報 f_p を加算し、最終的な特徴量 f_(p_2 ) を出力する。
      ※ この最終的な特徴量 f_(p_2 ) には、{人物パース画像・関節情報・人物境界エッジ}の相関関係(S)と元の人物画像の情報(加重和)が集約されている。

4. どうやって有効だと検証した?

  • 既存のモデルとの定性比較検証

    既存のモデルと比較して、品質の高い人物パース画像を生成出来ている。

  • 既存のモデルとの定量比較検証

    既存のモデルと比較して、LIP, ATR, CIHP データセットでのスコアが向上している。
    ※ 特に、CIHP データセットでGraphonomy のスコアを上回っている点に注目(LIPとAIRデータセットで上回っているのかは不明)

  • 3つの情報の活用効果

    3つの情報{人物パース画像、関節点情報、人物エッジ情報}を全て活用することで、品質が向上している。

5. 議論はあるか?

  • Graphonomy より品質が高い?実装が公開されているので試す価値あり
  • Graphonomy のように GCN(グラフ畳み込み)の構造も使っていないので、シンプルで理解しやすい構造になっている。
  • {人物画像、関節点情報、人物エッジ情報}のエンコーダーには特に新規性がないが、人物パースタスクにおいてこれら3つの情報全てを活用している点に新規性がある。
  • Non-Local 構造に関しても、既に論文「Parsing R-CNN for Instance-Level Human Analysis」で人物パースモデルでも採用する試みが行われているが、{人物画像、関節点情報、人物エッジ情報}3つの情報に対して行われている点に新規性がある。また Non-Local 構造 のままではなく Heterogeneous Non-Local に改良している点にも新規性がある。
  • Pose Encoder は単純な2層の畳み込み層になっているが、既存の姿勢推定モデル(OpenPose など)を利用したほうがよいのでは?

6. 次に読むべき論文はあるか?

  • Non-local Neural Networks
  • Deep High-Resolution Representation Learning for Human Pose Estimation

7. 参考文献

  • xxx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant