特許第6953188号(P6953188)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許6953188画像処理システム、画像処理システムの制御方法、及び、プログラム
<>
  • 特許6953188-画像処理システム、画像処理システムの制御方法、及び、プログラム 図000002
  • 特許6953188-画像処理システム、画像処理システムの制御方法、及び、プログラム 図000003
  • 特許6953188-画像処理システム、画像処理システムの制御方法、及び、プログラム 図000004
  • 特許6953188-画像処理システム、画像処理システムの制御方法、及び、プログラム 図000005
  • 特許6953188-画像処理システム、画像処理システムの制御方法、及び、プログラム 図000006
  • 特許6953188-画像処理システム、画像処理システムの制御方法、及び、プログラム 図000007
  • 特許6953188-画像処理システム、画像処理システムの制御方法、及び、プログラム 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6953188
(24)【登録日】2021年10月1日
(45)【発行日】2021年10月27日
(54)【発明の名称】画像処理システム、画像処理システムの制御方法、及び、プログラム
(51)【国際特許分類】
   H04N 5/232 20060101AFI20211018BHJP
   G03B 15/00 20210101ALI20211018BHJP
   G06T 15/20 20110101ALI20211018BHJP
【FI】
   H04N5/232 290
   G03B15/00 H
   G06T15/20 500
   H04N5/232 480
【請求項の数】15
【全頁数】16
(21)【出願番号】特願2017-109284(P2017-109284)
(22)【出願日】2017年6月1日
(65)【公開番号】特開2018-207252(P2018-207252A)
(43)【公開日】2018年12月27日
【審査請求日】2020年5月29日
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110001243
【氏名又は名称】特許業務法人 谷・阿部特許事務所
(72)【発明者】
【氏名】小宮山 麻衣
【審査官】 中嶋 樹理
(56)【参考文献】
【文献】 米国特許出願公開第2016/0189421(US,A1)
【文献】 特開2014−158075(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/232
G03B 15/00
G06T 15/20
(57)【特許請求の範囲】
【請求項1】
複数の撮像装置の位置及び姿勢の少なくとも一方を表すパラメータを取得する取得手段と、
前記取得手段により前記パラメータを取得する際に用いられた複数の画像に基づいて、前記複数の撮像装置で撮像されることにより取得された複数の画像に対して補正を行う複数の補正手段と、
前記複数の補正手段により補正された複数の画像に基づいて、仮想視点画像を生成する生成手段と、
を有し、
前記複数の補正手段それぞれは、前記複数の撮像装置それぞれに対応して設けられ、対応する撮像装置で撮像されることにより取得された画像に対して前記補正を行う、
ことを特徴とする画像処理システム。
【請求項2】
複数の撮像装置の位置及び姿勢の少なくとも一方を表すパラメータを取得する取得手段と、
前記取得手段により前記パラメータを取得する際に用いられた複数の画像に基づいて、前記複数の撮像装置で撮像されることにより取得された複数の画像に対して補正を行う補正手段と、
前記補正手段により補正された複数の画像に基づいて、仮想視点画像を生成する生成手段と、
を有し、
前記補正手段は、前記複数の撮像装置のそれぞれに対して前記パラメータを取得する際に用いられた複数の画像のうち、所定の条件を満たす画像を、前記補正を行う際に用いる画像として決定する、
ことを特徴とする画像処理システム。
【請求項3】
前記所定の条件を満たす画像は、特徴点を撮像装置に当該撮像装置に対して取得された前記パラメータに基づいて投影した場合の当該撮像装置に対応する画像上における座標と、当該撮像装置に対して前記パラメータを取得する際に用いられた複数の画像のそれぞれにおける前記特徴点に対応する座標と、の差分が最も小さい画像である、ことを特徴とする請求項に記載の画像処理システム。
【請求項4】
前記補正手段は、前記特徴点が複数である場合、特徴点ごとに求めた差分の平均値もしくは合計値が最も小さい画像を、前記補正を行う際に用いる画像として決定することを特徴とする請求項に記載の画像処理システム。
【請求項5】
前記補正手段は、前記複数の特徴点ごとに求めた差分に対して、重み付けを行って得られた平均値もしくは合計値に基づき、前記補正を行う際に用いる画像を決定することを特徴とする請求項に記載の画像処理システム。
【請求項6】
前記重み付けは、前記差分が小さい特徴点ほどその信頼度を高くする重み付け、または、特徴点を検出した撮像装置の台数や画像の数が多い特徴点ほどその信頼度を高くする重み付けであることを特徴とする請求項に記載の画像処理システム。
【請求項7】
前記重み付けは、画像中央に近い特徴点ほどその重要度を高くする重み付けであることを特徴とする請求項に記載の画像処理システム。
【請求項8】
前記取得手段は、前記仮想視点画像の生成に用いられる複数の画像を取得するための前記複数の撮像装置による撮像の開始前に、前記パラメータを取得することを特徴とする請求項1乃至7のいずれか1項に記載の画像処理システム。
【請求項9】
前記補正手段は、前記補正を行う際に用いる画像における特徴点と、前記撮像装置で撮像されることにより取得された画像における特徴点とに基づいて、前記撮像装置で撮像されることにより取得された画像を補正することを特徴とする請求項1乃至のいずれか1項に記載の画像処理システム。
【請求項10】
前記パラメータを取得する際に用いられる画像は、所定の閾値より振動が小さい状態で撮像されることにより取得された画像であることを特徴とする、請求項1乃至のいずれか1項に記載の画像処理システム。
【請求項11】
前記所定の閾値は、撮像時の振動状態によって異なることを特徴とする請求項10に記載の画像処理システム。
【請求項12】
前記複数の撮像装置それぞれは、被写体を撮像する撮像手段を含むことを特徴とする請求項1乃至11のいずれか1項に記載の画像処理システム。
【請求項13】
仮想視点画像を生成する生成方法であって、
複数の撮像装置の位置及び姿勢の少なくとも一方を表すパラメータを取得する取得工程と、
前記取得工程により前記パラメータを取得する際に用いられた複数の画像に基づいて、前記複数の撮像装置で撮像されることにより取得された複数の画像に対して補正を行う補正工程と、
前記補正工程により補正された複数の画像に基づいて、仮想視点画像を生成する生成工程と、
を有し、
前記補正工程は、前記複数の撮像装置それぞれが自装置で撮像した画像に対して補正を実行することにより実現される、
ことを特徴とする生成方法。
【請求項14】
複数の撮像装置の位置及び姿勢の少なくとも一方を表すパラメータを取得する取得工程と、
前記取得工程により前記パラメータを取得する際に用いられた複数の画像に基づいて、前記複数の撮像装置で撮像されることにより取得された複数の画像に対して補正を行う補正工程と、
前記補正工程により補正された複数の画像に基づいて、仮想視点画像を生成する生成工程と、
を有し、
前記補正工程においては、前記複数の撮像装置のそれぞれに対して前記パラメータを取得する際に用いられた複数の画像のうち、所定の条件を満たす画像が、前記補正を行う際に用いる画像として決定される、
ことを特徴とする画像処理システム。
【請求項15】
コンピュータに、請求項1乃至12のいずれか1項に記載の画像処理システムを実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異なる視点から撮影された多視点映像を用いて仮想視点映像を生成する技術に関する。
【背景技術】
【0002】
昨今、複数のカメラを異なる位置に設置して多視点で同期撮影し、当該撮影により得られた多視点映像を用いて、三次元空間内に仮想的に配置した実際には存在しないカメラ(仮想カメラ)から視た仮想視点映像を生成する技術が注目されている。上記のようにして多視点映像から仮想視点映像を生成する技術によれば、例えば、サッカーやバスケットボールといったスポーツにおけるハイライトシーンを様々な角度から閲覧することが出来るため、通常の映像と比較してユーザに高臨場感を与えることが出来る。多視点映像に基づく仮想視点映像の生成は、複数のカメラが撮影した映像をサーバなどの画像処理装置に集約し、画像処理装置にて、三次元モデル生成、レンダリングなどの処理を施すことで実現できる。
【0003】
仮想視点映像を生成する場合には、2種類のキャリブレーションを行うことがある。1つはカメラ設置時等の多視点映像の撮影開始前において、各カメラの位置や姿勢を推定するキャリブレーション(静的キャリブレーション)である。この静的キャリブレーションでは、各カメラで撮影した映像から、各カメラのカメラパラメータを求める。カメラパラメータには、回転行列や位置ベクトルといったカメラの位置及び姿勢を表す外部パラメータに加え、焦点距離、画像中心、レンズ歪みといったカメラ固有の内部パラメータが含まれる。もう1つのキャリブレーションは、多視点映像の撮影中における観客の応援や風などに起因するカメラの揺れ(振動)の影響をキャンセルする目的で行なうキャリブレーション(動的キャリブレーション)である。この動的キャリブレーションでは、予め用意したリファレンス画像を用いて、フレーム間で画像位置がずれないよう補正する。そして、動的キャリブレーションで画像位置が補正された多視点映像、及び静的キャリブレーションで得られた各カメラのカメラパラメータを用いて、仮想視点映像が生成される。以下、説明の便宜上、静的キャリブレーションを単に「キャリブレーション」と呼び、動的キャリブレーションを「位置補正処理」と呼ぶこととする。
【0004】
カメラの揺れの影響をキャンセルする技術としては、例えばカメラの手ぶれ補正機能に関する特許文献1がある。この特許文献1では、連写で取り込んだ複数の画像を重ね合わせることで補正された1つの画像を生成する処理において、複数の画像の中でぶれ量の最も少ない画像をベース画像として選択し、ベース画像を基に複数の画像の位置合わせを行っている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−78945号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
キャリブレーションに用いる画像を撮影する際、もしくは、位置補正処理に用いるリファレンス画像を撮影する際に、風などの様々な原因でカメラが揺れてしまうことがある。そうなると、キャリブレーションで求めたカメラの位置及び姿勢と、位置補正処理で補正された画像から推定されたカメラの位置及び姿勢とが異なるということが起こり得る。例えば、撮影開始前には座標位置が(x=90、y=100、z=60)と推定されたカメラが、位置補正後の画像を用いてその位置及び姿勢を推定したところ、その座標位置が(x=95、y=105、z=60)と推定されるといった具合である。このようにキャリブレーションで求めたカメラの位置及び姿勢と、位置補正処理で補正された画像から推定されたカメラの位置及び姿勢とが異なる状態で仮想視点映像の生成を行うのは望ましくない。なぜなら、多視点映像の撮影開始前におけるカメラの位置及び姿勢の推定結果と、多視点映像の撮影中におけるカメラの位置及び姿勢の推定結果とが異なっているということは、どちらか(あるいは両方)の推定結果に誤りがあることを意味するためである。仮に撮影開始前の位置及び姿勢の推定結果のみが誤っているとすると、複数カメラ間の撮影画像の位置関係が正しく推定されていないことになるので、実物とは異なる形状の3Dモデルが生成される恐れがある。また、仮に撮影中のカメラの位置及び姿勢の推定結果のみが誤っているとすると、適切に画像位置の補正ができていないことになるので、カメラの揺れの影響をキャンセルしきれていない、或いは、その逆で揺れが強調されたような仮想視点映像になってしまう恐れがある。
【0007】
このように、多視点映像の撮影開始前において推定されたカメラの位置及び姿勢と、多視点映像の撮影中において推定されたカメラ位置及び姿勢とが異なっていると、それらを基に生成される仮想視点映像が低画質となってしまう。
【0008】
本開示に係る画像処理システムは、複数の撮像装置の位置及び姿勢の少なくとも一方を表すパラメータを取得する取得手段と、前記取得手段により前記パラメータを取得する際に用いられた複数の画像に基づいて、前記複数の撮像装置で撮像されることにより取得された複数の画像に対して補正を行う複数の補正手段と、前記複数の補正手段により補正された複数の画像に基づいて、仮想視点画像を生成する生成手段と、を有し、前記複数の補正手段それぞれは、前記複数の撮像装置それぞれに対応して設けられ、対応する撮像装置で撮像されることにより取得された画像に対して前記補正を行う、ことを特徴とする画像処理システム。
【課題を解決するための手段】
【0009】
本発明に係る画像処理システムは、複数のカメラで撮影した多視点映像を用いて仮想視点映像を生成する画像処理システムであって、前記複数のカメラのそれぞれの位置及び姿勢の少なくとも一方を表すカメラパラメータを得る取得手段と、前記複数のカメラで撮影した多視点映像に対して、前記取得手段により取得されたカメラパラメータに基づいて決定されたリファレンス画像を用いて補正処理を行う補正手段と、前記補正手段の補正処理により得られた多視点映像を用いて、前記仮想視点映像を生成する生成手段と、を備えたことを特徴とする。
【発明の効果】
【0010】
本発明によれば、複数のカメラを用いて撮影した多視点映像に基づき仮想視点映像を生成する場面において、異なるタイミングで行われるカメラの位置及び姿勢の推定結果の差異を低減させることができる。その結果、高画質の仮想視点映像を得ることができる。
【図面の簡単な説明】
【0011】
図1】実施形態1に係る、画像処理システムの構成を示すブロック図。
図2】実施形態1に係る、仮想視点映像生成までの一連の処理の流れを示すフローチャートである。
図3】位置補正処理を説明する図。
図4】リファレンス画像決定処理の詳細を示すフローチャートである。
図5】(a)は再投影された画像特徴点の画像座標の一例を示す図、(b)は注目フレーム画像における画像特徴点の画像座標の一例を示す図。
図6】実施形態2に係る、画像処理システムの構成を示すブロック図。
図7】実施形態2に係る、カメラパラメータの更新処理を含む、仮想視点映像生成までの一連の処理の流れを示すフローチャート。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。なお、以下の実施形態において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【実施形態1】
【0013】
図1は、本実施例に係る画像処理システムの構成を示すブロック図である。画像処理システム100は、カメラ110〜130及びサーバ140から成る。画像処理システム100は、3台のカメラ110〜130で撮影された多視点映像のデータを、画像処理装置としてのサーバ140に集め、サーバ140において仮想視点映像の生成を行うものである。図1に示すシステム構成例では、3台のカメラがサーバ140に接続されるスター型構成としたが、カメラ同士がデイジーチェーンにより接続され、そこからサーバ140に接続される構成としてもよい。また、カメラの台数は何台でもよく、台数を限定するものではない。例えば、サッカーやラグビーの試合を撮影するような場面では、フィールドを囲むように配置された10〜20台のカメラによりフィールド上にいる選手やボールが撮影される。
【0014】
まず、各カメラの構成についてカメラ110を例に説明する。カメラ110は、撮像部111、リファレンス画像決定部112、画像位置補正部113によって構成される。カメラ120及び130も、カメラ110と等価な構成を有している。撮像部111は、レンズやイメージセンサ等を有し、被写体の撮影を行なう。そして、複数の静止画(フレーム画像)で構成される、例えば数十fps程度の動画像のデータを取得する。得られた画像データは、その用途に応じてリファレンス画像決定部112及び画像位置補正部113に送られる。
【0015】
リファレンス画像決定部112は、後述のキャリブレーション部142から受け取ったカメラパラメータを用いて、撮像部111で撮影された複数の候補画像の中から、画像位置補正部113でリファレンス画像として使用する画像を選択する。
【0016】
画像位置補正部113は、仮想視点映像の生成用に撮影された動画像に対して、リファレンス画像決定部112で決定されたリファレンス画像を用いて、撮影中のカメラの揺れに応じて画像位置を安定させる位置合わせを目的とした位置補正処理を行なう。位置補正処理が施された動画像データは、サーバ140の画像取り込み部141に送られる。画像位置補正部113で実施する補正処理は、上述の位置補正処理に限られない。例えば、カメラ毎の色のばらつきを抑えるための色補正処理をさらに行なってもよい。また、ブレに対する補正処理をさらに行ってもよい。具体的には、カメラに内蔵された不図示のセンサ(例えば加速度センサやジャイロセンサ)からの出力データに基づき画像のブレ量を推定したり、連続した複数のフレーム画像を比較してその移動量を推定して補正するような処理である。なお、画像位置補正部113は、リファレンス画像決定部112がリファレンス画像を選択するより前に受信した動画像データについては、位置補正処理を実行することなくそのまま画像取り込み部141に送信するものとする。
【0017】
次に、サーバ140について説明する。サーバ140は、画像取り込み部141、キャリブレーション部142、仮想視点映像生成部143によって構成される。画像取り込み部141は、各カメラ110〜130の画像位置補正部113から動画像データを受信し、その用途に応じて内部転送する。すなわち、受信した動画像データがキャリブレーション用であればキャリブレーション部142に転送し、仮想視点映像の生成用であれば仮想視点映像生成部143に転送する。
【0018】
キャリブレーション部142は、画像取り込み部141から受け取ったカメラ110〜130で撮影されたキャリブレーション用の動画像(以下、「キャリブレーション用画像」)を用いてキャリブレーション処理を行う。キャリブレーション処理は、多視点映像の撮影開始前に実行され、カメラ110〜130それぞれのカメラパラメータが求められる。カメラパラメータは、キャリブレーション用画像から検出した画像特徴点を用いて、カメラ間での画像特徴点のマッチングを行って世界座標(共通座標系の座標)と画像座標との対応付けを行うことで得ることができる。或いは、カメラ固有のパラメータである内部パラメータには予め用意した値を用い、画像データからはカメラの位置及び姿勢を表す外部パラメータのみを求めてもよい。さらには、予め用意した内部パラメータを初期値として用いて外部パラメータを求めた後に、内部パラメータを補正するようにしてもよい。また、キャリブレーション結果の評価として、画像特徴点の再投影誤差を求め、得られた誤差がある閾値以下になるまで誤検出や誤マッチングの削除を行って、カメラパラメータの最適化計算を行なうようにしてもよい。また、カメラパラメータの形式も特に限定されるものではない。カメラ110〜130それぞれについてのキャリブレーション結果(カメラパラメータ)は、仮想視点映像生成部143、及び各カメラ110〜130のリファレンス画像決定部112に送られる。
【0019】
仮想視点映像生成部143は、キャリブレーション部142から受け取った各カメラ110〜130のカメラパラメータと、画像取り込み部141から受け取った画像位置補正後の多視点映像とに基づいて、仮想視点映像の生成処理を行う。具体的には、多視点映像内の注目する被写体(例えば選手やボール)についての、三次元モデルの生成、レンダリングなどの処理が、別途指定された仮想カメラパスや仮想視点パスに従って行われる。生成された仮想視点映像のデータは、不図示のモニタやメモリに出力される。
【0020】
次に、本実施形態の画像処理システム100において、キャリブレーション用画像の撮影から仮想視点映像が出来上がるまでの大まかな流れを説明する。なお、本実施形態では、リファレンス画像の複数の候補画像における画像特徴点の再投影誤差に基づきリファレンス画像の選択を行う態様について説明する。しかし、キャリブレーションの結果として得られたカメラの位置及び姿勢に最も近い位置及び姿勢のカメラから撮影した画像をリファレンス画像として選択できる方法であればよく、以下のフローで示す内容に限定されるものではない。図2は、本実施形態に係る、仮想視点映像生成までの一連の処理の流れを示すフローチャートである。この一連の処理は、サーバ140が備えるCPU(不図示)が、ROMやHDD等の記憶媒体(不図示)にされた所定のプログラムをRAM(不図示)に展開してこれを実行することで実現される。
【0021】
まず、ステップ201では、カメラ110〜130の設置が完了した状態で、各カメラが備える撮像部111によって、キャリブレーション用画像が撮影される。この撮影は、例えば市松模様のパターンが形成された板(マーカ)を持った人間が、各カメラの画角を考慮してすべての撮影対象範囲を網羅するように移動し、撮影対象の空間の様々な場所で撮影することが想定される。これは、より多くの画像特徴点が撮影対象の空間に散らばって検出できるようにするためである。そして、撮影シーンがラグビー等のスポーツの試合であって、被写体として人物やボールといった動きのある物体が想定される場合は、各カメラによる撮影を同期させることが望ましい。一方、被写体が静止物体のみの場合は、カメラ間で同期撮影することは要しない。各カメラ110〜130の撮像部111によって取得されたキャリブレーション用画像のデータは、画像位置補正部113を介して、サーバ140の画像取り込み部141に送られる。この段階では、リファレンス画像が選択されていないので、前述のとおり、キャリブレーション用画像のデータに対して画像位置補正部113で位置補正処理が施されることはない。画像取り込み部141が受信したキャリブレーション用画像のデータは、キャリブレーション部142に順次送られ、キャリブレーション部142内に蓄積される。
【0022】
ステップ202では、キャリブレーション用画像の撮影が完了したかどうかが判定される。キャリブレーション処理の実施に必要な量のキャリブレーション用画像が蓄積されていれば、撮影完了と判定されてステップ203に進む。一方、必要な量のキャリブレーション用画像が蓄積されていなければ、ステップ201に戻って撮影が続行される。
【0023】
ステップ203では、キャリブレーション部142において、蓄積されたキャリブレーション用画像のデータを用いてキャリブレーション処理が実行され、各カメラ110〜130のカメラパラメータが求められる。ここで、各カメラで撮像されたキャリブレーション用画像には上述したマーカが映っている。例えば、3×3マスの市松模様のマーカを使用した場合であれば、計16個の頂点を画像特徴点として検出することで、外部パラメータであるカメラの位置及び姿勢を推定することができる。このキャリブレーションにより、各カメラがどこに設置され、どの方向を撮影し、画角がどの程度あるのか、といった情報が得られる。求めたカメラパラメータは、仮想視点映像生成部143及び各カメラ110〜130のリファレンス画像決定部112に送られる。
【0024】
ステップ204では、各カメラ110〜130のリファレンス画像決定部112において、撮像部111から受け取ったキャリブレーション用画像を構成するフレーム画像の中から、位置補正処理でリファレンス画像として用いる1のフレーム画像が選択される。リファレンス画像決定処理の詳細については後述する。リファレンス画像に決定されたフレーム画像のデータは、画像位置補正部113に送られる。
【0025】
ステップ205では、各カメラ110〜130の撮像部111において、仮想視点映像の生成に用いる多視点映像を構成する各動画像が撮影される。この際、撮影シーンがラグビー等のスポーツの試合であれば、上述のとおり全カメラでの同期撮影となる。撮像部111で撮影された仮想視点画像のベースとなる動画像データは、画像位置補正部113へ送られる。
【0026】
ステップ206では、各カメラ110〜130の画像位置補正部113において、ステップ205で取得した動画像データに対し、ステップ204で選択したリファレンス画像を用いて位置補正処理が実行される。これにより、仮想視点映像の生成に供される動画像を構成する各フレーム画像における画像位置が、各カメラの揺れに応じて調整される。図3は、位置補正処理を説明する図である。図3(a)は位置補正前のフレーム画像、同(b)はリファレンス画像、同(c)は位置補正後のフレーム画像をそれぞれ示している。位置補正前のフレーム画像とリファレンス画像との比較によって、当該フレーム画像を撮像した時のカメラは設置時よりも少し上を向いてしまっていることが分かる。よって、図3(c)に示すように、リファレンス画像とのずれが生じている分だけカメラを下向きにした状態の画像に補正される。こうして、画像位置が補正された動画像データは画像位置補正部113からサーバ140へ送られる。この際、位置補正がなされた動画像データと併せて、同期撮影されたそれぞれの動画像データを識別するための情報も送られる。サーバ140では、各カメラ110〜130から受け取った画像位置補正後の動画像データが集約され、多視点映像データとして仮想視点映像生成部143に渡される。
【0027】
ステップ207では、仮想視点映像生成部143において、多視点映像データ及び、キャリブレーション処理で得られたカメラパラメータを用いて、所望の仮想視点映像が生成される。すなわち、三次元空間内に仮想的に配置した実際には存在しないカメラ(仮想カメラ)から見た映像が、上述のようにして得られた多視点映像とカメラパラメータに従って生成される。
【0028】
ステップ208では、所定の撮影時間が経過するなどして多視点映像の撮影が完了したかどうかが判定される。多視点映像の撮影が完了していなければ、ステップ205に戻って撮影が続行される。一方、多視点映像の撮影が完了していれば、本処理を終える。
【0029】
以上が、本実施形態に係る、仮想視点映像が生成されるまでの一連の処理の流れである。なお、ステップ201〜ステップ204までは、カメラを設置してから多視点映像の撮影を開始するまでの準備段階の処理(前処理)である。そして、ステップ205〜ステップ208が、多視点映像を撮影し、それをベースに仮想視点映像を実際に生成する処理(本処理)である。図2のフローは、前処理と本処理とを一体とし、すべてのステップを画像処理システム100において自動で実行する態様を想定している。しかし、本実施形態の手法は、このような態様に限定されない。例えば、キャリブレーション用画像の撮影完了(ステップ202)や多視点映像の撮影開始(ステップ205)の判断をユーザが行ない、次のステップへの移行を、不図示のユーザインタフェースを介したユーザ指示に係らしめてもよい。また、図2の処理をすべてサーバ140が行うようにしても良い。この場合、ステップ201及び205において、サーバ140はカメラに対して撮影指示を送信する。また、図2のフローは、多視点映像の撮影と並行してライブで仮想視点映像を生成するような用途を想定した内容となっている。しかし、例えば撮影した多視点映像のデータをHDD等に蓄積しておき、後から仮想視点映像の生成を行うようにしてもよい。
【0030】
次いで、前述のステップ204におけるリファレンス画像決定処理の詳細について説明する。本実施形態では、キャリブレーション用画像を構成する複数のフレーム画像をリファレンス画像の候補とし、その中からリファレンス画像とする1のフレーム画像を選択する場合を例に説明する。
【0031】
図4は、本実施形態に係る、リファレンス画像決定処理の詳細を示すフローチャートである。なお、図4のフローの実行を開始する時点で、リファレンス画像決定部112には、キャリブレーション処理で得られた自カメラのカメラパラメータ、及びリファレンス画像の候補となる複数のフレーム画像が既にRAM(不図示)等に保持されているものとする。
【0032】
まず、ステップ401では、リファレンス画像の候補となる複数のフレーム画像から、後述の再投影誤差を求める際の基準となる画像特徴点が設定される。撮影シーンが例えばラグビーの試合であれば、ゴールポスト、広告板、ベンチなどが画像特徴点となり得る。この場合において、設定する画像特徴点の数は何点でもよいが、ここでは説明の便宜上、1つの画像特徴点が設定されたものとして説明を行う。また、設定方法も、ユーザが任意のフレーム画像を確認しながら手動で指定してもよいし、所定の条件に合致する画像特徴点を自動で設定するようにしてもよい。さらには、キャリブレーション処理の過程で検出した画像特徴点及び特徴点マッチング情報をキャリブレーション部142から取得し、より多くのフレーム画像で検出された画像特徴点を自動で設定するようにしてもよい。
【0033】
ステップ402では、ステップ401で設定した画像特徴点を画像上に再投影したときの画像座標(x,y)が、キャリブレーション処理で得られた自カメラのカメラパラメータを用いて求められる。この画像座標(x,y)は、カメラパラメータに基づいて、画像特徴点の世界座標(x_w,y_w,z_w)から画像上における座標(x,y)を求める公知の変換手法を適用して求めることができる。こうして、各カメラが比較的安定していると推認される状態(≒静止状態)の下での、画像特徴点についての画像座標が得られる。図5(a)は、キャリブレーション結果のカメラパラメータを用いて得られた、再投影された画像特徴点の画像座標の一例を示す図である。図5(a)において、画像上の×印は、再投影された画像特徴点のイメージ(キャリブレーション結果であり、実際の画像データではない。)を示している。この例では、再投影された画像特徴点の画像座標として、(x,y)=(1920,1080)が得られている。
【0034】
ステップ403では、リファレンス画像の候補である複数のフレーム画像の中から、注目するフレーム画像(以下、「注目フレーム画像」と呼ぶ。)が決定される。そして、ステップ404では、注目フレーム画像における画像特徴点の画像座標が取得される。具体的には、当該注目フレーム画像内における対応する画像特徴点を検出して、ステップ401で設定した画像特徴点とのマッチングによって、その画像座標が取得される。図5(b)にその一例を示す。図5(b)では、3枚のフレーム画像(画像No.1〜画像No.3)における画像特徴点の位置と、それぞれのフレーム画像を撮影した時のカメラの位置が示されている。この例では、カメラは撮影方向(z方向)に対して縦方向(y方向)にのみ振動しており、画像No.1は設置時よりも上に、画像No.3は設置時よりも下に変位している。そして、縦方向にカメラが振動していることから、画像特徴点のx座標については画像No.1〜No.3のいずれも同じ値“1920”であるが、y座標については画像No.1〜No.3でそれぞれ違う値“1090”、“1080”、“1070”となっている。
【0035】
ステップ405では、ステップ401で設定された画像特徴点についての、ステップ402で取得した画像座標と、ステップ404で取得した注目フレーム画像における画像座標との誤差が算出される。この誤差(以下、再投影誤差)は、両座標値の差分を求めることで得られるが、ピクセル単位で算出してもよいし、世界座標系に変換してメートル単位で算出してもよい。前述の図5(a)及び(b)に示した例では、画像No.1とNo.3の再投影誤差がx座標は“0”、y座標で“10”となり、画像No.2の再投影誤差はx座標とy座標で共に“0”となる。
【0036】
ステップ406では、リファレンス画像の候補である複数のフレーム画像のすべてに対し、ステップ401で設定された画像特徴点についての再投影誤差の算出が完了しているか判定される。未処理のフレーム画像があれば、ステップ403に戻って処理が続行される。一方、すべてのフレーム画像に対してついて画像特徴点についての再投影誤差の算出が完了している場合はステップ407に進む。
【0037】
ステップ407では、各フレーム画像から求めた画像特徴点についての再投影誤差が比較され、再投影誤差の最も小さいフレーム画像が、リファレンス画像として選択される。前述の図5(a)〜(c)に示した例では、画像No.1〜3のフレーム画像のうち、最も再投影誤差が小さい画像No.2のフレーム画像が、リファレンス画像として選択されることになる。
【0038】
以上が、本実施形態に係るリファレンス画像決定処理の内容である。こうして画像特徴点の再投影誤差の最も少ない画像をリファレンス画像として選択することで、キャリブレーション処理で得られたカメラの位置及び姿勢に最も近い条件で撮影されたフレーム画像を、位置補正処理におけるリファレンス画像とすることができる。
【0039】
なお、カメラが縦方向(y方向)にのみ振動している場合を例に説明を行ったが、横方向(x方向)にも振動している場合は、縦方向と横方向の差分の合計値が最小となるフレーム画像を選択すればよい。この際、縦方向の差分と横方向の差分とにそれぞれ異なる重み付けを行って評価を行ってもよい。また、ステップ401で複数の画像特徴点を設定した場合は、画像特徴点毎にステップ402〜ステップ406までの処理を行い、各画像特徴点について得られた再投影誤差の平均値もしくは合計値を用いて、誤差が最小のフレーム画像をリファレンス画像として選択すればよい。さらには、それぞれの画像特徴点について重要度や信頼度で重み付けして、再投影誤差の平均値もしくは合算値を求めてもよい。例えば、画像特徴点毎の再投影誤差に応じて、誤差の小さい画像特徴点の信頼度を高くしたり、画像特徴点を検出したカメラ台数や画像枚数が多いほど信頼度を高くするといった具合である。さらには、画像中央に近いほど重要度を高くするといったように、画像特徴点の座標位置に応じて重み付けを行ってもよい。
【0040】
<変形例>
本実施形態では、リファレンス画像を、キャリブレーション用画像の中から選択していた。これに代えて、例えばマーカを配置していない背景のみの撮影を別途行い、こうして得られたリファレンス用の動画像を構成するフレーム画像の中からリファレンス画像を選択するようにしてもよい。
【0041】
また、本実施例では、設定された画像特徴点について、画像上に再投影した二次元の画像座標(x,y)を求めていたが(ステップ402)。これに代えて、三次元のカメラ座標(x,y,z)を求めても構わない。この場合、カメラパラメータに基づいて、画像特徴点の世界座標(x_w,y_w,z_w)からカメラ座標(x,y,z)を求める公知の変換手法を適用すればよい。なお、画像座標に代えてカメラ座標を求める場合は、ステップ404で各フレーム画像における画像特徴点のカメラ座標が取得され、ステップ405ではその誤差が算出され、ステップ407で当該算出された誤差に基づきリファレンス画像が選択されることになる。
【0042】
また、本実施形態では、各カメラ110〜130がリファレンス画像決定部112を備え、自カメラについてのリファレンス画像の決定をそれぞれのカメラで行った。しかし、サーバ140において各カメラ110〜130についてのリファレンス画像をまとめて決定するように構成してもよい。同様に、本実施形態では各カメラ110〜130に備わった画像位置補正部113で行っている位置補正処理についても、サーバ140においてまとめて行うように構成してもよい。
【0043】
また、キャリブレーション結果のカメラ位置及び姿勢を基準としてリファレンス画像を決定する本実施形態の場合、キャリブレーション結果のカメラ位置及び姿勢はできるだけカメラの静止状態に近い方が好ましいといえる。そのため、キャリブレーション用画像の撮影時に大きな振動が検出された場合は、当該検出時のフレーム画像を除いてキャリブレーション処理を行うようにしてもよい。その場合、振動値の閾値を設け、検出された振動値が当該閾値より小さい場合のフレーム画像のみを使用してキャリブレーション処理を行えばよい。振動値を取得する手法としては、例えば、カメラに内蔵された加速度センサあるいはジャイロセンサなどのセンサからの出力データに基づき算出したり、複数のフレーム画像を比較してフレーム画像間のずれ量を算出するといった手法が挙げられる。そして、振動値の閾値については、予め設定してもよいし、ユーザが任意のフレーム画像を見ながら設定してもよい。また、全カメラで同じ閾値を用いてもよいし、各カメラの設置環境に応じ、カメラ毎に異なる閾値を設定してもよい。また、数パターンの閾値を予め用意しておき、撮影時の振動値もしくは振幅値によって閾値を切り替えるようにしてもよい。
【0044】
さらには、キャリブレーション結果を用いることなく、リファレンス画像の候補画像それぞれについて、評価対象とする画像特徴点の画像座標の平均値を算出し、平均値に最も近い画像をリファレンス画像として選択するようにしてもよい。特に、キャリブレーション用画像をリファレンス画像の候補として用いる場合は、キャリブレーション結果を用いる場合とほぼ同じ結果が得られる。キャリブレーション処理においても、それぞれの画像における画像特徴点の座標を用いてカメラパラメータを求めているためである。ただし、キャリブレーション処理では他カメラの画像も使用してカメラパラメータを求めるため、完全に同じ結果になるとは限らない。
【0045】
また、リファレンス画像の候補画像の撮影時に、センサ等を用いて振動量を計測し、最も振動量の少ない画像をリファレンス画像として選択するようにしてもよい。これにより、カメラが最も静止状態に近い状態で撮影された画像をリファレンス画像とすることができる。キャリブレーション用画像から得られる平均的なカメラの位置及び姿勢は、カメラの静止状態に近くなる場合が多いため、この手法の場合は、キャリブレーション結果のカメラパラメータに最も近い画像を選択する場合とほぼ同じ結果が得られる。ただし、キャリブレーション用画像内に、カメラの静止状態に対して片寄った振動状態での画像が多く含まれる場合、キャリブレーション結果としては片寄った振動状態でのカメラパラメータが求められることになるため、完全に同じ結果になるとは限らない。
【0046】
また、決定されたリファレンス画像から新たにカメラパラメータを求め、当該求めたカメラパラメータと、キャリブレーション結果のカメラパラメータとの差分を位置補正処理後に算出し、当該差分を考慮した仮想視点映像を生成するようにしてもよい。この場合、例えばサーバ140内にカメラパラメータ差分算出部を新たに設け、カメラパラメータ差分算出部は、キャリブレーション処理で得られた各カメラ110〜130のカメラパラメータをキャリブレーション部142から受け取って保持するようにする。また、リファレンス画像として決定された画像のデータをリファレンス画像決定部112から受け取ると、当該画像データから改めてカメラパラメータを求める。そして、各カメラ110〜130について、保持しておいたキャリブレーション結果のカメラパラメータと、リファレンス画像から求めたカメラパラメータとの差分を算出し、当該差分のデータを仮想視点映像生成部143に渡す。そして、仮想視点映像生成部143では、位置補正処理された多視点映像に対し、差分に応じて画像位置を再調整した上で、仮想視点映像の生成を行う。これにより、より高画質の仮想視点映像を得ることができる。
【0047】
以上のとおり本実施形態によれば、キャリブレーション結果として得られたカメラの位置及び姿勢に最も近い位置及び姿勢のカメラから撮影した画像が、位置補正処理におけるリファレンス画像として決定される。これにより、複数のカメラを用いて撮影した多視点映像に基づき仮想視点映像を生成する場面において、異なるタイミングで行われるカメラの位置及び姿勢の推定結果を一致させることができる。
【実施形態2】
【0048】
次に、仮想視点映像の生成に用いるカメラパラメータを随時更新する処理を追加した態様を、実施形態2として説明する。なお、実施形態1と共通する部分については説明を省略ないしは簡略化し、以下では差異点を中心に説明を行うものとする。
【0049】
図6は、本実施形態に係る画像処理システムの構成を示すブロック図である。本実施形態の画像処理システム100も、その基本的構成は実施形態1と同じであり、カメラ110〜130及びサーバ140から成る。図1の画像処理システム100と同一の処理を行うものについては、同一の符号を付与して表している。実施形態1との違いは、サーバ140内にカメラパラメータ管理部601が追加されている点である。
【0050】
カメラパラメータ管理部601は、キャリブレーション結果として得られた各カメラ110〜130のカメラパラメータをキャリブレーション部142から受け取り、仮想視点映像の生成時に使用する各カメラ110〜130のカメラパラメータを管理する。そして、リファレンス画像として選択された画像をリファレンス画像決定部112から受信すると、当該画像からカメラパラメータを求め、当該画像を撮影したカメラに対応するカメラパラメータを、新たに得られた内容で更新する。なお、カメラパラメータの求め方は、キャリブレーション部142においてカメラパラメータを求める手法と同様であり、特に限定されない。
【0051】
図7は、本実施形態に係る、カメラパラメータの更新処理を含む、仮想視点映像生成までの一連の処理の流れを示すフローチャートである。この一連の処理は、サーバ140が備えるCPU(不図示)が、ROMやHDD等の記憶媒体(不図示)にされた所定のプログラムをRAM(不図示)に展開してこれを実行することで実現される。
【0052】
ステップ701〜ステップ704は、実施形態1の図2のフローにおけるステップ201〜ステップ206にそれぞれ対応する。すなわち、まず、カメラ110〜130の設置が完了した状態でキャリブレーション用画像が撮影される(ステップ701)。そして、キャリブレーション用画像の撮影が完了した段階で(ステップ702でYes)、キャリブレーション処理が実行されて各カメラ110〜130のカメラパラメータが求められる(ステップ703)。そして、各カメラ110〜130におけるリファレンス画像決定部112において、キャリブレーション用画像を構成するフレーム画像の中からリファレンス画像として用いる1のフレーム画像が選択される(ステップ704)。リファレンス画像として選択されたフレーム画像のデータは、本実施形態の場合、画像位置補正部113とサーバ140に送られる。
【0053】
ステップ705では、サーバ140内のカメラパラメータ管理部601において、リファレンス画像として選択された、各カメラに対応するフレーム画像からカメラパラメータが求められる。そして、各カメラについてのカメラパラメータが、リファレンス画像から求めたカメラパラメータの内容で更新される。以降のステップ707〜ステップ710は、実施形態1の図2のフローにおけるステップ201〜ステップ206にそれぞれ対応する。すなわち、仮想視点映像の生成に用いる多視点映像を構成する動画像が各カメラで撮影され(ステップ707)、撮影された動画像それぞれに対してリファレンス画像を用いた位置補正処理が実行される(ステップ708)。そして、画像位置が補正された多視点映像データ及び、ステップ706で更新されたカメラパラメータを用いて、所望の仮想視点映像が生成される(ステップ709、710)。
【0054】
以上が、本実施形態に係る、仮想視点映像が生成されるまでの一連の処理の流れである。このようにカメラパラメータを更新することで、仮想視点映像生成に用いる位置補正後の多視点映像と、仮想視点映像生成に使用するカメラパラメータが表すカメラの位置及び姿勢を完全に一致させることができる。
【0055】
なお、本実施形態の場合、他カメラの画像データも使用して求めたキャリブレーション結果のカメラパラメータを更新によって変更してしまうため、カメラ間での位置合わせにずれが生じることになり、画質劣化の要因となる場合がある。つまり、カメラ間での位置合わせのずれ量、あるいは仮想視点映像生成の手法やカメラの配置状況などによっては、カメラパラメータを更新しない方が画質劣化を抑えることができる場合がある。そこで、キャリブレーション結果のカメラパラメータとリファレンス画像から求めたカメラパラメータとの差分の大きさ、カメラ間での位置合わせのずれ量、仮想視点映像の生成手法に応じて、カメラパラメータを更新するか否かを決定してもよい。もしくは、それぞれのカメラパラメータを用いて仮想視点映像を生成した上で、出来上がった仮想視点映像の画質評価を行い、カメラパラメータを更新するか否かを判定するようにしてもよい。
【0056】
また、上記の実施形態では、多視点映像という表現を用いたが、複数視点であれば良い。例えば3つの異なる視点の映像は、本実施形態で説明する多視点映像の範疇である。
【0057】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0058】
100 画像処理システム
110 カメラ
111 撮像部
112 リファレンス画像決定部
113 画像位置補正部
120 カメラ
130 カメラ
140 サーバ
141 画像取り込み部
142 キャリブレーション部
143 仮想視点映像生成部
図1
図2
図3
図4
図5
図6
図7