Open shimopino opened 4 years ago
[arXiv:2008.09269] Beyond Fixed Grid: Learning Geometric Image Representation with a Deformable Grid
Jun Gao, Zian Wang, Jinchen Xuan, Sanja Fidler
2020-08-21
近年の画像認識タスクでは、画像はあるストライドを有する均一のグリッドとして扱われている。
こうした画像を深層学習モデルで識別させる際、モデルの途中途中で計算効率を向上させるために画像をプーリング処理によってより低解像度な画像に変換させている。このため、画像はぼやけたり一部の領域のみがサンプリングされてしまっている。
モデルで処理を施した場合、それぞれのグリッド内には背景と前景の両方の情報が混ざってしまい、物体や背景情報などの文脈に対して鋭敏に反応してしまう可能性がある。
高解像度の画像を処理する際には、距離的・色的に近い画素をひとまとめにするsuperpixelsを前処理にかけて効率的に下流タスクの推論を実行している。
この考えに基づき、高周波数の情報と一致するようにsuperpixelsのようにグリッドを変形させることで、より効果的な表現学習が可能ではないかと主張している。
しかしsuperpixelsとことなり、幾何的な制約を設けることでより簡単に下流タスクに適用できる手法を提案する。
物体のアノテーションを行う場合でも、ピクセル単位でラベリングを行う代わりに、変形されたグリッドに対してアノテーションを行うことでより効率的にラベリングを行うことを可能にする。
本手法では画像平面に対して、位置情報を有する3つの頂点で構成される2次元の三角グリッドの表現を採用している。学習前の段階では、どの画像に対しても固定点を基準にグリッドを表現しており、以下の画像のようになっている。
本手法の直感的なイメージとしては、以下の画像のように、物体の境界線上の整列させることである。これは三角グリッド内に含まれるピクセルのRGB値の変動が最小になるようにすることであると考え、微分可能な表現にすることで学習可能としている。
多数存在しているグリッドの幾何学を採用する上で、以下の点を重視している。
そこで本研究では以下の4パターンのうち、比較研究を行い4番目のパターンを採用している。
まず画像Iに対してn個の頂点が存在しているとき、それぞれの頂点は<img src= "https://render.githubusercontent.com/render/math?math=%5Cdisplaystyle+v_%7Bi%7D%3D%5Cleft%5Bx_%7Bi%7D%2C+y_%7Bi%7D%5Cright%5D%5E%7BT%7D" alt="v{i}=\left[x{i}, y{i}\right]^{T}">と表現される。またこれらの頂点で構成されている三角グリッドに関しては、画像中にK個のグリッドが存在している場合<img src= "https://render.githubusercontent.com/render/math?math=%5Cdisplaystyle+C%7Bk%7D%3D%5Cleft%5Bv%7Ba%7Bk%7D%7D%2C+v%7Bb%7Bk%7D%7D%2C+v%7Bc%7Bk%7D%7D%5Cright%5D" alt="C{k}=\left[v{a{k}}, v{b{k}}, v{c_{k}}\right]">のように表現する。
学習段階では初期化されたグリッドの頂点に対して、モデルhに各グリッドの頂点と画像を入力し、頂点に対する想定的な移動距離を算出する。
最終的に各頂点は以下のようにもとの座標と相対座標で表現される。
教師なしで学習を行うことが可能であり、各頂点の位置に対して逆伝搬を行うことが可能な損失関数を考えていく。
各グリッドの頂点を動かすと、グリッド内に含まれる画像中のピクセルは変化していく。
このグリッド内に含まれる各ピクセルの特徴量の分散を最小化させるように学習を行う。なおこの特徴量には様々な選択肢が存在するが、本研究ではRGB値を採用している。
セグメンテーションマスクが存在する場合には、場合によってはOne-Hot化させたラベルを追加して、クラスの分散が最小化するように学習させることもできる。
画像中にN個のピクセル(<img src= "https://render.githubusercontent.com/render/math?math=%5Cdisplaystyle+p_%7Bi%7D%3D%5Cleft%5Bp_%7Bi%7D%5E%7Bx%7D%2C+p_%7Bi%7D%5E%7By%7D%5Cright%5D%5E%7BT%7D" alt="p{i}=\left[p{i}^{x}, p_{i}^{y}\right]^{T}">)が存在している場合、各グリッド内のピクセルの特徴量の分散は以下のように表現される。なおSkはグリッドCkに存在しているピクセルであり、fkはグリッド内の各ピクセルの特徴量の平均である。
しかしこの分散の計算式は微分することができない。そこであるピクセルpiを確率p(v)でグリッドCkに割り当てる形式に置き換える。
project page
superpixelsの参考資料
論文へのリンク
[arXiv:2008.09269] Beyond Fixed Grid: Learning Geometric Image Representation with a Deformable Grid
著者・所属機関
Jun Gao, Zian Wang, Jinchen Xuan, Sanja Fidler
投稿日時(YYYY-MM-DD)
2020-08-21
1. どんなもの?
2. 先行研究と比べてどこがすごいの?
近年の画像認識タスクでは、画像はあるストライドを有する均一のグリッドとして扱われている。
こうした画像を深層学習モデルで識別させる際、モデルの途中途中で計算効率を向上させるために画像をプーリング処理によってより低解像度な画像に変換させている。このため、画像はぼやけたり一部の領域のみがサンプリングされてしまっている。
モデルで処理を施した場合、それぞれのグリッド内には背景と前景の両方の情報が混ざってしまい、物体や背景情報などの文脈に対して鋭敏に反応してしまう可能性がある。
高解像度の画像を処理する際には、距離的・色的に近い画素をひとまとめにするsuperpixelsを前処理にかけて効率的に下流タスクの推論を実行している。
この考えに基づき、高周波数の情報と一致するようにsuperpixelsのようにグリッドを変形させることで、より効果的な表現学習が可能ではないかと主張している。
しかしsuperpixelsとことなり、幾何的な制約を設けることでより簡単に下流タスクに適用できる手法を提案する。
物体のアノテーションを行う場合でも、ピクセル単位でラベリングを行う代わりに、変形されたグリッドに対してアノテーションを行うことでより効率的にラベリングを行うことを可能にする。
3. 技術や手法の"キモ"はどこにある?
本手法では画像平面に対して、位置情報を有する3つの頂点で構成される2次元の三角グリッドの表現を採用している。学習前の段階では、どの画像に対しても固定点を基準にグリッドを表現しており、以下の画像のようになっている。
本手法の直感的なイメージとしては、以下の画像のように、物体の境界線上の整列させることである。これは三角グリッド内に含まれるピクセルのRGB値の変動が最小になるようにすることであると考え、微分可能な表現にすることで学習可能としている。
3.1 グリッドのパラメータ表現
Grid Topology
多数存在しているグリッドの幾何学を採用する上で、以下の点を重視している。
そこで本研究では以下の4パターンのうち、比較研究を行い4番目のパターンを採用している。
Grid Representation
まず画像Iに対してn個の頂点が存在しているとき、それぞれの頂点は<img src= "https://render.githubusercontent.com/render/math?math=%5Cdisplaystyle+v_%7Bi%7D%3D%5Cleft%5Bx_%7Bi%7D%2C+y_%7Bi%7D%5Cright%5D%5E%7BT%7D" alt="v{i}=\left[x{i}, y{i}\right]^{T}">と表現される。またこれらの頂点で構成されている三角グリッドに関しては、画像中にK個のグリッドが存在している場合<img src= "https://render.githubusercontent.com/render/math?math=%5Cdisplaystyle+C%7Bk%7D%3D%5Cleft%5Bv%7Ba%7Bk%7D%7D%2C+v%7Bb%7Bk%7D%7D%2C+v%7Bc%7Bk%7D%7D%5Cright%5D" alt="C{k}=\left[v{a{k}}, v{b{k}}, v{c_{k}}\right]">のように表現する。
学習段階では初期化されたグリッドの頂点に対して、モデルhに各グリッドの頂点と画像を入力し、頂点に対する想定的な移動距離を算出する。
最終的に各頂点は以下のようにもとの座標と相対座標で表現される。
3.2 グリッドの学習
教師なしで学習を行うことが可能であり、各頂点の位置に対して逆伝搬を行うことが可能な損失関数を考えていく。
Differentiable Variance
各グリッドの頂点を動かすと、グリッド内に含まれる画像中のピクセルは変化していく。
このグリッド内に含まれる各ピクセルの特徴量の分散を最小化させるように学習を行う。なおこの特徴量には様々な選択肢が存在するが、本研究ではRGB値を採用している。
セグメンテーションマスクが存在する場合には、場合によってはOne-Hot化させたラベルを追加して、クラスの分散が最小化するように学習させることもできる。
画像中にN個のピクセル(<img src= "https://render.githubusercontent.com/render/math?math=%5Cdisplaystyle+p_%7Bi%7D%3D%5Cleft%5Bp_%7Bi%7D%5E%7Bx%7D%2C+p_%7Bi%7D%5E%7By%7D%5Cright%5D%5E%7BT%7D" alt="p{i}=\left[p{i}^{x}, p_{i}^{y}\right]^{T}">)が存在している場合、各グリッド内のピクセルの特徴量の分散は以下のように表現される。なおSkはグリッドCkに存在しているピクセルであり、fkはグリッド内の各ピクセルの特徴量の平均である。
しかしこの分散の計算式は微分することができない。そこであるピクセルpiを確率p(v)でグリッドCkに割り当てる形式に置き換える。
Differentiable Reconstruction
4. どうやって有効だと検証した?
5. 議論はあるか?