自動生成による重要度マップ1「低レベル特徴量による顕著性マップ」
リターゲティングには「視覚的な顕著性(Saliency)」を用いて計算した「顕著性マップ」を重要度マップとして利用することが多いです。(視覚的)顕著性とは「人が視覚的注意の仕組からすると、画像・映像の中でどの部分を注視しやすいか」のことで、画像・映像から各ピクセルの顕著性を計算したものを「顕著性マップ」と呼びます。以下の図は、標準的な顕著性マップの例です。この図のように、顕著性マップはモノクロで可視化することもあれば、熱温度分布のようにカラーで可視化したりすることもあります。
脳や視覚の仕組みについての科学的研究成果により、人間の視覚には、注意を惹くような場所に視覚が(自動的に・優先的に)反応する仕組みが存在することが解明されてきており、その仕組みを計算機でモデル化したものがここで言う視覚顕著性です。上記図の顕著性マップを見ると、画像を一目見た時につい注視してしまいそうな領域の顕著性の値が高くなっていることがわかると思います。この顕著性マップをリターゲティングの重要度マップとして採用すると、元画像中で顕著性の高い(注視されやすい)領域の縦横比を変えずに保持したまま画像のリサイズを行う処理が実現できることになります。
顕著性はさまざまな計算モデルが研究されており、そういったモデルを用いることで、一枚の画像から各モデルに基づいた注視度をピクセル毎に算出した顕著性マップを作成できます。ただし、今回顕著性マップ向けの各モデルの話を詳しく説明すると、本題であるリターゲティングへの焦点がぼやけてしまうので、ここでは、リターゲティングによく用いられる「低レベル特徴量を用いた顕著性マップ」について、簡単にだけ説明しておきましょう。
低レベル特徴量を用いた顕著性マップは、上記の図のような視覚注意モデルに基づいて計算します。まず最初に、入力画像から元画像の各ピクセルでの色の値・輝度値(intensity)・回転方向(orientation)・動きベクトルといった、各低レベルの特徴量の値を計算したマップを作成します。次に、この各特徴量マップを元画像の通りスケール、元画像の1/2のスケール、元画像の1/4のスケールと言ったように、複数のスケールの画像から各特徴量マップを計算します。そして、同じ特徴量のマップ間で、スケールごとの差をとることで、「その特徴量のコントラスト具合(差分度合い)が強い領域が表されているマップ」が生成されます(例えば特徴量がエッジだとすると、これはエッジ画像に相当)。このようにしてできあがった特徴量ごとのコントラストマップを、1つのマップ「顕著性マップ」に足し合わせて統合することで、「どの画素が、その画素の周辺領域に対して(特徴量の値のコントラスト差が大きく)顕著に違うか」ということが表現されたマップである「顕著性マップ」が作成できるわけです。
自動生成による重要度マップ2「エッジマップ」
既に述べたように、顕著性マップを作成する時にエッジ情報を用いることが多いわけですが、「エッジ画像」そのものを顕著性とは別に重要度マップとして用いることも多いです(エッジマップ+顕著性マップの合成で重要度マップということもあります)。エッジマップを用いたリターゲティングでは、輪郭(つまりエッジ)が強い領域は重要度を高くしてリターゲティング後も元の様子を保持し、一方で輪郭が少ない領域は重要度を低くして、平滑化をするという重要度マップ(=エッジ画像)が生成されます。前回までの漫画画像処理で紹介したCanny Edge検出器や、その他輪郭抽出手法を用いてエッジマップを計算します。
自動生成による重要度マップ3「物体性マップ(トップダウン顕著性マップ)」
ここまでで紹介したように、「低レベル特徴量からの顕著性」や「エッジ(輪郭)」を用いる事で、縮小後に消去しては不自然になる場所を重要度マップから判断できるようになるわけですが、低レベル特徴量や輝度値・色・エッジなどの低レベルの画像特徴だけが人間の注視の要因ではありません。
人や犬、車など「物体」として認知できるところは、当然ながら注視のレベルが高くなるわけです。そのような各「物体らしさ」を表すマップもリターゲティングの重要度マップに使用できます。その際、以前この連載でも紹介した顔検出器や、自動車前方カメラの処理で紹介した人検出器のような各種「物体検出器」や、機械学習済みの各物体らしさを元に画像内を分割できる手法などを用いることで、検出器した物体領域の重要度を高くした「物体性マップ」を作成します。
以下の図で示した画像は、物体性マップを重視した顕著性マップの結果です。下側3つの結果画像が、それぞれ「自転車」「車」「人」の重要度を高くした顕著性マップの結果で、それらの物体が存在している領域(赤い領域)は、顕著性の値が高く算出されていることがわかると思います。これらは各物体の顕著性があらかじめ機械学習されており、それらの学習済みの物体が画像に登場したときのみ、その領域の顕著性を強くするという仕組みになっています。
ちなみに、コンピュータビジョンが専門のエンジニアの方々は、エッジや色などの低レベルの特徴を用いて計算した顕著性を「ボトムアップ(bottom-up)」と呼び、逆に物体検出結果などの高レベルの特徴を用いて計算した顕著性を「トップダウン(top-down)」と呼びます。ボトムアップの手法とトップダウンの手法は、どちらかだけを独立に使ってもいいですし、両方を組み合わせた結果を最終的な顕著性マップとして用いても構いません。いずれにせよ、顕著性という注視モデルを、リターゲティング処理の重要度マップに応用しているので、その目的のために顕著性やその他の重要度を組み合わせれば良いわけです。
以上、「エッジ」「ボトムアップの顕著性(低レベル特徴マップ)」「トップダウンの顕著性(物体性マップ)」などが、重要度マップの重要度の指標に用いられることが多いということを紹介しました。