(57)【要約】【課題】被写体の背景が変化する場合に実写画像から被写体画像を頑健に抽出するためのアルファ画像を低コストで生成することが可能である画像処理装置、画像処理方法及び画像処理プログラムを提供する。【解決手段】画像処理装置は、多視点の被写体画像のアルファ画像である多視点の教師アルファ画像群と、多視点の被写体画像及び背景画像を含む画像である教師画像群とを生成する教師画像生成部と、多視点の教師画像群を単視点の教師画像群に変換する教師画像変換部と、単視点の教師画像群をＤＮＮの入力とし、多視点の教師アルファ画像群をＤＮＮの出力として、ＤＮＮの学習パラメータを算出するパラメータ算出部と、多視点の実写画像群を単視点の実写画像群に変換する実写画像変換部と、単視点の実写画像群をニューラル・ネットワークに入力し、ニューラル・ネットワークの出力である多視点のアルファ画像群を生成する画像生成部とを備える。【選択図】図１
2018169690.tif 000002
【特許請求の範囲】
【請求項１】
多視点のコンピュータ・グラフィックスによる被写体画像のアルファ画像である多視点の教師アルファ画像群と、多視点の前記被写体画像及び背景画像を含む画像である教師画像群とを生成する教師画像生成部と、
前記多視点の教師画像群を単視点の教師画像群に変換する教師画像変換部と、
前記単視点の教師画像群をニューラル・ネットワークの入力とし、前記多視点の教師アルファ画像群を前記ニューラル・ネットワークの出力として、前記ニューラル・ネットワークの学習パラメータを算出するパラメータ算出部と、
多視点の実写画像群を単視点の実写画像群に変換する実写画像変換部と、
前記単視点の実写画像群を前記ニューラル・ネットワークに入力し、前記ニューラル・ネットワークの出力である多視点のアルファ画像群を生成する画像生成部と
を備える画像処理装置。
【請求項２】
前記教師アルファ画像群は、前記被写体画像における被写体の姿勢、前記教師画像群の教師画像における位置及び照明の条件が異なる前記被写体画像のアルファ画像群である、請求項１に記載の画像処理装置。
【請求項３】
前記教師画像群は、実写された背景の画像である前記背景画像にコンピュータ・グラフィックスによる前記被写体画像が重畳された画像群である、請求項１又は請求項２に記載の画像処理装置。
【請求項４】
画像処理装置が実行する画像処理方法であって、
多視点のコンピュータ・グラフィックスによる被写体画像のアルファ画像である多視点の教師アルファ画像群と、多視点の前記被写体画像及び背景画像を含む画像である教師画像群とを生成するステップと、
前記多視点の教師画像群を単視点の教師画像群に変換するステップと、
前記単視点の教師画像群をニューラル・ネットワークの入力とし、前記多視点の教師アルファ画像群を前記ニューラル・ネットワークの出力として、前記ニューラル・ネットワークの学習パラメータを算出するステップと、
多視点の実写画像群を単視点の実写画像群に変換するステップと、
前記単視点の実写画像群を前記ニューラル・ネットワークに入力し、前記ニューラル・ネットワークの出力である多視点のアルファ画像群を生成するステップと
を含む画像処理方法。
【請求項５】
コンピュータに、
多視点のコンピュータ・グラフィックスによる被写体画像のアルファ画像である多視点の教師アルファ画像群と、多視点の前記被写体画像及び背景画像を含む画像である教師画像群とを生成する手順と、
前記多視点の教師画像群を単視点の教師画像群に変換する手順と、
前記単視点の教師画像群をニューラル・ネットワークの入力とし、前記多視点の教師アルファ画像群を前記ニューラル・ネットワークの出力として、前記ニューラル・ネットワークの学習パラメータを算出する手順と、
多視点の実写画像群を単視点の実写画像群に変換する手順と、
前記単視点の実写画像群を前記ニューラル・ネットワークに入力し、前記ニューラル・ネットワークの出力である多視点のアルファ画像群を生成する手順と
を実行させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【０００２】
画像処理装置は、実景が写されている画像（以下「実写画像」という。）から、被写体の画像（以下「被写体画像」という。）を抽出する場合がある。画像処理装置は、背景のコンピュータ・グラフィックス（CG: Computer Graphics）である背景画像に、実写画像から抽出された被写体画像を前景画像として重畳することで、背景画像に被写体が入り込んだような画像を生成することができる。
【０００３】
映画制作のスタジオ等では、実写画像から被写体画像を抽出するために、背景造作を用いて被写体の背景の色が緑等の単色にされる場合がある。画像処理装置は、クロマキー技術によって、実写画像から被写体画像を抽出することができる。しかしながら、クロマキー技術では背景造作を用いて被写体の背景の色が単色にされるので、被写体の背景の色を単色にすることができない屋外での実写画像や実際のスポーツ競技の実写画像には、クロマキー技術は使用できない。
【０００４】
そこで、実写画像から被写体画像を抽出する技術として、画素値の差分（背景差分）を用いる手法（非特許文献１参照）と、ディープ・ニューラル・ネットワーク（DNN: deep neural network）を用いる手法（非特許文献２参照）と、深度センサを用いる手法（非特許文献３参照）とが提案されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】松山隆司，和田俊和，波部斉，棚橋和也，“照明変化に頑健な背景差分”，電子情報通信学会論文誌 D-II，J84-D-II No.10，pp.2201-2211.
【非特許文献２】Xiaoyong Shen, et al.“Deep Automatic Portrait Matting”，European Conference on Computer Vision，Springer International Publishing AG 2016.
【非特許文献３】宮下広夢，竹内広太，山口真理子，長田秀信，小野朗，“センサとカメラを活用した高速・高精度な被写体抽出”，電気情報通信学会，信学技報，pp.17-22，MVE2016-1(2016-06).
【発明の概要】
【発明が解決しようとする課題】
【０００６】
非特許文献１の画素値の差分を用いる手法では、背景が事前に撮影されることによって、１枚の背景画像が生成される。画像処理装置は、実写画像の画素値と背景画像の画素値との差分が大きい領域の画像を、実写画像から抽出する。画像処理装置は、背景が変化しない環境の実写画像からは、画素値の差分を用いて被写体画像を正しく抽出することができる。しかしながら、画像処理装置は、照明の変化や被写体の動きによる影の変化等がある環境の実写画像からは、被写体画像を正しく抽出することができない場合がある。
【０００７】
非特許文献２のＤＮＮを用いる手法では、抽出対象である人物画像が数千枚のポートレート画像から手動で抽出されることによって、ＤＮＮの学習パラメータを定めるために使用される教師画像が予め生成される。抽出対象である人物画像が数千枚のポートレート画像から手動で抽出されるので、非特許文献２の教師画像の生成は高コストである。画像処理装置は、学習パラメータが定められたＤＮＮを用いて、ポートレート画像から人物画像を抽出する。
【０００８】
非特許文献３の深度センサを用いる手法では、画像処理装置は、深度センサとカラー画像とを用いて空間の奥行き（深度）を考慮することによって、実写画像から被写体画像を高速かつ頑健に抽出することができる。しかしながら、深度センサの照射光が干渉された場合や、カメラから被写体までの距離が遠い場合には、空間の奥行きが正しく観測されないので、画像処理装置は、実写画像から被写体画像を高速かつ頑健に抽出することができない場合がある。
【０００９】
これらのように、従来の画像処理装置は、被写体の背景が変化する場合に実写画像から被写体画像を頑健に抽出するためのアルファ画像を低コストで生成することができない、という問題があった。
【００１０】
上記事情に鑑み、本発明は、被写体の背景が変化する場合に実写画像から被写体画像を頑健に抽出するためのアルファ画像を低コストで生成することが可能である画像処理装置、画像処理方法及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【００１１】
本発明の一態様は、多視点のコンピュータ・グラフィックスによる被写体画像のアルファ画像である多視点の教師アルファ画像群と、多視点の前記被写体画像及び背景画像を含む画像である教師画像群とを生成する教師画像生成部と、前記多視点の教師画像群を単視点の教師画像群に変換する教師画像変換部と、前記単視点の教師画像群をニューラル・ネットワークの入力とし、前記多視点の教師アルファ画像群を前記ニューラル・ネットワークの出力として、前記ニューラル・ネットワークの学習パラメータを算出するパラメータ算出部と、多視点の実写画像群を単視点の実写画像群に変換する実写画像変換部と、前記単視点の実写画像群を前記ニューラル・ネットワークに入力し、前記ニューラル・ネットワークの出力である多視点のアルファ画像群を生成する画像生成部とを備える画像処理装置である。
【００１２】
本発明の一態様は、上記の画像処理装置であって、前記教師アルファ画像群は、前記被写体画像における被写体の姿勢、前記教師画像群の教師画像における位置及び照明の条件が異なる前記被写体画像のアルファ画像群である。
【００１３】
本発明の一態様は、上記の画像処理装置であって、前記教師画像群は、実写された背景の画像である前記背景画像にコンピュータ・グラフィックスによる前記被写体画像が重畳された画像群である。
【００１４】
本発明の一態様は、画像処理装置が実行する画像処理方法であって、多視点のコンピュータ・グラフィックスによる被写体画像のアルファ画像である多視点の教師アルファ画像群と、多視点の前記被写体画像及び背景画像を含む画像である教師画像群とを生成するステップと、前記多視点の教師画像群を単視点の教師画像群に変換するステップと、前記単視点の教師画像群をニューラル・ネットワークの入力とし、前記多視点の教師アルファ画像群を前記ニューラル・ネットワークの出力として、前記ニューラル・ネットワークの学習パラメータを算出するステップと、多視点の実写画像群を単視点の実写画像群に変換するステップと、前記単視点の実写画像群を前記ニューラル・ネットワークに入力し、前記ニューラル・ネットワークの出力である多視点のアルファ画像群を生成するステップとを含む画像処理方法である。
【００１５】
本発明の一態様は、コンピュータに、多視点のコンピュータ・グラフィックスによる被写体画像のアルファ画像である多視点の教師アルファ画像群と、多視点の前記被写体画像及び背景画像を含む画像である教師画像群とを生成する手順と、前記多視点の教師画像群を単視点の教師画像群に変換する手順と、前記単視点の教師画像群をニューラル・ネットワークの入力とし、前記多視点の教師アルファ画像群を前記ニューラル・ネットワークの出力として、前記ニューラル・ネットワークの学習パラメータを算出する手順と、多視点の実写画像群を単視点の実写画像群に変換する手順と、前記単視点の実写画像群を前記ニューラル・ネットワークに入力し、前記ニューラル・ネットワークの出力である多視点のアルファ画像群を生成する手順とを実行させるための画像処理プログラムである。
【発明の効果】
【００１６】
本発明により、被写体の背景が変化する場合に実写画像から被写体画像を頑健に抽出するためのアルファ画像を低コストで生成することが可能である。
【図面の簡単な説明】
【００１７】
【図１】実施形態における、画像処理システムの構成の例を示す図である。
【図２】実施形態における、教師画像生成部の入力及び出力の例を示す図である。
【図３】実施形態における、仮想平面の配置の例を示す図である。
【図４】実施形態における、変換前の画像の例を示す図である。
【図５】実施形態における、変換後の画像の例を示す図である。
【図６】実施形態における、学習パラメータの算出の例を示す図である。
【図７】実施形態における、教師画像生成部の動作の例を示すフローチャートである。
【図８】実施形態における、実写画像変換部の動作の例を示すフローチャートである。
【図９】実施形態における、教師画像変換部の動作の例を示すフローチャートである。
【図１０】実施形態における、パラメータ算出部の動作の例を示すフローチャートである。
【図１１】実施形態における、画像生成部の動作の例を示すフローチャートである。
【発明を実施するための形態】
【００１８】
本発明の実施形態について、図面を参照して詳細に説明する。
図１は、画像処理システム１の構成の例を示す図である。画像処理システム１は、画像処理装置１０と、カメラ２０−０〜２０−Ｎ（Ｎは、１以上の整数）と、データベース３０とを備える。以下では、Ｎは一例として２である。画像処理装置１０は、画像処理を実行する情報処理装置であり、例えば、パーソナルコンピュータやサーバ装置である。
【００１９】
画像処理装置１０は、カメラ２０−０〜２０−２によって撮影された実写画像のアルファ値（透明度）を画素ごとに表す画像であるアルファ画像を生成する。アルファ画像は、背景画像の３チャネル（RGB: Red Green Blue）のカラー解像度と同一の解像度を有する１チャネル（alpha）を用いて、アルファ値を画素ごとに表す。例えば、抽出対象である被写体画像の画素のアルファ値は、抽出対象でない背景画像の画素のアルファ値よりも大きく定められる。
【００２０】
なお、画像処理装置１０は、静止画である１枚の実写画像（静止画フレーム）に画像処理を施すことによって１枚のアルファ画像を生成してもよいし、時間的に連続する複数の実写画像（動画フレーム）のうち少なくとも２枚に画像処理を繰り返し施すことによって複数のアルファ画像を生成してもよい。
【００２１】
カメラ２０−０〜２０−２は、互いに異なる位置（視点）から同一の被写体を撮影するカメラ（多視点カメラ）である。カメラ２０−０〜２０−２は、多視点の実写画像群を画像処理装置１０に出力する。以下では、カメラ２０−０〜２０−２が出力する背景画像同士の撮影時刻は同期している。以下では、予め定められた基準視点から実景を撮影するカメラ（基準カメラ）は、カメラ２０−１である。カメラ２０−０〜２０−２は、被写体を含まない背景を事前に撮影することによって、多視点の背景画像である背景画像群を生成する。カメラ２０−０〜２０−２は、背景画像群を画像処理装置１０及びデータベース３０に出力する。
【００２２】
データベース３０は、記憶装置である。データベース３０は、例えば、磁気ハードディスク装置や半導体記憶装置等の不揮発性の記録媒体（非一時的な記録媒体）を有する。データベース３０は、例えば、多視点の背景画像である背景画像群と、コンピュータを用いて生成された画像のデータ（以下「ＣＧデータ」という。）と、ネットワーク構造を表すデータ（以下「ネットワーク構造データ」という。）と、カメラパラメータとを記憶する。ネットワーク構造データは、ＤＮＮ等のニューラル・ネットワークのネットワーク構造を表すデータである。カメラパラメータは、各カメラ２０の焦点距離を表す内部パラメータと、各カメラ２０の位置及び姿勢を表す外部パラメータとを含む。
【００２３】
データベース３０は、各カメラ２０から背景の所定位置までの距離の最小値及び最大値を記憶してもよい。データベース３０は、カメラ２０−１の撮像面に対して平行な姿勢で奥行き方向に仮想的に配置される複数の仮想平面の位置を記憶してもよい。
【００２４】
被写体は、特に限定されないが、以下では一例として人物である。以下では、ＣＧデータは、複数の姿勢の被写体に関する複数の被写体画像のデータを含む。以下では、ＣＧデータは、複数の異なる照明条件で照明された被写体に関する被写体画像のデータを含む。ＣＧデータは、被写体画像となる人体の３次元形状モデルデータを含む。３次元形状モデルデータは、例えば、３次元形状モデルの表面の頂点座標と、メッシュ連結情報と、テクスチャ情報と、スキニングパラメータと、３次元モデルの物体構造を表す情報（リグ情報：Rig Data）と、被写体の表面における照度や人物に対する照明方向等のデータ（照明データ）を含む。
【００２５】
次に、画像処理装置１０の構成の例を説明する。
画像処理装置１０は、教師画像生成部１１と、実写画像変換部１２と、教師画像変換部１３と、パラメータ算出部１４と、画像生成部１５とを備える。これら各機能部の一部又は全部は、例えば、ＣＰＵ（Central Processing Unit）等のプロセッサが、記憶部に記憶されたプログラムを実行することにより実現されてもよいし、ＬＳＩ（Large Scale Integration）やＡＳＩＣ（Application Specific Integrated Circuit）等のハードウェアを用いて実現されてもよい。
【００２６】
教師画像生成部１１は、背景画像群とＣＧデータとカメラパラメータとを、データベース３０から取得する。背景画像群は、画像生成部１５が取得する実写画像群の視点と同一の視点が撮影されている背景の画像群である。背景画像群は、被写体の背景が多視点で撮影された画像群である。背景画像群は、抽出対象である被写体画像を含まない。
【００２７】
図２は、教師画像生成部１１の入力及び出力の例を示す図である。教師画像生成部１１は、被写体画像における被写体の姿勢、教師画像における位置及び照明等の条件が異なる複数のパターンで、被写体のＣＧデータを生成する。教師画像生成部１１は、被写体のＣＧデータのリグ情報を用いて、ＣＧデータの被写体画像における被写体の姿勢を変更する。教師画像生成部１１は、例えば、棒立ちをしている姿勢や両手を広げている姿勢等に、被写体画像における被写体の姿勢を変更する。教師画像生成部１１は、被写体画像における被写体の姿勢をランダムに変更してもよいし、画像生成部１５が取得する実写画像の被写体画像がとりうる姿勢を網羅して、被写体画像における被写体の姿勢を変更してもよい。被写体画像がとりうる姿勢とは、例えば、両手を広げない状態で両足を開かずに立っている姿勢、両手を広げた状態で両足を開かずに立っている姿勢、両手を広げない状態で両足を開いて立っている姿勢である。
【００２８】
教師画像生成部１１は、被写体画像がレンダリングされるＣＧデータに基づく画像のフレーム４０内のいずれの位置に被写体画像を配置してもよい。例えば、教師画像生成部１１は、ＣＧデータに基づく画像のフレーム４０内に仮定された床面に足をつけて被写体が立てる範囲であって、ＣＧデータに基づく画像のフレーム４０内でレンダリングされる範囲において床面を格子状に区切ることで、床面のいずれかの格子点を被写体画像の位置として選択してもよい。
【００２９】
教師画像生成部１１は、ＣＧデータに基づく画像内の照明条件をランダムに変更してもよいし、画像生成部１５が取得する実写画像の照明条件に類似する照明条件に、ＣＧデータに基づく画像内の照明条件を変更してもよい。教師画像生成部１１は、被写体画像の位置を中心とする半天球面上の各格子点に対応付けられた各照明条件のうちから、照明条件をランダムに選択してもよい。
【００３０】
教師画像生成部１１は、パラメータ算出部１４によってＤＮＮの学習パラメータを定めるために使用される教師画像を、被写体の姿勢、位置及び照明等の条件が異なる複数のパターンについて生成するので、ＤＮＮの学習において必要である数万枚という大量の教師画像を低コストで生成することができる。また、教師画像生成部１１は、被写体の姿勢、位置及び照明が変化しても、大量の教師画像に基づいて、実写画像から被写体画像を高速かつ頑健に抽出することができる。
【００３１】
教師画像生成部１１は、カメラ２０ごとのカメラパラメータに基づいて、多視点の前景画像群をカメラ２０ごとに生成する。教師画像生成部１１は、被写体画像における被写体の姿勢、位置及び照明等の条件が異なるパターンごとにＣＧデータにレンダリング処理を施すことによって、多視点の前景画像群を生成する。前景画像は、色情報（RGB）及びアルファ値（A）を含む４チャネル（RGBA）の画像として生成される。教師画像生成部１１は、前景画像となるＣＧデータにおいて被写体画像をレンダリングし、前景画像の色情報を生成する。
【００３２】
教師画像生成部１１は、前景画像となるＣＧデータにおいて被写体画像をレンダリングし、前景画像のアルファ値を生成する。ＣＧデータに基づく前景画像のアルファ値において、例えば、前景画像において被写体画像がレンダリングされる領域の画素のアルファ値は０（不透明）であり、被写体の影の領域の画素のアルファ値は０より大きく１未満であり、被写体でなく影でもない背景の領域の画素のアルファ値は１（透明）である。被写体の影の領域の画素のアルファ値は、照明の強度に応じて定められてもよいし、例えば０．５のような固定値でもよい。
【００３３】
教師画像生成部１１は、基準カメラであるカメラ２０−１の視点と同一の視点に関して、ＣＧデータにおいて被写体画像がレンダリングされた画素の値が１であり、被写体画像がレンダリングされていない画素の値が０であるアルファ画像（以下「教師アルファ画像」という。）を生成する。したがって、教師アルファ画像は、基準視点と同一の視点に関して、ＣＧデータに基づく前景画像における被写体画像の透明度又は不透明度を表すアルファ画像である。教師アルファ画像群は、被写体画像における被写体の姿勢、教師画像における位置及び照明の条件が異なる被写体画像のアルファ画像群である。
【００３４】
教師画像生成部１１は、取得した背景画像群のうちから、カメラ２０（視点）ごとに１枚の背景画像をランダムに選択する。教師画像生成部１１は、前景画像のアルファ値に基づいて前景画像を背景画像に重畳することによって、多視点の教師画像を生成する。教師画像生成部１１は、多視点の教師画像を生成するので、被写体の姿勢、位置及び照明が変化しても実写画像から被写体画像を高速かつ頑健に抽出することができる。
【００３５】
教師画像生成部１１は、被写体画像における被写体の姿勢、位置及び照明等の条件の変更に関して全てのパターンで、３次元形状モデルのレンダリング処理を実行する。被写体画像における被写体の姿勢、位置及び照明の条件の変更に関する各パターンは、予め定められる。教師画像生成部１１は、多視点の教師画像群と教師アルファ画像群とを、被写体画像における被写体の姿勢、位置及び照明の条件ごとに、パラメータ算出部１４に出力する。
【００３６】
実写画像変換部１２は、カメラパラメータをデータベース３０から取得する。実写画像変換部１２は、多視点の実写画像群をカメラ２０−０〜２０−２から取得する。実写画像変換部１２は、カメラ２０−１から出力された単視点の実写画像における被写体の対応点を表す画素の位置とカメラ２０−０から出力された実写画像における被写体の対応点を表す画素の位置とが同じとなるように、カメラ２０−０から出力された実写画像における画素の位置を補正する。また、実写画像変換部１２は、カメラ２０−１から出力された単視点の実写画像における被写体の対応点を表す画素の位置とカメラ２０−２から出力された実写画像における被写体の対応点を表す画素の位置とが同じとなるように、カメラ２０−２から出力された実写画像における画素の位置を補正する。
【００３７】
すなわち、実写画像変換部１２は、カメラ２０−０及びカメラ２０−２が出力した多視点の実写画像を、基準カメラであるカメラ２０−１から互いに異なる奥行き距離にある複数の仮想平面（奥行き平面）に投影する。実写画像変換部１２は、カメラ２０−０及びカメラ２０−２が出力した多視点の実写画像群を、単視点の実写画像群である実写の投影画像群にカメラパラメータに基づいて変換する。したがって、投影画像とは、カメラ２０の撮像面と平行である仮想平面に仮想的に投影された単視点の画像である。投影画像は、色情報（RGB）及びアルファ値（A）を含む４チャネル（RGBA）の画像である。
【００３８】
図３は、仮想平面の配置の例を示す図である。図３では、カメラ２０−０〜２０−２は、実景を各視点から撮影した実写画像を、実写画像変換部１２に出力する。カメラ２０−１の撮像面に対して平行な姿勢で奥行き方向に仮想的に配置される仮想平面の数は、任意である。例えば、基準カメラと平行に配置された巨大な１個の壁が背景であり、厚みの薄い１個の被写体が前景である場合、投影画像群１００が投影される仮想平面の数は、背景の位置と被写体の位置とに対応する計２枚でもよい。例えば、カメラ２０−１の撮影方向（奥行き方向）に複数の被写体が連続的に分布している場合、投影画像群１００が投影される仮想平面の数は、一例として数百枚でもよい。図３では、仮想平面の数（Ｄ＋１）は、一例として５枚である。
【００３９】
実写画像変換部１２は、奥行き距離の最小値及び最大値を定める。奥行き距離の最小値は、図３における投影画像群１００−０からカメラ２０−１までの距離ｄ（＝０）である。奥行き距離の最大値は、図３における投影画像群１００−４からカメラ２０−１までの距離ｄ（＝４）である。奥行き距離のインデックス番号ｄは、例えば、実写画像における被写体画像の面積（範囲）に基づいて定められる。
【００４０】
図４は、変換前の画像の例を示す図である。実写画像変換部１２は、画素ｐ０を含む実写画像Ｓ０を、カメラ２０−０から取得する。実写画像変換部１２は、画素ｐ１を含む実写画像Ｓ１を、基準カメラであるカメラ２０−１から取得する。実写画像変換部１２は、画素ｐ２を含む実写画像Ｓ２を、カメラ２０−２から取得する。画素ｐ０と画素ｐ１と画素ｐ２とは、実空間における同一の位置（視点）を表す画素である。
【００４１】
以下では、画素ｐ０の画素値は、Ｓ０（ｐ０）と表記される。画素ｐ１の画素値は、Ｓ１（ｐ１）と表記される。以下では、画素ｐ２の画素値は、Ｓ２（ｐ２）と表記される。実写画像変換部１２は、多視点の実写画像群のうちから、同一時刻に撮影された実写画像群を選択する。
【００４２】
図５は、変換後の画像の例を示す図である。実写画像変換部１２は、選択された実写画像群の全ての画素をカメラ２０ごとに各仮想平面に投影することによって、図３におけるカメラ２０−０〜２０−２の多視点の実写画像を投影画像群１００−０〜１００−４にそれぞれ変換する。投影画像群１００−０〜１００−４の生成の手順は同様であるため、一例として、カメラ２０−１から距離ｄ（＝３）の位置に仮想的に配置されている仮想平面の投影画像群１００−３を生成する手順を説明する。
【００４３】
以下では、基準カメラからの距離ｄの仮想平面にカメラ２０−ｎ（ｎは０〜Ｎまでのいずれかの整数）が撮影した実写画像が仮想的に投影された結果である投影画像は、Ｉｄ，ｎと表記される。以下では、基準カメラであるカメラ２０−１の実写画像Ｓ１の一つの画素の画像座標ベクトルは、ｐ１と表記される。以下では、実写画像Ｓ１の画像座標ベクトルｐ１の画素値は、Ｓ１（ｐ１）と表記される。
【００４４】
いずれの仮想平面もカメラ２０−１に正対しているので、投影画像Ｉｄ，１の画像座標ベクトルｑは、画像座標ベクトルｐ１と等しい。したがって、式（１）が成立する。
【００４５】
Ｉｄ，１（ｑ）＝Ｓ１（ｐ１）  …（１）
【００４６】
投影画像群１００−３において、カメラ２０−０が撮影した実写画像に基づく投影画像Ｉ３，０の画素値Ｉ３，０（ｑ）は、式（２）及び式（３）で表される。
【００４７】
Ｉ３，０（ｑ）＝Ｓ０（ｐ０）  …（２）
ｐ０＝Ｐ３，０（ｑ）  …（３）
【００４８】
投影画像群１００−３において、カメラ２０−２が撮影した実写画像に基づく投影画像Ｉ３，２の画素値Ｉ３，２（ｑ）は、式（４）及び式（５）で表される。
【００４９】
Ｉ３，２（ｑ）＝Ｓ０（ｐ２）  …（４）
ｐ２＝Ｐ３，２（ｑ）  …（５）
【００５０】
式（３）及び式（５）において、投影マッピングの関数は、奥行き距離のインデックス番号ｄと、投影された実写画像を撮影したカメラ２０の識別番号ｃとを用いて、Ｐｄ，ｃと表記される。カメラ２０の識別番号ｃは、カメラ２０−ｎの符号ｎと等しい。
【００５１】
投影マッピングの関数Ｐｄ，ｃは、識別番号ｃが割り当てられたカメラ２０−ｎのカメラパラメータと、奥行き距離を表す関数Ｆ（ｄ）とに基づいて定められる。奥行き距離を表す関数Ｆは、特定の関数に限定されない。例えば、奥行き距離を表す関数Ｆは、カメラ２０からの距離が長い仮想平面ほど仮想平面同士の間隔が疎になるほうが、ＤＮＮの学習パラメータを効率的に算出できるので、例えば、式（６）のように表される。式（６）において、ａ及びｂは、任意の定数であり、奥行き距離のインデックス番号ｄに応じて定められる。
【００５２】
Ｆ＝ａ／（ｄ＋ｂ）  …（６）
【００５３】
なお、投影マッピングの関数Ｐｄ，ｃは、アフィン変換の関数でもよい。
【００５４】
実写画像変換部１２は、カメラ２０−０〜２０−２が撮影した実写画像に基づく投影画像Ｉｄ，ｃを、全ての仮想平面について算出する。実写画像変換部１２は、実写画像に基づいて算出された投影画像Ｉｄ，ｃを、画像生成部１５に出力する。投影画像Ｉｄ，ｃのうち、投影画像Ｉｄ，０の一部の画素がカメラ２０−０の画角外であり、投影画像Ｉｄ，２の一部の画素がカメラ２０−２の画角外であるため、投影画像Ｉｄ，０及び投影画像Ｉｄ，２の一部の画素の画素値は不定である。画素値が不定である画素のアルファ値は、透明を表す１である。画素値が不定でない画素のアルファ値は、不透明を表す０である。
【００５５】
教師画像変換部１３は、多視点の教師画像群とカメラパラメータとを、教師画像生成部１１から取得する。教師画像変換部１３は、教師画像変換部１３から取得された教師画像に基づく投影画像Ｉｄ，ｃを、実写画像変換部１２の処理と同様に、全ての仮想平面について算出する。教師画像変換部１３は、教師画像に基づいて算出された投影画像Ｉｄ，ｃである教師投影画像群を、パラメータ算出部１４に出力する。
【００５６】
パラメータ算出部１４は、ネットワーク構造データをデータベース３０から取得する。パラメータ算出部１４は、ネットワーク構造データによって構造が表されるＤＮＮを有する。パラメータ算出部１４は、教師アルファ画像群を教師画像生成部１１から取得する。パラメータ算出部１４は、教師投影画像群を教師画像変換部１３から取得する。ＤＮＮである学習済みネットワークの入力層に教師投影画像群を入力することによって、ＤＮＮの学習パラメータを算出する。
【００５７】
図６は、学習パラメータの算出の例を示す図である。ネットワーク構造データは、例えば、畳込層の順序と、畳込層の総数と、カーネル数と、チャネル数と、プーリング層の有無と、活性化関数の種類と、ロス関数の定義等とを含む。ＤＮＮのネットワーク構造は、図６に示された構造でもよいし、例えば、畳込層の総数が変更されてもよい。なお、図６では、画像サイズを調整するための層であるゼロ・パディング層（Zero Padding layer）の記載は、省略されている。
【００５８】
図６では、ＤＮＮは、一例として、投影画像群１００の入力層１０１と、投影画像群１００の畳込層１０２〜１０５と、畳込層２００〜４００と、出力層５００とを備える。入力層１０１は、教師投影画像の解像度と同一の解像度の３チャネル（RGB）を、カメラ２０の数（Ｎ＋１）と仮想平面の数（Ｄ＋１）との積の数だけ積み重ねた層である。畳込層１０２〜１０５と畳込層２００〜４００とは、ＤＮＮにおける畳み込みと同義であり、畳み込み演算と活性化関数とを併用している層である。出力層５００は、各教師投影画像の解像度と同一の解像度の１チャネル（アルファ値）のアルファ画像を出力する。
【００５９】
パラメータ算出部１４は、カメラ２０（視点）の数と仮想平面の数との積の数に等しい枚数の教師投影画像を、入力層１０１に入力する。パラメータ算出部１４は、中間層である畳込層を連結していくことにより、幾何制約がかけられた教師投影画像を入力層１０１に入力することができる。これにより、中間層においてＤＮＮが幾何制約を改めて学習する必要がないので、パラメータ算出部１４は、より効率的に学習パラメータを算出することができる。
【００６０】
パラメータ算出部１４は、学習パラメータが更新されていないＤＮＮの入力層１０１に教師投影画像群を入力し教師投影画像のアルファ画像を出力層５００から得るという条件で、ＤＮＮの学習パラメータを算出する。パラメータ算出部１４は、ＤＮＮの学習パラメータを算出する場合、ＤＮＮの一般的な学習方法を用いてよいが、例えば、ＤＮＮの各畳込層の学習パラメータの算出には誤差逆伝搬法を用いてもよい。
【００６１】
パラメータ算出部１４は、教師投影画像及び教師アルファ画像の全ての対について、学習パラメータを算出する。パラメータ算出部１４は、算出された学習パラメータとネットワーク構造データとを、画像生成部１５に出力する。
【００６２】
画像生成部１５は、多視点の実写画像群から変換された投影画像群である実写投影画像群を、実写画像変換部１２から取得する。画像生成部１５は、算出された学習パラメータと、ネットワーク構造データとを、パラメータ算出部１４から取得する。すなわち、画像生成部１５は、学習済みネットワークのデータを、パラメータ算出部１４から取得する。
【００６３】
画像生成部１５は、基準カメラであるカメラ２０−１が撮影した実写画像のアルファ画像を、カメラ２０−１が撮影した実写画像と学習済みネットワークとを用いて生成する。すなわち、画像生成部１５は、ＤＮＮである学習済みネットワークの入力層に実写投影画像群を入力することによって、学習済みネットワークの出力層の出力値として、実写画像に基づく投影画像である実写投影画像群のアルファ画像を得る。
【００６４】
次に、画像処理装置１０の動作の例を説明する。
図７は、教師画像生成部１１の動作の例を示すフローチャートである。教師画像生成部１１は、被写体のＣＧデータと、背景画像群と、カメラパラメータとを取得する（ステップＳ１０１）。教師画像生成部１１は、前景画像における被写体画像における被写体の姿勢、位置及び照明等の条件を変更する（ステップＳ１０２）。教師画像生成部１１は、背景画像をカメラ２０ごとに選択する（ステップＳ１０３）。
【００６５】
教師画像生成部１１は、前景画像となるＣＧデータにおいて被写体画像をレンダリングすることによって、前景画像の色情報を生成する（ステップＳ１０４）。教師画像生成部１１は、前景画像となるＣＧデータにおいて被写体画像をレンダリングした結果に基づいて、前景画像のアルファ値を生成する（ステップＳ１０５）。教師画像生成部１１は、条件の全てのバリエーションに関してレンダリングが完了したか否かを判定する（ステップＳ１０６）。
【００６６】
いずれかの条件に関してレンダリングが完了していない場合（ステップＳ１０６：ＮＯ）、教師画像生成部１１は、ステップＳ１０２に処理を戻す。条件の全てのバリエーションに関してレンダリングが完了した場合（ステップＳ１０６：ＹＥＳ）、教師画像生成部１１は、前景画像の色情報及びアルファ値を含む教師アルファ画像群とカメラパラメータとを、教師画像変換部１３に出力する。教師画像生成部１１は、教師画像群をパラメータ算出部１４に出力する（ステップＳ１０７）。教師画像生成部１１は、処理を終了する。
【００６７】
図８は、実写画像変換部１２の動作の例を示すフローチャートである。実写画像変換部１２は、実写画像群とカメラパラメータとを、カメラ２０ごとに取得する（ステップＳ２０１）。実写画像変換部１２は、奥行き距離の最小値及び最大値を、データベース３０から取得する（ステップＳ２０２）。実写画像変換部１２は、１枚の実写画像を実写画像群から選択する（ステップＳ２０３）。実写画像変換部１２は、実写画像の全ての画素を、予め定められた全ての仮想平面にそれぞれ投影する（ステップＳ２０４）。
【００６８】
実写画像変換部１２は、仮想平面ごとの実写投影画像を、カメラ２０ごとに画像生成部１５に出力する（ステップＳ２０５）。実写画像変換部１２は、全ての実写画像に関して処理が完了したか否かを判定する（ステップＳ２０６）。いずれかの実写画像に関して処理が完了していない場合（ステップＳ２０６：ＮＯ）、実写画像変換部１２は、ステップＳ２０３に処理を戻す。全ての実写画像に関して処理が完了している場合（ステップＳ２０６：ＹＥＳ）、実写画像変換部１２は、処理を終了する。
【００６９】
図９は、教師画像変換部１３の動作の例を示すフローチャートである。教師画像変換部１３は、教師画像群とカメラパラメータとを、カメラ２０ごとに取得する（ステップＳ３０１）。教師画像変換部１３は、奥行き距離の最小値及び最大値を、データベース３０から取得する（ステップＳ３０２）。教師画像変換部１３は、１枚の教師画像を教師画像群から選択する（ステップＳ３０３）。教師画像変換部１３は、教師画像の全ての画素を、予め定められた全ての仮想平面にそれぞれ投影する（ステップＳ３０４）。
【００７０】
教師画像変換部１３は、仮想平面ごとの教師投影画像を、カメラ２０ごとにパラメータ算出部１４に出力する（ステップＳ３０５）。教師画像変換部１３は、全ての教師画像に関して処理が完了したか否かを判定する（ステップＳ３０６）。いずれかの教師画像に関して処理が完了していない場合（ステップＳ３０６：ＮＯ）、教師画像変換部１３は、ステップＳ２０３に処理を戻す。全ての教師画像に関して処理が完了している場合（ステップＳ３０６：ＹＥＳ）、教師画像変換部１３は、処理を終了する。
【００７１】
図１０は、パラメータ算出部１４の動作の例を示すフローチャートである。パラメータ算出部１４は、教師投影画像群を教師画像変換部１３から取得する。パラメータ算出部１４は、教師アルファ画像群を教師画像生成部１１から取得する。パラメータ算出部１４は、ＤＮＮのネットワーク構造データを、データベース３０から取得する（ステップＳ４０１）。
【００７２】
パラメータ算出部１４は、教師投影画像群から教師投影画像を選択する。パラメータ算出部１４は、選択された教師投影画像をＤＮＮの入力層に入力する（ステップＳ４０２）。パラメータ算出部１４は、選択された教師アルファ画像をＤＮＮの出力層から得ると定める（ステップＳ４０３）。パラメータ算出部１４は、ＤＮＮの学習パラメータを、ＤＮＮの畳込層ごとに算出する（ステップＳ４０４）。
【００７３】
パラメータ算出部１４は、予め定められた全ての教師投影画像に関して処理が完了したか否かを判定する（ステップＳ４０５）。いずれかの教師投影画像に関して処理が完了していない場合（ステップＳ４０５：ＮＯ）、パラメータ算出部１４は、ステップＳ４０２に処理を戻す。全ての教師投影画像に関して処理が完了した場合（ステップＳ４０５：ＹＥＳ）、パラメータ算出部１４は、算出された学習パラメータを、画像生成部１５に出力する（ステップＳ４０６）。
【００７４】
図１１は、画像生成部１５の動作の例を示すフローチャートである。画像生成部１５は、実写投影画像群を実写画像変換部１２から取得する。画像生成部１５は、ＤＮＮの畳込層ごとに算出された学習パラメータをパラメータ算出部１４から取得する（ステップＳ５０１）。画像生成部１５は、算出された学習パラメータに基づいて、学習済みネットワークの出力層の出力値として、実写投影画像のアルファ画像を投影画像群について生成する（ステップＳ５０２）。
【００７５】
以上のように、実施形態の画像処理装置１０は、教師画像生成部１１と、実写画像変換部１２と、教師画像変換部１３と、パラメータ算出部１４と、画像生成部１５とを備える。教師画像生成部１１は、多視点のコンピュータ・グラフィックスによる被写体画像のアルファ画像である多視点の教師アルファ画像群と、多視点の被写体画像及び背景画像を含む画像である教師画像群とを生成する。教師画像変換部１３は、多視点の教師画像群を単視点の教師画像群（教師投影画像群）に変換する。教師画像群は、実写された背景の画像である背景画像にコンピュータ・グラフィックスによる被写体画像が重畳された画像群である。パラメータ算出部１４は、単視点の教師画像群をニューラル・ネットワークの入力とし、多視点の教師アルファ画像群をニューラル・ネットワークの出力として、ＤＮＮ等のニューラル・ネットワークの学習パラメータを算出する。実写画像変換部１２は、多視点の実写画像群を単視点の実写画像群（実写投影画像群）に変換する。画像生成部１５は、学習パラメータが定められたニューラル・ネットワークに単視点の実写画像群を入力し、ニューラル・ネットワークの出力である多視点のアルファ画像群を生成する。
【００７６】
これによって、実施形態の画像処理装置１０は、被写体の背景が変化する場合に実写画像から被写体画像を頑健に抽出するためのアルファ画像を低コストで生成することが可能である。
【００７７】
実施形態の画像処理装置１０は、コンピュータ・グラフィックスによって意図的に条件を変えて被写体画像をレンダリングした多視点のＣＧデータを、事前に撮影した多視点の背景画像群に重畳する。実施形態の画像処理装置１０は、重畳によって得られた多視点の教師画像を教師投影画像群に変換する。実施形態の画像処理装置１０は、教師投影画像群をＤＮＮの教師画像として生成するので、教師画像の作成コストを削減することができる。実施形態の画像処理装置１０は、ＤＮＮの教師画像を大量に生成するので、被写体の背景が変化したとしても頑健に被写体画像を抽出することができる。
【００７８】
実施形態の画像処理装置１０は、ＣＧデータである被写体画像をそれぞれ含む教師アルファ画像群を生成するので、教師画像を簡単かつ大量に用意することができる。実施形態の画像処理装置１０は、ＣＧデータに基づく画像のフレーム内で照明を意図的に操作し、レンダリング処理によって教師アルファ画像を生成するので、被写体の影の領域を被写体の陰でないとして誤検出する確率を低下させることができる。
【００７９】
実施形態の画像処理装置１０は、撮影会場で事前に撮影した実写の背景画像に被写体画像を重畳することによって、教師画像を生成する。これによって、実施形態の画像処理装置１０は、撮影会場に特化した学習をパラメータ算出部１４（ＤＮＮ）が実行することができるので、被写体の背景が変化したとしても頑健に被写体画像を抽出することができる。
【００８０】
上述した実施形態における画像処理装置の少なくとも一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、ＦＰＧＡ（Field Programmable Gate Array）等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【００８１】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【００８２】
本発明は、静止画又は動画である実写画像から被写体画像を抽出するためのアルファ画像を生成する画像処理装置に適用可能である。
【符号の説明】
【００８３】
１…画像処理システム、１０…画像処理装置、１１…教師画像生成部、１２…実写画像変換部、１３…教師画像変換部、１４…パラメータ算出部、１５…画像生成部、２０…カメラ、３０…データベース、４０…フレーム、１００…投影画像群、１０１…入力層、１０２…畳込層、１０３…畳込層、１０４…畳込層、１０５…畳込層、２００…畳込層、３００…畳込層、４００…畳込層、５００…出力層
【図１】
2018169690.tif 000003
【図２】
2018169690.tif 000004
【図３】
2018169690.tif 000005
【図４】
2018169690.tif 000006
【図５】
2018169690.tif 000007
【図６】
2018169690.tif 000008
【図７】
2018169690.tif 000009
【図８】
2018169690.tif 000010
【図９】
2018169690.tif 000011
【図１０】
2018169690.tif 000012
【図１１】
2018169690.tif 000013