(58)【調査した分野】(Int.Cl.,DB名)
前記入力画像取得部は、前記背景をCGモデリングすることで形成されたオブジェクトから、レンダリングによって生成された前記第2入力画像を取得することを特徴とする請求項1に記載の学習装置。
前記入力画像取得部は、複数の前記第2入力画像の候補から、前記第1入力画像と対応する前記第2入力画像を選択して取得することを特徴とする請求項8に記載の前景領域推定装置。
前記候補は、予め定められた画角及び相対的な撮影方向で設置された複数のカメラにより、前記背景がそれぞれ撮影される複数の画像であることを特徴とする請求項9に記載の前景領域推定装置。
前記入力画像取得部は、前記候補から、特徴点マッチングにより前記第1入力画像と対応する前記第2入力画像を選択して取得することを特徴とする請求項9に記載の前景領域推定装置。
前記候補は、照明が照射されていない状態で撮影された前記背景を示す画像から、前記背景に含まれる各物体の反射特性に基づいて、前記照明が照射された状態にある前記背景を示す画像として生成された画像である、ことを特徴とする請求項9に記載の前景領域推定装置。
共通の前記第1入力画像と、該共通の第1入力画像と組み合わせて入力された複数の第2入力画像と、に基づいて生成された複数の前記推定データから、1個の推定データを選択する選択部をさらに有する、ことを特徴とする請求項6に記載の前景領域推定装置。
前記第2入力画像は、前記複数の候補となる画像のうち、前記第3入力画像が撮影されたときの撮影方向と最も近い撮影方向から撮影された画像として選択された画像である、ことを特徴とする請求項19に記載の前景領域推定装置。
前記第2入力画像は、前記複数の候補となる画像の撮影方向と前記第3入力画像が撮影されたときの撮影方向との差に基づいて選択された画像に基づいて生成された画像である、ことを特徴とする請求項19に記載の前景領域推定装置。
【発明の概要】
【発明が解決しようとする課題】
【0005】
背景差分やキーイングを用いる場合において、上記のような第1入力画像に含まれる背景は、時間に応じて変化する。例えば、カメラの設置された位置、方向やズームが変化する場合がある。また、第1入力画像と第2入力画像の撮影時刻が異なることにより、背景の被写体に照射される光の色や強さ、また、当該光で生じる影の長さ等が変化する場合もある。さらに、背景に含まれる被写体が、追加されたり、取り除かれたりする場合もある。その為、人物等が前景に含まれる画像を撮影した直後に背景のみの画像を撮影したとしても、両画像に含まれる背景が示す領域を完全に同一とすることは困難である。このような場合、背景差分やキーイングを用いて、前景の領域を推定することは困難である。
【0006】
また、キーイングに含まれるクロマキーは、比較的容易に前景の領域の推定できる。しかしながら、クロマキーを用いる場合には、例えば、背景として緑色などの単色の布や、背景色に応じた照明装置等を準備する必要があるため、手間を要する。イメージマッティングを用いる為には、前景の領域を推定する画像ごとにトライマップを手作業で作成する必要がある。特に、動画像に対してイメージマッティングを適用する場合、フレーム毎にトライマップを作成すると膨大な時間を要する。
【0007】
本発明は、上記問題点に鑑みてなされたものであり、その目的は、背景と前景を示す第1入力画像と、該第1入力画像と異なる態様で背景を示す第2入力画像を取得した場合であっても、高精度にかつ容易に前景の領域を示す推定データを生成する学習装置、前景領域推定装置、学習方法、前景領域推定方法、及び、プログラムを提供することである。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明に係る学習装置は、背景と前景を示す第1入力画像と、該第1入力画像と異なる態様で前記背景を示す第2入力画像と、を組み合わせて取得する入力画像取得部と、前記第1入力画像と前記第2入力画像の入力に応じて前記第1入力画像における前記前景の領域を示す推定データを生成する推定部を含み、該推定部に前記第1入力画像と前記第2入力画像を入力した際に生成された前記推定データと、所与の教師画像と、に基づいて、前記推定部の学習を実行する学習部と、を含む。
【0009】
この態様では、前記所与の教師画像は、前記第1入力画像における前記前景の領域を示す第1教師画像を含む。
【0010】
この態様では、前記所与の教師画像は、前記第1入力画像と同じ態様で前記前景を示す第2教師画像と、前記第1入力画像と同じ態様で前記背景を示す第3教師画像と、を含み、前記学習部は、さらに、生成された前記推定データと、前記第2教師画像と、前記第3教師画像と、に基づいて合成画像を生成する合成画像生成部を含み、前記学習部は、さらに、前記合成画像生成部に前記推定データと前記第2教師画像と前記第3教師画像とを入力した際に生成された前記合成画像と、前記第1入力画像と、に基づいて、前記推定部の学習を実行する。
【0011】
この態様では、前記入力画像取得部は、異なる画像処理が適用された複数の第2入力画像のぞれぞれと、共通の前記第1入力画像とを組み合わせて取得する。
【0012】
この態様では、前記入力画像取得部は、前記背景をCGモデリングすることで形成されたオブジェクトから、レンダリングによって生成された前記第2入力画像を取得する。
【0013】
本発明に係る前景領域推定装置は、背景と前景を示す第1入力画像と、該第1入力画像と異なる態様で前記背景を示す第2入力画像と、を組み合わせて取得する入力画像取得部と、前記第1入力画像と前記第2入力画像の入力に応じて前記前景の領域を示す推定データを生成する推定部を含み、前記推定部は、該推定部に前記第1入力画像と前記第2入力画像を入力した際に生成された前記推定データと、所与の教師画像と、に基づく学習が実行済の機械学習モデルである。
【0014】
この態様では、前記所与の教師画像は、前記第1入力画像における前記前景の領域を示す第1教師画像を含む。
【0015】
この態様では、前記前景領域推定装置は、さらに、生成された前記推定データと、前記第1入力画像と、前記第2入力画像と、に基づいて合成画像を生成する合成画像生成部を含み、前記所与の教師画像は、前記第1入力画像と同じ態様で前記前景を示す第2教師画像と、前記第1入力画像と同じ態様で前記背景を示す第3教師画像と、を含み、前記推定部は、前記合成画像生成部に前記推定データと前記第2教師画像と前記第3教師画像とを入力した際に生成された前記合成画像と、前記第1入力画像と、に基づく学習が実行済の機械学習モデルである。
【0016】
この態様では、前記入力画像取得部は、複数の前記第2入力画像の候補から、前記第1入力画像と対応する前記第2入力画像を選択して取得する。
【0017】
この態様では、前記候補は、予め定められた画角及び相対的な撮影方向で設置された複数のカメラにより、前記背景がそれぞれ撮影される複数の画像である。
【0018】
この態様では、前記入力画像取得部は、前記候補から、特徴点マッチングにより前記第1入力画像と対応する前記第2入力画像を選択して取得する。
【0019】
この態様では、前記候補は、異なる色の照明が照射された前記背景が撮影された複数の画像であって、前記入力画像取得部は、前記候補から、既に生成された前記推定データにより背景を示す位置における画素の色情報に基づいて、前記第1入力画像と対応する前記第2入力画像を選択して取得する。
【0020】
この態様では、前記候補は、照明が照射されていない状態で撮影された前記背景を示す画像から、前記背景に含まれる各物体の反射特性に基づいて、前記照明が照射された状態にある前記背景を示す画像として生成された画像である。
【0021】
この態様では、共通の前記第1入力画像と、該共通の第1入力画像と組み合わせて入力された複数の第2入力画像と、に基づいて生成された複数の前記推定データから、1個の推定データを選択する選択部をさらに有する。
【0022】
この態様では、前記入力画像取得部は、さらに、順次異なる撮影方向で撮影された動画像の一部を構成する静止画である第3入力画像を取得し、前記第2入力画像は、異なる撮影方向で予め撮影された複数の候補となる画像に基づいて、取得された画像であり、前記推定部は、前記第3入力画像と前記第2入力画像の入力に応じて前記前景の領域を示す推定データを生成する。
【0023】
この態様では、前記第2入力画像は、前記複数の候補となる画像のうち、前記第3入力画像が撮影されたときの撮影方向と最も近い撮影方向から撮影された画像として選択された画像である。
【0024】
この態様では、前記第2入力画像は、前記複数の候補となる画像の撮影方向と前記第3入力画像が撮影されたときの撮影方向との差に基づいて選択された画像に基づいて生成された画像である。
【0025】
本発明に係る学習方法は、背景と前景を示す第1入力画像と、該第1入力画像と異なる態様で前記背景を示す第2入力画像と、を組み合わせて取得するステップと、前記第1入力画像と前記第2入力画像の入力に応じて前記前景の領域を示す推定データを生成する推定部に前記第1入力画像と前記第2入力画像を入力した際に生成された前記推定データと、所与の教師画像と、に基づいて、前記推定部の学習を実行するステップと、を含む。
【0026】
本発明に係る前景領域推定方法は、背景と前景を示す第1入力画像と、該第1入力画像と異なる態様で前記背景を示す第2入力画像と、を組み合わせて取得するステップと、前記第1入力画像と前記第2入力画像を入力した際に生成される推定データと、所与の教師画像と、に基づく学習が実行済の機械学習モデルである推定部に前記第1入力画像と前記第2入力画像を入力することで、当該推定部に前記前景の領域を示す前記推定データを生成させるステップと、を含む。
【0027】
本発明に係るプログラムは、背景と前景を示す第1入力画像と、該第1入力画像と異なる態様で前記背景を示す第2入力画像と、を組み合わせて取得する手順、前記第1入力画像と前記第2入力画像の入力に応じて前記前景の領域を示す推定データを生成する推定部に前記第1入力画像と前記第2入力画像を入力した際に生成された前記推定データと、所与の教師画像と、に基づいて、前記推定部の学習を実行する手順、をコンピュータに実行させる。
【0028】
本発明に係るプログラムは、背景と前景を示す第1入力画像と、該第1入力画像と異なる態様で前記背景を示す第2入力画像と、を組み合わせて取得する手順、前記第1入力画像と前記第2入力画像を入力した際に生成される推定データと、所与の教師画像と、に基づく学習が実行済の機械学習モデルである推定部に前記第1入力画像と前記第2入力画像を入力することで、当該推定部に前記前景の領域を示す前記推定データを生成させる手順、をコンピュータに実行させる。
【発明を実施するための形態】
【0030】
〔第1実施形態〕
以下、本発明の第1実施形態について図面に基づき詳細に説明する。
図1は、本実施形態に係る画像処理装置10の構成図である。
【0031】
本実施形態に係る画像処理装置10は、例えば、ゲームコンソールやパーソナルコンピュータなどのコンピュータである。
図1に示すように、本実施形態に係る画像処理装置10は、例えば、プロセッサ12、記憶部14、操作部16、表示部18を含んでいる。
【0032】
プロセッサ12は、例えば画像処理装置10にインストールされるプログラムに従って動作するCPU等のプログラム制御デバイスである。
【0033】
記憶部14は、ROMやRAM等の記憶素子やハードディスクドライブなどである。記憶部14には、プロセッサ12によって実行されるプログラムなどが記憶される。
【0034】
操作部16は、キーボード、マウス、ゲームコンソールのコントローラ等のユーザインタフェースであって、ユーザの操作入力を受け付けて、その内容を示す信号をプロセッサ12に出力する。
【0035】
表示部18は、液晶ディスプレイ等の表示デバイスであって、プロセッサ12の指示に従って各種の画像を表示する。
【0036】
なお、画像処理装置10は、ネットワークボードなどの通信インタフェース、DVD−ROMやBlu−ray(登録商標)ディスクなどの光ディスクを読み取る光ディスクドライブ、USB(Universal Serial Bus)ポートなどを含んでいてもよい。
【0037】
本実施形態に係る画像処理装置10には学習済の機械学習モデルが実装される。そして当該機械学習モデルを用いて、背景と前景を示す第1入力画像204と、該第1入力画像204と異なる態様で背景を示す第2入力画像206の入力に応じて、第1入力画像204における前景の領域を示す推定データ212が生成される。
【0038】
また、本実施形態では、推定部210の学習が実行される。推定部210が実行する学習について、学習の態様を示す
図2を参照しながら説明する。ここで推定部210の学習に用いられるデータを学習データと呼ぶこととする。学習データには、第1入力画像204、第2入力画像206、及び、所与の教師画像が含まれる。
【0039】
まず、入力画像取得部208は、背景と前景を示す第1入力画像204と、該第1入力画像204と異なる態様で背景を示す第2入力画像206と、を組み合わせて取得する。具体的には、例えば、入力画像取得部208は、
図2に示すような第1入力画像204及び第2入力画像206を取得する。
図2の第1入力画像204は、植物等を背景として、人物を前景として撮影された画像である。ここで、異なる態様とは、例えば、両入力画像が異なる画角で撮影される場合や、背景に含まれる物体の配置や形状等が異なる状態で両入力画像が撮影される場合等を含む。
【0040】
なお、入力画像取得部208は、画像の一部をスケールして第1入力画像204及び第2入力画像206を取得してもよい。具体的には、例えば、取得される背景と前景を示す画像と、該画像と異なる態様で背景を示す画像が4Kサイズであってもよい。この場合、入力画像取得部208は、当該画像を圧縮して320×320のサイズの画像を生成し、それぞれ第1入力画像204及び第2入力画像206として取得してもよい。
【0041】
また、入力画像取得部208は、画像の一部をクロップした上で第1入力画像204及び第2入力画像206を取得してもよい。具体的には、例えば、背景と前景を示す画像に占める前景の領域が小さい場合、入力画像取得部208は、当該前景が示された領域の付近をクロップした画像を第1入力画像204として取得してもよい。また、この場合、入力画像取得部208は、背景と前景を示す画像のクロップされた領域と対応する領域を、背景を示す画像からクロップして第2入力画像206として取得する。
【0042】
背景と前景の区別は、ユーザの認識によってなされる。すなわち、ユーザは、ユーザが背景及び前景の両方を含む画像として認識する画像を第1入力画像204として、入力画像取得部208に入力する。また、ユーザは、ユーザが背景のみを含む画像として認識する画像を第2入力画像206として入力画像取得部208に入力する。従って、前景の人物とは異なる人物が背景に含まれてもよい。
【0043】
また、推定部210の過学習を防止するため、いわゆるオーグメンテーションが実施されることが望ましい。具体的には、入力画像生成部202は、第1入力画像204と異なる態様で背景を示す1枚の画像に基づいて、異なる画像処理が適用された複数の第2入力画像206を生成してもよい。例えば、入力画像生成部202は、第1入力画像204と異なる態様で背景を示す1枚の画像に対して、それぞれ異なるガンマ値が設定された第2入力画像206を生成してもよい。また、例えば、入力画像生成部202は、第1入力画像204と異なる態様で背景を示す1枚の画像に対して、それぞれ異なるノイズを加える処理が施すことで第2入力画像206を生成してもよい。また、例えば、入力画像生成部202は、第1入力画像204と異なる態様で背景を示す1枚の画像に対して、背景に含まれる被撮影物の一部が変更(例えば、削除、追加、位置の変更等)された第2入力画像206を生成してもよい。
【0044】
この場合、入力画像取得部208は、入力画像生成部202に生成された複数の第2入力画像206を取得する。すなわち、入力画像取得部208は、それぞれ異なる画像処理が施された第2入力画像206のそれぞれと、共通の第1入力画像204とを組み合わせて取得する。
【0045】
なお、入力画像生成部202は、第2入力画像206に限られず、第1入力画像204、第2教師画像218及び第3教師画像220に対して、ガンマ値の設定変更やノイズ処理を行ってもよい。
【0046】
さらに、入力画像生成部202は、背景をCGモデリングすることで形成されたオブジェクトから、レンダリングによって第2入力画像206を生成してもよい。具体的には、例えば、ユーザは、レーザセンサやフォトグラメトリを用いて、事前に背景のCGモデリングを行う。そして、入力画像取得部208は、CGモデリングで形成されたオブジェクトから、レンダリングによって当該第2入力画像206と対応する第1入力画像204を生成してもよい。
【0047】
さらに、入力画像取得部208は、入力画像生成部202によって生成された第1入力画像204と第2入力画像206を組み合わせて取得する。第1入力画像204及び第2入力画像206は、レンダリングによって生成されるため、異なる画角または異なる視点で生成された第1入力画像204及び第2入力画像206を取得できる。
【0048】
以上のように、入力画像生成部202によって、1組の第1入力画像204及び第1入力画像204と異なる態様で背景を示す1枚の画像に基づいて、複数の学習データを生成することができる。
【0049】
推定部210は、第1入力画像204と第2入力画像206の入力に応じて第1入力画像204における前景の領域を示す推定データ212を生成する。具体的には、例えば、推定部210は、入力画像取得部208が取得した第1入力画像204と第2入力画像206が入力される。そして、推定部210は、第1入力画像204と第2入力画像206の入力に応じて第1入力画像204における前景の領域を示す推定データ212を生成する。推定データ212は、例えば、前景を示す座標において1というアルファ値を有し、背景を示す座標において0というアルファ値を有するアルファマップである。なお、アルファ値は、0または1のいずれかの値である場合に限られない。例えば、アルファ値は、0以上1以下の実数であってもよいし、0から255の間の整数であってもよい。
【0050】
推定部210は、例えば、畳み込みニューラルネットワーク(CNN)により実装された機械学習モデルである。推定部210が含むニューラルネットワーク全体は、エンコーダネットワークとデコーダネットワークとからなる。エンコーダネットワークとデコーダネットワークとは、従来技術であるブリッジ構造を有することが望ましい。
【0051】
画像処理装置10が前景領域推定装置として機能する場合には、推定部210は、該推定部210に第1入力画像204と第2入力画像206を入力した際に生成された推定データ212と、所与の教師画像と、に基づく学習が実行済の機械学習モデルである。所与の教師画像は、教師画像取得部704(
図7参照)によって取得される。所与の教師画像には、第1教師画像214、第2教師画像218及び第3教師画像220が含まれる。
【0052】
第1教師画像214は、対応する第1入力画像204の前景を示す領域を表す正解の推定データ212(例えばアルファマップ)である。第2教師画像218は、第1入力画像204に含まれる前景のみを表す正解画像(すなわち、前景の正解画像)である。第3教師画像220は、第1入力画像204に含まれる背景と、第1入力画像204において前景が占める領域に表された背景と、を含む正解画像(すなわち、背景の正解画像)である。
【0053】
本実施形態に係る学習において、まず、学習データに含まれる第1入力画像204及び第2入力画像206が、推定部210に入力される。すると推定部210は、当該第1入力画像204及び当該第2入力画像206の入力に応じて、推定データ212としてアルファマップを生成する。
【0054】
そして、当該アルファマップと、学習部702(
図7参照)に入力された第1教師画像214との比較結果(以下、第1誤差)が特定される。ここで例えば第1誤差は、0以上1以下の値をとるデータであってもよい。この場合、第1誤差は例えば、生成されたアルファマップと第1教師画像214が一致する場合に値として0をとり、一致しない場合に値として1をとるデータであってもよい。
【0055】
さらに、本実施形態では例えば、アルファマップと、学習部702に入力された第1教師画像214との誤差に基づいて、例えば誤差逆伝搬法により、推定部210のパラメータの値が更新される。また、推定部210には、第1入力画像204と第2入力画像206の複数の組み合わせが入力される。これにより、推定部210のパラメータの値の更新が、繰り返し実行される。以上のようにして、画像処理装置10に実装されている機械学習モデルが学習される。
【0056】
本実施形態では、さらに、合成画像生成部216が生成した合成画像222を用いて、学習部702の学習が実行されてもよい。すなわち、推定部210は、合成画像生成部216に推定データ212と第2教師画像218と第3教師画像220とを入力した際に生成された合成画像222と、第1入力画像204と、に基づく学習が実行済の機械学習モデルであってもよい。
【0057】
合成画像生成部216は、前景及び背景を示す画像と背景を示す画像とのアルファ値に基づく合成処理が実行されることによって、合成画像222を生成する。例えば、前景を示す画像に含まれる画素の画素値と、アルファマップの当該画素のアルファ値と、背景を示す画像に含まれる当該画素に対応付けられる画素の画素値と、に基づいて、合成画像222に含まれる当該画素に対応付けられる画素の画素値が決定される。
【0058】
例えば前景を示す画像に含まれる画素の赤色の階調値を表すR値がR1であり、当該画素のアルファ値がAであり、背景を示す画像における当該画素と同じ座標値の画素のR値がR0であることとする。また、アルファ値は、0から255の間の整数であるとする。この場合、R0×(1−A/255)+R1×A/255との数式で算出される値が、合成画像222に含まれる当該画素と同じ座標値の画素のR値として決定される。合成画像生成部216は、全ての画素における赤色、緑色及び青色の階調値に対して同様の処理を行うことによって、合成画像222を生成する。
【0059】
また、合成画像生成部216は、前景及び背景を示す画像とアルファマップに基づいて、合成画像222を生成してもよい。具体的には、例えば前景を示す画像に含まれる画素の赤色の階調値を表すR値がR1であり、当該画素のアルファ値がAであるとする。この場合、合成画像生成部216は、R1×A/255との数式で算出される値が、合成画像222に含まれる当該画素と同じ座標値の画素のR値として決定される。さらに、合成画像生成部216は、合成画像222に含まれる当該画素のアルファ値がAであると決定する。合成画像生成部216は、全ての画素における赤色、緑色及び青色の階調値に対して同様の処理を行うことによって、合成画像222を生成する。すなわち、合成画像生成部216は、前景のみが表され、背景が透明な合成画像222を生成してもよい。
【0060】
本実施形態に係る学習において、まず、生成された推定データ212と、学習データに含まれる第2教師画像218と、第3教師画像220と、が、合成画像生成部216に入力される。ここで、第2教師画像218は、第1入力画像204に含まれる前景のみを表す正解画像(すなわち、前景の正解画像)である。第3教師画像220は、第1入力画像204に含まれる背景と、第1入力画像204において前景が占める領域に表された背景と、を含む正解画像(すなわち、背景の正解画像)である。すると、合成画像生成部216は、上記の方法で、生成された推定データ212と、第2教師画像218と、第3教師画像220と、に基づいて合成画像222を生成する。
【0061】
そして、当該合成画像222と、推定部210に入力された教師画像である第1入力画像204との比較結果(第2誤差)が特定される。ここで例えば第2誤差が0以上1以下の値をとるデータであってもよい。この場合、第2誤差は例えば、生成された合成画像222と第1入力画像204が一致する場合に値として0をとり、一致しない場合に値として1をとるデータであってもよい。
【0062】
さらに、本実施形態では例えば、合成画像222と、学習部702に入力された第1入力画像204との誤差に基づいて、例えば誤差逆伝搬法により、推定部210のパラメータの値が更新される。また、推定部210には、第1入力画像204と第2入力画像206の複数の組み合わせが入力される。これにより、推定部210のパラメータの値の更新が、繰り返し実行される。以上のようにして、画像処理装置10に実装されている機械学習モデルが学習されてもよい。
【0063】
以上のように、学習部702が、第1誤差及びまたは第2誤差を繰り返し特定することによって学習が実行される。なお、第1誤差を用いた学習と、第2誤差を用いた学習と、は、一方のみが実行されてもよいし、両方が実行されてもよい。
【0064】
続いて、推定部210が第1誤差及び第2誤差を用いて実行する学習のフローについて、
図3を参照しながら説明する。ここでは例えば、5×m(mは自然数)個の学習データが取得されることとする。また、5×m個の学習データは、5個ずつのデータ群に分割されていることとする。1個のデータ群は、第1入力画像204、第2入力画像206、第1教師画像214、第2教師画像218及び第3教師画像220を含む。以下、i(1≦i≦m)番目のデータ群を第iデータ群と呼ぶこととする。
【0065】
まず、入力画像生成部202は、第1入力画像204と異なる態様で背景を示す1枚の画像が入力され、当該画像に基づいて異なる画像処理が適用されたm個の第2入力画像206を生成する(S302)。そして、入力画像取得部208は、共通の第1入力画像204と組み合わせて、生成されたm個の第2入力画像206を取得する(S304)。また、教師画像取得部704は、S302で取得された第1入力画像204と対応する第1教師画像214、第2教師画像218及び第3教師画像220を取得する(S306)。
【0066】
そして、学習部702は、変数iの値に1を設定する(S308)。そして、学習部702は、第iデータ群に含まれる3個の学習データを用いて、アルファマップに基づく推定部210の学習を実行する(S310)。ここで、3個の学習データは、第1入力画像204、第2入力画像206及び第1教師画像214である。さらに、学習部702は、第iデータ群に含まれる2個の学習データを用いて、合成画像222に基づく推定部210の学習を実行する(S312)。ここで、2個の学習データは、第2教師画像218及び第3教師画像220である。
【0067】
そして、学習部702は、変数iの値がmであるか否かを確認する(S314)。値がmでない場合は(S314:N)、学習部702は、変数iの値を1増加させて(S316)、S310に示す処理に戻る。値がmである場合は(S314:Y)、本処理例に示す処理を終了する。
【0068】
本実施形態では例えば、以上のようにして学習が実行された機械学習モデルを用いて、推定データ212の生成及び合成画像222の生成が行われる。
【0069】
以下、学習済の機械学習モデルを用いた推定データ212の生成及び合成画像222の生成について
図4を参照しながら説明する。
【0070】
まず、背景と前景を示す第1入力画像204と、該第1入力画像204と異なる態様で背景を示す第2入力画像206と、が組み合わせて入力画像取得部208に入力される。例えば、ユーザが所持したカメラまたは所定の位置に固定されたカメラは、家具等が配置された背景をバックにした人物を撮影する(第1入力画像204)。また、当該カメラは、当該人物がカメラの撮影範囲から外れた状態で、同じ位置から家具等が配置された部屋を撮影する(第2入力画像206)。なお、第1入力画像204及び第2入力画像206のサイズは、320×320である。
【0071】
次に、入力画像取得部208が取得した第1入力画像204及び第2入力画像206は、学習済の推定部210に入力される。そして、推定部210は、第1入力画像204と第2入力画像206の入力に応じて第1入力画像204における前景の領域を示す推定データ212を生成する。ここで生成される推定データ212は、各画素における前景と背景の階調値の割合を示すアルファマップである。アルファマップのサイズは、320×320である。
【0072】
そして、合成画像生成部216は、アルファマップと第1入力画像204に基づいて、合成画像222を生成する。ここで生成される合成画像222は、第1入力画像204に含まれる前景のみが表され、背景が透明な合成画像222である。合成画像222のサイズは、320×320である。
【0073】
なお、入力画像のサイズと、推定部210が生成する推定データ212のサイズは一致しなくてもよい。当該場合について、
図5を参照しながら説明する。
【0074】
まず、背景と前景を示す画像と、該画像と異なる態様で背景を示す画像と、が組み合わせて入力画像生成部202に入力される。例えば、ユーザが所持したカメラまたは所定の位置に固定されたカメラは、家具等が配置された背景をバックにした人物を撮影する(前景及び背景を示す画像)。また、当該カメラは、当該人物がカメラの撮影範囲から外れた状態で、同じ位置から家具等が配置された部屋を撮影する(背景を示す画像)。ここで、前景及び背景を示す画像と、背景を示す画像は、いずれも4Kサイズである。
【0075】
次に、前景及び背景を示す画像と、背景を示す画像は、320×320のサイズにスケールされる。当該スケール動作は、ユーザによって手作業で実行されてもよいし、入力画像取得部208が実行してもよい。そして、入力画像取得部208は、両画像をそれぞれ前景が示された領域の付近でクロップした画像を第1入力画像204及び第2入力画像206として取得する。なお、
図5では、クロップ後の第1入力画像204及び第2入力画像206は、人物の付近が拡大されている。
【0076】
次に、入力画像取得部208が取得した第1入力画像204及び第2入力画像206は、学習済の推定部210に入力される。そして、推定部210は、第1入力画像204と第2入力画像206の入力に応じて各画素における前景と背景の階調値の割合を示す推定データ212(例えば、アルファマップ)を生成する。ここで、生成されたアルファマップのサイズは、320×320である。さらに、推定部210は、ユーザまたは入力画像取得部208から取得した上記スケール前の画像サイズの情報に基づいて、アルファマップを元の画像データのサイズに復元する。すなわち、推定部210は、4Kサイズのアルファマップを生成する。さらに、合成画像生成部216が上記と同様の処理を行うことにより、合成画像222を生成する。
【0077】
次に、本実施形態に係る画像処理装置10で行われる、合成画像222の生成処理の流れの一例を、
図6に例示するフロー図を参照しながら説明する。
【0078】
まず、入力画像取得部208には、いずれも4Kサイズである前景及び背景を示す画像と、背景を示す画像と、が入力される(S602)。入力画像取得部208は、前景及び背景を示す画像と、背景を示す画像を320×320のサイズにスケール及び又はクロップする(S604)。なお、ここで入力画像取得部208は、元の画像サイズに関する情報を合わせて取得し、推定部210に送る。そして、入力画像取得部208は、スケールされた画像をクロップし、第1入力画像204及び第2入力画像206として取得する(S606)。
【0079】
次に、第1入力画像204及び第2入力画像206は、推定部210に入力される(S608)。推定部210は、入力された第1入力画像204及び第2入力画像206に基づいて、320×320のサイズである推定データ212を生成する(S610)。さらに、推定部210は、ユーザまたは入力画像取得部208から取得した上記スケール及び又はクロップ前の画像サイズの情報に基づいて、4Kサイズの推定データ212を生成する(S612)。そして、合成画像生成部216は、推定データ212と第1入力画像204に基づいて、第1入力画像204に含まれる前景のみが表され、背景が透明な合成画像222を生成する(S614)。なお、S614の後に、合成画像生成部216は、S614で生成された合成画像222と、任意の背景を含む画像と、に基づいて、S614で生成された合成画像222に含まれる前景と、任意の背景と、を含む合成画像222をさらに生成してもよい。
【0080】
続いて、本実施形態に係る画像処理装置10の機能、及び、画像処理装置10で実行される処理についてさらに説明する。
【0081】
図7は、本実施形態に係る画像処理装置10で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係る画像処理装置10で、
図7に示す機能のすべてが実装される必要はなく、また、
図7に示す機能以外の機能が実装されていても構わない。
【0082】
図7に示すように、本実施形態に係る画像処理装置10には、機能的には例えば、入力画像生成部202、入力画像取得部208、学習部702、教師画像取得部704、が含まれる。学習部702には、推定部210、合成画像生成部216、パラメータ保存部706が含まれる。以上の要素はプロセッサ12、及び、記憶部14を主として実装される。
【0083】
なお、入力画像生成部202、入力画像取得部208、推定部210、合成画像生成部216、パラメータ保存部706、教師画像取得部704が、学習装置としての役割に相当する。また、入力画像生成部202、入力画像取得部208、推定部210、合成画像生成部216、パラメータ保存部706が、前景領域推定装置としての役割に相当する。
【0084】
以上の機能は、コンピュータである画像処理装置10にインストールされた、以上の機能に対応する指令を含むプログラムをプロセッサ12で実行することにより実装されてもよい。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどを介して画像処理装置10に供給されてもよい。
【0085】
入力画像生成部202は、第1入力画像204と異なる態様で背景を示す1枚の画像に基づいて、異なる画像処理が適用された複数の第2入力画像206を生成する。なお、上述のように、入力画像生成部202は、背景をCGモデリングすることで形成されたオブジェクトから、レンダリングによって第2入力画像206を生成してもよい。
【0086】
入力画像取得部208は、背景と前景を示す第1入力画像204と、該第1入力画像204と異なる態様で背景を示す第2入力画像206と、を組み合わせて取得する。入力画像取得部208は、入力画像生成部202が生成した第1入力画像204及び第2入力画像206を取得してもよいし、ユーザによって入力された第1入力画像204及び第2入力画像206を取得してもよい。
【0087】
教師画像取得部704は、第1教師画像214、第2教師画像218及び第3教師画像220を取得する。なお、推定データ212に基づく学習のみが実行される場合には、教師画像取得部704は、第1教師画像214のみを取得してもよい。また、合成画像222に基づく学習のみが実行される場合には、教師画像取得部704は、第2教師画像218及び第3教師画像220のみを取得してもよい。
【0088】
学習部702は、推定部210に第1入力画像204と第2入力画像206を入力した際に生成された推定データ212と、所与の教師画像と、に基づいて、推定部210の学習を実行する。また、学習部702は、さらに、合成画像生成部216に推定データ212と第2教師画像218と第3教師画像220とを入力した際に生成された合成画像222と、第1入力画像204と、に基づいて、推定部210の学習を実行してもよい。
【0089】
推定部210は、第1入力画像204と第2入力画像206の入力に応じて第1入力画像204における前景の領域を示す推定データ212を生成する。推定部210は、CNNなどの機械学習モデルにより実装されていてもよい。
【0090】
合成画像生成部216は、生成された推定データ212と、第2教師画像218と、第3教師画像220と、に基づいて合成画像222を生成する。また、合成画像生成部216は、推定データ212と第1入力画像204に基づいて、合成画像222を生成してもよい。
【0091】
パラメータ保存部706は、推定部210のパラメータの値を保存する。学習実行時に、パラメータ保存部706に保存されるパラメータの値は随時更新される。一方、画像処理装置10が前景領域推定装置として機能する場合には、推定部210が学習済である状態におけるパラメータが、固定の値としてパラメータ保存部706に保存される。
【0092】
以上のようにして、本実施形態によれば、精度の高い推定データ212及び合成画像222を容易に得ることができる。
【0093】
本発明は、例えば以下のシーンで実施されて上記効果を奏する。例えば、バスケットボール等のスポーツやエレクトロニックスポーツ等のスポーツの試合中継の際に、動く選手を前景として抽出できる。また、リアルタイムの入場シーンから背景を除外して、選手の紹介ビデオを作成できる。また、歌手やダンサーが歌ったり踊ったりするライブ映像から、歌手やダンサーを抽出できる。また、ユーザが所持するスマートフォンやカメラ等で撮影した画像から、背景を変更した画像を作成できる。また、グリーンバックを用いない低予算の番組を撮影する際に、舞台セットでない場所で演じる役者を前景として抽出し、背景である舞台セットと合成できる。また、本発明は、VR映像作品を制作する際にも実施できる。PS Camera(登録商標)でユーザがゲームしているところを撮影し、ユーザの動作を前景として抽出できる。また、リモートワークするユーザがテレビ会議をする際に、背景である部屋を他の画像と合成できる。
【0094】
〔第2実施形態〕
続いて、第2実施形態について、
図8から
図10を参照しながら説明する。第2実施形態では、画像処理装置10は、共通の第1入力画像204と、該共通の第1入力画像204組み合わせて入力された複数の第2入力画像206と、に基づいて生成された複数の推定データ212から、1個の推定データ212を選択する選択部1004を含む(
図10参照)。なお、
図10では、選択部1004は入力画像取得部208及び学習部702の外側に配置される構成を記載しているが、選択部1004は、入力画像取得部208及びまたは学習部702の内部に設けられてもよい。
【0095】
具体的には、コート上の選手に時間によって異なる色のスポットライトが照射される場合について説明する。この場合、選手の服の色やコートに色と、スポットライトの色が近い場合、推定部210は、高精度に前景の領域を示す推定データ212を生成できないおそれがある。
【0096】
このような場合、ユーザは、予め、種々の色のスポットライトがそれぞれ照射された背景を撮影した複数の画像を撮影する。入力画像取得部208は、当該スポットライトの色のみが異なる複数の第2入力画像206を取得する。推定部210は、共通の第1入力画像204と、該共通の第1入力画像204と組み合わせて入力された複数の第2入力画像206と、に基づいて複数の推定データ212を生成する。そして、選択部1004は、当該複数の推定データ212の中から、最も前景の占める領域の小さい推定データ212を選択する。これにより、スポットライトの色の変化によって、前景の占める領域の大きさが変化したとしても、ユーザにとって余計な部分が少ない推定データ212を得ることができる。
【0097】
なお、選択部1004は、複数の推定データ212の中から、最も前景の占める領域の大きい推定データ212を選択してもよい。選択部1004が推定データ212を選択する際の基準は、ユーザの目的に応じて適宜設定される。
【0098】
また、画像処理装置10が前景領域推定装置として機能する場合において、入力画像取得部208は、複数の第2入力画像206の候補から、第1入力画像204と対応する第2入力画像206を選択して取得してもよい。
【0099】
候補は、例えば、予め定められた画角及び相対的な撮影方向で設置された複数のカメラにより、背景がそれぞれ撮影される複数の画像である。具体的には、ユーザは、予め、コートの周囲を取り囲むように設置された複数のカメラで背景を撮影する。入力画像取得部208は、当該複数の画像の中から、第1入力画像204に含まれる背景と最も近い画角で撮影された画像を第2入力画像206として取得する。従って、第1入力画像204に含まれる背景と最も近い背景を含む第2入力画像206を用いることにより、高精度に推定データ212を生成することができる。
【0100】
また、入力画像取得部208は、候補から、特徴点マッチングにより第1入力画像204と対応する第2入力画像206を選択して取得してもよい。具体的には、上記例では、入力画像取得部208は、コートの周囲を取り囲むように設置された複数のカメラで撮影された各画像と、第1入力画像204と、について特徴点マッチングを行う。そして、入力画像取得部208は、特徴点マッチングの結果、第1入力画像204に含まれる背景と最も近い画角で撮影された画像を第2入力画像206として取得してもよい。
【0101】
また、候補は、異なる色の照明が照射された背景が撮影された複数の画像であってもよい。そして、入力画像取得部208は、候補から、既に生成された推定データ212により背景を示す位置における画素の色情報に基づいて、第1入力画像204と対応する第2入力画像206を選択して取得してもよい。
【0102】
具体的には、上記のように、コート上の選手に時間によって異なる色のスポットライトが照射される場合について説明する。ユーザは、予め、種々の色のスポットライトがそれぞれ照射された背景を撮影した複数の画像を撮影する。例えば、各シーンを想定して、特定の位置にスポットライトが照射された背景を撮影する。ここで、ユーザは、シーン毎(例えばシーン1からn)に複数の色(例えば、赤、緑、青等)のスポットライトが照射された画像(以下、R1画像等と記載する)を撮影する。
図8は、シーン1からシーンnに至るシーン毎に、赤、緑及び青色のスポットライトが照射された背景を示す画像群の一例である。当該シーン毎に種々の色のスポットライトが照射された背景画像は、第2入力画像206の候補である。
【0103】
続いて、入力画像取得部208は、第1入力画像204を取得する。ここで、例えば、第1入力画像204は、特定の選手にスポットライトが照射された状態で、試合が撮影された動画像における1シーンであるとする。
図9は、当該動画像の特定のフレームの一例である。前景領域推定装置に動画像が入力される場合、入力画像取得部208は当該動画像に含まれる各フレームを順に第1入力画像204として取得する。
【0104】
入力画像取得部208は、前フレームの第1入力画像204と組み合わせて、当該前フレームの画像と対応する第2入力画像206を選択して取得する。例えば、前フレームにおいてスポットライトが照射されている位置及び当該スポットライトの色に基づいて、入力画像取得部208は、複数の候補から対応する第2入力画像206を取得する。ここでは、例えば、入力画像取得部208は、シーン1の赤色のスポットライトが照射された第2入力画像206(R1画像)を取得したとする。そして、推定部210は、第1入力画像204と第2入力画像206の入力に応じて、
図9の前フレームの推定データ212を生成する。
【0105】
次のフレーム(現フレーム)において、入力画像取得部208は、現フレームの静止画像を第1入力画像204として取得するとともに、候補から第2入力画像206を選択して取得する。ここで、入力画像取得部208は、前フレームで生成された推定データ212が背景であることを表す領域の画素データに基づいて、候補から第2入力画像206を選択する。
【0106】
具体的には、前フレームにおいて第1入力画像204として取得されたR1画像はシーン1に属する。また、シーン1に属する候補(R1画像、G1画像からB1画像に至る各画像)は、推定データ212が背景であることを表す領域において、画素データが同一である。そこで、入力画像取得部208は、シーン1に属する候補(R1画像、G1画像からB1画像に至る各画像)から、第2入力画像206を選択して取得する。例えば、前フレームから現フレームにかけてスポットライトに色が青に変化したとすると、入力画像取得部208は、第2入力画像206としてB1画像を取得する。
【0107】
現フレームと前フレームの第1入力画像204は、撮影される時刻が異なるため、スポットライトの色や照射される位置が異なる。しかしながら、1フレームの間における選手の位置の変化は小さいため、スポットライトの照射される位置の変化は小さい可能性が高い。一方、色が大きく変化する可能性は高い。従って、同じ位置にスポットライトが照射されている第2入力画像206の候補(シーン1に属する各図)から、第2入力画像206を選択することで、正確な推定データ212を得ることができる。
【0108】
また、上記において、入力画像取得部208は、現フレームにおける第2入力画像206を選択する際に、前フレームで選択されたシーンの次のシーンに属する候補から第2入力画像206を選択してもよい。第2入力画像206の後方である各シーンの画像を、試合中に照射されるスポットライトの位置を想定した画像とすることにより、正確な推定データ212を得ることができる。
【0109】
また、候補は、照明が照射されていない状態で撮影された背景を示す画像から、背景に含まれる各物体の反射特性に基づいて、照明が照射された状態にある背景を示す画像として生成された画像であってもよい。
【0110】
具体的には、例えば、まず、ユーザは、背景を撮影した画像から背景に写った各被写体の反射特性を取得する。ここで、ユーザは、スペキュラなどの映り込みがないような状態で背景画像を撮影する。第1入力画像204が動画像である場合、入力画像生成部202は、当該動画像における照明の動きを推定(あるいは事前に取得)する。また、入力画像生成部202は、当該照明の動きと、反射特性に基づいて、ライティングをシミュレーションすることで、各フレームの第2入力画像206を作成する。そして、入力画像取得部208は、照明が照射された状態にある背景を示す画像として生成された当該画像を第2入力画像206として取得する。これにより、様々な態様で照明が照射された第2入力画像206を取得できる。
【0111】
〔第3実施形態〕
続いて、第3実施形態について、
図11及び
図12を参照しながら説明する。
図11及び
図12は、第3実施形態の適用例を示す図である。具体的には、
図11は、撮影装置1102と、前景領域推定装置1103と、情報処理装置1104と、サーバ1108と、ユーザ端末1110と、を含む。情報処理装置1104と、サーバ1108と、ユーザ端末1110と、はネットワーク1106によって接続される。ネットワーク1106は、例えばインターネットである。
【0112】
撮影装置1102は、ビデオカメラ等の動画像を撮影する装置である。撮影装置1102は、例えばスタジオに配置され、テーブルや壁を背景とし人物を前景として含む動画像を撮影する。撮影装置1102は、人物がスタジオの中で動く場合に、撮影方向を人物の方向に変えながら動画像を撮影する。また、
図12に示すように、撮影装置1102は、複数であってもよい。この場合、撮影装置1102は、第1ビデオカメラと第2ビデオカメラを含み、複数の方向から動画像を撮影する。
【0113】
前景領域推定装置1103は、第1及び第2実施形態と同様に、背景と前景を含む画像から、前景の領域を示す推定データを生成する。ここで、第3実施形態では、入力画像取得部208は、さらに、順次異なる撮影方向で撮影された動画像の一部を構成する静止画である第3入力画像を取得する。当該第3入力画像は、例えば、撮影装置1102によって撮影された動画像を構成する静止画像である。
【0114】
第3実施形態では、第2入力画像206は、異なる撮影方向で予め撮影された複数の候補となる画像に基づいて、取得された画像である。具体的には、複数の候補となる画像は、第3入力画像が撮影される際に想定される撮影位置から種々の撮影方向で撮影された複数の画像である。第2入力画像206は、複数の候補となる画像のうち、第3入力画像が撮影されたときの撮影方向と最も近い撮影方向から撮影された画像として選択された画像である。例えば、第3入力画像が第1ビデオカメラの位置から椅子とテーブルが配置された方向で撮影された画像である場合、複数の候補となる画像から、第1ビデオカメラの位置から椅子とテーブルの方向に最も近い方向に撮影した画像が第2入力画像206として選択される。当該第2入力画像206の選択は、第2実施形態と同様、画像処理装置10に含まれる選択部1004によって行われてもよい。
【0115】
また、第2入力画像206は、複数の候補となる画像の撮影方向と第3入力画像が撮影されたときの撮影方向との差に基づいて選択された画像に基づいて生成された画像であってもよい。例えば、候補となる画像に、第3入力画像が撮影されたときの撮影方向と左方向と右方向に5度異なる撮影方向から撮影された画像が含まれる場合、当該2個の候補画像が選択される。当該2個の候補画像に基づいて、その中間の方向から撮影された画像として生成された画像を第2入力画像206としてもよい。
【0116】
そして、推定部210は、第3入力画像と第2入力画像206の入力に応じて前景の領域を示す推定データ212を生成する。第3実施形態では、第1入力画像204の代わりに第3入力画像が入力されるが、その他の点は第1及び第2実施形態と同様である。また、第1及び第2実施形態と同様、前景領域推定装置1103は、推定データ212に基づいて、合成画像222を生成する。本実施形態では、撮影装置1102が第3入力画像を毎フレーム撮影する。そのため、前景領域推定装置1103は、合成画像222を毎フレーム生成する。これにより、合成画像222によって構成される合成動画が生成される。
【0117】
情報処理装置1104及びサーバ1108は、例えばパーソナルコンピュータ等の演算装置である。情報処理装置1104は、通信機能を有し、サーバ1108やユーザ端末1110との間でデータ通信を行う。ユーザ端末1110は、例えばパーソナルコンピュータや、ゲーム機である。ユーザ端末1110は、サーバ1108や情報処理装置1104と通信を行い、受信したデータを表示する。情報処理装置1104がサーバ1108を介して、または、直接ユーザ端末1110に合成動画を配信することにより、ユーザは合成動画を閲覧できる。
【0118】
なお、
図11では、前景領域推定装置1103が撮影装置1102と情報処理装置1104の間に配置される構成を記載しているが、前景領域推定装置1103がユーザ端末1110に含まれる構成であってもよいし、前景領域推定装置1103がユーザ端末1110と接続される構成であってもよい。この場合、前景領域推定装置1103に含まれる入力画像取得部208は、撮影装置1102から、情報処理装置1104及びネットワーク1106を介して、上記第3入力画像を取得する。本構成によれば、ユーザは、ユーザが所有するユーザ端末1110または前景領域推定装置1103を用いて、合成動画を生成することができる。また、ユーザは独自に作成した合成画像をサーバ1108にアップロードし、他のユーザと共有することができる。
【0119】
なお、本発明は上述の実施形態に限定されるものではない。また、上記の具体的な文字列や数値及び図面中の具体的な文字列や数値は例示であり、これらの文字列や数値には限定されない。