JP2019016230A - 学習装置、画像合成装置、学習方法、画像合成方法、及びプログラム - Google Patents
学習装置、画像合成装置、学習方法、画像合成方法、及びプログラム Download PDFInfo
- Publication number
- JP2019016230A JP2019016230A JP2017134024A JP2017134024A JP2019016230A JP 2019016230 A JP2019016230 A JP 2019016230A JP 2017134024 A JP2017134024 A JP 2017134024A JP 2017134024 A JP2017134024 A JP 2017134024A JP 2019016230 A JP2019016230 A JP 2019016230A
- Authority
- JP
- Japan
- Prior art keywords
- image
- image data
- learning
- projection
- viewpoint position
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
【課題】より少ない教師データと学習時間で学習処理を行い、学習処理によって得られた学習済みデータにより高品質な任意視点画像を合成すること。
【解決手段】学習用合成視点位置と、参照視点位置とを含む複数の視点位置から撮像した複数の画像データを取得し、取得した画像データに基づいて、画像データ間において対応する位置関係にある画像対応点を検出し、検出した画像対応点の三次元座標情報と、視点位置ごとのカメラパラメータとを算出し、算出した情報により参照視点位置において撮像された画像データを、学習用合成視点位置の視点方向に位置し学習用合成視点位置において撮影される画像の画像平面と平行である投影平面に投影することにより投影画像データを生成し、投影画像データを入力データとし、学習用合成視点位置で撮像された画像データを教師データとして学習処理を行うことによって学習済みデータを生成する。
【選択図】図1
【解決手段】学習用合成視点位置と、参照視点位置とを含む複数の視点位置から撮像した複数の画像データを取得し、取得した画像データに基づいて、画像データ間において対応する位置関係にある画像対応点を検出し、検出した画像対応点の三次元座標情報と、視点位置ごとのカメラパラメータとを算出し、算出した情報により参照視点位置において撮像された画像データを、学習用合成視点位置の視点方向に位置し学習用合成視点位置において撮影される画像の画像平面と平行である投影平面に投影することにより投影画像データを生成し、投影画像データを入力データとし、学習用合成視点位置で撮像された画像データを教師データとして学習処理を行うことによって学習済みデータを生成する。
【選択図】図1
Description
本発明は、学習装置、画像合成装置、学習方法、画像合成方法、及びプログラムに関する。
複数の視点から撮影した画像を入力画像として、撮影していない視点の画像を合成することを自由視点映像合成といい、古くから盛んに研究開発が進められている。例えば、視聴者が自由に視点を操作して任意の視点から視聴できる自由視点映像コンテンツを生成する技術や、スポーツ中継のリプレイ映像をより魅力的なアングルの映像に変換する映像編集技術などが研究開発されている。自由視点映像合成の技術は、様々なアプリケーションへの応用が期待されている。
しかし、現在の自由視点映像合成技術では、現状のテレビ映像と同等の映像品質で合成するために、膨大な数のカメラの設置と計算機リソースが求められるため、実用化に至っておらず、現在も合成アルゴリズムの改良が求められている。自由視点映像を合成する手法はステレオカメラなど複数台のカメラ映像から推定する手法と、デプスセンサ・レーザセンサを併用する手法の2つに大別することができる。
複数台のカメラを用いる前者の手法の場合、カメラパラメータと呼ばれるカメラの位置、姿勢およびカメラの焦点距離などを利用し、各カメラの画像間の対応関係の推定からシーンのデプス画像を推定する(例えば、非特許文献1参照)。これに対して、デプスセンサなどを用いる後者の手法の場合、被写体に対し非可視光である近赤外線などを高周波に照射し、その反射波との位相差信号からデプス画像を推定する(例えば、非特許文献2参照)。
上記のいずれの手法においても、デプス画像を推定することにより被写体の三次元形状を観測し、それを任意の視点に投影することで画像を合成しているため、デプス画像の品質が、ダイレクトに合成画像品質に影響する。そのため、より精度の高いデプス画像を求めることが必要となる。
これに対して、明にデプス画像を推定せずに、多視点画像から直接的に画像を合成しようとする手法も提案されている(例えば、非特許文献3参照)。この手法ではデプス画像を明には推定せずに、画像対応の推定を利用し、画像補間を行うことで任意視点の画像を合成している。例えば、画像中の空や壁等の均一な輝度をもつ広い領域では、画素毎に明に正しいデプスを推定することが難しく、この画像補間による手法を適用することで、このような領域であっても比較的高品質に任意視点画像を合成することができる。
Andreas Klaus, Mario Sormann and Konrad Karner, "Segment-Based Stereo Matching Using Belief Propagation and a Self-Adapting Dissimilarity Measure", 18th International Conference on Pattern Recognition (ICPR'06). Vol. 3. IEEE, 2006.
Zhengyou Zhang, "Microsoft Kinect Sensor and Its Effect", IEEE multimedia 19.2 (2012): 4-10.
Shenchang Eric Chen, Lance Williams, "View Interpolation for Image Synthesis", Proceedings of the 20th annual conference on Computer graphics and interactive techniques. ACM, 1993.
非特許文献3に示される手法等の多くの画像合成手法では、任意視点画像を合成するために、合成したい視点の近傍で撮影された複数の多視点画像のみを入力画像としている。そのため、オクルージョンや反射情報等、入力される多視点画像に含まれる情報だけからでは、推定できない情報の復元が必要となってしまう。
情報量の不足分を補うため、上記の複数の多視点画像に併せて、過去に撮られた多視点画像や、CG(Computer Graphics)で生成される多視点画像などを利用して情報量を増やすことも考えられる。例えば、このようにして情報量を増やした情報を教師データとして、DNN(Deep Neural Network)に与えて学習処理を行うことで、より高品質な任意視点画像を合成するといったことも考えられる。
しかしながら、多視点画像を入力層に与えて出力層から任意視点画像を出力する単純なFully Convolutional Networkでは、中間層において、画像合成の本質的な構成だけでなく、各カメラの視点位置等のカメラの幾何関係も学習する必要がある。そのため、膨大な教師データと学習時間が必要となるため、現実的に実現することが難しいという問題がある。
上記事情に鑑み、本発明は、より少ない教師データと、より短い学習時間の学習処理とで、より高品質な任意視点画像を合成することができる技術の提供を目的としている。
本発明の一態様は、学習用に予め定められる学習用合成視点位置と、予め定められる参照視点位置とを含む複数の視点位置から撮像した複数の画像データを取得し、取得した前記画像データに基づいて、前記画像データ間において対応する位置関係にある画像対応点を検出し、検出した前記画像対応点の三次元座標情報と、前記視点位置ごとのカメラパラメータとを算出する事前処理部と、前記画像対応点の三次元座標情報と、前記カメラパラメータとに基づいて、前記参照視点位置において撮像された前記画像データを、前記学習用合成視点位置の視点方向に位置する投影平面であって前記学習用合成視点位置において撮影される画像の画像平面と平行である投影平面に投影することにより投影画像データを生成する投影画像生成部と、前記投影画像データを入力データとし、前記学習用合成視点位置で撮像された前記画像データを教師データとしてディープニューラルネットワークに与えて学習処理を行うことによって学習済みデータを生成する学習処理部と、を備える学習装置である。
本発明の一態様は、上記の学習装置であって、前記投影画像生成部は、前記学習用合成視点位置のカメラパラメータに基づいて、前記画像対応点の三次元座標情報を前記学習用合成視点位置における前記画像平面に投影し、前記画像平面を予め定められる大きさの領域に分割し、分割した前記領域の各々に対して、前記領域を含む前記領域より広い第1の参照領域を設け、前記第1の参照領域ごとに奥行き探索範囲を定め、定めた前記奥行き探索範囲内に前記投影平面を設け、設けた前記投影平面に対して前記参照視点位置において撮像される前記画像データを変換し、前記投影平面に変換された前記画像データを前記第1の参照領域に投影することにより、前記領域ごとに前記第1の参照領域の大きさを有する前記投影画像データを生成する。
本発明の一態様は、上記の学習装置であって、前記投影画像生成部は、第1の参照領域ごとに、当該第1の参照領域に対応する前記奥行き探索範囲内で、前記学習用合成視点位置の視点方向に予め定められる数の投影平面を設け、前記学習処理部は、ディープニューラルネットワークを用いて学習処理を行い、前記ディープニューラルネットワークは、同一構成である第1のネットワークと第2のネットワークと、前記第1のネットワークに接続する追加中間層と、前記第2のネットワークと前記追加中間層とに接続するイメージング層と、前記イメージング層に接続する出力層とを備え、前記第1のネットワークと第2のネットワークの各々は、前記投影平面の数に応じたサブネットワークを有しており、前記サブネットワークの各々が、前記参照視点位置の数の入力層を有しており、前記第1のネットワークと第2のネットワークの各々は、前記参照視点位置の数に前記投影平面の数を乗じた枚数の前記領域ごとの前記投影画像データの各々を、前記枚数と同数の前記入力層により取り込み、前記サブネットワークの各々が前記投影画像データに対して畳み込み演算を行い、前記サブネットワークの出力情報を結合して得られる前記第1の参照領域と同一の大きさの画像データであって前記投影平面の枚数分の画像データを出力し、前記追加中間層は、前記第1のネットワークが出力する前記投影平面の枚数と同数の前記画像データに対して畳み込み演算を行い前記画像データに含まれる画素に関する出力情報を出力し、前記イメージング層は、前記第2のネットワークが出力する前記画像データと、前記追加中間層の前記出力情報とに基づいて新たに画像データを合成し前記出力層を通じて前記新たな画像データを出力画像データとして出力し、前記学習処理部は、前記出力層から出力される前記領域の各々に対応する前記出力画像データと、前記教師データとして与えられる前記学習用合成視点位置で撮像された前記画像データのうち前記出力画像データに対応する部分の画像データとに基づいて、前記ディープニューラルネットワークに適用される重み係数の更新値の算出を行うことにより前記学習済みデータを生成する。
本発明の一態様は、上記の学習装置であって、前記投影画像生成部は、前記画像平面を予め定められる大きさの領域に分割して得られる第1の参照領域を設けた場合には、前記第1の参照領域に投影されている前記画像対応点のZ方向の成分の値であるデプス値の最大値と最小値に基づいて、前記第1の参照領域ごとの前記奥行き探索範囲を定め、前記画像平面全体を分割しない場合には、前記画像平面全体を含む第2の参照領域を設定し、設定した前記第2の参照領域に投影されている前記画像対応点のZ方向の成分の値であるデプス値の最大値と最小値に基づいて、前記第2の参照領域ごとの前記奥行き探索範囲を定める。
本発明の一態様は、予め定められる複数の参照視点位置から撮像した複数の画像データを取得し、取得した前記画像データに基づいて、前記画像データ間において対応する位置関係にある画像対応点を検出し、検出した前記画像対応点の三次元座標情報と、前記参照視点位置ごとのカメラパラメータとを算出する事前処理部と、任意に定められる任意合成視点位置のカメラパラメータを取得し、前記事前処理部が算出する前記画像対応点の三次元座標情報と、前記参照視点位置ごとのカメラパラメータと、前記任意合成視点位置のカメラパラメータとに基づいて、前記参照視点位置において撮像された前記画像データを、前記任意合成視点位置の視点方向に位置する投影平面であって前記任意合成視点位置の画像平面と平行である投影平面に投影して投影画像データを生成する投影画像生成部と、上記の学習装置が生成した学習済みデータを取り込み、前記学習装置のディープニューラルネットワークと同一の前記ディープニューラルネットワークに取り込んだ前記学習済みデータを適用し、前記学習済みデータを適用した前記ディープニューラルネットワークに対して、前記投影画像生成部が生成する前記投影画像データを入力データとして与え、前記任意合成視点位置において合成した画像データを出力する画像合成部と、を備える画像合成装置である。
本発明の一態様は、学習用に予め定められる学習用合成視点位置と、予め定められる参照視点位置とを含む複数の視点位置から撮像した複数の画像データを取得し、取得した前記画像データに基づいて、前記画像データ間において対応する位置関係にある画像対応点を検出し、検出した前記画像対応点の三次元座標情報と、前記視点位置ごとのカメラパラメータとを算出する事前処理ステップと、前記画像対応点の三次元座標情報と、前記カメラパラメータとに基づいて、前記参照視点位置において撮像された前記画像データを、前記学習用合成視点位置の視点方向に位置する投影平面であって前記学習用合成視点位置において撮影される画像の画像平面と平行である投影平面に投影することにより投影画像データを生成する投影画像生成ステップと、前記投影画像データを入力データとし、前記学習用合成視点位置で撮像された前記画像データを教師データとしてディープニューラルネットワークに与えて学習処理を行うことによって学習済みデータを生成する学習処理ステップと、を有する学習方法である。
本発明の一態様は、予め定められる複数の参照視点位置から撮像した複数の画像データを取得し、取得した前記画像データに基づいて、前記画像データ間において対応する位置関係にある画像対応点を検出し、検出した前記画像対応点の三次元座標情報と、前記参照視点位置ごとのカメラパラメータとを算出する事前処理ステップと、任意に定められる任意合成視点位置のカメラパラメータを取得し、前記事前処理部が算出する前記画像対応点の三次元座標情報と、前記参照視点位置ごとのカメラパラメータと、前記任意合成視点位置のカメラパラメータとに基づいて、前記参照視点位置において撮像された前記画像データを、前記任意合成視点位置の視点方向に位置する投影平面であって前記任意合成視点位置の画像平面と平行である投影平面に投影して投影画像データを生成する投影画像生成ステップと、上記の学習装置が生成した学習済みデータを取り込み、前記学習装置のディープニューラルネットワークと同一の前記ディープニューラルネットワークに取り込んだ前記学習済みデータを適用し、前記学習済みデータを適用した前記ディープニューラルネットワークに対して、前記投影画像生成部が生成する前記投影画像データを入力データとして与え、前記任意合成視点位置において合成した画像データを出力する画像合成ステップと、を有する画像合成方法である。
また、本発明の一態様は、上記の学習装置、または上記の画像合成装置をコンピュータに実現させるためのプログラムである。
本発明により、より少ない教師データと、より短い学習時間の学習処理とで、より高品質な任意視点画像を合成することが可能となる。
以下、本発明の一実施形態について図面を参照して説明する。本実施形態は、学習段階の構成と、画像合成段階の構成の2つの構成を含んでおり、最初に、図1に示す学習装置1に基づく学習段階の構成について説明する。その後、図9に示す画像合成装置1aが、学習装置1が生成した学習済みデータ115を用いて画像データを合成する画像合成段階の構成について説明する。
(学習段階の構成について)
図1は、本実施形態による学習装置1の構成を示すブロック図である。学習装置1は、事前処理部10、投影画像生成部20、及び学習処理部30を備える。事前処理部10は、画像データ取得部11、画像対応点検出部12、カメラパラメータ・三次元座標算出部13、及び記憶部14を備える。
図1は、本実施形態による学習装置1の構成を示すブロック図である。学習装置1は、事前処理部10、投影画像生成部20、及び学習処理部30を備える。事前処理部10は、画像データ取得部11、画像対応点検出部12、カメラパラメータ・三次元座標算出部13、及び記憶部14を備える。
事前処理部10において、画像データ取得部11は、図2に示されるように、外部から与えられる参照視点画像データ群101と、学習用合成視点画像データ102とを取り込む。参照視点画像データ群101は、予め定められる複数の参照視点位置においてカメラ等の撮像装置により撮影された複数の画像データである。学習用合成視点画像データ102は、予め定められる学習用の合成視点位置において撮像装置により撮影された1つの画像データである。
ここで、合成視点位置と参照視点位置の関係について説明する。複数の異なる参照視点位置から共通する被写体を撮影した画像データに基づいて、任意に定める視点位置から参照する際の画像データを合成する場合、当該任意に定める視点位置のことを合成視点位置という。本実施形態では、学習段階において学習用に予め定められる合成視点位置を学習用合成視点位置といい、これに対して、画像合成段階において任意に定める合成視点位置を任意合成視点位置という。
学習用合成視点位置と、任意合成視点位置の違いは、学習段階では、教師データとして与える正確な画像データが必要となる。そのため、学習用合成視点位置は、複数の参照視点位置の近傍の位置に定められ、参照視点位置から撮影した被写体と同一の被写体が、学習用合成視点位置から同じ時間帯に実際に撮影される。学習用合成視点位置において、撮影された画像データが学習用合成視点画像データ102として事前処理部10に与えられる。これに対して、画像合成段階では、参照視点の画像データに基づいて任意合成視点位置における画像データを合成するため、任意合成視点位置では、画像データの撮影は行われないという違いがある。
画像対応点検出部12は、画像データ取得部11が取り込んだ複数の画像データから画像特徴点を検出する。ここで、画像特徴点としては、例えば、SIFTやHarrisの画像特徴点が適用されるが、これらに限られるわけではなく、他の画像特徴点が適用されてもよい。また、画像対応点検出部12は、検出した画像特徴点に基づいて、画像データ間での二次元の対応関係を算出して画像対応点の検出を行う。例えば、異なる画像データの各々に異なる角度から撮影した共通する被写体が示されている場合、当該被写体の画像間における同一またはほぼ同一の画像特徴を示す画像特徴点の位置が、各々の画像データにおける画像対応点となる。
カメラパラメータ・三次元座標算出部13は、画像対応点検出部12が検出した画像対応点に基づいて、画像対応点の三次元復元を行い、図2に示すように、画像対応点の三次元座標情報103と、視点位置の各々に対応するカメラパラメータとを算出する。カメラパラメータには、参照視点ごとのカメラパラメータ104と、学習用合成視点のカメラパラメータ105とが含まれる。算出方法としては、例えば、Bundle Adjustmentによる手法や因子分解法が適用されるが、これら以外の一般に広く知られた手法が適用されてもよい。
記憶部14は、画像データ取得部11が取り込んだ参照視点画像データ群101及び学習用合成視点画像データ102と、カメラパラメータ・三次元座標算出部13が算出した画像対応点の三次元座標情報103、参照視点群のカメラパラメータ104、及び学習用合成視点のカメラパラメータ105とを記憶する。
投影画像生成部20は、画像対応点投影処理部21、座標情報記憶部22、投影平面選定部23、参照視点画像投影処理部24、及び投影画像記憶部25を備える。投影画像生成部20において、画像対応点投影処理部21は、事前処理部10の記憶部14に記憶されている画像対応点の三次元座標情報103と、学習用合成視点のカメラパラメータ105とに基づいて、画像対応点を学習用合成視点の画像平面に投影する。ここで、投影とは、例えば、透視投影変換として広く知られた投影手法による投影である。
座標情報記憶部22は、画像対応点投影処理部21によって学習用合成視点の画像平面に投影された画像対応点の三次元座標情報を記憶する。投影平面選定部23は、座標情報記憶部22に記憶されている学習用合成視点の画像平面に投影された画像対応点の三次元座標情報に基づいて、学習用合成視点位置の視点方向に位置する投影平面であって合成視点の画像平面と平行な投影平面を選定する。
参照視点画像投影処理部24は、事前処理部10の記憶部14に記憶されている参照視点ごとのカメラパラメータ104及び学習用合成視点のカメラパラメータ105に基づいて、参照視点画像データ群101を投影平面選定部23が選定した投影平面に投影することにより投影画像データ群110を生成する。投影画像記憶部25は、投影画像データ群110を記憶する。
学習処理部30は、入力データ取得部31、教師データ取得部32、DNN(Deep Neural Network:以下、ディープニューラルネットワークともいう)部33、更新処理部34、及び重み係数記憶部35を備える。入力データ取得部31は、投影画像生成部20から投影画像データ群110を読み出し、読み出した投影画像データ群110を入力データとしてDNN部33に与える。教師データ取得部32は、事前処理部10の記憶部14から学習用合成視点画像データ102を読み出し、読み出した投影画像データ群110を教師データとしてDNN部33に与える。
DNN部33は、ディープニューラルネットワーク、すなわち多層構造を有するニューラルネットワークであり、例えば、図3に示すように、同一の内部構成を有するネットワークNN−Aと、ネットワークNN−Bとを有しており、ネットワークNN−Bには更に、追加中間層が接続され、当該追加中間層には、第5畳み込み層550、第6畳み込み層560、第7畳み込み層570、Tanh層611、Softmax層612とが含まれる。なお、「畳み込み層」は、図3では、「畳込層」として記載している。
イメージング層613の入力は、ネットワークNN−Bの出力と、Softmax層612の出力に接続されており、出力層614が、イメージング層613の出力に接続されている。ネットワークNN−AとネットワークNN−Bの各々は、投影平面選定部23が選定するM枚の投影平面の数に対応するM個のサブネットワーク700−1〜700−Mと、サブネットワーク700−1〜700−Mの出力データをチャネル方向に連結する第2連結層602とを備える。サブネットワーク700−1〜700−Mの各々は、参照視点位置の数に応じた個数の入力層400−1〜400−4と、入力層400−1〜400−4の各々に接続する第1畳み込み層510−1〜510−4と、第1畳み込み層510−1〜510−4の出力データをチャネル方向に連結する第1連結層601と、第1連結層601の後段に備えられる第2畳み込み層520、第3畳み込み層530、第4畳み込み層540を備える。
第1畳み込み層510−1〜510−4、及び第2畳から第7の畳み込み層520〜570は、一般的に知られている二次元の畳み込み演算を行う層であり、活性化関数としてランプ関数が適用され、カーネルサイズとチャネル数は自由に設計可能となっている。Tanh層611は、一般的に知られているハイパボリックタンジェント関数の活性化関数を適用した演算を行う層である。Softmax層612は、一般的に知られているソフトマックス関数を適用した演算を行う層である。
イメージング層613は、ネットワークNN−Bの第2連結層602の出力と、Softmax層612の出力とに基づいて画像データを生成する。出力層614は、出力する画像データの画素数分の素子を有しており、イメージング層613が生成した画像データを出力する。なお、以下において、入力層400−1〜400−4と、出力層614以外の層を中間層ともいう。
更新処理部34は、教師データ取得部32が取得した教師データである学習用合成視点画像データ102と、DNN部33の出力層614が出力する画像データとに基づいて、DNN部33の各層の重み係数の更新を行う。重み係数記憶部35は、DNN部33の各層に適用される重み係数を記憶する。重み係数記憶部35は、重み係数の初期値を予め記憶しており、記憶する重み係数が、更新処理部34が算出する新たな重み係数に書き換えられて更新される。
(学習段階における処理:事前処理部による処理)
次に、学習装置1による学習処理の流れについて説明する。図4は、事前処理部10による処理の流れを示すフローチャートである。事前処理部10の画像データ取得部11は、参照視点画像データ群101と、学習用合成視点画像データ102とを外部から取り込む(ステップSa1)。
次に、学習装置1による学習処理の流れについて説明する。図4は、事前処理部10による処理の流れを示すフローチャートである。事前処理部10の画像データ取得部11は、参照視点画像データ群101と、学習用合成視点画像データ102とを外部から取り込む(ステップSa1)。
画像対応点検出部12は、参照視点画像データ群101と、学習用合成視点画像データ102とに含まれる画像データから画像特徴点を検出し、検出した画像特徴点に基づいて、画像データ間での二次元の対応関係を算出して画像対応点の検出を行う(ステップSa2)。カメラパラメータ・三次元座標算出部13は、画像対応点検出部12が検出した画像対応点に基づいて、画像対応点の三次元復元を行い、ワールド座標系における画像対応点の三次元座標情報103と、参照視点ごとのカメラパラメータ104と、学習用合成視点のカメラパラメータ105とを算出して記憶部14に書き込んで記憶させる(ステップSa3)。
ここで、ワールド座標系における三次元座標点を次式(1)で表すとする。
また、式(1)で示される三次元座標点を、カメラ座標系に変換した三次元座標点を次式(2)で表すとする。
また、画像データの画像面の二次元座標に投影した座標点を次式(3)で表すとする。
このとき、式(1)のワールド座標系と、式(2)のカメラ座標系には、次式(4)で示される関係が成立する。
また、式(2)のカメラ座標系と、式(3)の画像平面の座標系には、次式(5)で示される関係が成立する。
なお、式(5)において、αは、スケールパラメータとして一般的に知られたパラメータであり、次式(6)の関係がある。
式(6)の右辺は、カメラ座標系のZ成分の値であり、以下において、「Pz c」として表す。カメラパラメータとは、式(4)の右辺の最初の行列の各要素である外部パラメータの(R00〜R22,Tx,Ty,Tz)と、式(5)の右辺の内部パラメータの(fx,fy,cx,cy)とによって示されるパラメータである。なお、カメラのレンズ歪みを考慮するカメラモデルの場合、カメラパラメータにレンズ歪みパラメータを加えるようにしてもよい。
(学習段階における処理:投影画像生成部による処理)
図5は、投影画像生成部20による処理の流れを示すフローチャートである。投影画像生成部20の画像対応点投影処理部21は、事前処理部10の記憶部14から画像対応点の三次元座標情報103と、学習用合成視点のカメラパラメータ105とを読み出す。画像対応点投影処理部21は、読み出した画像対応点の三次元座標情報103と、学習用合成視点のカメラパラメータ105に基づいて画像対応点の三次元座標情報103を学習用合成視点画像平面250に投影する。
図5は、投影画像生成部20による処理の流れを示すフローチャートである。投影画像生成部20の画像対応点投影処理部21は、事前処理部10の記憶部14から画像対応点の三次元座標情報103と、学習用合成視点のカメラパラメータ105とを読み出す。画像対応点投影処理部21は、読み出した画像対応点の三次元座標情報103と、学習用合成視点のカメラパラメータ105に基づいて画像対応点の三次元座標情報103を学習用合成視点画像平面250に投影する。
画像対応点投影処理部21は、投影することにより上式(2)により示される学習用合成視点のカメラ座標系の三次元座標情報を得る。学習用合成視点のカメラ座標系の三次元座標情報のうち、Z成分である「Pz c」をデプス値という。デプス値は、カメラ座標系のカメラから被写体までの奥行値を表す値である。画像対応点投影処理部21は、Z成分の「Pz c」を、式(2)のx成分とy成分とから検索できるように、x成分「Px c」とy成分「Py c」とともに座標情報記憶部22に書き込んで記憶させる(ステップSb1)。
投影平面選定部23は、学習用の合成視点画像平面250を図6(a)に示すような格子状、すなわちグリッド形状に分割する(ステップSb2)。なお、図6(a)では、左上のグリッドのみに対して符号260−0を付して示しているが、以下の説明において、いずれか1つの任意のグリッドを示す場合、グリッド260−g(ただし、gは、0から始まる正の整数値であり、図6(a)の合成視点画像平面250の場合、0≦g≦34の整数値である)という。
各々のグリッド260−gの大きさは全て同一であり、以下、横方向の画素数をGx、縦方向の画素数をGyとして表す。具体的な画素数としては、例えば、Gx=8、Gy=8の8×8画素程度の大きさが適用される。
投影平面選定部23は、グリッド260−gの各々に対して、グリッド260−gを中心として、当該グリッド260−gを含んだ予め定められる範囲の参照領域を定める。例えば、投影平面選定部23の処理対象が、図6(b)に示すグリッド260−gの位置の場合、投影平面選定部23は、グリッド260−gを含む参照領域として、参照領域265−gを定める。グリッド260−gの中心位置と、参照領域265−gの中心位置とは、同一位置であり、図6では、グリッド260−gが8×8画素の大きさを有する場合の一例として、32×32画素の大きさの参照領域265−gの例を示している。
投影平面選定部23は、処理対象のグリッド260−gの参照領域265−gの中にステップSb1において、学習用の合成視点画像平面250に投影された画像対応点が1つ以上存在するか否かを判定する(ステップSb3)。投影平面選定部23は、参照領域265−gの中に画像対応点が1つ以上存在すると判定した場合(ステップSb3、YES)、投影平面選定部23は、参照領域265−gの中に投影された画像対応点の中から最小と最大のデプス値を有する画像対応点を選択する(ステップSb4)。
一方、投影平面選定部23は、参照領域265−gの中に画像対応点が存在しないと判定した場合(ステップSb3、NO)、投影平面選定部23は、更に広い参照領域265−gを設定し、設定した更に広い参照領域265−gにおいて最小と最大のデプス値を有する画像対応点を選択する(ステップSb5)。更に広い参照領域265−gを設定する手法としては、どのような手法が適用されてもよいが、例えば、以下のような手法がある。すなわち、投影平面選定部23は、処理対象としているグリッド260−gの近傍に存在する他のグリッド260−gの中から、既に最小と最大のデプス値を有する他のグリッド260−gを検出する。投影平面選定部23は、検出した他のグリッド260−gの最小と最大のデプス値を処理対象のグリッド260−gの最小と最大のデプス値とする。
以下の説明において、ステップSb4及びステップSb5において、選択された最小と最大のデプス値をそれぞれDClose、Dfarとして表すものとする。なお、画像対応点が1つしか存在しない場合、当該1つの画像対応点が、最小と最大のデプス値を兼ねるものとし、DClose=Dfarとなる。
投影平面選定部23は、デプス値がDCloseとDfarとに基づいて、処理理対象のグリッド260−gに対して、図7に示すような奥行き探索範囲275−gを設定する(ステップSb6)。図7に示す例は、参照視点位置の数をNとした場合、N=4とした例であり、4つの参照カメラ210,211,212,213が、参照視点位置に配置される。4つの参照カメラ210,211,212,213の各々によって、参照視点画像データ群101に含まれる4つの参照視点画像データが撮影される。合成視点カメラ200は、学習用合成視点位置に配置され、学習用合成視点画像データ102を撮影する。
学習用合成視点画像データ102の画像平面である合成視点画像平面250の視点方向、すなわち画像平面に対して垂直方向の一方に、上底を合成視点画像平面250とし、合成視点カメラ200の画角に応じて広がる四角錐台が形成される。この四角錐を合成視点の視錐台280という。デプス値は、合成視点の視錐台280に沿って、合成視点画像平面250の中心から離れた距離を示す値となる。奥行き探索範囲275−gは、合成視点の視錐台280の内部の領域において、上底を参照領域265−gとした四角錐台であって後述するWcloseとWfarの分の余裕を加えて、デプス値がDCloseからDfarの部分を切り取った範囲となる。
投影平面選定部23は、奥行き探索範囲275−gにおいて、合成視点画像平面250と平行な平面であって予め定められるM枚の仮想的な平面である投影平面270−g−0〜270−g−(M−1)を選定する(ステップSb7)。Mは、任意の枚数としてよいが、例えば、M=96枚程度の枚数が適用される。なお、投影平面は、三次元画像処理の分野において、デプスレイヤと呼ばれるレイヤに相当するものである。
投影平面選定部23は、m(ただし、mは、0≦m≦M−1の整数値)枚目の投影平面270−g−mのデプス値dmを次式(7)に基づいて算出する。
式(7)において、aの値は、次式(8)によって定められ、bの値は、次式(9)によって定められ、kの値は、次式(10)によって定められる。
また、式(10)におけるkfarとkcloseは、次式(11)及び(12)によって定められる。
式(8)及び式(9)において、DminとDmaxは、全てのグリッド260−gにおける最小と最大のデプス値、すなわち合成視点画像平面250に投影された画像対応点の中における最小と最大のデプス値である。式(10)におけるWcloseとWfarは、それぞれ奥行き探索範囲275−gを厳密にDCloseからDfarまでの範囲とするのではなく、少し余裕のある範囲とするためのパラメータであり、例えば、Mの1割から2割程度の値が適用される。
上記の式(7)から式(12)を適用して、投影平面選定部23が、デプス値d0〜M−1の値を算出することで、各々のデプス値d0〜M−1に選定される投影平面270−g−0〜270−g−(M−1)の間隔が、合成視点位置から離れれば離れるほど疎になる、すなわち間隔が大きくなるようにすることができる。これにより、合成劣化を招くことなく計算量を抑えることが可能となる。
参照視点画像投影処理部24は、投影平面選定部23が選定した投影平面270−g−0〜270−g−(M−1)の各々に対して、参照カメラ210,211,212,213で撮影された参照視点画像データ群101を投影することにより投影画像データを生成する(ステップSb8)。ここで、以下の説明の便宜上、投影平面270−g−0〜270−g−(M−1)の各々に対応して、参照視点画像データごとに生成される投影画像データを投影画像データ110−g−0−n〜110−g−(M−1)−n(ただし、nは、0≦n≦N−1の整数値)として記載する。
例えば、上述した例の通り、参照視点数Nが、N=4である場合、参照視点画像投影処理部24は、事前処理部10の記憶部14から参照視点ごと、すなわち4つの参照カメラ210,211,212,213の各々に対応するカメラパラメータ104を読み出す。参照視点画像投影処理部24は、読み出した4つのカメラパラメータ104を用いて、参照視点画像データ群101に含まれる4つの参照視点画像データを1つ目の投影平面270−g−0に変換する。
次に、参照視点画像投影処理部24は、事前処理部10の記憶部14から学習用合成視点のカメラパラメータ105を読み出す。参照視点画像投影処理部24は、読み出した学習用合成視点のカメラパラメータ105を用いて、投影平面270−g−0に変換された4つの参照視点画像データのそれぞれを合成視点画像平面250の参照領域265−gに投影する。
これにより、参照視点画像投影処理部24は、1つ目の投影平面270−g−0に対応する4つの参照視点画像データごとの投影画像データ110−g−0−0,110−g−0−1,110−g−0−2,110−g−0−3を生成する。この処理を残りのM−1枚の投影平面270−g−1〜270−g−(M−1)の各々に対して行うことにより、参照視点画像投影処理部24は、合計で4×M枚の投影画像データ110−g−1−0〜110−g−(M−1)−3を生成する。参照視点画像投影処理部24は、参照領域265−gに対応して生成した投影画像データ110−g−0−0〜110−g−(M−1)−3を投影画像記憶部25に書き込んで記憶させる。
なお、参照視点画像投影処理部24が行う投影も一般的な透視投影変換である。参照視点画像データ群101に含まれる参照視点画像データの参照視点画像平面から投影平面270−g−mの各々に対する変換は、例えば、Homography行列を用いて変換する手法等が適用される。
参照視点画像投影処理部24は、全てのグリッド260−gに対しての処理が終了したか否かを判定する(ステップSb9)。参照視点画像投影処理部24は、全てのグリッド260−gに対しての処理が終了していないと判定した場合(ステップSb9、NO)、処理を行っていない次のグリッド260−gを選択し(ステップSb10)、投影平面選定部23に、ステップSb3からの処理を行わせる。
図7に示す他の奥行き探索範囲275−Gは、処理対象が、グリッド260−Gの場合おいて、投影平面選定部23によって定められる探索範囲である。奥行き探索範囲275−G内に設定される投影平面270−G−1〜270−G−(M−1)に基づいて、参照視点画像投影処理部24が、参照領域265−Gに対応する投影画像データ110−G−0−0〜110−G−(M−1)−3を生成する。
一方、参照視点画像投影処理部24は、全てのグリッド260−gに対しての処理が終了していると判定した場合(ステップSb9、YES)、処理を終了する。これにより、参照視点画像投影処理部24は、全てのグリッド260−gの参照領域265−gに対応する投影画像データ110−g−m−nの生成を完了する。投影画像記憶部25には、最終的に、投影画像データ群110が記憶されることになる。
投影画像データ110−g−m−nの各々の解像度は、対応する参照領域265−gの解像度と同一である。上述したように、参照領域265−gの解像度を32×32画素とした場合、投影画像データ110−g−m−nの各々の解像度も32×32画素となる。
投影画像データ110−g−m−nの各々は、RGBの3チャネルにAチャネルを加えた、RGBAの4チャネルの画像データとなっている。画像データ取得部11が取り込む参照視点画像データ群101及び学習用合成視点画像データ102は、RGBの3チャネル画像データである。Aチャネルは、参照視点画像投影処理部24によって加えられるチャネルである。例えば、ある参照視点画像データをある投影平面270−g−mに変換する場合、投影平面270−g−mの一部の画素に参照視点画像データが含まれておらず空白のままになる場合がある。この場合、参照視点画像投影処理部24は、Aチャネルの値を「0」とし、RGBの全てのチャネルを「0」として設定する。これに対して、画素が存在する場合、参照視点画像投影処理部24は、Aチャネルの値を「255」とし、RGBのチャネルには、変換された各々の色に対応する画素値とする。これにより、任意の投影画像データ110−g−m−nにおいて画素の有無をAチャネルにより示すことができる。
(学習段階における処理:学習処理部による処理)
図8は、学習処理部30による処理の流れを示すフローチャートである。学習処理部30の入力データ取得部31は、DNN部33に与える入力データとして、投影画像記憶部25から投影画像データ群110を読み出す(ステップSc1)。
図8は、学習処理部30による処理の流れを示すフローチャートである。学習処理部30の入力データ取得部31は、DNN部33に与える入力データとして、投影画像記憶部25から投影画像データ群110を読み出す(ステップSc1)。
投影画像データ110−g−m−nは、参照領域265−gごとに、N(参照視点数)×M(投影平面数)=NM枚存在しており、1枚ごとに上記したRGBAの4チャネルの情報が含まれている。以下の説明において、投影画像データ110−g−m−nを、Ig,n,m(p)としても表す。Ig,n,m(p)は、g番目のグリッド260−gの参照領域265−gに対応するデプス値dmにあるm枚目の投影平面270−g−mに対して、n枚目の参照視点画像データを変換し、更に、参照領域265−gに投影して得られる画像データを示す。入力データ取得部31が、最初のステップSc1において、例えば、g=0から順に読み出すとすると、グリッド260−0についてのNM枚のIg=0,n,m(p)をまとめて読み出して入力データとすることになる。
教師データ取得部32は、更新処理部34に与える教師データとして、事前処理部10の記憶部14から学習用合成視点画像データ102を読み出す(ステップSc2)。DNN部33は、重み係数記憶部35に予め記憶されている初期値の重み係数を重み係数記憶部35から読み出し、DNN部33の各層に対して読み出した重み係数を適用する。(ステップSc3)。
DNN部33は、入力データ取得部31によって与えられる入力データと、各層に対して適用した重み係数とに基づく演算を行う(ステップSc4)。入力データ取得部31によって、各々が4チャネル分の情報を含むNM枚のIg,n,m(p)が、ネットワークNN−A,NN−Bの各々のサブネットワーク700−1〜700−Mの入力層400−1〜400−4に対して、図9に示すように与えられる。なお、図9においてgの値は固定値であり、入力データ取得部31が、Ig,n,m(p)をg=0から順に読み出すとすると、初回のステップSc4の処理では、g=0となる。
図9においてrは、0≦r≦M−1の整数値である。すなわち、入力層400−1〜400−4の各々には、1枚の投影画像データ110−g−m−nが与えられることになる。入力層400−1〜400−4の各々は、取り込んだIg,n,m(p)の画像を255.0で除算し、画素値を0〜1.0の小数値に正規化する。
第1連結層601の出力チャネル数は、第1畳み込み層510−1〜510−4のチャネル数がchである場合、チャネル方向に連結するためch×Nの出力チャネル数となる。したがって、例えば、参照視点数Nが、N=4の場合であって、RGBAの4チャネルの場合、第1連結層601は、4×4=16の出力チャネル数となる。
第4畳み込み層540のチャネル数は、RGBの3チャネルであり、出力サイズはGx×Gyである。第2連結層602の出力チャネル数は、第4畳み込み層540のチャネル数がchである場合、チャネル方向に連結するためch×Mの出力チャネル数となる。したがって、RGB3チャネルの場合、3×Mの出力チャネル数となり、また、例えば、Mが、M=96の場合には、3×96=288チャネルとなる。第7畳み込み層570のチャネル数は、Mチャネルであり、出力サイズはGx×Gyとなる。
イメージング層613は、下段のネットワークNN−Bの第2連結層602が出力するGx×Gyの画素数の3×Mチャネルの行列を3チャネルずつに分解してM個の3チャネル行列とする。このm番目の3チャネル行列をAmとし、Am(p)を画素pにおけるAmの3チャネルの画素値とする。
イメージング層613は、Softmax層612が出力するGx×Gyの画素数を有するMチャネルの行列を1チャネルごとに分解し、m番目の1チャネル行列をRmとし、Rm(p)を画素pにおける1チャネルの信号値とする。Rm(p)は、例えば、M枚のGx×Gyの画素数の画像データにおける画素pごとの存在確率を示す情報となる。イメージング層613は、Rm(p)とAm(p)に対して次式(13)を適用して画素pごとにS(p)を算出する。
式(13)により、M枚の候補となるRGB画像データAm(p)の中から、Rm(p)に基づいて、M枚の候補の中から、合成視点位置の画素として適切な画素を選択するような演算が行われることになる。式(13)の出力であるS(p)が、学習用合成視点における1つのグリッド260−gに対応する出力画像データとなる。出力層614は、Gx×Gyの解像度の出力画像データS(p)を出力する。
更新処理部34は、教師データ取得部32が取得した学習用合成視点画像データ102を合成視点画像平面250と同様の大きさのグリッド形状に分割し、分割したg番目のグリッドに含まれる画像データを学習用合成視点画像データ102−gとする。
更新処理部34は、出力層614が出力した出力画像データS(p)が生成された際に入力層400−1〜400−4に与えられたグリッド260−gに対応するg番目のグリッドの位置の学習用合成視点画像データ102−gをCとし、C(p)を画素pにおける画素値とする。
更新処理部34は、出力層614が出力した出力画像データS(p)と、教師データC(p)とに基づいて、次式(14)により、推定誤差Eを算出する(ステップSc5)。更新処理部34は、算出した推定誤差Eが、予め定められる閾値以下であるか否かを判定する(ステップSc6)。
更新処理部34は、算出した推定誤差Eが、予め定められる閾値を超えていると判定した場合(ステップSc6、NO)、算出した推定誤差Eに基づいて、例えば、誤差逆伝播法等を適用して、DNN部33の各層に適用する新たな重み係数を算出する。更新処理部34は、重み係数記憶部35に記憶されている重み係数に対して、算出した新たな重み係数を上書きして更新を行う(ステップSc7)。その後、処理は、ステップSc3に進められ、DNN部33は、重み係数記憶部35に記憶されている更新された重み係数を読み出し、読み出した重み係数に含まれる重み係数をDNN部33の各層に適用してステップSc4以降の処理を行う。
一方、更新処理部34は、算出した推定誤差Eが、予め定められる閾値以下であると判定した場合(ステップSc6、YES)、学習処理を終了する。学習処理部30による学習処理が終了した際、重み係数記憶部35には、学習済みの重み係数を含む学習済みデータ115が記憶されることになる。
(画像合成段階の構成について)
図10は、画像合成装置1aの構成を示すブロック図である。図10において、図1の学習装置1と同一の構成については、同一の符号を付し、以下、異なる構成について説明する。画像合成装置1aは、事前処理部10、投影画像生成部20、及び画像合成部30aを備える。画像合成部30aは、入力データ取得部31、DNN部33、重み係数記憶部35a、及び画像結合部36を備える。重み係数記憶部35aは、学習済みデータ115を予め記憶する。ここで、学習済みデータ115とは、学習装置1において図8に示す学習処理が終了した際に重み係数記憶部35に記憶されている重み係数である。画像結合部36は、DNN部33の出力層614が出力するGx×Gyの大きさの画像データを結合して最終的な任意合成視点の画像データを生成して出力する。
図10は、画像合成装置1aの構成を示すブロック図である。図10において、図1の学習装置1と同一の構成については、同一の符号を付し、以下、異なる構成について説明する。画像合成装置1aは、事前処理部10、投影画像生成部20、及び画像合成部30aを備える。画像合成部30aは、入力データ取得部31、DNN部33、重み係数記憶部35a、及び画像結合部36を備える。重み係数記憶部35aは、学習済みデータ115を予め記憶する。ここで、学習済みデータ115とは、学習装置1において図8に示す学習処理が終了した際に重み係数記憶部35に記憶されている重み係数である。画像結合部36は、DNN部33の出力層614が出力するGx×Gyの大きさの画像データを結合して最終的な任意合成視点の画像データを生成して出力する。
すなわち、画像合成部30aは、学習装置1の学習処理部30から教師データ取得部32と更新処理部34とを除き、画像結合部36を加えた構成であって、重み係数記憶部35に代えて置き換えられる重み係数記憶部35aが、学習済みデータ115を予め記憶する構成となる。
(画像合成装置による画像合成処理)
図11及び図12を参照しつつ、画像合成装置1aによる画像合成処理について説明する。図12に示すように、画像合成装置1aの事前処理部10の画像データ取得部11は、参照視点画像データ群101を取得する(ステップSd1)。画像対応点検出部12は、参照視点画像データ群101に含まれる画像データから画像特徴点を検出し、検出した画像特徴点に基づいて、画像データ間での二次元の対応関係を算出して画像対応点の検出を行う(ステップSd2)。
カメラパラメータ・三次元座標算出部13は、画像対応点検出部12が検出した画像対応点に基づいて、画像対応点の三次元復元を行い、ワールド座標系における画像対応点の三次元座標情報103と、参照視点ごとのカメラパラメータ104を算出して記憶部14に書き込んで記憶させる(ステップSd3)。
投影画像生成部20の画像対応点投影処理部21は、外部から与えられる任意合成視点のカメラパラメータ120を取得する(ステップSd4)。ここで、任意合成視点のカメラパラメータ120は、上述したように予め与えられる情報である。例えば、任意合成視点位置を、参照視点位置を右側に5m動かした視点や、前に3m進めた視点や、2つの参照視点位置の間の位置であって各々の参照視点位置までの距離が3:7になっている視点等のように参照視点位置に基づいて定めることにより、任意合成視点のカメラパラメータ120を予め算出して与えることができる。
画像対応点投影処理部21、投影平面選定部23、及び投影画像記憶部25は、学習用合成視点のカメラパラメータ105を取得した任意合成視点のカメラパラメータ120に置き換えて、図5に示したフローチャートにしたがって投影画像データ群110を生成する処理を行う(ステップSd5)。
画像合成部30aの入力データ取得部31は、DNN部33に与える入力データとして、投影画像記憶部25から投影画像データ群110を読み出す(ステップSd6)。DNN部33は、重み係数記憶部35aに予め記憶されている学習済みデータ115を重み係数記憶部35aから読み出し、DNN部33の各層に対して学習済みデータ115に含まれる重み係数を適用する(ステップSd7)。
DNN部33は、入力データである投影画像データ群110と、学習済みデータ115に含まれる重み係数とに基づいて、投影画像データ群110に含まれる全ての投影画像データ110−g−m−nに対して図8のステップSc4と同様の所定の演算を行う。これにより、出力層614が、グリッド260−gの数分のGx×Gyの大きさの画像データを出力する(ステップSd8)。画像結合部36は、DNN部33の出力層614が出力するGx×Gyの大きさの画像データを結合して最終的な任意合成視点画像データ145を生成して出力する(ステップSd9)。
上記の実施形態の学習装置1において、事前処理部10は、学習用に予め定められる学習用合成視点位置と、予め定められる参照視点位置とを含む複数の視点位置から撮像した複数の画像データ、すなわち学習用合成視点画像データ102及び参照視点画像データ群101を取り込む。事前処理部10は、取り込んだ画像データに基づいて、画像データ間において対応する位置関係にある画像対応点を検出し、検出した画像対応点の三次元座標情報103と、視点位置ごとのカメラパラメータ、すなわち学習用合成視点のカメラパラメータ105及び参照視点ごとのカメラパラメータ104を算出する。投影画像生成部20は、画像対応点の三次元座標情報103と、カメラパラメータ104,105とに基づいて、参照視点位置において撮像された参照視点画像データ群101を、学習用合成視点位置の視点方向に位置する投影平面であって学習用合成視点位置において撮影される画像の画像平面と平行である投影平面270−g−mに投影することにより投影画像データ群110を生成する。学習処理部30は、投影画像データ群110を入力データとし、学習用合成視点位置で撮像された画像データを教師データとしてDNN部33に与えて学習処理を行い学習済みデータ115を生成する。
また、上記の実施形態の画像合成装置1aにおいて、事前処理部10は、予め定められる複数の参照視点位置から撮像した参照視点画像データ群101を取り込み、取り込んだ参照視点画像データ群101に含まれる画像データに基づいて、画像データ間において対応する位置関係にある画像対応点を検出し、検出した画像対応点の三次元座標情報103と、参照視点位置ごとのカメラパラメータ104とを算出する。投影画像生成部20は、任意に定められる任意合成視点位置のカメラパラメータ120を取り込み、事前処理部10が算出する画像対応点の三次元座標情報103と、参照視点位置ごとのカメラパラメータ104と、任意合成視点位置のカメラパラメータ120とに基づいて、参照視点位置において撮像された画像データを、任意合成視点位置の視点方向に位置する投影平面であって任意合成視点位置の画像平面と平行である投影平面に投影して投影画像データ群110を生成する。画像合成部30aは、学習装置1が生成した学習済みデータ115を取り込み、DNN部33に取り込んだ学習済みデータ115を適用し、学習済みデータ115を適用したDNN部33に対して、投影画像生成部20が生成する投影画像データ群110を入力データとして与え、任意合成視点位置において合成した任意合成視点画像データ145を出力する。
上記の学習装置1の構成により、画像対応点の三次元座標情報と、カメラパラメータとに基づいて、参照視点位置において撮像された画像データを投影平面に投影することによって投影画像データを生成する。そして、生成した投影画像データを入力データとしてDNN部33に与えている。すなわち、学習装置1では、撮像された画像データの各々に含まれている視点位置等のカメラの幾何関係の情報を投影平面を用いて抽出するという事前処理を行った入力データをDNN部33に与えるようにしている。また、DNN部33の構成において、投影画像データの各々を取り込む入力層400−1〜400−4の数を、参照視点の数と投影平面の数に応じた数としている。すなわち、1つのグリッド260−gに対して生成される全ての投影画像データを、繰り返し行われる学習処理の1ステップにおける入力データとして一度に取り込むようにしている。そのため、DNN部33のディープニューラルネットワークにおいて、視点位置等のカメラの幾何関係、すなわち多視点画像間の幾何関係であるエピポーラ幾何制約を学習する必要がないため効率的に学習処理を進めることができる。したがって、学習装置1は、DNN部33、すなわちディープニューラルネットワークによって、より少ない教師データと学習時間で学習処理を行うことが可能となる。また、画像合成装置1aは、学習処理によって得られた学習済みデータ115をディープニューラルネットワークに適用することで、多視点画像データに含まれる情報だけからでは推定できない情報を復元可能とし、高品質な任意視点画像を合成することが可能となる。
また、上記の学習装置1または画像合成装置1aにおいて、投影画像生成部20の画像対応点投影処理部21は、学習用または任意の合成視点位置のカメラパラメータ105,120に基づいて、画像対応点の三次元座標情報を合成視点位置における画像平面に投影する。投影平面選定部23は、画像平面を予め定められる大きさのグリッド260−gに分割し、分割したグリッド260−gの各々に対して、グリッド260−gを含むグリッド260−gより広い参照領域265−gを設ける。投影平面選定部23は、設けた参照領域265−gごとに奥行き探索範囲275−gを定め、定めた奥行き探索範囲275−g内に投影平面270−g−mを設ける。参照視点画像投影処理部24は、設けられた投影平面270−g−mに対して参照視点画像データ群101の各々を変換し、更に、投影平面270−g−mに変換される画像データを参照領域265−gに投影することにより、グリッド260−gごとに参照領域265−gの大きさを有する投影画像データ群110を生成している。
上記の投影平面270−g−mを合成視点カメラ200からどれだけ離れた位置に設けるのかということが合成する画像データの品質に大きな影響を与える。例えば、被写体が奥行き方向に伸びているような画像の場合に、仮に合成視点画像平面250の全体を対象として奥行き探索範囲275−gを定めるとする。この場合、合成視点カメラ200から最も近い位置にある投影平面270−g−mと、最も遠い位置にある投影平面270−g−mとの間である奥行き探索範囲275−gの範囲が広くなり、より多くの投影平面270−g−mが必要となるため、計算コストの情報と、合成する画像データの品質とを低下させてしまう。
これに対して、上記のように分割したグリッド260−gの参照領域265−gごとに奥行き探索範囲275−gを定めることにより、グリッド260−gの参照領域265−gの中での最大と最小の視差量を考慮すればよくなる。すなわち、参照領域265−gに対応する奥行き探索範囲275−gに限って探索を行えばなくなるため、画像データ全体に対応する奥行き探索範囲での探索を行う必要がないため、余分な探索を行う必要もなくなる。したがって、DNN部33において、適切な探索範囲での学習処理を行うことが可能となり、局所解に落ちる可能性も少なく、計算量を節約することもでき、再学習も容易であり、また、高品質な画像合成を行うことが可能となる。
また、さらに、合成視点画像平面250の全体ではなく、一定サイズのグリッド260−gに分割した投影画像データ群110を入力データとして与えることで、DNN部33において、一度の学習で要するメモリ量を節約する事ができる。また、さらに、合成視点画像平面250の全体ではなく、一定サイズのグリッド260−gに分割しておくことで、入力データとして与える画像データの解像度が異なるたびにDNN部33の学習をしなおす必要もなく、DNN部33の中間層に含まれる第1から第7畳み込み層510−1〜510−4,520〜570のカーネルサイズの再設計を行う必要もなくなる。
また、上記の学習装置1または画像合成装置1aにおいて、投影画像生成部20は、参照領域265−gに存在する画像対応点のZ方向の成分であるデプス値の最大値と最小値に基づいて、参照領域265−gごとの奥行き探索範囲275−gを定めるようにしている。これにより、人手を介さずに、画像対応点のデプス値の最大値と最小値に基づいて、適切な奥行き探索範囲275−gを参照領域265−gごとに設定することが可能となる。
なお、グリッド26−gの大きさは、小さければ小さいほど合成品質は下がってしまうが、計算コストも下がるため高速な処理に向いている。これに対して、大きなグリッドサイズにした場合、合成品質の向上が見込めるが、ディープニューラルネットワークを用いた画像合成処理においては計算機メモリの量の限界がある。そのため、現状の計算機の性能では、上述した8×8画素程度の大きさが現実的な大きさであり、計算機の性能の向上とともに大きくすることができる。
また、図6(a)及び(b)では、7×5の合計35個のグリッド260−gに分割しているが、当該分割数は、一例であり、合成視点画像平面250の大きさやグリッド260−gの大きさに応じて適宜定められる値である。
また、上記の実施形態では、グリッド260−gを格子状にしているが、一定の領域であれば、格子状以外の形状であってもよい。
なお、上記の実施形態の構成では、カメラで撮影した静止画の画像データを対象とした処理となっているが、当該実施の形態に限られるわけではない。例えば、本実施形態の構成を複数の連続する画像データに対して適用し、本実施形態の処理を複数の連続する画像データに対して繰り返すことで映像、すなわち動画像を処理することもできる。また、映像の全てのフレームに適用するのではなく、一部に対して本実施形態を適用し、残りのフレームには別の手段を適用するようにしてもよい。
また、上記の実施形態の構成において、投影平面270−g−mの数であるMとして、例えば、96枚程度の数が適用されるとして説明したが、Mの値には、計算コストと合成コストの間のトレードオフの関係がある。Mを大きな値にすると、低速な処理になるが、高品質な合成結果を得ることができる。Mの値もまた、計算機の性能の向上とともに大きくすることができる。また、図7における合成視点カメラ200の位置である学習用合成視点位置から見た場合の参照カメラ210〜234の各々の参照視点位置に対する合成視点画像平面250上での最小視差量と最大視差量の差分値をそのままMとしてもよい。
また、上記の実施形態の構成において、投影画像データ110−g−m−nは、RGBAの4チャネル情報であるとしているが、カラー画像でなく、グレースケール画像を適用してもよく、その場合、画素値成分と、Aチャネル成分の2チャネル情報となる。
また、上記の実施形態の構成において、図3のDNN部33の構成は、一例であり、例えば、ネットワークNN−A,NN−Bについては、1つのグリッド260gについてのNM枚の投影画像データ110−g−m−nを一度に読み込む構成のディープニューラルネットワークであればどのような構成であってもよい。
また、上記の実施形態の構成において、式(14)の演算式は、L1ノルムの差分を適用して推定誤差を算出しているが、L2ノルム等の他の差分演算を適用して推定誤差を算出するようにしてもよい。
また、上記の学習装置1と画像合成装置1aとは、同一の装置内に備えられていてもよい。その場合、例えば、学習処理部30が、更に、画像結合部36を備え、当該装置内に、学習を行う処理と、画像合成を行う処理とを切り替える指示情報を出力する制御部を備え、事前処理部10、投影画像生成部20、及び学習処理部30が、制御部からの指示情報に応じて取り込むデータを切り替え、内部で行う処理を切り替えることになる。
上述した実施形態では、グリットに分割して、グリッドを含む領域を参照領域とする構成を示したが、参照領域はこの領域に限定される必要はない。例えば、合成視点画像平面250全体を一つの大きなグリッドとみなした場合には、合成視点画像平面250全体を含む領域を参照領域(第2の参照領域)としてもよい。ここで、合成視点画像平面250全体を一つの大きなグリッドとみなした場合とは、合成視点画像平面250を分割しないで、グリッドの横方向の画素数Gxを合成視点画像平面250の横方向の画素数とし、縦方向の画素数Gyを合成視点画像平面250の縦方向の画素数と設定した場合である。合成視点画像平面250を分割するか否かは予めユーザによって入力されてもよい。このように構成される場合、投影画像生成部20は、ユーザから入力された分割数に応じて参照領域を設定する。例えば、分割数が0である場合、投影画像生成部20はグリッドの横方向の画素数Gxを合成視点画像平面250の横方向の画素数とし、縦方向の画素数Gyを合成視点画像平面250の縦方向の画素数とした参照領域を設定し、設定した参照領域に基づいて処理を行う。
上述した実施形態における学習装置1及び画像合成装置1aをコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
1…学習装置,10…事前処理部,11…画像データ取得部,12…画像対応点検出部,13…カメラパラメータ・三次元座標算出部,14…記憶部,20…投影画像生成部,21…画像対応点投影処理部,22…座標情報記憶部,23…投影平面選定部,24…参照視点画像投影処理部,25…投影画像記憶部,30…学習処理部,31…入力データ取得部,32…教師データ取得部,33…DNN部,34…更新処理部,35…重み係数記憶部
Claims (8)
- 学習用に予め定められる学習用合成視点位置と、予め定められる参照視点位置とを含む複数の視点位置から撮像した複数の画像データを取得し、取得した前記画像データに基づいて、前記画像データ間において対応する位置関係にある画像対応点を検出し、検出した前記画像対応点の三次元座標情報と、前記視点位置ごとのカメラパラメータとを算出する事前処理部と、
前記画像対応点の三次元座標情報と、前記カメラパラメータとに基づいて、前記参照視点位置において撮像された前記画像データを、前記学習用合成視点位置の視点方向に位置する投影平面であって前記学習用合成視点位置において撮影される画像の画像平面と平行である投影平面に投影することにより投影画像データを生成する投影画像生成部と、
前記投影画像データを入力データとし、前記学習用合成視点位置で撮像された前記画像データを教師データとしてディープニューラルネットワークに与えて学習処理を行うことによって学習済みデータを生成する学習処理部と、
を備える学習装置。 - 前記投影画像生成部は、
前記学習用合成視点位置のカメラパラメータに基づいて、前記画像対応点の三次元座標情報を前記学習用合成視点位置における前記画像平面に投影し、前記画像平面を予め定められる大きさの領域に分割し、分割した前記領域の各々に対して、前記領域を含む前記領域より広い第1の参照領域を設け、前記第1の参照領域ごとに奥行き探索範囲を定め、定めた前記奥行き探索範囲内に前記投影平面を設け、設けた前記投影平面に対して前記参照視点位置において撮像される前記画像データを変換し、前記投影平面に変換された前記画像データを前記第1の参照領域に投影することにより、前記領域ごとに前記第1の参照領域の大きさを有する前記投影画像データを生成する、請求項1に記載の学習装置。 - 前記投影画像生成部は、
前記第1の参照領域ごとに、当該第1の参照領域に対応する前記奥行き探索範囲内で、前記学習用合成視点位置の視点方向に予め定められる数の投影平面を設け、
前記学習処理部は、ディープニューラルネットワークを用いて学習処理を行い、
前記ディープニューラルネットワークは、
同一構成である第1のネットワークと第2のネットワークと、
前記第1のネットワークに接続する追加中間層と、
前記第2のネットワークと前記追加中間層とに接続するイメージング層と、
前記イメージング層に接続する出力層とを備え、
前記第1のネットワークと第2のネットワークの各々は、前記投影平面の数に応じたサブネットワークを有しており、前記サブネットワークの各々が、前記参照視点位置の数の入力層を有しており、
前記第1のネットワークと第2のネットワークの各々は、前記参照視点位置の数に前記投影平面の数を乗じた枚数の前記領域ごとの前記投影画像データの各々を、前記枚数と同数の前記入力層により取り込み、前記サブネットワークの各々が前記投影画像データに対して畳み込み演算を行い、前記サブネットワークの出力情報を結合して得られる前記第1の参照領域と同一の大きさの画像データであって前記投影平面の枚数分の画像データを出力し、
前記追加中間層は、
前記第1のネットワークが出力する前記投影平面の枚数と同数の前記画像データに対して畳み込み演算を行い前記画像データに含まれる画素に関する出力情報を出力し、
前記イメージング層は、
前記第2のネットワークが出力する前記画像データと、前記追加中間層の前記出力情報とに基づいて新たに画像データを合成し前記出力層を通じて前記新たな画像データを出力画像データとして出力し、
前記学習処理部は、
前記出力層から出力される前記領域の各々に対応する前記出力画像データと、前記教師データとして与えられる前記学習用合成視点位置で撮像された前記画像データのうち前記出力画像データに対応する部分の画像データとに基づいて、前記ディープニューラルネットワークに適用される重み係数の更新値の算出を行うことにより前記学習済みデータを生成する、請求項2に記載の学習装置。 - 前記投影画像生成部は、
前記画像平面を予め定められる大きさの領域に分割して得られる第1の参照領域を設けた場合には、前記第1の参照領域に投影されている前記画像対応点のZ方向の成分の値であるデプス値の最大値と最小値に基づいて、前記第1の参照領域ごとの前記奥行き探索範囲を定め、
前記画像平面全体を分割しない場合には、前記画像平面全体を含む第2の参照領域を設定し、設定した前記第2の参照領域に投影されている前記画像対応点のZ方向の成分の値であるデプス値の最大値と最小値に基づいて、前記第2の参照領域ごとの前記奥行き探索範囲を定める、請求項1から3のいずれか一項に記載の学習装置。 - 予め定められる複数の参照視点位置から撮像した複数の画像データを取得し、取得した前記画像データに基づいて、前記画像データ間において対応する位置関係にある画像対応点を検出し、検出した前記画像対応点の三次元座標情報と、前記参照視点位置ごとのカメラパラメータとを算出する事前処理部と、
任意に定められる任意合成視点位置のカメラパラメータを取得し、前記事前処理部が算出する前記画像対応点の三次元座標情報と、前記参照視点位置ごとのカメラパラメータと、前記任意合成視点位置のカメラパラメータとに基づいて、前記参照視点位置において撮像された前記画像データを、前記任意合成視点位置の視点方向に位置する投影平面であって前記任意合成視点位置の画像平面と平行である投影平面に投影して投影画像データを生成する投影画像生成部と、
請求項1から4のいずれか一項に記載の学習装置が生成した学習済みデータを取り込み、前記学習装置のディープニューラルネットワークと同一の前記ディープニューラルネットワークに取り込んだ前記学習済みデータを適用し、前記学習済みデータを適用した前記ディープニューラルネットワークに対して、前記投影画像生成部が生成する前記投影画像データを入力データとして与え、前記任意合成視点位置において合成した画像データを出力する画像合成部と、
を備える画像合成装置。 - 学習用に予め定められる学習用合成視点位置と、予め定められる参照視点位置とを含む複数の視点位置から撮像した複数の画像データを取得し、取得した前記画像データに基づいて、前記画像データ間において対応する位置関係にある画像対応点を検出し、検出した前記画像対応点の三次元座標情報と、前記視点位置ごとのカメラパラメータとを算出する事前処理ステップと、
前記画像対応点の三次元座標情報と、前記カメラパラメータとに基づいて、前記参照視点位置において撮像された前記画像データを、前記学習用合成視点位置の視点方向に位置する投影平面であって前記学習用合成視点位置において撮影される画像の画像平面と平行である投影平面に投影することにより投影画像データを生成する投影画像生成ステップと、
前記投影画像データを入力データとし、前記学習用合成視点位置で撮像された前記画像データを教師データとしてディープニューラルネットワークに与えて学習処理を行うことによって学習済みデータを生成する学習処理ステップと、
を有する学習方法。 - 予め定められる複数の参照視点位置から撮像した複数の画像データを取得し、取得した前記画像データに基づいて、前記画像データ間において対応する位置関係にある画像対応点を検出し、検出した前記画像対応点の三次元座標情報と、前記参照視点位置ごとのカメラパラメータとを算出する事前処理ステップと、
任意に定められる任意合成視点位置のカメラパラメータを取得し、前記事前処理部が算出する前記画像対応点の三次元座標情報と、前記参照視点位置ごとのカメラパラメータと、前記任意合成視点位置のカメラパラメータとに基づいて、前記参照視点位置において撮像された前記画像データを、前記任意合成視点位置の視点方向に位置する投影平面であって前記任意合成視点位置の画像平面と平行である投影平面に投影して投影画像データを生成する投影画像生成ステップと、
請求項1から4のいずれか一項に記載の学習装置が生成した学習済みデータを取り込み、前記学習装置のディープニューラルネットワークと同一の前記ディープニューラルネットワークに取り込んだ前記学習済みデータを適用し、前記学習済みデータを適用した前記ディープニューラルネットワークに対して、前記投影画像生成部が生成する前記投影画像データを入力データとして与え、前記任意合成視点位置において合成した画像データを出力する画像合成ステップと、
を有する画像合成方法。 - 請求項1から4のいずれか一項に記載の学習装置、又は請求項5に記載の画像合成装置をコンピュータに実現させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017134024A JP2019016230A (ja) | 2017-07-07 | 2017-07-07 | 学習装置、画像合成装置、学習方法、画像合成方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017134024A JP2019016230A (ja) | 2017-07-07 | 2017-07-07 | 学習装置、画像合成装置、学習方法、画像合成方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019016230A true JP2019016230A (ja) | 2019-01-31 |
Family
ID=65356586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017134024A Pending JP2019016230A (ja) | 2017-07-07 | 2017-07-07 | 学習装置、画像合成装置、学習方法、画像合成方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019016230A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022036131A (ja) * | 2019-07-01 | 2022-03-04 | 株式会社アクセル | 学習装置、推論装置、学習方法、推論方法、コンピュータシステムおよびプログラム |
CN114173063A (zh) * | 2022-02-11 | 2022-03-11 | 杭州灵西机器人智能科技有限公司 | 基于可变焦镜头的结构光相机对焦方法及结构光相机 |
KR20220138707A (ko) * | 2021-04-06 | 2022-10-13 | 네이버 주식회사 | 기계 학습을 위한 학습 데이터 생성 방법 및 시스템 |
KR20220155496A (ko) * | 2021-05-14 | 2022-11-23 | 주식회사 넥스트칩 | 차량의 운행 정보와 관련된 그래픽 객체 출력 방법 및 장치 |
-
2017
- 2017-07-07 JP JP2017134024A patent/JP2019016230A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022036131A (ja) * | 2019-07-01 | 2022-03-04 | 株式会社アクセル | 学習装置、推論装置、学習方法、推論方法、コンピュータシステムおよびプログラム |
JP7321579B2 (ja) | 2019-07-01 | 2023-08-07 | 株式会社アクセル | 学習装置、推論装置、学習方法、推論方法、コンピュータシステムおよびプログラム |
KR20220138707A (ko) * | 2021-04-06 | 2022-10-13 | 네이버 주식회사 | 기계 학습을 위한 학습 데이터 생성 방법 및 시스템 |
KR102581001B1 (ko) | 2021-04-06 | 2023-09-21 | 네이버 주식회사 | 기계 학습을 위한 학습 데이터 생성 방법 및 시스템 |
KR20220155496A (ko) * | 2021-05-14 | 2022-11-23 | 주식회사 넥스트칩 | 차량의 운행 정보와 관련된 그래픽 객체 출력 방법 및 장치 |
KR102529835B1 (ko) | 2021-05-14 | 2023-05-08 | 주식회사 넥스트칩 | 차량의 운행 정보와 관련된 그래픽 객체 출력 방법 및 장치 |
CN114173063A (zh) * | 2022-02-11 | 2022-03-11 | 杭州灵西机器人智能科技有限公司 | 基于可变焦镜头的结构光相机对焦方法及结构光相机 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10944960B2 (en) | Free-viewpoint video generating method and free-viewpoint video generating system | |
JP5011168B2 (ja) | 仮想視点画像生成方法、仮想視点画像生成装置、仮想視点画像生成プログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
KR100721536B1 (ko) | 2차원 평면상에서 실루엣 정보를 이용한 3차원 구조 복원방법 | |
JP5156837B2 (ja) | 領域ベースのフィルタリングを使用する奥行マップ抽出のためのシステムおよび方法 | |
US20180192033A1 (en) | Multi-view scene flow stitching | |
JP7105246B2 (ja) | 再構成方法および再構成装置 | |
JP7227969B2 (ja) | 三次元再構成方法および三次元再構成装置 | |
CN110998669A (zh) | 图像处理装置和方法 | |
JP2019016230A (ja) | 学習装置、画像合成装置、学習方法、画像合成方法、及びプログラム | |
JP2013038775A (ja) | 高速反射屈折式ライトフィールドレンダリングのための光線画像モデル化 | |
JPWO2008050904A1 (ja) | 高解像度仮想焦点面画像生成方法 | |
JP7202087B2 (ja) | 映像処理装置 | |
JP6541920B1 (ja) | 情報処理装置、プログラム及び情報処理方法 | |
JP7170224B2 (ja) | 三次元生成方法および三次元生成装置 | |
JP2018124939A (ja) | 画像合成装置、画像合成方法、及び画像合成プログラム | |
KR102454167B1 (ko) | 가상 시점 영상 생성 방법 및 장치 | |
KR20200021891A (ko) | 라이트 필드의 중간 뷰 합성 방법, 라이트 필드의 중간 뷰 합성 시스템과 라이트 필드 압축 방법 | |
JP2019128641A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP2018067106A (ja) | 画像処理装置、画像処理プログラム、及び画像処理方法 | |
WO2018052100A1 (ja) | 画像処理装置、画像処理方法、画像処理プログラム | |
JP6285686B2 (ja) | 視差画像生成装置 | |
Nonaka et al. | Fast plane-based free-viewpoint synthesis for real-time live streaming | |
JP5373931B2 (ja) | 仮想視点画像生成方法,仮想視点画像生成装置および仮想視点画像生成プログラム | |
KR101293576B1 (ko) | 3차원 집적 영상디스플레이의 깊이조절시스템 | |
US20150145861A1 (en) | Method and arrangement for model generation |