📑

Language Model for Layout "LayoutBERT" 要約

2023/04/22に公開

LayoutBERT: Learning to Generate Vector Graphic Documents
Author: Kota Yamaguchi
https://arxiv.org/abs/2205.00347
CVPR 2022 Workshop

画像やドキュメントのBBoxの配置関係から、系列処理的に編集レイアウトを提案することを目標としたモデルをつくる。NLPにおけるBERTのSSLと同じ要領で、レイアウトも「大体この位置関係にありがちだろう」みたいな予測モデルが作れるという洞察がとてもおもしろい。
図は特に明記しない限り元論文からの引用です。

概要

複数の画像からオブジェクトを取り出してコラージュする画像合成タスクにおいて、挿入するオブジェクトの正確なマスクを作成して合成先のシーンといい感じに合成することは困難な作業で、普通は人がPhotoshopなどで行っている。
このタスクを分解すると、まず白紙のキャンバスとベース画像と背景画像が与えられ、ベース画像と背景画像から持ってくるパーツを、幾何学的・色彩的に編集してコラージュを作成するという流れになる。
これを自動で行うには、画像内のオブジェクトの配置やスケールを正しく理解し、所望のクラスを条件としたフォトリアルな挿入とテンプレート型の挿入ふたつの問題を解決する必要があり、これをBERTのbidirectional multi-head self-attention(双方向MSA)と自己教師あり最適化目標によって解決する手法がLayoutBERTとして提案された。
この手法は画像合成やデザインテンプレートへのオブジェクト挿入、レイアウトベースの検索に有用で、従来のレイアウトベースの尤度モデルよりよい性能を示している。

従来の手法(image harmonizationやGANによるimage warping)は自動色変換学習(?)に基づくものが多く、これらは幾何学的変換について扱っておらず、タスクの複雑度も低いことが多い。
元論文ではCOCO、PublayNet、Image Layouts、Template Layoutsの4データセットを用いてオブジェクト挿入とレイアウト検索の性能を評価し、さらにデータセットサイズ、モデルサイズ、クラスサンプルサイズの効果に関しても検証している。

LayoutBertによるBBox提案による合成の例

アイディアと手法の全貌

まずチラシやポスターなどの画像がどのようにコンテンツを表現しているか考えると、画像全体からはシーン全体とオブジェクトのクラス、BBoxの情報を抽出することでレイアウト要素の集合として表現でき、ドキュメントからはタイトルや本文、図などの異なる要素のBBoxによって表現できる。
LayoutBERTは、[1]のCausal Attention Maskを用いた自己回帰モデルの学習と[2]のトークン予測タスクを用いた自己教師あり手法による対数尤度最大化を行う。

従来の手法を見ていくと、[3]のレイアウト変換モデルはBERTとGPTによるVAEを作ることで、画像から抽出されるクラスとBBoxの情報表現を用いて良く学習するようにしたことで学習と推論で効率的でスケーラビリティが得られた。Transformer系の方法はCNN系のものに比べて情報の粒度(ローカルなpx情報?)について不利で、クオリティに伴う尤度のコストがある。
このように従来手法はデータの尤度と分布をモデル化するのだが、オブジェクト挿入タスクには良く対応していないものが多く、Layout Transformer[4]はレイアウト生成もできるがシーン全体を参照しないためオブジェクト挿入タスクに困難があり、[5]はオブジェクト挿入のBBoxをクラス毎に個別のモデルを学習しなければならないなどの困難がある。

そこで元論文では、オブジェクト挿入がシーン全体を必要とすること、self-attentionと大規模モデルによってシーンのグローバルな依存性をモデル化することを考え、[5]のタスクと[4]の入力表現とMSAを参考に、画像や文書のレイアウトをシーングラフとして扱い、BERTを用いてオブジェクト挿入タスクを解決する手法を提案した。

BBoxとセマンティック情報の系列を用いるモデルの概観

レイアウトの表現

学習に使う入力列を[4]のアイディアから、画像・ドキュメント・テンプレートのBBoxアノテーションを用いる。推論では画像に対し事前学習済みセグメンテーションを行い予測BBoxを生成する。
BBoxは次のように平坦化した系列表す。

\texttt{BOS}, c_1, x_1, y_1, w_1, h_1, c_2, x_2, y_2, w_2, h_2, ..., \texttt{EOS}

c: クラストークン, x: 左端座標, y: 上端座標, w: 横幅, h: 縦幅
\texttt{BOS}: 始端トークン, \texttt{EOS}: 終端トークン

クラストークンは一意なクラスIDにマップされ、x, y, w, hトークンは物体検出タスクでよく使うようなN×Nの2次元グリッドを用いて離散空間にマップされる。

モデルの構造

オブジェクト挿入タスクでBBoxを生成するためにはシーン全体を一度の処理で見る必要があり、これには双方向MSAを持つBERTが必要になる。
NLPにおけるオリジナルのBERTはランダムにマスクされたいくつかのトークンを予測するタスクmaskedLMと次文予測タスクNSPで自己教師あり学習を行うが、このmaskedLMを少し改造してレイアウト理解と挿入に適用できる手法にする。NSPは取り除いても問題ないため行わない。
LayoutBERTの学習では、まずランダムにBBox\{x_n, y_n, w_n, h_n\}を選び、これをマスクした系列を5つ複製し、左端のトークンから繰り返し予測していくmaskedLMを行う。
これにより、普通のmaskedLMと異なり双方向MSAに全てのBBoxを注意させることができ、自己回帰尤度モデルに倣ったBBoxのstep-by-stepな系列予測ができるようになる。

Layout-transformer[1]はデコーダのみの教師あり学習とは異なる、BERT用の同時分布の設計(よくわからなかった)

実験

データセットとして以下を用いる。

  • COCO Panoptic 2017: 学習に118280枚、thing 80クラスとstuff 91クラスのアノテーションを用いる。
  • PublayNet: IBMによる論文ドキュメントの物体検出データセット。text, title, figure, list, tableの5クラス、学習に335682枚用いる。 https://github.com/ibm-aur-nlp/PubLayNet
  • Image Layouts: webから得た5800000枚の画像。thing 133クラス。
  • Template Layouts: ポスターやSNS投稿などのデザインテンプレートからなる画像やドキュメント。45000枚2クラス。

オブジェクト挿入

これを用いてオブジェクト挿入を行うモデルを作る。
maskedLMによりレイアウトの系列を与えて予測BBoxを生成し、オブジェクトが挿入される可能性の最も高いクラス・位置・スケールを予測することができるようになる。
オブジェクトクラス推薦では、系列内のc_iについて予測する。このタスクにおいてはLayoutGPTと比べ高い精度で実現できる。ただしCOCOにおける精度は44%ほどで、LayoutGPTの30%と比べ大きく向上はしているもののすこし低く感じる。

BBoxの生成では挿入されるクラストークンcが既知の場合にx, y, w, hトークンを予測してBBoxを生成する。BERTでは双方向のAttentionを計算するので、マスクしたトークンの前後の情報もとりこめる。

PublayNetのvalデータにおけるtop1クラスのBBox生成前と生成後の様子

Template Layoutsのvalデータにおける様子

NMSを行い確度top-3のトークンを予測として採用し、LayoutGPTより高いIoU評価が得られた。
定量的な評価として、レイアウト生成タスクで一般的な指標である負の対数尤度(NLL、トークンの総合的な精度)は既存手法と比べても最も小さく、良い。

レイアウト検索

各層から出力されるものについて、内部状態の平均から得られる特徴は、内部状態の最後の特徴より優れていることがレイアウト表現の生成実験で示されているため、LayoutBERTでは平均した特徴を用いる。
LayoutGPTとLayoutBERTを比較するため数値実験を行う。
各データセットに対して人がデータ間の関連性をアノテーションし、それとモデルからの提案の類似度をmAP@5で評価した所、COCOではGPTが、PublayNetとTemplate LayではBERTが良い結果だった。
(しかしどのような実験だったか私にはよくわからなかったうえ、アノテータの評価が信頼スコアなるものにより荷重平均されており、どの程度信頼できる実験だったのかは疑問に思う)
また、内部状態の類似度から近くの表現をいくつか見てみると次のようになっている。
(各データセットに対し上がGPT、下がBERTのもので、まあ確かに言われてみればLayoutBERTのほうが直感に近いレイアウトを分散できているように感じる...)

内部状態の分散表現の近傍

読んだ感想

BBoxのセマンティック情報のみを系列処理で扱い、表現を抽出するというのは私にとってはかなり新鮮で、かつ分散表現としてもいい結果が出ているようにみえて画期的だった。
ただ、結論でも述べられている通り画像の生の情報が入っていないため、不完全なものになっている。最近では画像の特徴をTransformerの内部テンソルへ関連付けるマルチモーダルNNも盛んに研究されているため、将来的にはセマンティック情報と画像テンソル、そしてLLMの言語的な補助を用いたレイアウト処理が開発される期待が持てる。

参照

[1] Kamal Gupta, Justin Lazarow, Alessandro Achille, Larry S Davis, Vijay Mahadevan, and Abhinav Shrivastava. Layout-transformer: Layout generation and completion with self- attention. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 1004–1014, 2021.

[2] Alec Radford, Karthik Narasimhan, Tim Salimans, and Ilya Sutskever. Improving language understanding by generative pre-training. 2018.

[3] Diego Martin Arroyo, Janis Postels, and Federico Tombari. Variational transformer networks for layout generation. In Proceedings of the IEEE/CVF Conference on Computer Vi- sion and Pattern Recognition, pages 13642–13652, 2021.

[4] Kamal Gupta, Justin Lazarow, Alessandro Achille, Larry S Davis, Vijay Mahadevan, and Abhinav Shrivastava. Layout-transformer: Layout generation and completion with self- attention. In Proceedings of the IEEE/CVF International Conference on Computer Vision, pages 1004–1014, 2021.

[5] Donghoon Lee, Sifei Liu, Jinwei Gu, Ming-Yu Liu, Ming- Hsuan Yang, and Jan Kautz. Context-aware synthe-sis and placement of object instances. arXiv preprint arXiv:1812.02350, 2018.

Discussion