説明

位置姿勢計測装置及び位置姿勢計測プログラム

【課題】初期設定でユーザに手間を掛けることなく正確にカメラポーズ及び対象の3次元形状を計測できるようにする。
【解決手段】初期値算出部11は、平面上に撮像対象が配置されている状態を、球形等の近似似撮像対象が配置されている状態であると近似し、初期カメラポーズを決定し、3次元座標を算出する。また、初期値算出部11は、初期値の候補から実際の3次元シーンの真値に近い値を選択し初期値として設定する。これにより、ユーザによる事前の作業なく、初期値として実際の3次元シーン形状に近い形状を指定できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カメラ等の撮像装置によって入力された少なくとも1枚以上の撮像画像列から、カメラの位置及び姿勢を示すカメラポーズと、撮像された3次元空間の3次元情報を計測する位置姿勢計測装置及び位置姿勢計測プログラムに関する。
【背景技術】
【0002】
位置姿勢計測装置は、カメラ等の撮像装置によって入力された少なくとも1枚以上の撮像画像列から、カメラの位置及び向きを示すカメラポーズと、撮像された3次元シーンの3次元座標情報を計測し、計測したカメラの位置及び向きを用いて、撮像画像中にコンピュータグラフィクス等を合成することや、計測した3次元座標情報を用いて3次元シーンを理解することなどを可能としている。
【0003】
従来の位置姿勢計測装置は、撮像装置から入力される初期時刻においてカメラポーズと、対象の3次元座標情報が与えられていることを前提に、(1)撮像画像中での特徴点の追跡、(2)カメラポーズの推定、(3)特徴点の3次元座標の推定・更新、を繰り返すことによって、時々刻々と変化するカメラポーズ、及び撮像された3次元シーンの3次元座標情報の計測を実現している。
【0004】
初期時刻におけるカメラポーズと、対象の3次元座標情報は、例えば、非特許文献1に記載の方法では、予め対象の3次元シーンを2地点で撮像した画像から特徴点を抽出し、当該特徴点の3次元座標情報をステレオ計測原理により算出することによって、カメラポーズの初期状態を一方の地点で撮像したカメラポーズ、対象の3次元座標情報の初期状態を算出した3次元座標情報としている。
【0005】
また、例えば非特許文献2に記載の方法では、ユーザが本やワインボトル等の平面に近い形状である撮影対象に対しおおむね正対してカメラを持つと仮定し、初期状態のカメラポーズである位置及び姿勢をそれぞれ、平行移動成分を0ベクトル、回転成分を単位行列としている。また撮像画像中での特徴点pの3次元座標の初期状態を(X,Y,Z)=(x,y,1)としている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】”Parallel Tracking and Mapping for Small AR Workspaces”(Georg Klein、 David Murray: Proc. ISMAR, pp. 225-234、 2007)
【非特許文献2】「動画像からの三次元復元による湾曲した紙面のビデオモザイキング」(佐藤智和、池谷彰彦、池田聖、神原誠之、中島昇、横矢直和:電子情報通信学会論文誌D、巻:Vol.J90-D,No.8、pp.1900-1911,2007)
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、非特許文献1では、初期設定にユーザの手間が掛かり煩わしいとともに時間が掛かるといった問題があった。また非特許文献2では、対象が非平面と大きく異なる3次元座標を有する場合、つまり初期値が真値から大きく離れる場合には、初期時刻以降のカメラポーズの推定、特徴点の3次元座標の推定・更新時の最適化処理において局所解に陥ることで正しい解が得られないことがあるといった問題があった。
【0008】
本発明は、上述したような従来技術が有する問題点に鑑みてなされたものであり、初期設定でユーザに手間を掛けることなく正確にカメラポーズ及び対象の3次元形状を計測できる位置姿勢計測装置及び位置姿勢計測プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上述の課題を解決するために、本発明に係る位置姿勢計測装置は、撮像装置から入力される少なくとも1枚の入力画像列から、該撮像装置の位置及び姿勢を示すカメラポーズと、該撮像装置により撮像される撮像物体の3次元座標を逐次計測する位置姿勢計測装置であって、予め設定された前記撮像装置の内部パラメータと、初期時刻におけるカメラポーズである初期カメラポーズと、前記撮像装置に対する前記撮像物体の位置関係と、前記撮像物体の大きさを表す値とから、初期時刻における前記撮像物体の3次元座標である初期3次元座標を算出する初期値算出手段と、前記入力画像列のうち初期時刻における画像である初期時刻画像から前記撮像物体の特徴点の画像における座標である特徴点座標を抽出し、前記初期カメラポーズと初期3次元座標とから前記特徴点座標に対応する初期3次元座標を算出する初期値決定手段と、前記入力画像列のうち初期時刻画像から順に、現時刻における画像である現時刻画像と、前時刻における画像である前時刻画像とそれぞれの前記撮像物体の特徴点座標を対応付ける特徴点追跡手段と、前記現時刻画像内の特徴点座標と、前記特徴点追跡手段が対応付けた現時刻画像と前時刻画像とそれぞれの特徴点座標と、前時刻画像内の特徴点の3次元座標とから、現時刻におけるカメラポーズを算出するカメラポーズ推定手段と、初期時刻から現時刻に亘るカメラポーズと特徴点座標とから、現時刻の撮像画像内の特徴点各々の3次元座標を算出して更新する3次元座標算出手段と、現時刻画像から予め定められた一定時刻前までの撮像画像列に亘り、前記カメラポーズ推定手段が算出したカメラポーズと、前記3次元座標算出手段が算出した特徴点の3次元座標と、前記特徴点追跡手段により対応付けられた特徴点座標とから予め定められた誤差関数を最小化する特徴点の3次元座標及びカメラポーズを算出する最適化処理手段と、を有することを特徴とする。
【0010】
また、上記に記載の本発明に係る位置姿勢計測装置において、前記初期値算出手段は、撮像物体として予め定められた半径を有する球体を平面上に配置された近似撮像対象を、前記撮像装置が予め定められた位置関係から観測するものとして、初期時刻における初期3次元座標を算出することを特徴とする。
【0011】
また、上記に記載の本発明に係る位置姿勢計測装置において、前記初期値算出手段は、撮像物体として予め定められた複数の半径を有する球体のうち1つを平面上に配置された近似撮像対象を、前記撮像装置が予め定められた位置関係から観測するものとして、初期時刻における初期3次元座標を算出する処理を、前記複数の半径を有する球体に亘って行って初期3次元座標候補を算出することを特徴とする。
【0012】
また、上記に記載の本発明に係る位置姿勢計測装置において、前記初期値算出手段は、予め定められた複数の基本形状のうち1つを平面上に配置された近似撮像対象を、前記撮像装置が予め定められた位置関係から観測するものとして、初期時刻における初期3次元座標を算出する処理を、前記複数の基本形状に亘って行って初期3次元座標候補を算出することを特徴とする。
【0013】
また、上記に記載の本発明に係る位置姿勢計測装置において、前記初期値算出手段は、平面上に配置する近似撮像対象を、前記撮像装置が予め入力される複数の位置関係から観測するものとして、初期時刻における初期3次元座標を算出する処理を、前記複数の位置関係に亘って行って初期3次元座標候補を算出することを特徴とする。
【0014】
また、上記に記載の本発明に係る位置姿勢計測装置において、前記初期値決定手段は、算出された前記初期3次元座標候補のうちいずれか1つを初期3次元座標に選択する際に、前記初期3次元座標候補から順に1つを選択し、選択した初期3次元座標候補に基づいて、初期時刻の撮像画像の特徴点に対応する3次元座標を初期3次元座標に設定し、初期時刻から時刻を1つ進めた現時刻の撮像画像を前記撮像画像列から取り出し、現時刻と初期時刻のそれぞれの画像の特徴点座標を対応付け、前記現時刻の特徴点座標と、対応付けた現時刻画像と前時刻画像とそれぞれの特徴点座標と、前時刻画像内の特徴点の3次元座標とから現時刻におけるカメラポーズを算出し、初期時刻から現時刻に亘るカメラポーズ及び特徴点座標から、前記現時刻の特徴点座標各々の3次元座標を算出して更新する処理を、予め定められた期間に亘って繰り返した後に、該期間の撮像画像に亘って最適化処理を実施して誤差値を算出する処理を、全ての初期3次元座標候補に亘って行い、算出した誤差値のうち最小の誤差値に対応する初期3次元座標候補を初期3次元座標に選択することを特徴とする。
【0015】
また、上記に記載の本発明に係る位置姿勢計測装置において、前記初期値決定手段は、前記初期3次元座標候補から初期3次元座標を選択する際に、前記初期3次元座標候補に対応する近似撮像対象と、初期時刻画像とに基づいて初期3次元座標候補を選択することを特徴とする。
【0016】
また、上記に記載の本発明に係る位置姿勢計測装置において、前記初期値決定手段は、前記初期3次元座標候補から初期3次元座標を選択する際に、初期時刻の撮像画像を撮像対象の特徴に基づいて複数の領域に分割し、前記撮像画像の中心を含む前記領域の輪郭線を抽出し、前記初期3次元座標候補に対応する距離画像を領域分割し、前記距離画像の中心を含む領域の輪郭線を抽出し、前記撮像画像から抽出した輪郭線の長さと、前記距離画像から抽出した輪郭線の長さとの差が予め定められた閾値以下の前記初期3次元座標候補を初期3次元座標に選択することを特徴とする。
【0017】
また、本発明に係る位置姿勢計測プログラムは、撮像装置から入力される少なくとも1枚の入力画像列から、該撮像装置の位置及び姿勢を示すカメラポーズと、該撮像装置により撮像される撮像物体の3次元座標を逐次計測する位置姿勢計測装置が有するコンピュータを、予め設定された前記撮像装置の内部パラメータと、初期時刻におけるカメラポーズである初期カメラポーズと、前記撮像装置に対する前記撮像物体の位置関係と、前記撮像物体の大きさを表す値とから、初期時刻における前記撮像物体の3次元座標である初期3次元座標を算出する初期値算出手段、前記入力画像列のうち初期時刻における画像である初期時刻画像から前記撮像物体の特徴点の画像における座標である特徴点座標を抽出し、前記初期カメラポーズと初期3次元座標とから前記特徴点座標に対応する初期3次元座標を算出する初期値決定手段、前記入力画像列のうち初期時刻画像から順に、現時刻における画像である現時刻画像と、前時刻における画像である前時刻画像とそれぞれの前記撮像物体の特徴点座標を対応付ける特徴点追跡手段、前記現時刻画像内の特徴点座標と、前記特徴点追跡手段が対応付けた現時刻画像と前時刻画像とそれぞれの特徴点座標と、前時刻画像内の特徴点の3次元座標とから、現時刻におけるカメラポーズを算出するカメラポーズ推定手段、初期時刻から現時刻に亘るカメラポーズと特徴点座標とから、現時刻の撮像画像内の特徴点各々の3次元座標を算出して更新する3次元座標算出手段、現時刻画像から予め定められた一定時刻前までの撮像画像列に亘り、前記カメラポーズ推定手段が算出したカメラポーズと、前記3次元座標算出手段が算出した特徴点の3次元座標と、前記特徴点追跡手段により対応付けられた特徴点座標とから予め定められた誤差関数を最小化する特徴点の3次元座標及びカメラポーズを算出する最適化処理手段として機能させることを特徴とする。
【発明の効果】
【0018】
本発明によれば、ユーザによる事前の作業なく、初期値として実際の3次元シーン形状に近い形状を指定できるため、ユーザの手間を掛けることなくカメラポーズ及び対象の3次元座標を計測することが可能となる。また、本発明によれば、初期値の候補から実際の3次元シーンの真値に近い値を選択し初期値として設定できるため、逐次のカメラポーズ及び対象の3次元座標推定が局所解に陥ることなく実行でき、正確に各々を計測することが可能となる。
【図面の簡単な説明】
【0019】
【図1】本発明の第1の実施形態のシステムの構成を示すブロック図である。
【図2】本発明の第1の実施形態における初期値算出処理の第1の説明図である。
【図3】本発明の第1の実施形態における初期値算出処理の第2の説明図である。
【図4】本発明の第1の実施形態における初期値算出処理の第3の説明図である。
【図5】本発明の第1の実施形態における位置姿勢計測処理を説明するためのフローチャートである。
【図6】本発明の第1の実施形態における初期値決定処理の第1の説明図である。
【図7】本発明の第1の実施形態における初期値決定処理の第2の説明図である。
【図8】本発明の第2の実施形態における初期値算出処理の第1の説明図である。
【図9】本発明の第2の実施形態における初期値算出処理の第2の説明図である。
【図10】本発明の第2の実施形態における初期値算出処理の第3の説明図である。
【図11】本発明の第2の実施形態における位置姿勢計測処理を説明するためのフローチャートである。
【図12】本発明の第2の実施形態における初期値決定処理の第1の説明図である。
【図13】本発明の第2の実施形態における初期値決定処理の第2の説明図である。
【発明を実施するための形態】
【0020】
<第1の実施形態>
以下、本発明の実施の形態について図面を参照しながら説明する。図1は、本発明の第1の実施形態のシステム構成を示すブロック図である。
【0021】
図1において、撮像装置1は、対象となる3次元シーンを撮像する。撮像装置1は、例えば、CCD(Charge-Coupled Device)カメラ、CMOSカメラ(Complementary Mental-Oxide Semiconductor)等を含んでいる。なお、本発明の実施形態において、焦点距離などを示す撮像装置1の内部パラメータは、例えば、焦点距離などであり、予め設定されているものとする。
【0022】
位置姿勢計測装置2は、コンピュータシステムにより構成されており、撮像装置1から入力された撮像画像列から、カメラの位置及び向きを示すカメラポーズと、撮像された3次元シーンの3次元座標情報を計測する。位置姿勢計測装置2に対して、メモリ4及びハードディスクドライブ装置5が設けられる。なお、メモリ4及びハードディスクドライブ装置5は、位置姿勢計測装置2の本体に内蔵されても良いし、位置姿勢計測装置2の本体の外部に備えられても良い。
【0023】
モニタ装置3は、撮像装置1で撮像された画像や位置姿勢計測装置2での結果をモニタ画像として映し出す。モニタ装置3としては、液晶ディスプレイやプロジェクタが用いられる。
【0024】
位置姿勢計測装置2は、初期値算出部11と、初期値決定部12と、特徴点追跡部13と、カメラポーズ推定部14と、3次元座標算出部15と、最適化処理部16との各機能部から構成される。
【0025】
初期値算出部11は、予め設定されている焦点距離等の撮像装置1の内部パラメータと、撮像装置1に対する撮像物体の位置関係(並進成分T及び回転成分R)と、撮像物体の大きさを表す値から、位置姿勢計測を開始する初期時刻におけるカメラポーズである初期カメラポーズを設定し、位置姿勢計測を開始する初期時刻における対象物体の3次元座標である初期3次元座標の算出を行い、その値をハードディスクドライブ装置5に記録する。
【0026】
初期値決定部12は、撮像装置1から出力される初期時刻の画像と、初期値算出部11が決定した初期カメラポーズ及び初期3次元座標とから、初期時刻画像における特徴点の座標値を抽出し、抽出した特徴点に対応する初期3次元座標値を決定し、メモリ4に記録する。ここでいう決定とは、初期カメラポーズ及び初期3次元座標とから初期3次元座標値を算出する処理のことである。
【0027】
特徴点追跡部13は、入力される現時刻の画像と、前時刻の画像内の特徴点の座標値とから、前時刻画像内の全特徴点について現時刻画像内において対応する特徴点の座標値を決定し、メモリ4に記録する。ここで、前時刻の画像は、現在、処理対象にしている現時刻の画像である現時刻画像の直前に入力された画像であり、以下、前時刻画像という。
【0028】
カメラポーズ推定部14は、現時刻画像内における特徴点の座標値と、現時刻画像内における特徴点に対応する前時刻画像における特徴点の3次元座標値との組から、現時刻のカメラポーズを算出し、メモリ4に記録する。ここで前時刻における3次元座標値は、メモリ4に一時的に格納されてあって、そのメモリ4から読み出しても良い。
【0029】
3次元座標算出部15は、初期時刻から現時刻に亘っての撮像画像におけるカメラポーズと特徴点の座標値から、現時刻の特徴点の各々について3次元座標を算出し、メモリ4上に記録されている同一点の3次元座標値を更新する。
【0030】
最適化処理部16は、現時刻画像から予め定められた一定時刻前までの撮像画像列に亘る、カメラポーズ推定部14で算出したカメラポーズと3次元座標算出部15で算出した特徴点の3次元座標値から、予め定めた誤差関数を最小化する特徴点の3次元座標及びカメラポーズを決定し出力する。
【0031】
次に、本発明の第1の実施形態の位置姿勢計測装置2で実行される処理について詳細に説明する。本発明の第1の実施形態における位置姿勢計測装置2では、オフライン処理で、予め初期値算出部11が起動される。初期値算出部11が起動されると、初期値算出部11は焦点距離等の撮像装置1の内部パラメータを受信する。
【0032】
ここで、ユーザが撮像する3次元空間内では、例えば図2に示すように、撮像対象52が机等の平面51上に配置されており、ユーザはこの撮像対象52のほぼ中心を斜め下向きに撮影するものと仮定する。以下、この仮定のもとで、初期値算出部11での初期3次元座標の算出方法について説明する。
【0033】
まず、初期値算出部11は、初期カメラポーズを示す撮像装置1の並進成分T(X,Y,Z)を0ベクトル、回転成分Rを単位行列に初期化する。ここで、並進成分Tは、X軸、Y軸、Z軸の各座標系に沿った直線上の運動成分を表し、回転成分Rは、X軸、Y軸、Z軸の各座標系に対して回転する運動成分を表す。また、初期時刻においては、図3に示すように、世界座標系とカメラ座標系は合致しているものとする。
【0034】
図2、3は、本実施形態において、撮像装置と、撮像対象との位置関係の一例を示す図である。
初期値算出部11は、図2の平面51上に撮像対象52が配置されている状態を、図3に示すように、平面61上に半径rの球体の近似撮像対象62が配置されている状態であると近似し、前述の仮定のもとで、カメラ座標系原点から並進成分T、回転成分Rを設置して、初期カメラポーズを決定する。
【0035】
ここで、近似撮像対象62の半径r、並びに、撮像装置1に対する近似撮像対象62の並進成分T及び回転成分Rは、予めユーザにより与えられているものとする。初期値算出部11は、この近似撮像対象62と、撮像装置1の内部パラメータ及びカメラポーズ(即ち、並進成分Tは0ベクトル、回転成分Rは単位行列)を用いて、初期3次元座標を算出する。すなわち、初期値算出部11は、予め定められた半径rを有し、平面上に配置された球体を近似撮像対象として、予め定められた初期カメラポーズから近似撮像対象を撮像した場合における初期3次元座標を算出する。
【0036】
図4は、このようにして算出された初期3次元座標を距離画像表現で示したものである。図4においては、初期3次元座標を近い方が明るく、遠い方が暗くなる距離画像で表現している。
【0037】
以上のようにして、初期値算出部11は、初期カメラポーズの設定と、初期3次元座標の算出を行い、この初期3次元座標と、初期カメラポーズをハードディスクドライブ装置5等の記録媒体に記録して、処理を終了する。その後、オンライン処理で、位置姿勢計測処理が行われる。次に、このオンライン処理における位置姿勢計測処理について説明する。
【0038】
図5は、位置姿勢計測装置2で実行されるオンライン処理の流れを示すフローチャートである。位置姿勢計測装置2におけるオンライン処理では、まず初期値決定部12が起動される。
【0039】
初期値決定部12は、はじめに初期値算出部11においてハードディスクドライブ装置5に記録された初期3次元座標と初期カメラポーズを読み出す。続いて、初期値決定部12は、撮像装置1から出力される初期時刻画像を受信する。
図6は、撮像対象における特徴点の一例を示す図である。初期値決定部12は、受信した撮像画像において、図6に示すように、画像上の角や交点となる特徴点Aを抽出する。
【0040】
続いて、初期値決定部12は、この特徴点Aに対応する初期3次元座標値を、初期値算出部11で算出された初期3次元座標(図4)から選択することによって決定する。
図7は、抽出した特徴点Aと、初期3次元座標値とが対応付けられた組の一例を示す図である。初期値決定部12は、図7に示すように、特徴点Aの座標値と初期3次元座標値との組を対応付けて、初期カメラポーズと併せてメモリ4に記録し、初期値決定部12における処理を終了する(ステップS101)。
【0041】
特徴点Aの座標値と初期3次元座標との対応付けは、例えば、初期3次元座標値として、世界座標系原点(図3の世界座標系原点0)に撮像装置1と同じ内部パラメータを有する仮想カメラ41を配置し、この仮想カメラ41に初期3次元座標を射影することによって距離画像表現したもの(図4)を予め作成しておく。続いて、初期値決定部12は、撮像画像から出力される初期画像上での特徴点Aの画像座標(x,y)と同様の画像座標に対応する点を距離画像(図4)から抽出し、その距離値Zを読み出し、この距離値Zから特徴点Aの初期3次元座標を演算し決定する。この初期3次元座標は、撮像装置1の内部パラメータが焦点距離fのみによって規定される場合は、X=Z/f、Y=Z/f、Z=Zと演算し決定できる。
【0042】
初期値決定部12での処理が終了したら、次に、位置姿勢計測装置2はユーザからの終了指示があるかを判定し(ステップS106)、ユーザからの終了指示がなければ、続いて特徴点追跡部13が起動される。特徴点追跡部13は、撮像装置1から入力される次時刻画像を現時刻画像に設定するとともに現時刻画像を前時刻画像に設定する。そして、特徴点追跡部13は、メモリ4に記録されている前時刻画像内の各特徴点Aについて、現時刻画像内における対応点を決定する(ステップS102)。
【0043】
この対応点の決定は、特徴点近傍画素値の類似度を評価するテンプレートマッチング等により実現される。この対応点決定処理を前時刻画像内の全特徴点Aに亘って処理を行い、現時刻画像内における特徴点Aの座標を決定する。すなわち、特徴点追跡部13は、前時刻画像の特徴点Aと、現時刻画像の特徴点Aとを対応付けることにより、各特徴点Aの移動を追跡する。
【0044】
続いてカメラポーズ推定部14が起動される。カメラポーズ推定部14は、まず、特徴点追跡部13が決定した現時刻画像内の特徴点Aの画像座標を受信し、メモリ4から前時刻の3次元座標値を読み出す。続いて、現時刻画像内の特徴点Aの画像座標と、現時刻画像内の特徴点Aに対応する前時刻画像内の特徴点Aの3次元座標値とから、現時刻のカメラポーズを算出する(ステップS103)。このカメラポーズの算出は、以下のようにして行われる。
【0045】
まず、3次元空間中の点(X,Y,Z,1)と撮像画像上の投影点(u,v,1)との間には、次式(1)の関係が成り立つ。
【0046】
【数1】

【0047】
ここで、Pは、3×4の行列であり、撮像装置1の外部パラメータであるカメラポーズを示す。また、Tは転置を表す。続いて、画像上の観測点(u’,v’)と投影点の誤差を次式(2)で表現することができる。
【0048】
【数2】

【0049】
現時刻画像内の特徴点の座標(u’,v’)と前時刻の3次元座標値(X,Y,Z)を用い非線形最適化法により現時刻のカメラポーズPを算出する。例えば式(2)で定義した誤差関数の和を示す次式(3)の値をマーカート法により最小化することでカメラポーズPを得ることができる。
【0050】
【数3】

【0051】
続いて、3次元座標算出部15が起動される。3次元座標算出部15は、まず、メモリ4から初期時刻の次の時刻から現時刻に亘っての撮像画像におけるカメラポーズと、特徴点Aの画像座標とを読み出す。続いて、3次元座標算出部15は、現時刻の特徴点Aの各々について3次元座標を算出し、メモリ4上に記録されている同一点の3次元座標値を更新する(ステップS104)。この3次元座標の算出は、現時刻tに存在する全ての特徴点Aについて、特徴点Aごとに式(2)で定義した誤差関数の和を示す次式(4)の値を最小化することにより3次元座標を算出する。
【0052】
【数4】

【0053】
続いて、最適化処理部16が起動される。最適化処理部16は、まず、正確なカメラポーズを推定するべく誤追跡の発生しにくい特徴点Aのみを選択するため、特徴点Aの追加と削除を行う。この特徴点Aの追加と削除は、例えば、一定時刻以上追跡された特徴点Aにおいて、各画像間の対応付け誤差値が予め定めた閾値以下であれば追加、予め別に定めた閾値以上であれば削除することによって実現できる。
【0054】
最後に、最適化処理部16は、バンドルアジャスメントの枠組み(参考文献1:”Bundle Adjustment-A Modern Synthesis",(B.Triggs, P.McLauchlan, R.Hartley and A.Fitzgibbon : LNCS, Springer Verlag, pp.298-375, 2000)に記載されている技術)を用い、現時刻画像から予め定められた一定時刻前までの撮像画像列に対して、再投影誤差の総和を最小化することで特徴点Aの3次元座標とカメラポーズとを同時に最適化する。これは、最適化の誤差関数に、例えば、次式(5)を設定し、特徴点Aの3次元座標SとカメラポーズMをパラメータとしてEを最小化する3次元座標S、カメラポーズMとを決定する処理により実現される。なお、3次元座標Sと、カメラポーズMの初期値には、逐次処理によって得られた推定結果を用いる(ステップS105)。
【0055】
【数5】

【0056】
続いて、位置姿勢計測装置2は、終了指示が与えられたかどうかを判定し(ステップS106)、終了指示が与えられていなければ、以上の述べた特徴点追跡処理(ステップS102)、カメラポーズ推定処理(ステップS103)、3次元座標算出処理(ステップS104)、最適化処理(ステップS105)を繰り返すことによって各時刻におけるカメラポーズと3次元座標とを逐次的に算出することにより、カメラポーズと3次元座標とを推定することができる。
【0057】
以上、説明したように、本発明の第1の実施形態では、初期値算出部11は、図3に示したように、平面61上に半径rの球体の近似撮像対象62が配置されている状態であると近似し、カメラ座標系原点から並進成分T、回転成分Rを設置して、初期カメラポーズを決定している。このため、ユーザによる事前の作業なく、初期値として実際の3次元シーン形状に近い形状を指定で、ユーザの手間を掛けることなくカメラポーズ及び対象の3次元座標を計測することが可能となる。
【0058】
<第2の実施形態>
次に本発明における第2実施の形態を具体的に説明する。
前述の第1の実施形態では、位置姿勢計測装置が、図2に示したように、ユーザが撮像装置1により、平面51上に配置された撮像対象52のほぼ中心を斜め下向きに撮影するものと仮定する。そして、位置姿勢計測装置は、図3に示したように、撮像対象の初期3次元座標値を平面61上に半径rの球体が近似撮像対象62として据えられているものと近似して、カメラポーズを設定し、撮像対象の初期3次元座標を算出している。
しかしながら、撮像対象52の大きさ、撮像対象52の形状、撮像時の撮像装置1の向きによっては、このような所定の半径の球体を近似撮影対象として初期3次元座標を求めたのでは、初期値が真値から離れることがある。
【0059】
そこで、本発明の第2の実施形態では、初期値算出部11において、複数の初期3次元座標候補を予め算出して準備しておき、初期値決定部12において、これら複数の初期3次元座標候補から確からしい1つを初期値に選択して設定するようにしている。なお、本発明の第2の実施形態は、初期値算出部11と初期値決定部12以外の構成及び動作は、第1の実施形態と同様であるので、ここでは説明を省略する。以下では、第1の実施形態と異なる動作となる点についてのみ説明する。
【0060】
図8は、本実施形態において用いる近似撮像対象の一例を示す図である。
本発明の第2の実施形態では、図8(A)〜図8(D)に示すように、半径の異なる複数の近似撮像対象62a〜62dが用いられる。つまり、撮像対象の大きさ、或いは、画像上での撮像対象の大きさ(即ち撮像対象と撮像装置1との間の距離)が不明な場合に対処するために、半径(i=0〜N−1)を有するN個の球体が予め準備され、これらの球体と平面とが撮像対象として設定される。このような処理を行うために、図8(A)〜図8(D)に示すような大きさの異なる複数の近似撮像対象62a〜62dが生成され、これらが初期3次元座標候補としてハードディスクドライブ装置5等の記録媒体に記録される。
【0061】
図9は、本実施形態において用いる近似撮像対象の一例を示す図である。
また、本発明の第2の実施形態では、図9(A)〜図9(D)に示すように、形状の異なる複数の近似撮像対象62e〜62hが用いられる。つまり、例えば、撮像対象の形状が不明の時に対処するために、例えば、球形、立方体、円柱、角錐、円錐などの複数の基本形状が予め準備され、これらの基本形状と平面が撮像対象として設定される。このような処理を行うために、図9(A)〜図9(D)に示すような形状の異なる複数の近似撮像対象62e〜62hが予め生成され、これらが初期3次元座標候補としてハードディスクドライブ装置5等の記録媒体に記録される。
【0062】
図10は、本実施形態における近似撮像対象の一例を示す図である。
また、本発明の第2の実施形態では、図10(A)〜図10(H)に示すように、撮像装置1と異なる位置関係を有する複数の近似撮像対象62i〜62pが用いられる。つまり、例えば、撮像時の撮像装置1の向き(即ち初期カメラポーズの回転成分R)が不明の場合に対処するために、例えば、撮像装置1の光軸周りに45度ずつ回転させる行列が、回転成分Rとして設定される。このような処理を行うために、図10に示すような位置関係の異なる近似撮像対象62i〜62pが複数生成され、これらが初期3次元座標候補としてハードディスクドライブ装置5等の記録媒体に記録する。
【0063】
続いて、本発明の第2の実施形態におけるオンライン処理での初期値決定部12の動作を図11に基づいて説明する。
図11は、本実施形態における位置姿勢計測装置の位置姿勢計測処理を示すフローチャートである。本実施形態の初期値決定部12において、第1の実施形態と第2の実施形態の異なる点は、複数の初期3次元座標候補のうちいずれか1つを初期3次元座標に決定する動作が加わったところである。以下、本発明の第2の実施形態における初期値決定部12の処理の詳細を説明する。
【0064】
まず、初期値決定部12は、初期値算出部11において記録された初期3次元座標候補と初期カメラポーズを読み出す。続いて、撮像画像から出力される初期時刻画像を受信し、該撮像画像において第1の実施形態同様に、画像上の角や交点となる特徴点Aを抽出する(ステップS201)。
【0065】
続いて、図8〜図10に示した初期3次元座標候補から順に1つを選択し、選択した初期3次元座標候補から抽出された特徴点Aの3次元座標算出して、初期時刻における撮像画像の初期3次元座標に設定する(ステップS202)。
【0066】
続いて、位置姿勢計測装置2は一定時刻の撮像画像に対して処理済みかどうかを判定し(ステップS206)、処理済みでなければ、特徴点追跡部13での処理が起動され(ステップS203)、カメラポーズ推定部14での処理が起動され(ステップS204)、3次元座標算出部15での処理が起動される(ステップS205)。これらの処理は、第1の実施形態での処理と同じであるので説明を省略する。そして、位置姿勢計測装置2は一定時刻の撮像画像に対して処理済みかどうかを判定し(ステップS206)、処理済みでなければ、処理はステップS203にリターンし、特徴点追跡から3次元座標算出までの処理(ステップS203〜S205)を、予め定めた一定時刻の撮像画像に亘って繰り返して行う。
【0067】
繰り返し処理が終わったら、第1の実施形態と同様に、最適化処理部16が起動される。最適化処理部16は、初期時刻から予め定められた時刻までの一定の期間、撮像画像列に対して、再投影誤差の総和を最小化することで特徴点の3次元座標とカメラポーズを最適化し、その誤差値を、選択した初期3次元座標候補と併せて記録する(ステップS207)。続いて、位置姿勢計測装置2は、全ての初期3次元座標候補に対して処理済みかどうかを判定し(ステップS205)、処理済みでなければ、処理をステップS202にリターンし、初期3次元座標候補から、先に処理した初期3次元座標と異なる初期3次元座標をひとつ選択し、特徴点Aに対応する初期3次元座標を初期3次元座標として設定する処理を行う。続けて、位置姿勢計測装置2は、ステップS202からステップS208の処理を全ての初期3次元座標候補に亘って行う。
【0068】
最後に、位置姿勢計測装置2は、初期3次元座標候補と併せて記録されている誤差値を比較し、その最小値を決定し、当該最小誤差値に対応する初期3次元座標候補を、初期3次元座標として、初期カメラポーズと併せて出力し(ステップS209)、初期値決定部12における処理を終了する。
【0069】
なお、以上で説明した初期値決定部12における処理は、ステップS202における前処理として、複数存在する初期3次元座標候補から、初期時刻画像と比較することによって確からしい候補を選択し、当該候補のみを初期3次元座標候補として以降の処理を行うことで、実現しても良い。確からしい候補の選択方法は、例えば初期時刻画像を色若しくは輝度情報等を利用して領域分割し、画像中心に存在する領域の輪郭線を領域線追跡等により抽出する。初期値決定部12は、初期3次元座標候補に対応する近似撮像物体を距離画像表現した際の輪郭線と、抽出した輪郭線とのそれぞれの長さを画像座標において算出し、算出した長さの差が予め定められた閾値以下であれば確からしい候補として選択することによって実現できる。すなわち、初期値決定部12は、前記初期3次元座標候補に対応する近似撮像対象と、初期時刻画像とに基づいて初期3次元座標候補を選択して決定するようにしてもよい。
【0070】
図12は、初期時刻画像の輪郭線追跡を行い、初期3次元座標の候補を選択する処理を説明するものである。また、図13は、図9において示した基本形状の輪郭線を示す図である。例えば、図12(A)に示すような初期時刻画像71がある場合には、位置姿勢計測装置2は、ステップS202における前処理として、初期時刻画像71を色若しくは輝度により領域分割し、図12(B)のような領域分割画像72を取得する。そして、位置姿勢計測装置2は、この領域分割画像72から、図12(C)に示すように、画像中心に存在する領域の輪郭線73を抽出する。
【0071】
また、位置姿勢計測装置2は、図13(A)〜図13(D)に示すように、基本形状の初期3次元座標の候補の輪郭線74a〜74dを用意しておき、ハードディスクドライブ装置5に記録しておく。この基本形状の輪郭線74a〜74dは、例えば、図9(A)〜図9(D)に示したような、基本形状の輪郭線を抽出したものである。
【0072】
図12(C)に示すように、初期時刻画像71の輪郭線73が抽出されたら、位置姿勢計測装置2は、基本形状の初期3次元座標の候補の輪郭線74a〜74dを読み出し、これら初期3次元座標の候補の輪郭線74a〜74dと、初期時刻画像71から抽出された輪郭線73とを比較し、最も確からしい候補を選択する。例えば、位置姿勢計測装置2は、初期3次元座標の候補の輪郭線74a〜74dの長さと、初期時刻画像71から抽出された輪郭線73の長さとそれぞれを算出し、算出した長さを比較し、算出した長さの差が最小の基本形状を、最も確からしい候補として選択する。図12(C)に示すような輪郭線73が抽出された場合には、図13(A)の球体の輪郭線74a又は図13(B)の円柱の輪郭線74bが候補として選択されることになる。このようにして候補となる形状の輪郭線が選択された場合には、位置姿勢計測装置2は、選択された候補のみについて、初期3次元座標候補として、ステップS202以降の処理を行う。また、輪郭線の形状に対してパターンマッチングを行い、最も確からしい候補を選択するようにしてもよい。
【0073】
以上説明したように、本発明の第2の実施形態では、初期値算出部11において複数の初期3次元座標候補を算出、準備しておき、初期値決定部12において、これら複数の初期3次元座標候補から確からしい1つの初期値を決定し、これを初期値として設定するようにしている。このため、初期値の候補から実際の3次元シーンの真値に近い値を自動で選択し初期値として設定でき、逐次のカメラポーズ及び対象の3次元座標推定を局所解に陥ることなく実行でき、正確に各々を計測することが可能となる。
【0074】
以上、本発明を実施形態に基づき具体的に説明したが、上記実施の形態の説明は、本発明を説明するためのものであって、特許請求の範囲に記載の発明を限定し、或は範囲を減縮するように解すべきではない。又、本発明の各手段構成は上記実施の形態に限らず、特許請求の範囲に記載の技術的範囲内で種々の変形が可能であることは勿論である。
【符号の説明】
【0075】
1…撮像装置
2…位置姿勢計測装置
3…モニタ装置
4…メモリ
5…ハードディスクドライブ装置
11…初期値算出部
12…初期値決定部
13…特徴点追跡部
14…カメラポーズ推定部
15…3次元座標算出部
16…最適化処理部

【特許請求の範囲】
【請求項1】
撮像装置から入力される少なくとも1枚の入力画像列から、該撮像装置の位置及び姿勢を示すカメラポーズと、該撮像装置により撮像される撮像物体の3次元座標を逐次計測する位置姿勢計測装置であって、
予め設定された前記撮像装置の内部パラメータと、初期時刻におけるカメラポーズである初期カメラポーズと、前記撮像装置に対する前記撮像物体の位置関係と、前記撮像物体の大きさを表す値とから、初期時刻における前記撮像物体の3次元座標である初期3次元座標を算出する初期値算出手段と、
前記入力画像列のうち初期時刻における画像である初期時刻画像から前記撮像物体の特徴点の画像における座標である特徴点座標を抽出し、前記初期カメラポーズと初期3次元座標とから前記特徴点座標に対応する初期3次元座標を算出する初期値決定手段と、
前記入力画像列のうち初期時刻画像から順に、現時刻における画像である現時刻画像と、前時刻における画像である前時刻画像とそれぞれの前記撮像物体の特徴点座標を対応付ける特徴点追跡手段と、
前記現時刻画像内の特徴点座標と、前記特徴点追跡手段が対応付けた現時刻画像と前時刻画像とそれぞれの特徴点座標と、前時刻画像内の特徴点の3次元座標とから、現時刻におけるカメラポーズを算出するカメラポーズ推定手段と、
初期時刻から現時刻に亘るカメラポーズと特徴点座標とから、現時刻の撮像画像内の特徴点各々の3次元座標を算出して更新する3次元座標算出手段と、
現時刻画像から予め定められた一定時刻前までの撮像画像列に亘り、前記カメラポーズ推定手段が算出したカメラポーズと、前記3次元座標算出手段が算出した特徴点の3次元座標と、前記特徴点追跡手段により対応付けられた特徴点座標とから予め定められた誤差関数を最小化する特徴点の3次元座標及びカメラポーズを算出する最適化処理手段と、
を有することを特徴とする位置姿勢計測装置。
【請求項2】
前記初期値算出手段は、
撮像物体として予め定められた半径を有する球体を平面上に配置された近似撮像対象を、前記撮像装置が予め定められた位置関係から観測するものとして、初期時刻における初期3次元座標を算出する
ことを特徴とする請求項1に記載の位置姿勢計測装置。
【請求項3】
前記初期値算出手段は、
撮像物体として予め定められた複数の半径を有する球体のうち1つを平面上に配置された近似撮像対象を、前記撮像装置が予め定められた位置関係から観測するものとして、初期時刻における初期3次元座標を算出する処理を、前記複数の半径を有する球体に亘って行って初期3次元座標候補を算出する
ことを特徴とする請求項1に記載の位置姿勢計測装置。
【請求項4】
前記初期値算出手段は、
予め定められた複数の基本形状のうち1つを平面上に配置された近似撮像対象を、前記撮像装置が予め定められた位置関係から観測するものとして、初期時刻における初期3次元座標を算出する処理を、前記複数の基本形状に亘って行って初期3次元座標候補を算出する
ことを特徴とする請求項1に記載の位置姿勢計測装置。
【請求項5】
前記初期値算出手段は、
平面上に配置する近似撮像対象を、前記撮像装置が予め入力される複数の位置関係から観測するものとして、初期時刻における初期3次元座標を算出する処理を、前記複数の位置関係に亘って行って初期3次元座標候補を算出する
ことを特徴とする請求項3又は請求項4のいずれかに記載の位置姿勢計測装置。
【請求項6】
前記初期値決定手段は、
算出された前記初期3次元座標候補のうちいずれか1つを初期3次元座標に選択する際に、
前記初期3次元座標候補から順に1つを選択し、選択した初期3次元座標候補に基づいて、初期時刻の撮像画像の特徴点に対応する3次元座標を初期3次元座標に設定し、
初期時刻から時刻を1つ進めた現時刻の撮像画像を前記撮像画像列から取り出し、
現時刻と初期時刻のそれぞれの画像の特徴点座標を対応付け、
前記現時刻の特徴点座標と、対応付けた現時刻画像と前時刻画像とそれぞれの特徴点座標と、前時刻画像内の特徴点の3次元座標とから現時刻におけるカメラポーズを算出し、
初期時刻から現時刻に亘るカメラポーズ及び特徴点座標から、前記現時刻の特徴点座標各々の3次元座標を算出して更新する処理を、予め定められた期間に亘って繰り返した後に、該期間の撮像画像に亘って最適化処理を実施して誤差値を算出する処理を、全ての初期3次元座標候補に亘って行い、
算出した誤差値のうち最小の誤差値に対応する初期3次元座標候補を初期3次元座標に選択する
ことを特徴とする請求項3から請求項5のいずれか1項に記載の位置姿勢計測装置。
【請求項7】
前記初期値決定手段は、
前記初期3次元座標候補から初期3次元座標を選択する際に、
前記初期3次元座標候補に対応する近似撮像対象と、初期時刻画像とに基づいて初期3次元座標候補を選択する
ことを特徴とする請求項3から請求項6のいずれか1項に記載の位置姿勢計測装置。
【請求項8】
前記初期値決定手段は、
前記初期3次元座標候補から初期3次元座標を選択する際に、
初期時刻の撮像画像を撮像対象の特徴に基づいて複数の領域に分割し、前記撮像画像の中心を含む前記領域の輪郭線を抽出し、
前記初期3次元座標候補に対応する距離画像を領域分割し、前記距離画像の中心を含む領域の輪郭線を抽出し、
前記撮像画像から抽出した輪郭線の長さと、前記距離画像から抽出した輪郭線の長さとの差が予め定められた閾値以下の前記初期3次元座標候補を初期3次元座標に選択する
ことを特徴とする請求項7に記載の位置姿勢計測装置。
【請求項9】
撮像装置から入力される少なくとも1枚の入力画像列から、該撮像装置の位置及び姿勢を示すカメラポーズと、該撮像装置により撮像される撮像物体の3次元座標を逐次計測する位置姿勢計測装置が有するコンピュータを、
予め設定された前記撮像装置の内部パラメータと、初期時刻におけるカメラポーズである初期カメラポーズと、前記撮像装置に対する前記撮像物体の位置関係と、前記撮像物体の大きさを表す値とから、初期時刻における前記撮像物体の3次元座標である初期3次元座標を算出する初期値算出手段、
前記入力画像列のうち初期時刻における画像である初期時刻画像から前記撮像物体の特徴点の画像における座標である特徴点座標を抽出し、前記初期カメラポーズと初期3次元座標とから前記特徴点座標に対応する初期3次元座標を算出する初期値決定手段、
前記入力画像列のうち初期時刻画像から順に、現時刻における画像である現時刻画像と、前時刻における画像である前時刻画像とそれぞれの前記撮像物体の特徴点座標を対応付ける特徴点追跡手段、
前記現時刻画像内の特徴点座標と、前記特徴点追跡手段が対応付けた現時刻画像と前時刻画像とそれぞれの特徴点座標と、前時刻画像内の特徴点の3次元座標とから、現時刻におけるカメラポーズを算出するカメラポーズ推定手段、
初期時刻から現時刻に亘るカメラポーズと特徴点座標とから、現時刻の撮像画像内の特徴点各々の3次元座標を算出して更新する3次元座標算出手段、
現時刻画像から予め定められた一定時刻前までの撮像画像列に亘り、前記カメラポーズ推定手段が算出したカメラポーズと、前記3次元座標算出手段が算出した特徴点の3次元座標と、前記特徴点追跡手段により対応付けられた特徴点座標とから予め定められた誤差関数を最小化する特徴点の3次元座標及びカメラポーズを算出する最適化処理手段
として機能させることを特徴とする位置姿勢計測プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図11】
image rotate

【図13】
image rotate

【図4】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図12】
image rotate


【公開番号】特開2011−238048(P2011−238048A)
【公開日】平成23年11月24日(2011.11.24)
【国際特許分類】
【出願番号】特願2010−109305(P2010−109305)
【出願日】平成22年5月11日(2010.5.11)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】