JP2021009557A - 情報処理装置、情報処理方法、及びプログラム - Google Patents
情報処理装置、情報処理方法、及びプログラム Download PDFInfo
- Publication number
- JP2021009557A JP2021009557A JP2019123040A JP2019123040A JP2021009557A JP 2021009557 A JP2021009557 A JP 2021009557A JP 2019123040 A JP2019123040 A JP 2019123040A JP 2019123040 A JP2019123040 A JP 2019123040A JP 2021009557 A JP2021009557 A JP 2021009557A
- Authority
- JP
- Japan
- Prior art keywords
- feature points
- image
- information processing
- input image
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
Abstract
【課題】画像の更新レートを低下させずに撮像装置の位置と姿勢を安定的に検出可能にすることを課題とする。【解決手段】情報処理装置は、入力画像から特徴点を抽出し、その抽出した特徴点を基に、入力画像を撮像した撮像装置(101)の位置と姿勢の少なくともいずれかを検出する検出手段(120,130)と、入力画像に関わる画像を処理する所定の装置における画像の更新レートを取得するレート取得手段(150)と、検出手段(120,130)によって入力画像から撮像装置(101)の位置と姿勢の少なくともいずれかが検出されるまでに要する処理時間を取得する時間取得手段(140)と、検出手段(120,130)が入力画像から抽出する特徴点の数を、更新レートと処理時間とに基づいて制御する制御手段(160)と、を有する。【選択図】図1
Description
本発明は、撮像装置の位置姿勢を取得する情報処理技術に関する。
現実世界と仮想世界とをリアルタイムに融合させる技術として、複合現実感(MR:Mixed Reality)技術や拡張現実感(AR:Augmented Reality)技術が知られている。これらの技術は、現実空間とコンピュータによって作られる仮想空間とを繋ぎ目なく融合する技術である。例えばMRでは、仮想物体が現実空間に実在していると利用者が感じられるように、仮想物体と現実空間との間の幾何学的な整合性をとる必要があり、このため仮想物体と現実空間との間の正確な位置合わせが重要となる。また、仮想物体が現実空間に実在していると観察者に感じさせるための装置の一つとして、ビデオシースルー型の情報処理装置がある。この装置は、ビデオカメラで現実世界を撮影した画像に仮想物体を重畳した合成画像を、リアルタイムにディスプレイ等に表示させて、観察者に提示する。ビデオシースルー型の情報処理装置としては、例えば利用者が頭部に装着して使用するビデオシースルー型HMD(Head Mounted Display)などがある。
ビデオシースルー型HMDで使用される情報処理装置は、HMDに備えられた撮像装置から画像が入力される毎に、画像撮影時の撮像装置の現実空間における位置と姿勢(以下、位置姿勢とする。)を検出する。そして情報処理装置は、その撮像装置の位置姿勢と焦点距離などの撮像装置の固有パラメータとに基づいてCG(Computer Graphics)画像を描画し、そのCG画像を、現実空間の画像上で表示されるべき位置に重畳する。このため情報処理装置は、HMDに備えられた撮像装置の現実空間における位置姿勢を正確に検出する必要がある。撮像装置の位置姿勢の検出は、例えば6自由度の物理センサによる計測、もしくは、撮像装置からの画像情報を基に推定することで実現されている。画像情報を利用する手法では、現実空間内における3次元位置が既知の指標を撮像装置で撮影し、その撮影画像上における指標の位置と3次元位置との対応を基に、撮像装置の位置姿勢が推定される。既知の指標としては、現実空間中に人為的に配置した指標などがある。特許文献1には、指標としての点マーカーと四角形マーカーの配置情報を高精度に画像から推定する技術が開示されている。他にも、既知の指標を用いず、撮影画像から自然特徴を検出し、その検出した自然特徴を基に撮像装置の位置姿勢を推定する技術がある。
前述した指標を用いる手法の場合、HMDの利用者が現実環境中を歩き回る等して、撮像装置の位置、方向又は角度等が変化したとしても、撮影画像内に常に指標が写っているようにするために、指標は、現実空間内に多数配置しておく必要がある。また、安定的に撮像装置の位置姿勢を推定するためには、広範囲から指標を検出することが好ましいので、撮像装置の画角は広画角になされることが多い。このように現実空間内に多数の指標が配置されている場合や撮像装置が広画角になされている場合、撮影画像の中には多数の指標が存在することになり、当該撮影画像からはそれら多数の指標が検出されることになる。そして、多数の指標を基に撮像装置の位置姿勢を推定するまでの処理時間は長くなり、その結果、現実世界の画像に仮想物体を重畳した合成画像の更新レート(フレームレート)が低下してしまうことなる。このような更新レートの低下は、HMDを使用している観察者に対して不快感を与える。このことは、撮影画像から自然特徴を検出する場合も同様であり、撮影画像から多数の自然特徴が検出された場合には、処理時間が長くなって合成画像の更新レートが低下する。
そこで、本発明は、画像の更新レートを低下させずに撮像装置の位置姿勢を安定的に検出可能にすることを目的とする。
本発明の情報処理装置は、入力画像から特徴点を抽出し、前記抽出した特徴点を基に、前記入力画像を撮像した撮像装置の位置と姿勢の少なくともいずれかを検出する検出手段と、前記入力画像に関わる画像を処理する所定の装置における画像の更新レートを取得するレート取得手段と、前記検出手段によって前記入力画像から前記撮像装置の位置と姿勢の少なくともいずれかが検出されるまでに要する処理時間を取得する時間取得手段と、前記検出手段が前記入力画像から前記抽出する特徴点の数を、前記更新レートと前記処理時間とに基づいて制御する制御手段と、を有することを特徴とする。
本発明によれば、画像の更新レートを低下させずに撮像装置の位置姿勢を安定的に検出可能となる。
以下、添付の図面を参照して、本発明に係る実施形態について詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
<第1の実施形態>
図1は、本発明の第1の実施形態に係る情報処理装置100の機能構成例を示した機能ブロック図である。また図2は本実施形態に係る情報処理を実行するパーソナルコンピュータ等のハードウェア構成例を示した図である。
本実施形態の情報処理装置100は、現実世界と仮想世界とをリアルタイムに融合させる複合現実感(MR)や拡張現実感(AR)の技術を用いて、現実空間とコンピュータにて作られる仮想空間とを繋ぎ目なく融合させてユーザに提示する情報処理等を行う。本実施形態の情報処理装置100は、ユーザに対し仮想物体を現実空間に実在するように感じさせることが可能なビデオシースルー型情報処理装置へ適用された例を挙げる。なおビデオシースルー型情報処理装置には、背面にビデオカメラを有するタブレット端末やユーザが頭部に装着するビデオシースルー型HMDなどがあり、本実施形態ではビデオシースルー型HMDへの適用例を挙げている。
<第1の実施形態>
図1は、本発明の第1の実施形態に係る情報処理装置100の機能構成例を示した機能ブロック図である。また図2は本実施形態に係る情報処理を実行するパーソナルコンピュータ等のハードウェア構成例を示した図である。
本実施形態の情報処理装置100は、現実世界と仮想世界とをリアルタイムに融合させる複合現実感(MR)や拡張現実感(AR)の技術を用いて、現実空間とコンピュータにて作られる仮想空間とを繋ぎ目なく融合させてユーザに提示する情報処理等を行う。本実施形態の情報処理装置100は、ユーザに対し仮想物体を現実空間に実在するように感じさせることが可能なビデオシースルー型情報処理装置へ適用された例を挙げる。なおビデオシースルー型情報処理装置には、背面にビデオカメラを有するタブレット端末やユーザが頭部に装着するビデオシースルー型HMDなどがあり、本実施形態ではビデオシースルー型HMDへの適用例を挙げている。
本実施形態の情報処理装置100は、撮像装置の撮像画像から特徴点を検出し、その特徴点を基に撮像装置の位置および姿勢を検出し、その位置および姿勢と撮像装置の焦点距離等の固有パラメータとに基づいてCG画像を描画し、現実空間の画像上に重畳する。ここで、撮像装置の位置は、当該撮像装置が存在している現実空間内の3次元座標位置である。また撮像装置の姿勢は、撮像装置が存在している3次元の現実空間内において当該撮像装置の向き(撮像方向および角度)に相当する。すなわち本実施形態において、撮像装置の位置を表す情報は、当該撮像装置の3次元座標位置を表す3個のパラメータからなり、撮像装置の姿勢を表す情報は、3次元空間内での撮像装置の向きを表す3個のパラメータからなる。本実施形態の情報処理装置100は、撮像装置の位置と姿勢を表す情報として、これら合計6個のパラメータのセットを取得する。以下の説明では、撮像装置の位置と姿勢をまとめて位置姿勢と呼ぶことにする。なお、撮像画像の特徴点に基づいて検出されるのは、撮像装置の位置と姿勢の少なくともいずれかでもよいが、本実施形態の情報処理装置100は、撮像装置の位置および姿勢を検出する。
さらに本実施形態の情報処理装置100は、撮像画像から特徴点を検出して撮像装置の位置姿勢を検出するまでに要する処理時間と、所定の装置における更新レートとを取得する。本実施形態の場合、処理時間は、撮像画像から特徴点を検出して撮像装置の位置および姿勢が検出されるまでに要する時間である。また、本実施形態において、所定の装置の更新レートとは、撮像装置と、HMDにおいてユーザが観る画像を表示するディスプレイとの、少なくともいずれかの装置の更新レートである。本実施形態の場合、撮像装置における更新レートは動画のフレームレートであり、ディスプレイの更新レートはHDMにおいて表示が更新される更新レート(リフレッシュレート)である。
そして情報処理装置100は、撮像画像の特徴点検出から撮像装置の位置姿勢の検出までに要する処理時間と、所定の装置の更新レートとに基づいて、撮像装置の位置姿勢を検出する際に利用する特徴点の数を変更する。詳細は後述するが、情報処理装置100は、特徴点検出から位置姿勢の検出までに要する処理時間が、所定の装置における更新レートに間に合うように、撮像装置の位置姿勢の検出のために撮像画像から抽出する特徴点の数を変更する。なお、本実施形態における特徴点の数は、撮像装置が撮像した画像から抽出する特徴量と言い換えることもできる。
以下、前述のような情報処理を実行する図1に示した本実施形態の情報処理装置100の機能ブロックについて詳細を説明する前に、図2に示したハードウェア構成から説明する。
図2に示したパーソナルコンピュータ(以下、PCとする)のハードウェア構成において、CPU201は、バス210を介して接続されている各デバイスを統括的に制御する。CPU201は、読み出し専用メモリであるROM203に記憶されたプログラムを読み出して実行する。オペレーティングシステム(OS)をはじめ、本実施形態に係る情報処理プログラム、デバイスドライバ等は、ROM203に記憶されている。ROM203から読み出されたOSおよび情報処理プログラムは、ランダムアクセスメモリであるRAM202に一時記憶され、CPU201によって適宜実行される。
図2に示したパーソナルコンピュータ(以下、PCとする)のハードウェア構成において、CPU201は、バス210を介して接続されている各デバイスを統括的に制御する。CPU201は、読み出し専用メモリであるROM203に記憶されたプログラムを読み出して実行する。オペレーティングシステム(OS)をはじめ、本実施形態に係る情報処理プログラム、デバイスドライバ等は、ROM203に記憶されている。ROM203から読み出されたOSおよび情報処理プログラムは、ランダムアクセスメモリであるRAM202に一時記憶され、CPU201によって適宜実行される。
表示装置206は、PCが有する表示装置である。外部記憶装置207は、PCに接続されているHDD(ハードディスクドライブ)や外部メモリ等の記憶装置である。記憶媒体ドライブ208はCDやDVD等の記憶媒体の駆動と読み出しあるいは書き込み等を行う装置である。キーボード204およびマウス205は、ユーザからの操作指示を、情報処理装置100で処理可能な形式の信号に変換して入力する。
I/F209は、外部装置から入力された信号をPCが処理可能な形式の信号に変換する処理や、PCから外部装置に送られる信号を当該外部装置が処理可能な形式の信号に変換して出力する処理等を行う。本実施形態の場合、I/F209を介して接続される外部装置は、例えばHMDと、当該HMDに設けられた撮像装置およびディスプレイ等を挙げることができる。
以下、図1に示した本実施形態の情報処理装置100の機能ブロックの詳細について説明する。
本実施形態の情報処理装置100は、画像取得部110、特徴検出部120、推定部130、時間計測部140、更新レート取得部150、特徴量制御部160、描画部170を有して構成されている。
本実施形態の情報処理装置100は、画像取得部110、特徴検出部120、推定部130、時間計測部140、更新レート取得部150、特徴量制御部160、描画部170を有して構成されている。
情報処理装置100は、撮像装置101と接続され、また表示制御部102を介して不図示のディスプレイに接続されている。本実施形態の場合、情報処理装置100は、撮像装置101および不図示のディスプレイに有線または無線で接続されているとする。なお、表示制御部102は情報処理装置100に含まれてもよい。
撮像装置101は、ユーザの頭部に装着されるHMDに内蔵または外部に装着されている。撮像装置101は、例えばフレーム毎に連続的に画像を撮像して動画を出力するビデオカメやデジタルカメラである。
表示制御部102は、HMDに内蔵されている不図示のディスプレイの表示を制御する。表示制御部102は、情報処理装置100が後述するようにして現実世界の画像に仮想物体等のCG画像を重畳した合成画像を、不図示のディスプレイに表示させる。なお表示制御部102によって表示制御が行われるHMDのディスプレイは、液晶ディスプレイであっても有機ELディスプレイであってもよく画像を表示できるものであればどのような形態であってもかまわない。
撮像装置101は、ユーザの頭部に装着されるHMDに内蔵または外部に装着されている。撮像装置101は、例えばフレーム毎に連続的に画像を撮像して動画を出力するビデオカメやデジタルカメラである。
表示制御部102は、HMDに内蔵されている不図示のディスプレイの表示を制御する。表示制御部102は、情報処理装置100が後述するようにして現実世界の画像に仮想物体等のCG画像を重畳した合成画像を、不図示のディスプレイに表示させる。なお表示制御部102によって表示制御が行われるHMDのディスプレイは、液晶ディスプレイであっても有機ELディスプレイであってもよく画像を表示できるものであればどのような形態であってもかまわない。
画像取得部110は、撮像装置101によって撮影された動画の各フレームの画像を連続的に取得する。画像取得部110は、撮像装置101の出力信号がNTSCなどのアナログ信号であればアナログビデオキャプチャボードを有して構成される。また撮像装置101の出力信号がUSBやIEEE1394などに対応したデジタル信号であれば、画像取得部110は、例えばUSBインターフェースボードやIEEE1394インターフェースボードを有して構成される。また、画像取得部110は、予め記憶装置等に記憶してある静止画像や動画像のデジタルデータを読み出して取得してもよい。画像取得部110によって取得された画像の情報は、特徴検出部120に入力される。また画像取得部110が取得したフレーム毎の画像の情報は、描画部170にも送られる。
特徴検出部120は、画像取得部110が連続的に取得したフレーム毎に画像の特徴点を検出する。詳しい処理は後述するが、本実施形態の特徴検出部120は、画像の特徴点として、例えば輝度勾配を有する特徴点を検出する。同じく詳細は後述するが、特徴検出部120は、フレームの画像から所定の特徴点数を上限として複数の特徴点を検出するか、または、フレームの画像から検出した複数の特徴点の中から所定の特徴点数を上限として複数の特徴点を抽出する。そして、特徴検出部120は、それら所定の特徴点数を上限として取得した特徴点の情報を、撮像装置の位置姿勢の検出(後述する推定処理)の際に利用する情報として推定部130に出力する。
推定部130は、特徴検出部120から入力された特徴点の情報と、マップ保持部104に保持されているマップの情報と基づいて、撮像装置101の位置姿勢を推定(位置姿勢を導出)する。位置姿勢の推定処理の詳細の詳細は後述する。そして、推定部130は、推定した位置姿勢の情報を描画部170と時間計測部140に出力する。また、推定部130は、マップの情報を生成して、マップ保持部104に保持されているマップを更新する。マップの詳細は後述する。
時間計測部140は、推定部130から入力された位置姿勢の情報を基に、撮像装置101の位置姿勢が推定されるまでに要する処理時間を計測する時間取得処理を行う。そして、時間計測部140は、時間取得処理によって得た処理時間の情報を特徴量制御部160に出力する。
更新レート取得部150は、撮像装置101における動画のフレームレートと、表示制御部102がディスプレイの表示を更新する更新レート(リフレッシュレート)との、いずれか一方または両方のレート情報を取得する。そして、更新レート取得部150は、その取得したレート情報を特徴量制御部160に出力する。
更新レート取得部150は、撮像装置101における動画のフレームレートと、表示制御部102がディスプレイの表示を更新する更新レート(リフレッシュレート)との、いずれか一方または両方のレート情報を取得する。そして、更新レート取得部150は、その取得したレート情報を特徴量制御部160に出力する。
特徴量制御部160は、時間計測部140から入力された処理時間と、更新レート取得部150から入力されたレート情報とに基づいて、特徴検出部120がフレーム毎に特徴点を抽出する際に用いる前述した所定の特徴点数を変更する。そして、特徴量制御部160は、その変更した所定の特徴点数の情報を特徴検出部120に出力する。これにより、特徴検出部120では、その変更後の所定の特徴点数に応じた特徴点検出処理が行われることになる。
CGデータ保持部103は、CG画像を描画する際に使用されるCGデータを保持している。CGデータの形式はCG画像としてレンダリングできるものであれば何でもよく形式は問わない。
描画部170は、CGデータ保持部103から描画するべきCGデータを取得し、また推定部130から入力された撮像装置の位置姿勢を仮想カメラの位置姿勢としてセットする。そして、描画部170は、画像取得部110が撮像装置101から取得した画像上の、仮想カメラの位置姿勢に応じた位置に、CGデータに基づくCG画像を重畳して合成画像を生成する。
描画部170は、CGデータ保持部103から描画するべきCGデータを取得し、また推定部130から入力された撮像装置の位置姿勢を仮想カメラの位置姿勢としてセットする。そして、描画部170は、画像取得部110が撮像装置101から取得した画像上の、仮想カメラの位置姿勢に応じた位置に、CGデータに基づくCG画像を重畳して合成画像を生成する。
この合成画像のデータは、表示制御部102からHMDのディスプレイに送られる。これにより、ユーザが装着しているHMDのディスプレイには、撮像装置101の撮像画像上にCG画像を重畳した合成画像が表示される。すなわち本実施形態の情報処理装置100は、撮像装置101の撮像画像上にCG画像を重畳した合成画像を、HMDのディスプレイに表示させることにより、ユーザに対して複合現実感(MR)を提供する。なお、本実施形態では、現実世界の撮影画像に仮想物体のCG画像を重畳した合成画像を表示する例を挙げたが、CG画像のみを描画して表示してもよい。CG画像のみを描画して表示する場合には、仮想現実感(VR)が実現されることになる。
図1の機能ブロック図に示した情報処理装置100の各機能部は、例えば図2のCPU201がROM203に格納された情報処理プログラムをRAM202に展開し、後述する各フローチャートに従った処理を実行することで実現されている。なお、例えば、CPU201を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、図1の機能ブロックの各機能部の処理に対応した演算部や回路が配される。
本実施形態の情報処理装置100は、前述したように、撮像装置の位置姿勢を推定している。ここで、本実施形態では、撮像装置の位置姿勢を定義するための座標系を世界座標系と呼ぶ。世界座標系は、3次元の現実世界の環境中の一点を原点として定義し、その原点において互いに直交する3軸をそれぞれX軸、Y軸、Z軸として定義した座標系である。なお世界座標系は、位置が既知の環境中の複数の特徴点を基準にした座標系として定義してもよい。また世界座標系は、撮像装置101が最初に撮像した際の位置および姿勢を基準とした座標系として定義してもよい。あるいは、世界座標系は、環境中に配置された所定の指標を構成している各頂点の位置が既知である場合、その指標の各頂点の位置を基準とした座標系として定義してもよい。また世界座標系におけるスケールは、位置が既知の特徴点や指標に基づいて決定されてもよい。あるいは世界座標系にスケールは、撮像装置が複数地点で撮像した際の既知の撮像位置に基づいて決定されていてもよい。なお本実施形態において、撮像装置101の撮像画像に対する歪み補正係数、光学系の焦点距離、および主点位置などのカメラ内部パラメータは、公知の手法により校正済みであるとする。
図3は、第1の実施形態に係る情報処理装置100における情報処理の流れを示すフローチャートである。
まずステップS301において、画像取得部110は、撮像装置101によって撮像された画像を入力画像として取得する。
次にステップS302において、特徴検出部120は、撮像装置101の位置姿勢の推定に使われる特徴点の数を、所定の特徴点数Nに設定する。このとき特徴検出部120が設定する所定の特徴点数Nは、特徴量制御部160により決定された数である。
まずステップS301において、画像取得部110は、撮像装置101によって撮像された画像を入力画像として取得する。
次にステップS302において、特徴検出部120は、撮像装置101の位置姿勢の推定に使われる特徴点の数を、所定の特徴点数Nに設定する。このとき特徴検出部120が設定する所定の特徴点数Nは、特徴量制御部160により決定された数である。
次にステップS303において、特徴検出部120は、ステップS301で取得された入力画像から、所定の特徴点数N個の特徴点を検出する特徴点検出処理を行う。本実施形態の場合、特徴検出部120は、入力画像から特徴点を検出して、その検出した特徴点の、当該入力画像内における座標を検出する。なお、環境によって検出される特徴点数が所定の特徴点数Nに満たない場合、特徴検出部120は、それらすべての特徴点を検出する。
ここで、特徴点は、近傍の画素間で輝度勾配が閾値以上の点であるとする。また、輝度勾配は、画像上で隣り合う画素の濃度の変化量である。すなわち特徴検出部120は、隣り合う画素の濃度が閾値以上に変化する点を特徴点として検出し、その検出した特徴点の当該画像内における座標を検出する。なお輝度勾配の検出は、例えばSobleオペレータ、またはPrewittオペレータなどの公知のエッジ検出オペレータにより行うことができる。エッジ検出オペレータを用いる場合、特徴検出部120は、画像の各画素について、エッジ検出オペレータを画像の水平方向および垂直方向について適用し、その出力値を基にエッジ強度を算出する。例えば、ある画素について、エッジ検出オペレータの水平方向の出力値がfx、垂直方向の出力値がfyである場合、その画素におけるエッジ強度Iは式(1)のように算出される。
I=√(fx 2+fy 2) 式(1)
他の例として、特徴検出部120は、入力画像から、それぞれが異なるテクスチャ特徴を有する特徴点、つまり自然特徴点を検出してもよい。この場合、特徴検出部120は、既知の情報として予め保持している各々の特徴を有するテンプレート画像によるテンプレートマッチングを画像上に施すことにより、画像から特徴点を検出する。また他の例として、特徴検出部120は、SIFT(Scale Invariant Feature Transform)特徴のように、識別子を有していて、識別可能な特徴を抽出してもよい。さらに他の例として、特徴検出部120が検出する特徴点は、空間中に固定される特徴であってそれを撮影した画像から検出可能なものであればどのような特徴点であってもかまわない。
次にステップS304において、推定部130は、特徴検出部120が検出した特徴点に対応するマップを取得してマップ保持部104に保持する。本実施形態において、特徴点に対応するマップは、複数の画像からそれぞれ抽出された特徴点の奥行き値が、その画像を撮影した時の撮像装置101の位置姿勢と対応付けられて保持されたものとする。特徴点の奥行き値は、例えば、画像上の座標の対応付けを行うことで推定することができる。例えば、推定部130は、KLT(Kanade-Lucas-Tomasi Feature Tracker)と呼ばれる特徴追跡手法によって時系列に位置を変えて撮影された画像から特徴点を追跡し、複数の画像間の特徴点の対応付けを行う。さらに、推定部130は、複数の画像間における特徴点の対応からE行列(基礎行列)と呼ばれる変換行列を推定する。そして、推定部130は、そのE行列から撮像装置101の位置姿勢を求め、複数画像間の相対位置姿勢に基づいてステレオ法により特徴点の位置または奥行きの3次元情報を推定する。マップとして推定される特徴点の奥行き値は、世界座標系における3次元的な位置であっても、撮像装置で撮影した位置からの奥行値であってもよい。本実施形態では、マップを推定するために用いられた各画像をキーフレームと呼ぶ。
次にステップS305において、推定部130は、ステップS303で抽出された所定の特徴点数(N個)の特徴点または所定の特徴点数N以下の個数の特徴点と、ステップS304で取得したマップとに基づいて、撮像装置の位置姿勢を推定する。マップに基づいて撮像装置の位置姿勢を推定する手法は、例えば参考文献1や参考文献2のように、検出した特徴点から撮像装置の位置姿勢を推定する手法であれば何れの公知の手法であってよい。
参考文献1:G. Klein, D. Murray, "Parallel tracking and mapping for small AR workspaces", In: Intl. Symp. on Mixed and Augmented Reality (ISMAR), 2007.
参考文献2:J. Engel, T. Schops, D. Cremers, "LSD-SLAM: Large-Scale Direct Monocular SLAM", European Conference on Computer Vision (ECCV), 2014
参考文献2:J. Engel, T. Schops, D. Cremers, "LSD-SLAM: Large-Scale Direct Monocular SLAM", European Conference on Computer Vision (ECCV), 2014
参考文献1に記載された手法は、画像から自然特徴の特徴点を検出する手法である。この手法では、撮像装置を移動させ、初期画像で検出した特徴点から2次元的に特徴点を追跡し、初期画像と現画像の二つの画像間で特徴点周りの8×8の画素パッチを対応付ける。そして、参考文献1の手法は、画像座標の対応点から、二つの画像を撮影したカメラの相対的な位置姿勢と対応付けた特徴点群の3次元情報である位置を推定する。ここで、参考文献1の手法では、特徴点群の3次元情報である位置とその周辺の画像パッチとを合わせたものがマップと呼ばれており、さらに初めの二つの画像から算出されるマップが初期マップと呼ばれている。そして参考文献1の手法では、算出したマップ(ここでは3次元の位置情報を持つ特徴点群)を、現在の撮像装置の位置姿勢に基づいて画像面に投影し、検出した特徴点と、投影された特徴点との誤差を最小化するように、撮像装置の位置姿勢が更新される。参考文献1の手法では、撮像装置の位置姿勢が推定されており、特徴点が十分推定されているときに、キーフレームと呼ばれる画像を動画像から取得し、各キーフレームで検出された特徴点が、エピポーラ線上を探索して対応付けられる。そして、マップは、各キーフレームにおける撮像装置の位置姿勢と、特徴点群の3次元位置とを、各キーフレーム上での投影誤差が最小化されるようにバンドル調整を行い、非線形最適化計算を行うことで、高精度に算出される。
参考文献2に記載された手法は、自然特徴として画像全体から輝度勾配のある特徴点群を密に検出する手法である。初期マップは、参考文献1に記載と同様の手法により生成される。初期マップの生成後、マップの点を現画像に投影した時、マップの点のキーフレーム上の輝度値と現フレーム上の輝度値が一致するように位置姿勢が更新される。また、前キーフレームと位置が閾値以上離れた場合には次のキーフレームが追加される。そして、参考文献2では、近傍のキーフレームのマップの点を、追加したキーフレームでエピポーラ探索して対応付けを行い、二つのキーフレーム間の相対位置姿勢と対応情報とに基づいてマップの点の現キーフレームにおける奥行情報が推定される。参考文献2では、キーフレームの画像情報とキーフレーム上で輝度勾配のある特徴点の奥行情報とキーフレームの位置姿勢とを合わせたものが、マップと呼ばれている。ここでキーフレームを逐次追加していくと誤差が蓄積してくため、参考文献2では、マップの最適化を行うことで、マップ全体の整合がとれるようになされる。
ステップS305において、推定部130は、ステップS304で取得したマップに含まれる特徴点を、ステップS301で取得した入力画像に投影する。このとき投影される特徴点は、例えば、時系列的に直近の画像を撮像した時の撮像装置101の位置姿勢に最も近い位置姿勢に対応付けられた特徴点を選択すればよい。そして、推定部130は、投影された特徴点の画像内の位置の周囲の輝度値に基づいて、当該投影された特徴点の位置における輝度値が一致するように撮像装置の位置姿勢を推定する。
ここで、推定部130が推定する撮像装置の位置姿勢は、複合現実感や仮想現実感における仮想カメラの視点としてCG画像の描画に使われるため、ユーザの動きに合わせたリアルタイム処理が求められる。そのため、初期のマップが生成された後、処理負荷の重いマップ生成処理と、比較的処理負荷の軽い撮像装置の位置姿勢の推定処理とは、並列処理される。推定部130は、前述のようにして特徴点とマップとに基づいて撮像装置の位置姿勢を推定したら、その位置姿勢推定結果を描画部170に出力する。
ステップS310において、描画部170は、CGデータ保持部103から描画するべきCGデータを取得し、推定部130から出力されてきた撮像装置の位置姿勢を仮想カメラの位置姿勢としてセットし、CG画像を描画する。このように、撮像装置101から取得した画像の上にCG画像を重畳して合成した合成画像をユーザに提示することで、ユーザは複合現実感を得ることができる。また、CG画像のみを描画する場合には、ユーザは、仮想現実感を得ることができる。
またステップS306に進むと、時間計測部140は、ステップS303からステップS305までの処理でフレームごとに処理した特徴検出と撮像装置の位置姿勢推定とに要した処理時間Tを計測する。
また、更新レート取得部150は、撮像装置101における更新レート(1秒間あたりに更新するフレーム数)を取得する。なお、更新レート取得部150は、撮像装置101における更新レートとともに、HMDのディスプレイ表示の更新レートを取得してもよい。
また、更新レート取得部150は、撮像装置101における更新レート(1秒間あたりに更新するフレーム数)を取得する。なお、更新レート取得部150は、撮像装置101における更新レートとともに、HMDのディスプレイ表示の更新レートを取得してもよい。
次にステップS307において、特徴量制御部160は、撮像装置101における更新レート(1秒間あたりに更新するフレーム数)に基づいて求まる1フレームにかかる更新時間の閾値Tthと処理時間Tとを比較する。なお、特徴量制御部160は、撮像装置101の更新レートよりも、HMDのディスプレイ表示の更新レートが遅い場合には、当該更新レートに基づいて求まる1フレームにかかる更新時間の閾値Tthを用いてもよい。
次にステップS308において、特徴量制御部160は、処理時間Tが更新時間の閾値Tthよりも大きい場合には、特徴検出処理で抽出して撮像装置の位置姿勢推定処理で使用する特徴点の数が少なくなるように、所定の特徴点数Nを変更する。ここで、例えば処理時間Tが更新時間の閾値Tthよりも大きい場合は、合成画像のフレームレートが、撮像装置またはディスプレイの更新レートよりも低いことになる。これは、特徴検出処理で抽出して撮像装置の位置姿勢推定処理で使用する特徴点数が、情報処理装置100の処理性能に対して多すぎるために起こる。したがって、特徴量制御部160は、処理時間Tが更新時間の閾値Tthよりも大きい場合には、所定の特徴点数Nを小さい値に変更することで、特徴検出処理で抽出して撮像装置の位置姿勢推定処理で使用される特徴点の数が少なくなるようにする。
また、特徴量制御部160は、処理時間Tが更新時間の閾値Tthよりも小さい場合には、特徴検出処理で抽出して撮像装置の位置姿勢推定処理で使用する特徴点の数Nが多くなるように、所定の特徴点数Nを変更する。ここで、処理時間Tが更新時間の閾値Tthよりも小さい場合、撮像装置またはディスプレイの更新レートよりも高いフレームレートで、特徴点検出から合成画像生成までの処理を行えることになる。これは、特徴検出処理で抽出して撮像装置の位置姿勢推定処理で使用する特徴点数が、情報処理装置100の処理性能に対して十分に少なく、処理性能に余裕があることを示している。したがって、特徴量制御部160は、処理時間Tが更新時間の閾値Tthよりも小さい場合には、所定の特徴点数Nを増加させることで、撮像装置の位置姿勢推定の安定性を向上させるようにする。
ここで、特徴検出処理で抽出して撮像装置の位置姿勢推定処理で使用する特徴点の数が一度の特徴量制御で大きく変化すると、連続的なフレームにおける撮像装置の位置姿勢の推定結果が過去のフレーム(例えば前フレーム)に対して大きく変化することになる。このため、特徴量制御部160は、所定の特徴点数Nを変更する制御を行う場合には、撮像装置の位置姿勢推定結果の変化が大きくなり過ぎず、且つフレームレートが低下しないような所定の特徴点数Nの変更量(増減量Mとする)を決定する。増減量M(変更量)は、現在のフレームで処理した特徴点数Nに対する割合RNから、式(2)のように特徴点数Nと割合RNを乗算することで求める。ここで割合RNは、例えば5%(=0.05)とする。次のフレームで処理する特徴点の数Nupdateは、増減量Mによって、式(3)のように求める。また、処理時間Tが更新時間の閾値Tthよりも大きい場合、割合RNの符号は正(+)とし、一方、処理時間Tが更新時間の閾値Tthよりも小さい場合、割合RNの符号は負(−)とする。
M=N×RN 式(2)
Nupdate=N−M 式(3)
Nupdate=N−M 式(3)
ここで、割合RNは、処理に使用する特徴点数に対する割合であれば、どのような割合でもよい。特徴量制御部160は、例えば割合RNとして、ユーザが経験的に得た値を設定してもよいし、特徴点の数に比例した値に変更してもよい。
次に、特徴量制御部160は、次フレームで処理する特徴点の数Nupdateを求めた後、ステップS302に処理を戻し、その特徴点の数Nupdateを前述した所定の特徴点数Nとして設定する。
またステップS311において、情報処理装置100は、処理を終了するか否か判断し、処理を終了する場合には図3のフローチャートの処理を終了し、一方、処理を継続する場合にはステップS301に処理を戻す。
またステップS311において、情報処理装置100は、処理を終了するか否か判断し、処理を終了する場合には図3のフローチャートの処理を終了し、一方、処理を継続する場合にはステップS301に処理を戻す。
以上のように、第1の実施形態の情報処理装置100は、撮像装置101やHMDのディスプレイの更新レートと処理時間とに応じて、撮像装置の位置姿勢推定に使用する特徴点の数を増減させる。これにより、第1の実施形態によれば、フレームレートを低下させずに、情報処理装置100の処理性能に応じて最大限の特徴点数を利用して、撮像装置の安定した位置姿勢推定を可能とする。すなわち本実施形態によれば、環境によって、多くの特徴点が検出される場合でも、フレームレートを維持するように、撮像装置の位置姿勢推定に利用する特徴点数を制御することができる。また本実施形態の場合、情報処理装置100が高速処理を行える処理能力を有する場合、フレームレートを維持しつつ、より多くの特徴点を利用することで安定した位置姿勢推定が可能となる。また本実施形態の場合、情報処理装置100の処理能力が高くない場合でも、フレームレートを維持しつつ、その処理可能な最大限の特徴点数を利用した位置姿勢推定ができる。このため、特徴点を検出する現実の環境と情報処理装置の処理性能に応じて、フレームレートを維持しつつ、高い安定性のある処理が可能となる。
<第2の実施形態>
第1の実施形態では、撮像装置またはHMDのディスプレイの更新レートに間に合うように、撮像装置の位置姿勢を推定するために利用する特徴点の数を変更している。ここで、利用する特徴点は自然特徴点に限らず、四角形等の多角形指標の各頂点から構成される特徴点であってもよい。第2の実施形態では、多角形指標の頂点を特徴点として検出して、撮像装置の位置姿勢推定に利用する例を説明する。本実施形態では、多角形指標の一例である四角形指標を用いる場合について説明する。第2の実施形態の情報処理装置100の構成は、前述した第1の実施形態の構成と基本的に同様であるためその図示は省略する。第2の実施形態の場合、特徴検出部120は四角形指標から特徴点を検出し、推定部130はその特徴点とマップを基に撮像装置の位置姿勢を推定することが、第1の実施形態とは異なる。また第2の実施形態の場合、特徴量制御部160において所定の特徴点数を制御する際の処理が第1の実施形態とは異なる。
第1の実施形態では、撮像装置またはHMDのディスプレイの更新レートに間に合うように、撮像装置の位置姿勢を推定するために利用する特徴点の数を変更している。ここで、利用する特徴点は自然特徴点に限らず、四角形等の多角形指標の各頂点から構成される特徴点であってもよい。第2の実施形態では、多角形指標の頂点を特徴点として検出して、撮像装置の位置姿勢推定に利用する例を説明する。本実施形態では、多角形指標の一例である四角形指標を用いる場合について説明する。第2の実施形態の情報処理装置100の構成は、前述した第1の実施形態の構成と基本的に同様であるためその図示は省略する。第2の実施形態の場合、特徴検出部120は四角形指標から特徴点を検出し、推定部130はその特徴点とマップを基に撮像装置の位置姿勢を推定することが、第1の実施形態とは異なる。また第2の実施形態の場合、特徴量制御部160において所定の特徴点数を制御する際の処理が第1の実施形態とは異なる。
第2の実施形態の場合、環境中または対象物体上には、例えば図4(A)に示すような四角形指標が複数配置される。図4(A)の例では、配置される四角形指標が、指標Pk(k=1,,,K0)として表されている。但し、K0は配置される指標の数を示しており、図4(A)の例ではK0=3である。図4(B)は、指標Pkの一例を示した図である。図4(B)には、図4(A)に示され得た三つの指標P1〜P3のうち例えば指標P3が示されている。指標Pkは、その内部に識別子を表すパターンが描かれていることにより、他の四角形指標と区別され、一意に同定可能になされている。また、指標Pkは、四角形の各頂点pki(i=1,,,Nk)を有して構成されている。なお、Nkは、指標Pkを構成する各頂点の総数を表す。図4(B)の例は四角形指標であるのでNk=4であり、この四角形の指標P3には四つの頂点p31〜p34が存在する。図4(C)については後述する。
図5は、第2の実施形態の情報処理装置100における情報処理の流れを示したフローチャートである。図5のフローチャートにおいて、ステップS301、ステップS306、ステップS307、ステップS310、およびステップS311の処理は、前述した図3のフローチャートで同参照符号が付されたステップと同じ処理であるためその説明は省略する。
図5のフローチャートにおいて、ステップS301の後、ステップS502に進むと、特徴検出部120は、撮像装置の位置姿勢の推定に使われる四角形指標の最小面積Aminと最大面積Amaxを設定する。
次にステップS503において、特徴検出部120は、ステップS301で取得された入力画像から四角形指標の各頂点を特徴点として検出する。まず特徴検出部120は、入力画像に2値化処理を施した後にラベリング処理を行い、一定面積以上の領域の中から4つの直線によって形成されているものを指標候補として抽出する。さらに、特徴検出部120は、候補領域の中に特定のパターンがあるか否かを判定することによって候補領域が指標領域であるかを判定する。そして、特徴検出部120は、指標領域であると判定した場合、その領域の内部のパターンを読み出すことによって指標の画像内の方向と識別子を取得して指標を検出する。
次にステップS503において、特徴検出部120は、ステップS301で取得された入力画像から四角形指標の各頂点を特徴点として検出する。まず特徴検出部120は、入力画像に2値化処理を施した後にラベリング処理を行い、一定面積以上の領域の中から4つの直線によって形成されているものを指標候補として抽出する。さらに、特徴検出部120は、候補領域の中に特定のパターンがあるか否かを判定することによって候補領域が指標領域であるかを判定する。そして、特徴検出部120は、指標領域であると判定した場合、その領域の内部のパターンを読み出すことによって指標の画像内の方向と識別子を取得して指標を検出する。
なお、環境中または対象物体上に配置される指標は、四角形指標に限るものではなく、他の多角形指標であってもよい。また、撮像画像上において検出可能であれば、いずれの形態であってもよい。例えば、図4(C)に示すように、それぞれが異なる色を有する円形指標Q1〜Q3であってもよい。図4(C)のような円形指標Q1〜Q3の場合、特徴検出部120は、入力画像から各々の指標の色に対応する領域を検出し、その領域の重心位置を特徴点の検出座標とする。
次にステップS504に進むと、特徴検出部120は、四角形指標に対応するマップを取得する。前述した四角形指標の場合、マップは四角形指標の各頂点の特徴点における3次元の配置情報であり、円形指標の場合、マップは円形指標の重心位置の特徴点における3次元の配置情報である。これら四角形指標や円形指標の特徴点の3次元の配置情報は、例えば特許文献1に開示されているような技術を利用して推定することができる。または、それら特徴点の3次元の配置情報は、例えば写真測量の分野で行われるような測量器などを用いて予め精度よく計測しておいてもよいし、巻尺や分度器などを用いて手作業により測定した値を用いてもよい。また、3次元の配置情報は、二つの画像で検出された正方形の頂点の画像座標から、三角測量によって3次元位置を求め、例えば四角形指標の4頂点の位置に基づいて求めてもよい。特徴点の3次元の配置情報であるマップを推定する方法は、これらの例に限るものではなく、他の公知のいずれの技術を用いてもよい。
次にステップS505において、推定部130は、四角形指標の特徴点とマップとから、撮像装置の位置姿勢を推定する。撮像装置の位置姿勢を推定する手法は、公知のいずれの手法であってもよい。そして、推定部130は、撮像装置の位置姿勢を推定したならば、その位置姿勢推定結果を描画部170に出力する。
ステップS307の後、ステップS508に進むと、特徴量制御部160は、処理時間Tが更新時間の閾値Tthよりも大きい場合、特徴検出処理で抽出して撮像装置の位置姿勢推定処理に利用する特徴点の数が少なくなるように所定の特徴点数Nを変更する。第2の実施形態の場合、特徴量制御部160は、処理時間Tが更新時間の閾値Tthよりも大きい場合、四角形指標を検出する際の最小面積Aminを割合RA%だけ大きくする。ここで、四角形指標を検出する際の最小面積Aの割合RA%大きくすると、その面積より小さい領域は、四角形指標として検出されないため、結果として処理する四角形指標の数が減少し、特徴点数が減少する。また、四角形指標を検出する際の最大面積Amaxを割合RA%だけ小さくしてもよい。このようにして、検出される四角形指標の数が減ることにより、処理にかかる時間が減り、フレームレートが低下するのを防ぐことができることになる。一方、処理時間Tが更新時間の閾値Tthよりも大きい場合、特徴量制御部160は、四角形指標を検出する際の最小面積Aminを割合RAだけ小さくするようにして、より多くの四角形指標(つまり特徴点)を検出するように変更する。これにより、フレームレートを維持しでき、かつ検出される四角形指標の数が増加するため、推定される撮像装置位置姿勢の安定性が向上する。
以上のように、第2の実施形態によれば、更新レートと処理時間に応じて、撮像装置の位置姿勢推定に使用する四角形指標の最小面積または最大面積を増減させることで、フレームレートを低下させずに、処理性能に応じた最大限の特徴点を利用することができる。本実施形態によれば、環境によって多くの四角形指標を検出する場合でも、四角形指標を検出する際の最小面積または最大面積を変更することで、フレームレートを維持するように、撮像装置位置姿勢推定に利用する特徴点数を変更することができる。なお第2の実施形態の場合も前述同様に、情報処理装置100が高速処理を行える処理能力を有する場合、フレームレートを維持しつつ、より多くの特徴点を利用することで安定した撮像装置位置姿勢推定が可能となる。一方、情報処理装置100の処理能力が高くない場合でも、フレームレートを維持しつつ、その処理可能な最大限の特徴点数を利用した撮像装置位置姿勢推定ができる。このため、指標により特徴点を検出する現実の環境と情報処理装置の処理性能に応じて、フレームレートを維持しつつ、高い安定性のある処理が可能となる。
<第1の変形例>
第2の実施形態では、四角形指標を検出する際の最小面積Aminまたは最大面積Amaxを増減することで、四角形指標から得られる特徴点数を増減させていた。ここで、処理時間Tが更新時間の閾値Tthよりも大きい場合、特徴検出処理及び撮像装置位置姿勢推定処理に使用する特徴量が変更されるのであれば、これに限らない。また、処理時間Tが更新時間の閾値Tthよりも小さい場合、特徴検出処理及び撮像装置位置姿勢推定処理に使用する特徴量が変更するのであれば、これに限らない。
第2の実施形態では、四角形指標を検出する際の最小面積Aminまたは最大面積Amaxを増減することで、四角形指標から得られる特徴点数を増減させていた。ここで、処理時間Tが更新時間の閾値Tthよりも大きい場合、特徴検出処理及び撮像装置位置姿勢推定処理に使用する特徴量が変更されるのであれば、これに限らない。また、処理時間Tが更新時間の閾値Tthよりも小さい場合、特徴検出処理及び撮像装置位置姿勢推定処理に使用する特徴量が変更するのであれば、これに限らない。
前述した第2の実施形態に対応した第1の変形例として、情報処理装置100は、撮像装置位置姿勢推定に利用する四角形指標の数を増減させてもよい。すなわちこの場合の情報処理装置100は、撮像装置やディスプレイの更新レートと処理時間に応じて、撮像装置位置姿勢推定に使用する四角形指標の数を増減させる。これにより、フレームレートを低下させずに、装置の処理性能に応じて最大限の特徴点を利用することが可能となる。すなわち、環境によって、多くの四角形指標を検出する場合でも、フレームレートを維持するように、撮像装置位置姿勢推定処理に利用する特徴量(つまり四角形指標の数)を変更する。またこの例においても前述同様に、情報処理装置100が高速処理を行える処理能力を有する場合、フレームレートを維持しつつ、より多くの四角形指標を利用することで安定した撮像装置位置姿勢推定が可能となる。また情報処理装置100の処理能力が高くない場合でも、フレームレートを維持しつつ、その処理可能な最大限の四角形指標数を利用した撮像装置位置姿勢推定ができる。このため、四角形指標を検出する現実の環境と情報処理装置の処理性能に応じて、フレームレートを維持しつつ、高い安定性のある処理が可能となる。
<第2の変形例>
前述した第1の実施形態および第2の実施形態では、HMDに接続された情報処理装置100を説明したが、本発明はこれらの実施形態に限られない。例えば第2の変形例として、HMD自体が、情報処理装置100の各機能を備えていてもよい。
<第3の変形例>
前述した第1の実施形態および第2の実施形態では、ビデオシースルー型HMDを例に説明したが、本発明はこれらの実施形態に限らない。例えば第3の変形例として、HMDは光学シースルー型のHMDでもよい。
<第4の変形例>
前述した第1の実施形態および第2の実施形態では、ユーザが頭部に装着するHMDの例を説明したが、本発明はこれらの実施形態に限らない。例えば第4の変形例として、情報処理装置は、ユーザが手に持って画像を観察するハンドヘルドディスプレイに適用されてもよい。
前述した第1の実施形態および第2の実施形態では、HMDに接続された情報処理装置100を説明したが、本発明はこれらの実施形態に限られない。例えば第2の変形例として、HMD自体が、情報処理装置100の各機能を備えていてもよい。
<第3の変形例>
前述した第1の実施形態および第2の実施形態では、ビデオシースルー型HMDを例に説明したが、本発明はこれらの実施形態に限らない。例えば第3の変形例として、HMDは光学シースルー型のHMDでもよい。
<第4の変形例>
前述した第1の実施形態および第2の実施形態では、ユーザが頭部に装着するHMDの例を説明したが、本発明はこれらの実施形態に限らない。例えば第4の変形例として、情報処理装置は、ユーザが手に持って画像を観察するハンドヘルドディスプレイに適用されてもよい。
前述した各実施形態や変形例の情報処理装置100は、撮像装置の位置姿勢に基づいて、現実空間とCGによる仮想空間とを繋ぎ目なく融合することができる。情報処理装置100は、一例として、組み立て作業時に作業手順や配線の様子を重畳表示する組み立て支援、患者の体表面に体内の様子を重畳表示する手術支援等、様々な分野に対して応用することが可能である。
本発明は、各実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける一つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
前述の各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
前述の各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
100:情報処理装置、101:撮像装置、102:表示制御部、103:CGデータ保持部、104:マップ保持部、110:画像取得部、120:特徴検出部、130:推定部、140:時間計測部、150:更新レート取得部、160:特徴量制御部、170:描画部
Claims (14)
- 入力画像から特徴点を抽出し、前記抽出した特徴点を基に、前記入力画像を撮像した撮像装置の位置と姿勢の少なくともいずれかを検出する検出手段と、
前記入力画像に関わる画像を処理する所定の装置における画像の更新レートを取得するレート取得手段と、
前記検出手段によって前記入力画像から前記撮像装置の位置と姿勢の少なくともいずれかが検出されるまでに要する処理時間を取得する時間取得手段と、
前記検出手段が前記入力画像から前記抽出する特徴点の数を、前記更新レートと前記処理時間とに基づいて制御する制御手段と、
を有することを特徴とする情報処理装置。 - 前記制御手段は、前記更新レートに応じた更新時間と前記処理時間とを比較した結果に基づいて、前記入力画像から前記抽出する特徴点の数を変更するように制御することを特徴とする請求項1に記載の情報処理装置。
- 前記制御手段は、前記更新時間と前記処理時間との比較の結果、前記更新時間よりも前記処理時間の方が大きい場合には、前記入力画像から前記特徴点を抽出する数を減らすように変更することを特徴とする請求項2に記載の情報処理装置。
- 前記制御手段は、前記更新時間と前記処理時間との比較の結果、前記更新時間よりも前記処理時間の方が小さい場合には、前記入力画像から前記特徴点を抽出する数を増やすように変更することを特徴とする請求項2または3に記載の情報処理装置。
- 前記制御手段は、前記入力画像から前記抽出する特徴点の数を変更する際の変更量を、前記入力画像から検出された特徴点の数に対する割合に基づいて決定し、前記入力画像から前記抽出する特徴点の数を、前記決定した変更量に応じて変更することを特徴とする請求項2から4のいずれか1項に記載の情報処理装置。
- 前記制御手段は、
前記入力画像から検出された特徴点の数と前記割合とを乗算して前記変更量を決定し、
前記更新時間と前記処理時間との比較の結果、前記更新時間よりも前記処理時間の方が大きい場合には、前記割合を正の符号の割合とすることを特徴とする請求項5に記載の情報処理装置。 - 前記制御手段は、
前記入力画像から検出された特徴点の数と前記割合とを乗算して前記変更量を決定し、
前記更新時間と前記処理時間との比較の結果、前記更新時間よりも前記処理時間の方が小さい場合には、前記割合を負の符号の割合とすることを特徴とする請求項5に記載の情報処理装置。 - 前記入力画像は動画のフレームの画像であり、
前記制御手段は、前フレームの前記入力画像について前記決定した変更量に基づいて、次フレームの前記入力画像から前記抽出する特徴点の数を前記変更することを特徴とする請求項5から7のいずれか1項に記載の情報処理装置。 - 前記割合は、予め決められた割合、または入力画像から検出された特徴点の数に比例した割合であることを特徴とする請求項5から8のいずれか1項に記載の情報処理装置。
- 前記所定の装置は、前記入力画像を撮像した撮像装置と、前記情報処理装置による情報処理の結果を基に生成された画像を表示する表示装置との、少なくともいずれかを含み、
前記制御手段は、前記撮像装置と前記表示装置との少なくともいずれかの装置の、前記更新レートに応じた前記更新時間を設定することを特徴とする請求項2から9のいずれか1項に記載の情報処理装置。 - 前記検出手段は、前記入力画像に含まれた多角形指標を検出して、前記多角形指標の頂点に対応した特徴点を抽出し、
前記制御手段は、前記検出手段が前記多角形指標の検出に使用する最小面積または最大面積を設定することで、前記検出手段が前記入力画像から前記抽出する特徴点の数を制御することを特徴とする請求項1から10のいずれか1項に記載の情報処理装置。 - 前記検出手段は、前記入力画像に含まれた円形指標を検出して、前記円形指標の重心に対応した特徴点を抽出し、
前記制御手段は、前記検出手段が前記円形指標の検出に使用する最小面積または最大面積を設定することで、前記検出手段が前記入力画像から前記抽出する特徴点の数を制御することを特徴とする請求項1から11のいずれか1項に記載の情報処理装置。 - 情報処理装置が実行する情報処理方法であって、
入力画像から特徴点を抽出し、前記抽出した特徴点を基に、前記入力画像を撮像した撮像装置の位置と姿勢の少なくともいずれかを検出する検出工程と、
前記入力画像に関わる画像を処理する所定の装置における画像の更新レートを取得するレート取得工程と、
前記検出工程によって前記入力画像から前記撮像装置の位置と姿勢の少なくともいずれかが検出されるまでに要する処理時間を取得する時間取得工程と、
前記検出工程で前記入力画像から前記抽出する特徴点の数を、前記更新レートと前記処理時間とに基づいて制御する制御工程と、
を有することを特徴とする情報処理方法。 - コンピュータを、請求項1から12のいずれか1項に記載の情報処理装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019123040A JP2021009557A (ja) | 2019-07-01 | 2019-07-01 | 情報処理装置、情報処理方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019123040A JP2021009557A (ja) | 2019-07-01 | 2019-07-01 | 情報処理装置、情報処理方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021009557A true JP2021009557A (ja) | 2021-01-28 |
Family
ID=74200095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019123040A Pending JP2021009557A (ja) | 2019-07-01 | 2019-07-01 | 情報処理装置、情報処理方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021009557A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114442808A (zh) * | 2022-01-26 | 2022-05-06 | 深圳市慧鲤科技有限公司 | 一种位姿跟踪模块的测试方法、装置、设备、***和介质 |
WO2024070618A1 (ja) * | 2022-09-26 | 2024-04-04 | ソニーグループ株式会社 | 撮像装置、プログラム、撮像システム |
-
2019
- 2019-07-01 JP JP2019123040A patent/JP2021009557A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114442808A (zh) * | 2022-01-26 | 2022-05-06 | 深圳市慧鲤科技有限公司 | 一种位姿跟踪模块的测试方法、装置、设备、***和介质 |
WO2024070618A1 (ja) * | 2022-09-26 | 2024-04-04 | ソニーグループ株式会社 | 撮像装置、プログラム、撮像システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10930008B2 (en) | Information processing apparatus, information processing method, and program for deriving a position orientation of an image pickup apparatus using features detected from an image | |
US10839544B2 (en) | Information processing apparatus, information processing method, and non-transitory computer readable storage medium | |
JP6338021B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
JP4434890B2 (ja) | 画像合成方法及び装置 | |
JP4976756B2 (ja) | 情報処理方法および装置 | |
JP5388932B2 (ja) | 情報処理装置およびその制御方法 | |
JP2002259992A (ja) | 画像処理装置およびその方法並びにプログラムコード、記憶媒体 | |
JP6503906B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
US20050253870A1 (en) | Marker placement information estimating method and information processing device | |
JP7238060B2 (ja) | 情報処理装置及びその制御方法、並びに、プログラム | |
JP4834424B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2003344018A (ja) | 画像処理装置およびその方法並びにプログラム、記憶媒体 | |
JP7406875B2 (ja) | 情報処理装置およびプログラム | |
JP6894707B2 (ja) | 情報処理装置およびその制御方法、プログラム | |
JPWO2005010817A1 (ja) | 画像処理装置 | |
JP6061334B2 (ja) | 光学式シースルー型hmdを用いたarシステム | |
JP2021009557A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP5726024B2 (ja) | 情報処理方法および装置 | |
JP6109213B2 (ja) | 情報処理装置および方法、プログラム | |
JP4926598B2 (ja) | 情報処理方法、情報処理装置 | |
JP2013092888A (ja) | データ処理装置 | |
JP6576177B2 (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
JP4810403B2 (ja) | 情報処理装置、情報処理方法 | |
WO2017125983A1 (en) | Information processing apparatus, information processing method, and program for estimating position and orientation of a camera | |
CN113228117B (zh) | 创作装置、创作方法和记录有创作程序的记录介质 |