(57)【要約】【課題】三次元位置計測システムにおいて、計測エラーを引き起こした発光マーカを特定することで、他の発光マーカの計測情報を有効に利用する。【解決手段】三次元位置計測システム２は、計測対象に装着された発光マーカ４ａ，４ｂと、発光マーカを撮像する第１および第２の動画像カメラ６Ａ，６Ｂと、計測装置８とを備える。計測装置では、第１および第２の動画像カメラでそれぞれ撮像した第１および第２の画像内における、各発光マーカの平面座標を算出後、ステレオ視の原理により発光マーカの空間座標を算出する。続いて、上記空間座標に基づいて発光マーカ間の距離を算出し、該マーカ間距離が適正か否かを判定する。マーカ間距離が不適正と判定されると、各発光マーカについて、カメラ画像１フレーム分前からのマーカ移動距離を算出する。そして、マーカ移動距離が予め決められた閾値より大きい発光マーカが計測エラーを引き起こしたと判定する。【選択図】        図１
2004361222.tif 000002
【特許請求の範囲】
【請求項１】
計測対象に装着された複数の発光マーカと、
上記複数の発光マーカを撮像する第１および第２の動画像カメラと、
上記第１および第２の動画像カメラでそれぞれ撮像した第１および第２の画像内における上記各発光マーカの平面座標を算出する二次元位置算出部と、
上記二次元位置算出部で算出された第１および第２の画像内における上記各発光マーカの平面座標に基づいて、ステレオ視の原理により上記各発光マーカの空間座標を算出するステレオ視演算部と、
上記ステレオ視演算部で算出した空間座標に基づいて、上記各発光マーカ間の距離を算出するマーカ間距離算出部と、
上記マーカ間距離算出部で算出した上記マーカ間距離が適正か否かを判定する計測エラー判定部と、
上記計測エラー判定部でマーカ間距離が不適正と判定された発光マーカペアを構成する各発光マーカについて、対応する上記第１および第２の画像と、不適正と判定される直前の上記第１および第２の画像とに基づいて、マーカ移動距離を算出するマーカ移動距離算出部と、
上記マーカ移動距離に基づいて、不適正なマーカ間距離であるとの判定の原因となった発光マーカを判定する計測エラーマーカ判定部と、
を備えた三次元位置計測システム。
【請求項２】
計測対象に装着された少なくとも３つの発光マーカと、
上記少なくとも３つの発光マーカを撮像する第１および第２の動画像カメラと、
上記第１および第２の動画像カメラでそれぞれ撮像した第１および第２の画像内における上記各発光マーカの平面座標を算出する二次元位置算出部と、
上記二次元位置算出部で算出された第１および第２の画像内における上記各発光マーカの平面座標に基づいて、ステレオ視の原理により上記各発光マーカの空間座標を算出するステレオ視演算部と、
上記ステレオ視演算部で算出した空間座標に基づいて上記各発光マーカ間の距離を算出するマーカ間距離算出部であって、上記各発光マーカについて複数のマーカ間距離を算出するものと、
上記マーカ間距離算出部で算出した上記マーカ間距離が適正か否かを判定する計測エラー判定部と、
上記計測エラー判定部でマーカ間距離が不適正と判定された発光マーカペアを構成する各発光マーカについて、不適正と判定された上記マーカ間距離以外のマーカ間距離に基づいて、不適正なマーカ間距離であるとの判定の原因となった発光マーカを判定する計測エラーマーカ判定部と、
を備えた三次元位置計測システム。
【請求項３】
計測対象に装着された複数の発光マーカと、
上記複数の発光マーカの発光を制御する発光制御部と、
上記複数の発光マーカを撮像する第１および第２の動画像カメラと、
上記第１および第２の動画像カメラでそれぞれ撮像した第１および第２の画像内における上記各発光マーカの平面座標を算出する二次元位置算出部と、
上記二次元位置算出部で算出された各画像内における上記各発光マーカの平面座標に基づいて、ステレオ視の原理により上記各発光マーカの空間座標を算出するステレオ視演算部と、
上記ステレオ視演算部で算出した空間座標に基づいて、上記各発光マーカ間の距離を算出するマーカ間距離算出部と、
上記マーカ間距離算出部で算出した上記マーカ間距離が適正か否かを判定する計測エラー判定部とを備え、
上記計測エラー判定部でマーカ間距離が不適正と判定された場合に、上記発光制御部は、該マーカ間距離に対応する発光マーカペアを構成する各発光マーカを、第１および第２の動画像カメラの撮像素子を駆動する信号に同期させて順次発光させるとともに第１および第２の動画像カメラで撮像し、上記二次元位置算出部は、上記第１および第２の動画像カメラでそれぞれ撮像した第１および第２の画像内における各発光マーカの別の平面座標を算出するとともに、上記ステレオ視算出部は、各発光マーカについて、上記二次元位置算出部で算出された各画像内における上記別の平面座標に基づいて、別の空間座標を算出することを特徴とする三次元位置計測システム。
【請求項４】
計測対象に装着された複数の発光マーカと、
上記複数の発光マーカを撮像する第１および第２の動画像カメラと、
上記第１および第２の動画像カメラでそれぞれ撮像した第１および第２の画像内における上記各発光マーカの平面座標を算出する二次元位置算出部と、
上記二次元位置算出部で算出された各画像内における上記各発光マーカの平面座標に基づいて、ステレオ視の原理により上記各発光マーカの空間座標を算出するステレオ視演算部と、
上記ステレオ視演算部で算出した空間座標に基づいて、上記各発光マーカ間の距離を算出するマーカ間距離算出部と、
上記マーカ間距離算出部で算出した上記マーカ間距離が適正か否かを判定する計測エラー判定部と、
上記計測エラー判定部でマーカ間距離が不適正と判定された発光マーカペアを構成する各発光マーカについて、上記第１および第２の動画像カメラでそれぞれ撮像された第１および第２の画像内における発光面積を算出する発光面積算出部と、
上記発光面積算出部で算出した発光面積を利用して、マーカ間距離が不適正と判断された発光マーカペアを構成する各発光マーカの別の空間座標を算出する演算部と、
上記演算部で算出した別の空間座標に基づいて、不適正なマーカ間距離であるとの判定の原因となった発光マーカを判定する計測エラーマーカ判定部と、
を備えた三次元位置計測システム。
【請求項５】
計測対象に装着された、一つまたはそれ以上の計測用発光マーカ、および、計測用発光マーカとの距離が一定の基準用発光マーカと、
上記発光マーカを撮像する第１および第２の動画像カメラと、
上記第１および第２の動画像カメラでそれぞれ撮像した第１および第２の画像内における上記各発光マーカの平面座標を算出する二次元位置算出部と、
上記二次元位置算出部で算出された各画像内における上記各発光マーカの平面座標に基づいて、ステレオ視の原理により上記各発光マーカの空間座標を算出するステレオ視演算部と、
上記ステレオ視演算部で算出した空間座標に基づいて、基準用発光マーカと各計測用発光マーカ間の距離を算出するマーカ間距離算出部と、
各計測用発光マーカについて、マーカ間距離算出部で算出した上記マーカ間距離が適正か否かを判定し、これにより該計測用発光マーカがエラーを引き起こしたか否かを判定する計測エラー判定部と、
を備えた三次元位置計測システム。
【請求項６】
計測対象に装着された複数の発光マーカを第１および第２の動画像カメラで撮像するステップと、
上記第１および第２の動画像カメラでそれぞれ撮像した第１および第２の画像内における上記各発光マーカの平面座標を算出するステップと、
各画像内における上記各発光マーカの上記算出した二次元位置に基づいて、ステレオ視の原理により上記各発光マーカの空間座標を算出するステップと、
上記算出した空間座標に基づいて、上記各発光マーカ間の距離を算出するステップと、
上記算出したマーカ間距離が適正か否かを判定する計測エラー判定ステップと、
計測エラー判定ステップで算出したマーカ間距離が不適正と判定された場合に、該マーカ間距離に対応する発光マーカペアを構成する各発光マーカのいずれかが、不適正なマーカ間距離であるとの判定の原因となったかを判定するステップと、
を含む三次元位置計測方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般に三次元位置計測システムおよび方法に関し、特に、例えば人などの計測対象の複数の部位に取り付けた複数の発光マーカの三次元位置を計測するためのシステムおよび方法に関する。
【０００２】
【従来の技術】
従来、人などの計測対象の複数の部位にマーカを取り付け、これらマーカの三次元位置を計測することで、対象の動作を解析する三次元計測システムが知られている。このような三次元位置計測システムは、一般的に、複数の動画像カメラでマーカを撮影し、ステレオ視の原理を用いてマーカの三次元位置を算出する。
【０００３】
このような三次元位置計測システムで計測を行う場合、各種ノイズ、光環境の変化（例えば、日が差すなどして、カメラの視野内に直接光や反射光が混入する。）などが原因で計測エラー（例えば、光環境の変化で生じた画像内の光をマーカと誤認識する。）が発生する可能性がある。
【０００４】
そこで、例えば、特許文献１に開示された動作解析装置（三次元位置計測システム）では、マーカ位置を計測すると同時にマーカ間の距離を算出し、算出距離を予め決められた基準距離と比較して、算出距離が適正であれば、算出したマーカ三次元位置を適切な三次元位置と判断する。
【０００５】
【特許文献１】
特開２００２−８０４３号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、上記動作解析装置では、マーカ間距離が不適正と判定すると以後の計測を中止するように設定されているため、安定した位置計測を行うことができない。また、マーカ間距離が不適正と判定した場合であっても、一方のマーカの位置情報は正しい可能性が高いにもかかわらず、正しい位置情報を有効に利用していない。
【０００７】
そこで、本発明は、マーカ間距離情報を利用して計測エラーを判定する三次元計測システムおよび方法であって、マーカ間距離が不適正と判定した場合に、正しい位置情報を有効に利用できるものを提供することを特徴とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明に係る三次元位置計測システムは、
計測対象に装着された複数の発光マーカと、
上記複数の発光マーカを撮像する第１および第２の動画像カメラと、
第１および第２の動画像カメラでそれぞれ撮像した第１および第２の画像内における上記各発光マーカの平面座標を算出する二次元位置算出部と、
二次元位置算出部で算出された第１および第２の画像内の上記各発光マーカの平面座標に基づいて、ステレオ視の原理により上記各発光マーカの空間座標（第１の空間座標）を算出するステレオ視演算部と、
ステレオ視演算部で算出した空間座標に基づいて、上記各発光マーカ間の距離を算出するマーカ間距離算出部と、
マーカ間距離算出部で算出した上記マーカ間距離が適正か否かを判定する計測エラー判定部と、
計測エラー判定部でマーカ間距離が不適正と判定された発光マーカペアを構成する各発光マーカについて、対応する上記第１および第２の画像と、不適正と判定される直前の上記第１および第２の画像とに基づいて、マーカ移動距離を算出するマーカ移動距離算出部と、
上記マーカ移動距離に基づいて、不適正なマーカ間距離であるとの判定の原因となった発光マーカを判定する計測エラーマーカ判定部とを備えたことを特徴とする。
【０００９】
本発明に係る三次元位置計測方法は、
計測対象に装着された複数の発光マーカを第１および第２の動画像カメラで撮像するステップと、
第１および第２の動画像カメラでそれぞれ撮像した第１および第２の画像内における上記各発光マーカの平面座標を算出するステップと、
各画像内における上記各発光マーカの上記算出した二次元位置に基づいて、ステレオ視の原理により上記各発光マーカの空間座標（第１の空間座標）を算出するステップと、
空間座標に基づいて、上記各発光マーカ間の距離を算出するステップと、
算出したマーカ間距離が適正か否かを判定する計測エラー判定ステップと、
計測エラー判定ステップで算出したマーカ間距離が不適正と判定された場合に、該マーカ間距離に対応する発光マーカペアを構成する各発光マーカのいずれかが、不適正なマーカ間距離であるとの判定の原因となったかを判定するステップとを含むことを特徴とする。
【００１０】
【発明の実施の形態】
以下、添付図面を参照して本発明の実施の形態を説明する。
【００１１】
実施の形態１．
図１，２は、本発明に係る三次元位置計測システム（以下、計測システムという。）の実施の形態１を示す概略構成図である。この計測システム２は、概略、所定の範囲内で移動（運動）する計測対象（例えば人）の所定の部位に装着する一対の発光マーカ４（４ａ，４ｂ）（本実施形態ではＬＥＤ）と、計測対象部位が動く範囲を視野内に捉える第１および第２の動画像カメラ（本実施形態ではＣＣＤカメラで、以下、カメラという。）６（６Ａ，６Ｂ）と、第１および第２のカメラ６Ａ，６Ｂで撮像した時系列画像データに基づいて、発光マーカ４ａ，４ｂの三次元位置を適当な時間間隔（この間隔は、撮像手段であるＣＣＤの垂直駆動（ＶＤ）信号の周期の整数倍である。）で計測するための計測装置８とを備える。
【００１２】
計測装置８は、計測システム２全体を制御する制御部１０、カメラ６Ａ，６Ｂでそれぞれ撮像した第１および第２の時系列画像データを記憶するための画像メモリ１２、ＬＥＤ４ａ，４ｂの発光を制御するための発光制御部１４、予め決められたカメラ６Ａ，６Ｂの位置・姿勢や発光マーカ４ａ，４ｂ間距離等の情報を管理するためのカメラ／マーカ情報管理部１６、発光マーカ４ａ，４ｂの各時刻での三次元位置を算出するための三次元位置算出部１８、該算出部１８で算出した三次元位置を記録するための三次元位置記録部２０等を備えている。
【００１３】
図２に示すように、三次元位置算出部１８は、ローカル位置算出部（二次元位置算出部）２２、ステレオ視演算部２４、マーカ間距離算出部２６、計測エラー判定部２８、マーカ移動距離算出部３０、計測エラーマーカ判定部３２、および三次元位置出力部３４を備える。
【００１４】
ローカル位置算出部２２は、第１の時系列画像データを構成する各画像フレーム内および第２の時系列画像データを構成する各画像フレーム内での発光マーカ４ａ，４ｂのローカル位置（平面座標）を算出するものである。例えば、ある画像フレームに関し、水平走査線毎に輝度が所定の閾値を超えている画素部分を、マーカ存在部分（線分）として切り出す。そして、隣り合う水平走査線において水平方向に関し略同じ位置にマーカ存在部分があれば同一のマーカのものと判断することで、水平方向に関して水平駆動（ＨＤ）信号の数および垂直方向に関して水平走査線数に基づいて、発光マーカ４ａ，４ｂの平面座標を求めることができる。例えば、発光マーカ４ａ，４ｂの重心座標をそれぞれ求めて、これを各発光マーカ４ａ，４ｂのローカル位置とする。
【００１５】
ステレオ視演算部２４は、ローカル位置算出部２２で算出した平面座標と、カメラ／マーカ情報管理部１６で管理されたカメラの位置・姿勢等のデータに基づき、ステレオ視の原理を用いて、発光マーカ４ａ，４ｂの三次元位置（第１の空間座標）を求めるようになっている。マーカ間距離算出部２６は、ステレオ視演算部２４で算出した各発光マーカ４ａ，４ｂの第１の空間座標から、マーカ間の距離Ｄ１を算出するようになっている。計測エラー判定部２８は、マーカ間距離算出部２６で算出した発光マーカ４ａ，４ｂ間の距離Ｄ１と、カメラ／マーカ情報管理部１６で管理された既知の発光マーカ４ａ，４ｂ間の距離Ｄ０とを比較し、両者の距離の差の絶対値｜Ｄ１−Ｄ０｜が予め設定した閾値より大きいか否かを判定するためのもので、上記絶対値が閾値より大きければ、少なくとも一方の発光マーカ４ａ，４ｂに関する第１の空間座標が計測エラーであるとして、マーカ移動距離算出部３０にエラー信号を出力するようになっている。
【００１６】
マーカ移動距離算出部３０は、計測エラー判定部２８からエラー信号を受けると、「直前」（例えば、ＶＤ信号１周期または２周期前）の画像フレームを利用して算出した三次元位置（第２の空間座標）と、三次元位置算出の対象となる画像フレームを利用して算出した第１の空間座標とから、各発光マーカ４ａ，４ｂの移動距離を算出するようになっている。第２の空間座標のデータは、三次元位置記録部２０から適宜読み出されるが、代わりに、三次元位置算出部１８は、第２の空間座標のデータを一時的に記憶するメモリを別に備えていてもよい。計測エラーマーカ判定部３２は、各発光マーカ４ａ，４ｂの移動距離が予め設定した閾値より大きいか否かを判定するようになっている。すなわち、ある発光マーカ４に関して、１または２周期（１周期が例えば１／６０秒）の間に移動する距離が閾値（発光マーカ４ａ，４ｂを装着する部位が１または２周期で移動できる距離として妥当な値の限界値）以上であると（移動速度が大きいと）、第１の空間座標は、発光マーカ４以外の光を発光マーカと誤認識して算出された可能性が高い。
【００１７】
詳細は後述するが、三次元位置出力部３４は、計測エラーマーカ判定部３２での判定に基づいて、三次元位置記録部２０に出力すべき各マーカ４ａ，４ｂの三次元位置情報を決定するようになっている。
【００１８】
次に、図３，４のフローチャートを用いて、本実施形態に係る計測システム２による三次元計測処理を説明する。
【００１９】
まず、ステップＳ３０１で、制御部１０は発光制御部１４を制御してＬＥＤ４ａ，４ｂを発光させる。ステップＳ３０２で、第１および第２のカメラ６Ａ，６Ｂによる計測対象の撮像を行い、時系列的に並んだ第１および第２の時系列画像データを取得して画像メモリ１２に記憶させる。ステップＳ３０３で、インデックスｎを０に設定する。インデックスｎは、各発光マーカ４ａ，４ｂの三次元位置の計測回数に対応する。ステップＳ３０４で、第１および第２のカメラ６Ａ，６Ｂで撮像した第１および第２の時系列画像データの中から、撮像初期の画像フレームをそれぞれ選択する。そして、三次元位置算出部１８のローカル位置算出部２２は、各画像フレーム上の発光マーカ４ａ，４ｂの平面座標を算出する。ステップＳ３０５で、ステレオ視演算部２４は、各発光マーカ４ａ，４ｂの平面座標から、ステレオ視の原理により各発光マーカ４ａ，４ｂの第１の空間座標を算出する。ステップＳ３０６で、マーカ間距離算出部２６は、発光マーカ４ａ，４ｂ間の距離Ｄ１を算出する。ステップＳ３０７で、計測エラー判定部２８は、この距離Ｄ１と、カメラ／マーカ情報管理部１６に記憶された発光マーカ４ａ，４ｂの実際の距離Ｄ０との差を算出する。
【００２０】
ステップＳ３０８で、差の絶対値｜Ｄ１−Ｄ０｜が予め決められた閾値より小さければ、ステップＳ３０９に進み、計測エラー判定部２８は、ステップＳ３０５で算出した各発光マーカ４ａ，４ｂの第１の空間座標は適正と判断し、三次元位置出力部３４に適正信号を出力する。三次元位置出力部３４は、この第１の空間座標のデータを三次元位置記録部２０に出力し記録する。その後、フローはステップＳ３１０に進む。
【００２１】
ステップＳ３１０で、インデックスｎをインクリメントする。ステップＳ３１１で、インデックスｎがＮ（これは、各発光マーカ４ａ，４ｂの計測総回数に等しい。）より小さければ、フローはステップＳ３０４に戻り、次に古い計測時刻に関して、ステップＳ３０４〜Ｓ３１０のプロセスを繰り返す。ステップＳ３１１でｎがＮに等しくなれば、フローを終了する。
【００２２】
ステップＳ３０８で、絶対値｜Ｄ１−Ｄ０｜が予め決められた閾値以上であれば、フローはステップＳ３１２に進む。ステップＳ３１２以下のフローでは、発光マーカ４ａ，４ｂのいずれかの第１の空間座標が不適切かの判定を行っている（なお、可能性は低いが、発光マーカ４ａ，４ｂの両方について不適正な三次元位置が算出されることも判定できる。）。具体的に、ステップＳ３１２でインデックスｒを０に設定する。ｒは発光マーカ４の数に対応する。ステップＳ３１３で、発光マーカ４ａ，４ｂのいずれか一方、例えば発光マーカ４ａについて、マーカ移動距離算出部３０は、直前の時刻と対象となる時刻との間で発光マーカ４ａが移動した距離Ｄ２を算出する。
【００２３】
ステップＳ３１４で、移動距離Ｄ２が予め設定された閾値より小さければ、ステップＳ３１５に進み、計測エラーマーカ判定部３２は、発光マーカ４ａに関してステップＳ３０５で求めた第１の空間座標は適正なものと判断し、三次元位置出力部３４に適正信号を出力する。三次元位置出力部３４は、第１の空間座標のデータを三次元位置記録部２０に出力し記録する。フローはその後ステップＳ３１６に進む。
【００２４】
ステップＳ３１４で、移動距離Ｄ２が予め設定された閾値以上であれば、ステップＳ３１７に進み、計測エラーマーカ判定部３２は、発光マーカ４ａに関してステップＳ３０５で求めた第１の空間座標は不適正なものと判断し、三次元位置出力部３４にエラー信号を出力する。そして、三次元位置出力部３４は、（第１の空間座標の代わりに）直前の画像フレームに基づいて求めた第２の空間座標のデータを、三次元位置記録部２０に出力し記録する。このように、時系列の直前の三次元位置を利用してマーカ移動距離を求めることで、計測エラーを起こした発光マーカを特定することができ、その結果、他方の発光マーカに関する有効な計測データを最大限利用することが可能となり、安定したマーカ位置計測が可能となる。フローはその後ステップＳ３１６に進む。
【００２５】
ステップＳ３１６では、インデックスｒをインクリメントする。ステップＳ３１８で、インデックスｒが２より小さければ、ステップＳ３１３に戻り、残りの発光マーカ４ｂに関し、ステップＳ３１３〜Ｓ３１７のプロセスを繰り返す。ステップＳ３１７でｒが２に等しくなると、ステップＳ３１０に戻る。
【００２６】
発光マーカ４ａ，４ｂを識別する方法としては、例えば、発光制御部１４を制御してＶＤ信号に同期させて発光マーカ４ａ，４ｂを交互に点灯させる方法や、計測対象の時刻での画像フレームと直前の画像フレームで発光マーカ位置が近いものを同一のマーカとする方法などが例示できる。
【００２７】
動画像カメラの数は３つ以上でもよい。この場合、ステレオ視演算部２４は、各発光マーカ４ａ，４ｂを撮像する任意の一対のカメラ毎にステレオ視の原理により第１の空間座標を求めた後、算出した複数の第１の空間座標の平均を求め、マーカ間距離算出部２６は、上記平均した第１の空間座標からマーカ間距離を求めるようにしてもよい。
【００２８】
発光マーカは３つ以上でもよい。この場合、マーカ間距離算出部２６は複数のマーカ間距離を算出してもよく、計測エラー判定部２８は、算出した各マーカ間距離について計測エラーの判定を行う。
【００２９】
また、本実施形態では、時系列画像データを先に取得した後で位置計測を行っているが、各計測時刻の画像データを取得すると同時に（すなわち、リアルタイムで）位置計測を行うようにしてもよい。
【００３０】
実施の形態２．
図５，６は、本発明に係る三次元位置計測システムの実施の形態２を示す概略構成図である。以下の説明では、実施の形態１と同一または類似の構成要素は同一の符号または同一の符号に適当な添字を付して表す。本実施形態に係る計測システム２ａは、実施の形態１に係る計測システム２と類似しているが、３つの発光マーカ４ａ，４ｂ，４ｃを備えている点、および、三次元位置算出部１８ａの計測エラーマーカ判定部３２ａは、マーカ移動距離でなくマーカ間距離を利用して、計測エラーを引き起こした発光マーカを特定する点で異なる。
【００３１】
具体的には、本実施形態に係る計測システム２ａによる三次元計測処理のフローチャートである図７，８を参照して、まず、ステップＳ７０１で、制御部１０は発光制御部１４を制御してＬＥＤ４ａ，４ｂ，４ｃを発光させる。ステップＳ７０２で、第１および第２のカメラ６Ａ，６Ｂによる計測対象の撮像を行い、時系列的に並んだ第１および第２の時系列画像データを取得して画像メモリ１２に記憶させる。ステップＳ７０３で、インデックスｎを０に設定する。ステップＳ７０４で、第１および第２のカメラ６Ａ，６Ｂで撮像した第１および第２の時系列画像データの中から、撮像初期の画像フレームをそれぞれ選択する。そして、三次元位置算出部１８のローカル位置算出部２２は、各画像フレーム上の発光マーカ４ａ，４ｂ，４ｃの平面座標を算出する。ステップＳ７０５で、ステレオ視演算部２４は、各発光マーカ４ａ，４ｂ，４ｃの平面座標からステレオ視の原理により第１の空間座標を算出する。
【００３２】
ステップＳ７０６で、マーカ間距離算出部２６は、発光マーカペア毎、すなわち、発光マーカ４ａ，４ｂ間の距離Ｄ１（ａ，ｂ）、発光マーカ４ｂ，４ｃ間の距離Ｄ１（ｂ，ｃ）、および発光マーカ４ｃ，４ａ間の距離Ｄ１（ｃ，ａ）を算出する。ステップＳ７０７で、計測エラー判定部２８は、距離Ｄ１（ａ，ｂ）と発光マーカペア４ａ，４ｂの実際の距離Ｄ０（ａ，ｂ）との差、距離Ｄ１（ｂ，ｃ）と発光マーカペア４ｂ，４ｃの実際の距離Ｄ０（ｂ，ｃ）との差、および、距離Ｄ１（ｃ，ａ）と発光マーカペア４ｃ，４ａの実際の距離Ｄ０（ｃ，ａ）との差を算出する。実際の距離Ｄ０（ａ，ｂ），Ｄ０（ｂ，ｃ），Ｄ０（ｃ，ａ）は、カメラ／マーカ情報管理部１６に記憶されている。
【００３３】
ステップＳ７０８で、全てのペアに関し差の絶対値｜Ｄ１−Ｄ０｜が予め決められた閾値より小さければ、ステップＳ７０９に進み、計測エラー判定部２８は、ステップＳ７０５で算出した各発光マーカ４ａ，４ｂ，４ｃの第１の空間座標は適正と判断し、三次元位置出力部３４に適正信号を出力する。三次元位置出力部３４は、この第１の空間座標のデータを三次元位置記録部２０に出力し記録する。その後、フローはステップＳ７１０に進む。
【００３４】
ステップＳ７１０で、インデックスｎをインクリメントする。ステップＳ７１１で、インデックスｎが各発光マーカ４ａ，４ｂ，４ｃの計測総回数であるＮより小さければ、フローはステップＳ７０４に戻り、次に古い計測時刻に関して、ステップＳ７０４〜Ｓ７１０のプロセスを繰り返す。ステップＳ７１１でｎがＮに等しくなれば、フローを終了する。
【００３５】
ステップＳ７０８で、絶対値｜Ｄ１−Ｄ０｜が予め決められた閾値以上のマーカペアが一つ存在すると、フローはステップＳ７１２に進む。以下の説明では、発光マーカペア４ａ，４ｂがエラーマーカペアであるとする。
【００３６】
ステップＳ７１２でインデックスｒを０に設定する。そして、発光マーカ４ａ，４ｂのいずれか一方、例えば発光マーカ４ａについて、計測エラーマーカ判定部３２ａは、発光マーカ４ａと、発光マーカ４ｂ以外の発光マーカである発光マーカ４ｃとに関する距離差の絶対値｜Ｄ１（ｃ，ａ）−Ｄ０（ｃ，ａ）｜が予め設定した閾値より小さいか否かを確認する（ステップＳ７１３，Ｓ７１４）。差が閾値より小さければ、ステップＳ７１５に進み、計測エラーマーカ判定部３２ａは、発光マーカ４ａに関してステップＳ７０５で求めた第１の空間座標は適正なものと判断し、三次元位置出力部３４に適正信号を出力する。三次元位置出力部３４は、第１の空間座標のデータを三次元位置記録部２０に出力し記録する。フローはその後ステップＳ７１６に進む。
【００３７】
ステップＳ７１３，Ｓ７１４で、絶対値｜Ｄ１（ｃ，ａ）−Ｄ０（ｃ，ａ）｜が予め設定された閾値以上であれば、ステップＳ７１７に進み、計測エラーマーカ判定部３２は、発光マーカ４ａに関してステップＳ７０５で求めた第１の空間座標は不適正なものと判断し、三次元位置出力部３４にエラー信号を出力する。そして、三次元位置出力部３４は、（第１の空間座標の代わりに）直前の画像フレームに基づいて求めた第２の空間座標のデータを三次元位置記録部２０に出力し記録する。このように、エラーマーカペアを構成する各マーカに関して複数のマーカ間距離情報を利用することで、計測エラーマーカを特定することができ、その結果、他方の発光マーカに関する有効な計測データを最大限利用することが可能となり、安定したマーカ位置計測が可能となる。フローはその後ステップＳ７１６に進む。
【００３８】
ステップＳ７１６では、インデックスｒをインクリメントする。ステップＳ７１８で、インデックスｒが２より小さければ、ステップＳ７１３に戻り、残りの発光マーカ４ｂに関し、ステップＳ７１３〜Ｓ７１７のプロセスを繰り返す。ステップＳ７１８でｒが２に等しくなると、ステップＳ７１０に戻る。
【００３９】
本実施形態では、発光マーカは４つ以上でもよい。この場合、エラーマーカペアが発光マーカ４ａ，４ｂとすると、ステップＳ７１３，Ｓ７１４で、発光マーカ４ａ，４ｂのいずれか一方、例えば発光マーカ４ａについて、計測エラーマーカ判定部３２ａは、発光マーカ４ａと、発光マーカ４ｂ以外の全ての発光マーカ（例えば、発光マーカを５つ用いる場合、３つ）とについて、距離差｜Ｄ１−Ｄ０｜が予め設定した閾値より小さいか否かを確認する。このとき、計測エラーマーカ判定部３２ａは、発光マーカ４ａに関してステップＳ７０５で求めた第１の空間座標が適正なものと判断する基準は、距離差が閾値より小さいものが一つでもある場合としてもよいし、全ての距離差が閾値より小さい場合にのみとしてもよいし、その中間でもよい。
【００４０】
実施の形態３．
図９，１０は、本発明に係る三次元位置計測システムの実施の形態３を示す概略構成図である。本実施形態に係る計測システム２ｂは、時系列的画像データを取得した後で位置計測を行うのではなく、各計測時刻の画像データを取得すると同時に位置計測を行うものである。また、三次元位置算出部１８ｂの計測エラーマーカ判定部３２ｂが計測エラーと判断した場合に、計測エラーマーカペアに対し再度ステレオ視法による計測を行った上で、三次元位置出力部３４に三次元位置を記録するようになっている。
【００４１】
具体的には、本実施形態に係る計測システム２ｂによる三次元計測処理のフローチャートである図１１，１２を参照して、まず、ステップＳ１１０１で、制御部１０は発光制御部１４を制御してＬＥＤ４ａ，４ｂを発光させる。ステップＳ１１０３で、インデックスｎを０に設定する。ステップＳ１１０３で、第１および第２のカメラ６Ａ，６Ｂによる計測対象の撮像を行い、最初の計測時刻の画像フレームが画像メモリ１２に記憶される。ステップＳ１１０４で、最初の計測時刻の画像フレームに関して、三次元位置算出部１８のローカル位置算出部２２は、各画像フレーム上の発光マーカ４ａ，４ｂの平面座標を算出する。ステップＳ１１０５で、ステレオ視演算部２４は、各発光マーカ４ａ，４ｂの平面座標からステレオ視の原理により第１の空間座標を算出する。ステップＳ１１０６で、マーカ間距離算出部２６は、発光マーカ４ａ，４ｂ間の距離Ｄ１を算出する。ステップＳ１１０７で、計測エラー判定部２８は、この距離Ｄ１と、発光マーカ４ａ，４ｂの実際の距離Ｄ０との差を算出する。
【００４２】
ステップＳ１１０８で、差の絶対値｜Ｄ１−Ｄ０｜が予め決められた閾値より小さければ、ステップＳ１１０９に進み、計測エラー判定部２８は、ステップＳ１１０５で算出した各発光マーカ４ａ，４ｂの第１の空間座標は適正と判断し、三次元位置出力部３４に適正信号を出力する。三次元位置出力部３４は、この第１の空間座標のデータを三次元位置記録部２０に出力し記録する。その後、フローはステップＳ１１１０に進む。
【００４３】
ステップＳ１１１０で、インデックスｎをインクリメントする。ステップＳ１１１１で、インデックスｎがＮより小さければ、フローはステップＳ１１０３に戻り、次の計測時刻の画像フレームに関し、ステップＳ１１０４〜Ｓ１１１０のプロセスを行う。ステップＳ１１１１でｎがＮに等しくなれば（すなわち、Ｎ枚分の画像フレームに関し、発光マーカ３ａ，３ｂの三次元位置の計測を終了する。）、フローを終了する。
【００４４】
ステップＳ１１０８で、絶対値｜Ｄ１−Ｄ０｜が予め決められた閾値以上であれば、フローはステップＳ１１１２に進む。ステップＳ１１１２以下のフローでは、各発光マーカ４ａ，４ｂの三次元位置を再計測する。具体的に、ステップＳ１１１２でインデックスｒを０に設定する。ステップＳ１１１３で、発光制御部１４を制御して、発光マーカ４ａ，４ｂのいずれか一方、例えば発光マーカ４ａをＶＤ信号に同期させて１周期分発光させる。このとき、発光マーカ４ｂは発光させない。
【００４５】
ステップＳ１１１４で、第１および第２のカメラ６Ａ，６Ｂからそれぞれ画像フレームを取得して画像メモリ１２に記憶させる。ステップＳ１１１５で、第１および第２のカメラ６Ａ，６Ｂで撮像した画像フレームに関して、三次元位置算出部１８のローカル位置算出部２２は、各画像フレーム上の発光マーカ４ａの平面座標を算出する。ステップＳ１１１６で、ステレオ視演算部２４は、発光マーカ４ａの平面座標からステレオ視法により第１の空間座標を再度算出する。その後、フローはステップＳ１１１７に進む。
【００４６】
ステップＳ１１１７では、インデックスｒをインクリメントする。ステップＳ１１１８で、インデックスｒが２より小さければ、ステップＳ１１１３に戻り、残りの発光マーカ４ｂに関し、ステップＳ１１１３〜Ｓ１１１７のプロセスを繰り返して、発光マーカ４ｂの第１の空間座標を再度算出する。ステップＳ１１１８でｒが２に等しくなると、フローはステップＳ１１１９に進む。
【００４７】
ステップＳ１１１９で、マーカ間距離算出部２６は、ステップＳ１１１６で再度算出した第１の空間座標から、発光マーカ４ａ，４ｂ間の距離Ｄ１’を算出する。ステップＳ１１２０で、計測エラー判定部２８は、この距離Ｄ１’と、発光マーカ４ａ，４ｂの実際の距離Ｄ０との差を算出する。
【００４８】
ステップＳ１１２１で、差の絶対値｜Ｄ１’−Ｄ０｜が予め決められた閾値より小さければ、ステップＳ１１２２に進み、計測エラー判定部２８は、ステップＳ１１１６で再度算出した各発光マーカ４ａ，４ｂの第１の空間座標は適正と判断し、三次元位置出力部３４に適正信号を出力する。三次元位置出力部３４は、この第１の空間座標のデータを三次元位置記録部２０に出力し記録する。その後、フローはステップＳ１１１０に戻る。
【００４９】
ステップＳ１１２１で、絶対値｜Ｄ１’−Ｄ０｜が予め設定された閾値以上であれば、ステップＳ１１２３に進み、計測エラーマーカ判定部３２は、発光マーカ４ａに関してステップＳ１１１６で求めた第１の空間座標に関しても不適正なものと判断し、三次元位置出力部３４にエラー信号を出力する。そして、三次元位置出力部３４は、（計測時刻の画像フレームの）直前の画像フレームに基づいて求めた第２の空間座標のデータを三次元位置記録部２０に出力し記録する。その後、フローはステップＳ１１１０に戻る。
【００５０】
このように、計測マーカ距離と実際のマーカ間距離とが整合しない場合に、各ＬＥＤ４ａ，４ｂをＶＤ信号に同期させて順次発光させた上で、各発光マーカ４ａ，４ｂの三次元位置を再計測しているので、一方の発光マーカの発光による生じる反射光などにより他方の発光マーカの位置の計測エラーが生じることがなく、また、マーカの識別エラーの影響を減らすことができるので、高精度の位置計測を行うことができる。
【００５１】
なお、本実施形態では、エラーマーカペアを構成する両発光マーカ４ａ，４ｂに対しそれぞれ同期発光処理を行ったが、特定の発光マーカのみ、例えば、以前に計測エラーを引き起こした発光マーカのみ、同期発光処理を行うようにしてもよい。
【００５２】
実施の形態４．
図１３，１４は、本発明に係る三次元位置計測システムの実施の形態４を示す概略構成図である。本実施形態に係る計測システム２ｃの三次元位置算出部１８ｃは、実施の形態１の三次元位置算出部１８のマーカ移動距離算出部３０の代わりに、発光面積算出部３６、マーカ・カメラ間距離算出部３８および発光面積演算部４０を備えている。発光面積算出部３６は、画像内の発光マーカの発光面積を算出するものである。マーカ・カメラ間距離算出部３８は、カメラ／マーカ情報管理部１６に記憶された、予め設定された発光面積と距離との関係情報から、発光面積算出部３６で算出した発光面積に基づいて、発光マーカ４とカメラ６の撮像面との距離を算出するものである。発光面積演算部４０は、マーカ・カメラ間距離算出部３８で算出した距離と、カメラ／マーカ情報管理部１６に記憶された一つのカメラ６の位置・姿勢等の情報とに基づいて、発光マーカ４の三次元位置（第３の空間座標）を算出するものである。
【００５３】
次に、図１５〜１７のフローチャートを用いて、本実施形態に係る計測システム２ｃによる三次元計測処理を説明する。但し、ステップＳ１５０１〜Ｓ１５１１については、図３のステップＳ３０１〜Ｓ３１１と同一であり、特に必要でない限り説明を省略する。
【００５４】
ステップＳ１５０８で、ステップＳ１５０５で算出した第１の空間座標から求めた発光マーカ４ａ，４ｂの距離Ｄ１と、基準距離Ｄ０との差の絶対値｜Ｄ１−Ｄ０｜が予め決められた閾値以上であれば、フローはステップＳ１５１２に進む。
【００５５】
ステップＳ１５１２で、インデックスｑを０に設定する。ｑはカメラ６の数に対応する。ステップＳ１５１３で、発光面積算出部３６は、各発光マーカ４ａ，４ｂに関し、一方のカメラ、例えば第１のカメラ６Ａで撮像した画像フレームでのマーカ発光面積を算出する。ステップＳ１５１４で、マーカ・カメラ間距離算出部３８は、ステップＳ１５１３で算出したマーカ発光面積に基づいて、各発光マーカ４ａ，４ｂとＣＣＤカメラ６Ａの撮像面との距離を算出する。ステップＳ１５１５で、発光面積演算部４０は、ステップＳ１５１４で算出した距離と、ステップＳ１５０４で算出したカメラ６Ａで画像フレーム内の発光マーカ４ａ，４ｂの平面座標と、カメラ／マーカ情報管理部１６に記憶されたカメラ位置・姿勢等の情報とに基づいて、第１のカメラ６Ａで撮像した画像フレームに基づく発光マーカ４ａ，４ｂの第３の空間座標を算出する。その後、フローはステップＳ１５１６に進む。
【００５６】
ステップＳ１５１６で、インデックスｑをインクリメントする。ステップＳ１５１７で、インデックスｑが２より小さければ、ステップＳ１５１３に戻り、残りの第２のカメラ６Ｂに関し、ステップＳ１５１３〜Ｓ１５１６のプロセスを繰り返して、第２のカメラ６Ｂで撮像した画像フレームに基づく発光マーカ４ａ，４ｂの第３の空間座標を算出する。ステップＳ１５１７でｑが２に等しくなると、ステップＳ１５１８に進み、第１のカメラ６Ａに対応する発光マーカ４ａ，４ｂ間の距離と、第２のカメラ６Ｂに対応する発光マーカ４ａ，４ｂ間の距離とを算出する。ステップＳ１５１９で、ステップＳ１５２０で算出した各距離Ｄ３と、実際のマーカ間距離Ｄ０との差を算出する。
【００５７】
ステップＳ１５２０では、差の絶対値｜Ｄ３−Ｄ０｜が予め設定された閾値より小さくなるカメラ６が存在するか否かを確認する。このようなカメラ６が存在すれば、フローはステップＳ１５２１に進む。そして、ステップＳ１５２１以下のフローでは、計測エラーを引き起こした発光マーカを特定し該発光マーカに関しては発光面積を利用して算出した第３の空間座標を三次元位置記録部２０に出力し記録する。
【００５８】
より詳しくは、ステップＳ１５２１でインデックスｒを０に設定する。ステップＳ１５２２で、一方の発光マーカ、例えば発光マーカ４ａに関し、ステップＳ１５０５で算出したステレオ視の原理による第１の空間座標と、ステップＳ１５１５で算出した発光面積を利用した第３の空間座標とのずれを算出する。
【００５９】
ステップＳ１５２３で、上記ずれが予め設定された閾値より小さければ、ステップＳ１５２４に進み、計測エラー判定部２８は、発光マーカ４ａに関してステップＳ１５０４で求めた第１の空間座標は適正と判断し（通常、第１の空間座標は、第３の空間座標より高精度に求まる。）、三次元位置出力部３４に適正信号を出力する。三次元位置出力部３４は、この第１の空間座標のデータを三次元位置記録部２０に出力し記録する。その後、フローはステップＳ１５２５に進む。
【００６０】
ステップＳ１５２３で、上記ずれが予め設定された閾値以上であれば、ステップＳ１５２６に進み、計測エラー判定部２８は、発光マーカ４ａに関してステップＳ１５０４で求めた第１の空間座標は不適正と判断し、三次元位置出力部３４に所定の信号を出力する。三次元位置出力部３４は、（第１の空間座標の代わり）に第３の空間座標を三次元位置記録部２０に出力し記録する。その後、フローはステップＳ１５２５に進む。
【００６１】
ステップＳ１５２５で、インデックスｒはインクリメントされる。ステップＳ１５２７で、インデックスｒが２より小さければ、ステップＳ１５２２に戻り、残りの発光マーカ４ｂに関し、ステップＳ１５２２〜Ｓ１５２６のプロセスを繰り返して、第１または第３の空間座標を三次元位置記録部２０に記録する。
【００６２】
ステップＳ１５２０で、絶対値｜Ｄ３−Ｄ０｜が予め設定された閾値より小さくなるカメラ６が存在しなければ、ステップＳ１５２８に進み、計測エラーマーカ判定部３２は、（ステップＳ１５０５で算出した第１の空間座標のみならず）発光面積を利用してステップＳ１５１５で算出した第３の空間座標も不適当と判断し、三次元位置出力部３４にエラー信号を出力する。そして、三次元位置出力部３４は、直前の画像フレームに基づいて求めた発光マーカ４ａ，４ｂに関する第２の空間座標のデータを三次元位置記録部２０に出力し記録する。その後、フローはステップＳ１５１０に戻る。
【００６３】
このように、本実施形態では、マーカ発光面積を利用して算出した三次元位置情報を利用して計測エラーマーカを特定することにより、他方の発光マーカに関する有効な計測データを最大限利用することが可能となり、連続的なマーカ位置計測が可能となる。
【００６４】
実施の形態５．
本実施形態に係る三次元位置計測システム（図示省略）は、上記実施の形態１〜４に係る計測システムとは異なり、一つまたはそれ以上の計測用の発光マーカ（例えば、実施の形態１の発光マーカ４ａ，４ｂに相当）以外に、計測用発光マーカと一定距離にある、光環境の変化やオクルージョンなどの影響を受けない一つまたはそれ以上の基準用発光マーカ（図示せず）を計測対象（例えば人）に装着させる。この場合、基準用発光マーカと計測用発光マーカとの距離を算出することで、計測エラーが生じれば（計測エラーマーカの判定を行うことなく）直ちにエラーマーカを特定できる。
【００６５】
以上、本発明の具体的な実施形態について説明したが、本発明はこれらに限らず種々改変可能である。例えば、上記実施形態では、計測エラーを引き起こした発光マーカについては、直前の画像フレームを利用して求めた第２の空間座標のデータを三次元位置記録部２０に記録したが、代わりに、動画像カメラをさらに別に用意して発光マーカを撮像しておき、当該動画像カメラで撮像した画像フレームと、該画像フレームと別の動画像カメラで撮像した画像フレームとを利用して、ステレオ視の原理により計測エラーマーカの三次元位置を算出するようにしてもよい。
【００６６】
【発明の効果】
本発明によれば、計測エラーが発生した場合に、該エラーを引き起こした発光マーカを特定することで、計測エラー発生時に計測した他の発光マーカの位置情報を有効に利用できる。
【図面の簡単な説明】
【図１】本発明に係る三次元位置計測システムの実施の形態１を示す概略構成図。
【図２】図１の三次元位置算出部を示すブロック図。
【図３】図１の三次元位置計測システムによる計測プロセスの第１の部分を示すフローチャート。
【図４】図１の三次元位置計測システムによる計測プロセスの第２の部分を示すフローチャート。
【図５】本発明に係る三次元位置計測システムの実施の形態２を示す概略構成図。
【図６】図５の三次元位置算出部を示すブロック図。
【図７】図５の三次元位置計測システムによる計測プロセスの第１の部分を示すフローチャート。
【図８】図５の三次元位置計測システムによる計測プロセスの第２の部分を示すフローチャート。
【図９】本発明に係る三次元位置計測システムの実施の形態３を示す概略構成図。
【図１０】図９の三次元位置算出部を示すブロック図。
【図１１】図９の三次元位置計測システムによる計測プロセスの第１の部分を示すフローチャート。
【図１２】図９の三次元位置計測システムによる計測プロセスの第２の部分を示すフローチャート。
【図１３】本発明に係る三次元位置計測システムの実施の形態４を示す概略構成図。
【図１４】図１３の三次元位置算出部を示すブロック図。
【図１５】図１３の三次元位置計測システムによる計測プロセスの第１の部分を示すフローチャート。
【図１６】図１３の三次元位置計測システムによる計測プロセスの第２の部分を示すフローチャート。
【図１７】図１３の三次元位置計測システムによる計測プロセスの第３の部分を示すフローチャート。
【符号の説明】
２：三次元計測システム
４ａ，４ｂ：発光マーカ
６Ａ，６Ｂ：動画像カメラ
８：計測装置
【図１】
2004361222.tif 000003
【図２】
2004361222.tif 000004
【図３】
2004361222.tif 000005
【図４】
2004361222.tif 000006
【図５】
2004361222.tif 000007
【図６】
2004361222.tif 000008
【図７】
2004361222.tif 000009
【図８】
2004361222.tif 000010
【図９】
2004361222.tif 000011
【図１０】
2004361222.tif 000012
【図１１】
2004361222.tif 000013
【図１２】
2004361222.tif 000014
【図１３】
2004361222.tif 000015
【図１４】
2004361222.tif 000016
【図１５】
2004361222.tif 000017
【図１６】
2004361222.tif 000018
【図１７】
2004361222.tif 000019