(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-26
(45)【発行日】2024-09-03
(54)【発明の名称】最適化装置、訓練装置、合成装置、それらの方法、およびプログラム
(51)【国際特許分類】
G06T 5/00 20240101AFI20240827BHJP
H04N 1/387 20060101ALI20240827BHJP
G06T 7/194 20170101ALI20240827BHJP
G06T 7/00 20170101ALI20240827BHJP
【FI】
G06T5/00
H04N1/387 110
G06T7/194
G06T7/00 350C
(21)【出願番号】P 2021083720
(22)【出願日】2021-05-18
【審査請求日】2023-09-22
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】100121706
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】吹上 大樹
(72)【発明者】
【氏名】大石 岳史
【審査官】佐田 宏史
(56)【参考文献】
【文献】国際公開第2016/039301(WO,A1)
【文献】特開2012-059158(JP,A)
【文献】吹上 大樹、外2名,“透明視を利用した複合現実感環境下における遮蔽矛盾解消手法の提案”,情報処理学会研究報告,日本,一般社団法人情報処理学会,2013年02月15日,Vol.2012-CVIM-184, No.1,pp.1-8
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00,3/00,5/00,7/00-7/90
G06V 10/00-10/98
H04N 1/387
(57)【特許請求の範囲】
【請求項1】
前景マスク画像と、前記前景マスク画像を適用したアルファマップαと、前景画像と、背景画像を用いて、前記アルファマップαを用いてブレンドした画像において前記前景画像の視認性を計算する対象となる画像特徴成分である第一対象成分の知覚コントラストマップと、前記前景マスク画像を用いて不透明にブレンドした画像において前記前景画像の視認性を計算する対象となる画像特徴成分である第二対象成分の知覚コントラストマップを計算する知覚コントラスト計算部と、
前記第二対象成分の知覚コントラストマップを用いて、画像特徴に対する重みベクトルを計算する重み計算部と、
前記第一対象成分の知覚コントラストマップと前記重みベクトルを用いて前記前景画像の視認性を示す視認性マップvを得る特徴集約部と、
前記視認性マップvと所望の視認性マップ^vとから視認性損失を計算し、前記前景画像と前記アルファマップαとから前記アルファマップαが空間的に滑らかに変化するような制約を与える平滑度損失を計算し、前記視認性損失と前記平滑度損失を用いて損失L
Fを計算する損失計算部と、
前記損失L
Fを用いて、前記アルファマップαを更新するアルファ値更新部と、を含む、
最適化装置。
【請求項2】
請求項1の最適化装置であって、
前記損失計算部は、前記アルファマップαでブレンドした画像中に含まれている背景以外の前記第一対象成分と、前記前景画像を不透明にブレンドした際の背景以外の前記第二対象成分の相関が高くなる効果を与えるような画像忠実度損失を計算し、前記視認性損失と前記平滑度損失と前記画像忠実度損失を用いて前記損失L
Fを計算する、
最適化装置。
【請求項3】
請求項1または請求項2の最適化装置であって、
前記背景画像の視認性を示す背景視認性マップと背景画像の視認性の下限を示す所望の視認性下限マップ^v
Bとから背景についての背景視認性損失を計算し、前記背景画像と前記アルファマップαとから前記アルファマップαが空間的に滑らかに変化するような制約を与える背景平滑度損失を計算し、前記背景視認性損失と前記背景平滑度損失を用いて損失L
Bを計算する背景損失計算部と、
前記損失L
Fと前記損失L
Bを用いて損失Lを求める損失加算部とを含み、
前記アルファ値更新部は、前記損失Lを用いて、前記アルファマップαを更新する、
最適化装置。
【請求項4】
請求項3の最適化装置であって、
前記知覚コントラスト計算部は、M枚の前景マスク画像と、M枚の前記前景マスク画像を適用したM枚のアルファマップα
(m)と、M枚の前景画像と、前記背景画像を用いて、前記アルファマップα
(m)を用いてブレンドした画像においてM枚の前記前景画像の視認性を計算する対象となる画像特徴成分であるM個の第一対象成分の知覚コントラストマップと、M枚の前記前景マスク画像を用いて不透明にブレンドした画像においてM枚の前記前景画像の視認性を計算する対象となる画像特徴成分であるM個の第二対象成分の知覚コントラストマップを計算し、
前記重み計算部は、M個の前記第二対象成分の知覚コントラストマップを用いて、画像特徴に対するM個の重みベクトルを計算し、
前記特徴集約部は、M個の前記第一対象成分の知覚コントラストマップとM個の前記重みベクトルを用いてM枚の前記前景画像の視認性を示すM個の視認性マップvを得、
前記損失計算部は、M個の前記視認性マップvとM個の所望の視認性マップ^vとからM個の視認性損失を計算し、M枚の前記前景画像とM枚の前記アルファマップαとからM枚の前記アルファマップαが空間的に滑らかに変化するような制約を与えるM個の平滑度損失を計算し、M個の前記視認性損失とM個の前記平滑度損失を用いてM個の損失L
Fを計算し、
前記損失加算部は、M個の前記損失L
Fと前記損失L
Bを用いて損失Lを求める、
最適化装置。
【請求項5】
前景画像と背景画像を深層ニューラルネットワークから成る共通のエンコーダによってエンコードしたのち、エンコードした特徴と所望の視認性マップから他の深層ニューラルネットワークから成るデコーダを用いてデコードすることによってアルファマップを生成するアルファ値生成部と、
前景マスク画像と、前記前景マスク画像を適用した前記アルファマップαと、前記前景画像と、前記背景画像を用いて、前記アルファマップαを用いてブレンドした画像において前記前景画像の視認性を計算する対象となる画像特徴成分である第一対象成分の知覚コントラストマップと、前記前景マスク画像を用いて不透明にブレンドした画像において前記前景画像の視認性を計算する対象となる画像特徴成分である第二対象成分の知覚コントラストマップを計算する知覚コントラスト計算部と、
前記第二対象成分の知覚コントラストマップを用いて、画像特徴に対する重みベクトルを計算する重み計算部と、
前記第一対象成分の知覚コントラストマップと前記重みベクトルを用いて前記前景画像の視認性を示す視認性マップvを得る特徴集約部と、
前記視認性マップvと所望の視認性マップ^vとから視認性損失を計算し、前記前景画像と前記アルファマップαとから前記アルファマップαが空間的に滑らかに変化するような制約を与える平滑度損失を計算し、前記視認性損失と前記平滑度損失を用いて損失L
Fを計算する損失計算部と、
前記損失L
Fを用いて、前記エンコーダおよび前記デコーダのパラメータを更新するパラメータ更新部と、を含む、
訓練装置。
【請求項6】
請求項5の訓練装置で訓練したパラメータを用いる合成装置であって、
合成対象の前景画像と合成対象の背景画像を、前記パラメータを用いる前記エンコーダによってエンコードしたのち、エンコードした特徴と所望の視認性マップから前記パラメータを用いる前記デコーダを用いてデコードすることによってアルファマップを生成するアルファ値生成部と、
前記合成対象の前景画像と前記合成対象の背景画像を前記アルファマップを用いて合成し、合成画像を生成するブレンド部とを含む、
合成装置。
【請求項7】
最適化装置が、前景マスク画像と、前記前景マスク画像を適用したアルファマップαと、前景画像と、背景画像を用いて、前記アルファマップαを用いてブレンドした画像において前記前景画像の視認性を計算する対象となる画像特徴成分である第一対象成分の知覚コントラストマップと、前記前景マスク画像を用いて不透明にブレンドした画像において前記前景画像の視認性を計算する対象となる画像特徴成分である第二対象成分の知覚コントラストマップを計算する知覚コントラスト計算ステップと、
前記最適化装置が、前記第二対象成分の知覚コントラストマップを用いて、画像特徴に対する重みベクトルを計算する重み計算ステップと、
前記最適化装置が、前記第一対象成分の知覚コントラストマップと前記重みベクトルを用いて前記前景画像の視認性を示す視認性マップvを得る特徴集約ステップと、
前記最適化装置が、前記視認性マップvと所望の視認性マップ^vとから視認性損失を計算し、前記前景画像と前記アルファマップαとから前記アルファマップαが空間的に滑らかに変化するような制約を与える平滑度損失を計算し、前記視認性損失と前記平滑度損失を用いて損失L
Fを計算する損失計算ステップと、
前記最適化装置が、前記損失L
Fを用いて、前記アルファマップαを更新するアルファ値更新ステップと、を含む、
最適化方法。
【請求項8】
請求項7の最適化方法であって、
前記損失計算ステップは、前記アルファマップαでブレンドした画像中に含まれている背景以外の前記第一対象成分と、前記前景画像を不透明にブレンドした際の背景以外の前記第二対象成分の相関が高くなる効果を与えるような画像忠実度損失を計算し、前記視認性損失と前記平滑度損失と前記画像忠実度損失を用いて前記損失L
Fを計算する、
最適化方法。
【請求項9】
請求項7または請求項8の最適化方法であって、
前記最適化装置が、前記背景画像の視認性を示す背景視認性マップと背景画像の視認性の下限を示す所望の視認性下限マップ^v
Bとから背景についての背景視認性損失を計算し、前記背景画像と前記アルファマップαとから前記アルファマップαが空間的に滑らかに変化するような制約を与える背景平滑度損失を計算し、前記背景視認性損失と前記背景平滑度損失を用いて損失L
Bを計算する背景損失計算ステップと、
前記最適化装置が、前記損失L
Fと前記損失L
Bを用いて損失Lを求める損失加算ステップとを含み、
前記アルファ値更新ステップは、前記損失Lを用いて、前記アルファマップαを更新する、
最適化方法。
【請求項10】
請求項9の最適化方法であって、
前記知覚コントラスト計算ステップは、M枚の前景マスク画像と、M枚の前記前景マスク画像を適用したM枚のアルファマップα
(m)と、M枚の前景画像と、前記背景画像を用いて、前記アルファマップα
(m)を用いてブレンドした画像においてM枚の前記前景画像の視認性を計算する対象となる画像特徴成分であるM個の第一対象成分の知覚コントラストマップと、M枚の前記前景マスク画像を用いて不透明にブレンドした画像においてM枚の前記前景画像の視認性を計算する対象となる画像特徴成分であるM個の第二対象成分の知覚コントラストマップを計算し、
前記重み計算ステップは、M個の前記第二対象成分の知覚コントラストマップを用いて、画像特徴に対するM個の重みベクトルを計算し、
前記特徴集約ステップは、M個の前記第一対象成分の知覚コントラストマップとM個の前記重みベクトルを用いてM枚の前記前景画像の視認性を示すM個の視認性マップvを得、
前記損失計算ステップは、M個の前記視認性マップvとM個の所望の視認性マップ^vとからM個の視認性損失を計算し、M枚の前記前景画像とM枚の前記アルファマップαとからM枚の前記アルファマップαが空間的に滑らかに変化するような制約を与えるM個の平滑度損失を計算し、M個の前記視認性損失とM個の前記平滑度損失を用いてM個の損失L
Fを計算し、
前記損失加算ステップは、M個の前記損失L
Fと前記損失L
Bを用いて損失Lを求める、
最適化方法。
【請求項11】
訓練装置が、前景画像と背景画像を深層ニューラルネットワークから成る共通のエンコーダによってエンコードしたのち、エンコードした特徴と所望の視認性マップから他の深層ニューラルネットワークから成るデコーダを用いてデコードすることによってアルファマップを生成するアルファ値生成ステップと、
前記訓練装置が、前景マスク画像と、前記前景マスク画像を適用した前記アルファマップαと、前記前景画像と、前記背景画像を用いて、前記アルファマップαを用いてブレンドした画像において前記前景画像の視認性を計算する対象となる画像特徴成分である第一対象成分の知覚コントラストマップと、前記前景マスク画像を用いて不透明にブレンドした画像において前記前景画像の視認性を計算する対象となる画像特徴成分である第二対象成分の知覚コントラストマップを計算する知覚コントラスト計算ステップと、
前記訓練装置が、前記第二対象成分の知覚コントラストマップを用いて、画像特徴に対する重みベクトルを計算する重み計算ステップと、
前記訓練装置が、前記第一対象成分の知覚コントラストマップと前記重みベクトルを用いて前記前景画像の視認性を示す視認性マップvを得る特徴集約ステップと、
前記訓練装置が、前記視認性マップvと所望の視認性マップ^vとから視認性損失を計算し、前記前景画像と前記アルファマップαとから前記アルファマップαが空間的に滑らかに変化するような制約を与える平滑度損失を計算し、前記視認性損失と前記平滑度損失を用いて損失L
Fを計算する損失計算ステップと、
前記訓練装置が、前記損失L
Fを用いて、前記エンコーダおよび前記デコーダのパラメータを更新するパラメータ更新ステップと、を含む、
訓練方法。
【請求項12】
請求項11の訓練方法で訓練したパラメータを用いる合成方法であって、
合成装置が、合成対象の前景画像と合成対象の背景画像を、前記パラメータを用いる前記エンコーダによってエンコードしたのち、エンコードした特徴と所望の視認性マップから前記パラメータを用いる前記デコーダを用いてデコードすることによってアルファマップを生成するアルファ値生成ステップと、
前記合成装置が、前記合成対象の前景画像と前記合成対象の背景画像を前記アルファマップを用いて合成し、合成画像を生成するブレンドステップとを含む、
合成方法。
【請求項13】
請求項1から請求項4の何れかの最適化装置、または、請求項5の訓練装置、または、請求項6の合成装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ある画像を別の画像に半透明に合成する場面において視認性をコントロールする技術に関する。
【背景技術】
【0002】
視覚情報を別の背景に重畳する際、2つの画像の画素値を単一のパラメータ(アルファ値)で重み付き線形加算する手法(アルファブレンド)がデファクトスタンダードとしてあらゆる場面で用いられている。しかし、このような単純なアルファブレンドを用いた場合、ブレンドした前景画像の視認性が背景画像に大きく依存してしまう。一般にユーザは視認性を元にパラメータを決定するわけであるから、これはユーザにとって不親切かつ非直感的なインターフェースであると言える。
【0003】
この問題を解決する有効なアプローチとして、視認性に関わる人間の知覚モデルを利用し、モデルに基づいてブレンディングパラメータを最適化するという方法が考えられる。視認性の背景への依存は、コントラスト知覚のメカニズムによって説明することができる。例えば、よく知られているコントラストマスキングという現象では、同じコントラストのパターンであっても、背景に高いコントラストを持つ別のパターンがあると見えづらくなる。これは、物理的なコントラストが大きくなるほど応答の増分が小さくなるという視覚系の非線形なコントラスト応答が原因であると考えられている。こうした視覚系の振る舞いを再現可能な計算モデルは、ノイズの視認性を予測する画質評価の手法にも組み込まれ活用されてきた。こうした研究の流れを受け、非特許文献1は、画質評価のために開発されたモデルを利用し、アルファ値を最適化する手法を提案している。
【先行技術文献】
【非特許文献】
【0004】
【文献】Taiki Fukiage, Takeshi Oishi, and Katsushi Ikeuchi, "Visibility-based blending for real-time applications", IEEE International Symposium on Mixed and Augmented Reality (ISMAR), 2014.
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1は、ブレンド画像の視認性に対するモデルの予測精度が十分ではなく、またアルファ値の最適化方法にも以下の課題が残されている。
【0006】
(1)非特許文献1では、画像に含まれるノイズの視認性を予測するための画質評価手法を、ブレンド画像中に含まれる前景画像成分の視認性を予測するために用いている。この画質評価手法では、ノイズの足された画像と元画像をそれぞれ初期視覚野の計算モデルにより知覚的な画像表現に変換し、この知覚的な画像表現において互いの距離(=知覚的な距離)を計算することでノイズの視認性を評価する。非特許文献1ではこれに倣い、ブレンド画像とブレンド前の背景画像の知覚的な距離を計算することで、ブレンド画像内に含まれる前景画像の視認性を評価する。しかし、アルファブレンドにおいては、ブレンディングによって前景画像が足されるだけでなく、背景画像のコントラストが減衰する効果も生じる。よって、ブレンド画像と背景画像の間の知覚的な距離は、前景画像成分だけでなく背景画像成分の減衰分も含まれていることになる。よって、こうした画質評価モデルを素直にアルファブレンド画像に適用するだけでは、ブレンド画像中の前景画像の視認性を正しく推定することはできない。
【0007】
(2)上記問題に加えて、一般的な画像中に含まれる画像特徴はバラエティに富むため、ノイズの視認性予測のために開発された画質評価手法は任意の画像の視認性を高精度に予測できない。非特許文献1で用いられたものも含む多くの画質評価手法では、入力画像をまず複数の異なる帯域の空間周波数・色、方位等の特徴に分解し、それぞれの特徴に対する知覚的なコントラストを計算する。その後、これら特徴毎のコントラストから計算された特徴毎の視認性を1つの値に集約することで視認性の予測値とする。この際、特徴毎に重み付けを行ってから集約することもしばしば行われる。しかし、特徴毎の重みは固定されているため、色・空間周波数成分等の画像特徴を多く含む画像ほど視認性が過大に評価されやすく、逆にぼけた画像や滑らかな画像のように特徴が少ない画像ほど視認性が過小評価されやすいといった問題が生じる。
【0008】
本発明は、背景成分の減衰の効果が混入することなく正確に前景画像の視認性が推定可能となり、多様な前景画像に対する視認性の予測精度を大幅に改善することができる最適化装置、訓練装置、合成装置、それらの方法、、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上記の課題を解決するために、本発明の一態様によれば、最適化装置は、前景マスク画像と、前景マスク画像を適用したアルファマップαと、前景画像と、背景画像を用いて、アルファマップαを用いてブレンドした画像において前景画像の視認性を計算する対象となる画像特徴成分である第一対象成分の知覚コントラストマップと、前景マスク画像を用いて不透明にブレンドした画像において前景画像の視認性を計算する対象となる画像特徴成分である第二対象成分の知覚コントラストマップを計算する知覚コントラスト計算部と、第二対象成分の知覚コントラストマップを用いて、画像特徴に対する重みベクトルを計算する重み計算部と、第一対象成分の知覚コントラストマップと重みベクトルを用いて前景画像の視認性を示す視認性マップvを得る特徴集約部と、視認性マップvと所望の視認性マップ^vとから視認性損失を計算し、前景画像とアルファマップαとからアルファマップαが空間的に滑らかに変化するような制約を与える平滑度損失を計算し、視認性損失と平滑度損失を用いて損失LFを計算する損失計算部と、損失LFを用いて、アルファマップαを更新するアルファ値更新部と、を含む。
上記の課題を解決するために、本発明の他の態様によれば、訓練装置は、前景画像と背景画像を深層ニューラルネットワークから成る共通のエンコーダによってエンコードしたのち、エンコードした特徴と所望の視認性マップから他の深層ニューラルネットワークから成るデコーダを用いてデコードすることによってアルファマップを生成するアルファ値生成部と、前景マスク画像と、前景マスク画像を適用したアルファマップαと、前景画像と、背景画像を用いて、アルファマップαを用いてブレンドした画像において前景画像の視認性を計算する対象となる画像特徴成分である第一対象成分の知覚コントラストマップと、前景マスク画像を用いて不透明にブレンドした画像において前景画像の視認性を計算する対象となる画像特徴成分である第二対象成分の知覚コントラストマップを計算する知覚コントラスト計算部と、第二対象成分の知覚コントラストマップを用いて、画像特徴に対する重みベクトルを計算する重み計算部と、第一対象成分の知覚コントラストマップと重みベクトルを用いて前景画像の視認性を示す視認性マップvを得る特徴集約部と、視認性マップvと所望の視認性マップ^vとから視認性損失を計算し、前景画像とアルファマップαとからアルファマップαが空間的に滑らかに変化するような制約を与える平滑度損失を計算し、視認性損失と平滑度損失を用いて損失LFを計算する損失計算部と、損失LFを用いて、エンコーダおよびデコーダのパラメータを更新するアルファ値更新部と、を含む。
【発明の効果】
【0010】
本発明によれば、背景成分の減衰の効果が混入することなく正確に前景画像の視認性が推定可能となり、多様な前景画像に対する視認性の予測精度を大幅に改善することができるという効果を奏する。
【図面の簡単な説明】
【0011】
【
図1】第1~第3実施形態に係る合成装置の機能ブロック図。
【
図2】第1~第5実施形態に係る合成装置の処理フローの例を示す図。
【
図3】第1実施形態に係るアルファ値生成部の機能ブロック図。
【
図4】第1実施形態に係るアルファ値生成部の処理フローの例を示す図。
【
図5】第1実施形態に係る視認性予測部の機能ブロック図。
【
図6】第1実施形態に係る視認性予測部の処理フローの例を示す図。
【
図7】第1実施形態に係る知覚コントラスト計算部の機能ブロック図。
【
図8】第1実施形態に係る知覚コントラスト計算部の処理フローの例を示す図。
【
図9】第1実施形態に係る損失計算部の機能ブロック図。
【
図10】第1実施形態に係る損失計算部の処理フローの例を示す図。
【
図11】所望の視認性マップ、最適化済のアルファマップの例を示す図。
【
図12】第2実施形態に係るアルファ値生成部の機能ブロック図。
【
図13】第2実施形態に係るアルファ値生成部の処理フローの例を示す図。
【
図14】第2実施形態に係る視認性予測部の機能ブロック図。
【
図15】第2実施形態に係る視認性予測部の処理フローの例を示す図。
【
図16】第2実施形態に係る知覚コントラスト計算部の機能ブロック図。
【
図17】第2実施形態に係る知覚コントラスト計算部の処理フローの例を示す図。
【
図18】第2実施形態に係る損失計算部の機能ブロック図。
【
図19】第2実施形態に係る損失計算部の処理フローの例を示す図。
【
図20】第3実施形態に係るアルファ値生成部の機能ブロック図。
【
図21】第3実施形態に係るアルファ値生成部の処理フローの例を示す図。
【
図22】第4実施形態に係る合成装置の機能ブロック図
【
図23】第4実施形態に係るアルファ値生成部の機能ブロック図。
【
図24】第4実施形態に係るアルファ値生成部の処理フローの例を示す図。
【
図25】第4実施形態に係る前景視認性予測部の機能ブロック図。
【
図26】第4実施形態に係る前景視認性予測部の処理フローの例を示す図。
【
図27】第4実施形態に係る知覚コントラスト計算部の機能ブロック図。
【
図28】第4実施形態に係る知覚コントラスト計算部の処理フローの例を示す図。
【
図29】第5実施形態に係る訓練装置の機能ブロック図。
【
図30】第5実施形態に係る訓練装置の処理フローの例を示す図。
【
図31】第5実施形態に係るアルファ値生成部の機能ブロック図。
【
図32】第5実施形態に係るアルファ値生成部の処理フローの例を示す図。
【
図33】第5実施形態に係る合成装置の機能ブロック図。
【
図34】本手法を適用するコンピュータの構成例を示す図。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について、説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。以下の説明において、テキスト中で使用する記号「^」「-」等は、本来直後の文字の真上に記載されるべきものであるが、テキスト記法の制限により、当該文字の直前に記載する。式中においてはこれらの記号は本来の位置に記述している。また、ベクトルや行列の各要素単位で行われる処理は、特に断りが無い限り、そのベクトルやその行列の全ての要素に対して適用されるものとする。
【0013】
<第1実施形態>
図1は第1実施形態に係る合成装置100の機能ブロック図を、
図2はその処理フローを示す。
【0014】
第1実施形態に係る合成装置100は、アルファ値生成部110とブレンド部120とを含む。
【0015】
合成装置100は、前景画像Ifg∈R3×H×Wと背景画像Ibg∈R3×H×W、前景マスク画像M∈RH×W、アルファマップの初期値αin∈RH×W、所望の視認性マップ^v∈RH×Wを入力として、前景画像Ifgと背景画像Ibgとを合成し、合成画像Ibl∈R3×H×Wを出力する。ここで、Rは実数全体の集合、H、Wはそれぞれ画像の高さと幅を表す。各画像の各画素値は、3個の色成分からなる。なお、所望の視認性マップは、前景画像の所望の視認性を示すものである。
【0016】
アルファ値生成部110は、アルファマップの初期値αinと前景画像Ifgと背景画像Ibgと前景マスク画像Mと所望の視認性マップ^vを入力として、アルファ値αout
i∈[0,1]を生成し(S110)、アルファマップαout∈RH×Wを出力する。iは画像の各画素のインデックスを表し、αout
iはアルファマップαoutのi番目の画素のアルファ値を表す。
【0017】
ブレンド部120は、前景画像Ifgと背景画像Ibgとアルファ値生成部110から出力されるアルファマップαoutを入力として、前景画像Ifgと背景画像Ibgを次式によりブレンドし(S120)、合成画像Ibl∈R3×H×Wを出力する。
【0018】
Ibl
i=αout
iIfg
i+(1-αout
i)Ibg
i (1)
ただし、Ibl
iは合成画像Iblのi番目の画素値、Ifg
iは前景画像Ifgのi番目の画素値、Ibg
iは背景画像Ibgのi番目の画素値をそれぞれ表す。
【0019】
合成装置および後述する、最適化装置、訓練装置は、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。合成装置、最適化装置および訓練装置は、例えば、中央演算処理装置の制御のもとで各処理を実行する。合成装置、最適化装置および訓練装置に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。合成装置、最適化装置および訓練装置の各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。合成装置、最適化装置および訓練装置が備える各記憶部は、例えば、RAM(Random Access Memory)などの主記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。ただし、各記憶部は、必ずしも合成装置、最適化装置および訓練装置がその内部に備える必要はなく、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置により構成し、合成装置、最適化装置および訓練装置の外部に備える構成としてもよい。
【0020】
以下、アルファ値生成部110について説明する。
【0021】
<アルファ値生成部110>
図3はアルファ値生成部110の機能ブロック図を、
図4はその処理フローの例を示す。
【0022】
アルファ値生成部110は、視認性予測部111、損失計算部113、アルファ値更新部115を含む。
【0023】
アルファ値生成部110は、前景画像Ifg、背景画像Ibg、前景マスク画像M、アルファマップの初期値αin、所望の視認性マップ^vを入力として、最適化済のアルファマップαout∈RH×Wを生成し、出力とする。前景マスク画像Mは、全画像領域中で前景画像Ifgが存在する画素で1、それ以外で0をとるマスク画像を表す。
【0024】
処理の順序としては、まず、視認性予測部111が、前景画像Ifg、背景画像Ibg、前景マスク画像M、アルファマップの初期値αinを入力として、視認性マップv∈RH×Wを求め(S111)、出力する。視認性マップvは、前景画像の視認性を示すものである。
【0025】
次に、損失計算部113が、視認性マップvと前景画像Ifg、アルファマップα∈RH×Wを入力として、損失Lを計算し(S113)、出力する。
【0026】
次いで、アルファ値更新部115が、損失Lを入力として、損失Lを元にアルファマップαを更新し(S115)、更新したアルファマップαを出力する。
【0027】
その後は、初期値αinの代わりに更新したアルファマップαを入力として視認性予測部111が視認性マップvを出力する。このループを繰り返し、一定条件を満たしたら(S115-2のyes)、アルファ値更新部115が最適化済のアルファマップαoutを出力して処理を終える。ループの制御はアルファ値更新部115に含まれる。
【0028】
<視認性予測部111>
図5は視認性予測部111の機能ブロック図を、
図6はその処理フローの例を示す。
【0029】
視認性予測部111は、マスク適用部1111、知覚コントラスト計算部1113、重み計算部1115、特徴集約部1117を含む。
【0030】
入力:前景画像Ifg、背景画像Ibg、前景マスク画像M、アルファマップαまたは初期値αin(以下、単に「アルファマップα」ともいう)
出力:視認性マップv
処理:
マスク適用部1111は、アルファマップαと前景マスク画像Mとを入力として、アルファマップαと前景マスク画像Mとを画素毎に乗算することで、アルファマップαにマスクを適用し(S1111)、マスク適用済のアルファマップα'を出力する
知覚コントラスト計算部1113は、マスク適用済のアルファマップα'、前景マスク画像M、前景画像Ifg、背景画像Ibgを入力として、第一対象成分ΔItgの知覚コントラストマップP∈R3N×H×W、第二対象成分ΔIfgの知覚コントラストマップP'∈R3N×H×Wを計算し(S1113)、出力する。ここで、第一対象成分ΔItgは入力されたマスク適用済のアルファマップα'を用いてブレンドした画像において、視認性を計算する対象となる画像特徴成分(前景画像成分とマスク適用済のアルファマップα'の構造を合わせたもの)を表し、第二対象成分ΔIfgは前景マスク画像Mを用いて不透明にブレンドした画像において、視認性を計算する対象となる画像特徴成分を表す。画像特徴成分は画像をN個の空間周波数帯域と3個の色成分に分解して得られる3×N次元の特徴として表現される。Nは入力画像サイズによって上限が決まり、画像サイズが大きいほどNを大きく設定できる。Nが大きいほど画像特徴数が増加するため、一般にモデルの予測力も向上すると考えられる。本実施形態ではモデルパラメータのフィッティングのために実施した実験で用いた刺激サイズに合わせN=6とした。また、画像特徴として空間周波数と色に加えて方位成分を考慮しても構わない。計算コストや精度を考慮して画像特徴を設定すればよい。知覚コントラスト計算部1113における処理の詳細は後述する。
【0031】
重み計算部1115は、第二対象成分ΔIfgの知覚コントラストマップP'を入力として、各画素の画像特徴に対する重みベクトルw∈R3Nを計算し(S1115)、出力する。重みwは、第二対象成分ΔIfgの知覚コントラストマップP'のある画素の特徴ベクトルr'∈R3Nに特徴間のインタラクションを表現する行列X∈R3N×3Nを掛け合わせ、バイアスb∈R3Nを加算したものをsigmoid関数に通すことで得られる。つまり、重みwは、次式により、得られる。
【0032】
w=sigmoid(Xr'+b) (2)
ここで、Xおよびbは、後述する<視認性予測部111のパラメータ>の手順により、データへのフィッティングによって求められる。
【0033】
特徴集約部1117は、第一対象成分ΔI
tgの知覚コントラストマップPと重み計算部1115で得られた各画素の重みベクトルw∈R
3Nとを入力として、重みベクトルwを用いて、第一対象成分ΔI
tgの各画素における知覚コントラストマップPのある画素の特徴ベクトルr∈R
3Nを重み付けしつつ特徴集約を行い、次式により、各画素の視認性v
iを得る(S1117)。
【数1】
ただし、pはモデルキャリブレーションで最適化されたパラメータであり、w
nおよびr
p
nはそれぞれ重みベクトルwおよび特徴ベクトルrのn番目の成分を示す。
【0034】
最後に、特徴集約部1117は、各画素の視認性を表す視認性マップv∈RH×Wを出力する。
【0035】
次に、知覚コントラスト計算部1113の詳細について説明する。
【0036】
<知覚コントラスト計算部1113>
図7は知覚コントラスト計算部1113の機能ブロック図を、
図8はその処理フローの例を示す。
【0037】
知覚コントラスト計算部1113は、色変換部1113A、アルファブレンド部1113B、対象成分抽出部1113C、バンド分解部1113D、バンドリミテッドコントラスト計算部1113E、第一正規化部1113F、第二正規化部1113G、連結部1113Hを含む。
【0038】
知覚コントラスト計算部1113は、マスク適用済のアルファマップα'、前景マスク画像M、前景画像Ifg、背景画像Ibgを入力として、第一対象成分ΔItgの知覚コントラストマップP、第二対象成分ΔIfgの知覚コントラストマップP'を計算し(S1113)、出力する。しかし、実際には(マスク適用済のアルファマップα'、前景画像Ifg、背景画像Ibg)を入力として第一対象成分ΔItgの知覚コントラストマップPを計算する処理と(前景マスク画像M、前景画像Ifg、背景画像Ibg)を入力として第二対象成分ΔIfgの知覚コントラストマップP'を計算する処理に分けることができ、それぞれの処理は入力が異なるだけで中身は完全に同一である。このため、ここではマスク適用済のアルファマップα'と前景マスク画像Mを区別せず「アルファマップα」と呼び、また第一対象成分ΔItgと第二対象成分ΔIfgを区別せず単に「対象成分」と呼ぶこととし、一方の処理についてのみ記述する。
【0039】
入力:アルファマップα、前景画像Ifg、背景画像Ibg
出力:対象成分の知覚コントラストマップP、P'
処理:
まず、色変換部1113Aは、前景画像Ifgと背景画像Ibgを入力として、RGB色空間をYUV色空間に変換し(S1113A)、出力する。
【0040】
対象成分抽出部1113Cは、色変換後の前景画像Ifgと背景画像Ibg、およびアルファマップαを入力として、対象成分ΔItg∈R3(N-1)×H×Wを抽出し(S1113C)、出力する。対象成分抽出部1113Cの詳細は後述する。
【0041】
アルファブレンド部1113Bは、色変換後の前景画像Ifgと背景画像Ibg、およびアルファマップαを入力として、式(1)にしたがってアルファブレンド画像Ibl∈R3×H×Wを得(S1113B)、出力する。
【0042】
Ibl
i=αiIfg
i+(1-αi)Ibg
i (1)
バンド分解部1113Dは、アルファブレンド画像Iblと色変換後の背景画像Ibgを入力として、アルファブレンド画像Iblのバンドパス成分ΔIbl、アルファブレンド画像Iblのガウシアンピラミッド画像-Ibl、アルファブレンド画像Iblのローパス残余成分Lbl、背景画像Ibgのローパス残余成分Lbgを得(S1113D)、出力する。
【0043】
アルファブレンド画像Iblのバンドパス分解には、ラプラシアンピラミッドを用い、N-1個の空間周波数帯と1個のローパス残余成分に分解する。
【0044】
アルファブレンド画像Iblのガウシアンピラミッド画像-Iblについては、N+1個分の異なる解像度(スケール)の画像を生成する。なお、ガウシアンピラミッドのスケール数をN+1としたのは、後述のバンドリミテッドコントラスト計算時に、N-1個それぞれのバンドパス画像を、各周波数帯の2つ下のスケールのガウシアンピラミッド画像で割る処理を行うためである。アルファブレンド画像Iblおよび背景画像Ibgのローパス残余成分LblおよびLbgは、それぞれのラプラシアンピラミッドの最も粗いスケールのローパス残余画像に相当する。アルファブレンド画像Iblのバンドパス成分ΔIblとガウシアンピラミッド画像-Iblはバンドリミテッドコントラスト計算部1113Eへの入力として用いられ、アルファブレンド画像Iblおよび背景画像Ibgのローパス残余成分LblおよびLbgは第二正規化部1113Gへの入力として用いられる。
【0045】
バンドリミテッドコントラスト計算部1113Eは、対象成分ΔI
tgとアルファブレンド画像I
blのバンドパス成分ΔI
bl、アルファブレンド画像I
blのガウシアンピラミッド画像
-I
blを入力として、次式により、対象成分ΔI
tgとアルファブレンド画像I
blのバンドパス成分ΔI
blそれぞれについてバンドリミテッドコントラストC
tg、C
blを計算し(S1113E)、第一正規化部1113Fに向けて出力する。
【数2】
ここで、ΔI
tg
k,iおよびΔI
bl
k,iはそれぞれ対象成分ΔI
tgおよびバンドパス成分ΔI
blのk番目のスケールのi番目の画素であり、
-I
bl
k,iはガウシアンピラミッド画像
-I
blのk番目のスケールのi番目の画素である。σは、ゼロによる除算を避けるために必要なスカラー定数であり、例えば、σ=0.1である。式(4)の計算は、色チャンネルごとに独立して行われる。式(4)では、N-1個のバンドパス成分画像それぞれについて、2つ下のスケールのガウシアンピラミッド画像を同一スケールにアップサンプルした画像で割る処理を行っている。これは、人間が知覚するコントラストが、付近の平均輝度が小さいほど大きく、大きいほど小さく感じられるという特性を再現する処理に相当する。
【0046】
第一正規化部1113Fは、対象成分ΔI
tgとアルファブレンド画像I
blのバンドパス成分ΔI
blのバンドリミテッドコントラストC
tg、C
blを入力として、次式により、対象成分ΔI
tgに対する知覚コントラストP
bandを計算し(S1113F)、連結部1113Hに向けて出力する。
【数3】
ここで、P
c,k,i
bandは、色チャンネルc(c∈{Y,U,V})のk番目のスケールのi番目の画素における対象成分ΔI
tgの正規化されたコントラスト応答を表す。N(i)は,i番目のピクセルに隣接するピクセルのグループを表す。例えば、周辺の5×5ピクセルを近隣の定義として使用した場合、|N|=25である。β
c,kは応答の飽和が始まるポイントを定義するパラメータであり、γは非線形応答関数の傾きを変調するパラメータである。β
c,kの画像特徴間(色チャンネルおよびスケール間)の相対的な大きさは、各画像特徴のバンドリミテッドコントラストの平均二乗画素値の比と同じにすることで正則化する。β
c,kを得るために、各画像特徴のバンドリミテッドコントラストの平均二乗値を校正画像パッチ間で平均化し、パラメータβでスケーリングする。β、γは、モデルキャリブレーションで最適化されるパラメータである。
【0047】
第二正規化部1113Gは、アルファブレンド画像I
blおよび背景画像I
bgのローパス残余成分L
blおよびL
bgを入力として、次式により、前景画像I
fgのローパス成分に対する知覚コントラストP
lowを計算し(S1113G)、連結部1113Hに向けて出力する。
【数4】
ここで、^β
c、^γは式(5)のβ
c,k、γと同じ役割を持つパラメータであるが、ローパス成分はバンドパス成分とは質的に異なる応答関数を持ちうるため、異なる値を取りうる。β
c,kと同様に、色チャンネル間の相対的な大きさを、ローパス残差成分の各色チャンネルの平均二乗画素値の比と同じにすることで^β
cを正則化する。^β
cを得るために、各色チャンネルの平均二乗値を校正画像パッチ間で平均化し、パラメータ^βでスケーリングする。^β、^γは、モデルキャリブレーションで最適化されるパラメータである。
【0048】
連結部1113Hは、対象成分ΔItgに対する知覚コントラストPbandと前景画像Ifgのローパス成分に対する知覚コントラストPlowを入力として、これらを合わせて対象成分ΔItgに対する知覚コントラストのラプラシアンピラミッド(スケール数=N個)を構成する。その後、ラプラシアンピラミッドの各スケールの解像度を元画像の解像度と一致するようにアップスケーリングを行い、1つのテンソルP∈R3N×H×Wに連結し(S1113H)、対象成分ΔItgの知覚コントラストとして知覚コントラスト計算部1113から出力する。P=[r1|r2|…|rHW]∈R3N×H×Wであり、各ピラミッドレベルk∈{1,2,…,N}の各色チャンネルc∈{Y,U,V}の応答値が連結され、1つのベクトルr∈R3Nとなる。
【0049】
<対象成分抽出部1113C>
対象成分抽出部1113Cでは、視認性を計算する対象となる画像特徴成分を抽出する。ブレンド画像中の前景画像Ifgの視認性を計算する場合、アルファ値が空間的に一様であれば前景画像Ifgとアルファマップαを掛け合わせたものを対象成分ΔItgとすればよい。しかし、アルファ値が空間的に変化する条件においては、アルファマップαの構造によって生じるコントラストも対象成分ΔItgに含める必要がある。例えば、アルファマップαが0から1に変化するエッジ付近では、前景画像Ifgの色と背景画像Ibgの色によってコントラストが定義されるので、前景画像Ifgだけでなく背景画像Ibgの色も考慮しつつ対象成分ΔItgを抽出する必要が生じる。ただし、背景画像Ibg中に含まれる構造は対象成分ΔItgに含まれてはならないという制約があるため、前景画像Ifgとローパスフィルタリングした背景画像Ibgをブレンドしてコントラストを計算する。しかし、この方法は、フィルタリングしすぎると背景画像Ibgの局所的な明るさの違いを考慮できず、フィルタリングが足りなければ背景の構造が対象成分ΔItgに混入してしまうというトレードオフの問題に直面する。この問題を解決するため、本実施形態では、ラプラシアンピラミッドによるバンドパス分解を利用する。ラプラシアンピラミッドでは、スケール毎に含まれる空間周波数の帯域が限られる。このため、各スケールにおいて、そこに含まれる空間周波数以上の帯域をカットするように背景画像Ibgのローパスフィルタリングを行うことで、背景画像Ibgの構造が対象成分ΔItgに含まれないようにしつつ、背景画像Ibgの局所的な色の変動を最大限考慮することが可能となる。具体的な処理は以下に記載する。
【0050】
入力:アルファマップα、色変換後の前景画像Ifg、色変換後の背景画像Ibg
出力:対象成分ΔItg∈R3(N-1)×H×W
処理:
まず、対象成分抽出部1113Cは、色変換後の背景画像Ibgからガウシアンピラミッド(N+2スケール)を生成する。N+2としたのは、後の処理において、k番目のバンドの対象成分を抽出する際、k+3スケール目のガウシアンピラミッド画像を使用することになるため、最大で(N-1番目のバンドの対象成分抽出のために)N+2番目のスケールのガウシアンピラミッド画像が必要となるためである。
【0051】
以降は、対象成分のラプラシアンピラミッドの各スケール(k | k=1,2,…,N-1)を抽出する処理となる。冗長性を省くため、全部でN-1回繰り返す処理のうち、任意のk番目の処理についてのみ記述する。また、ラプラシアンピラミッドの最も粗いスケール(k=N)に相当するローパス残余成分については、後の処理で使用しないため生成しない。
【0052】
対象成分抽出部1113Cは、色変換後の背景画像Ibgのガウシアンピラミッドから、現在のスケール(k)より3つ粗いスケール(k+3)の画像を取り出し、元画像の解像度までアップスケーリングを行う。
【0053】
対象成分抽出部1113Cは、アップスケーリングした色変換後の背景画像Ibgと、色変換後の前景画像Ifgとをアルファマップαを用いてブレンドする。なお、本実施形態で用いたRGB色空間からYUV色空間への色変換は線形変換のため、アルファブレンド後に色変換を行うのと同じ結果が得られる。
【0054】
対象成分抽出部1113Cは、ブレンドした画像からラプラシアンピラミッドを生成し、そのうちのk番目のスケールを対象成分のk番目のバンドパス成分として出力する。なお、k番目以外のスケールは使用しないため、これ以外のスケールのバンドパス成分の生成は省略してもよい。
【0055】
<視認性予測部111のパラメータ>
視認性予測部111で用いた知覚モデルは複数のパラメータθ∈{β、γ、^β、^γ、p、X、b}をもつため、これらのパラメータを事前にキャリブレーションし、決定しておかねばならない。このために、本実施形態では視認性マッチング課題を用いて様々な画像に対する視認性評価データを集め、データを最もよく説明できるように最尤推定によりパラメータをフィッティングする。視認性マッチング課題では、参照画像として提示したアルファブレンド画像の視認性とマッチするように、別の画像パッチ同士のブレンド画像(テスト画像)のアルファ値を調整する。モデルのパラメータθが与えられたとき、参照画像に使用した{前景画像I
fg、背景画像I
bg、前景マスク画像M、アルファ値}の組R
xを入力として得られる視認性予測値をv(R
x|θ)、その参照画像と合わせて提示されたテスト画像の{前景画像I
fg、背景画像I
bg、前景マスク画像M、アルファ値(観察者の回答)}の組T
xを入力として得られる視認性予測値をv(T
x|θ)とすると、観察者があるアルファ値α
xを回答として選択する確率は次式のようにモデル化できる。
【数5】
ここで、T
x(α)は、アルファ値αでブレンドされたテスト画像である。モデルパラメータを用いてsを最適化する。α’は0.01間隔で離散的にサンプリングした。x∈χは実験条件を表すインデックスとする。sは回答の不確かさ(ばらつき)を表現するスケーリング変数で、モデルパラメータθと一緒にフィッティングする。ここで、視認性予測値-v∈{v(R
x|θ), v(T
x|θ)}は単一のスカラー値として与えられる必要があるため、以下の式でモデルが出力した視認性マップv
iを空間的に集約する。
【数6】
ここでN
tgは視認性を計算すべき対象成分が存在する画素の集合を表し、|N
tg|はN
tgに含まれる画素数を表す。パラメータqはモデルパラメータθと一緒にフィッティングする。
ここから、全ての実験条件x∈χについて得られた回答値からnegative log likelihoodを次式のように計算できる。
【数7】
パラメータのフィッティングは、式(9)を最小化することで得られる。最小化はAdam optimizerなどの確率的勾配降下法で行う。
【0056】
<損失計算部113>
図9は損失計算部113の機能ブロック図を、
図10はその処理フローの例を示す。
【0057】
損失計算部113は、視認性損失計算部1131、平滑度損失計算部1133、加算部1135を含む。
【0058】
損失計算部113は、所望の視認性マップ^vと視認性マップvと前景画像Ifg、アルファマップαを入力として、損失Lを計算し(S213)、出力する。
【0059】
視認性損失計算部1131は、現在のアルファマップαから予測された視認性マップvと所望の視認性マップ^vとを入力とし、視認性マップvと^vとの距離を計算し、損失Lvとし、出力する。この視認性損失Lvだけでは前景画像Ifgの元の構造が保たれる保証がないため、平滑度損失Lsでアルファマップαが空間的に滑らかに変化するような制約を与える。加算部1135はこれらの損失の重み付き和として最終的な損失Lを計算する。
【0060】
<視認性損失計算部1131>
入力:所望の視認性マップ^v∈R
H×W、視認性マップv∈R
H×W
出力:視認性損失L
v
処理:視認性損失計算部1131は、次式によって視認性損失L
vを計算する(S1131)。
【数8】
<平滑度損失計算部1133>
エッジ保存型平滑化の効果を与えるため、前景画像I
fgの勾配の高いところではアルファマップαが空間的に大きく変化することを許容しつつ、前景画像I
fgの勾配の低いところではアルファマップαの空間的な変化を抑制するような損失関数を用いる。前景画像I
fgの勾配の計算には、輝度情報のみを用いる。
【0061】
入力:前景画像Ifg、アルファマップα
出力:平滑度損失Ls
処理:
まず、平滑度損失計算部1133は、前景画像IfgをYUV色空間に変換し、輝度成分であるYチャンネルだけを取り出す。例えば、平滑度損失計算部1133は、色変換部1113Aと同様の処理を行い、前景画像IfgをYUV色空間に変換してもよいし、色変換部1113Aの出力値を利用してもよい。
【0062】
次に、平滑度損失計算部1133は、次式により平滑度損失L
sを計算する(S1133)。
【数9】
ここで、α
x,yとI
fg
x,yは、それぞれ、y番目の行のx番目の列にあるアルファマップと前景画像(輝度成分であるYチャンネル)のピクセル値を表す。空間微分にはソーベルフィルタの畳み込みを用いたが、これ以外の微分フィルタを用いてもよい。また、エッジ保存型平滑化ではない通常の平滑化を用いても良い。この場合、損失関数は前景画像I
fgを用いない以下の式で定義される。
【数10】
<加算部1135>
入力:視認性損失L
v、平滑度損失L
s
出力:損失L
処理:加算部1135は、次式により、損失Lを計算する(S1135)。例えば、2つの損失の重みは(λ
v,λ
s)=(0.1,1)とする。
【0063】
L=λvLv+λsLs (13)
<アルファ値更新部115>
アルファ値更新部115は、損失Lとアルファマップαを入力として、損失Lのアルファマップα中の各画素に関する勾配に基づいて、アルファマップαを更新する(S115)。本実施形態ではAdam optimizerを用いて更新を行う。アルファ値更新部115は、所定の条件を満たしたところで更新を終了し(S115-2のyes)、その時点でのアルファマップαを最適化済のアルファマップα’として出力する。所定の条件とは、損失Lが所定の閾値(例えば0.2)未満となるか、損失Lの減少が一定回数(例えば50回)以上観察されないとき、あるいは一定回数(例えば500回)の更新を終えた時点等である。
【0064】
<効果>
このような構成により、背景成分の減衰の効果が混入することなく正確に前景画像の視認性が推定可能となり、多様な前景画像に対する視認性の予測精度を大幅に改善することができるという効果を奏する。
【0065】
より詳しく説明すると、本実施形態ではまず視認性を計算する対象となる成分(対象成分)を抽出し、これに対して視覚系のコントラスト知覚メカニズムを模した非線形処理を与えることで対象成分の知覚的なコントラストの推定値を計算する。なお、対象成分は、前景画像成分とアルファマップに含まれる構造成分を両方とも考慮して計算される。対象成分を明示的に抽出することで、背景成分の減衰の効果が混入することなく正確に前景画像の視認性が推定可能となる。
【0066】
また、本実施形態ではコンテンツ適応的な特徴集約機構をモデルに付け加える。具体的には、色や空間周波数といった画像特徴毎に計算された視認性を集約する際に、前景画像のブレンド前の見た目に応じて、各画像特徴に対する重みを適応的に調節する。例えば元の前景画像がきめ細かいテクスチャであれば、高空間周波数成分に対する重みを大きくし、元の画像がぼけた模様であれば、低空間周波数成分に対する重みを大きくする。これにより、多様な前景画像に対する視認性の予測精度を大幅に改善することができる。
【0067】
<変形例>
アルファ値生成部を最適化装置として機能させてもよい。この場合、最適化装置は、前景画像Ifg、背景画像Ibg、前景マスク画像M、アルファマップの初期値αin、所望の視認性マップ^vを入力として、最適化済のアルファマップαout∈RH×Wを生成し、出力する。以降の実施形態についても同様である。
【0068】
<第2実施形態>
第1実施形態と異なる部分を中心に説明する。
【0069】
画像の全ての領域で所望の視認性を得られるようにするため、非特許文献1では画素毎にアルファ値を独立に最適化するアルゴリズムを採用している。したがって、得られるアルファ値は隣接する画素間で不連続なものとなり、ブレンドの後で前景画像の元の構造や特徴が保たれる保証がない。これを防ぐため、非特許文献1ではブレンド前にアルファ値を空間的に平滑化する。しかし、この方法では、平滑化を行う空間的な範囲が広過ぎれば所望の視認性から逸脱してしまうし、狭過ぎれば元の画像構造が保たれなくなるというトレードオフが生じ、人手によるチューニングが必要となる。
【0070】
本実施形態では、この課題を解決するため、アルファ値を最適化する際、所望の視認性に近くなるようにするだけではなく、同時に前景画像の元の構造をできるだけ保つような制約を与える。具体的には、ブレンド画像中の視認性計算の対象成分と元の前景画像成分の相関が高いほどコストが下がるような損失関数を用いた。これにより、前景画像の構造を保持しつつ所望の視認性が得られるようなブレンド結果を自動的に得ることができる。さらに、前景画像の構造を保つ最適化の副次的な効果として、ユーザが画像領域毎に異なる「所望の視認性」を与えた場合に、その視認性のマップが画像中のオブジェクトを正確に塗り分けていなくても、アルファ値がオブジェクトの輪郭に沿って自然に変化するような結果が得られる。
図11はアルファ値の変化の例を示す。
【0071】
第2実施形態の損失計算部213は、第1実施形態の損失計算部113に画像忠実度損失計算部2134を加えたものとなる。画像忠実度損失L
fは、現在のアルファマップαでブレンドした画像中に含まれている背景以外の成分(第一対象成分ΔI
tg)と、前景画像I
fgを不透明にブレンドした際の背景以外の成分(第二対象成分ΔI
fg)の相関が高くなる効果を与えるような損失である。前景画像I
fgの構造を保持しつつ所望の視認性が得られるようなアルファマップαを自動的に得ることができる。さらに、前景画像I
fgの構造を保つ最適化の副次的な効果として、ユーザが画像領域毎に異なる「所望の視認性」を与えた場合に、その視認性マップが画像中のオブジェクトを正確に塗り分けていなくても、アルファ値がオブジェクトの輪郭に沿って自然に変化するような結果が得られる。
図11は、本実施形態の所望の視認性マップ、最適化済のアルファマップの例を示す。画像忠実度損失計算部2134は入力として第一対象成分ΔI
tgと第二対象成分ΔI
fgを要するため、これらの入力を対象成分抽出部1113Cから直接取得するパスを追加している。
【0072】
図1は第1実施形態に係る合成装置200の機能ブロック図を、
図2はその処理フローを示す。
【0073】
第2実施形態に係る合成装置100は、アルファ値生成部210とブレンド部120を含む。ブレンド部120の処理についは、第1実施形態と同様なので、説明を省略する。
【0074】
<アルファ値生成部210>
図12はアルファ値生成部210の機能ブロック図を、
図13はその処理フローの例を示す。
【0075】
アルファ値生成部210は、視認性予測部211、損失計算部213、アルファ値更新部115を含む。
【0076】
アルファ値生成部210は、前景画像Ifg、背景画像Ibg、前景マスク画像M、アルファマップの初期値αin、所望の視認性マップ^vを入力として、最適化済のアルファマップαoutを生成し(S210)、出力とする。
【0077】
処理の順序としては、まず、視認性予測部211が、前景画像Ifg、背景画像Ibg、前景マスク画像M、アルファマップの初期値αinを入力として、視認性マップvと第一対象成分ΔItg、第二対象成分ΔIfgを求め(S211)、出力する。第一対象成分ΔItg、第二対象成分ΔIfgは共に、視認性予測部211での視認性マップvの計算と、損失計算部213での画像忠実度損失Lfの計算に用いるが、いずれの用途でも、N個の空間周波数帯のうち、最も低い空間周波数帯であるローパス残余成分は用いない。このため、対象成分の次元数は3×(N-1)次元となる。Nについては第1実施形態で説明した通りである。
【0078】
次に、損失計算部213が、視認性マップv、第一対象成分ΔItg、第二対象成分ΔIfg、前景画像Ifg、アルファマップαを入力として、損失Lを計算し(S213)、出力する。
【0079】
アルファ値更新部115の処理S115は第1実施形態と同様であり説明を省略する。
【0080】
その後は、初期値αinの代わりに更新したアルファマップαを入力として視認性予測部211が視認性マップvと第一対象成分ΔItg、第二対象成分ΔIfgを出力する。なお、第二対象成分ΔIfgは更新されたアルファマップαに依存しないため、初回に1度だけ計算したものを保持しておき、2回目以降はこれを再利用してもよい。このループを繰り返し、一定条件を満たしたら(S115-2のyes)、アルファ値更新部115が最適化済のアルファマップαoutを出力して処理を終える。ループの制御はアルファ値更新部115に含まれる。
【0081】
<視認性予測部211>
図14は視認性予測部211の機能ブロック図を、
図15はその処理フローの例を示す。
【0082】
視認性予測部211は、マスク適用部1111、知覚コントラスト計算部2113、重み計算部1115、特徴集約部1117を含む。
【0083】
入力:前景画像Ifg、背景画像Ibg、前景マスク画像M、アルファマップαまたはαin
出力:第一対象成分ΔItg、第二対象成分ΔIfg、視認性マップv
処理:
マスク適用部1111、重み計算部1115、特徴集約部1117における処理S1111,S1115,S1117は第1実施形態と同様であり、説明を省略する。
【0084】
知覚コントラスト計算部2113は、マスク適用済のアルファマップα'、前景マスク画像M、前景画像Ifg、背景画像Ibgを入力として、第一対象成分ΔItgとその知覚コントラストマップP、第二対象成分ΔIfgとその知覚コントラストマップP'を得(S2113)、出力する。知覚コントラストマップPを得る過程で得られる第一対象成分ΔItg、第二対象成分ΔIfgは、そのまま視認性予測部211の出力として出力する。
【0085】
<知覚コントラスト計算部2113>
図16は知覚コントラスト計算部2113の機能ブロック図を、
図17はその処理フローの例を示す。
【0086】
知覚コントラスト計算部2113は、色変換部1113A、アルファブレンド部1113B、対象成分抽出部2113C、バンド分解部1113D、バンドリミテッドコントラスト計算部1113E、第一正規化部1113F、第二正規化部1113G、連結部1113Hを含む。
【0087】
知覚コントラスト計算部2113はマスク適用済のアルファマップα'、前景マスク画像M、前景画像Ifg、背景画像Ibgを入力として、第一対象成分ΔItg、第二対象成分ΔIfg、第一対象成分ΔItgの知覚コントラストマップP、第二対象成分ΔIfgの知覚コントラストマップP'を計算し(S2113)、出力する。しかし、実際には(マスク適用済のアルファマップα'、前景画像Ifg、背景画像Ibg)を入力として(第一対象成分ΔItg、第一対象成分ΔItgの知覚コントラストマップP)を計算する処理と(前景マスク画像M、前景画像Ifg、背景画像Ibg)を入力として(第二対象成分ΔIfg、第二対象成分ΔIfgの知覚コントラストマップP')を計算する処理に分けることができ、それぞれの処理は入力が異なるだけで中身は完全に同一である。このため、ここではマスク適用済のアルファマップα'と前景マスク画像Mを区別せず「アルファマップα」と呼び、また第一対象成分ΔItgと第二対象成分ΔIfgを区別せず単に「対象成分」と呼ぶこととし、一方の処理についてのみ記述する。
【0088】
入力:アルファマップα、前景画像Ifg、背景画像Ibg
出力:対象成分ΔItg、ΔIfg、対象成分の知覚コントラストマップP、P'
処理:
色変換部1113A、アルファブレンド部1113B、バンド分解部1113D、バンドリミテッドコントラスト計算部1113E、第一正規化部1113F、第二正規化部1113G、連結部1113Hにおける処理S1113A、S1113B、S1113D、S1113E、S1113F、S1113G、S1113Hは第1実施形態と同様であり、説明を省略する。
【0089】
対象成分抽出部2113Cは、色変換後の前景画像Ifgと背景画像Ibg、およびアルファマップαを入力として、対象成分ΔItg、ΔIfgを抽出し(S2113C)、出力する。第1実施形態との違いは、対象成分抽出部2113Cが、対象成分ΔItg、ΔIfgをバンドリミテッドコントラスト計算部1113Eに向けて出力するとともに、視認性予測部211の出力として損失計算部213に向けて出力する点である。
【0090】
<損失計算部213>
図18は損失計算部213の機能ブロック図を、
図19はその処理フローの例を示す。
【0091】
損失計算部213は、視認性損失計算部1131、画像忠実度損失計算部2134、平滑度損失計算部1133、加算部2135を含む。
【0092】
損失計算部213は、所望の視認性マップ^vと視認性マップvと前景画像Ifg、アルファマップα、第一対象成分ΔItgと第二対象成分ΔIfgを入力として、損失Lを計算し(S213)、出力する。
【0093】
視認性損失計算部1131では、現在のアルファマップαから予測された視認性マップvと所望の視認性マップ^vとの距離を計算し、視認性損失Lvとする。この視認性損失Lvだけでは前景画像Ifgの元の構造が保たれる保証がないため、何らかの正規化が必要となる。本実施形態では、このために画像忠実度損失Lfと平滑度損失Lsを用いる。画像忠実度損失Lfは、現在のアルファマップαでブレンドした画像中に含まれている背景以外の成分(第一対象成分ΔItg)と、前景画像Ifgを不透明にブレンドした際の背景以外の成分(第二対象成分ΔIfg)の相関が高くなる効果を与えるような損失である。視認性損失Lvと画像忠実度損失Lfだけでも、多くの場合十分良い結果を与えるが、稀に最適化結果がローカルミニマムに陥ったり、バンディングアーティファクトを生じたりするケースが見られる。これを防ぎ、さらに安定してよりよい結果を生成できるようにするため、アルファマップαに対してエッジ保存型平滑化の効果を与える平滑度損失Lsを追加で加える。加算部1135はこれら全ての損失の重み付き和として最終的な損失Lを計算する。
【0094】
視認性損失計算部1131、平滑度損失計算部1133における処理S1131、S1133は第1実施形態と同様であり、説明を省略する。
【0095】
<画像忠実度損失計算部2134>
入力:第一対象成分ΔI
tg∈R^
3(N-1)×H×W、第二対象成分ΔI
fg∈R^
3(N-1)×H×W
出力:画像忠実度損失L
f
処理:画像忠実度損失計算部2134は、第一対象成分ΔI
tg、第二対象成分ΔI
fgを用いて、次式によって画像忠実度損失L
fを計算する(S2134)。
【数11】
ただし、ρ(a,b)は、画像a,b間の相関を評価する関数である。
【0096】
<加算部2135>
入力:視認性損失Lv、画像忠実度損失Lf、平滑度損失Ls
出力:損失L
処理:加算部2135は、次式により、損失Lを計算する(S2135)。例えば、3つの損失の重みは(λv,λf,λs)=(0.1,1,1)とする。
【0097】
L=λvLv+λfLf+λsLs (15)
<効果>
上述の構成により、第1実施形態と同様の効果を得ることができる。さらに、前景画像の構造を保持しつつ所望の視認性が得られるようなブレンド結果を自動的に得ることができる。さらに、ユーザが画像領域毎に異なる「所望の視認性」を与えた場合に、アルファ値がオブジェクトの輪郭に沿って自然に変化するような結果が得られる。
【0098】
<第3実施形態>
第1実施形態および第2実施形態と異なる部分を中心に説明する。
【0099】
第1実施形態および第2実施形態では、前景画像Ifgの視認性をユーザが所望の値に設定できたが、前景画像Ifgに加えて、背景画像Ibgの視認性をユーザが設定できるようにすることもできる。ただし、上述の式(1)によるアルファブレンディングでは、前景の透過度αiが決まると自動的に背景の透過度(1-αi)も決定される。したがって、前景の視認性と背景の視認性が共に任意のレベルになるようアルファマップαを最適化することは一般に不可能である。このため、第3実施形態では、前景画像Ifgについては所望の視認性を、背景画像Ibgについては視認性の下限をユーザが指定する。すなわち、背景画像Ibgの視認性が下限値を下回らない範囲で、前景画像Ifgの視認性が所望の値に最も近づくようにアルファマップαを最適化する。これにより、ユーザは背景が適度に視認できる状態を保ちつつ、前景の視認性を望んだレベルで表示できるようになる。
【0100】
図1は第1実施形態に係る合成装置300の機能ブロック図を、
図2はその処理フローを示す。
【0101】
第3実施形態に係る合成装置300は、アルファ値生成部310とブレンド部120を含む。ブレンド部120の処理は第1実施形態および第2実施形態と同様であり、説明を省略する。
【0102】
<アルファ値生成部310>
図20はアルファ値生成部310の機能ブロック図を、
図21はその処理フローの例を示す。
【0103】
アルファ値生成部310は、前景視認性予測部311F、前景損失計算部313F、背景視認性予測部311B、背景損失計算部313B、損失加算部314、アルファ値更新部115を含む。このうち前景視認性予測部311Fと前景損失計算部313Fは、それぞれ第2実施形態における視認性予測部211と損失計算部213と同様の処理(S311F,S313F)を行う。
【0104】
アルファ値生成部310は、前景画像Ifg、背景画像Ibg、前景マスク画像M、アルファマップの初期値αin、所望の視認性マップ^v、視認性下限マップ^vB∈RH×Wを入力として、最適化済のアルファマップαout∈RH×Wを生成し(S310)、出力する。なお、視認性下限マップ^vBは背景画像の視認性の下限を示すものである。
【0105】
<背景視認性予測部311B>
背景視認性予測部311Bは、前景視認性予測部311Fと共通の処理S311Bを行う。ただし、前景画像Ifgと背景画像Ibgの役割が逆転する。具体的には、全ての処理について前景画像Ifgを背景画像Ibgに置き換え、背景画像Ibgを前景画像Ifgに置き換える。
【0106】
また、背景視認性予測部311Bは、背景視認性予測部311B内のマスク適用部から出力されるマスク適用済のアルファマップα'の各画素値α'iを1から差し引くことで、背景用のアルファマップを生成する。つまり、α'i←1-α'iとし、これをマスク適用済のアルファマップα’に置き換えて利用する。
【0107】
さらに、背景視認性予測部311B内の知覚コントラスト計算部において、背景の第二対象成分ΔIfg,Bを計算する際の入力として、前景マスク画像Mのかわりに「全ての画素が1であるような画像」をアルファマップαとして与える。
【0108】
上述の処理を行った上で、背景視認性予測部311Bは、前景画像Ifg、背景画像Ibg、前景マスク画像M、アルファマップの初期値αinを入力として、視認性マップvBと第一対象成分ΔItg,B、第二対象成分ΔIfg,Bを求め(S311B)、出力する。なお、視認性マップvBは、背景画像の視認性を示すものである。
【0109】
<背景損失計算部313B>
背景損失計算部313Bは、所望の視認性下限マップ^vBと視認性マップvBと前景画像Ifg、アルファマップα、第一対象成分ΔItg,Bと第二対象成分ΔIfg,Bを入力として、損失LBを計算し(S313B)、出力する。
【0110】
例えば、背景損失計算部313B内の視認性損失計算部は、背景画像I
bgの各画素iにおける視認性の下限値^v
i,Bと、現在のアルファマップαで計算した背景の各画素iにおける視認性v
i,Bを用いて、背景についての視認性損失L
v,Bを次のように計算する。
【数12】
ここでNは「ブレンドを行う画像領域に属する画素の集合」を表す。上の式は前景損失計算部313Fにおける視認性損失L
vと基本的に同様であるが、現在の視認性が視認性の下限値を上回る場合には損失としないよう変更が加えられている。なお、背景画像I
bgに対する画像忠実度損失L
fと平滑度損失L
sは、前景損失計算部313Fと同様に計算して損失に加えてもよいし、省略してもよい。つまり、背景損失計算部313B内の加算部は、視認性損失L
v,Bをそのまま損失L
Bとして出力してもよいし、視認性損失L
v,Bに画像忠実度損失L
fと平滑度損失L
sの少なくとも何れかを加えて損失L
Bとして出力してもよい。
【0111】
<損失加算部314>
最後に、損失加算部314は、前景損失計算部313Fで得られた損失LFと、背景損失計算部313Bで得られた損失LBとを入力とし、これらの値を加算し(S314)、和を損失L(=LF+LB)としてアルファ値更新部115に出力する。
【0112】
アルファ値更新部115における処理は基本的に第1実施形態、第2実施形態と同様であるが、更新したアルファマップαを前景視認性予測部311Fに出力すると同時に、同じアルファマップαを背景視認性予測部311Bにも出力する点のみ異なる。
【0113】
<第4実施形態>
これまでの実施形態では2枚の画像をブレンドする状況のみ考えてきたが、第4実施形態ではこれを任意の枚数の画像同士のブレンディングに拡張する。1枚の背景画像Ibg上にM枚の前景画像Ifgをブレンドする式は以下のように定義する。
【0114】
Ii
bl=αi
(1)Ii
fg1+αi
(2)Ii
fg2+…+αi
(M)Ii
fgM+(1-αi
(1)-αi
(2)-…-αi
(M))Ii
bg (4-1)
ここで、Ii
fgmはm番目の前景画像Ifgmのi番目の画素値、αi
(m)はm番目の前景画像Ifgmのアルファマップα(m)のi番目の画素のアルファ値をそれぞれ表す。各アルファ値は、
αi
(1)+αi
(2)+…+αi
(M)≦1, 0≦αi
(m)≦1, m=1,2,…,M (4-2)
を満たすものとする。
【0115】
図22は第4実施形態に係る合成装置400の機能ブロック図を、
図2はその処理フローを示す。
【0116】
第4実施形態に係る合成装置400は、アルファ値生成部410とブレンド部420を含む。
【0117】
合成装置400は、M枚の前景画像Ifgm∈R3×H×Wと1枚の背景画像Ibg∈R3×H×W、M枚の前景マスク画像Mm∈RH×W、M個のアルファマップの初期値αinm∈RH×W、M枚の所望の視認性マップ^vm∈RH×Wを入力として、M枚の前景画像Ifgmと1枚の背景画像Ibgとを合成し、合成画像Ibl∈R3×H×Wを出力する。
【0118】
アルファ値生成部410は、M枚のアルファマップの初期値αinm∈RH×WとM枚の前景画像Ifgmと1枚の背景画像IbgとM枚の前景マスク画像MmとM枚の所望の視認性マップ^vmを入力として、アルファ値αout(m)
i∈[0,1]を生成し(S410)、M枚のアルファマップαout(m)∈RH×Wを出力する。αout(m)
iはm番目のアルファマップα(m)のi番目の画素のアルファ値を表す。
【0119】
ブレンド部420は、M枚の前景画像Ifgmと1枚の背景画像Ibgとアルファ値生成部410から出力されるM枚のアルファマップαout(m)を入力として、M枚の前景画像Ifgmと背景画像Ibgを次式によりブレンドし(S420)、合成画像Ibl∈R3×H×Wを出力する。
【0120】
Ii
bl=αi
out(1)Ii
fg1+αi
out(2)Ii
fg2+…+αi
out(M)Ii
fgM+(1-αi
out(1)-αi
out(2)-…-αi
out(M))Ii
bg (4-1)
以下、アルファ値生成部410の詳細について説明する。
【0121】
<アルファ値生成部410>
図23はアルファ値生成部410の機能ブロック図を、
図24はその処理フローの例を示す。
【0122】
アルファ値生成部410は、マスク適用部4111、M個の前景視認性予測部411F-m、背景視認性予測部411B、M個の前景損失計算部413F-m、背景損失計算部413B、損失加算部414、アルファ値更新部415を含む。
図23中、前景視認性予測部411F―2~前景視認性予測部411F-(M-1)、前景損失計算部413F―2~前景損失計算部413F-(M-1)は省略している。
【0123】
アルファ値生成部410は、M枚の前景画像Ifgm、背景画像Ibg、M枚の前景マスク画像Mm、M枚のアルファマップの初期値αin(m)、背景用のアルファマップの初期値αin(bg)、M枚の前景画像Ifgmに対応するM枚の所望の視認性マップ^vm、背景画像Ibgに対する所望の視認性マップ^vBを入力として、最適化済のアルファマップαout(m)∈RH×W、αout(bg)∈RH×Wを生成し(S410)、出力とする。
【0124】
<マスク適用部4111>
本実施形態では、視認性予測部に含まれていたマスク適用部(
図5参照)を、視認性予測部から独立させることで、M+1個ある視認性予測部にて同一の処理を行わなくて済むようにしている。
【0125】
M枚のアルファマップα
(m)をそれぞれ独立に最適化すると、式(4-2)の制約を満たすことは難しい。そこで、背景用のアルファマップα
(bg)も最適化対象に加え、次の式により常に制約(4-2)を満たすようなM枚のアルファマップα
(m)を生成する。
【数13】
ここで、α'
(m)、α'
(bg)は正規化前の前景アルファマップと正規化前の背景アルファマップを表すものとする。
【0126】
マスク適用部4111は、M個の正規化前の前景アルファマップα'(m)と正規化前の背景アルファマップα'(bg)を入力として、以下の処理によりマスク適用済のアルファマップα(m)を生成する。なお、正規化前の前景アルファマップα'(m)は初期値αin(m)またはアルファ値更新部415の出力する前景アルファマップα'(m)であり、正規化前の背景アルファマップα'(bg)は初期値αin(bg)またはアルファ値更新部415の出力する背景アルファマップα'(bg)である。
【0127】
入力:M個の正規化前の前景アルファマップα'(m)、正規化前の背景アルファマップα'(bg)、M個の前景マスク画像Mm
出力:M個のマスク適用済のアルファマップα(m)
処理:
まず、マスク適用部4111は、式(4-3)によりM個の正規化後のアルファマップα(m)を得る。
【0128】
マスク適用部4111は、M枚の正規化後の前景アルファマップα(m)それぞれに対応するM枚の前景マスク画像Mmを画素毎に掛け合わせ、M枚のマスク適用済のアルファマップα(m)を生成し(S4111)、出力する。
【0129】
<前景視認性予測部411F-m>
前景視認性予測部411F―1~411F―Mは処理が共通するため、ここではm番目の前景視認性予測部411F-mの処理のみ記述する。第2実施形態における視認性予測部211と基本的に同一の処理を行うが、マスク適用部4111が前景視認性予測部411F-mの外側に移動したことで、マスク適用済のアルファマップα(m)を入力にとる点と、M枚のマスク適用済のアルファマップα(m)とm番目の前景画像Ifgmを入力にとる点が異なる。その他の相違点は知覚コントラスト計算部1113にて詳述する。
【0130】
図25は前景視認性予測部411F-mの機能ブロック図を、
図26はその処理フローの例を示す。
【0131】
前景視認性予測部411F-mは、知覚コントラスト計算部4113、重み計算部1115、特徴集約部1117を含む。
【0132】
入力:M枚の前景画像Ifgm、m番目の前景マスク画像Mm、背景画像Ibg、M枚のマスク適用済のアルファマップα(m)
出力:前景視認性マップvm
処理:
知覚コントラスト計算部4113は、M枚のマスク適用済のアルファマップα(m)、m番目の前景マスク画像Mm、M枚の前景画像Ifgm、背景画像Ibgを入力として、前景画像Ifgmに対する第一対象成分ΔItg,mとその知覚コントラストマップPm、前景画像Ifgmに対する第二対象成分ΔIfg,mとその知覚コントラストマップP'mを得(S4113)、出力する。第一対象成分ΔItg,m、第二対象成分ΔIfg,mは、そのまま前景視認性予測部411F-mの出力として出力する。
【0133】
重み計算部1115は、第二対象成分ΔIfgmの知覚コントラストマップP'mを入力として、各画素の画像特徴に対する重みベクトルwm∈R3Nを計算し(S1115)、出力する。
【0134】
特徴集約部1117は、第一対象成分ΔItgmの知覚コントラストマップPmと重み計算部1115で得られた各画素の重みベクトルwm∈R3Nとを入力として、重みベクトルwmを用いて、第一対象成分ΔItgmの各画素における知覚コントラストrm∈R3Nを重み付けしつつ特徴集約を行い、各画素の視認性vi
mを得る(S1117)。
【0135】
最後に、特徴集約部1117は、各画素の視認性を表す視認性マップvm∈RH×Wを出力する。
【0136】
<知覚コントラスト計算部4113>
図27は知覚コントラスト計算部4113の機能ブロック図を、
図28はその処理フローの例を示す。
【0137】
第1、第2実施形態と同様に、前景画像Ifgmをマスク適用済のアルファマップα(m)でブレンドした際の前景画像Ifgm(前景画像Ifgmの第一対象成分ΔItgm)に対する知覚コントラストマップPmを計算する処理と、前景画像Ifgmを前景マスク画像Mmで不透明にブレンドした際の前景画像Ifgm(前景画像Ifgmの第二対象成分ΔIfgm)に対する知覚コントラストマップP'mを計算する処理とを行う。2つの処理はブレンドに用いるアルファマップα(m)(マスク適用済のアルファマップまたは前景マスク画像)が異なる以外は同一である。また、アルファマップα(m)によるブレンドを行うアルファブレンド部4113Bと対象成分抽出部4113C以外の処理は第2実施形態と同一であるため、以下ではアルファブレンド部4113Bと対象成分抽出部4113Cの処理についてのみ記述する。
【0138】
<アルファブレンド部4113B>
入力:M枚のマスク適用済のアルファマップα(m)、m番目の前景画像Ifgmに対応する1枚の前景マスク画像Mm、M枚の色変換後の前景画像Ifgm、色変換後の背景画像Ibg
出力:m番目のブレンド画像Ibl,tgm
アルファブレンド部4113Bは、前景画像Ifgmの第一対象成分ΔItgmを計算するために、式(4-1)にしたがってアルファブレンド画像Ibl,tgm∈R3×H×Wを得(S4113B)、出力する。
【0139】
Ii
bl,tgm=αi
(1)Ii
fg1+αi
(2)Ii
fg2+…+αi
(M)Ii
fgM+(1-αi
(1)-αi
(2)-…-αi
(M))Ii
bg (4-1)
また、アルファブレンド部4113Bは、前景画像Ifgmの第二対象成分ΔIfgmを計算するために、次式にしたがってアルファブレンド画像Ibl,fgm∈R3×H×Wを得(S4113B)、出力する。
【0140】
Ii
bl,fgm=Mi
mIi
fgm+(1-Mi
m){αi
(1)Ii
fg1+…+αi
(m-1)Ii
fgm-1+αi
(m+1)Ii
fgm+1+…+αi
(M)Ii
fgM+(1-αi
(1)-…-αi
(m-1)-αi
(m+1)-…-αi
(M))Ii
bg} (4-4)
ただし、Mi
mは前景マスク画像Mmのi番目の画素のアルファ値とする。
【0141】
<対象成分抽出部4113C>
入力:M枚のアルファマップα(m)、m番目の前景画像Ifgmに対応する1枚の前景マスク画像Mm、M枚の色変換後の前景画像Ifgm、色変換後の背景画像Ibg
出力:m番目の前景画像Ifgmに対応する1個の第一対象成分ΔItgm、m番目の前景画像Ifgmに対応する1個の第二対象成分ΔIfgm
処理:第一対象成分ΔItgmと第二対象成分Ifgmの計算で基本的に共通の処理S4113Cとなるが、以下の(4)のブレンド処理のみ両者で異なる計算方法を用いる。
【0142】
(1)まず、対象成分抽出部4113Cは、色変換後のm番目の前景画像Ifgmを除く全て(M-1個)の前景画像Ifgmと背景画像Ibgのガウシアンピラミッド(N+2スケール)を生成する。
【0143】
(2)以降は、対象成分のラプラシアンピラミッドの各スケール(k | k=1,2,…,N-1)を抽出する処理となる。冗長性を省くため、全部でN-1回繰り返す処理のうち、任意のk番目の処理についてのみ記述する。また、ラプラシアンピラミッドの最も粗いスケール(k=N)に相当するローパス残余成分については、後の処理で使用しないため生成しない。
【0144】
(3)対象成分抽出部4113Cは、色変換後のm番目の前景画像Ifgmを除く全て(M-1個)の前景画像Ifgmと背景画像Ibgのガウシアンピラミッドから、現在のスケール(k)より3つ粗いスケール(k+3)の画像を取り出し、元画像の解像度までアップスケーリングを行う。
【0145】
(4)対象成分抽出部4113Cは、アップスケーリングした画像と、色変換後の前景画像Ifgmとをアルファマップα(m)を用いてブレンドする。対象成分抽出部4113Cは、前景画像Ifgmの第一対象成分ΔItgmを計算する際には、上述の式(4-1)によりブレンド画像を生成する。対象成分抽出部4113Cは、前景画像Ifgmの第二対象成分ΔIfgmを計算する際には、上述の式(4-4)を用いる。
【0146】
(5)対象成分抽出部4113Cは、ブレンドした画像からラプラシアンピラミッドを生成し、そのうちのk番目のスケールを対象成分のk番目のバンドパス成分として出力する。なお、k番目以外のスケールは使用しないため、これ以外のスケールのバンドパス成分の生成は省略してもよい。
【0147】
<背景視認性予測部411B>
図25は前景視認性予測部411Bの機能ブロック図を、
図26はその処理フローの例を示す。
【0148】
前景視認性予測部411Bは、知覚コントラスト計算部411B3、重み計算部1115、特徴集約部1117を含む。
【0149】
前景視認性予測部411Bの処理S411Bは、基本的に前景視認性予測部411F-mと同一の処理S411F-mとなるが、背景画像Ibgは全ての画像領域に存在するため、画像の存在領域を指定するためのマスク画像を入力にとらない。それ以外の前景視認性予測部411F-mからの相違点は知覚コントラスト計算部411B3のみに存在するため、以下では背景視認性予測部411B内の知覚コントラスト計算部411B3についてのみ記述する。
【0150】
<知覚コントラスト計算部411B3(背景用)>
知覚コントラスト計算部411B3(背景用)の処理S411B3は、前景用の知覚コントラスト計算部4113の処理S4113と基本的に同一の処理となるが、画像のブレンドの計算が異なる。ここでも、背景画像I
bgをマスク適用済のアルファマップα
(m)でブレンドした際の背景画像I
bg(背景画像I
bgの第一対象成分ΔI
tg,B)に対する知覚コントラストマップP
bgを計算する処理と、不透明な背景画像I
bg(背景画像I
bgの第二対象成分ΔI
fg,B)に対する知覚コントラストマップP'
bgを計算する処理とを行う。なお、
図25、
図27では第一対象成分ΔI
tg,B、第二対象成分ΔI
fg,B、知覚コントラストマップP
bg、知覚コントラストマップP'
bgを破線で囲んで示す。
【0151】
2つの処理はブレンドに用いるアルファマップα(m)が異なる以外は同一である。また、アルファマップα(m)によるブレンドを行うアルファブレンド部4113Bと対象成分抽出部4113C以外の処理は第2実施形態と同一であるため、以下ではアルファブレンド部4113Bと対象成分抽出部4113Cの処理についてのみ記述する。
【0152】
<アルファブレンド部4113B(背景用)>
入力:M枚のマスク適用済のアルファマップα(m)、色変換後のM枚の前景画像Ifgm、色変換後の背景画像Ibg
出力:ブレンド画像Ibl
アルファブレンド部4113Bは、背景第一対象成分ΔItg,Bを計算する際には、上述の式(4-1)によりブレンド画像Iblを生成する。
【0153】
アルファブレンド部4113Bは、背景第二対象成分ΔIfg,Bを計算する際には、色変換後の背景画像Ibgをそのままブレンド画像Iblとして出力する。
【0154】
<対象成分抽出部4113C>
入力:M枚のマスク適用済のアルファマップα(m)、色変換後のM枚の前景画像Ifgm、色変換後の背景画像Ibg
出力:背景第一対象成分ΔItg,B、背景第二対象成分ΔIfg,B
処理:
(第一対象成分ΔItg,Bの生成処理)
(1)まず、対象成分抽出部4113Cは、色変換後のM枚の前景画像Ifgmのガウシアンピラミッド(N+2スケール)を生成する。
【0155】
(2)以降は、対象成分のラプラシアンピラミッドの各スケール(k | k=1,2,…,N-1)を抽出する処理となる。冗長性を省くため、全部でN-1回繰り返す処理のうち、任意のk番目の処理についてのみ記述する。また、ラプラシアンピラミッドの最も粗いスケール(k=N)に相当するローパス残余成分については、後の処理で使用しないため生成しない。
【0156】
(3)対象成分抽出部4113Cは、色変換後のM枚の前景画像Ifgmのガウシアンピラミッドから、現在のスケール(k)より3つ粗いスケール(k+3)の画像を取り出し、元画像の解像度までアップスケーリングを行う。
【0157】
(4)対象成分抽出部4113Cは、アップスケーリングした画像と、色変換後の背景画像Ibgとをアルファマップα(m)を用いてブレンドする。ブレンドには、上述の式(4-1)を用いる。
【0158】
(5)対象成分抽出部4113Cは、ブレンドした画像からラプラシアンピラミッドを生成し、そのうちのk番目のスケールを対象成分のk番目のバンドパス成分として出力する。なお、k番目以外のスケールは使用しないため、これ以外のスケールのバンドパス成分の生成は省略してもよい。
【0159】
(第二対象成分ΔIfg,Bの生成処理)
対象成分抽出部4113Cは、色変換後の背景画像Ibgから直接ラプラシアンピラミッドを生成し、そのうちローパス残余成分を除いたバンドパス成分を第二対象成分ΔIfg,Bとする。
【0160】
<前景損失計算部413F-m、背景損失計算部413B>
前景損失計算部413F-mは、第2実施形態の損失計算部213と同様の処理S413F-mを行う。背景損失計算部413Bは、第3実施形態の背景損失計算部313Bと同様の処理S413Bを行う
<損失加算部414>
損失加算部414は、M個の損失LF,mと損失LBとを入力とし、これらの値を加算し(S414)、和を損失L(=LF,1+…+LF,M+LB)としてアルファ値更新部415に出力する。M個の前景画像Ifgm、背景画像Ibgそれぞれについて、どの画像の視認性を最も所望の値に近づけたいかによって、それぞれの損失を重み付けしてから加算してもよい。例えば、前景画像Ifgmの視認性を優先して所望の値に近づけたい場合、前景損失計算部413F-mの損失をより大きく重み付けする。
【0161】
<アルファ値更新部415>
アルファ値更新部415は、損失LとM個の正規化前のアルファマップα'
(m)と正規化前のアルファマップα'
(bg)を入力として、M個の正規化前のアルファマップα'
(m)および正規化前のアルファマップα'
(bg)の各画素に関する勾配
【数14】
に基づいて、正規化前の前景アルファマップα'
(m)および正規化前の背景アルファマップα'
(bg)を更新し(S415)、出力する。更新方法は第1、第2実施形態と同様の方法で行う。
【0162】
<第5実施形態>
これまでの実施形態のアルファ値生成部では、アルファマップαは損失計算部で計算された損失Lに基づいて少しずつ更新して最適化することにより得る。しかし、この方法は最適なアルファマップαを得るまでに時間がかかるため、実時間動作するアプリケーションには不向きである。第5実施形態では、最適なアルファマップαを生成するアルファ値生成器を損失計算部による損失Lに基づいて訓練する方法について説明する。この方法で事前に訓練した生成器を用いることで、1回のパスで高速にアルファマップαを生成することが可能となる。
【0163】
<訓練装置500>
図29は訓練装置500の機能ブロック図を、
図30はその処理フローの例を示す。
【0164】
訓練装置500は、アルファ値生成部510と視認性予測部211と損失計算部213とパラメータ更新部515とを含む。視認性予測部211と損失計算部213は第2実施形態のものと共通のものを用いることができる。
【0165】
アルファ値生成部510は、前景画像Ifg、背景画像Ibg、所望の視認性マップ^vを入力として、アルファマップαを生成し(S510)、出力する。
【0166】
アルファ値生成部510は、前景画像Ifgと背景画像Ibgを深層ニューラルネットワーク(DNN)から成る共通のエンコーダによってエンコードしたのち、エンコードした特徴と所望の視認性マップ^vから別のDNNから成るデコーダを用いてデコードすることによってアルファマップを生成し(S515)、出力する。
【0167】
パラメータ更新部515は、損失計算部213から得られた損失Lを入力とし、損失Lの勾配に基づき、エンコーダ、デコーダのパラメータを更新し(S515)、更新したパラメータを出力する。
【0168】
<アルファ値生成部510>
図31はアルファ値生成部510の機能ブロック図を、
図32はその処理フローの例を示す。
【0169】
アルファ値生成部510は、エンコーダ511F,511B、ガウシアンピラミッド生成部513、アフィンパラメータ推定部516、デコーダ517を含む。
【0170】
入力:前景画像Ifg、背景画像Ibg、所望の視認性^v
出力:アルファマップα
処理:
エンコーダ511F,511Bは、それぞれ前景画像Ifg、背景画像Ibgを入力とし、エンコードし(S511F,S511B)、特徴量を抽出し、出力する。例えば、エンコーダ511F,511Bは、それぞれ前景画像Ifg、背景画像Ibgそれぞれに対して畳み込みとダウンサンプリングを交互に繰り返すことで階層的な特徴抽出を行い、出力する。
【0171】
前景画像用のエンコーダ511Fと背景画像用のエンコーダ511Bは、重み(パラメータ)を共有する。エンコーダには畳み込み-ダウンサンプリング-非線形アクティベーションから成る処理を複数層重ねた畳み込みニューラルネットワークを用いる。非線形アクティベーションには、例えばReLU関数を用いる。ReLU関数の前にBatch normalizationを挟んでも良い。層の最大数は入力画像の解像度に依存し、例えば256 × 256 の画像解像度では最大8層のものを用いることができる。特徴数は層を通過するごとに増やしていき、例えば第1層では64、第2層では128、第3層では256…、と増加させる。ただし、計算量削減のため最大特徴数を512程度に留めてもよい。
【0172】
デコーダ517は、前景画像Ifgのエンコーダ511Fの最後の出力と背景画像Ibgのエンコーダ511Bの最後の出力を連結させたものを入力とし、それに対し転置畳み込みとアップサンプリングを交互に繰り返し適用することで徐々に解像度を元のサイズまで増やしていく。各層における具体的な処理は、転置畳み込み-アップサンプリング-(Batch normalization)- Feature-wise Linear Modulation(後述)-非線形アクティベーションの一連の処理で構成される。非線形アクティベーションには、例えばReLU関数を用いる。ただし、デコーダ517は、最終層ではTanh関数またはSigmoid関数を用いることで、出力の値域に制限をかける。このとき、参考文献1のU-Netの構造に倣い、前景画像Ifgと背景画像Ibgのエンコーダ511F,511Bで抽出された各階層の特徴をデコーダの対応する階層に連結して加えることで、高次で低解像度の特徴から低次で高解像度の特徴まで考慮しながらアルファマップαを生成することができる。
【0173】
(参考文献1) Olaf Ronneberger, Philipp Fischer, Thomas Brox. "U-Net: Convolutional Networks for Biomedical Image Segmentation", arXiv:1505.04597, 2015.
デコーダ517の各階層の特徴数は、入力時点では前景画像Ifgのエンコーダ511Fの出力と背景画像Ibgのエンコーダ511Bの出力を連結させるためエンコーダ511F,511Bの出力の特徴数の2倍となる。デコーダ517は、第1層の転置畳み込み処理において特徴数を半分に減らしつつ解像度を2倍に増やす。デコーダ517は、第2層では、第1層の出力に対して、エンコーダ511F,511Bから同じ解像度をもつ階層の出力を連結させたものを入力とするため、第2層の入力の特徴数は、「第1層の出力特徴数+2×エンコーダ中間層出力の特徴数」となる。その後、デコーダ517は、第2層の畳み込み処理において、この特徴数を第1層の出力の特徴数の半分に減らす。デコーダ517は、このようにして特徴数を徐々に減らしつつ解像度を上げていき、最終層の畳み込み処理で特徴数を1に減らし、出力をTanh関数またはSigmoid関数にかけてアルファマップαを得(S517)、出力する。Tanh関数を用いる場合は、出力の値域が-1~1となるので、これが0~1となるよう正規化する。
【0174】
デコーダ517では、参考文献2のFeature-wise Linear Modulationという手法を用い、入力として与えられる所望の視認性マップ^vに応じたアルファマップαを生成できるようにする。
【0175】
(参考文献2) Dumoulin, et al., "Feature-wise transformations", Distill, 2018.
このために、ガウシアンピラミッド生成部513は、所望の視認性マップ^vを入力とし、所望の視認性マップ^vからガウシアンピラミッドを生成し(S513)、デコーダ517の各階層の空間サイズと一致する視認性マップVlを得、出力する。
【0176】
さらに、アフィンパラメータ推定部516は、視認性マップVlを入力とし、各階層の視認性マップVlをそれぞれ2種類の畳み込みニューラルネットワーク(解像度に変更は加えない)に入力し、画素毎、特徴毎に2つのアフィンパラメータ(μl,f,σl,f)を得(S516)、出力する。このときの特徴数は、デコーダ517の対応する階層の出力の特徴数と一致させる。このときの畳み込みニューラルネットワークの層の数は、例えば3層程度とする。3層とした場合、中間層の特徴数は、例えば出力特徴数の半分程度とする。
【0177】
最後に、デコーダ517は、アフィンパラメータ(μl,f,σl,f)を入力とし、各階層lの畳み込み処理後(Batch normalizationを行う場合はその直後)の各特徴fのマップXl,fを、(μl,f,σl,f)を用いてアフィン変換(Yl,f=σl,f Xl,f +μl,f)により変調する。
【0178】
<パラメータ更新部515>
パラメータ更新部515では、損失計算部213から与えられる損失Lの、アルファ値生成部510の各重みについての勾配に基づいて、アルファ値生成部510の各重みを更新し(S510)、出力する。本実施形態ではAdam optimizerを用いて更新を行う。更新は所定の条件を満たしたところで終了し(S515-2のyes)、その時点でのパラメータを保存して固定させる。所定の条件とは、損失Lが所定の閾値(例えば0.2)未満となるか、損失Lの減少が一定回数(例えば50回)以上観察されないとき、あるいは一定回数(例えば500回)の更新を終えた時点とする。
【0179】
<合成装置600>
図33は第5実施形態に係る合成装置600の機能ブロック図を、
図2はその処理フローを示す。
【0180】
アルファ値生成部510の訓練終了後は、合成装置600においてブレンド画像Iblを生成する。合成装置600は、アルファ値生成部510とブレンド部520を含む。
【0181】
入力:前景画像Ifg、背景画像Ibg、所望の視認性マップ^v、前景マスク画像M
出力:ブレンド画像Ibl
処理:
アルファ値生成部510は、前景画像Ifg、背景画像Ibg、所望の視認性マップ^vを入力とし、これらの値を用いて、アルファマップαを生成し(S510)、出力する。
【0182】
ブレンド部520は、アルファマップαと前景マスク画像Mと前景画像Ifg、背景画像Ibgを入力とし、まず、アルファマップαに前景マスク画像Mを画素毎に掛け合わせ、マスク適用済のアルファマップα'を得る。
【0183】
次に、ブレンド部520は、マスク適用済のアルファマップα'、前景画像Ifg、背景画像Ibgを用いて上述の式(1)によりブレンド画像Iblを生成し(S520)、出力する。
【0184】
<効果>
このような構成により、第1実施形態と同様の効果を得ることができる。さらに、高速にアルファマップαを生成することができる。
【0185】
<その他の変形例>
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【0186】
<プログラム及び記録媒体>
上述の各種の処理は、
図34に示すコンピュータの記憶部2020に、上記方法の各ステップを実行させるプログラムを読み込ませ、制御部2010、入力部2030、出力部2040などに動作させることで実施できる。
【0187】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0188】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0189】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0190】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。