(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-19
(45)【発行日】2024-12-27
(54)【発明の名称】三次元変位計測方法及び三次元変位計測装置
(51)【国際特許分類】
G06T 7/55 20170101AFI20241220BHJP
G01B 11/00 20060101ALI20241220BHJP
G06T 7/292 20170101ALI20241220BHJP
【FI】
G06T7/55
G01B11/00 H
G06T7/292
(21)【出願番号】P 2024016929
(22)【出願日】2024-02-07
(62)【分割の表示】P 2021536879の分割
【原出願日】2020-07-09
【審査請求日】2024-02-07
(31)【優先権主張番号】P 2019139581
(32)【優先日】2019-07-30
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】松延 徹
(72)【発明者】
【氏名】杉尾 敏康
(72)【発明者】
【氏名】吉川 哲史
(72)【発明者】
【氏名】福田 将貴
(72)【発明者】
【氏名】寺西 研翔
【審査官】高野 美帆子
(56)【参考文献】
【文献】特開2019-074991(JP,A)
【文献】韓国公開特許第10-2016-0082659(KR,A)
【文献】中国特許出願公開第102778207(CN,A)
【文献】国際公開第2018/135510(WO,A1)
【文献】国際公開第2011/030771(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/55
G01B 11/00
G06T 7/292
(57)【特許請求の範囲】
【請求項1】
N(Nは1より大きい整数)台のカメラを含む複数のカメラによって互いに異なるM(MはNより大きい整数)個の視点において撮像されたM枚の校正用画像に基づいて、前記N台のカメラのカメラパラメータを算出するカメラ校正ステップと、
(1)異なる時刻毎に前記N台のカメラのそれぞれによって被写体を撮像することで生成されるN枚の画像、及び、(2)前記カメラパラメータ、に基づいて、三次元空間における前記被写体の経時的な変位を計測する変位計測ステップと、を含み、
前記Nは、前記カメラパラメータと、前記変位の計測の精度と、に基づいて決定される、
三次元変位計測方法。
【請求項2】
前記変位計測ステップは、
前記N枚の画像に含まれる第1画像に含まれる、前記被写体の第1対応点と、前記N枚の画像に含まれる第2画像に含まれ且つ前記第1対応点に対応する第2対応点と、を求める対応点算出ステップと、
前記カメラパラメータと、前記第1対応点と、前記第2対応点とに基づいて、前記三次元空間における前記被写体の三次元点を求める三次元点算出ステップと、
前記異なる時刻に対応する複数の前記三次元点から、前記三次元点の経時的な変位を求める変位算出ステップと、を含む、
請求項1に記載の三次元変位計測方法。
【請求項3】
前記N台のカメラは、互いに隣り合う第1カメラ及び第2カメラを含み、
前記M個の視点は、前記第1カメラが配置される第1位置と、前記第2カメラが配置される第2位置との間の第1中点を含み、
前記第1位置と前記第1中点との間の中点を第2中点とすると、前記M個の視点に含まれ且つ前記第2中点と前記第1位置との間に設けられる視点は、前記M個の視点に含まれ且つ前記第1中点と前記第2中点との間に設けられる視点よりも多い
請求項1または2に記載の三次元変位計測方法。
【請求項4】
前記カメラ校正ステップでは、前記第1中点と前記第2中点との間には、視点を設けない
請求項3に記載の三次元変位計測方法。
【請求項5】
N(Nは1より大きい整数)台のカメラを含む複数のカメラによって互いに異なるM(MはNより大きい整数)個の視点において撮像されたM枚の校正用画像に基づいて、前記N台のカメラのカメラパラメータを算出するカメラ校正部と、
(1)異なる時刻毎に前記N台のカメラのそれぞれによって被写体を撮像することで生成されるN枚の画像、及び、(2)前記カメラパラメータ、に基づいて、三次元空間における前記被写体の経時的な変位を計測する変位計測部と、を備え、
前記Nは、前記カメラパラメータと、前記変位の計測の精度と、に基づいて決定される、
三次元変位計測装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、三次元変位計測方法及び三次元変位計測装置に関する。
【背景技術】
【0002】
コンピュータビジョンの分野における三次元再構成技術では、複数の二次元画像間で特徴点の対応付けを行い、カメラの位置、向き、及び被写体の三次元位置を推定する。また、三次元再構成技術では、カメラキャリブレーション及び三次元点群再構成が行われる。
【0003】
例えば、特許文献1に記載の装置は、3台以上の複数カメラ間でキャリブレーションを行い、取得したカメラパラメータにより各カメラ座標系を任意視点の仮想カメラ座標系へ変換する。当該装置は、その仮想カメラ座標系において、座標変換後の画像間のブロックマッチングによる対応付けを行い、距離情報を推定する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
このような、上記従来技術では、複数の視点から被写体を撮像することにより得られた複数の画像に基づいて、三次元空間における被写体の経時的な変位を効果的に計測することができない。
【0006】
そこで、本開示は、複数の視点から被写体を撮像することにより得られた複数の画像に基づいて、三次元空間における被写体の経時的な変位を効果的に計測することができる技術を提供する。
【課題を解決するための手段】
【0007】
本開示の一態様に係る三次元変位計測方法は、N(Nは1より大きい整数)台のカメラを含む複数のカメラによって互いに異なるM(MはNより大きい整数)個の視点において撮像されたM枚の校正用画像に基づいて、前記N台のカメラのカメラパラメータを算出するカメラ校正ステップと、(1)異なる時刻毎に前記N台のカメラのそれぞれによって被写体を撮像することで生成されるN枚の画像、及び、(2)前記カメラパラメータ、に基づいて、三次元空間における前記被写体の経時的な変位を計測する変位計測ステップと、を含む、前記Nは、前記カメラパラメータと、前記変位の計測の精度と、に基づいて決定される。
【0008】
本開示の一態様に係る三次元変位計測方法は、N(Nは1より大きい整数)台のカメラを含む複数のカメラによって互いに異なるM(MはNより大きい整数)個の視点において撮像されたM枚の校正用画像に基づいて、前記N台のカメラのカメラパラメータを算出するカメラ校正ステップと、(1)異なる時刻毎に前記N台のカメラのそれぞれによって被写体を撮像することで生成されるN枚の画像、及び、(2)前記カメラパラメータ、に基づいて、三次元空間における前記被写体の経時的な変位を計測する変位計測ステップと、を含む。
【発明の効果】
【0009】
本開示によれば、複数の視点から被写体を撮像することにより得られた複数の画像に基づいて、三次元空間における被写体の経時的な変位を効果的に計測することができる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施の形態における三次元変位計測が行われる際の概略図である。
【
図2】
図2は、実施の形態における三次元モデリングの原理を示す図である。
【
図3】
図3は、実施の形態における三次元変位計測の原理を示す図である。
【
図4A】
図4Aは、実施の形態におけるカメラの撮影周期と露光時間の一例を示す図である。
【
図4B】
図4Bは、実施の形態におけるカメラの撮影周期と露光時間の別の一例を示す図である。
【
図5】
図5は、実施の形態における三次元変位計測装置のブロック図である。
【
図6】
図6は、実施の形態における三次元再構成システムのフローチャートである。
【
図7】
図7は、実施の形態における制御部のブロック図である。
【
図8】
図8は、実施の形態における制御部の動作を表すフローチャートである。
【
図9】
図9は、実施の形態における三次元変位計測の際に用いる基線長、撮像対象とカメラとの距離、及び、輻輳角を示す図である。
【
図10】
図10は、実施の形態におけるカメラ校正に用いる視点位置の決定方法を示す図である。
【
図11】
図11は、実施の形態における多視点フレームセットの例を示す図である。
【
図12】
図12は、実施の形態における三次元画像処理部のブロック図である。
【
図13】
図13は、実施の形態における三次元画像処理部の動作を示すフローチャートである。
【
図14】
図14は、実施の形態に係る三次元変位計測装置が自由視点映像生成を行う際の動作を示すフローチャートである。
【
図15】
図15は、自由視点映像生成を行う際の三次元画像処理部の動作を示すフローチャートである。
【
図16】
図16は、三次元画像処理部の変形例のブロック図である。
【
図17】
図17は、三次元画像処理部の変形例の動作を示すフローチャートである。
【発明を実施するための形態】
【0011】
(本開示の基礎となった知見)
従来技術では、被写体の三次元形状を再構成(モデリング)することで、または再構成結果を用いることで三次元空間認識が実現される。被写体の三次元形状を再構成する三次元空間再構成装置は、同一の場面の映像を撮影する複数のカメラを含む撮像システムから提供される映像データと、校正によって得られた各カメラの位置、姿勢等(以下、「位置姿勢」という。)を示すカメラパラメータと、を用いてモデリングを行う。カメラの位置は視点に対応する。
【0012】
また、構造物(例えばインフラ用の構造物)、機械部品等といった計測対象の変位を三次元空間において把握することが求められている。しかしながら、従来技術では、計測対象である被写体の三次元空間における経時的な変位を効果的に計測することができなかった。例えば、従来技術では、被写体の三次元空間における経時的な変位を計測するための処理負荷の低減は不十分であった。
【0013】
一般的に、カメラ校正処理、及び、三次元変位計測処理では、視点数が多い、つまり、画像が多いほど処理負荷が大きくなる一方で精度が向上するというトレードオフの関係がある。このトレードオフの関係に対し、発明者らは、三次元変位計測の精度よりもカメラ校正の精度を優先すると、処理負荷を抑えつつ2つの処理全体としての精度が向上することを見出した。
【0014】
そこで、本開示の一態様に係る三次元変位計測方法は、N(Nは1より大きい整数)台のカメラを含む複数のカメラによって互いに異なるM(MはNより大きい整数)個の視点において撮像されたM枚の校正用画像に基づいて、前記N台のカメラのカメラパラメータを算出するカメラ校正ステップと、(1)異なる時刻毎に前記N台のカメラのそれぞれによって被写体を撮像することで生成されるN枚の画像、及び、(2)前記カメラパラメータ、に基づいて、三次元空間における前記被写体の経時的な変位を計測する変位計測ステップと、を含む。
【0015】
これにより、三次元変位計測方法では、カメラパラメータの精度が向上するように三次元変位計測処理における視点数Nよりも多い視点数Mを、カメラ校正処理に用いることで、三次元変位計測処理における精度を向上させることができる。
【0016】
また、例えば、本開示の一態様に係る三次元変位計測方法において、前記変位計測ステップは、前記N枚の画像に含まれる第1画像に含まれる、前記被写体の第1対応点と、前記N枚の画像に含まれる第2画像に含まれ且つ前記第1対応点に対応する第2対応点と、を求める対応点算出ステップと、前記カメラパラメータと、前記第1対応点と、前記第2対応点とに基づいて、前記三次元空間における前記被写体の三次元点を求める三次元点算出ステップと、前記異なる時刻に対応する複数の前記三次元点から、前記三次元点の経時的な変位を求める変位算出ステップと、を含んでもよい。
【0017】
これにより、三次元変位計測方法では、例えば画像マッチングの手法及び三角測量の原理を用いて、カメラパラメータ、第1対応点及び第2対応点に基づいて、三次元点の経時的な変位を求めることで、被写体の三次元空間における変位を求めることができる。
【0018】
また、例えば、本開示の一態様に係る三次元変位計測方法は、前記Nは、前記カメラパラメータと、前記変位の計測の精度と、に基づいて決定されてもよい。
【0019】
これにより、三次元変位計測方法では、変位計測ステップで行われる計測の精度を満たすように、カメラの視点数Nを定めることができる。よって、三次元変位計測方法は、精度よく被写体の三次元空間における変位を求めることができる。
【0020】
また、本願発明者らは、カメラ校正に用いる視点を均等に配置するよりも、以下のように配置すれば、カメラ校正の精度が向上することを見出した。例えば、本開示の一態様に係る三次元変位計測方法は、前記N台のカメラは、互いに隣り合う第1カメラ及び第2カメラを含み、前記M個の視点は、前記第1カメラが配置される第1位置と、前記第2カメラが配置される第2位置との間の第1中点を含み、前記第1位置と前記第1中点との間の中点を第2中点とすると、前記M個の視点に含まれ且つ前記第2中点と前記第1位置との間に設けられる視点は、前記M個の視点に含まれ且つ前記第1中点と前記第2中点との間に設けられる視点よりも多くてもよい。
【0021】
すなわち、この態様では、カメラ校正に使用する視点を、三次元変位計測に使用する視点の位置を基準として第2中点よりも近い範囲に、第2中点よりも遠い範囲よりも多く設定する。このような不均等な配置により、カメラ校正の精度が向上する。
【0022】
例えば、カメラ校正のための視点の不均等な配置では、前記カメラ校正ステップでは、前記第1中点と前記第2中点との間には、視点を設けなくてもよい。
【0023】
また、例えば、本開示の一態様に係る三次元変位計測装置は、N(Nは1より大きい整数)台のカメラを含む複数のカメラによって互いに異なるM(MはNより大きい整数)個の視点において撮像されたM枚の校正用画像に基づいて前記N台のカメラのカメラパラメータを算出するカメラ校正部と、(1)異なる時刻毎に前記N台のカメラのそれぞれによって被写体を撮像することで生成されるN枚の画像、及び、(2)前記カメラパラメータ、に基づいて、三次元空間における前記被写体の経時的な変位を計測する変位計測部と、を備える。
【0024】
これにより、三次元変位計測装置は、本開示の一態様に係る三次元変位計測方法と同様の効果を奏することができる。
【0025】
以下、実施の形態について図面を参照しながら具体的に説明する。
【0026】
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、請求の範囲を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、各図は、必ずしも厳密に図示したものではない。各図において、実質的に同一の構成については同一の符号を付し、重複する説明は省略又は簡略化する。
【0027】
(実施の形態)
本実施の形態に係る三次元変位計測装置は、時刻間で座標軸の一致した時系列三次元モデルを再構成できる。ここで、本開示における三次元再構成を定義する。実空間上に存在する被写体を複数のカメラにより異なる視点で撮影した映像又は画像を多視点映像又は多視点画像と呼ぶ。つまり、多視点画像は、同一の被写体を異なる視点から撮影した複数の二次元画像を含む。また、時系列に撮影された多視点画像を多視点映像と呼ぶ。この多視点画像を用いて被写体を三次元空間に再構成することを三次元再構成と呼ぶ。
【0028】
具体的には、まず、三次元変位計測装置は、時刻毎に独立して三次元再構成を行うことで、各時刻の三次元モデルを取得する。次に、三次元変位計測装置は、静止カメラ及び静止物体(静止三次元点)を検出し、検出した静止カメラ及び静止物体を用いて、時刻間で三次元モデルの座標合せを行い、座標軸の一致した時系列三次元モデルを生成する。
【0029】
これにより、三次元変位計測装置は、カメラの固定/非固定又は被写体の移動/静止に関わらず、各時刻の被写体及びカメラの相対位置関係が高精度であり、かつ時間方向の推移情報を利用可能な時系列三次元モデルを生成できる。
【0030】
図1は、実施の形態における三次元変位計測が行われる際の概略図である。実施の形態における三次元変位計測方法において、被写体1001を、カメラ100-1及びカメラ100-2が撮影している。ここで、被写体1001は、所定の位置に固定されているコンプレッサ等でもよい。また、カメラ100-1及びカメラ100-2は、互いに異なる位置において被写体1001を撮影範囲に含むような向きで固定されている固定カメラでもよい。例えば、校正済みの1つまたは複数のカメラ(例えば固定カメラ)によって同一空間または同一の被写体1001が、多視点から撮影されることにより、撮影される空間または被写体1001が三次元再構成されることができる。すなわち、多視点から撮影された複数の二次元画像の間で、特徴点等の対応付けが行われることで、カメラの位置、カメラの向き、並びに、被写体1001の三次元変位または三次元位置が推定されることが可能である。つまり、三次元変位計測装置では、多視点から撮影された複数の二次元画像を用いて、カメラ校正及び被写体1001の三次元変位計測等が行われる。三次元変位計測装置では、さらに、被写体1001の三次元再構成が行われてもよい。
【0031】
三次元変位計測は、例えば、インフラ構造物点検システム等に有用である。例えば、計測装置が新幹線等の防音壁等の壁の振動を、壁の奥行方向に向かって計測するというニーズがある。また、計測装置がコンプレッサ等の動作において振動が発生する機器の変位を計測するというニーズがある。
【0032】
図2は、実施の形態における三次元モデリングの原理を示す図である。まず、本実施の形態における三次元モデリングを定義する。本実施の形態では、三次元変位計測装置が、実空間上に存在する被写体を複数のカメラによって異なる視点から撮影した二次元の多視点映像を用いて、被写体を三次元空間内に再構成することを三次元モデリングという。なお、以下では、三次元モデリングを三次元再構成とも言うことがある。
【0033】
図2に示されるように、少なくとも2つの視点のカメラ座標及びカメラパラメータを用いることで、点線で示された三角形が形成される。実施の形態における三次元変位計測方法では、各カメラで撮影された画像の画像面上の座標系で表された画像面上の各点は、この三角形を利用した三角測量の原理に基づいて、世界座標系を用いた三次元モデルとして再構成される。画像面上の座標系は、例えば、
図2に示される画像面座標1または画像面座標2である。三次元モデルは、被写体が、世界座標系を用いて表される三次元空間内に再構成(つまり、三次元再構成)されたものである。三次元モデルは、多視点から撮影された複数の二次元画像に映る被写体上の複数の点それぞれの三次元位置を表している。ここで、三次元位置は、例えば、三次元空間における直交座標系(XYZ軸)で示される、X成分、Y成分及びZ成分からなる三値の情報で表される。なお、三次元モデル上の各点に対応する情報は、上記の各点の三次元位置を表す情報だけでなく、各点の色、並びに、各点及びその周辺の表面形状を表す情報を含んでもよい。
【0034】
三次元モデリングに際して、各カメラのカメラパラメータは、予め取得されていてもよいし、三次元モデルの作成と同時に推定されてもよい。ここで、カメラパラメータは、内部パラメータ及び外部パラメータからなる。内部パラメータは、カメラの焦点距離、画像中心等を含み、外部パラメータは、カメラの三次元位置、カメラの三次元における向き等を含む。
【0035】
図2では、代表的なピンホールカメラモデルを例として用いている。この例では、カメラのレンズ歪みは考慮されていない。三次元モデリングに際して、レンズ歪みが考慮される場合は、三次元モデルに用いられる各点の位置として、各カメラで撮影された画像の画像面上の座標系における点の位置を歪みモデルにより正規化した補正位置が用いられる。
【0036】
図3は、実施の形態における三次元変位計測の原理を示す図である。本開示の三次元変位計測方法について定義を行う。多視点から撮影された二次元画像を用いて被写体1001の三次元空間における変位を算出することを三次元変位計測という。
図3では、三次元変位計測の仕組みが示される。少なくとも2つの視点におけるそれぞれのカメラ座標及びカメラパラメータを用いることで、
図3において点線で示されたような三角形が形成される。この三角形が利用される三角測量の原理を元に、複数の視点において撮影され、画像面上の座標系で表された画像上の点が、世界座標系において再構成される。画像面上の座標系は、例えば、
図3に示される画像面座標1または画像面座標2である。
【0037】
被写体1001の三次元モデルは、多視点から撮影された複数の二次元画像に映る被写体1001上の複数の点それぞれの三次元位置により示される。被写体1001が移動または振動する場合、時刻t及び時刻t+iのそれぞれにおいて、被写体1001上の三次元点の位置(Xt,Yt,Zt)及び(Xt+i,Yt+i,Zt+i)を再構成すると、時間iの間の変位(Xt+i-Xt,Yt+i-Yt,Zt+i-Zt)が算出される。三次元変位計測において、例えば、奥行き方向(Z成分)のみを計測することとしてもよい。すなわち、三次元変位計測において、いわゆるデプスマップを作成することとしてもよい。また、本開示の三次元変位計測は、X成分、Y成分、及びZ成分のうち任意の2成分における変位を計測してもよい。
【0038】
なお、例えば、被写体1001がコンプレッサ等の振動体である場合、時刻差iは、振動体の共振周波数をサンプリングできる周波数の逆数である。しかし、時刻差iは、これに限定されない。例えば、被写体1001が構造物であり、構造物のクラックの成長を計測する場合、時刻差iは、構造物に求められる耐久年数に応じて決定される。
【0039】
また、上述の例では、時刻t及び時刻t+iにおいて三次元点の位置が再構成された。しかし、三次元点位置の再構成回数は、2回に限らず、時刻差i毎に3回以上であってもよい。さらに、三次元点位置の再構成回数が時刻差i毎に3回以上の場合、本開示の三次元変位計測は、三次元点の変位だけでなく、変位の速度及び加速度を算出してもよい。
【0040】
三次元変位計測における具体的な計算は以下の通りである。まず、カメラ座標系1において、カメラの内部パラメータを表す行列をK1とし、外部パラメータのうち平行移動を表す並進ベクトルをT1とし、回転を表す回転行列をR1とする。また、カメラ座標系2において、カメラの内部パラメータを表す行列をK2とし、外部パラメータのうち平行移動を表す並進ベクトルをT2とし、回転を表す回転行列をR2とする。
【0041】
次に、画像マッチングにより、被写体1001上のある点について、画像面座標1と画像面座標2との間の対応点を算出する。ここで、画像マッチングでは、画像の中の矩形領域であるブロックの差分値が最小となる位置を探索するブロックマッチングが行われてもよい。具体的には、ブロックマッチングとして、それぞれの画像に含まれる対応付けられた矩形領域の一致度を、輝度差の総和(SAD:Sum of Absolute Difference)、または、輝度差の2乗和(SSD:Sum of Squared Difference)といった一致度評価関数によって評価し、一致度評価値が最大または最小になる位置を探索する。一致度評価関数として、相互相関(CC:Cross Correlation)または正規化相互相関(NCC:Normalized Cross Correlation)が用いられてもよい。また、画像マッチングでは、SIFT(Scale-Invariant Feature Transform)、SURF(Speeded Up Robust Features)等の、画像の小領域から特量ベクトルを算出し、その差分値が最小となる位置を探索する特徴量マッチングが行われてもよい。
【0042】
画像マッチングの際には、時刻tにおける、画像面座標1における対応点をa1,t=(x1,t,y1,t)、画像面座標2における対応点をb2,t=(x2,t,y2,t)とする。画像面座標1における対応点a1,tは、第1対応点の具体例であり、画像面座標2における対応点b2,tは、第2対応点の具体例である。また、時刻t+iにおける、画像面座標1における対応点をa1,t+i=(x1,t+i,y1,t+i)、画像面座標2における対応点をb2,t+i=(x2,t+i,y2,t+i)とする。なお、ここで説明された処理は、対応点算出ステップに対応する。
【0043】
そして、カメラの内部パラメータ及び外部パラメータを用いて、a1,t、b2,t、a1,t+i、b2,t+iのそれぞれに対応する三次元位置を表す三次元点を算出する。時刻tのa1,tに相当する三次元点をA1,t、時刻tのb2,tに相当する三次元点をB2,t、時刻t+iのa1,t+iに相当する三次元点をA1,t+i、時刻t+iのb2,t+iに相当する三次元点をB2,t+iとする。
【0044】
二次元画像上でのそれぞれの対応点と、それぞれの対応点に相当する三次元点との変換は、以下の式(1)~(4)によって計算される。
【0045】
a1,t=K1[R1|T1]A1,t 式(1)
b2,t=K2[R2|T2]B2,t 式(2)
a1,t+i=K1[R1|T1]A1,t+i 式(3)
b2,t+i=K2[R2|T2]B2,t+i 式(4)
【0046】
このとき、二次元画像上での対応点に相当する三次元点A1,t及びB2,tは、世界座標系で同一の点であるが、式(1)及び式(2)を用いて算出された三次元点A1,t及びB2,tは必ずしも一致しない。同様に、三次元点A1,t+i及びB2,t+iは、世界座標系で同一の点であるが、式(3)及び式(4)を用いて算出された三次元点A1,t+i及びB2,t+iは必ずしも一致しない。その場合、式(5)及び式(6)に示されるように、三次元点A1,t及びB2,tの間の中点、または、三次元点A1,t+i及びB2,t+iの間の中点を算出することで、二次元画像上での対応点に相当する三次元点を算出してもよい。
【0047】
(Xt,Yt,Zt)=(A1,t+B2,t)/2 式(5)
(Xt+i,Yt+i,Zt+i)=(A1,t+i+B2,t+i)/2 式(6)
【0048】
なお、二次元画像上での対応点に相当する三次元点が一致しない場合の、三次元点の決定の仕方は、これに限定されない。三次元点A1,t及びB2,tのうちの一方、または、三次元点A1,t+i及びB2,t+iのうちの一方のみを、それぞれの時刻に対応する二次元画像上での対応点に相当する三次元点として利用することとしてもよい。また、式(5)及び式(6)では、2つの三次元点の間の中点を算出する方法を示したが、他の算出方法であってもよい。例えば、三次元点A1,t及びB2,tを加重平均することで得られた時刻tにおける三次元点、または、三次元点A1,t+i及びB2,t+iを加重平均することで得られた時刻t+iにおける三次元点を、それぞれの時刻に対応する三次元点として用いてもよい。なお、ここで説明された処理は、三次元点算出ステップに対応する。
【0049】
なお、算出される三次元点は、被写体の特定の点に限らない。三次元点は、対応点から求められる限り、被写体の任意の点である。
【0050】
以上より、時刻tから時刻t+iまでの間の、三次元変位Vt,t+iは、式(7)により計算される。
【0051】
Vt,t+i=(Xt+i-Xt,Yt+i-Yt、Zt+i-Zt) 式(7)
【0052】
なお、ここで説明された処理は、変位算出ステップに対応する。
【0053】
また、上記の三次元変位計測の方法は、一例であり、これに限定されない。
【0054】
図4Aは、実施の形態におけるカメラの撮影周期と露光時間の一例を示す図である。また、
図4Bは、実施の形態におけるカメラの撮影周期と露光時間の別の一例を示す図である。
図4A及び
図4Bの横方向は時間を示し、矩形信号が立っている時間はカメラ100-1またはカメラ100-2が露光していることを示す。カメラ100-1またはカメラ100-2により画像を取得する際、シャッタが開放されている時間を露光時間と呼ぶ。
【0055】
露光時間中、レンズを通して撮像素子にさらされたシーンが画像として得られる。
図4Aでは、視点の異なる2台のカメラ100-1、100-2で撮影されたフレームでは、露光時間が重複している。これにより2台のカメラ100-1、100-2により取得したフレームは、同一時刻のシーンを含んでいる同期フレームと判定される。
【0056】
一方、
図4Bでは、2台のカメラ100-1、100-2で露光時間の重複が無いため、2台のカメラ100-1、100-2により取得したフレームは、同一時刻のシーンを含まない非同期フレームと判定される。
図4Aのように、同期フレームを複数のカメラで撮影することを同期撮影と呼ぶ。
【0057】
次に、本実施の形態に係る三次元変位計測装置の構成を説明する。
図5は、実施の形態における三次元変位計測装置のブロック図である。
図5に示す三次元再構成システム3は、複数のカメラ100-1~100-nと、三次元変位計測装置2000と、制御部300とを備える。また、三次元変位計測装置2000は、受信部210と、記憶部220と、取得部230と、三次元画像処理部240と、送信部250とを備える。
【0058】
複数のカメラ100-1~100-nは撮影空間1000にある被写体1001を撮影し、撮影された複数の映像である多視点映像を受信部210へ送信する。多視点映像の送信は、インターネットなどの公衆通信網、又は専用通信網のいずれを介してもよい。あるいは、多視点映像は、一度ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)などの外部記憶装置に記憶され、必要な時に三次元変位計測装置2000に入力されてもよい。あるいは、多視点映像は、クラウドサーバ等の外部記憶装置に一旦ネットワークを介して送信され、記憶される。そして、必要な時に三次元変位計測装置2000へ送信されてもよい。
【0059】
また、n台のカメラ100-1~100-nの各々は、監視カメラなどの固定カメラ、または、固定されていない非固定カメラである。つまり、n台のカメラ100-1~100-nは、例えば、それぞれ、互いに異なる位置において、互いに異なる姿勢で固定されている固定カメラであってもよく、または、ビデオカメラ、スマートフォンもしくはウェアラブルカメラなどのモバイルカメラであってもよく、撮影機能付きドローンなどの移動カメラであってもよい。なお、nは、2以上の整数である。
【0060】
また、多視点映像には、映像又はフレームのヘッダ情報として、撮影したカメラを特定するカメラIDなどのカメラ特定情報が付加されてもよい。
【0061】
複数のカメラ100-1~100-nを用いて、毎フレームで同じ時刻の被写体を撮影する同期撮影が行われてもよい。あるいは、複数のカメラ100-1~100-nに内蔵された時計の時刻を合せ、同期撮影せずに、映像又はフレーム毎に、撮影された画像に撮影時刻情報が付加されてもよいし、撮影順序を示すインデックス番号が付加されてもよい。
【0062】
多視点映像の映像セット毎、映像毎、又はフレーム毎に、同期撮影されたか、非同期撮影されたかを示す情報がヘッダ情報として付加されてもよい。
【0063】
また、制御部300は、例えば、CPU(Central Processing Unit)を用いて実現され、記憶部220に記憶されるプログラムを読み出して実行する。制御部300は、三次元画像処理部240におけるカメラ校正、三次元モデリング及び三次元変位計測のうちの1つ以上の処理を実施するために、三次元再構成システム3によって用いられる、視点数及び視点位置を決定する。ここで、視点数とは、カメラ校正、三次元モデリング及び三次元変位計測のうちの1つ以上の処理で用いられる二次元画像を撮影する位置の数のことであり、具体的には、カメラの台数のことであってもよいし、固定カメラ及び移動カメラによって撮影が行われる地点の数のことであってもよい。また、視点位置とは、カメラ校正、三次元モデリング及び三次元変位計測のうちの1つ以上の処理で用いられる二次元画像を撮影する位置のことであり、具体的にはカメラの位置のことである。
【0064】
そして、受信部210は、カメラ100-1~100-nが撮影した多視点映像を受信し、受信した多視点映像を記憶部220に入力する。
【0065】
記憶部220は、入力された多視点映像を記憶する。また、記憶部220には、撮影空間1000が撮影された映像データ、この映像データに付されるタイムスタンプなどのメタ情報、カメラ100-1~100-nのカメラパラメータ、及び、適用中のフレームレートまたは解像度等の撮影設定が一時的に記憶されている。また、記憶部220には、制御部300が読み出して実行するプログラムが記憶されている。記憶部220は、RAM、DRAM、SRAM等の揮発性メモリでもよい。また、記憶部220は、ROM、フラッシュメモリ等の不揮発性メモリで実現されてもよい。
【0066】
取得部230は、記憶部220に記憶された複数の多視点映像からフレームを選択し、選択したフレームを多視点フレームセットとして三次元画像処理部240に入力する。
【0067】
三次元画像処理部240は、入力された多視点フレームセットを用いて、カメラ校正を行い、カメラ校正の結果を用いて、被写体の三次元モデリングまたは被写体の三次元変位計測を行う。三次元画像処理部240は、カメラ校正を行った結果としてカメラパラメータを算出し、送信部250に出力する。
【0068】
送信部250は、三次元画像処理部240が算出したカメラパラメータ、被写体の三次元モデル及び被写体の三次元変位のうちの少なくとも1つを、三次元変位計測装置2000の外部へ送信する。
【0069】
受信部210、取得部230、三次元画像処理部240及び送信部250は、それぞれプロセッサ及びメモリによって実現されてもよい。また、受信部210、取得部230、三次元画像処理部240及び送信部250は、専用の回路によって実現されてもよい。
【0070】
図6は、実施の形態における三次元再構成システムのフローチャートである。
【0071】
まず、制御部300は、カメラ校正、三次元モデリングまたは三次元変位計測のうちの1つ以上の処理を実施するために、三次元再構成システム3によって用いられる、視点数及び視点位置を決定する(ステップS2100)。視点数及び視点位置の決定の詳細は後述される。
【0072】
次に、カメラ100-1~100-nは、制御部300が決定した視点数及び視点位置に基づき、被写体の多視点映像を撮影する(ステップS2200)。
【0073】
そして、受信部210は、カメラ100-1~100-nのうちの複数のカメラで撮影した多視点映像を受信し、記憶部220に入力する(ステップS2300)。
【0074】
続いて、記憶部220は、入力された多視点映像を記憶する(ステップS2400)。
【0075】
次に、取得部230は、制御部300が決定した視点数及び視点位置に基づいて、記憶された多視点映像からフレームを選択し、選択したフレームを多視点フレームセットとして三次元画像処理部240に入力する(ステップS2500)。
【0076】
ここで、多視点フレームセットは、カメラ100-1~100-nが撮影したすべての映像から、それぞれ1フレームずつ選択された複数のフレームによって構成されてもよい。また、多視点フレームセットは、カメラ100-1~100-nが撮影したすべての映像から、少なくとも1フレーム選択された複数のフレームにより構成されてもよい。また、多視点フレームセットは、多視点映像のうちから2つ以上の映像を選択し、選択された各映像から1フレームずつ選択された複数のフレームによって構成されてもよい。また、多視点フレームセットは、多視点映像のうちから2つ以上の映像を選択し、選択された各映像から少なくとも1フレーム選択された複数のフレームによって構成されてもよい。
【0077】
なお、多視点フレームセットの各フレームにカメラ特定情報が付加されていない場合は、各フレームのヘッダ情報に個別にカメラ特定情報を付加してもよいし、多視点フレームセットのヘッダ情報に一括して、カメラ特定情報を付加してもよい。
【0078】
また、多視点フレームセットの各フレームに撮影時刻または撮影順を示すインデックス番号が付加されていない場合、各フレームのヘッダ情報に個別に撮影時刻または撮影順を示すインデックス番号を付加してもよい。また、同様の場合、多視点フレームセットのヘッダ情報に一括して撮影時刻または撮影順を示すインデックス番号を付加してもよい。
【0079】
そして、三次元画像処理部240は、入力された多視点フレームセットを用いて、カメラ校正を行い、カメラ校正の結果を用いて三次元モデリングまたは三次元変位計測を行う(ステップS2600)。三次元モデリングまたは三次元変位計測の詳細は、後述される。
【0080】
また、ステップS2500及びS2600の処理は、多視点フレームセット毎に繰り返し行われる。ここで、繰り返し行われるステップS2500及びステップS2600において、カメラ校正が一回だけ行われることとしてもよい。その場合、最初に一回実施されたカメラ校正の結果を、繰り返し行われるステップS2500及びステップS2600で、繰り返し使用してもよい。
【0081】
続いて、送信部250は、カメラパラメータ、被写体の三次元モデルまたは被写体の三次元変位を、三次元変位計測装置2000の外部へ送信する(ステップS2700)。
【0082】
ここで、三次元再構成システム3は、処理を終了する。
【0083】
なお、ステップS2600で算出されたカメラパラメータ、被写体の三次元モデルまたは被写体の三次元変位は、ステップS2600より後の処理で利用されてもよい。
【0084】
なお、ステップS2700で出力されたカメラパラメータ、被写体の三次元モデルまたは被写体の三次元変位は、記憶部220に記憶されてもよい。
【0085】
図7は、実施の形態における制御部のブロック図である。制御部300は、計測用決定部310及びカメラ校正用決定部320を備える。計測用決定部310及びカメラ校正用決定部320は、プロセッサ及びメモリで実現されてもよいし、専用の論理回路で実現されてもよい。
【0086】
計測用決定部310は、三次元再構成システム3が被写体1001の三次元変位計測を行う際に用いる二次元画像を撮影する視点の視点数、視点位置等を決定する。
【0087】
また、カメラ校正用決定部320は、三次元再構成システム3がカメラ校正を行う際に用いる二次元画像を撮影する視点の視点数、視点位置等を決定する。
【0088】
なお、三次元再構成システム3が、カメラ校正、三次元モデリング及び三次元変位計測を行うために用いる視点数は、それぞれ異なってもよい。また、制御部300は、視点位置のみを決定してもよい。すなわち、計測用決定部310は、三次元再構成システム3が被写体1001の三次元変位計測を行う際に用いる二次元画像を撮影する視点の視点位置のみを決定してもよい。また、カメラ校正用決定部320は、三次元再構成システム3がカメラ校正を行う際に用いる二次元画像を撮影する視点の視点位置のみを決定してもよい。
【0089】
なお、制御部300は、三次元変位計測装置2000にカメラが導入される前に、カメラの視点数及び視点位置を決定してもよい。また、カメラは、制御部300が決定したカメラの視点数及び視点位置に応じて、導入されてもよい。
【0090】
なお、制御部300は、三次元変位計測に用いられる視点数Nと、カメラ校正に用いられる視点数Mとを、M>Nの関係を満たすように決定する。また、さらに、制御部300は、三次元変位計測に用いられる視点が、カメラ校正に用いられる視点に含まれる(すなわち2個の視点が一致する)ように、三次元変位計測に用いられる視点とカメラ校正に用いられる視点とを決定する。
【0091】
カメラ100-1~100-n、または、取得部230は、三次元変位計測に用いられるN個の視点として、N台の固定カメラを使用する。換言すれば、三次元変位計測のために、M-N個の視点においてカメラによる撮像はされない。また、カメラ校正に用いられるM個の視点のうち、三次元変位計測に用いられるN個の視点以外の(M-N)個の視点として、(M-N)台の固定カメラを使用してもよく、または、(M-N)台以下の移動カメラを使用してもよい。(M-N)台以下の移動カメラを使用する場合は、(M-N)台以下の移動カメラは、移動しながら撮影を行うことで、(M-N)個以上の視点からの撮影を実現する。また、カメラ校正に用いられるM個の視点のうち、三次元変位計測に用いられるN個の視点以外の(M-N)個の視点は、固定カメラと移動カメラとを組み合わせて実現されてもよい。
【0092】
次に、制御部300の動作を説明する。
図8は、実施の形態における制御部の動作を表すフローチャートである。
【0093】
まず、計測用決定部310は、三次元変位計測の視点数及び視点位置を決定する(ステップS3100)。
【0094】
次に、カメラ校正用決定部320は、カメラ校正の視点数及び視点位置を決定する(ステップS3200)。このとき、カメラ校正用決定部320は、三次元変位計測の視点数Nより、カメラ校正の視点数Mが多くなるように設定し、かつ、三次元変位計測の視点が、カメラ校正の視点に含まれるように設定する。
【0095】
ここで、制御部300は動作を終了する。なお、ステップS3100において、計測用決定部310は、三次元モデリングのための視点数及び視点位置の決定を行ってもよい。
【0096】
次に、制御部300における視点の決定方法の一例を説明する。まず、
図9を用いて、三次元変位計測のための視点数Nの決定について説明する。
図9は、実施の形態における三次元変位計測の際に用いる基線長、撮像対象とカメラとの距離、及び、輻輳角を示す図である。
図9では、撮像対象である被写体1001と、n台のカメラ100-1~100-nのうちの2台のカメラ100-1、100-2との位置関係が示されている。
【0097】
制御部300は、三次元変位計測に用いられる視点数をN、被写体1001とカメラ100-1、100-2との距離をd、三次元モデリングまたは三次元変位計測の精度をΔzと設定する。これらの値は、任意に決定される。視点数Nは、三次元変位計測に使用されることが可能であるカメラの台数でもよいし、設定可能な範囲で最大の数でもよい。以下の説明では、視点数Nがカメラ100の台数nに等しいものとする。ただし、視点数Nはカメラ100の台数nと等しくなくてもよい。また、被写体1001とカメラ100-1、100-2との距離dは、撮影空間1000の大きさ、カメラ100-1、100-2によって撮影される二次元画像への被写体1001の映り方等のうちの少なくとも1つから決定されてもよい。ここで、距離dは、
図9に示されるように、2台のカメラ100-1、100-2の位置を通る線から被写体1001までの最短距離である。ただし、距離dは、
図9に示す例に限らない。例えば、距離dは、被写体1001から2台のカメラ100-1、100-2までの距離の平均値であってもよい。制御部300は、三次元モデリングまたは三次元変位計測の精度Δz、カメラの焦点距離f、カメラの素子間隔ΔH、被写体1001と2台のカメラ100-1、100-2との距離dを用いて、2台のカメラ100-1、100-2間の間隔である基線長Lを、式(8)で算出する。
【0098】
L=(d×d×ΔH)/f×Δz 式(8)
【0099】
例えば、三次元変位計測に用いられる視点数Nについて、N=2の場合は、三次元変位計測に使用されるカメラの台数は2台である。このとき、制御部300は、基線長L及び被写体とカメラとの距離dを、2台のカメラの視点位置を決定するための情報とする。
【0100】
三次元変位計測に用いられる視点数Nが2より大きいとき、制御部300は以下の計算を行う。まず、制御部300は、2台のカメラそれぞれの光軸の輻輳角をθとし、θを、基線長L及び距離dを用いて、式(9)で算出する。
【0101】
θ=2arctan(L/2d) 式(9)
【0102】
また、制御部300は、値Pを式(10)で算出する。ここで、値Pは、輻輳角θに対応して定まる、三次元再構成システム3で利用されるカメラの台数を示す値である。
【0103】
P=floor(2π/θ) 式(10)
【0104】
PがNより大きい場合、制御部300は、Nを式(11)で算出する。
【0105】
N=P 式(11)
【0106】
以上のように、制御部300は、カメラパラメータ及び求められる精度Δzに基づいて、視点数Nを決定する。
【0107】
また、基線長L、距離d、及び、輻輳角θを、カメラの視点位置を決定するための情報としてもよい。
【0108】
なお、上記で説明した被写体1001及び2台のカメラ100-1、100-2の位置関係は、2台のカメラ100-1、100-2に限るものではなく、n台のカメラ100-1~100-nのうちの他の任意の2台の組み合わせについても同様である。
【0109】
図10は、実施の形態におけるカメラ校正に用いる視点位置の決定方法を示す図である。なお、
図10は、鉛直方向に沿って複数のカメラを見た図である。まず、制御部300は、カメラ校正に用いられる視点の視点間の輻輳角φを任意に設定する。ここで、θ>2π―(N-1)×θの場合、制御部300は、カメラ校正に用いられる視点数Mを、式(12)で算出する。
【0110】
M=N+floor(θ/φ)×(N-1) 式(12)
【0111】
ここで、三次元変位計測で使用するN個の視点のそれぞれの間に、floor(θ/φ)個ずつ視点が追加される。追加されるfloor(θ/φ)個の視点は、
図10に示されるように、三次元変位計測で使用するN個の視点のそれぞれの間に追加される。例えば、制御部300は、視点を、視点位置p1と視点位置p2との中間位置cに1個または2個追加する。ここで、制御部300は、視点位置p1と中間位置cとの間を2等分した位置を位置p3とし、視点位置p2と中間位置cとの間を2等分した位置を位置p4とする。そして、制御部300は、視点位置p1と位置p3との間に、中間位置cに配置された視点数をfloor(θ/φ)個の視点から引いた数の視点を配置する。同様に、制御部300は、視点位置p2と位置p4との間に、中間位置cに配置された視点数を、floor(θ/φ)個の視点から引いた数の視点を配置する。このような配置方法によれば、例えば、追加する視点のうち大多数の視点が、三次元変位計測で使用する視点に対応する位置に配置されたカメラ同士の中点からみて、中点よりも三次元変位計測で使用する視点に対応する位置に配置されたカメラの方に近い位置に配置される。すなわち、位置p3(p4)と視点位置p1(p2)との間に配置される校正用の視点は、中間位置cと位置p3(p4)との間に配置される校正用の視点よりも多い。また、他の配置例では、位置p3(p4)と中間位置cとの間に校正用の視点が設けられない。
【0112】
このため、三次元変位計測方法では、カメラ校正に使用する視点を、三次元変位計測に使用する視点の位置を基準として位置p3(p4)よりも近い範囲に、位置p3(p4)よりも遠い範囲よりも多く設定する。このような不均等な配置により、カメラ校正の精度が向上する。
【0113】
次に、多視点フレームセットの詳細について説明する。
図11は、実施の形態における多視点フレームセットの例を示す図である。ここでは、取得部230が、5台のカメラ100-1~100-5から1フレームずつを選択することで多視点フレームセットを決定する例を説明する。
【0114】
また、複数のカメラが同期撮影することを仮定している。各フレームのヘッダ情報には、撮影されたカメラを特定するカメラIDがそれぞれ100-1~100-5として付与されている。また、各フレームのヘッダ情報には、各カメラ内での撮影順序を示すフレーム番号001~Qが付与されており、カメラ間で同じフレーム番号を持つフレームは同時刻の被写体1001が撮影されたことを示す。
【0115】
取得部230は、多視点フレームセット200-1~200-Qを三次元画像処理部240へ順次出力する。三次元画像処理部240は、繰り返し処理により多視点フレームセット200-1~200-Qを用いて、順次三次元モデリングまたは三次元変位計測を行う。
【0116】
多視点フレームセット200-1は、カメラ100-1のフレーム番号001、カメラ100-2のフレーム番号001、カメラ100-3のフレーム番号001、カメラ100-4のフレーム番号001、カメラ100-5のフレーム番号001の5枚のフレームから構成される。多視点映像の最初のフレームの集合として、これら5枚のフレームが、三次元画像処理部240の繰り返し処理1で使用される。すなわち、繰り返し処理1では、フレーム番号001を撮影した時刻の三次元モデルが再構成され、または、三次元変位が計測される。
【0117】
図11に示す例では、多視点フレームセット200-2では、全てのカメラでフレーム番号が更新される。多視点フレームセット200-2は、カメラ100-1のフレーム番号002、カメラ100-2のフレーム番号002、カメラ100-3のフレーム番号002、カメラ100-4のフレーム番号002、カメラ100-5のフレーム番号002の5枚のフレームから構成される。これら5枚のフレームが、三次元画像処理部240の繰り返し処理2で使用される。すなわち、繰り返し処理2では、フレーム番号002を撮影した時刻の三次元モデルが再構成され、または、三次元変位が計測される。
【0118】
以下、繰り返し処理3以降でも、繰り返し処理2と同様に、全てのカメラでフレーム番号が更新される。これにより、三次元再構成システム3は、各時刻における被写体1001の三次元モデルを再構成することができ、また、各時刻における被写体1001の三次元変位を計測することができる。
【0119】
ただし、各時刻で独立して三次元再構成を行うため、再構成された複数の三次元モデルの座標軸とスケールが一致しているとは限らない。つまり、動く被写体1001の三次元モデルを取得するためには、各時刻の座標軸及びスケールを合せる必要がある。
【0120】
その場合、各フレームには撮影時刻が付与されており、その撮影時刻を基に取得部230は、同期フレームと非同期フレームを組み合わせた多視点フレームセットを作成する。以下、2台のカメラ間での撮影時刻を用いた同期フレームと非同期フレームの判定方法を説明する。
【0121】
カメラ100-1から選択したフレームの撮影時刻をT1とし、カメラ100-2から選択したフレームの撮影時刻をT2とし、カメラ100-1の露光時間をTE1とし、カメラ100-2の露光時間をTE2とする。ここで、撮影時刻T1、T2は、
図4A及び
図4Bの例で露光が開始された時刻、つまり矩形信号の立ち上がりの時刻を指している。
【0122】
この場合、カメラ100-1の露光終了時刻はT1+TE1である。この時、式(13)又は式(14)が成立していれば、2台のカメラ100-1、100-2は、同じ時刻の被写体1001を撮影していることになり、2枚のフレームは同期フレームと判定される。
【0123】
T1≦T2≦T1+TE1 式(13)
T1≦T2+TE2≦T1+TE1 式(14)
【0124】
なお、制御部300が決定した視点数及び視点位置に基づいて、カメラ100-1~100-nが多視点映像を撮影した場合、取得部230は、入力された多視点映像の本数と同数のフレームを多視点フレームセットとしてもよい。一方、カメラ100-1~100-nが、制御部300が決定した視点数または視点位置と関係なく、多視点映像を撮影した場合、取得部230が、制御部300が決定した視点数または視点位置に対応した映像を選択し、多視点フレームセットを作成することとしてもよい。
【0125】
つまり、三次元変位計測装置2000は、異なる時刻毎に撮像されたN枚の画像を1セットとする。三次元変位計測装置2000は、複数セットのセット毎について、当該セットに含まれるN枚の画像とカメラパラメータとを用いて、当該セットの時刻における被写体1001の三次元位置を計測する。
【0126】
図12は、実施の形態における三次元画像処理部のブロック図である。三次元画像処理部240は、カメラ校正部410及び三次元処理部420を備える。なお、三次元処理部420は、変位計測部の具体例である。
【0127】
カメラ校正部410は、カメラ校正を行う。具体的には、カメラ校正部410は、複数のカメラ100-1~100-nのそれぞれの内部パラメータ、外部パラメータ及びレンズ歪み係数をカメラパラメータとして算出する。内部パラメータとは、カメラの焦点距離、収差、画像中心等の光学系の特性を示す。外部パラメータとは、三次元空間におけるカメラの位置及び姿勢を示す。
【0128】
カメラ校正部410は、複数のカメラ100-1~100-nがチェッカボードの白黒の交点を撮影することにより得られたM枚のフレームであるM枚の校正用画像を用いて内部パラメータ、外部パラメータ及びレンズ歪み係数を別々に算出してもよいし、Structure from MotionのようにM枚のフレーム間の対応点を用いて内部パラメータ、外部パラメータ及びレンズ歪み係数を一括して算出し、全体最適化を行ってもよい。後者の場合のM枚のフレームは、チェッカボードが撮像された画像でなくてもよい。
【0129】
三次元処理部420は、多視点フレームセットとカメラパラメータとを用いて、被写体1001の三次元モデリング、被写体1001の三次元変位計測等の三次元処理を行う。具体的には、三次元処理部420は、多視点フレームセット及びカメラ校正の結果を用いて、三次元モデリングとして、被写体1001のモデルを三次元点から生成する。三次元モデリングの代わりに、三次元処理部420は、三次元変位計測として、多視点フレームセット及びカメラ校正の結果を用いて、被写体1001の三次元変位を計測してもよい。三次元処理部420は、三次元変位を計測する際に、三次元モデリングで生成された被写体1001の三次元モデルの三次元点のデータを用いてもよい。ここで、三次元変位計測で利用される三次元点は、被写体1001の任意の点でもよい。
【0130】
三次元画像処理部240、並びに、三次元画像処理部240を構成する、カメラ校正部410及び三次元処理部420は、プロセッサとメモリとによって実現される。また、これらは、専用の論理回路によって実現されてもよい。
【0131】
図13は、実施の形態における三次元画像処理部の動作を示すフローチャートである。なお、
図13に示す処理では、制御部300において決定された視点数の多視点フレームセットが用いられる。
【0132】
まず、カメラ校正部410は、制御部300が決定した視点数M及び視点位置に対応する多視点フレームセットを用いて、撮影が行われた各視点に存在するカメラのカメラパラメータを算出する(ステップS4100)。ここで、制御部300は、少なくともN台のカメラについてのみ、カメラパラメータを算出してもよい。なお、ステップS4100は、カメラ校正ステップの一例である。
【0133】
次に、三次元処理部420は、制御部300が決定した視点数N及び視点位置に対応する多視点フレームセット、及び、カメラ校正部410が算出したカメラパラメータを用いて、被写体1001の三次元モデルを生成、または、被写体1001の三次元変位を計測する(ステップS4200)。ここで、三次元処理部420は、変位計測部の具体例である。なお、ステップS4200は、変位計測ステップの一例である。
【0134】
なお、本実施の形態で、基準として用いる視点数は、三次元モデリング又は三次元変位計測に用いられる視点数Nである。例えば、視点数Nは、撮影空間1000に常時設置されているカメラの数に等しい。
【0135】
また、ステップS4100で算出されたカメラパラメータの精度は、ステップS4200で行われる被写体1001の三次元モデルの生成または被写体1001の三次元変位の計測の精度に大きな影響を及ぼす。よって、カメラパラメータの精度を高めるため、ステップS4100では、ステップS4200の視点数Nより多い視点数Mを使用する。このとき、カメラの台数は必ずしもM台でなくてもよい。M台未満の移動カメラによって、複数視点での撮影を行い、撮影された画像内の静止領域が使用されて、カメラ校正が行われてもよい。静止領域は、画像中の、静止物体が映っている領域であり、動物体が映っている動領域を除く領域である。
【0136】
なお、三次元変位計測装置2000は、上述しているように三次元画像処理部240において、三次元変位計測の他に、三次元モデリングを行ってもよく、さらに自由視点映像生成を行ってもよい。
【0137】
以下、実施の形態における三次元変位計測装置2000で行われる自由視点映像生成について説明する。
【0138】
三次元変位計測装置2000は、時刻間で座標軸の一致した時系列三次元モデルを再構成できる。具体的には、まず、三次元変位計測装置2000は、時刻毎に独立して三次元再構成を行うことで、各時刻の三次元モデルを取得する。次に、三次元変位計測装置2000は、静止カメラ及び静止物体(静止三次元点)を検出し、検出した静止カメラ及び静止物体を用いて、時刻間で三次元モデルの座標合せを行い、座標軸の一致した時系列三次元モデルを生成する。
【0139】
次に、三次元変位計測装置2000が自由視点映像生成を行う際の動作を説明する。
図14は、本実施の形態に係る三次元変位計測装置2000が自由視点映像生成を行う際の動作を示すフローチャートである。
【0140】
まず、受信部210は、複数のカメラ100-1~100-nで撮影された多視点映像を受信する(S101)。記憶部220は、受信された多視点映像を記憶する(S102)。
【0141】
次に、取得部230は、多視点映像からフレームを選択し、多視点フレームセットとして三次元画像処理部240へ出力する(S103)。なお、ここで選択される多視点フレームセットは、
図6のステップS2500で選択される多視点フレームセットと同様の構成を有していてもよい。
【0142】
次に、三次元画像処理部240は、多視点フレームセットを用いて、カメラ校正処理、三次元モデリング処理及び自由視点映像合成処理を実行することで自由視点映像を生成する(S104)。
【0143】
また、ステップS103及びS104の処理は、多視点フレームセット毎に繰り返し行われる。
【0144】
最後に、送信部250は、カメラパラメータ、被写体の三次元モデル及び自由視点映像の少なくとも1つを外部装置へ送信する(S105)。
【0145】
次に、三次元画像処理部240による自由視点映像生成の詳細について説明する。
【0146】
制御部300は、
図7~
図10を用いて説明したように、カメラ校正部410及び三次元処理部420における各処理で最適な視点数を決定する。ここで決定する視点数とは、互いに異なる視点の数を示す。
【0147】
カメラ校正処理において算出するカメラパラメータの精度は、三次元モデリング処理及び自由視点映像合成処理における精度に大きな影響を及ぼす。よって、制御部300は、三次元モデリング処理及び自由視点映像合成処理における精度を低下させないために、カメラパラメータの精度が向上するように三次元モデリング処理における視点数Nよりも多い視点数Mを、カメラ校正処理において用いる多視点フレームセットの視点数として決定する。つまり、制御部300は、n台のカメラ100-1~100-nにより撮像されたN枚のフレームに、a台の非固定カメラにより撮像されたk(kはa以上の整数)枚のフレームを加えたM枚のフレームを用いてカメラ校正部410にカメラ校正処理を実行させる。なお、a台の非固定カメラは、必ずしもk台でなくてもよく、a台の非固定カメラを移動させることによりk視点で撮像を行った結果得られた、k枚のフレーム(画像)であってもよい。
【0148】
また、自由視点映像合成処理において、実カメラによって得られた画像と、仮想視点の画像との対応位置の算出には、実カメラ台数が多いほど大きい処理負荷がかかるため、多くの処理時間を要する。一方で、n台のカメラ100-1~100-nのうち配置されている位置が近い複数のカメラにおいて得られた複数の画像間において、当該複数の画像から得られるテクスチャ情報が互いに似ている。このため、自由視点映像合成処理に、当該複数の画像の全てを用いても、当該複数の画像のうちの1つの画像を用いても、自由視点映像合成処理により得られる結果への精度はあまり変わらない。よって、制御部300は、三次元モデリング処理における視点数Nよりも少ない視点数lを、自由視点映像合成処理において用いる多視点フレームセットの視点数として決定する。
【0149】
図15は、自由視点映像生成を行う際の三次元画像処理部240の動作を示すフローチャートである。
【0150】
まず、カメラ校正部410は、ステップS4100と同様に、互いに異なる位置に配置されるn台のカメラ100-1~100-nによって異なるM視点において撮像されたM枚の校正用画像を用いて複数のカメラ100-1~100-nのカメラパラメータを算出する(S310)。なお、ここでのM視点は、制御部300において決定された視点数に基づく。
【0151】
なお、カメラ校正部410は、固定カメラ及び非固定カメラを含むn台のカメラ100-1~100-nによって得られたM枚の校正用画像を用いてカメラ校正処理を行う。カメラ校正処理では、カメラの数が多いほどカメラ間の距離が近くなり、距離が近い複数のカメラの視野が近くなるため、距離が近い複数のカメラから得られる複数の画像の対応付けが容易になる。よって、カメラ校正部410は、カメラ校正を行う場合、撮影空間1000に常時設置されている固定カメラに加えて、非固定カメラを用いて視点数を増やす。
【0152】
非固定カメラは、少なくとも1台の移動カメラでもよく、非固定カメラとして移動カメラを使用する場合、撮像するタイミングが異なる画像が含まれることとなる。つまり、カメラ校正処理において用いられるM枚の校正用画像は、異なるタイミングで撮像された画像を含むことになる。言い換えると、M枚の校正用画像が構成するM視点の多視点フレームセットは、非同期撮影により得られたフレームを含む。このため、カメラ校正部410は、M枚の校正用画像のうちの静止物体が映っている領域である静止領域から得られる特徴点の画像間同士の対応点を利用してカメラ校正処理を行う。よって、カメラ校正部410は、静止領域に対応したカメラパラメータを算出する。静止領域は、M枚の校正用画像のうちの動物体が映っている動領域を除く領域である。フレームに映り込む動領域は、例えば、過去のフレームとの差分を計算したり、背景映像との差分を計算したり、機械学習により動物体の領域を自動検知するなどで検出される。
【0153】
なお、カメラ校正部410は、三次元画像処理部240における自由視点映像生成処理において、ステップS310のカメラ校正処理を常に行わなくてもよく、所定の回数毎に1回行ってもよい。
【0154】
次に、三次元処理部420は、n台のカメラ100-1~100-nのそれぞれによって撮像されたN枚の三次元処理用画像、及び、カメラ校正処理において得られたカメラパラメータ、を用いて三次元モデルを再構成する(S320)。つまり、三次元処理部420は、制御部300において決定された視点数Nに基づいて、N視点において撮像されたN枚の三次元処理用画像を用いて三次元モデルを再構成する。これにより、三次元処理部420は、N枚の三次元処理用画像における被写体を三次元点として再構成する。三次元モデリング処理において用いられるN枚の三次元処理用画像は、任意のタイミングでn台のカメラ100-1~100-nのそれぞれによって撮像された画像である。つまり、N枚の三次元処理用画像が構成するN視点の多視点フレームセットは、同期撮影により得られた多視点フレームセットである。このため、三次元処理部420は、N枚の三次元処理用画像のうち静止物体及び動物体を含む領域(つまり、全ての領域)を用いて三次元モデリング処理を行う。なお、三次元処理部420は、レーザスキャンを用いて被写体の三次元空間上の位置の計測結果を用いてもよいし、多視点ステレオ法のように複数のステレオ画像の対応点を用いて、被写体の三次元空間上の位置を算出してもよい。
【0155】
次に、三次元処理部420は、n台のカメラ100-1~100-nのうちの、l台のカメラのそれぞれによって撮像されたl枚の第3画像、カメラ校正処理において算出されたカメラパラメータ、及び、三次元モデリング処理において再構成された三次元モデル、を用いて自由視点映像を合成する(S330)。つまり、三次元処理部420は、制御部300において決定された視点数lに基づいて、l視点において撮像されたl枚の第3画像を用いて自由視点映像を合成する。具体的には、三次元処理部420は、カメラパラメータ及び三次元モデルにより求めた、実カメラの画像と仮想視点の画像との対応位置を基に、実カメラのテクスチャ情報を用いて仮想視点のテクスチャ情報を算出することで、自由視点映像を合成する。
【0156】
(効果など)
本実施の形態に係る三次元変位計測方法によれば、カメラパラメータの精度が向上するように三次元変位計測処理における視点数Nよりも多い視点数Mを、カメラ校正処理に用いることで、三次元変位計測処理における精度を向上させることができる。
【0157】
また、本実施の形態に係る三次元変位計測方法によれば、精度が高いカメラパラメータ、第1対応点及び第2対応点に基づいて、画像マッチングの手法及び三角測量の原理を用いて、三次元点の経時的な変位を求める。このため、被写体の三次元空間における変位を効果的に求めることができる。
【0158】
また、本実施の形態に係る三次元変位計測方法によれば、変位計測ステップで行われる計測の精度を満たすように、カメラの視点数Nを定めることができる。よって、三次元変位計測方法では、精度よく被写体の三次元空間における変位を求めることができる。
【0159】
本実施の形態に係る三次元変位計測装置2000によれば、カメラ校正処理において算出するカメラパラメータの精度が、三次元モデリング処理及び自由視点映像合成処理における精度に大きな影響を及ぼすことを考慮して、カメラパラメータの精度が向上するように三次元モデリング処理における視点数Nよりも多い視点数Mを、カメラ校正処理において用いる多視点フレームセットの視点数として決定する。このため、三次元モデリング処理及び自由視点映像合成処理における精度を向上させることができる。
【0160】
また、本実施の形態に係る三次元変位計測装置2000によれば、三次元モデリング処理における視点数Nよりも少ない視点数lを、自由視点映像合成処理において用いる多視点フレームセットの視点数として決定することで、自由視点映像を生成するのに要する処理負荷を低減することができる。
【0161】
(変形例)
図16は、三次元画像処理部の変形例のブロック図である。本実施の形態における変形例では、三次元画像処理部240Aは、カメラ校正部510及び三次元処理部520で構成されている。
【0162】
カメラ校正部510は、カメラ校正部410と機能、構成等は同一であるが、以下の点において異なる。カメラ校正部510は、カメラ校正部510の出力をフィードバックされた入力として受け付け、その入力に基づいて再度処理を行う。三次元処理部520は、三次元処理部420と機能及び構成は同一である。三次元処理部520は、カメラ校正部510から最終的に出力されたデータに基づいて、処理を行う。なお、カメラ校正部からの最終的な出力とは、例えば、カメラ校正部からの最初の出力を除いた出力である。
【0163】
図17は、三次元画像処理部の変形例の動作を示すフローチャートである。
【0164】
まず、カメラ校正部510は、制御部300が決定した視点数及び視点位置に対応する多視点フレームセットを用いて、撮影が行われた各視点に存在するカメラのカメラパラメータを算出する(ステップS5100)。
【0165】
次に、カメラ校正部510は、ステップS5100で行われたカメラ校正の結果の値を初期値として、制御部300が決定した視点数及び視点位置に対応する多視点フレームセットを用いて、撮影が行われた各視点に存在するカメラのカメラパラメータを算出する(ステップS5200)。
【0166】
そして、三次元処理部520は、制御部300が決定した視点数及び視点位置に対応する多視点フレームセット、及び、カメラ校正部510が算出したカメラパラメータを用いて、被写体1001の三次元モデリング、または、被写体の三次元変位計測を行う(ステップS5300)。
【0167】
カメラ校正処理において、カメラ校正に使用されるカメラの台数が多いほど、カメラ間の距離が近くなる。距離が近いカメラ間では、カメラの視野に入る撮影空間1000の領域同士が近くなるため、カメラごとに撮影された画像同士の対応付けが容易になる。よって、カメラ校正を行う場合、撮影空間1000に常時設置されている固定カメラに加えて、非固定カメラを用いて、カメラ校正に用いられる視点の数を、固定カメラで実現される視点の数よりも増加させる。ここで、非固定カメラは、少なくとも1台の移動カメラでもよい。しかしながら、非固定カメラとして移動カメラを使用する場合、異なる視点において撮影された画像の撮影時刻が異なるため、撮影された画像の静止領域のみ対応したカメラパラメータが算出される。
【0168】
このとき、算出されたカメラパラメータは、固定カメラで撮影された画像における動領域に対応しているとは限らない。ここで、動領域とは、画像中の、動物体が映っている領域である。また、Structure from Motionのような方式では、カメラパラメータの全体最適化が実施される。よって、この方式が用いられた場合は、固定カメラのみに着目すると、カメラパラメータが最適化されているとは限らない。
【0169】
よって、本変形例では、ステップS5100とステップS5200との2つのステップにわたって、2段階のカメラ校正を実施する。
【0170】
まず、ステップS5100では、カメラ校正部510は、撮影空間1000に常時設置されているA台のカメラ以外の少なくとも1台のカメラで撮影された画像を含んだ、B個の視点が用いられる多視点フレームセットを用いて、大まかなカメラ校正を行う。
【0171】
次に、ステップS5200では、カメラ校正部510は、撮影空間1000に常時設置されているA台のカメラで撮影された画像のみを用いて、カメラ校正部510が算出したカメラパラメータをA台のカメラ環境で最適化する。ここで、最適化とは、カメラパラメータ算出の際に副次的に得られた三次元点を、撮影された画像上に再投影し、その再投影点と画像上で検出された特徴点との誤差(再投影誤差)を評価値として、評価値を最小化する処理を行うことを指してもよい。
【0172】
なお、2段階目のカメラ校正で用いる視点数は、撮影空間1000に常時設置されるカメラ台数Aより大きくてもよい。また、2段階目のカメラ校正で用いられる視点数は、三次元画像処理(例えば三次元変位計測)で用いられる視点数よりも大きくてもよい。ただし、2段階目のカメラ校正で用いられる視点数は、三次元画像処理(例えば三次元変位計測)で用いられる視点数と等しくてもよいし、それよりも小さくてもよい。
【0173】
上記の三次元変位計測装置において、n台のカメラ100-1~100-nは、2つのカメラを有するステレオカメラを含んでいてもよい。ステレオカメラは、互いに略同じ方向を撮像する2つのカメラ、つまり、第1カメラ及び第2カメラを有し、2つのカメラの間の距離が所定距離以下である構成であればよい。このように、n台のカメラ100-1~100-nがステレオカメラにより構成された場合、n/2台の第1カメラと、n/2台の第2カメラとにより構成される。なお、ステレオカメラが有する2つのカメラは、一体化されていてもよいし、別体であってもよい。
【0174】
また、ステレオカメラを構成する第1カメラ及び第2カメラは、互いに異なる感度で撮像してもよい。第1カメラは、第1の感度で撮像するカメラである。第2カメラは、第1の感度とは異なる第2の感度で撮像するカメラである。第1カメラと第2カメラとは、色感度が互いに異なるカメラである。
【0175】
三次元処理部は、n台のカメラ100-1~100-nの全てによって撮像されることにより得られたn枚の三次元処理用画像を用いて三次元モデルを再構成する。三次元処理部は、三次元モデリング処理において、輝度情報を使用するため、色感度の相違に関わらずn台のカメラ全てを使用して三次元モデルを高精度に算出することができる。
【0176】
三次元処理部は、n/2台の第1カメラまたはn/2台の第2カメラによって撮像されることにより得られた複数の画像であるn/2枚の第3画像、カメラ校正部により算出されたカメラパラメータ、及び、三次元処理部により再構成された三次元モデル、を用いて自由視点映像を合成する。三次元処理部は、自由視点映像生成処理において、n/2台の第1カメラ、及び、n/2台の第2カメラのどちらか一方によるn/2枚の画像を使用しても精度に及ぼす影響は小さい。そこで、三次元処理部は、撮影空間1000の状況に応じて、第1カメラと第2カメラとの一方で撮像されたn/2枚の画像を用いて、自由視点合成を実施する。例えば、n/2台の第1カメラは、赤系統の色感度が高いカメラであり、n/2台の第2カメラは、青系統の色感度が高いカメラであるとする。この場合、三次元処理部は、被写体が赤系統の色であれば、赤の色感度が高い第1カメラにより撮像された画像を用い、被写体が青系統の色であれば、青の色感度が高い第2カメラにより撮像された画像を用いて自由視点映像合成処理を実行するように、用いる画像を切り替える。
【0177】
三次元変位計測装置によれば、撮影空間の状況に応じて感度の異なる2種類のカメラから得られる2種類の画像のうちの一方の画像を用いて自由視点映像合成を行う。このため、精度よく自由視点映像を生成することができる。
【0178】
なお、第1カメラと第2カメラとは、色感度が互いに異なることに限らず、輝度感度が互いに異なるカメラであってもよい。この場合、三次元処理部は、昼間と夜間、晴天と曇天などの状況に応じて、カメラを切替えることができる。
【0179】
なお、ステレオカメラを用いるとしたが、必ずしもステレオカメラを用いなくてもよい。よって、n台のカメラは、n/2台の第1カメラ、及び、n/2台の第2カメラにより構成されていることに限らずに、i台の第1カメラと、j台の第2カメラとにより構成されていてもよい。
【0180】
複数のカメラ100-1~100-nは、固定カメラ及び非固定カメラにより構成されるとしたが、これに限らずに、全ての複数のカメラが固定カメラにより構成されてもよい。また、三次元モデリングで用いられるn枚の画像は、固定カメラにより撮像された画像であるとしたが、非固定カメラにより撮像された画像を含んでいてもよい。
【0181】
図18は、三次元空間認識の概要を示す図である。上述のように、校正済みのカメラ(例えば固定カメラ)を用いて同一空間を多視点から撮影することにより撮影する空間を三次元再構成できる(三次元空間再構成)。この三次元再構成されたデータを用いて、三次元変位計測等を行うことができる。これにより、次世代広域監視システム、及び三次元変位計測システムを実現できる。具体的には、車道における交差点等において、通行する車両10等を固定カメラ100-aまたは非固定カメラ100-bを用いて撮影し、車両10等の三次元変位を測定することが出来る。
【0182】
上記の三次元変位計測装置によれば、被写体の三次元変位計測を行い、さらに、被写体の三次元モデリングを行ってもよいとしたが、これに限らずに、被写体の三次元変位計測を行わずに被写体の三次元モデリングを行ってもよい。
【産業上の利用可能性】
【0183】
本開示は、三次元変位計測方法及び三次元変位計測装置に適用でき、例えば、インフラ点検システム、産業用機械モニタリングシステム、三次元空間認識システム及び次世代監視システム等に適用できる。
【符号の説明】
【0184】
3 三次元再構成システム
10 車両
100-1~100-n カメラ
100-a 固定カメラ
100-b 非固定カメラ
200-1~200-Q 多視点フレームセット
210 受信部
220 記憶部
230 取得部
240、240A 三次元画像処理部
250 送信部
300 制御部
310 計測用決定部
320 カメラ校正用決定部
410、510 カメラ校正部
420、520 三次元処理部
1000 撮影空間
1001 被写体
2000 三次元変位計測装置