e4exp / paper_manager_abstract

0 stars 0 forks source link

Pix2seq: A Language Modeling Framework for Object Detection #646

Open e4exp opened 3 years ago

e4exp commented 3 years ago

本論文では,物体検出のためのシンプルで汎用的なフレームワークである Pix2Seq を紹介する. タスクに関する事前知識を明示的に統合する既存のアプローチとは異なり、我々はオブジェクト検出を、観測されたピクセル入力を条件とする言語モデリングタスクとして単純にキャストする。 オブジェクトの記述(バウンディングボックスやクラスラベルなど)は,離散的なトークンのシーケンスとして表現され,画像を認識して望ましいシーケンスを生成するようにニューラルネットを訓練する. これは、「ニューラルネットが、どこに何があるかを知っていれば、それを読み出す方法を教えればよい」という直感に基づいたアプローチです。 タスクに特化したデータ補強を行うだけでなく、我々のアプローチはタスクに関する仮定を最小限に抑えていますが、難易度の高いCOCOデータセットにおいて、高度に専門化され最適化された検出アルゴリズムと比較して、競争力のある結果を得ることができました。

e4exp commented 3 years ago

image

1 はじめに

視覚的な物体検出システムは,画像中のあらかじめ定義されたカテゴリの物体をすべて認識し,位置を特定することを目的としています。 検出されたオブジェクトは、典型的には、一連のバウンディングボックスと関連するクラスラベルによって記述されます。 タスクの難しさを考えると、(Girshick, 2015; Ren et al., 2015; He et al., 2017; Lin et al., 2017b; Carion et al., 2020)のようなほとんどの既存の手法は、アーキテクチャと損失関数の選択において、かなりの量の事前知識を用いて、慎重に設計され、高度にカスタマイズされている。 例えば、多くのアーキテクチャは、バウンディングボックスの使用に合わせている(例えば、リージョン提案(Girshick, 2015; Ren et al., 2015)やRoIプーリング(Girshick et al., 2014; He et al., 2017)など)。 他には、オブジェクトバインディングのための使用オブジェクトクエリに結びついているものもある(Carion et al.、2020)。 損失関数もまた、ボックス回帰(Szegedyら、2013;Linら、2017b)、セットベースのマッチング(Erhanら、2014;Carionら、2020)など、バウンディングボックスの使用に合わせて調整されることが多く、また、バウンディングボックス上の交点オーバーユニオン(Rezatofighiら、2019)など、特定のパフォーマンスメトリクスを組み込んでいる。 既存のシステムは、自動運転車(Sun et al., 2020)、医療画像分析(Jaeger et al., 2020)、農業(Sa et al., 2016)など、無数のドメインでアプリケーションを見つけていますが、専門性と複雑さのために、より大きなシステムに統合したり、一般的な知性に関連するはるかに広範なタスクに一般化したりすることが困難です。

本論文では、ニューラルネットが物体の場所や内容について知っているのであれば、それを読み上げることを教えればよいという直感に基づいて、新しいアプローチを提唱しています。 また、オブジェクトを「記述」することを学習することで、モデルはピクセルの観察結果に基づいて「言語」を学習し、有用なオブジェクトの表現を行うことができます。 これを実現するのが Pix2Seq フレームワークです。 画像が与えられると、我々のモデルは、画像キャプションシステム(Vinyals et al., 2015b; Karpathy & Fei-Fei, 2015; Xu et al., 2015)を彷彿とさせる、オブジェクト記述(オブジェクトのバウンディングボックスやクラスラベルなど)に対応する離散的なトークンのシーケンスを生成します。 本質的には、物体検出を、ピクセル入力を条件とした言語モデリングタスクとし、モデルアーキテクチャと損失関数は、検出タスクのために特別に設計されたものではなく、汎用的で比較的単純なものとしています。 そのため、このフレームワークをさまざまなドメインやアプリケーションに簡単に拡張したり、一般的な知能をサポートする知覚システムに組み込んだりすることができます。 Pix2Seq を使用して検出タスクに取り組むために、まず、バウンディングボックスとクラスラベルを離散的なトークンのシーケンスに変換する量子化およびシリアル化スキームを提案します。 次に,エンコーダとデコーダのアーキテクチャを利用して,ピクセル入力を認識し,ターゲットシーケンスを生成します. 目的関数は,ピクセル入力と先行するトークンを条件とした,トークンの最大尤度にすぎません. このアーキテクチャと損失関数は,(バウンディングボックスなどの物体検出に関する事前知識を前提とせず)タスクに依存しないものであるが,以下に提案するシーケンス補強技術を用いれば,タスク固有の事前知識を組み込むことが可能である. 大規模な実験を通して、このシンプルなPix2Seqフレームワークが、COCOデータセットにおいて、Faster R-CNN(Ren et al., 2015)やDETR(Carion et al., 2020)など、高度にカスタマイズされた確立されたアプローチと比較して、競争力のある結果を得ることができることを実証しています。

e4exp commented 3 years ago

2 PIX2SEQ フレームワーク

提案する Pix2Seq フレームワークでは,オブジェクト検出を,ピクセル入力を条件とする言語モデリ ングタスクとして位置づけます. 図 1 に示すように、Pix2Seq のアーキテクチャと学習手順は、4 つの主要なコンポーネントで構成されています (図 2)。

image

2.1 オブジェクト記述からのシーケンス構成

Pascal VOC(Everingham ら、2010 年)、COCO(Lin ら、2014 年)、および OpenImages(Kuznetsova ら、2020 年)などの一般的なオブジェクト検出データセットでは、画像には可変数のオブジェクトがあり、境界ボックスとクラスラベルのセットとして表されます。 Pix2Seq では、これらのオブジェクトを離散的なトークンのシーケンスとして表現します。 クラスラベルは当然ながら離散的なトークンとして表現されますが、バウンディングボックスはそうではありません。 バウンディングボックスは,2 つのコーナーポイント(左上と右下),またはセンターポイントと高さと幅で決まります. ここでは,角点のx,y座標(他のボックス形式の場合は高さと幅も同様)を連続的な数値で離散化することを提案する. 具体的には,物体は5つの離散的なトークンの列,すなわち[ymin, xmin, ymax, xmax, c]で表される. ここで,連続的なコーナー座標のそれぞれは,[1, nbins]の間の整数に一様に離散化され,cはクラスインデックスである. すべてのトークンに対して共有の語彙を使用するので、語彙のサイズはビンの数+クラスの数になります。 このように、バウンディングボックスを量子化することで、少ない語彙で高い精度を得ることができます。 例えば、600×600の画像の場合、量子化誤差をゼロにするためには600ビンしか必要ありません。 これは、32K以上の語彙サイズを持つ現代の言語モデルよりもはるかに小さいです(Radford et al.2018; Devlin et al.2018)。 異なるレベルの量子化がバウンディングボックスの配置に与える影響は、図3に示されています。

各オブジェクト記述が短い離散的なシーケンスとして表現されている状態で、次に、複数のオブジェクト記述をシリアライズして、与えられた画像に対する単一のシーケンスを形成する必要があります。 オブジェクトの順序は検出タスク自体には関係しないので,ランダムな順序付け戦略を使用します(画像が表示されるたびにオブジェクトの順序をランダムにします). 他の決定論的順序付け戦略も検討していますが、有能なニューラルネットと自己回帰モデリング(観察されたオブジェクトを条件として、残りのオブジェクトの分布をモデル化することを学習できる)があれば、ランダムな順序付けも決定論的順序付けと同様に機能するという仮説を立てています。 最後に、画像によってオブジェクトの数が異なることが多いため、生成されるシーケンスの長さも異なります。 そこで、シーケンスの終わりを示すために、EOSトークンを組み込んでいます。図4は,異なる順序戦略を用いた場合のシーケンス構築プロセスを示したものである.

スクリーンショット 2021-09-23 11 37 01

image

2.2 アーキテクチャ、目的語、インフェレンス

オブジェクトの記述から構成されるシーケンスを「方言」として扱い、言語モデリン グに有効な一般的なアーキテクチャと目的関数に注目します。

アーキテクチャ

ここでは、エンコーダ-デコーダ・アーキテクチャを使用します。 エンコーダは、ConvNet(LeCun et al., 1989; Krizhevsky et al., 2012; He et al., 2016)、Transformer(Vaswani et al., 2017; Dosovitskiy et al., 2020)、またはそれらの組み合わせ(Carion et al., 2020)のような、ピクセルを認識して隠れた表現にエンコードする一般的な画像エンコーダでよい。 生成には、現代の言語モデリングで広く使用されているTransformerデコーダを使用します(Radford et al.2018; Raffel et al.2019)。 これは、先行するトークンとエンコードされた画像表現を条件に、一度に1つのトークンを生成します。 これにより、トークンはソフトマックスを用いて単一の語彙から生成されるため、バウンディングボックスの提案や回帰など、現代のオブジェクト検出器のアーキテクチャにおける複雑さやカスタマイズを取り除くことができます。 目的 言語モデリングと同様に,Pix2Seq は,画像と先行するトークンが与えられたときに,最大尤度損失,つまり, トークンを予測するように訓練されます.

image

ここで,xは与えられた画像,yとy〜はそれぞれ関連する入力配列とターゲット配列,Lはターゲット配列の長さである. 標準的な言語モデリングでは、yとy〜は同じものです。 また、wjは、シーケンス中のj番目のトークンにあらかじめ割り当てられた重みです。 ここでは、wj = 1, ∀jとしていますが、トークンの種類(例えば、座標トークンとクラストークン)や、対応するオブジェクトの大きさで重み付けをすることも可能です。

推論

推論時には、モデルの尤度、すなわちP(yj |x, y1:j-1)からトークンをサンプリングする。 これは、最大の尤度を持つトークンを取る(arg max sampling)か、他の確率的なサンプリング技術を使用することで行うことができます。 核心サンプリング(Holtzman et al., 2019)を使用すると、arg maxサンプリングよりも高い回収率になることがわかります(付録B)。 シーケンスは、EOSトークンが生成された時点で終了します。 シーケンスが生成されると、オブジェクトの記述を抽出してde-quantizeする(つまり、予測されたバウンディングボックスとクラスラベルを取得する)ことは、簡単にできます。

2.3 TASK PRIORSを統合するためのシーケンス追加

EOSトークンにより、モデルは生成を終了するタイミングを決めることができますが、実際には、モデルはすべてのオブジェクトを予測せずに終了する傾向があることがわかりました。 これは、

1)アノテーションのノイズ(例えば、アノテーターが全てのオブジェクトを特定していない場合)、 2)オブジェクトの認識やローカライズの不確実性、などが原因と考えられます。

回収率と精度はオブジェクト検出に重要であるため、回収率が高くなければ、モデルの総合的な性能(例えば、平均的な精度)は高くなりません。 再現率を上げるためには、EOSトークンのサンプリングを人為的に遅らせて、その尤度を下げるという方法があります。 しかし、これはしばしばノイズの多い、重複した予測につながります。 このように精度と再現率のトレードオフが難しいのは、我々のモデルが検出タスクを意識しないタスクagnosticであることに起因していると言えます。

この問題を軽減するために、我々は単純に配列増強技術を導入し、それによってタスクに関する事前の知識を取り入れている。 従来の自己回帰型言語モデルにおけるターゲットシーケンスy〜は、入力シーケンスyと同じであり、シーケンス内の全てのトークンは実在する(例えば、人間のアノテーションから変換される)。 シーケンスオーグメンテーションでは、実在のトークンと合成ノイズのトークンの両方を含むように、トレーニング中に入力シーケンスをオーグメンテーションします。 また、モデルがノイズトークンを模倣するのではなく、識別することを学習できるようにターゲットシーケンスを修正します。 これにより、ノイズや重複した予測に対するモデルのロバスト性が向上します(特に、EOSトークンを遅らせてリコールを増やす場合)。 シーケンスの拡張による変更点を図5に示し、以下に詳しく説明します。

変形シーケンスの構築

まず、入力シーケンスを補強するための合成ノイズオブジェクトを、以下の2つの方法で作成します。

1) 既存のグランドトゥルースオブジェクトにノイズを加える(例:バウンディングボックスをランダムにスケーリングまたはシフトする)、 2) 完全にランダムなボックス(ランダムにクラスラベルが関連付けられている)を生成する。

図6に示すように、これらのノイズオブジェクトの一部は、グランドトゥルースオブジェクトの一部と同一または重複している可能性があり、ノイズや重複した予測をシミュレートします。 ノイズ・オブジェクトが合成され,離散化された後,元の入力シーケンスの最後に追加されます.対象となるシーケンスについては、ノイズオブジェクトのターゲットトークンを "noise "クラス(グランドトゥルースのクラスラベルのいずれにも属さない)、ノイズオブジェクトの座標トークンを "n/a "に設定し、その損失重みをゼロに設定します。

image

変更された推論

配列の拡張により、EOSトークンを大幅に遅らせることができ、ノイズや重複した予測の頻度を増やすことなく、再現率を向上させることができます。 そこで、モデルに最大の長さまで予測させ、固定サイズのオブジェクトリストを作成します。 生成されたシーケンスからバウンディングボックスとクラスラベルのリストを抽出する際に、「ノイズ」のクラスラベルを、すべての実在のクラスラベルの中で最も高い尤度を持つ実在のクラスラベルで置き換えます。 選択されたクラス・トークンの尤度を、オブジェクトの(ランキング)スコアとして使用する。

image

e4exp commented 3 years ago

3 実験

3.1 実験設定

118kのトレーニング画像と5kの検証画像を含むMS-COCO 2017検出データセット(Lin et al., 2014)を用いて、提案手法を評価します。 DETRおよびFaster R-CNNと比較するために、最後のトレーニングエポックでの検証セットにおいて、複数のしきい値に対する積分メトリックである平均精度(AP)を報告する。

ベースラインアーキテクチャについては、ResNetバックボーン(He et al.、2016)を用いて(Carion et al.、2020)に従い、6層のトランスフォーマーエンコーダーと6層の(因果関係のある)トランスフォーマーデコーダー(Vaswani et al.、2017)を使用します。 変形器の主な次元は256で8つの注意ヘッドを持ち、フィードフォワードネットワークの次元は1024に設定されています。 オーバーフィッティングを減らすために、10%の割合でstochastic depth (Huang et al., 2016)を使用しています。Carion et al., 2020)あたりで、出力特徴マップの解像度を2倍にしたResNet(Li et al., 2017)のDC5バリアントも実験しています。 1 学習時の画像拡張については、ランダムクロップによるスケールジッタリングを行います(Ghiasi et al., 2021; Wu et al., 2019)。

長辺が1333ピクセルになるように画像をリサイズします(アスペクト比は固定)。 また、(Howard, 2013; Chen et al., 2020a;b)に従い、0.5の強さで色の歪みを使用しています。 量子化ビン数は2000とし、画像が表示されるたびにオブジェクトの順番をランダムにします。 各画像に100個のオブジェクトが含まれるように、実物のオブジェクトにノイズオブジェクトを追加し、シーケンスの長さを500としました。 また,入力配列中のクラストークンには,確率0.5でdropout(Hinton et al.,2012)を適用します. そして,バッチサイズ128で300回のエポックを行い,ネットワーク全体をスクラッチ2で学習します. ミニバッチ内の各画像に対して,(Hoffer et al., 2020)と同様に2つの独立したオーグメンテーションを行い,その結果,256の有効バッチサイズとなるが,これはオーバーフィッティングを減らすのに有用であると考えられる.

AdamWオプティマイザー(Kingma & Ba, 2014; Loshchilov & Hutter, 2018)を使用し、学習率は0.003、重みの減衰は0.05としています。 学習率のウォームアップを10エポック分行い、その後、トレーニングの過程で学習率を線形に減衰させていきます。 アブレーションには、画像サイズが小さい(長辺が640)ResNet-101バックボーンを使用し、計算コストを下げるために200エポックのみの学習を行いました。

3.2 主な比較

主に、広く知られている2つのベースラインと比較します。 DETRとFaster R-CNNです。 DETRと我々のモデルは同等のアーキテクチャを持っていますが、我々のTransformerデコーダは、単一のソフトマックスで異なるタイプのトークン(例えば、座標トークンとクラストークン)を生成するため、ボックス回帰と分類のために学習された「オブジェクトクエリ」や分離されたヘッドを必要としません。

Faster R-CNNは、フィーチャーピラミッドネットワーク(FPN)などの最適化されたアーキテクチャを持つ、よく確立された手法です(Lin et al.、2017a)。 Faster R-CNNは、典型的にはDETRや我々のモデルよりも少ないエポックで学習されるが、これはアーキテクチャ自体にタスクの事前知識を明示的に組み込んでいるためと思われる。 したがって、我々はまた、改良された Carion et al., 2020)のFaster R-CNNベースライン(Faster R-CNN+と表記)を入れ、Faster R-CNNモデルをGIoU損失(Rezatofighi et al., 2019)、訓練時ランダムクロップ増強、長時間の9x訓練スケジュールで訓練します。

結果は表1に示されており、各セクションでは同じResNetの「バックボーン」の異なる手法を比較しています。 全体として,Pix2Seq は両方のベースラインに対して競争力のある結果を達成しています. 本モデルは、小・中規模のオブジェクトでは Faster R-CNN と同等の性能を発揮しますが、大規模なオブジェクトではより優れた性能を発揮します。 DETR と比較すると、我々のモデルは、大規模および中規模のオブジェクトでは同等またはわずかに劣るものの、小規模のオブジェクトでは大幅に優れた性能を発揮します (4 ~ 5 AP)。

image

3.3 座標変換のアブレーション

図7aは、座標変換が性能に与える影響を調べたものです。 このアブレーションでは、最長サイズが640ピクセルの画像を対象としています。 500ビンであれば、1ビンあたり約1.3ピクセルとなり、大きな近似誤差は発生しないことがわかります。 実際、画像の長辺方向のピクセル数と同じ数のビンがあれば、バウンディングボックス座標の量子化による大きな誤差は生じないはずです。 また、学習時のシーケンス構築において、さまざまなオブジェクトの順序付け戦略を検討します。

1)ランダム、 2)エリア(オブジェクトの大きさの降順)、 3)dist2ori(バウンディングボックスの左上隅から原点までの距離)、 4)クラス(名前)、 5)クラス+エリア(オブジェクトをまずクラス順に並べ、同じクラスのオブジェクトが複数ある場合はエリア順に並べる)、 6)クラス+dist2oriなどである。

図7bはトップ100の予測結果における平均精度(AP)、図7cは平均リコール(AR)を示しています。 精度と再現率の両方において,ランダムな順序付けが最高のパフォーマンスをもたらしている. これは、決定論的な順序では、モデルが以前に行ったオブジェクトの欠落というミスから回復することが困難であるのに対し、ランダムな順序では、後になってもオブジェクトを回収することが可能であるためではないかと推測されます。

3.4 増幅のABLATION

使用される主な画像拡張はスケールジッタリングであるため(Ghiasi et al.2021; Wu et al.2019)、異なるスケールジッタリングの強度を比較する(1:1ではスケールジッタなしと同等)。 図8aは、適切なスケールジッタリングがないと、モデルが大幅にオーバーフィットすることを示している(すなわち、検証APは悪いが、トレーニングAPは高い)。 Pix2Seq フレームワークではタスクに関する仮定を最小限に抑えているため、強力な画像補強がここでは特に役立つことが予想されます。 シーケンス補強なしで学習したモデルでは、モデルがより多くの予測を行うことができるように、推論中にEOSトークンの尤度のオフセットを調整します。 図8bに示すように、シーケンス拡張を行わない場合、ARを増加させると、モデルは大幅なAP低下に見舞われます。 シーケンス拡張を行うことで、モデルはノイズや重複した予測を排除することができ、高い再現率と精度を実現しています。

3.5 デコーダのクロスアテンションマップの可視化

新しいトークンを生成する際、トランスフォーマデコーダは、先行するトークンに対する自己注意と、エンコードされた視覚的特徴マップに対するクロスアテンションを使用します。 ここでは、モデルが新しいトークンを予測する際のクロスアテンション(レイヤーとヘッドで平均化されたもの)を視覚化したいと思います。 図9は、最初の数個のトークンが生成されるときの交差注意マップを示しています。 最初の座標トークン(すなわちymin)を予測しているときには、注意は非常に多岐にわたっていますが、その後すぐに集中してオブジェクトに固定されていることがわかります。 さらに、座標で指定された領域に注目するモデルの能力を調べます。 画像をN×Nグリッドの長方形の領域に均等に分割し、それぞれの領域を境界ボックスの座標列で指定します。 そして,各領域の座標列([ymin, xmin, ymax, xmax])を読み取った後,デコーダの視覚特徴マップに対する交差注意を可視化します. 既存のオブジェクトからの気晴らしを取り除くために画像のピクセルをシャッフルし、分かりやすくするためにトップアテンションの2%を削除しています。 興味深いことに、図10に示すように、モデルは異なるスケールで指定された領域に注意を払うことができるようです。

image

image