グラフ構造を用いたコンピュータビジョンモデル「Vision GNN」
3つの要点
✔️ 画像をグラフ構造として表現するコンピュータビジョンモデル「Vision GNN(ViG)」の提案
✔️ 画像のパッチをノードとみなし、近いパッチを繋いでグラフを構成し、不規則で複雑なオブジェクトを表現する
✔️ 画像認識と物体検出に関する実験により、提案するViGアーキテクチャの優位性を実証した
Vision GNN: An Image is Worth Graph of Nodes
written by Kai Han,Yunhe Wang,Jianyuan Guo,Yehui Tang,Enhua Wu
(Submitted on 1 Jun 2022 (v1), last revised 4 Nov 2022 (this version, v3))
Comments: NeurIPS 2022
Subjects: Computer Vision and Pattern Recognition (cs.CV)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
はじめに
コンピュータビジョンの主流は畳み込みニューラルネットワーク(CNN)であり、画像分類や物体検出、セマンティックセグメンテーションなど様々なタスクに利用されています。2020年からは、コンピュータビジョンにTransfomerが導入され、pyramid architectureやlocal attention、position encodingなど多くのバリエーションが提案されています。さらに、Transfomerのコンピュータビジョンへの導入に触発されて、MLPの導入も進められています。
コンピュータビジョンの基本的なタスクの一つは、画像中のオブジェクトを認識することです。最近のコンピュータビジョンでは画像を正方形のパッチ列として扱います。しかし、物体は通常、形状が不規則であるため、従来のネットワークで使用されていたグリッドやシーケンス構造は冗長であり、柔軟性がなく処理しにくいことが挙げられます。
今回紹介するVisionGNNは、画像内のオブジェクトのグラフ構造を解析し、画像をグラフ構造としてみることで、柔軟で効果的な処理を実現しています。
Vision GNN
VisionGNNは、画像をグラフデータとして表現し、グラフニューラルネットワークを視覚タスクに活用するモデルです。画像をいくつかのパッチに分割し、それらをノードと見なします。これらのノードに基づいてグラフを構築することで、不規則で複雑なオブジェクトをよりよく表現することができます。
それでは、画像をグラフに変換する方法と、視覚表現を学習するためのVision GNN(以下、ViG)アーキテクチャを説明していきます。
ViG Block
・Graph Structure of Image
H×W×3の大きさの画像に対して、N個のパッチに分割しました。各パッチを特徴ベクトルxに変換すると、X = [x1, x2, ..., xN]となります。これらの特徴は、ν={v1, v2, …, vN}と表記される順序のないノードの集合とみなすことが出来る。各ノードvi (i=1, 2, …, N)について、K近傍を求め、すべてのv∈N(vi)について、vjからviに向けた辺を追加します。
画像をグラフデータとして捉えることで、その表現を抽出するためにGNNの活用します。画像をグラフで表現することの利点は以下の通りです。
- グラフは一般化されたデータ構造であり、グリッドやシーケンスはグラフの特殊なケースとして見ることができる。
- グリッドやシーケンスよりも、グラフは複雑なオブジェクトを柔軟にモデル化できる。
- 物体は部品の構成(例えば、人間は頭部、上半身、腕、脚)とみなすことができ、グラフ構造はそれらの部品間の接続を構築できます。
- 先進的なGNNの研究は、ビジョンタスクに応用が可能です。
・Graph-level processing
グラフ畳み込み層は、隣接するノードの特徴を集約することで、ノード間で情報を交換することができます。集約操作として、近隣ノードの特徴を集約してノードの表現を計算し、更新操作はさらに集約された特徴を統合します。
ここで、利便性と効率性に優れているmax-relative graph convolutionを採用すると、
と表せ、これらのgraph-level処理をX'=GraphConv(X)と表現できます。
・VIG Block
従来のGCNでは、通常、グラフデータの集約的な特徴を抽出するため、複数のグラフ畳み込み層を使用します。しかし、過平滑化現象というノードの特徴を低下させる現象が起こり、画像処理性能を低下させてしまいます(右図)。
そこで、この問題を解決するために、ViGブロックでは、より多くの特徴量変換と非線形活性化を導入しています。この研究では、グラフの畳み込み前後に線形層を適用し、ノードの特徴を同じドメインに通し、特徴の多様性を高めています。また、グラフの畳み込み後には、非線形活性化関数を挿入し、層の崩壊を回避します。このアップグレードされたモジュールをGrapherモジュールとします。
Grapherモジュールに入力特徴Xが与えられると、次の式のように表すことが出来ます。
また、特徴変換能力をさらに高め、過平滑化現象を緩和するために、各ノードにfeed-forwardネットワーク(FFN)を利用しています。FFNモジュールは、2つの完全接続層を持つ単純な多層パーセプトロンです。
GrapherモジュールとFFNモジュールのスタックがViG Blockを構成し、ネットワークを構築するための基本的な構成単位となります。これにより、画像のグラフ表現と提案するViGブロックに基づいたViGネットワークを構築することができます。
Network Architechture
コンピュータビジョンの分野で使用される。Transfomerは、isotropicアーキテクチャです。また、CNNはpyramidアーキテクチャを使用しています。他のニューラルネットワークと比較するため、ViGではこれら2種類のネットワークアーキテクチャを構築しています。
・Isotropic ViG
Isotropicアーキテクチャとは、本体にネットワーク全体で同じ大きさ・形の特徴を持つことを意味します。モデルサイズの異なる3種類のisotropic ViGアーキテクチャ(ViG-Ti, ViG-S, ViG-B)を構築し、ノード数をN=196とします。なお、それぞれTi:Tiny, S:Small, B:Baseの略です。徐々にReceptive field(受容野)を拡大するために、これら3つのモデルでは、層の深度が高くなるにつれて近傍ノード数kが9から18へと増加します。また、ヘッド数はデフォルトでh = 4と設定されており、FLOPsは解像度224×224の画像に対して計算したものです(表1)。
表1:Isotropic ViGアーキテクチャのバリエーション
・Pyramid ViG
Pyramidアーキテクチャは、レイヤーの深度が高まるにつれて徐々に小さい空間サイズの特徴を抽出することにより、画像のmulti-scaleプロパティを考慮しています。また、Pyramidアーキテクチャは画像処理で有効であるため、4つのバージョンのPyramid ViGモデルを構築しました(表2)。
表2:Pyramid ViGシリーズの詳細設定
D:特徴次元, E:FNNにおける隠れた次元の比率, K:GCNにおける隣接数, H W:入力画像サイズ
・Positional encoding
ノードの位置情報を表現するために、各ノードの特徴に位置符号化ベクトルを付加します。
上の式で表される絶対位置符号化は、IsotropicアーキテクチャとPyramidアーキテクチャの両方で適応されます。
実験
本研究では、画像認識や物体検出などにおいて、ViGモデルの有効性を実証する実験を行いました。ここでは、ImageNetによる画像分類、物体検出、ViGで構築された画像のグラフ構造の結果を示します。
ImageNet
・Isotropic ViG
Isotropicアーキテクチャを採用したニューラルネットワークは、特徴量の大きさを変えないため、スケールアップが簡単で、ハードウェアアクセラレーションに柔軟です。この方式は、自然言語処理のTransfomerモデルで広く使われています。また、最近の画像処理のニューラルネットワークもこの方式を採用されています。
表3のように、isotropic ViGを既存のisotropic CNN、Transfomer、MLPと比較しています。結果から、ViGは他のタイプのネットワークよりも優れた性能を発揮することが分かりました。例えば、ViG-Tiは、Top-における同様の計算コストでDeiT-Tiモデルより1.7%高い73.9%を達成しています。
表3:ImageNetにおけるViGとIsotropicネットワークの結果
マークは各々、スペード:CNN、スクエア:MLP、ダイヤ:Transfomer、スター:GNN
・Pyramid ViG
Pyramidアーキテクチャは、ネットワークが深くなるにつれて特徴マップの空間サイズを徐々に縮小し、画像のスケール不変の特性を利用してマルチスケール特徴を生成することができます。ResNet、Swin Transformer、CycleMLPなどの高度なネットワークは、ピラミッドアーキテクチャを採用しています。
表4では、Pyramid ViGとこれらの代表的なピラミッド型ネットワークを比較しています。Pyramid ViGシリーズは、CNN、MLP、トランスフォーマーを含む最先端のピラミッドネットワークを同等かそれ以上の性能を発揮しました。このことは、グラフニューラルネットワークが視覚的なタスクでうまく機能することを示し、コンピュータビジョンシステムの基本コンポーネントとなる可能性を持っていることを示しています。
表4:Pyramid ViGと他のピラミッドネットワークのImageNetでの結果
マークは各々、スペード:CNN、スクエア:MLP、ダイヤ:Transfomer、スター:GNN
Object Detection
ViGモデルを物体検出タスクに適用し、その汎化性を評価します。公平に比較するために、ImageNetの事前学習済みPyramid ViG-Sを利用しました。表5の結果から、ResNet、CycleMLP、Swin Transformerなどの異なるタイプの代表的なものよりも、Pyramid ViG-Sの方がRetinaNetとMask R-CNNの両方で良い性能を示すことが分かりました。この優れた結果は、ViGアーキテクチャの一般化能力を実証しています。
表5:COCO val2017での物体検出とインスタンス分割の結果。
Visualization
ViGモデルの動作をより理解するために、ViG-Sで構築されたグラフ構造を可視化しました。 下の図では、異なる深さの2つのサンプルのグラフを表しています。ペンタグラムが中心ノードで、同じ色のノードはその近傍ノードです。
浅い層では、色やテクスチャなどの低レベルで局所的な特徴に基づいて近傍ノードが選択される傾向があります。深い層では、中心ノードの近傍は、より意味的で、同じカテゴリーに属するものになります。ViGネットワークは、そのコンテンツと意味表現によってノードを徐々にリンクさせ、オブジェクトをよりよく認識するのに役立ちます。
まとめ
いかがでしたでしょうか?今回の記事では、コンピュータビジョンでは、あまり馴染がなく感じるグラフ構造を用いたモデルを紹介しました。グラフ構造は、CNNやTransfomer、MLPなどの考え方を踏襲することで、新たな視点からコンピュータビジョンの発展に貢献出来ることが分かりました。
グラフ構造はコンピュータビジョンの様々なタスクに対応できるアプローチがあります。今後、更にこのような研究が増えることで、より精度の高い画像や3Dオブジェクトが生み出され、仮想空間と現実の区別がつかなくなる日が来るかもしれませんね。
この記事に関するカテゴリー