
- はじめに
- 該当するタスク
- FILMとは
- Text Feature Fusion
- Text-Guided Vision Feature Fusion
- Vision Feature Decoding
- Fine-Tuningはどうするのか?
- 生成される融合画像
- まとめ
はじめに
こんにちは、CCCMKホールディングス三浦です。
昨年末に参加したAI・機械学習の学会"NeurIPS 2024"で2つの画像を合成し、2つの画像の特徴を持った1つの画像を生成する、という技術の存在を知り、画像合成について調べてみたいな、と考えていました。
調べてみると、2つの画像を融合して1つの画像を生成する、といっても色々な捉え方やアプローチがあることが分かりました。たとえば服の画像と人のモデルの画像を入力してモデルがその服を自然な様子で着ている画像を生成するアプローチや、赤外線画像と可視光画像を融合して視認性を上げた画像を生成するアプローチなどがあり、前者はどちらかというと"画像生成"に重きが置かれ、後者は"情報補完"に重きが置かれているように感じました。
色々なアプローチがある中で、今回取り上げたいのは"情報補完"を目的とした画像融合(Image Fusion)に関する論文です。
Title: Image Fusion via Vision-Language Model
Author: Zixiang Zhao, Lilun Deng, Haowen Bai, Yukun Cui, Zhipeng Zhang, Yulun Zhang, Haotong Qin, Dongdong Chen, Jiangshe Zhang, Peng Wang, Luc Van Gool
Submit: 3 Feb 2024 (v1), last revised 10 Jul 2024
arXiv: https://arxiv.org/abs/2402.02235
今回はこの論文の内容についてご紹介し、Image Fusionが具体的にどのように実現されるのか、その具体的な方法をまとめてみたいと思います。
該当するタスク
今回ご紹介する論文で提案されているFILM(Fusion via Vision-Language Model)というアプローチは、赤外線-可視光画像融合(infrared-visible image fusion)、医療画像融合(medical image fusion)、マルチ露光画像融合(multi-exposure image fusion)、マルチ焦点画像融合(multi-focus image fusion)において活用可能なものです。
これらのタスクをもう少し具体的に説明すると、以下の様になります。
| タスク | 内容 |
|---|---|
| 赤外線-可視光画像融合(infrared-visible image fusion) | 同一シーンの赤外線画像と可視光画像を融合する |
| 医療画像融合(medical image fusion) | MRIやCT、PETといった異なる方法で取得した医療画像を融合する |
| マルチ露光画像融合(multi-exposure image fusion) | 過露光(白飛び)と低露光(黒つぶれ)画像を融合する |
| マルチ焦点画像融合(multi-focus image fusion) | 近距離にピントを合わせた画像と遠距離にピントを合わせた画像を融合する |
たとえば赤外線-可視光画像融合を活用すると、赤外線で捉えられた人物部分が強調された風景画像を得ることが出来ます。これは例えば自動車関係の技術への活用が考えられます。
FILMとは
画像を融合する従来のアプローチでは2つの画像の画像特徴に重点をおいたものでした。一方論文で提案されている FILM(Fusion via Vision-Language Model)では、テキスト情報を用いてモデルがより深く画像の意味を理解したうえで画像の融合を可能にするアプローチです。
モデル全体を表した図が以下で、この図が示すようにFILMでは2つの入力画像を3つのステップ"Text Feature Fusion", "Text-Guided Vision Feature Fusion", "Vision Feature Decoding"を通じて処理を行い、融合した画像を生成します。

Text Feature Fusion
ここからは3つのステップについてそれぞれまとめてみます。
先の図の左に位置するText Feature Fusionは、それぞれの入力画像からテキスト情報を抽出し、BLIP2というVision-Language Modelを通じてテキスト情報をエンコーディングして特徴量化を行います。
テキスト情報の抽出は、まず入力画像に対して"Image Captioning", "Dense Captioning", "Segment Anything"を実行します。Image Captioningは画像から説明テキストを抽出する処理、Dense Captioningは画像内の物体検出と物体ごとの説明テキストを生成する処理、Segment Anythingは物体の領域と物体の種類を抽出する処理です。
次にこれら3つの結果をChatGPTにプロンプトとして与え、テキスト情報を取得します。具体的にどのようにChatGPTに入力として与えているのかは、論文からは読み取ることが出来ませんでした。
具体的には、たとえばIVF(赤外線-可視光画像融合), MFF(マルチ焦点画像融合)のタスクの場合は、以下の図のように2つのInput Imageに対してそれぞれImage Captioning, Dense Captioning, Segment Anythingを実行し、最終的に"Generated Text Paragraph"の内容のテキストを取得することが出来ます。

このテキスト情報をVision-Language ModelのBLIP2のテキストエンコーダーに通すことでテキストの特徴量が取得出来ます。最終的に2つの入力画像で得られたテキスト特徴量を結合したものが、以降のステップで使用されます。
Text-Guided Vision Feature Fusion
ステップ2では、2つの入力画像と、前のステップで取得した統合されたテキスト特徴量を受け取り、画像特徴量を出力する処理を行います。画像情報のエンコーディングはCNN blocks(畳み込み処理)とRestormer bloksを通じて行っています。Restormerは"Restormer: Efficient Transformer for High-Resolution Image Restoration"という論文で提案された、イズなどによって劣化した画像を効率的に復元することが出来るTransformerモデルです。CNNとRestormerを組み合わせることで画像の局所情報と大域情報両方を含めてエンコーディング出来るのだと思います。
このあと、画像特徴量とステップ1のテキスト特徴量でCross-Attentionの処理が行われます。画像特徴量をKey,Valueとし、テキスト特徴量をQueryとしてAttentionの計算が行われます。
この処理を複数回(論文の実装だと3回)実行し、2つの画像で得られた結果を結合して画像特徴量として出力します。
Vision Feature Decoding
ステップ2で出力された統合された画像特徴量を使って融合画像を生成するステップです。ここでもRestormerとカーネルサイズ1のCNNを複数回繰り返して画像の生成を行います。
Fine-Tuningはどうするのか?
FILMでは、融合した2つの画像は与えられているが、それを合成した画像は手元に存在しないという条件でモデルのFine-Tuningを行います。損失関数は
という、3つの損失の重み付きの和で計算されます。重みの と
は扱うタスクによって異なる値を設定しており、赤外線-可視光画像融合の場合はそれぞれ
を、マルチ焦点画像融合の場合は
を設定しています。また、3つの損失の定義もタスクによって異なります。
入力画像を,
, 融合画像を
, 入力画像の高さと幅を
とした時、たとえば赤外線-可視光画像融合のタスクだと
は
と定義されています。
この式は画像ピクセルごとにと
の値の大きい方と
の値の差分の絶対値(l1ノルム)を求め、画像全体で平均値を求めることを意味しています。この式を最小化することは、融合画像に2つの入力画像のより値の強い情報を反映させることを意味しています。
一方は、
と定義されます。
は画像
に微分フィルタリングを施しエッジ強調した画像を表しています。論文の実装ではSobelフィルタが使われていました。この式の最小化は、融合画像に2つの入力画像双方の輪郭を反映させることを意味しています。
は
で定義されます。
は2つの画像の構造類似度指標
を用いた損失で、
は2つの画像の構造が似ているほど1に近い値を取ります。この式の最小化は融合画像に入力画像それぞれの構造類似性を反映させることを意味しています。赤外線-可視光画像融合のタスクではこの損失は全体の損失には含めないようになっていました。
学習対象になるのはステップ2, ステップ3で使用されるモジュールです。学習に使用するデータセットのサイズは、たとえば赤外線-可視光画像融合のタスクでは1,083件の画像ペアを用いているそうです。
生成される融合画像
それぞれのタスクにおける、FILMとその他の手法での融合画像の結果を論文から転載します。
赤外線-可視光画像融合
以下の図の上段の左から1つ目が赤外線画像、2つ目が可視光画像で、下段右から1つ目の画像がFILMによる融合画像です。融合画像を見ると、可視光画像で表現されている風景に加え、赤外線画像で強調されている人物に該当する箇所が同様に強調されていることが分かります。

マルチ露光画像融合
同様に、以下の図の上段の左から1つ目が過露光画像、2つ目が低露光画像で、下段右から1つ目の画像がFILMによる融合画像です。過露光画像だと画像の左部分が、低露光画像だと右部分が認識出来ていますが、FILMによる融合画像ではそれぞれの部分が同程度の露光加減に調整され、融合されている様子が分かります。

まとめ
今回はテキスト情報を利用しながら2つの画像を融合するというFILM(Fusion via Vision-Language Model)というImage Fusionのアプローチについての論文を読んで内容をまとめてみました。テキスト情報を利用する点や、損失関数の取り方などがとても面白いと感じました。また、最近テキスト系のモデルばかりを見ていたので、画像系のモデルを見るのは久しぶりだったのですが、視覚的に変化が見えるというのは画像系のモデルの面白いところだなぁと感じました。もっと色々なアプローチについて、調べてみたいと思いました。