(57)【要約】【課題】マーカーと複数のカメラとを用いた三次元計測において、用いる画像を適切に選択することによって計測の精度を効果的に向上させる。【解決手段】マーカーが存在する三次元空間内でそれぞれ異なる位置に配置された複数のカメラが撮像した画像からマーカーが検出されている複数の画像を選択する画像選択部、複数の画像を用いて三次元空間内のマーカーの位置情報を特定するマーカー位置特定部、およびマーカー位置特定部によって特定された位置情報と複数のカメラの位置情報との関係に基づいて、複数の画像の一部を再選択する画像再選択部を備え、マーカー位置特定部は再選択された画像を用いて位置情報を再特定する三次元計測装置が提供される。【選択図】図２
2020197497.tif 000002
【特許請求の範囲】
【請求項１】
マーカーが存在する三次元空間内でそれぞれ異なる位置に配置された複数のカメラが撮像した画像から前記マーカーが検出されている複数の画像を選択する画像選択部、
前記複数の画像を用いて前記三次元空間内の前記マーカーの位置情報を特定するマーカー位置特定部、および
前記マーカー位置特定部によって特定された前記位置情報と前記複数のカメラの位置情報との関係に基づいて、前記複数の画像の一部を再選択する画像再選択部
を備え、
前記マーカー位置特定部は前記再選択された画像を用いて前記位置情報を再特定する三次元計測装置。
【請求項２】
前記画像再選択部は、特定された前記位置情報によって示される前記マーカーの位置から所定の距離以下に位置するカメラによって撮像された画像を再選択する、請求項１に記載の三次元計測装置。
【請求項３】
前記画像再選択部は、再特定された前記位置情報によって示される前記マーカーの位置から前記再選択された画像を撮像したすべてのカメラの位置までの距離が前記所定の距離以下になるまで前記再選択を繰り返す、請求項２に記載の三次元計測装置。
【請求項４】
前記画像再選択部は、特定された前記位置情報によって示される前記マーカーの位置がレンズ歪みの小さい領域で捉えられるカメラによって撮像された画像を再選択する、請求項１から請求項３のいずれか１項に記載の三次元計測装置。
【請求項５】
前記画像再選択部は、再特定された前記位置情報によって示される前記マーカーの位置が前記再選択された画像を撮像したすべてのカメラでレンズ歪みの小さい領域で捉えられるまで前記再選択を繰り返す、請求項４に記載の三次元計測装置。
【請求項６】
前記画像選択部は、前記マーカーが検出されている画像の数が所定の閾値未満である場合は前記複数の画像を選択せず、
前記マーカー位置特定部は、前記複数の画像が選択されない場合は前記位置情報の特定を実行しない、請求項１から請求項５のいずれか１項に記載の三次元計測装置。
【請求項７】
前記複数のカメラが撮像した画像は、所定の時間間隔で更新され、
前記画像選択部は、前記マーカーが検出されている画像の組み合わせが第１の組み合わせから前記第１の組み合わせを包含する第２の組み合わせに変化し、前記第２の組み合わせの画像で前記マーカーが所定の時間にわたって継続して検出された後に、前記第２の組み合わせの画像を選択する、請求項１から請求項６のいずれか１項に記載の三次元計測装置。
【請求項８】
前記複数のカメラが撮像した画像は、所定の時間間隔で更新され、
前記三次元計測装置は、
再特定された前記位置情報が前記所定の時間間隔ごとに時系列で格納されるバッファ、および
前記バッファに格納された前記位置情報のうち、直近の出力値との差分が所定の閾値以下である位置情報を選択的に用いて最新の出力値を生成する出力値生成部
をさらに備える、請求項１から請求項７のいずれか１項に記載の三次元計測装置。
【請求項９】
前記出力値生成部は、前記直近の出力値との差分が前記所定の閾値を超える前記位置情報が所定の数以上連続して前記バッファに格納された場合に、最新の前記位置情報から最新の出力値を生成し、さらに最新の前記位置情報で前記バッファの全体を上書きする、請求項８に記載の三次元計測装置。
【請求項１０】
マーカーが存在する三次元空間内でそれぞれ異なる位置に配置された複数のカメラが撮像した画像から前記マーカーが検出されている複数の画像を選択するステップ、
前記複数の画像を用いて前記三次元空間内の前記マーカーの位置情報を特定するステップ、
前記特定された前記位置情報と前記複数のカメラの位置情報との関係に基づいて、前記複数の画像の一部を再選択するステップ、および
前記再選択された画像を用いて前記位置情報を再特定するステップ
を含む三次元計測方法。
【請求項１１】
マーカーが存在する三次元空間内でそれぞれ異なる位置に配置された複数のカメラが撮像した画像から前記マーカーが検出されている複数の画像を選択する機能、
前記複数の画像を用いて前記三次元空間内の前記マーカーの位置情報を特定する機能、
前記特定された前記位置情報と前記複数のカメラの位置情報との関係に基づいて、前記複数の画像の一部を再選択する機能、および
前記再選択された画像を用いて前記位置情報を再特定する機能
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元計測装置、三次元計測方法およびプログラムに関する。
【背景技術】
【０００２】
マーカーを用いた三次元計測の技術が知られている。例えば、特許文献１には、マーカーを装着したオブジェクトを角度の異なる位置に配置した複数のカメラを用いて撮影し、マーカーの動きを三角測量の原理で計測することによってマーカーの三次元時系列位置情報を取得する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−０５３７３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のような三次元計測では、多数のカメラが異なる位置から撮像した画像を用いることによって計測の精度を向上させている。しかしながら、同じくマーカーが検出されている画像であっても、例えばマーカーとの距離が適切な範囲にあるカメラの画像を追加で用いれば計測の精度は向上するが、マーカーとの距離が適切でない、例えば遠すぎるカメラの画像を追加で用いた場合、計測の精度向上には寄与しない。
【０００５】
そこで、本発明は、マーカーと複数のカメラとを用いた三次元計測において、用いる画像を適切に選択することによって計測の精度を効果的に向上させることが可能な三次元計測装置、三次元計測方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明のある観点によれば、マーカーが存在する三次元空間内でそれぞれ異なる位置に配置された複数のカメラが撮像した画像からマーカーが検出されている複数の画像を選択する画像選択部、複数の画像を用いて三次元空間内のマーカーの位置情報を特定するマーカー位置特定部、およびマーカー位置特定部によって特定された位置情報と複数のカメラの位置情報との関係に基づいて、複数の画像の一部を再選択する画像再選択部を備え、マーカー位置特定部は再選択された画像を用いて位置情報を再特定する三次元計測装置が提供される。
【０００７】
本発明の別の観点によれば、マーカーが存在する三次元空間内でそれぞれ異なる位置に配置された複数のカメラが撮像した画像からマーカーが検出されている複数の画像を選択するステップ、複数の画像を用いて三次元空間内のマーカーの位置情報を特定するステップ、特定された位置情報と複数のカメラの位置情報との関係に基づいて、複数の画像の一部を再選択するステップ、および再選択された画像を用いて位置情報を再特定するステップを含む三次元計測方法が提供される。
【０００８】
本発明のさらに別の観点によれば、マーカーが存在する三次元空間内でそれぞれ異なる位置に配置された複数のカメラが撮像した画像からマーカーが検出されている複数の画像を選択する機能、複数の画像を用いて三次元空間内のマーカーの位置情報を特定する機能、特定された位置情報と複数のカメラの位置情報との関係に基づいて、複数の画像の一部を再選択する機能、および再選択された画像を用いて位置情報を再特定する機能をコンピュータに実現させるためのプログラムが提供される。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施形態に係るシステムの概略的な構成を示す図である。
【図２】図１に示したシステムにおける三次元計測装置の構成を示すブロック図である。
【図３】本発明の第１の実施形態における画像選択処理の例について説明するための図である。
【図４】図３を参照して説明した画像選択処理の例のフローチャートである。
【図５】本発明の第１の実施形態における画像再選択処理の例について説明するための図である。
【図６】本発明の第１の実施形態における画像選択処理の別の例について説明するための図である。
【図７Ａ】本発明の第１の実施形態における画像選択処理の別の例について説明するための図である。
【図７Ｂ】本発明の第１の実施形態における画像選択処理の別の例について説明するための図である。
【図８】図６を参照して説明した画像再選択処理の例のフローチャートである。
【図９】本発明の第１の実施形態におけるバッファ処理の例について説明するための図である。
【図１０】図９を参照して説明したバッファ処理の例のフローチャートである。
【図１１】本発明の第２の実施形態に係る三次元計測装置の構成を示すブロック図である。
【図１２】本発明の第２の実施形態における信頼度の算出について説明するための図である。
【図１３】図１２を参照して説明した信頼度に基づく位置情報の調整について説明するための図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照しながら、本発明のいくつかの実施形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１１】
（第１の実施形態）
図１は、本発明の第１の実施形態に係るシステムの概略的な構成を示す図である。図示された例において、システム１０は、複数のカメラ１００および三次元計測装置２００を含む三次元計測システム１１と、サーバー１２と、クライアント１３と、ヘッドマウントディスプレイ（ＨＭＤ）１４とを含む。複数のカメラ１００は、被写体（オブジェクト）であるユーザーＵに取り付けられたマーカーＭを含む画像を撮像する。より具体的には、複数のカメラ１００は、マーカーＭが存在する三次元空間ＳＰ内でそれぞれ異なる既知の位置に配置され、三次元空間ＳＰの画像を撮像する。複数のカメラ１００が撮像した画像は、所定の時間間隔（フレーム）で更新される。三次元計測装置２００は、複数のカメラ１００が撮像した画像のうちマーカーＭが検出されている複数の画像を用いて、三角測量の原理で三次元空間ＳＰ内のマーカーＭの位置情報、具体的には例えば三次元座標を特定する。
【００１２】
図示された例において、三次元計測装置２００によって特定されたマーカーＭの位置情報はサーバー１２に送信される。サーバー１２は所定の手順に従って位置情報を処理し、結果として得られた情報をクライアント１３に送信する。クライアント１３は、この情報をさらにＨＭＤ１４に送信する。マーカーＭの位置情報は、ユーザーＵの位置情報として扱われてもよい。さらに、例えば相互の位置関係が既知である複数のマーカーＭをユーザーＵに取り付け、三次元計測装置２００、サーバー１２、クライアント１３またはＨＭＤ１４がそれぞれのマーカーＭの位置情報からユーザーＵの位置および姿勢を推定してもよい。これらの位置および姿勢の情報によって、例えばＨＭＤ１４に表示する仮想的な空間を表現した画像の視点をユーザーＵの動きに追従させることができる。
【００１３】
図２は、図１に示したシステムにおける三次元計測装置の構成を示すブロック図である。図示された例において、三次元計測装置２００は、画像選択部２１０と、マーカー位置特定部２２０と、画像再選択部２３０と、バッファ２４０と、出力値生成部２５０とを含む。三次元計測装置２００は、例えば通信インターフェース、プロセッサ、およびメモリを有するコンピュータによって実装され、画像選択部２１０、マーカー位置特定部２２０、画像再選択部２３０、および出力値生成部２５０の機能はプロセッサがメモリに格納された、または通信インターフェースを介して受信されたプログラムに従って動作することによって実現される。また、バッファ２４０は、メモリ上の記憶領域として実装される。以下、各部の機能についてさらに説明する。
【００１４】
画像選択部２１０は、図１に示したようにマーカーＭが存在する三次元空間ＳＰ内でそれぞれ異なる位置に配置された複数のカメラ１００が撮像した画像からマーカーＭが検出されている複数の画像を選択する。ここで、マーカーＭは、例えば画像において所定の形状またはパターンを認識することによって検出される。マーカーＭを可視光域に含まれない所定の帯域の光（例えば赤外線）を反射する材質で形成し、カメラ１００が当該帯域の光の反射を検出するように構成することによって、容易に、かつ精度よく画像においてマーカーＭを検出することができる。後述するように、画像選択部２１０は、マーカーＭが検出されている画像の数や組み合わせの変化に対して、位置情報の出力を安定させるための追加の処理を実行してもよい。
【００１５】
マーカー位置特定部２２０は、画像選択部２１０によって選択された複数の画像を用いて三次元空間ＳＰ内のマーカーＭの位置情報を特定する。マーカー位置特定部２２０が三角測量の原理でマーカーＭの位置情報、なお、具体的には例えば三次元座標を特定する方法については既に知られているため詳細な説明は省略する。後述するように、マーカー位置特定部２２０は画像再選択部２３０によって再選択された画像を用いてマーカーＭの位置情報を再特定してもよい。画像再選択部２３０は、例えば画像を撮像するカメラとマーカーＭとの位置関係に応じて位置情報の精度向上に寄与する画像を選択するため、再特定された位置情報は元々特定されていた位置情報よりも精度が向上している。
【００１６】
画像再選択部２３０は、マーカー位置特定部２２０によって特定されたマーカーＭの位置情報と複数のカメラ１００の位置情報との関係に基づいて、画像選択部２１０によって選択された複数の画像を再選択する。ここで、カメラ１００の位置情報は、例えば特定されるマーカーＭの三次元座標と共通の座標系で定義され、設定情報として三次元計測装置２００のメモリに予め格納されている。画像再選択部２３０による画像の再選択の具体的な例については後述する。画像再選択部２３０は、マーカー位置特定部２２０が再特定したマーカーＭの位置情報と複数のカメラ１００の位置情報との関係が所定の条件を満たすまで、画像の再選択を繰り返してもよい。なお、画像選択部２１０が選択した複数の画像が既に上記の条件を満たしている場合、画像再選択部２３０は画像の再選択を実行せず、マーカー位置特定部２２０が最初に特定した位置情報がそのままバッファ２４０に格納されてもよい。
【００１７】
バッファ２４０は、マーカー位置特定部２２０が特定（または再特定）したマーカーＭの位置情報が所定の時間間隔ごとに時系列で格納される所定長さのバッファである。出力値生成部２５０は、バッファ２４０に格納された位置情報から、マーカーＭの位置情報の出力値を生成する。後述するように、出力値生成部２５０は、バッファ２４０に格納された位置情報を用いて平滑化された出力値を生成してもよい。
【００１８】
（画像選択処理の例）
図３は、本発明の第１の実施形態における画像選択処理の例について説明するための図である。本実施形態において、複数のカメラ１００が撮像した画像は、所定の時間間隔（フレームレート）ごとに更新され、画像選択部２１０は例えばフレームごとにマーカーＭが検出されている画像を選択する。上述のように、画像選択部２１０は、各フレームでマーカーＭが検出されている画像の数や組み合わせの変化に対して、例えば以下で説明する例のように、特定される位置情報の出力を安定させるための追加の処理を実行してもよい。図示された例では、マーカーＭが検出されている画像の組み合わせＣ０〜Ｃ４が順次変化する場合に画像選択部２１０が実行する画像選択処理の例が示されている。
【００１９】
まず、組み合わせＣ０（マーカーＭが検出されている画像の数ｉ＜閾値ｉｔｈ）の場合（図３の（ａ））、画像選択部２１０は画像を選択せず（Ｎ／Ａ）、マーカー位置特定部２２０はマーカーＭの位置情報の特定を実行しない。このようにマーカーＭが検出されている画像の数ｉが所定の閾値ｉｔｈ未満である場合はマーカーＭの位置情報の特定を実行しないことによって、例えば不十分な数の画像で不安定な位置情報の特定が実行されることを防止し、十分な精度が得られる場合に限ってマーカーＭの位置情報を特定することができる。
【００２０】
なお、図１に示したシステム１０では、例えばＨＭＤ１４に組み込まれた慣性計測装置（ＩＭＵ）による加速度や角速度などの検出結果から算出されるユーザーＵの位置および姿勢と、三次元計測装置２００が特定したマーカーＭの位置情報に基づくユーザーＵの位置および姿勢とを統合することによって、ユーザーＵの位置および姿勢をリアルタイムで、かつ高精度に特定している。ＩＭＵの検出結果は三次元計測装置２００におけるマーカーＭの位置情報の特定の有無にかかわらず利用可能であるため、上記のように精度を理由にしてマーカーＭの位置情報が特定されない間も、例えばＨＭＤ１４における視点画像の表示を継続することができる。
【００２１】
次に、マーカーＭが検出されている画像が増加した結果、組み合わせＣ０が組み合わせＣ１（マーカーＭが検出されている画像の数ｉ≧閾値ｉｔｈ）に変化した場合（図３の（ｂ））、画像選択部２１０は画像を選択し、マーカー位置特定部２２０は選択された画像を用いてマーカーＭの位置情報の特定を実行する。ただし、画像選択部２１０は、組み合わせＣ１の画像でマーカーＭが所定の時間、具体的にはフレーム数ｊが第１の閾値ｊｔｈ１に達するまでの間にわたって継続して検出された後に、組み合わせＣ１の画像を選択し、マーカー位置特定部２２０はこの時点で位置情報の特定を実行する。このように、組み合わせＣ１の画像でマーカーＭが継続して検出されているフレーム数ｊが第１の閾値ｊｔｈ１未満である間は画像を選択せず位置情報を特定しない状態を維持することによって、例えば短時間のうちにマーカーＭが検出されている画像が閾値ｉｔｈを下回って位置情報の特定が終了し、結果的に位置情報の出力が安定しなくなることを防止できる。
【００２２】
さらに、マーカーＭが検出されている画像が増加した結果、組み合わせＣ１が組み合わせＣ２（組み合わせＣ１を包含する画像の組み合わせ）に変化した場合（図３の（ｃ））、画像選択部２１０は選択する画像の組み合わせを組み合わせＣ１から組み合わせＣ２に変更する。ただし、画像選択部２１０は、組み合わせＣ２の画像でマーカーＭが所定の時間、具体的にはフレーム数ｊが第２の閾値ｊｔｈ２に達するまでの間にわたって継続して検出された後に、組み合わせＣ２の画像を選択する。このように、組み合わせＣ２の画像でマーカーＭが継続して検出されているフレーム数ｊが第２の閾値ｊｔｈ２未満である間は元の組み合わせＣ１の画像の選択を維持することによって、例えば短時間のうちに組み合わせＣ２が組み合わせＣ１に戻って再び選択する画像が変更され、結果的に安定しない位置情報が出力されることを防止できる。
【００２３】
ここで、上記の第１の閾値ｊｔｈ１および第２の閾値ｊｔｈ２は、同じ値であってもよいし、異なる値であってもよい。異なる値である場合、例えば、まだマーカー位置特定部２２０によるマーカーＭの位置情報の特定が実行されていない場合にはできるだけ早く位置情報を得るために第１の閾値ｊｔｈ１を比較的小さな値にし、既に組み合わせＣ１の画像が選択されてマーカー位置特定部２２０によるマーカーＭの位置情報の特定が実行されている場合には出力の安定性を重視して第２の閾値ｊｔｈ２を比較的大きな値にし、この結果ｊｔｈ１＜ｊｔｈ２になってもよい。
【００２４】
続いて、マーカーＭが検出されている画像が減少した結果、組み合わせＣ２が組み合わせＣ３（組み合わせＣ２に包含される画像の組み合わせであって、マーカーＭが検出されている画像の数ｉ≧閾値ｉｔｈ）に変化した場合（図３の（ｄ））、画像選択部２１０は選択する画像の組み合わせを組み合わせＣ２から組み合わせＣ３に変更する。この場合、マーカーＭが検出されていない画像を選択し続けることはできないため、画像選択部２１０はマーカーＭが画像の組み合わせＣ３で検出されるようになった時点で選択する画像の組み合わせを変更する。
【００２５】
さらに、マーカーＭが検出されている画像が減少した結果、組み合わせＣ３が組み合わせＣ４（組み合わせＣ３に包含される画像の組み合わせであって、マーカーＭが検出されている画像の数ｉ＜閾値ｉｔｈ）に変化した場合（図３の（ｅ））、画像選択部２１０は画像の選択を終了する。これによって、マーカー位置特定部２２０もマーカーＭの位置情報の特定を終了する。この場合も、マーカーＭを検出していない画像を選択し続けることはできないため、画像選択部２１０はマーカーＭが画像の組み合わせＣ４で検出されるようになった時点で画像の選択を終了する。
【００２６】
図４は、図３を参照して説明した画像選択処理の例のフローチャートである。図示された例において、まず、画像選択部２１０は、マーカーＭが検出されている画像の数ｉが閾値ｉｔｈ以上であるか否かを判定する（ステップＳ１０１）。画像の数ｉが閾値ｉｔｈ未満である場合、画像選択部２１０は画像を選択しない（ステップＳ１０２）。この処理は図３の（ａ），（ｅ）の例に対応する。一方、画像の数ｉが閾値ｉｔｈ以上である場合、画像選択部２１０は、前のフレームとの比較でマーカーＭが検出されている画像の数ｉが減少したか否かを判定する（ステップＳ１０３）。画像の数ｉが減少した場合、画像選択部２１０は現在の組み合わせの画像を選択する（ステップＳ１０７）。この処理は図３の（ｄ）の例に対応する。
【００２７】
一方、画像の数ｉが閾値ｉｔｈ以上であり、かつ画像の数ｉが減少していない場合、画像選択部２１０は、前のフレームで画像が選択されておらず、かつ現在の画像の組み合わせでマーカーＭが継続して検出されているフレーム数ｊが第１の閾値ｊｔｈ１未満であるか否かを判定する（ステップＳ１０４）。前のフレームで画像が選択されておらず、かつフレーム数ｊが閾値ｊｔｈ１未満である場合、画像選択部２１０は画像を選択しない（ステップＳ１０２）。この処理は図３の（ｂ）の例で画像が選択されない間に対応する。さらに、画像選択部２１０は、前のフレームで画像が選択されており、かつ現在の画像の組み合わせでマーカーＭが継続して検出されているフレーム数ｊが第２の閾値ｊｔｈ２未満であるか否かを判定する（ステップＳ１０５）。前のフレームで画像が選択されており、かつフレーム数ｊが閾値ｊｔｈ２未満である場合、画像選択部２１０は前の組み合わせの画像を選択する（ステップＳ１０６）。この処理は図３の（ｃ）の例で画像が組み合わせＣ１での画像の選択が維持される間に対応する。
【００２８】
上記のステップＳ１０４およびステップＳ１０５の判定がいずれも当てはまらなかった場合、画像選択部２１０は、現在の組み合わせの画像を選択する（ステップＳ１０７）。つまり、ステップＳ１０３で画像の数ｉが減少していないと判定された場合で、現在の組み合わせの画像が選択されるのは、前のフレームで画像が選択されておらず、かつフレーム数ｊが閾値ｊｔｈ１以上である場合、および前のフレームで画像が選択されており、かつフレーム数ｊが閾値ｊｔｈ２以上である場合である。以上で説明したような処理を画像選択部２１０が例えばフレームごとに実行することによって、図３の例に示されたように画像が選択される。
【００２９】
（画像再選択処理の例）
図５は、本発明の第１の実施形態における画像再選択処理の例について説明するための図である。上述のように、本実施形態に係る三次元計測装置２００の画像再選択部２３０は、マーカー位置特定部２２０によって特定されたマーカーＭの位置情報と複数のカメラ１００の位置情報との関係に基づいて、画像選択部２１０によって選択された複数の画像を再選択する。図示された例では、画像選択部２１０によって選択された複数の画像を用いてマーカー位置特定部２２０がマーカー位置Ｐ０を特定している。この場合、画像再選択部２３０は、特定されたマーカー位置Ｐ０と、予め与えられたカメラ１００Ａ〜１００Ｆの位置情報とに基づいて、マーカー位置Ｐ０からカメラ１００Ａ〜１００Ｆのそれぞれまでの距離ｄを算出し、距離ｄが所定の閾値ｄｔｈ以下であるカメラ１００Ａ〜１００Ｅによって撮像された画像を再選択する。つまり、図示された例において、画像再選択部２３０は、特定された位置情報によって示されるマーカー位置Ｐ０から所定の距離ｄｔｈ以下に位置するカメラによって撮像された画像を再選択する。
【００３０】
一般的に、より多くの画像を用いることによって三次元計測の精度は向上するが、既に十分な数の画像が用いられている場合、オブジェクトとの距離が閾値を超えるカメラの画像を用いることは精度の向上に寄与しない。そこで、上記の例では、マーカー位置Ｐ０から所定の距離ｄｔｈを超えて位置するカメラ１００Ｆによって撮像された画像を再選択しない、つまりマーカー位置特定部２２０がマーカーＭの位置情報を再特定するときに用いられる画像から除外することによって、再特定されるマーカーＭの位置情報の精度を向上させる。なお、例えばそれぞれの画像に含まれるマーカーＭの大きさからカメラとマーカーＭとの距離を推定することも可能である。しかし、マーカー位置特定部２２０によって最初に特定されるマーカーＭの位置情報の精度は向上させることが可能であるものの、当該位置情報の精度は低いわけではない。従って上記のように三次元計測の結果を利用することによってより正確にカメラとマーカーＭとの距離を推定することができる。
【００３１】
上記の例において、画像再選択部２３０によって再選択された画像を用いてマーカー位置特定部２２０がマーカーＭの位置情報を再特定した結果、再特定された位置情報によって示されるマーカー位置Ｐ１から再選択された画像を撮像するカメラ１００Ａ〜１００Ｅまでの距離がマーカー位置Ｐ０からの距離とは変わる可能性がある。このような場合において、画像再選択部２３０は、マーカー位置Ｐ１からからカメラ１００Ａ〜１００Ｅのそれぞれまでの距離ｄを算出し、距離ｄが所定の閾値ｄｔｈ以下であるカメラ１００Ａ〜１００Ｅによって撮像された画像を再選択する。この結果、再選択されない画像がある場合、マーカー位置特定部２２０は２回目の再選択によって選択された画像を用いてマーカーＭの位置情報を再特定する。一方、すべての画像が再選択された場合、その時点で最後にマーカー位置特定部２２０が特定（または再特定）したマーカーＭの位置情報が出力としてバッファ２４０に格納される。このようにして、画像再選択部２３０は、再特定されたマーカーＭの位置情報によって示されるマーカー位置Ｐから再選択された画像を撮像したすべてのカメラの位置までの距離ｄが所定の距離ｄｔｈ以下になるまで画像の再選択を繰り返してもよい。
【００３２】
図６および図７Ａ、図７Ｂは、本発明の第１の実施形態における画像選択処理の別の例について説明するための図である。上記で図５を参照して説明した例では、画像再選択部２３０がマーカー位置Ｐ０から複数のカメラ１００までの距離に応じて画像を再選択したが、図６に示す例において、画像再選択部２３０は、マーカー位置Ｐ０がレンズ歪みの小さい領域で捉えられるカメラによって撮像された画像を再選択する。図７Ａおよび図７Ｂに示すように、カメラのレンズには、例えば図７Ａに示されるたる型や、図７Ｂに示される糸巻き型といったような歪みが発生する。これらの典型的なレンズ歪みでは、画像の中央付近では歪み量が小さく、画像の端付近では歪み量が大きい。カメラが画像を撮像する段階でこれらの歪みは補正されるが、補正計算による誤差が生じるため、レンズ歪みの大きい領域でマーカーＭが捉えられた画像を三次元計測に用いた場合、計測の精度が必ずしも向上しない場合があり得る。
【００３３】
そこで、図６に示す例では、レンズ歪みの大きい領域に対応するマスク領域ＲＭを設定し、マーカー位置Ｐ０がマスク領域ＲＭに含まれないカメラによって撮像された画像、すなわちマーカー位置Ｐ０がレンズ歪みの小さい領域で捉えられるカメラによって撮像された画像を再選択する。ここで、図６に示すように、レンズ歪みの影響はレンズからの距離が小さい領域ＲＰでは小さく、レンズからの距離が大きい領域ＲＤでは大きくなるため、マスク領域ＲＭは、レンズからの距離が大きく、かつ画角の端縁に近い領域に設定される。上記のようなマスク領域ＲＭを用いた画像の再選択によって、上述したようなレンズ歪みの補正計算の誤差の影響が小さい画像を選択的に用いてマーカーＭの位置情報を特定することができ、位置情報の精度が向上する。
【００３４】
上記の図６の例でも、図５の例と同様に、画像再選択部２３０は、再特定されたマーカー位置Ｐが再選択された画像を撮像したすべてのカメラでレンズ歪みの小さい領域で捉えられるまで画像の再選択を繰り返してもよい。また、図５の例と図６の例とを組み合わせて、画像再選択部２３０がマーカー位置Ｐからカメラまでの距離とそれぞれのカメラのレンズ歪みに対応して設定されるマスク領域ＲＭとの両方に基づいて画像を再選択してもよい。
【００３５】
図８は、図６を参照して説明した画像再選択処理の例のフローチャートである。図示された例では、まず、画像選択部２１０がマーカーＭが検出されている画像を選択し（ステップＳ２０１）、マーカー位置特定部２２０が選択された画像を用いてマーカーの位置情報を特定する（ステップＳ２０２）。次に、画像再選択部２３０が、マーカーＭとカメラ１００との位置関係を算出する（ステップＳ２０３）。具体的には、例えば、上記で説明したように、画像再選択部２３０は、特定されたマーカー位置Ｐ０からカメラ１００までの距離ｄを算出するか、またはマーカー位置Ｐ０がカメラ１００のマスク領域ＲＭに含まれるか否かを判定する。これらの位置関係が条件を満たさない、具体的には距離ｄが閾値ｄｔｈを超えていたり、マーカー位置Ｐ０がマスク領域ＲＭに含まれたりするカメラ１００が存在する場合（ステップＳ２０４のＹＥＳ）、画像再選択部２３０は条件を満たすカメラ１００の画像を再選択し（ステップＳ２０５）、マーカー位置特定部２２０が再選択された画像を用いてマーカーＭの位置情報を特定（再特定）する（ステップＳ２０２）。
【００３６】
一方、選択（または再選択）された画像について、マーカーＭとの位置関係が条件を満たさないカメラ１００が存在しない場合（ステップＳ２０４のＮＯ）、すなわち画像再選択部２３０がその時点で選択（または再選択）されているすべての画像を再選択した場合、その時点で最後にマーカー位置特定部２２０が特定（または再特定）したマーカーＭの位置情報が出力される（ステップＳ２０６）。ステップＳ２０２〜ステップＳ２０５の処理は、選択（または再選択）されている画像のすべてについて、マーカー位置Ｐとカメラ１００との位置関係が条件を満たすまで繰り返される。あるいは、繰り返しの回数の上限を設定してもよい。以上で説明したような処理によって、マーカーＭが検出されている画像の中から三次元計測の精度の向上に寄与する画像を選択的に用いて位置情報の精度を向上させることができる。
【００３７】
（バッファ処理の例）
図９は、本発明の第１の実施形態におけるバッファ処理の例について説明するための図である。本実施形態において、複数のカメラ１００が撮像した画像は所定の時間間隔（フレームレート）ごとに更新され、マーカー位置特定部２２０も所定の時間間隔ごとにマーカーＭの位置情報を特定（または再特定）する。所定の時間間隔ごとに測定された位置情報はバッファ２４０に時系列で格納され、出力値生成部２５０はバッファ２４０に格納された位置情報からマーカーＭの位置情報の出力値を生成する。バッファ２４０は、例えばデータの送信や出力のために設けられる一般的なバッファとは別に設けられてもよい。図９に示された例において、マーカー位置特定部２２０が各フレームの画像から特定したマーカーＭの位置情報ｖｔは、サイズｎのバッファ２４０に格納される。つまり、バッファ２４０には、直近のｎフレーム分の位置情報ｖｋ（ｋ＝ｔ−ｎ＋１，ｔ−ｎ＋２，…，ｔ−１，ｔ）が格納される。
【００３８】
例えば、出力値生成部２５０は、バッファ２４０に格納された位置情報ｖｋのうち、直近の出力値ｖＯＵＴｔ−１との差分｜ｄｉｆｆ｜＝｜ｖＯＵＴｔ−１−ｖｋ｜が閾値ｄｉｆｆｔｈ以下であるという条件を満たすものの数ｍ１が第１の閾値ｍｔｈ１以上である場合（図９の（ａ））、上記の条件を満たす位置情報ｖｋを選択的に用いて最新の出力値ｖＯＵＴｔを生成してもよい。より具体的には、例えば、出力値生成部２５０は、条件を満たす位置情報ｖｋの平均値を出力値ｖＯＵＴｔとしてもよいし、条件を満たす位置情報ｖｋの値からカルマンフィルタなどの予測器を用いて推定された値を出力値ｖＯＵＴｔとしてもよい。
【００３９】
また、例えば、出力値生成部２５０は、バッファ２４０に格納された位置情報ｖｋのうち、上記の条件を満たさない、すなわち直近の出力値ｖＯＵＴｔ−１との差分｜ｄｉｆｆ｜が閾値ｄｉｆｆｔｈを超えるものが連続する数ｍ２が第２の閾値ｍｔｈ２以上である場合（図９の（ｂ））、最新の位置情報ｖｔから最新の出力値ｖＯＵＴｔを生成し、さらに最新の位置情報ｖｔでバッファ２４０の全体を上書きしてもよい（図９の（ｃ））。
【００４０】
上述した第１の閾値ｍｔｈ１を用いた判定によって、位置情報ｖｋに含まれる急峻値、具体的には例えばマーカー位置特定部２２０が位置情報の特定に用いる画像の組み合わせの一時的な変化や計算誤差などによって生じる飛び値が除去され、出力値ｖＯＵＴｔが平滑化される。一方、第２の閾値ｍｔｈ２を用いた判定によって、飛び値ではなく位置情報ｖｋが実際に大きく変化した場合に、出力値ｖＯＵＴｔを位置情報ｖｋに追従させることができる。第１の閾値ｍｔｈ１および第２の閾値ｍｔｈ２のそれぞれの大きさ、および第１の閾値ｍｔｈ１を用いた判定および第２の閾値ｍｔｈ２を用いた判定のどちらを優先させるかは、例えば出力値ｖＯＵＴｔの安定性と追従性のどちらを重視するかに応じて決定されてもよい。また、第１の閾値ｍｔｈ１を用いた判定および第２の閾値ｍｔｈ２を用いた判定のどちらによっても出力値ｖＯＵＴｔが生成されなかった場合、上述した例において画像選択部２１０が画像を選択しなかった場合と同様にマーカーＭの位置情報を出力せず、例えばＨＭＤ１４に組み込まれたＩＭＵによる加速度や角速度などの検出結果からユーザーＵの位置および姿勢を算出してもよい。
【００４１】
図１０は、図９を参照して説明したバッファ処理の例のフローチャートである。図示された例では、まず、マーカー位置特定部２２０が、特定（または再特定）した新たな位置情報ｖｔをバッファ２４０に格納する（ステップＳ３０１）。次に、出力値生成部２５０が、第１の閾値ｍｔｈ１を用いた判定、すなわち、直近の出力値ｖＯＵＴｔ−１との差分｜ｄｉｆｆ｜＝｜ｖＯＵＴｔ−１−ｖｋ｜が閾値ｄｉｆｆｔｈ以下である位置情報ｖｋの数ｍ１が第１の閾値ｍｔｈ１以上であるか否かの判定を実施する（ステップＳ３０２）。ｍ１≧ｍｔｈ１である場合、出力値生成部２５０は、バッファ２４０に格納された条件を満たす位置情報ｖｋから出力値ｖＯＵＴｔを生成する（ステップＳ３０３）。
【００４２】
一方、ステップＳ３０２の判定においてｍ１＜ｍｔｈ１である場合、出力値生成部２５０は、第２の閾値ｍｔｈ２を用いた判定、すなわち、直近の出力値ｖＯＵＴｔ−１との差分｜ｄｉｆｆ｜が閾値ｄｉｆｆｔｈを超えるものが連続する数ｍ２が第２の閾値ｍｔｈ２以上であるか否かの判定を実施する（ステップＳ３０４）。ｍ２≧ｍｔｈ２である場合、出力値生成部２５０は、最新の位置情報ｖｔから最新の出力値ｖＯＵＴｔを生成するとともに（ステップＳ３０５）、最新の位置情報ｖｔでバッファ２４０を上書きする（ステップＳ３０６）。一方、ステップＳ３０４の判定においてｍ２＜ｍｔｈ２である場合、出力値生成部２５０は出力値ｖＯＵＴｔを生成しない。以上で説明したような処理によって、バッファ２４０を利用して出力値ｖＯＵＴｔの安定性および追従性を向上させることができる。
【００４３】
なお、第１の閾値ｍｔｈ１を用いた判定と第２の閾値ｍｔｈ２を用いた判定との順序は図１０に示された例に限られず、例えば逆であってもよい。また、例えばステップＳ３０２の第１の閾値ｍｔｈ１を用いた判定のみを実施し、ｍ１＜ｍｔｈ１である場合には最新の位置情報ｖｔを用いた処理（ステップＳ３０５およびステップＳ３０６）を実行することによって、位置情報ｖｔが特定された場合には必ず出力値ｖＯＵＴｔを生成してもよい。
【００４４】
（第２の実施形態）
図１１は、本発明の第２の実施形態に係る三次元計測装置の構成を示すブロック図である。図示された例において、三次元計測装置３００は、画像選択部２１０と、マーカー位置特定部３２０と、信頼度算出部３３０と、マーカー位置調整部３４０とを含む。三次元計測装置３００は、例えば通信インターフェース、プロセッサ、およびメモリを有するコンピュータによって実装され、画像選択部２１０、マーカー位置特定部２２０、信頼度算出部３３０、およびマーカー位置調整部３４０の機能はプロセッサがメモリに格納された、または通信インターフェースを介して受信されたプログラムに従って動作することによって実現される。なお、三次元計測装置３００を含むシステムの構成、および画像選択部２１０の構成については、上記の第１の実施形態と同様であるため重複した説明は省略する。
【００４５】
マーカー位置特定部３２０は、画像選択部２１０によって選択された複数の画像を用いて三次元空間ＳＰ内のマーカーＭの位置情報を特定する。マーカー位置特定部３２０が三角測量の原理でマーカーＭの位置情報、なお、具体的には例えば三次元座標を特定する方法については既に知られているため詳細な説明は省略する。本実施形態において、マーカー位置特定部３２０は、画像選択部２１０が選択した画像の全体を用いてマーカーＭの位置情報を特定するのに加えて、後述するように信頼度算出部３３０が算出するカメラまたは画像の組み合わせごとの信頼度に従って設定される画像のグループごとにマーカーＭの位置情報を再特定する。
【００４６】
信頼度算出部３３０は、画像選択部２１０が選択した複数の画像の組み合わせについて、三次元計測結果の信頼度ｒを算出する。図１２は、信頼度ｒの算出方法について説明するための図である。図示された例では、マーカーＭを検出している画像を撮像したカメラ１００Ｋ〜１００Ｎが示されている。例えば、カメラ１００Ｋとカメラ１００Ｌとの組み合わせについて、それぞれのカメラからマーカー位置Ｐ０に向かう直線同士がなす角度θ１と、カメラ間の距離Ｌ１とを定義することができる。同様に、カメラ１００Ｍとカメラ１００Ｎとの組み合わせについて、それぞれのカメラからマーカー位置Ｐ０に向かう直線同士がなす角度θ２と、カメラ間の距離Ｌ２とを定義することができる。なお、０°≦θ１，θ２≦１８０°である。この場合、それぞれのカメラの組み合わせ、またはカメラによって撮像される画像の組み合わせの信頼度ｒ１，ｒ２は、例えば以下の式（１）のように算出される。
【００４７】
【数１】
2020197497.tif 000003
【００４８】
ここで、式（１）において、Ｌｍａｘはそれぞれのカメラの組合せにおける距離の最大値、αおよびβは角度および距離のそれぞれの条件に対する重み付け係数である。式（１）は、カメラからマーカー位置Ｐ０に向かう直線同士がなす角度が９０°に近く、かつカメラ間の距離がより大きい方が、信頼度が高くなることを意味する。従って、図１２の例におけるカメラ１００Ｋ，１００Ｌの組み合わせの信頼度ｒ１とカメラ１００Ｍ，１００Ｎの組み合わせの信頼度ｒ２との間では、ｒ１＞ｒ２になる。信頼度算出部３３０は、画像選択部２１０が選択した複数の画像の中から所定の数の画像を抽出した組み合わせのすべてについて、上記のような信頼度を算出する（例えば、ｘ個の画像からｙ個の画像を抽出した場合、組み合わせの数はｘＣｎになる）。従って、図１１に示した例の場合、カメラ１００Ｋとカメラ１００Ｍまたはカメラ１００Ｎとの組み合わせ、およびカメラ１００Ｌとカメラ１００Ｍまたはカメラ１００Ｎとの組み合わせについても信頼度が算出される。
【００４９】
再び図１１を参照して、マーカー位置調整部３４０は、信頼度算出部３３０が算出した信頼度に従って設定される画像のグループごとにマーカー位置特定部３２０が再特定したマーカーＭの位置情報を用いて、最終的に出力されるマーカーＭの位置情報を調整する。より具体的には、例えば、図１３に示すように、マーカー位置調整部３４０は、信頼度が相対的に高いカメラまたは画像の組み合わせ（カメラ１００Ｋとカメラ１００Ｌとの組み合わせ）から特定されたマーカー位置Ｐ１と、信頼度が相対的に低いカメラまたは画像の組み合わせ（カメラ１００Ｍとカメラ１００Ｎとの組み合わせ）から特定されたマーカー位置Ｐ２とを統合して最終的なマーカー位置Ｐを決定するときに、信頼度の大きさに比例してそれぞれの位置情報を統合する。つまり、マーカー位置Ｐ１の三次元座標が（ｘ１，ｙ１，ｚ１）であり、マーカー位置Ｐ２の三次元座標が（ｘ２，ｙ２，ｚ２）である場合、マーカー位置Ｐの三次元座標（ｘ，ｙ，ｚ）は以下の式（２）のように決定される。
【００５０】
【数２】
2020197497.tif 000004
【００５１】
上記のような本発明の第２の実施形態の構成によれば、より多くの画像を用いることによってマーカーＭの三次元計測の精度を確保しつつ、カメラ間、または画像間で定義される信頼度に応じて位置情報の算出結果を重み付けして統合することによって、位置情報の精度をさらに向上させることができる。
【００５２】
以上、添付図面を参照しながら本発明のいくつかの実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【００５３】
１０…システム、１１…三次元計測システム、１２…サーバー、１３…クライアント、１４…ＨＭＤ、１００…カメラ、２００，３００…三次元計測装置、２１０…画像選択部、２２０…マーカー位置特定部、２３０…画像再選択部、２４０…バッファ、２５０…出力値生成部、３００…三次元計測装置、３２０…マーカー位置特定部、３３０…信頼度算出部、３４０…マーカー位置調整部。
【図１】
2020197497.tif 000005
【図２】
2020197497.tif 000006
【図３】
2020197497.tif 000007
【図４】
2020197497.tif 000008
【図５】
2020197497.tif 000009
【図６】
2020197497.tif 000010
【図７Ａ】
2020197497.tif 000011
【図７Ｂ】
2020197497.tif 000012
【図８】
2020197497.tif 000013
【図９】
2020197497.tif 000014
【図１０】
2020197497.tif 000015
【図１１】
2020197497.tif 000016
【図１２】
2020197497.tif 000017
【図１３】
2020197497.tif 000018