JP2016024490A - 画像処理装置、画像処理方法およびプログラム - Google Patents

画像処理装置、画像処理方法およびプログラム Download PDF

Info

Publication number
JP2016024490A
JP2016024490A JP2014145921A JP2014145921A JP2016024490A JP 2016024490 A JP2016024490 A JP 2016024490A JP 2014145921 A JP2014145921 A JP 2014145921A JP 2014145921 A JP2014145921 A JP 2014145921A JP 2016024490 A JP2016024490 A JP 2016024490A
Authority
JP
Japan
Prior art keywords
distance
image
pixel
virtual viewpoint
viewpoint
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
Application number
JP2014145921A
Other languages
English (en)
Inventor
知宏 西山
Tomohiro Nishiyama
知宏 西山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2014145921A priority Critical patent/JP2016024490A/ja
Publication of JP2016024490A publication Critical patent/JP2016024490A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

【課題】 仮想視点画像の生成処理において、仮想視点画像に生じる画質の低下を抑制する。
【解決手段】 画像データから、仮想視点から観察した場合の画像である仮想視点画像を生成する画像処理装置が、画像データを入力する画像入力手段と、前記画像データに対応する視点から被写体までの距離を示す距離情報を入力する距離入力手段と、前記仮想視点から前記被写体までの距離を推定し、前記推定された距離と、前記距離情報が示す距離とを比較することで、前記仮想視点画像の各画素と、前記画像データが示す画像の各画素との間の対応関係を導出する導出手段と、前記対応関係に基づいて前記画像データから前記仮想視点画像を生成する生成手段とを有する。
【選択図】 図9

Description

本発明は、仮想視点から観察した場合の画像を生成する技術に関する。
複数の異なる視点(撮像視点)から撮像した複数の画像(撮像画像)と、撮像視点から被写体までの距離情報とに基づいて、撮像視点とは異なる視点である仮想視点から見た被写体の画像(仮想視点画像)を生成する手法が存在する。特許文献1では、撮像視点から見た距離マップ(各画素に対応する被写体距離が格納されたデータ)を仮想視点の撮像センサ面に投影することで仮想視点から見た距離マップを生成することが記載されている。そして、仮想視点から見た距離マップに基づいて撮像画像の画素値を仮想視点の撮像センサ面に射影することで、仮想視点画像を生成することが記載されている。
なお、上記のような方法を用いた場合、仮想視点から見た距離マップにおいて、1つの撮像視点から距離情報を直接投影できず、距離情報が欠落してしまう欠落領域が表れてしまう場合がある。距離情報が欠落する欠落領域の種類としては、手前の被写体に遮蔽されることで撮像視点から見えなかったオクルージョン領域に対応するものと、対応部分が撮像画像中の画素と画素の間に位置し、撮像視点から射影が行われない中間領域に対応するものがある。特許文献1に記載の方法では、オクルージョン領域に対応する欠落領域は他の視点で撮像された画像の情報を用いて補間し、撮像画像の画素と画素の間の中間領域に対応する欠落領域には平滑化処理を行うことで、欠落領域を補間している。
特許第3593466号
しかしながら、特許文献1に記載の技術のように、欠落領域に単純な平滑化処理を行ってしまうと、現実とは乖離した情報を持つ距離マップが生成される場合がある。そのような距離マップを用いて仮想視点画像を生成すると、仮想視点画像にゴーストなどの偽信号が発生して画質が低下してしまう場合があった。そこで本発明は、仮想視点画像の生成処理において、仮想視点画像に生じる画質の低下を抑制することを目的とする。
上記の課題を解決するために、本発明に係る画像処理装置は、画像を示す画像データから、前記画像データに対応する視点とは異なる視点である仮想視点から観察した場合の画像である仮想視点画像を生成する画像処理装置であって、画像を示す画像データを入力する画像入力手段と、前記画像データに対応する視点から被写体までの距離を示す距離情報を入力する距離入力手段と、前記仮想視点から前記被写体までの距離を推定し、前記推定された距離と、前記距離情報が示す距離とを比較することで、前記仮想視点画像の各画素と、前記画像データが示す画像の各画素との間の対応関係を導出する導出手段と、前記導出手段により導出された前記対応関係に基づいて、前記画像データから前記仮想視点画像を生成する生成手段とを有することを特徴とする。
本発明によれば、仮想視点画像の生成処理において、仮想視点画像に生じる画質の低下を抑制することができる。
撮像部の配置の例を示す図。 実施例1の撮像装置の構成を示すブロック図。 実施例1の画像処理部の構成を示すブロック図。 実施例1の画像処理部で行われる処理の流れを示すフローチャート。 距離の定義の例を示す図。 表示画像の例を示す図。 実施例1の距離推定処理を説明する図。 実施例1の効果を示す図。 実施例2の画像処理部で行われる処理の流れを示すフローチャート。 実施例3の画像処理部で行われる処理の流れを示すフローチャート。
(実施例1)
本実施例では、仮想視点から観察した被写体の距離情報を仮想視点画像の各画素について推定し、その推定結果を撮像視点の距離マップと比較することで、仮想視点から見た被写体の距離情報を決定する場合について説明する。この処理によって仮想視点の距離マップを生成すると、本来撮像視点の距離マップから直接距離情報を投影できない領域に存在する画素における距離情報についても、撮像視点から見た距離情報に基づいて精度よく求めることができる。そのため、距離マップに基づいて生成された仮想視点画像の画質も向上する。
なお、本実施例では、複数の撮像部を有する撮像装置(多眼カメラ)によって撮像された複数の画像を用いて、仮想視点画像を生成する画像処理装置について説明する。本実施例の多眼カメラは、画像処理装置としての機能も有し、カメラ内の処理で仮想視点画像を生成するが、画像を撮像する多眼カメラと仮想視点画像を生成する画像処理装置を別の装置として構成しても良い。図1を用いて、撮像視点と仮想視点の位置関係の例を説明する。図1(a)では、撮像部101〜104が、本実施例の多眼カメラが有する撮像部を示し、撮像部110は実際には存在しない仮想撮像部を示している。撮像部101〜104はそれぞれ被写体120を撮像し、撮像部101〜104で得られた画像を用いて、仮想撮像部110に対応する仮想視点画像が生成される。以下の説明では、撮像部101〜104に対応する視点を撮像視点、仮想撮像部110に対応する視点を仮想視点、撮像部101〜104により撮像される画像を撮像画像と呼ぶこととする。なお、図1(a)では、4つの撮像部を用いた場合を示しているが、撮像部の数は4つに限られず、複数の視点から被写体を撮像した画像が得られる構成であれば、どのような構成を用いてもよい。例えば、複数の微小な凸レンズを二次元状に並べたマイクロレンズアレイを撮像センサと撮像レンズの間に配したプレノプティック撮像部を用いてもよい。プレノプティック撮像部では複数の視点から被写体を見た画像を、1つの撮像部を用いて同時に撮影することが可能である。また、例えば、図1(b)に示すように、1台のカメラ105を動かしながら被写体120を撮影することで、複数の視点に対応する画像データを得るようにしてもよい。なお、図1(b)において、曲線106はカメラ105を動かした場合の軌跡を示している。
本実施例では、簡単のため、撮像部101〜104の画角はすべて等しいとし、仮想視点画像に対応する仮想撮像部110の画角も同一であるとする。また、撮像部101〜104の位置姿勢(各撮像部の位置と方向)は既知であるとする。なお、撮像部101〜104の位置姿勢はstructure from motionなどの既知の手法を用いて、撮像された画像データから推定するようにしてもよい。本実施例では、図1(a)に示すように4台の撮像部を有する多眼カメラを用いた場合について説明する。
図2は、本実施例に係る多眼カメラの画像処理装置の内部構成を示すブロック図である。中央処理装置(CPU)201は、以下に述べる各部を統括的に制御するプロセッサである。RAM202は、CPU201の主メモリ、ワークエリア等として機能するメモリであり、ROM203は、CPU201で実行される制御プラグラム等を格納するメモリである。バス204は、各種データの転送経路であり、例えば、撮像部101によって取得された撮像画像データは、このバス204を介して所定の処理部に送られる。操作部205はユーザの指示を受け取る入力装置であり、具体的にはボタンやモードダイヤルなどが含まれ、撮像指示やズーム指示などを受け取ることができる。
表示部206は撮像画像や文字の表示を行う表示装置であり、例えば、液晶ディスプレイが用いられる。また、表示部206はタッチスクリーン機能を有していてもよく、その場合はタッチスクリーンを用いた撮像指示やズーム指示などのユーザ指示を操作部205の入力として扱うことも可能である。表示制御部207は、表示部206に表示される画像や文字の表示制御を行う制御回路である。撮像制御部208は、フォーカスを合わせる、シャッターを開く・閉じる、絞りを調節するなどの、CPU201からの指示に基づいた撮像部の制御を行う制御回路である。デジタル信号処理部209は、バス204を介して受け取った撮像画像データに対し、ホワイトバランス処理、ガンマ処理、ノイズ低減処理などの各種処理を行う処理回路である。
エンコード部210は、撮像画像データをJPEGやMPEGなどのファイルフォーマットに変換する処理を行う処理回路である。外部メモリ制御部211は、撮像部101を、外部メモリ212(例えば、PC、ハードディスク、メモリーカード、CFカード、SDカード、USBメモリ)に接続するためのインターフェースである。画像処理部213は、撮像部101で取得された画像データや、デジタル信号処理部209から出力される画像データを用いて仮想撮像部110に対応する仮想視点画像の生成などの画像処理を行う処理回路である。以上が本実施例の撮像装置の構成である。なお、本発明の撮像装置の構成は上記の物に限られず、一部の構成部を省いたり、別の構成部に置き換えたりしてもよい。また、上記で説明しなかった更なる構成部を追加してもよい。
以下、本発明の撮像装置で行われる処理について説明する。図3は画像処理部213のブロック図、図4は画像処理部213で行われる処理の流れを示すフローチャートである。本実施例の撮像装置は、CPU201がROM203に格納された図4のフローチャートに示すプログラムを読み込んで画像処理部213を図3に示す各構成部として制御することにより、仮想視点画像の生成を行う。以下、画像処理部213で行われる処理の詳細について、図3および図4を参照して説明する。
まず、ステップS401では、画像取得部301が撮像部101〜104で撮像された撮像画像を示す画像データを取得し、取得した画像データを生成部306に出力する。なお、ここで取得される画像データは、撮像部101〜104から直接出力されたものに限られず、デジタル信号処理部209や外部メモリ212から出力された画像データを取得するようにしてもよい。
ステップS402では、距離取得部302が、各撮像視点に対応する距離情報を取得する。ここで取得される距離情報は、各撮像視点から撮像画像の各画素に対応する被写体上の点までの距離を、各画素について格納した画像データである距離マップである。距離マップでは、各画素に対応する被写体の距離情報が画素値で表現される。なお、距離マップの形式はこれに限られず、各画素に対応する距離情報が格納されたデータで有ればどのようなものを用いてもよい。また、画素値でなくとも画素値から求められる輝度値などでもよく、さらに、画素ごとではなく、複数の画素で構成される画像領域ごとに被写体距離を格納したデータを距離マップとして取得してもよい。
本実施例での距離情報の定義を図5に示す。図5において、点501は撮像部101から観察される被写体上の点であり、ベクトル502は撮像部101から見た点501の位置ベクトル、ベクトル503は、撮像部101の光軸方向の単位ベクトルである。この時、撮像部101から、点501を通る撮像部101の光軸に垂直な平面までの距離504を撮像部101から見た場合における点501までの距離であると定義する。この時、点501までの距離504は、ベクトル502とベクトル503の内積で表わすことができる。なお、距離の定義は上記のものに限られず、上記で定義した距離の値と相関を持つ値であればどのような値を用いてもよい。
距離マップの取得方法としては、既知の様々な手法を用いることが可能である。例えば、赤外線を利用した測距センサを用いて距離を取得する方法や、異なる視点から撮像された画像データ間の視差に基づいて算出する方法などが利用可能である。本実施例においては、撮像部101〜104がそれぞれ測距センサを有しており、画像データの撮像と同時に各視点に対応する距離マップを取得しているものとする。距離取得部302は、撮像部101〜104から入力された距離マップを取得すると、設定部304と比較部305とに出力する。
ステップS403では、位置姿勢取得部303(以下、位置取得部303とする)が、撮像部101〜104と、仮想撮像部110との位置姿勢を示す情報を取得する。本実施例では、撮像部101〜104の位置姿勢については既知であり、各撮像部間の距離や方向などを示す設計パラメータがROM203に記憶されている。仮想撮像部110の位置は、図6に示すような表示画面に基づいてユーザが設定可能である。図6において、画像600は表示部206に表示される画像であり、ユーザに仮想視点の位置の設定を促すダイアログが含まれている。アイコン601〜604はそれぞれ撮像部101〜104に対応しており、画像600中で、撮像部101〜104の間の位置関係に対応する位置に配置されている。アイコン610は仮想撮像部110に対応しており、ユーザは操作部205の操作によりこのアイコン610を移動および回転することで、所望の位置姿勢に仮想視点を設定することが可能である。位置取得部303は、ROM203から撮像部101〜104の位置姿勢を取得し、更に操作部205の操作によって入力された信号と撮像部101〜104とに基づいて仮想撮像部110の位置姿勢を算出する。位置取得部303は、取得した撮像部101〜104と仮想撮像部110の位置姿勢を設定部304と比較部305とに出力する。なお、ここで取得される位置姿勢の情報は上記の形態に限られず、撮像部101〜104と仮想撮像部110の位置関係を表わす情報であればどのようなものでもよい。
ステップS404では、設定部304が、距離取得部302から入力された距離マップと、位置取得部303から入力された位置姿勢とに基づいて、仮想視点において距離推定に用いる距離の候補を設定する。以下、距離候補の設定の詳細について説明する。
まず、距離候補設定の前提として、本実施例で行われる距離推定処理について説明する。図7は、本実施例で行われる距離推定の概念図である。図7において、軸701は世界座標を示す座標軸であり、世界座標の軸は仮想撮像部110の座標軸と一致している。すなわち、世界座標のz軸は仮想撮像部110の光軸と平行であり、世界座標のxy平面は仮想撮像部110のセンサ面と平行になっている。図7において、平面702と平面703は、それぞれ撮像部101と仮想撮像部110のセンサ面を示している。本実施例の距離推定では、仮想視点画像のある画素位置に対応する被写体距離を、仮想撮像部110に近い側から遠い側へ順に推定していき、その推定結果を撮像視点の距離マップと比較する。図7において、平面710〜713は推定する被写体距離に対応する平面である。例えば、仮想視点画像上の画素704に対応する被写体が、点707として平面711上に存在すると推定した場合、その被写体は撮像部101のセンサ面では画素705に射影されているはずである。そこで、距離推定において、撮像部101に対応する距離マップが参照される。そして、画素705に対応するとして格納されている距離情報が、推定に用いた平面711に対応する距離情報と整合していた場合、推定に用いた距離が正しかったとして、画素704に対応する被写体距離が決定される。
上記のような距離推定を行う場合、被写体が存在しえない距離を距離推定に用いる距離の候補に含めても無駄なので、設定部304は、撮像部101〜104に対応する距離マップを参照して、距離の候補を被写体が存在する範囲に限定する。
撮像部101をi番目の撮像部とし、位置ベクトルを(Xcam,i,Ycam,i,Zcam,i)、画素705に対応する画像座標を(u,v)[pixel]とする。また、i番目の撮像部に対応する画像の主点位置を(cxi,cyi)[pixel]とする。撮像部101における距離マップをd(u,v)とし、撮像部101、仮想撮像部110の焦点距離をf[pixel](実際の焦点距離を画素ピッチで除算した値)とする。このとき、点707の撮像部101におけるカメラ座標(xPi,yPi,zPi)(撮像部101の位置を基準とした座標)は以下のように記述される。
Figure 2016024490
図7において定義された世界座標701に対する撮像部101のカメラ座標の回転行列をRとすると、点707の世界座標(X,Y,Z)は
Figure 2016024490
と表される。仮想撮像部110の世界座標を(Xvcam,Yvcam,Zvcam)とすると、仮想撮像部110から点707までの距離は、Z−Zvcamで表される。そこで、設定部304は、全ての画素位置(u,v)について式(1)(2)を用いてZ−Zvcamを計算し、Z−Zvcamの最小値dmin,iと最大値dmax,iを算出する。[dmin,i,dmax,i]は、撮像部101に写っている被写体を仮想撮像部110から見た場合の被写体の存在範囲である。これを撮像部102〜104についても計算し、[min_i(dmin,i),max_i(dmax,i)]を距離推定に用いる距離候補の範囲とする。設定部304は、上記の方法により決定した距離の範囲の中で、距離推定に用いる距離の候補を設定する。距離候補の設定の間隔は自由だが、画素値の差で表現可能な範囲でなるべく細かく設定するのが好ましい。本実施例では距離候補の範囲の最小値から最大値までの間で10mm間隔で設定するものとする。設定部304は、設定した距離候補の値を比較部305に出力する。
ステップS405では、比較部305が、仮想視点画像において、撮像部101〜104のいずれからも見えていない領域を示すオクルージョンマップを初期化する。オクルージョンマップは、オクルージョン領域に対応する画素位置には1が、オクルージョン領域に対応しない画素位置には0が入力されるデータであり、ここでは比較部305がオクルージョンマップの値を全て0に書き換える。オクルージョン領域には後述する撮像画像からの画素値の射影が行えないので、オクルージョン領域では画素値の射影処理が行われない。
ステップS406では、比較部305が、距離推定を行う仮想視点画像の画素(着目画素)を決定する。比較部305は、着目画素を初めて決定する場合には画像の一番左上の画素を、既に以前に着目画素が決定されている場合には、前に決定された着目画素の隣の画素を着目画素として決定する。このような順番で着目画素を決定した方が画素の参照の順番として効率的であるが、着目画素の決定の順番はこれに限られず、様々な順番を自由に用いてよい。
ステップS407では、比較部305が、設定部304から出力された距離候補の中から、距離推定に用いる距離候補を1つ選択する。距離候補の選択は、距離が最も小さい距離候補から距離が最も大きい距離候補に向かって順番に行うものとする。これは、本来手前の被写体に隠れて仮想視点からは観察できない背景部の距離が推定されてしまうことを防ぐためである。なお、距離候補の選択方法はこれに限られず、全ての距離候補をランダムに選択して撮像視点の距離マップとの比較を行ってから、正しい距離候補として判定された複数の距離候補のうち距離が最も小さいものを選択するようにしてもよい。
ステップS408では、比較部305が、位置取得部303から入力された位置姿勢と、ステップS406で決定された注目画素の座標とを用いて、ステップS407で選択された距離候補を撮像部101〜104の視点から見た場合の値に換算する。以下、距離候補の換算について再び図7を参照して説明する。
撮像部101をi番目の撮像部であるとし、点704(着目画素)に対応する画像座標を(u,v)[pixel]とする。また。センサ面703の主点位置を(c,c)[pixel]、仮想撮像部110の世界座標701における位置ベクトルを(Xvcam,Yvcam,Zvcam)とする。また、撮像部101、仮想撮像部110の焦点距離をf[pixel]とする。ステップS407で選択された距離候補の値をdとすると、点707の世界座標(X,Y,Z)は以下のように記述される。
Figure 2016024490
世界座標701に対する撮像部101のカメラの回転行列をRとし、撮像部101の位置ベクトルを(Xcam,i,Ycam,i,Zcam,i)とする。また、点705に対応する画像座標を(u,v)[pixel]、センサ面702の主点位置を(cxi,cyi)[pixel]とする。このとき、点707の世界座標を以下の式で記述することができる。
Figure 2016024490
ここで、tは適当な定数である。これをu,vについて解くと、
Figure 2016024490
となる。右辺の変数は、tを除いて既知であり、z成分の式から、tを求めることができるので、求めたtを式(3)に代入して、(u,v)を求めることができる。次に、比較部305は、距離候補dを元に、撮像部101から見た被写体の距離値dを算出する。撮像部101のカメラ座標における点707の座標は以下の式で表される。
Figure 2016024490
式(6)におけるz座標が、撮像部101から見た点707の距離値に相当する。比較部305は、式(3)〜式(6)に基づいてiの値を変化させながら撮像部101〜104の全てについて、座標(u,v)と距離値diを算出する。
ステップS409では、比較部305が、撮像部101〜104の距離マップを参照し、ステップS408で算出された画素位置(u,v)における距離値を、ステップS408で換算した距離候補と比較する。なお、ステップS408で算出された画素位置(u,v)が整数値ではない場合には、周囲の画素の距離情報に基づいて線型補間やバイキュービック補間などの公知の補間方法を用いて生成された補間値との比較を行う。
ステップS410では、比較部305が、比較の結果、距離値が整合する撮像部が存在するかどうかを判定する。ここでは、距離候補の値と、撮像部101〜104の距離マップが示す距離値との差が閾値以下である場合には、距離候補とその撮像部の距離が整合していると判定する。本実施例では閾値を、距離候補の間隔と同じ10mmとしているが、この値は自由に設定可能である。例えば、より高い精度を求める場合には距離候補の間隔よりも小さい値を閾値としてもよい。距離値が整合する撮像部が存在すると判定された場合は、ステップS411に進む。距離値が整合する撮像部が存在しないと判定された場合は、ステップS412に進む。
ステップS411では、比較部305が、着目画素に対応する被写体距離を決定する。
距離値の決定方法としては、その時に用いられている距離候補をそのまま着目画素に対応する被写体距離とする方法がある。この方法で距離値を決定すれば、距離値の決定に要する処理量が小さくなる。その他に、距離値が整合するとして判定された撮像部から見た距離値を仮想視点に変換した値を着目画素に対応する被写体距離としてもよい。この方法では、距離候補をそのまま着目画素に対応する被写体距離とする場合に比べ、より精度の高い距離値の決定を行うことができる。また、距離値が整合するとして判定された撮像部が複数存在する場合には、各撮像部から見た距離値を仮想視点に変換した値を、仮想撮像部から各撮像部への距離に応じて以下の式に基づく重みを用いた重みづけ平均した値を用いてもよい。
Figure 2016024490
ここで、rは仮想撮像部からの対象の撮像部までの距離wは重み値である。この方法によれば、複数の撮像部の情報を効率よく距離値の決定に用いることができるので、より精度の高い距離値の決定を行うことができる。なお、重み係数の決め方は、式(7)に限られない。例えば、対応する画素位置が整数値に近い撮像部の重みを大きくしても距離値の精度を上げることができる。また、距離値の精度が少し下がるものの、単に各撮像部に対応する距離値を平均した値を着目画素に対応する被写体距離としてもよい。比較部305は着目画素に対応する被写体距離を決定したら、ステップS414に進む。
ステップS412では、比較部305が、全ての距離候補について距離値の比較が行われたかどうかを判定する。全ての距離候補について距離値の比較が行われたと判定された場合は、ステップS413に進む。全ての距離候補について距離値の比較が行われていないと判定された場合は、ステップS407に戻り、新たな距離候補を選択する。
ステップS413では、比較部305が、着目画素をオクルージョン領域として設定する。全ての距離候補について距離値が整合する撮像部が存在しない場合、その画素は撮像部101〜104のいずれからも見えていない領域であるということを意味する。本実施例では、そのような領域をオクルージョン領域として設定し、その画素については撮像画像からの画素値の射影を行わない。このステップでは、比較部305が、オクルージョン領域を示すオクルージョンマップの着目画素に対応する位置の値を、着目画素がオクルージョン領域であることを示すフラグとなる値である1に書き換え、ステップS414に進む。
ステップS414では、比較部305が、仮想視点画像の全ての画素について距離情報の推定が行われたかどうかを判定する。全ての画素について距離情報の推定が行われたと判定された場合、ステップS415に進む。全ての画素について距離情報の推定が行われていないと判定された場合、ステップS406に戻り、新たな着目画素を決定する。
ステップS415では、比較部305が、ステップS414までの過程で生成された、仮想視点の距離マップとオクルージョンマップとを、生成部306に出力する。この時、比較部305は、ステップS410で距離値が整合するとして判定された撮像部を各画素について示す情報も、生成部306に出力するものとする。
ステップS416では、生成部306が、画像取得部301から入力された画像データと、位置取得部303から入力された位置姿勢と、比較部305から入力された仮想視点の距離マップとオクルージョンマップとに基づいて、仮想視点画像を生成する。生成部306は、取得した各パラメータを式(3)〜式(5)に代入することで、仮想視点画像の各画素に対応する各撮像画像中の画素位置を算出し、その画素位置に対応する画素値を仮想視点画像の画素値とする。なお、各画素で射影に用いる画像は、ステップS410で距離値が整合するとして判定された撮像部によって撮像された画像に限定する。射影元の画素位置が整数値にならなかった場合には、距離情報の決定の場合と同様に、周囲の画素の画素値に基づいて線型補間やバイキュービック補間などの公知の補間方法を用いて生成された補間値を射影する。なお、射影元となる撮像部が複数存在する場合には、各撮像部に対応する画像の画素値を、仮想撮像部から各撮像部への距離に応じて式(7)に示す重みを用いて重みづけ平均した値を、仮想視点画像の画素値とする。なお、距離値の決定の時と同様に、各視点の画像の画素値を単純平均したものを仮想視点画像の画素値とすれば画素値算出の為の処理量は低減されるが、上記の方法に比べて画素値の精度は少し落ちることになる。
本実施例の効果の一例を図8、図9に示す。図8(a)において、画像801はある視点から見た距離マップであり、被写体802は手前から奥に向かって斜めに置かれた板、被写体803は円柱である。距離マップで色の黒いところほど、撮像部から見て手前にあることを示している。画像804は、同じ視点に対応するカラー画像データを示している。図8(b)は従来手法に従って、撮像視点より被写体803側に近づけた仮想視点に対応する仮想視点画像を生成した例である。画像805は仮想視点画像であり、画像805では、被写体802の像において、画素値が欠落した欠落領域806が現れている。
図8(c)は、本実施例の手法を用いて、撮影視点より被写体803側に近づけた仮想視点に対応する仮想視点画像を生成した例である。画像807は仮想視点画像であり、画像807を画像805と比較すると、画像の破たんが少なく、画質が良好な仮想視点画像が生成されていることが分かる。
なお、本実施例において、画像取得部301は画像を示す画像データを入力する画像入力手段として機能する。また、距離取得部302は、前記画像データに対応する視点から被写体までの距離を示す距離情報を入力する距離入力手段として機能する。また、位置取得部303は、前記画像データに対応する視点と前記仮想視点との位置関係を示す位置情報を入力する位置入力手段として機能する。また、比較部305は、前記仮想視点から前記被写体までの距離を推定する。そして、前記推定した距離と、前記距離情報が示す距離とを比較し、前記推定した距離と前記距離情報が示す距離との差に基づいて、前記仮想視点から前記被写体までの距離を決定する決定手段として機能する。また、生成部306は、前記決定手段が決定した前記仮想視点から見た前記被写体までの距離と、前記位置情報とに基づいて、前記仮想視点画像の各画素と、前記画像データが示す画像の各画素との間の対応関係を導出する。そして、導出した対応関係に基づいて、前記仮想視点画像を生成する生成手段として機能する。
(実施例2)
実施例1では、仮想視点画像の各画素について推定した距離マップを用いて仮想視点画像を生成する例について説明した。しかし、本発明を用いれば、距離マップを生成せずとも精度の良い仮想視点画像を生成することが可能である。実施例2では、推定距離の比較に基づいて導出した、仮想視点画像の画素と撮像画像の画素との対応関係を直接用いて、仮想視点画像の画素値を決定する場合について述べる。
実施例2の多眼カメラの構成と画像処理部213の構成は実施例1と同様なので、説明を省略する。以下、実施例2の画像処理部213で行われる処理について、図9に示すフローチャートを参照して説明する。なお、実施例1と同様の処理については同じ符号を付して説明を省略する。
ステップS901では、比較部305が、距離値が整合するとして判定された撮像部が撮像した画像における、ステップS408で算出された、着目画素との対応画素位置(u,v)と、着目画素の座標を生成部306に出力する。ステップS902では、生成部306が、比較部305から入力された対応画素位置を、着目画素への射影元の画素位置として、ステップS416と同様にして着目画素の画素値を決定する。
上記の処理を用いると、実施例1とほぼ変わらない画質の仮想視点画像を、実施例1に比べて少ない処理量で生成することができる。
なお、本実施例において、画像取得部301は画像を示す画像データを入力する画像入力手段として機能する。また、距離取得部302は、前記画像データに対応する視点から被写体までの距離を示す距離情報を入力する距離入力手段として機能する。また、比較部305は、前記仮想視点から前記被写体までの距離を推定する。そして、前記推定された距離と、前記距離情報が示す距離とを比較することで、前記仮想視点画像の各画素と、前記画像データが示す画像の各画素との間の対応関係を導出する導出手段として機能する。また、生成部306は、前記導出手段により導出された前記対応関係に基づいて、前記画像データから前記仮想視点画像を生成する生成手段として機能する。また、設定部304は、前記仮想視点から見た前記被写体までの距離として、複数の異なる距離に対応する複数の距離候補を設定する設定手段として機能する。
(実施例3)
実施例1と実施例2では、比較部305が、ステップS409において、選択された距離候補を全ての撮像部の距離マップと比較した。実施例3では、一つの撮像部について距離値の比較を行った結果、距離が求まらなかった領域についてのみ他の撮像部との比較を行うようにすることで、距離値の変換に伴う処理量を削減する。
実施例3の多眼カメラの構成と画像処理部213の構成は実施例1および2と同様なので、説明を省略する。以下、本実施例の画像処理部213で行われる処理の流れについて、図10のフローチャートを用いて説明する。
本実施例の動作について図10、図11のフローチャートを用いて図5との差異のみ説明する。なお、実施例1および実施例2と同様の処理については同じ符号を付して説明を省略する。
ステップS1001では、比較部305が、オクルージョンマップを初期化する。ステップS405との違いは、オクルージョンマップの全ての画素の値を1に書き換える点である。
ステップS1002では、比較部305が、距離候補との比較を行う距離マップに対応する撮像部である着目撮像部を決定する。言い換えると、比較を行う距離マップに対応する視点である着目視点を決定する。最初の着目撮像部は、仮想撮像部110と最も視点が近い撮像部が選択されるとする。以降、このステップに戻るたびに、仮想撮像部110に近い撮像部から順に着目撮像部を選択していく。
ステップS1003では、比較部305が、着目画素を決定する。着目画素の決定の仕方は基本的にはステップS406と同じであるが、このステップではオクルージョンマップで1が入力されている画素のみを着目画素の候補とする。すなわち、それまでに距離推定で距離が求まらなかった画素のみが着目画素の候補となる。
ステップS1004では、比較部305が、距離候補の値を、着目撮像部から見た場合の値に換算する。換算の方法はステップS408と同様であり、ステップS408とこのステップとの違いは、換算を着目撮像部についてのみ行うという点である。
ステップS1005では、比較部305が、着目撮像部の視差マップを参照して、ステップS1002で換算された距離候補の値と比較する。ここでの比較の方法はステップS409と同様であり、ステップS409とこのステップとの違いは、比較の対象が着目撮像部のみであるということである。
ステップS1006では、比較部305が、ステップS1005での比較の結果、選択された距離候補が着目撮像部の距離マップの値と整合するかどうかを判定する。選択された距離候補が着目撮像部の距離マップの値と整合すると判定された場合、ステップS411に進む。選択された距離候補が着目撮像部の距離マップの値と整合しないと判定された場合、ステップS412に進む。
ステップS1007では、比較部305が、オクルージョンマップの着目画素に対応する画素位置の値を0に書き換える。
ステップS1008では、比較部305がオクルージョンマップを参照し、着目撮像部との比較の結果距離が求まらなかった領域があるかどうかを判定する。距離が求まらなかった領域があると判定された場合は、ステップS1009に進む。距離が求まらなかった領域が無いと判定された場合は、ステップS415に進み距離マップの出力を行う。
ステップS1009では、比較部305が、全ての撮像部との比較を行ったかどうか判定する。全ての撮像部との比較が行われたと判定された場合は、ステップS415に進み、距離マップの出力を行う。全ての撮像部との比較が行われていないと判定された場合、ステップS1002に戻り、新たな着目撮像部を決定する。
以上が本実施例における画像処理装置213で行われる処理である。以上の処理によれば、距離値の変換と比較に係る処理を削減することができるので、実施例1および実施例2の処理に比べて処理の高速化を行うことができる。
<その他の実施例>
実施例1および2では、仮想視点画像において、撮像部101〜104のどの撮像部からも見えなかったオクルージョン領域については、画素値の射影を行わず空隙領域として画像中に残していた。オクルージョン領域の処理についてはこの方法に限られず、例えば、平滑化フィルタを用いたりインペインティングの手法を用いて穴埋めするようにしてもよい。オクルージョン領域の穴埋めを行えば、オクルージョン領域が小さい場合などは現実の画像と遜色ない自然な画像を得ることができる。インペインティングの手法としては、拡散方程式を利用して、オクルージョン領域の境界から内側へ、輝度を徐々に変化させる補間手法や、画像内から類似部分を探索し、合成する方法など、様々な方法を利用してよい。
また、上記の実施例では、複数の視点で撮像された画像に基づいて仮想視点画像を生成したが、1つの視点で撮像された画像に上記の実施例による処理を行って仮想視点画像を生成するようにしてもよい。例えば撮像視点の光軸方向に沿って仮想視点を設定した場合など、オクルージョン領域がほとんど発生しない場合には、本発明を用いて良好な仮想視点画像を生成することができる。
また、本発明の構成は上記の実施例に限られず、上記の実施例を組み合わせてもよい。例えば、実施例2と3を組み合わせて、距離マップの生成を行わず、1つの撮像視点を用いて画素値が埋まらなかった領域について、他の視点の画像を用いて穴埋めを行うようにしてもよい。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
213 画像処理部
301 画像取得部
302 距離取得部
303 位置姿勢取得部
305 比較部
306 生成部

Claims (18)

  1. 画像を示す画像データから、前記画像データに対応する視点とは異なる視点である仮想視点から観察した場合の画像である仮想視点画像を生成する画像処理装置であって、
    画像を示す画像データを入力する画像入力手段と、
    前記画像データに対応する視点から被写体までの距離を示す距離情報を入力する距離入力手段と、
    前記仮想視点から前記被写体までの距離を推定し、前記推定された距離と、前記距離情報が示す距離とを比較することで、前記仮想視点画像の各画素と、前記画像データが示す画像の各画素との間の対応関係を導出する導出手段と、
    前記導出手段により導出された前記対応関係に基づいて、前記画像データから前記仮想視点画像を生成する生成手段とを有することを特徴とする画像処理装置。
  2. 前記対応関係は、前記仮想視点画像の各画素が、前記画像データが示す画像のどの画素に対応するかを示す情報であり、前記生成手段は、前記仮想視点画像の各画素の画素値を、前記画像データが示す画像において前記対応関係が示す画素の画素値を用いて決定することを特徴とする請求項1に記載の画像処理装置。
  3. 前記生成手段は、前記画像データが示す画像中において前記対応関係が示す画素の位置が整数値ではない場合、前記対応関係が示す画素位置の周囲の画素の画素値を用いて補間した値を前記仮想視点画像の画素値とすることを特徴とする請求項2に記載の画像処理装置。
  4. 前記画像データに対応する視点と前記仮想視点との位置関係を示す位置情報を入力する位置入力手段を更に備え、
    前記導出手段は、前記対応関係を導出する前記仮想視点画像の画素の位置と、前記位置情報が示す位置関係とに基づいて、前記推定した距離と前記距離情報が示す距離とを比較することを特徴とする請求項1乃至3のいずれか一項に記載の画像処理装置。
  5. 前記導出手段は、前記対応関係を導出する前記仮想視点画像の画素の位置と、前記位置情報が示す位置関係とに基づいて、前記推定した距離を、前記画像データに対応する視点から見た前記被写体までの距離に変換し、前記変換した距離と前記距離情報が示す距離とを比較することで、前記仮想視点画像の各画素と、前記画像データが示す画像の各画素との間の対応関係を導出することを特徴とする請求項4に記載の画像処理装置。
  6. 前記距離情報は、前記画像データが示す画像の各画素に対応する被写体上の点までの距離を示す距離マップであり、
    前記導出手段は、前記対応関係を導出する前記仮想視点画像の画素の位置と、前記位置情報が示す位置関係とに基づいて、前記距離マップにおいて前記推定した距離との比較に用いる距離を示す画素の位置を導出し、前記距離マップにおいて該導出した画素の位置に対応する距離と、前記推定した距離とが整合する場合に、前記画像データが示す画像中の、前記整合する距離に対応する画素の位置を、前記対応関係を導出する前記仮想視点画像の画素と対応する画素が存在する位置であると判定することを特徴とする請求項4又は5に記載の画像処理装置。
  7. 前記導出手段は、前記距離マップにおいて前記推定した距離との比較に用いる距離を示す画素の位置として、整数値ではない値が導出された場合、導出された画素位置の周囲の画素に対応する距離値を用いて補間した値と、前記推定した距離との比較を行うことを特徴とする請求項6に記載の画像処理装置。
  8. 前記仮想視点から見た前記被写体までの距離として、複数の異なる距離に対応する複数の距離候補を設定する設定手段を更に有し、
    前記導出手段は、前記複数の距離候補と前記距離情報が示す距離とを比較し、前記距離情報が示す距離と整合する距離候補に基づいて、前記対応関係を導出することを特徴とする請求項4乃至7のいずれか一項に記載の画像処理装置。
  9. 前記導出手段は、前記距離情報が示す距離と整合する距離候補が複数存在する場合、最も値の小さい距離候補に基づいて、前記対応関係を導出することを特徴とする請求項8に記載の画像処理装置。
  10. 前記導出手段は、前記距離候補のうち、距離の値が小さいものから順に前記距離情報が示す距離との比較を行い、比較を行った距離候補が前記距離情報が示す距離と整合すると判定されると、前記距離情報が示す距離と整合するとして判定された距離候補よりも値の大きい距離候補と前記距離情報が示す距離との比較を行わず、前記距離情報が示す距離と整合するとして判定された距離候補に基づいて前記対応関係を導出することを特徴とする請求項8又は9に記載の画像処理装置。
  11. 前記画像入力手段は、前記画像データとして複数の視点に対応する複数の画像を示す画像データを入力し、
    前記距離入力手段は、前記複数の視点から見た前記被写体までの距離を示す複数の距離情報を入力し、
    前記導出手段は、前記推定した距離と、前記複数の距離情報が示す距離とを比較し、前記複数の画像のうち、対応する距離情報が示す距離と前記推定した距離とが整合する画像を、前記仮想視点画像の画素と対応する画素を有する画像として判定し、前記対応関係を導出することを特徴とする請求項1乃至10のいずれか一項に記載の画像処理装置。
  12. 前記生成手段は、前記仮想視点画像の画素と対応する画素を有するとして判定された画像が複数存在する場合、前記仮想視点画像の画素と対応する画素を有するとして判定された複数の画像の画素値の重み付け平均によって前記仮想視点画像の画素値を決定することを特徴とする請求項11に記載の画像処理装置。
  13. 前記導出手段は、前記複数の視点のうちの一つを着目視点として設定し、前記設定された着目視点に対応する距離情報が示す距離と、前記推定手段が推定した距離とを比較することで、前記仮想視点画像の各画素と、前記着目視点に対応する画像の各画素との対応関係を導出し、
    前記導出手段は、前記仮想視点画像の各画素のうち、前記着目視点との比較の結果、前記対応関係が求まらなかった画素が存在する場合に、前記推定手段が推定した距離と、前記複数の視点のうち、前記着目視点とは異なる視点に対応する距離情報が示す距離との比較を行い、前記対応関係が求まらなかった画素について、前記着目視点とは異なる視点に対応する画像の画素との対応関係を導出することを特徴とする請求項11に記載の画像処理装置。
  14. 前記導出手段は、前記推定した距離と前記距離情報が示す距離との差が所定の閾値以下である場合に、前記推定した距離と前記距離情報が示す距離とが整合するとして判定することを特徴とする請求項6乃至13のいずれか一項に記載の画像処理装置。
  15. 画像を示す画像データから、前記画像データに対応する視点とは異なる視点である仮想視点から観察した場合の画像である仮想視点画像を生成する画像処理装置であって、
    画像を示す画像データを入力する画像入力手段と、
    前記画像データに対応する視点から被写体までの距離を示す距離情報を入力する距離入力手段と、
    前記画像データに対応する視点と前記仮想視点との位置関係を示す位置情報を入力する位置入力手段と、
    前記仮想視点から前記被写体までの距離を推定し、前記推定した距離と、前記距離情報が示す距離とを比較し、前記推定した距離と前記距離情報が示す距離との差に基づいて、前記仮想視点から前記被写体までの距離を決定する決定手段と、
    前記決定手段が決定した前記仮想視点から前記被写体までの距離と、前記位置情報とに基づいて、前記仮想視点画像の各画素と、前記画像データが示す画像の各画素との間の対応関係を導出し、導出した対応関係に基づいて、前記仮想視点画像を生成する生成手段とを有することを特徴とする画像処理装置。
  16. 画像を示す画像データから、前記画像データに対応する視点とは異なる視点である仮想視点から観察した場合の画像である仮想視点画像を生成する画像処理方法であって、
    画像を示す画像データを入力する画像入力工程と、
    前記画像データに対応する視点から被写体までの距離を示す距離情報を入力する距離入力工程と、
    前記仮想視点から前記被写体までの距離を推定し、前記推定した距離と、前記距離情報が示す距離とを比較することで、前記仮想視点画像の各画素と、前記画像データが示す画像の各画素との間の対応関係を導出する導出工程と、
    前記導出工程で導出された前記対応関係に基づいて、前記画像データから前記仮想視点画像を生成する生成工程とを含むことを特徴とする画像処理方法。
  17. 画像を示す画像データから、前記画像データに対応する視点とは異なる視点である仮想視点から観察した場合の画像である仮想視点画像を生成する画像処理方法であって、
    画像を示す画像データを入力する画像入力工程と、
    前記画像データに対応する視点から被写体までの距離を示す距離情報を入力する距離入力工程と、
    前記画像データに対応する視点と前記仮想視点との位置関係を示す位置情報を入力する位置入力工程と、
    前記仮想視点から前記被写体までの距離を推定し、前記推定した距離と、前記距離情報が示す距離とを比較し、前記推定した距離と前記距離情報が示す距離との差に基づいて、前記仮想視点から前記被写体までの距離を決定する決定工程と、
    前記決定工程で決定された前記仮想視点から前記被写体までの距離と、前記位置情報とに基づいて、前記仮想視点画像の各画素と、前記画像データが示す画像の各画素との間の対応関係を導出し、導出した対応関係に基づいて、前記仮想視点画像を生成する生成工程とを含むことを特徴とする画像処理方法。
  18. コンピュータを請求項1乃至15のいずれか一項に記載の画像処理装置の各手段として動作させるプログラム。
JP2014145921A 2014-07-16 2014-07-16 画像処理装置、画像処理方法およびプログラム Pending JP2016024490A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014145921A JP2016024490A (ja) 2014-07-16 2014-07-16 画像処理装置、画像処理方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014145921A JP2016024490A (ja) 2014-07-16 2014-07-16 画像処理装置、画像処理方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2016024490A true JP2016024490A (ja) 2016-02-08

Family

ID=55271236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014145921A Pending JP2016024490A (ja) 2014-07-16 2014-07-16 画像処理装置、画像処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2016024490A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180083245A (ko) * 2017-01-12 2018-07-20 한국전자통신연구원 멀티 카메라의 정보 처리 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180083245A (ko) * 2017-01-12 2018-07-20 한국전자통신연구원 멀티 카메라의 정보 처리 장치 및 방법
KR102430726B1 (ko) * 2017-01-12 2022-08-10 한국전자통신연구원 멀티 카메라의 정보 처리 장치 및 방법

Similar Documents

Publication Publication Date Title
JP5818514B2 (ja) 画像処理装置および画像処理方法、プログラム
US9208396B2 (en) Image processing method and device, and program
JP5725953B2 (ja) 撮像装置及びその制御方法、並びに情報処理装置
JP2015035658A (ja) 画像処理装置、画像処理方法、および撮像装置
JP6452360B2 (ja) 画像処理装置、撮像装置、画像処理方法およびプログラム
JP2015197745A (ja) 画像処理装置、撮像装置、画像処理方法及びプログラム
JP7123736B2 (ja) 画像処理装置、画像処理方法、およびプログラム
US9332195B2 (en) Image processing apparatus, imaging apparatus, and image processing method
WO2019055388A1 (en) 4D CAMERA TRACKING AND OPTICAL STABILIZATION
JP2015073185A (ja) 画像処理装置、画像処理方法およびプログラム
US20140192163A1 (en) Image pickup apparatus and integrated circuit therefor, image pickup method, image pickup program, and image pickup system
JP3990271B2 (ja) 簡易ステレオ画像入力装置、方法、プログラム、および記録媒体
JP2012247356A (ja) 撮像モジュール、撮像装置、画像処理装置及び画像処理方法。
JP5900017B2 (ja) 奥行き推定装置、再構成画像生成装置、奥行き推定方法、再構成画像生成方法及びプログラム
JP2013044597A (ja) 画像処理装置および方法、プログラム
CN116704111A (zh) 图像处理方法和设备
JP2016024490A (ja) 画像処理装置、画像処理方法およびプログラム
JP6320165B2 (ja) 画像処理装置及びその制御方法、並びにプログラム
JP2016005027A (ja) 情報処理装置、撮像装置、撮像システム、情報処理方法およびプログラム。
JP2018129825A (ja) 情報処理装置及び方法、情報処理システム、ならびにプログラム。
JP2018129025A (ja) 決定装置、画像処理装置、決定方法及び決定プログラム
JP6332982B2 (ja) 画像処理装置およびその方法
JP2013175821A (ja) 画像処理装置、画像処理方法およびプログラム
JP2015005200A (ja) 情報処理装置、情報処理システム、情報処理方法、プログラムおよび記憶媒体
JP2016081088A (ja) 画像処理装置、画像処理方法及びプログラム