変形ベースの手法(連続的処理)

今回は、画像ごとをメッシュとみなし、そのメッシュを変形することでリターゲティング画像を作るという、「(メッシュ)変形ベースのリターゲティング手法」を紹介します。

これまで紹介して来たシーム・カービングは、1画素ごと削除していくだけの離散的な処理でした。それに対して、メッシュ変形ベースのリターゲティングは、メッシュを単位として画像全体を連続的に非線形な変形を加えることでリターゲティング画像を生成していきます(ここから説明するのはメッシュ変形による手法ですが、メッシュ以外にも連続的変形のモデル化の手段は取り得るので、連続的な処理全般のことを「変形ベースの手法」と、「メッシュ」を添えないで呼ぶことにします)。

メッシュ変形ベースの手法でも、リターゲティング後の画像でどの領域を重点的に保持したいかの指標として、重要度マップの各ピクセルでの値を用います。重要度が高い場所はなるべく変形を行わず、重要度が低い場所は大きく変形させます。こうして、(シーム・カービングの場合と同様ですが)、重要度の小さいところは、大きな変形が起こり、残りわずかになるか、場合によっては消え去ることとなり、重要な領域だけ残ったままのリターゲティング画像が作成されます。

以下の図が、メッシュ変形ベースの手法の処理の流れです。

図:メッシュ変形ベースの手法の処理の流れ

処理の流れですが、まず入力画像から検出したコーナー点などの特徴点を用い、ドロネー分割法などのメッシュ化アルゴリズムを用いて、入力画像に対するメッシュを作成します。

次に、重要度マップを計算し、メッシュごとの重要度の和をもとに、各メッシュにどのくらい変形を許すかを決めます。ここで、重要度の和が高いメッシュはリターゲティング後に残したい領域なのであまり変形は行わず、逆に重要度の和が高いメッシュは大きく変形を行って縮めていきます。

こうして、目標のサイズになるまで各メッシュを重要度の値に沿って縮めることでリターゲティングが達成されます。数学的に難しい説明になるので詳しい説明は省きますが、メッシュを変形した際にはメッシュ内の各ピクセルの値は変形した形に沿った値に変更されます。また、変形したことで元々はなかった場所には、補間されたピクセル値が割り当てられます。これが「連続的な処理」と呼ばれるゆえんです。

変形ベースの手法のリターゲティングとの比較

1ピクセルごとの削除を繰り返し行っていくシーム・カービングに比べて、変形ベースの手法は、各メッシュ単位で縮めていく連続的な手法です。従って、シーム・カービングで生成されてしまうような、不連続的な領域(シームで削除した場所をつないだ際に、あまりにも様子が一致しないことによるノイズ)は生じにくいです。一方で、不必要なピクセルを削除するだけのシーム・カービングと比べて、変形ベースの手法では、重要な領域も多少は変形するので、重要な領域でも不自然な歪みが生じてしまうことがあります。つまりはこの2つの手法はお互いトレード・オフな面があるとも言えるでしょう。このあと紹介するパッチベースの手法も同様に長所と短所があるので、これらの各手法を組み合わせて使う方法が近年研究されています。

パッチベースのリターゲティング手法

最後に、パッチベースのリターゲティング手法と、そのパッチベースの手法をリターゲティング以外の応用(インペインティングその他)との連携についてみていくことにしましょう

以前にインペインティングの時に紹介した「パッチマッチ(Patch Match)」は「見え方が一番近いパッチ同士を高速ランダム探索し、画像中のパッチの最近傍フィールド(Nearest Neighbor Field)を生成する手法」の1つでした。「リシャッフリング」などの他の用途にもパッチマッチが使えることも紹介しましたが、このようにパッチマッチをはじめとするパッチベースの対応点探索手法は「画像の見え方が自然なままを保つ加工処理」の全般に有効なアルゴリズムであり、リターゲティングでも応用されています。

以下は、パッチマッチとは別の「シフトマップ(Shift-map)」というパッチ対応探索手法を用いたリターゲティングの結果画像を示した図です。

図:パッチベース手法によるリターゲティングの例(Shit-Map)

図中の下段左側のシーム・カービングによる結果からみてみましょう。この結果画像では人物領域もかなり崩れてしまっていますが、この画像のように(鳩や人物などの)重要度が高い場所が多数存在している画像だと、小さい画像にリターゲティングをする際に地面領域(重要度が低い領域)だけをつないだシームがなかなか作れず、人物や鳩の領域も削られてしまい、こうした結果になりがちです。

一方、下段右下のシフトマップの結果画像では、人物も鳩も元画像様子に近いまま保持されていることがわかります。これは、最近傍フィールドにより「パッチの見えが近いパッチ座標同士を保持したまま」、重要度の低い場所だけを削除するので、元画像中の重要度が高い領域(人や鳩や後ろの建物)の様子を保持しやすくなるわけです。ただ、最近傍フィールドにより全体的な見えは保持されやすいのですが、シーム・カービングと同じで1ピクセルごと除去していることは変わりないので、(変形ベースの手法のように連続的に補間して処理しない限りは)細かい部分に不連続性のノイズは出やすいです。