(57)【要約】【課題】安価な撮像システムを提供する。【解決手段】撮像システムは、所定の画角の第１撮像領域を有し、距離画像を取得する撮像部と、撮像部を保持し、第１撮像領域の指向方向を変えるように撮像部を複数の位置にステップ的に回転移動させるステージと、距離画像に基づき、第１撮像領域内における利用者の位置を検出する第１検出部と、位置検出部によって検出される位置の履歴に基づき、ステージの回転方向における利用者の位置の時間的変化度合を検出する第２検出部と、ステージの回転方向において画角よりも狭い角度の第２撮像領域内に利用者が存在するかどうかを判定する判定部と、判定部によって第２撮像領域内に利用者が存在しないと判定されると、利用者の移動方向にステージを回転移動させる回転制御部と、時間的変化度合が大きいほど第２撮像領域の角度を狭くし、時間的変化度合が小さいほど第２撮像領域の角度を広くする角度制御部とを含む。【選択図】図１
2018064209.tif 000002
【特許請求の範囲】
【請求項１】
所定の画角の第１撮像領域を有し、距離画像を取得する撮像部と、
前記撮像部を保持し、前記第１撮像領域の指向方向を変えるように前記撮像部を複数の位置にステップ的に回転移動させるステージと、
前記距離画像に基づき、前記第１撮像領域内における利用者の位置を検出する第１検出部と、
前記第１検出部によって検出される位置の履歴に基づき、前記ステージの回転方向における前記利用者の位置の時間的変化度合を検出する第２検出部と、
前記ステージの回転方向において前記画角よりも狭い角度の第２撮像領域内に前記利用者が存在するかどうかを判定する判定部と、
前記判定部によって前記第２撮像領域内に前記利用者が存在しないと判定されると、前記利用者の移動方向に前記ステージを回転移動する回転制御部と、
前記時間的変化度合が大きいほど前記第２撮像領域の角度を狭くし、前記時間的変化度合が小さいほど前記第２撮像領域の角度を広くする、角度制御部と
を含む、撮像システム。
【請求項２】
前記角度制御部は、前記時間的変化度合の逆数に応じた前記角度を求めることにより、前記時間的変化度合が大きいほど前記第２撮像領域の角度を狭くし、前記時間的変化度合が小さいほど前記第２撮像領域の角度を広くする、請求項１記載の撮像システム。
【請求項３】
前記時間的変化度合が大きいほど前記ステージの回転速度を高く設定する速度設定部をさらに含み、
前記回転制御部は、前記速度設定部によって設定された回転速度で前記ステージを回転移動する、請求項１又は２記載の撮像システム。
【請求項４】
前記ステージは、前記撮像部を３つの位置にステップ的に回転移動させるステージであり、前記３つの位置は、前記撮像部の指向方向の正面、左、及び右の位置である、請求項１乃至３のいずれか一項記載の撮像システム。
【請求項５】
前記第１検出部は、前記距離画像に含まれる、前記利用者の体の腰よりも下の部分の位置に基づいて、前記利用者の位置を検出する、請求項１乃至４のいずれか一項記載の撮像システム。
【請求項６】
利用者によって位置が操作されるポインタを表示する表示部と、
前記利用者が前記ポインタの位置を指示する指示動作を検出する動作検出部と、
前記動作検出部によって検出される前記指示動作に基づき、前記表示部の座標系におけるポインタの位置を検出する座標検出部と、
前記表示部の前に配置される所定の画角の第１撮像領域を有し、距離画像を取得する撮像部と、
前記撮像部を保持し、前記第１撮像領域の指向方向を変えるように前記撮像部を複数の位置にステップ的に回転移動させるステージと、
前記距離画像に基づき、前記第１撮像領域内における利用者の位置を検出する第１検出部と、
前記第１検出部によって検出される位置の履歴に基づき、前記ステージの回転方向における前記利用者の位置の時間的変化度合を検出する第２検出部と、
前記ステージの回転方向において前記画角よりも狭い角度の第２撮像領域内に前記利用者が存在するかどうかを判定する判定部と、
前記判定部によって前記第２撮像領域内に前記利用者が存在しないと判定されると、前記利用者の移動方向に前記ステージを回転移動させる回転制御部と、
前記時間的変化度合が大きいほど前記第２撮像領域の角度を狭くし、前記時間的変化度合が小さいほど前記第２撮像領域の角度を広くする、角度制御部と
を含む、シミュレーションシステム。
【請求項７】
前記ポインタの画像を表すデータをクラウド上で保持するクラウドデータ保持部から、前記前記ポインタの画像を表すデータを取得する通信部と、
前記通信部によって取得されたデータを保持するデータ保持部と、
をさらに含み、
前記表示部は、前記データ保持部された前記データに基づいて、前記ポインタを表示する、請求項６記載のシミュレーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像システム、及び、シミュレーションシステムに関する。
【背景技術】
【０００２】
従来より、カメラの撮影方向を移動させて移動物体を自動追尾する自動追尾装置において、カメラで撮影された画像から移動物体の画像を抽出する移動物体画像抽出手段を備えたことを特徴とする自動追尾装置がある。
【０００３】
前記移動物体画像抽出手段によって抽出された移動物体の画像に基づいて移動物体の移動速度が遅い速度か又は該速度よりも速い速度かを判定する速度判定手段と、前記速度判定手段によって前記移動物体の移動速度が前記遅い速度と判定された場合において、前記移動物体の画像が前記カメラの撮影画面上に設定された所定の不感帯の範囲内にあるか否かを判定する範囲判定手段とをさらに備えたことを特徴とする。
【０００４】
前記速度判定手段によって前記移動物体の移動速度が前記速い速度と判定された場合、又は、前記範囲判定手段によって前記移動物体の画像が前記不感帯の範囲内にないと判定された場合には、前記移動物体画像抽出手段によって抽出された移動物体の画像に基づいて、前記移動物体が前記カメラの撮影範囲から外れないように前記カメラの撮影方向を移動させ、前記速度判定手段によって前記移動物体の移動速度が前記遅い速度と判定され、かつ、前記範囲判定手段によって前記移動物体の画像が前記不感帯の範囲内にあると判定された場合には、前記カメラの撮影方向の移動を停止させる撮影方向制御手段をさらに備えたことを特徴とする（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−１７１４３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、従来の自動追尾装置は、移動する物体を自動的に追尾する際に、物体が移動している間は、カメラも移動することになる。このような装置は、非常に高価である。
【０００７】
そこで、安価で精度の高い撮像システム、及び、安価で精度の高い撮像システムを含むシミュレーションシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の実施の形態の撮像システムは、所定の画角の第１撮像領域を有し、距離画像を取得する撮像部と、前記撮像部を保持し、前記第１撮像領域の指向方向を変えるように前記撮像部を複数の位置にステップ的に回転移動させるステージと、前記距離画像に基づき、前記第１撮像領域内における利用者の位置を検出する第１検出部と、前記位置検出部によって検出される位置の履歴に基づき、前記ステージの回転方向における前記利用者の位置の時間的変化度合を検出する第２検出部と、前記ステージの回転方向において前記画角よりも狭い角度の第２撮像領域内に前記利用者が存在するかどうかを判定する判定部と、前記判定部によって前記第２撮像領域内に前記利用者が存在しないと判定されると、前記利用者の移動方向に前記ステージを回転移動させる回転制御部と、前記時間的変化度合が大きいほど前記第２撮像領域の角度を狭くし、前記時間的変化度合が小さいほど前記第２撮像領域の角度を広くする、角度制御部とを含む。
【発明の効果】
【０００９】
安価で精度の高い撮像システム、及び、安価で精度の高い撮像システムを含むシミュレーションシステムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１のシミュレーションシステムを示す図である。
【図２】シミュレーションシステムの処理装置の構成を示す図である。
【図３】計測範囲と検出範囲を平面視で示す図である。
【図４】計測範囲、検出範囲、及びステージの回転位置を平面視で示す図である。
【図５】実施の形態１の処理装置が適用されるコンピュータシステムの斜視図である。
【図６】コンピュータシステムの本体部内の要部の構成を説明するブロック図である。
【図７】形状データを示す図である。
【図８】物品の画像の一例を示す図である。
【図９】実施の形態１の処理装置が実行する処理を示すフローチャートである。
【図１０】利用者の位置を表す角度θ１の履歴の一例を示す図である。
【図１１】条件１と条件２の動作条件を示す図である。
【図１２】条件１（実施の形態１）の動作を説明する図である。
【図１３】条件２（比較例）の動作を説明する図である。
【図１４】条件１（実施の形態１）の動作を説明する図である。
【図１５】条件３（比較例）の動作を説明する図である。
【図１６】実施の形態２のシミュレーションシステムの処理装置の構成を示す図である。
【図１７】実施の形態２の処理装置が実行する処理を示すフローチャートである。
【図１８】実施の形態３のシミュレーションシステムの処理装置の構成を示す図である。
【図１９】実施の形態３の処理装置が実行する処理を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の撮像システム、及び、シミュレーションシステムを適用した実施の形態について説明する。
【００１２】
＜実施の形態１＞
図１は、実施の形態１のシミュレーションシステム１００を示す図である。図２は、シミュレーションシステム１００の処理装置１２０の構成を示す図である。
【００１３】
シミュレーションシステム１００は、スクリーン１１０Ａ、投影装置１１０Ｂ、３Ｄ(3  Dimension)眼鏡１１０Ｃ、処理装置１２０、位置計測装置１４０、及びステージ１５０を含む。図１では、スクリーン１１０Ａと平行な水平方向にＸ軸、鉛直方向にＹ軸、スクリーン１１０Ａと垂直な水平方向にＺ軸を定義する。
【００１４】
実施の形態１のシミュレーションシステム１００は、例えば、組み立て作業性を仮想空間において把握するため組立支援システムに適用することができる。組立支援システムでは、例えば、ＣＰＵ(Central  Processing  Unit：中央演算処理装置)モジュール、メモリモジュール、通信モジュール、又はコネクタ等の電子部品をマザーボード等に組み付ける作業を仮想空間で模擬的に行うことができる。
【００１５】
しかしながら、実施の形態１のシミュレーションシステム１００は、組立支援システムに限らず、三次元空間での作業性を確認する様々なシステムに適用することができる。
【００１６】
スクリーン１１０Ａは、例えば、プロジェクタ用スクリーンを用いることができる。スクリーン１１０Ａのサイズは、用途に応じて適宜設定すればよい。スクリーン１１０Ａには、投影装置１１０Ｂによって投影される画像が表示される。ここでは、物品１１１、ボタン１１１Ａ、１１１Ｂ、及びポインタ１３０Ａの画像がスクリーン１１０Ａに表示されていることとする。
【００１７】
シミュレーションシステム１００では、一例として、利用者１がスクリーン１１０Ａに向けた手が指す方向にポインタ１３０Ａが表示される。利用者１は、右手の指先を開いた状態にしても、握った状態にしてもよい。利用者１が右腕を動かして手で指す方向において、スクリーン１１０Ａ上にポインタ１３０Ａが表示される。利用者１がポインタ１３０Ａを移動させるために右腕で指示する動作を指示動作と称す。
【００１８】
投影装置１１０Ｂは、スクリーン１１０Ａに画像を投影できる装置であればよく、例えば、プロジェクタを用いることができる。投影装置１１０Ｂは、ケーブル１１０Ｂ１によって処理装置１２０に接続されており、処理装置１２０から入力される画像をスクリーン１１０Ａに投影する。ここでは、投影装置１１０Ｂは、３Ｄ画像（立体視の画像）をスクリーン１１０Ａに投影できるタイプのものである。
【００１９】
なお、スクリーン１１０Ａと投影装置１１０Ｂは、表示部の一例である。
【００２０】
３Ｄ眼鏡１１０Ｃは、シミュレーションシステム１００を利用する利用者１が装着する。３Ｄ眼鏡１１０Ｃは、投影装置１１０Ｂによってスクリーン１１０Ａに投影される画像を３Ｄ画像に変換できる眼鏡であればよく、例えば、入射光を偏光する偏光眼鏡、又は、液晶シャッターを有する液晶シャッター眼鏡を用いることができる。
【００２１】
なお、スクリーン１１０Ａ及び投影装置１１０Ｂの代わりに、例えば、液晶ディスプレイパネルを用いてもよい。また、３Ｄ眼鏡１１０Ｃが不要な場合は、３Ｄ眼鏡１１０Ｃを用いなくてもよい。また、スクリーン１１０Ａ及び投影装置１１０Ｂの代わりに、３Ｄ画像を見ることができるヘッドマウントディスプレイを用いてもよい。
【００２２】
処理装置１２０は、人体検出部１２１、位置検出部１２２、動作検出部１２３、速度検出部１２４、判定部１２５、回転制御部１２６、角度制御部１２７、データ保持部１２８Ａ、履歴保持部１２８Ｂ、及び映像出力部１２９を有する。処理装置１２０は、例えば、メモリを有するコンピュータによって実現される。
【００２３】
また、位置計測装置１４０、ステージ１５０、人体検出部１２１、速度検出部１２４、判定部１２５、回転制御部１２６、及び角度制御部１２７は、撮像システムを構築する。
【００２４】
人体検出部１２１は、位置計測装置１４０から入力される利用者１の体の位置及び形状等を三次元的に表すデータに基づいて、利用者１の体が存在するかどうかを判定し、存在する場合には、利用者１の体の各部の位置を表す座標を求める。利用者１の体の各部の位置は、一例として、利用者１の骨格の位置によって表される。骨格の位置には、例えば、頭部、肩、肘、手首、手、及び下半身（腰よりも下の部位）の位置が含まれる。なお、人体検出部１２１は、第１検出部の一例である。
【００２５】
位置検出部１２２は、人体検出部１２１から入力される利用者１の体の各部の位置を表す座標に基づいて、ポインタ１３０Ａの座標Ｐ（Ｐｘ，Ｐｙ，Ｐｚ）を求める。位置検出部１２２は、座標検出部の一例である。
【００２６】
位置検出部１２２は、人体検出部１２１から入力される利用者１の体の各部の位置を表す座標に基づいて、利用者１の右肩と右手首とを結ぶ直線を求め、直線とスクリーン１１０Ａとの交点の座標を求める。
【００２７】
位置検出部１２２は、直線とスクリーン１１０Ａとの交点の座標値をスクリーン１１０Ａに投影される画像の中の座標に変換し、座標Ｐ（Ｐｘ，Ｐｙ，Ｐｚ）として出力する。なお、座標Ｐ（Ｐｘ，Ｐｙ，Ｐｚ）は、位置計測装置１４０が検出するようにしてもよい。
【００２８】
ここで、スクリーン１１０Ａと平行な水平方向にＸ軸、鉛直方向にＹ軸、スクリーン１１０Ａと垂直な水平方向にＺ軸を定義する。利用者１の右肩の座標をＳ（Ｓｘ，Ｓｙ，Ｓｚ）、右手首の座標をＨ（Ｈｘ，Ｈｙ，Ｈｚ）とすると、右肩と右手首とを結ぶ方向のベクトルＳＨは以下の式（１）で表される。ベクトルＳＨは、利用者１が右手でポインタ１３０Ａの位置を指示する方向を表す。
【００２９】
【数１】
2018064209.tif 000003
【００３０】
ベクトルＳＨの大きさは、右肩の座標Ｓ（Ｓｘ，Ｓｙ，Ｓｚ）と、右手首の座標Ｈ（Ｈｘ，Ｈｙ，Ｈｚ）とを用いると、次式（２）で表される。
【００３１】
【数２】
2018064209.tif 000004
【００３２】
利用者１がスクリーン１１０ＡからＺ軸方向にオフセットしている量（オフセット量）をΔＬとして、次式（３）で表される座標Ｐ１（Ｐ１ｘ，Ｐ１ｙ，Ｐ１ｚ）を求める。
【００３３】
【数３】
2018064209.tif 000005
【００３４】
座標Ｐ１（Ｐ１ｘ，Ｐ１ｙ，Ｐ１ｚ）は、式（１）、（２）、（３）によって求まる座標であり、利用者１の右肩と右手首とを結ぶ直線とスクリーン１１０Ａとの交点の座標である。この交点の座標は、現実の空間における座標である。
【００３５】
位置検出部１２２は、交点の座標Ｐ１（Ｐ１ｘ，Ｐ１ｙ，Ｐ１ｚ）をスクリーン１１０Ａに投影される画像の中の座標に変換し、座標Ｐ（Ｐｘ，Ｐｙ，Ｐｚ）として出力する。座標Ｐ（Ｐｘ，Ｐｙ，Ｐｚ）は、交点の座標Ｐ１（Ｐ１ｘ，Ｐ１ｙ，Ｐ１ｚ）をスクリーン１１０Ａに投影される画像の中の座標に変換した座標である。
【００３６】
以上のようにして、位置検出部１２２は、現実空間における交点の座標Ｐ１（Ｐ１ｘ，Ｐ１ｙ，Ｐ１ｚ）を仮想空間における座標系の値に変換した座標Ｐ（Ｐｘ，Ｐｙ，Ｐｚ）を求める。
【００３７】
動作検出部１２３は、人体検出部１２１から入力される利用者１の体の各部の位置を表す座標に基づいて、利用者１の動作を検出する。利用者１の動作とは、利用者１が行うゼスチャー等の動作であり、ここでは、一例として、ボタン１１１Ａ又は１１１Ｂへの入力を決定する動作、ボタン１１１Ａ又は１１１Ｂへの入力をキャンセルする動作、物品１１１を選択する動作、物品１１１の選択をキャンセルする動作がある。
【００３８】
ボタン１１１Ａ及び１１１Ｂへの入力を決定する動作は、それぞれ、ボタン１１１Ａ及び１１１Ｂをタップする動作である。タップとは、右手２Ｒで行う場合には、利用者１が右腕をくの字に曲げて右手２Ｒを胸の手前に置いた状態から、右腕を伸ばして右手２Ｒを突き出す動作である。
【００３９】
また、ボタン１１１Ａへの入力をキャンセルする動作は、ボタン１１１Ａをなぞりながら腕を横に払う動作である。ここでは、利用者１は右手２Ｒを利用して操作するため、より具体的には、ボタン１１１Ａへの入力をキャンセルする動作は、ポインタ１３０Ａがボタン１１１Ａに触れた状態で、ポインタ１３０Ａを横方向に移動させる動作である。ボタン１１１Ｂへの入力をキャンセルする動作も同様である。
【００４０】
また、物品１１１を選択する動作は、物品１１１をタップする動作である。物品１１１の選択をキャンセルする動作は、物品１１１を選択した状態で、腕を横に払う動作である。
【００４１】
ポインタ１３０Ａは、利用者の指示動作に従って移動し、スクリーン１１０Ａに表示される物品１１１又はボタン１１１Ａあるいは１１１Ｂとの接触の判定に用いられる。
【００４２】
ポインタ１３０Ａと、物品１１１又はボタン１１１Ａあるいは１１１Ｂとが接触しているかどうかは、座標Ｐ（Ｐｘ，Ｐｙ，Ｐｚ）を中心とし、所定の半径を有するポインタ１３０Ａの内部に、物品１１１又はボタン１１１Ａあるいは１１１Ｂの表示領域の少なくとも一部が含まれるかどうかで判定すればよい。ポインタ１３０Ａの内部は、ポインタ１３０Ａの表面を含む。
【００４３】
ポインタ１３０Ａの内部に、物品１１１又はボタン１１１Ａあるいは１１１Ｂの表示領域の少なくとも一部が含まれるかどうかは、ポインタ１３０Ａと、物品１１１又はボタン１１１Ａあるいは１１１Ｂの表示領域とが、交点を有するかどうかで判定すればよい。
【００４４】
ポインタ１３０Ａの内部に物品１１１又はボタン１１１Ａあるいは１１１Ｂの表示領域の少なくとも一部が含まれる場合には、ポインタ１３０Ａの表面（境界）上に、物品１１１又はボタン１１１Ａあるいは１１１Ｂの表示領域が位置する場合も含まれるものとする。
【００４５】
なお、実施の形態１では、ポインタ１３０Ａと、物品１１１又はボタン１１１Ａあるいは１１１Ｂとが接触しているかどうかについては、詳しく説明しないが、例えば、ポインタ１３０Ａと、物品１１１又はボタン１１１Ａあるいは１１１Ｂとが接触している場合に、ポインタ１３０Ａの色を変えることにより、接触していることを利用者１に伝達すればよい。
【００４６】
速度検出部１２４は、履歴保持部１２８Ｂが保持する位置の履歴に基づき、ステージ１５０の回転方向における利用者の移動速度を検出する。速度検出部１２４は、第２検出部の一例であり、利用者の移動速度は、利用者の位置の時間的変化度合の一例である。ここでは、一例として、利用者の位置をカメラ１４０Ａの画角の中心軸に対する水平方向の角度で表し、利用者の移動速度を角速度で表す。
【００４７】
速度検出部１２４は、履歴保持部１２８Ｂが保持するフレーム毎の利用者の人体の位置から、フレーム間における人体の位置の移動量を求め、フレーム間の経過時間と、移動量とから利用者の移動速度（角速度）を計算する。
【００４８】
なお、ここでは、利用者の移動速度（角速度）を計算する際に、利用者の腰よりも下（下半身）の移動量を用いる。上半身は、ポインタ１３０Ａの操作のための動作を行う場合が有り得るため、下半身の移動量を用いる。下半身の位置は、人体検出部１２１によって下半身の骨格の位置から検出される。
【００４９】
ここで、位置計測装置１４０のカメラ１４０Ａは、図１に示すように正面（Ｚ軸正方向）を向いた状態に対して、ステージ１５０によって回転移動されることによって、Ｘ軸正方向とＸ軸負方向とに首を振れるようになっている。また、利用者は、スクリーン１１０Ａの前をＸ軸方向に移動する。
【００５０】
ステージ１５０によってＸＺ平面内で回転移動されるカメラ１４０Ａの回転中心の座標を（Ｘ１、Ｚ１）とし、利用者の座標を（Ｘ２、Ｚ２）とすると、利用者の位置は、カメラ１４０Ａの回転中心の座標（Ｘ１、Ｚ１）と利用者の座標（Ｘ２、Ｚ２）とを結ぶ直線が、Ｚ軸正方向となす角度で表すことができる。より具体的には、利用者の位置は、Ｚ軸正方向に対する角度θ１(deg(度))として次式（４）で表すことができる。
【００５１】
【数４】
2018064209.tif 000006
【００５２】
ここで、利用者の位置を表す角度θ１は、Ｚ軸正方向を基準（０度）とし、時計回りを正の値とする。
【００５３】
フレーム間の経過時間ΔＴと、角度θ１の移動量Δθ１とから利用者の角速度ωを次式（５）に従って計算することができる。移動量Δθ１は、現在のフレームにおける角度θ１から、１つ前のフレームにおける角度θ１を引いた差分である。すなわち、角速度ωは、現在のフレームにおける角度θ１から、１つ前のフレームにおける角度θ１を引いた差分の時間的変化度合（角速度）として求められる。
【００５４】
【数５】
2018064209.tif 000007
【００５５】
このため、角速度ωは、利用者がＸ軸正方向に向かって移動する場合に正の値をとり、利用者がＸ軸負方向に向かって移動する場合に負の値をとる。
【００５６】
判定部１２５は、ステージ１５０の回転方向において、カメラ１４０Ａの画角で決まる計測範囲１４２よりも狭い検出範囲１４３内に利用者が存在するかどうかを判定する。計測範囲１４２は、カメラ１４０Ａの画角（水平画角と垂直画角）によって決まる、カメラ１４０Ａの画角で撮像可能な範囲である。
【００５７】
検出範囲１４３は、カメラ１４０Ａの画角に含まれ、かつ、画角よりも狭い所定の角度に含まれる範囲（領域）である。検出範囲１４３は、水平方向においては、カメラ１４０Ａの水平画角の中心軸を中心として、水平画角よりも狭い角度で規定され、垂直方向においては、垂直画角によって規定される範囲である。すなわち、検出範囲１４３は、計測範囲１４２を水平方向に狭めた範囲である。
【００５８】
検出範囲１４３を規定する水平方向の所定の角度は、利用者の角速度に応じて、角度制御部１２７によって設定される。
【００５９】
回転制御部１２６は、ステージ１５０に含まれるステッピングモータの駆動制御を行うことにより、ステージ１５０の回転制御を行う。回転制御部１２６は、判定部１２５によって現在の検出範囲１４３内に利用者が存在しないと判定されると、利用者の移動方向にステージ１５０を回転移動させる。回転制御部１２６は、利用者の位置を表す角度θ１が検出範囲１４３の左右どちら側にあるかで利用者の移動方向を判定することができる。
【００６０】
なお、ここでは、利用者の移動方向は、ステージ１５０の回転方向に沿っており、スクリーン１１０Ａの前で、Ｘ軸方向におけるスクリーン１１０Ａの幅の中央に対して、Ｘ軸正方向又はＸ軸正方向に移動する方向である。
【００６１】
角度制御部１２７は、利用者の角速度に応じて、検出範囲１４３の水平方向の所定の角度を設定する。水平方向の所定の角度は、カメラ１４０Ａの水平画角の中心軸を中心として、水平方向に拡がる角度であり、水平画角よりも狭い角度である。所定の角度は、カメラ１４０Ａの水平画角の中心軸を中心として、水平方向に均等である。
【００６２】
角度制御部１２７は、利用者の移動の角速度が大きいほど所定の角度を狭くし、利用者の移動の角速度が小さいほど所定の角度を広くする。
【００６３】
このような所定の角度によって規定される検出範囲１４３は、水平方向の両端が所定の角度によって決まり、垂直方向の両端が垂直画角によって決まる範囲である。すなわち、検出範囲１４３は、カメラ１４０Ａの水平画角及び垂直画角によって決まる計測範囲１４２を、カメラ１４０Ａの水平画角の中心軸を中心とする所定の角度にまで水平方向に狭めた範囲である。
【００６４】
検出範囲１４３は、利用者の移動の角速度が大きく（速く）なると水平方向に狭まり、利用者の移動の角速度が小さく（遅く）なると水平方向に広がる。
【００６５】
具体的には、角度制御部１２７は、次式（６）を用いて、検出範囲１４３の角度θ２(deg)を求める。検出範囲１４３は、中心軸１４０Ａ１を中心とする角度±θ２の範囲であり、角度θ２は、検出範囲１４３の角度の半分の値である。
【００６６】
式（６）において、ωは、式（５）によって求められる、現在のフレームにおける角度θ１と、１つ前のフレームにおける角度θ１との差の時間的変化度合（角速度）であり、式（６）では絶対値が用いられる。また、Ａは(deg)2/秒の単位を有する定数であり、Ｂは(deg)の単位を有する定数である。水平画角は、例えば、±３５度であり、定数Ａ、Ｂの値は、実験又はシミュレーション等で最適な値に設定すればよい。式（６）は、角速度ωの逆数に応じて角度θ２を求める式である。
【００６７】
【数６】
2018064209.tif 000008
【００６８】
データ保持部１２８Ａは、物品１１１又はボタン１１１Ａあるいは１１１Ｂの座標と形状を表す物品データ、及び、ポインタ１３０Ａの画像データ、ポインタ１３０Ａのサイズを表すデータ等のデータを保持する。データ保持部１２８Ａは、メモリによって実現され、データ格納部の一例である。
【００６９】
履歴保持部１２８Ｂは、人体検出部１２１によって検出される位置の履歴を保持する。利用者の人体の位置は、位置計測装置１４０によって取得される動画の各フレームの画像から、人体検出部１２１によって検出される。このため、履歴保持部１２８Ｂは、フレーム毎に求められる利用者の人体の位置の履歴を保持する。
【００７０】
履歴保持部１２８Ｂは、例えば、ＲＡＭ(Random  Access  Memory)又はレジスタによって実現される。また、履歴保持部１２８Ｂは、データ保持部１２８Ａと一体化されていてもよい。この場合には、履歴保持部１２８Ｂは、データ保持部１２８Ａを構築するメモリの一部である。
【００７１】
映像出力部１２９の出力端子は、ケーブル１１０Ｂ１によって投影装置１１０Ｂに接続されている。映像出力部１２９は、データ保持部１２８Ａに保持される物品１１１の物品データによって特定される画像を投影装置１１０Ｂに出力し、スクリーン１１０Ａに表示させる。
【００７２】
また、映像出力部１２９は、投影装置１１０Ｂにポインタ１３０Ａを表示させる。ポインタ１３０Ａの画像は、データ保持部１２８Ａに保持される画像に基づいて生成される。
【００７３】
位置計測装置１４０は、利用者１の体の位置及び形状等を三次元的に表すデータを取得する装置である。位置計測装置１４０は、撮像部の一例である。位置計測装置１４０は、スクリーン１１０Ａの上方において、ステージ１５０によって保持された状態で設置されている。位置計測装置１４０は、ステージ１５０によってＸ軸正方向とＸ軸負方向とに首を振れるようになっている。
【００７４】
位置計測装置１４０は、スクリーン１１０Ａの正面に、計測範囲１４２を有する。計測範囲１４２は、位置計測装置１４０のカメラ１４０Ａから、スクリーン１１０Ａの正面にかけて延在する。
【００７５】
計測範囲１４２は、カメラ１４０Ａの画角（視野角）によって決まる領域であり、カメラ１４０Ａによって画像が取得される範囲である。計測範囲１４２は、第１撮像領域の一例である。カメラ１４０Ａの画角の中心軸１４０Ａ１は、第１撮像領域の指向方向の一例である。
【００７６】
位置計測装置１４０は、ケーブル１４１によって処理装置１２０に接続されている。計測範囲１４２の詳細は上述した通りであり、計測範囲１４２の内部には、角度制御部１２７によって利用者の角速度に応じて水平方向の所定の角度が設定される検出範囲１４３が設けられる。検出範囲１４３は、第２撮像領域の一例である。
【００７７】
位置計測装置１４０は、より具体的には、例えば、赤外線レーザを被写体に向けて照射し、反射光を受光するまでの時間に基づいて、画像に含まれる点までの距離（深度）を算出する装置である。位置計測装置１４０は、スクリーン１１０Ａに向かって指示動作を行う利用者１の画像を取得し、利用者１の姿勢、及び、ゼスチャー等を表す三次元的な距離画像のデータを取得する。位置計測装置１４０は、取得した三次元的なデータを、ケーブル１４１を介して処理装置１２０に伝送する。
【００７８】
ステージ１５０は、基部１５１及び回転部１５２を有する。基部１５１は、シミュレーションシステム１００が設置される部屋等の壁、又は、部屋等に設置される台等に固定されている。基部１５１は、回転部１５２を回転軸１５０Ａのまわりに回転可能に保持している。
【００７９】
ステージ１５０は、図示しないステッピングモータを含み、回転制御部１２６によって駆動制御が行われることによって、基部１５１に対して回転部１５２を回転軸１５０Ａのまわりに回転移動させる。回転軸１５０Ａは、ＹＺ平面に含まれ、Ｙ軸に対して角度を有するため、位置計測装置１４０のカメラ１４０Ａが図１に示すように正面（Ｚ軸正方向）を向いた状態に対して、Ｘ軸正方向とＸ軸負方向とに首を振れるようになっている。
【００８０】
ステージ１５０は、一例として、位置計測装置１４０のカメラ１４０Ａを３つの回転位置に向けることができる。図１に示すようにカメラ１４０Ａが正面（平面視でＺ軸正方向）を向いている回転位置は、回転角度が０度の状態である。
【００８１】
ステージ１５０を上側から見て反時計回り（カメラ１４０Ａが正面からＸ軸正方向側を向く回転方向）に−α度だけ回転させると、（カメラ１４０Ａから見て）左に回転させた回転位置になる。
【００８２】
これとは逆に、ステージ１５０を上側から見て時計回り（カメラ１４０Ａが正面からＸ軸負方向側を向く回転方向）に＋α度だけ回転させると、（カメラ１４０Ａから見て）右に回転させた回転位置になる。以下では、このような３つの回転位置を、左、正面、右と称す。なお、±α度は、例えば、±４５度である。
【００８３】
すなわち、左の回転位置ではステージ１５０の回転量は−４５度であり、正面の回転位置ではステージ１５０の回転量は０度であり、右の回転位置ではステージ１５０の回転量は＋４５度である。
【００８４】
以上のように、位置計測装置１４０のカメラ１４０Ａの水平画角は、±３５度（７０度）であり、位置計測装置１４０はステージ１５０によって左及び右に４５度ずつ回転移動されるため、位置計測装置１４０でカバーできる最大の角度は１６０度（水平画角の中心軸を中心とした±８０度）である。シミュレーションシステム１００では、指示動作を行う利用者が移動可能な範囲を、水平画角の中心軸を中心とした±８０度の範囲に設定してある。
【００８５】
ここで、計測範囲１４２、検出範囲１４３、及びステージ１５０の回転位置について、図３及び図４を用いて説明する。図３は、計測範囲１４２と検出範囲１４３を平面視で示す図であり、図４は、計測範囲１４２、検出範囲１４３、及びステージ１５０の回転位置を平面視で示す図である。なお、図３では、カメラ１４０Ａは正面（Ｚ軸正方向）を向いた状態であり、ステージ１５０の回転量は０度である。
【００８６】
図３に示すように、回転軸１５０Ａの座標は（Ｘ１、Ｚ１）であり、利用者１の座標は（Ｘ２、Ｚ２）である。
【００８７】
図３に示すように、計測範囲１４２は、カメラ１４０Ａの水平画角±θＨで表される範囲であり、検出範囲１４３は、水平画角±θＨの中心軸１４０Ａ１を中心とする角度±θ２の範囲である。中心軸１４０Ａ１は、水平画角±θＨを二等分する中心軸である。なお、図３では、カメラ１４０Ａは正面を向いているため、中心軸１４０Ａ１とＺ軸の方向は一致している。また、図３では、利用者１は検出範囲１４３内にいる。
【００８８】
図４（Ａ）に示すように、カメラ１４０Ａの向きは、ステージ１５０によって、左（α＝−４５度）、正面（α＝０度）、右（α＝＋４５度）に向けることができる。角度αは、平面視でのＺ軸正方向に対する角度であり、時計回りを正とする角度である。
【００８９】
図３に示す状態から、利用者１が右側（Ｘ軸負方向）に移動して、検出範囲１４３の外に出ると、回転制御部１２６が利用者の位置を表す角度θ１に応じてステージ１５０を＋４５度回転移動させるため、図４（Ｂ）に示すようにカメラ１４０Ａは＋４５回転され、検出範囲１４３の内部に利用者１が捕捉されるようになる。なお、このように利用者１が移動するときの角速度に応じて、角度制御部１２７によって検出範囲１４３の水平方向の所定の角度が設定される。
【００９０】
図５は、実施の形態１の処理装置１２０が適用されるコンピュータシステムの斜視図である。図５に示すコンピュータシステム１０は、本体部１１、ディスプレイ１２、キーボード１３、マウス１４、及びモデム１５を含む。
【００９１】
本体部１１は、ＣＰＵ（Central  Processing  Unit：中央演算装置）、ＨＤＤ（Hard  Disk  Drive：ハードディスクドライブ）、及びディスクドライブ等を内蔵する。ディスプレイ１２は、本体部１１からの指示により画面１２Ａ上に解析結果等を表示する。ディスプレイ１２は、例えば、液晶モニタであればよい。キーボード１３は、コンピュータシステム１０に種々の情報を入力するための入力部である。マウス１４は、ディスプレイ１２の画面１２Ａ上の任意の位置を指定する入力部である。モデム１５は、外部のデータベース等にアクセスして他のコンピュータシステムに記憶されているプログラム等をダウンロードする。
【００９２】
コンピュータシステム１０に処理装置１２０としての機能を持たせるプログラムは、ディスク１７等の可搬型記録媒体に格納されるか、モデム１５等の通信装置を使って他のコンピュータシステムの記録媒体１６からダウンロードされ、コンピュータシステム１０に入力されてコンパイルされる。
【００９３】
コンピュータシステム１０に処理装置１２０としての機能を持たせるプログラムは、コンピュータシステム１０を処理装置１２０として動作させる。このプログラムは、例えばディスク１７等のコンピュータ読み取り可能な記録媒体に格納されていてもよい。コンピュータ読み取り可能な記録媒体は、ディスク１７、ＩＣカードメモリ、フロッピー（登録商標）ディスク等の磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＵＳＢ(Universal  Serial  Bus)メモリ等の可搬型記録媒体に限定されるものではない。コンピュータ読み取り可能な記録媒体は、モデム１５又はＬＡＮ等の通信装置を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。
【００９４】
図６は、コンピュータシステム１０の本体部１１内の要部の構成を説明するブロック図である。本体部１１は、バス２０によって接続されたＣＰＵ２１、ＲＡＭ又はＲＯＭ等を含むメモリ部２２、ディスク１７用のディスクドライブ２３、及びハードディスクドライブ（ＨＤＤ）２４を含む。実施の形態１では、ディスプレイ１２、キーボード１３、及びマウス１４は、バス２０を介してＣＰＵ２１に接続されているが、これらはＣＰＵ２１に直接的に接続されていてもよい。また、ディスプレイ１２は、入出力画像データの処理を行う周知のグラフィックインタフェース（図示せず）を介してＣＰＵ２１に接続されていてもよい。
【００９５】
コンピュータシステム１０において、キーボード１３及びマウス１４は、処理装置１２０の入力部である。ディスプレイ１２は、処理装置１２０に対する入力内容等を画面１２Ａ上に表示する表示部である。
【００９６】
なお、コンピュータシステム１０は、図５及び図６に示す構成のものに限定されず、各種周知の要素を付加してもよく、又は代替的に用いてもよい。
【００９７】
図７は、形状データを示す図である。
【００９８】
物品データは、スクリーン１１０Ａに表示する物品の座標と形状を表すデータである。物品データは、物品ＩＤ、形状タイプ、基準座標、サイズ、及び回転角度を有する。
【００９９】
形状タイプは、物品の外形を表す。図７では、一例として、形状タイプがCuboid(直方体)とCylinder(円柱体)を示す。
【０１００】
基準座標は、物品の全体を表す座標の基準になる点の座標値を示す。座標値の単位はメートル（ｍ）である。なお、座標系としては、ＸＹＺ座標系を用いる。
【０１０１】
サイズは、物品のＸ軸方向の長さ、Ｙ軸方向の長さ、Ｚ軸方向の長さを表す。単位はメートル（ｍ）である。一例として、Ｘ軸方向の長さは縦の長さを表し、Ｙ軸方向の長さは高さを表し、Ｚ軸方向の長さは奥行き（横方向の長さ）を表す。
【０１０２】
回転角度は、Ｘ軸方向、Ｙ軸方向、Ｚ軸方向に対する回転角度θｘ、θｙ、θｚで表される。単位は度(deg.)である。回転角度θｘは、Ｘ軸を回転軸として物品を回転させる角度である。同様に、回転角度θｙ及びθｚは、それぞれ、Ｙ軸及びＺ軸を回転軸として物品を回転させる角度である。回転角度θｘ、θｙ、θｚの正方向は、予め決めておけばよい。
【０１０３】
このような物品データを用いれば、ＣＡＤデータによって表示される物品の画像と同様に、物品データによって特定される画像を表すことができる。
【０１０４】
なお、物品データは、処理装置１２０のデータ保持部１２８Ａに格納されている。
【０１０５】
図８は、物品の画像の一例を示す図である。
【０１０６】
図８には、図８の物品データによって表される３つの物品を示す。
【０１０７】
物品ＩＤが001の物品は、形状タイプがCuboid(直方体)で、基準座標（Ｘ，Ｙ，Ｚ）が（０．０，０．０，０．０）であり、サイズが（０．８，０．２，−０．４）であり、回転角度θｘ、θｙ、θｚが（０．０，０．０，０．０）である。
【０１０８】
基準座標（Ｘ，Ｙ，Ｚ）が（０．０，０．０，０．０）であるため、物品ＩＤが001の物品の１つの頂点は、ＸＹＺ座標系の原点Ｏと一致している。
【０１０９】
物品ＩＤが002の物品は、形状タイプがCuboid(直方体)で、基準座標（Ｘ，Ｙ，Ｚ）が（０．６，０．２，０．０）であり、サイズが（０．２，０．２，−０．１）であり、回転角度θｘ、θｙ、θｚが（０．０，０．０，０．０）である。
【０１１０】
このため、物品ＩＤが002の物品は、物品ＩＤが001の物品の上に配置されている。
【０１１１】
物品ＩＤが003の物品は、形状タイプがCylinder(円柱体)で、基準座標（Ｘ，Ｙ，Ｚ）が（０．８，０．３，−０．１）であり、サイズが（０．２，１．０，−０．３）であり、回転角度θｘ、θｙ、θｚが（０．０，０．０，−９０．０）である。
【０１１２】
このため、物品ＩＤが003の物品は、Ｚ軸を回転軸として９０度回転させた状態で、物品ＩＤが002の物品のＸ軸正方向側に接続されている。
【０１１３】
なお、上述のように、実施の形態１では、図８に示す物品ＩＤ、形状タイプ、基準座標、サイズ、及び回転角度を有する物品データを用いて、スクリーン１１０Ａに投影される画像の中における物品の座標と形状を規定する。
【０１１４】
例えば、形状タイプがCuboid(直方体)の場合に、８つの頂点の座標は、基準座標に対して、サイズで表される物品のＸ軸方向の長さ、Ｙ軸方向の長さ、Ｚ軸方向の長さを加算又は減算することによって求めることができる。８つの頂点の座標は、形状タイプがCuboid(直方体)の物品のCorner(角)の座標を表す。
【０１１５】
８つの頂点の座標を求めれば、１２本の辺を表す式を求めることができる。１２本の辺を表す式は、形状タイプがCuboid(直方体)の物品のEdge(辺)の座標を表す式である。
【０１１６】
また、８つの頂点の座標、及び／又は、１２本の辺を表す式を求めれば、形状タイプがCuboid(直方体)の物品の６つの表面を表す式が求まり、Surface(面)の座標を求めることができる。
【０１１７】
また、形状タイプがCylinder(円柱体)の場合には、サイズで表される物品のＸ軸方向の長さ、Ｙ軸方向の長さ、Ｚ軸方向の長さに基づいて、円柱の両端にある円（又は楕円）を表す式を求めることができる。また、両端の円（又は楕円）を表す式と基準座標とを用いれば、両端の円（又は楕円）の座標を表す式を求めることができる。円柱体の側面の座標は、両端の円（又は楕円）の座標を表す式を用いることによって求めることができる。
【０１１８】
ここでは、形状タイプがCuboid(直方体)とCylinder(円柱体)の物品について説明したが、球体、三角錐、凹部を有する直方体等の様々な形状の物品についても、同様にスクリーン１１０Ａに投影される画像の中における座標と形状を求めることができる。
【０１１９】
図９は、処理装置１２０が実行する処理を示すフローチャートである。図９に示すフローは、処理装置１２０が制御周期毎に繰り返し実行する処理を表す。
【０１２０】
シミュレーションシステム１００の電源が投入されている状態で、処理がスタートすると、速度検出部１２４は、現在のフレームにおける利用者の位置を表す角度θ１を求める（ステップＳ１）。
【０１２１】
次いで、速度検出部１２４は、現在のフレームにおける角度θ１と、１つ前のフレームにおける角度θ１との差（移動量Δθ１）を求め、式（５）に従って移動量Δθ１をフレーム間の経過時間ΔＴで割ることにより、角速度ωを計算する（ステップＳ２）。
【０１２２】
次いで、角度制御部１２７は、式（６）を用いて、検出範囲１４３の水平方向の角度θ２を求める（ステップＳ３）。
【０１２３】
次いで、判定部１２５は、検出範囲１４３内に利用者が存在するかどうかを判定する（ステップＳ４）。
【０１２４】
処理装置１２０は、判定部１２５によって検出範囲１４３内に利用者が存在する（Ｓ４：ＹＥＳ）と判定されると、処理を終了する（エンド）。検出範囲１４３内に利用者１がいるため、ステージ１５０を回転移動させる必要はないからである。
【０１２５】
一方、処理装置１２０は、判定部１２５によって検出範囲１４３内に利用者が存在しない（Ｓ４：ＮＯ）と判定されると、回転制御部１２６は、利用者の移動方向にステージ１５０を回転移動させる（ステップＳ５）。利用者の移動方向は、利用者の位置を表す角度θ１が検出範囲１４３の左右どちら側にあるかで判定することができる。
【０１２６】
処理装置１２０は、ステージ１５０を回転移動させると、処理を終了する（エンド）。
【０１２７】
以上のように、処理装置１２０は、利用者１の移動の角速度ωに応じて検出範囲１４３の水平方向の角度θ２を求め、利用者の移動方向にステージ１５０を回転移動させる。
【０１２８】
図１０は、利用者の位置を表す角度θ１の履歴の一例を示す図である。図１０に示すように、Indexが０〜１５の１６個の角度θ１のように、時刻０（ミリ秒）から時刻５００（ミリ秒）まで移動する場合について検討を行う。
【０１２９】
なお、一例として、ステージ１５０の駆動速度は、１８(deg/s)、回転位置の数（ステップ数）は３、１ステップの角度αは４５度、１ステップの（４５度回転させるときの）駆動時間は２．６秒とする。
【０１３０】
ここで、検出範囲１４３の水平方向の角度θ２を利用者１の移動の角速度ωに応じて求める場合（条件１（実施の形態１））と、角度θ２を±３０度（水平方向の６０度）の場合（条件２（比較例））とでカメラ１４０Ａで利用者を追尾する場合の計算結果について説明する。条件２（比較例）は、検出範囲１４３の角度θ２が３０度（固定値）に設定される点が条件１（実施の形態１）と異なる。
【０１３１】
検出範囲１４３は、中心軸１４０Ａ１を中心とする角度±θ２の範囲である。条件１（実施の形態１）についての角度θ２は、式（６）における定数Ａを５８５(deg)2/秒に設定し、定数Ｂを５(deg)に設定して求めた。条件２（比較例）について角度θ２は、±３０度（検出範囲１４３の水平方向の角度は６０度）に設定した。
【０１３２】
また、ステージ１５０の駆動速度は、１８(deg/s)、回転位置の数（ステップ数）は３、１ステップの角度αは４５度、１ステップの（４５度回転させるときの）駆動時間は２．６秒である。
【０１３３】
図１１は、条件１と条件２の動作条件を示す図である。図１２は、条件１（実施の形態１）の動作を説明する図である。図１３は、条件２（比較例）の動作を説明する図である。
【０１３４】
条件１（実施の形態１）及び条件２（比較例）では、ともに、利用者の移動速度（角速度）は３４(deg/s)、ステージ１５０の初期状態での向き（初期方向）は０度（Ｚ軸正方向）、水平画角±θＨ（計測範囲１４２の水平方向の範囲）は±３５度に設定した。
【０１３５】
また、条件１（実施の形態１）では、式（６）から検出範囲１４３の角度θ２が１５度（角速度）は３４(deg/s)）と求まるため、利用者が０度（Ｚ軸正方向）から右に移動する場合に、ステージ１５０が右に駆動されるタイミングにおける利用者の位置θ１は、１５度の位置になる。
【０１３６】
また、条件２（比較例）では、予め設定した角度θ２が３０度であるため、利用者が０度（Ｚ軸正方向）から右に移動する場合に、ステージ１５０が右に駆動されるタイミングにおける利用者の位置θ１は、３０度の位置になる。
【０１３７】
すなわち、条件１（実施の形態１）では、図１２（Ａ）に示すように、利用者の位置θ１が１５度（ステージ１５０が正面を向いているときの検出範囲１４３（角度θ２）の右端）に達したときにステージ１５０が右に駆動され始める。これに対して、条件２（比較例）では、図１３（Ａ）に示すように、利用者の位置θ１が３０度（ステージ１５０が正面を向いているときの検出範囲１４３（角度θ２）の右端）に達したときにステージ１５０が右に駆動され始めることになる。
【０１３８】
また、ステージ１５０が右に駆動開始してから０．５５秒後には、条件１（実施の形態１）及び条件２（比較例）では、ともに、ステージの向きは９(deg)であり、計測範囲１４２の右端（θＨ）は、４４度になる。
【０１３９】
このような条件１（実施の形態１）と条件２（比較例）では、ステージ１５０が右に駆動開始してから０．５５秒後における利用者の位置θ１は、それぞれ、３４度と４９度である。
【０１４０】
このため、図１２（Ａ）に示すように、条件１（実施の形態１）では、利用者の位置θ１は計測範囲１４２内であるが、条件２（比較例）では、図１３（Ａ）に示すように、計測範囲１４２外になる。
【０１４１】
次に、条件１（実施の形態１）よりも多いステップ数でステージ１５０を回転駆動する条件３（比較例）と条件１（実施の形態１）とを比較する。条件１（実施の形態１）及び条件３（比較例）ともに、ステージ１５０の駆動速度は、１８(deg/s)である。
【０１４２】
条件１（実施の形態１）では、ステージ１５０の回転位置の数（ステップ数）は３、１ステップの角度αは４５度、１ステップの（４５度回転させるときの）駆動時間は２．６秒である。条件３（比較例）では、ステージ１５０の回転位置の数（ステップ数）は１０、１ステップの角度αは９度、１ステップの（９度回転させるときの）駆動時間は０．６秒である。
【０１４３】
図１４は、条件１（実施の形態１）の動作を説明する図である。図１５は、条件３（比較例）の動作を説明する図である。図１４及び図１５において、横軸は、時間であり、縦軸はステージ１５０の駆動速度を示す。ここでは、条件１（実施の形態１）及び条件３（比較例）ともに、ステージ１５０が正面を向いている状態から、右に４５度の方向を向くまでの所要時間を比べる。
【０１４４】
図１４では、０．４４秒からステージ１５０を駆動開始し、３．０４秒で４５度の回転移動が終了している。図１５では、０．２４秒から駆動を開始し、９度刻みの５ステップで４５度を回転させ終わるのが、３．２８秒の時点である。
【０１４５】
図１４に示す条件１（実施の形態１）では、０秒から３．２８秒の間に、ステージ１５０の静止時間が０．６８秒であることになる。図１５に示す条件３（比較例）では、０秒から３．２８秒の間に、ステージ１５０の静止時間が０．１１秒であることになる。この差は約６倍である。
【０１４６】
従って、４５度を回転させるのに、ステップ数が少ない方が、ステップ数が多い場合よりも、より長い静止時間が取れることが分かった。
【０１４７】
以上より、実施の形態１によれば、利用者１の移動速度（角速度）が速いほど検出範囲１４３の角度θ２を小さくし、利用者１の移動速度（角速度）が遅いほど検出範囲１４３の角度θ２を大きくすることにより、利用者１の移動速度（角速度）に合わせてステージ１５０を回転させることができる。
【０１４８】
検出範囲１４３の水平方向の角度±θ２は、カメラ１４０Ａの水平画角（計測範囲１４２の水平画角±θＨ）よりも狭く、上述のように利用者１の移動速度（角速度）に応じて、式（６）によって設定される。
【０１４９】
このような検出範囲１４３を用いて、計測範囲１４２内に利用者１が存在しても、検出範囲１４３から外れたら、利用者１の移動方向に合わせてステージ１５０を回転移動させる。
【０１５０】
このため、利用者１の移動速度（角速度）が速い場合でも追従遅れを抑制できる。そして、このようなシステムをステップ的に移動させる安価なステージ１５０を用いて実現している。
【０１５１】
従って、安価な撮像システム、及び、安価な撮像システムを含むシミュレーションシステム１００を提供することができる。
【０１５２】
また、ステージ１５０のステップ数を比較的少なくすることにより、カメラ１４０Ａの静止時間を長く取ることができる。カメラ１４０Ａは、ステージ１５０が回転移動している間でも距離画像を取得できるが、静止している状態の方が、より鮮明な距離画像を取得できる可能性が高い。
【０１５３】
従って、ステージ１５０のステップ数を比較的少なくすることにより、より鮮明な距離画像を取得できる撮像システム、及び、シミュレーションシステム１００を提供することができる。
【０１５４】
なお、以上では、利用者１の位置をＺ軸正方向に対する角度θ１で表す形態について説明したが、利用者１の位置は、ＸＺ座標（Ｘ２、Ｚ２）で特定して、検出範囲１４３の内部にいるかどうかを判定し、判定結果に応じてステージ１５０を駆動してもよい。この場合に、計測範囲１４２と検出範囲１４３の境界（右端と左端）をＸＺ平面における数式で表せばよい。
【０１５５】
また、以上では、利用者１の移動速度（角速度）に応じて、式（６）に従って検出範囲１４３の水平方向の角度±θ２を求める形態について説明したが、利用者１の移動速度（角速度）の代わりに、利用者１の移動の加速度（角加速度）を用いてもよい。この場合には、式（６）における定数Ａとして(deg)2/秒2の物理量を有する値を用いればよい。
【０１５６】
また、以上では、ステージ１５０を４５度刻みで３ステップで左、正面、右に回転移動させる形態について説明したが、ステップ数は３に限られない。例えば、ステージ１５０の回転速度をさらに速くして、ステップ数を５あるいはそれ以上に増やしてもよい。
【０１５７】
＜実施の形態２＞
実施の形態２は、実施の形態１のステージ１５０の回転速度を利用者１の移動速度（角速度）に応じて設定するようにしたものである。以下、実施の形態１と同様の構成要素には同一符号を付し、その説明を省略する。
【０１５８】
図１６は、実施の形態２のシミュレーションシステムの処理装置２２０の構成を示す図である。
【０１５９】
処理装置２２０は、人体検出部１２１、位置検出部１２２、動作検出部１２３、速度検出部１２４、判定部１２５、回転制御部１２６、角度制御部１２７、データ保持部１２８Ａ、履歴保持部１２８Ｂ、映像出力部１２９、及び速度計算部２２１を有する。処理装置２２０は、実施の形態１の処理装置１２０に速度計算部２２１を加えた構成を有する。
【０１６０】
速度計算部２２１は、利用者１の移動速度（角速度）ωを用いて、式（７）に従って、ステージ１５０の回転速度ω２を計算する。速度計算部２２１は、速度設定部の一例である。
【０１６１】
式（７）において、ωは、式（５）によって求められる、現在のフレームにおける角度θ１と、１つ前のフレームにおける角度θ１との差の時間的変化度合（角速度）である。式（６）とは異なり、絶対値ではない。また、Ｃ，Ｄは単位を有さない定数であり、定数Ｃ、Ｄの値は、実験又はシミュレーション等で最適な値に設定すればよい。
【０１６２】
【数７】
2018064209.tif 000009
【０１６３】
図１７は、処理装置２２０が実行する処理を示すフローチャートである。図１７に示すフローは、処理装置２２０が制御周期毎に繰り返し実行する処理を表す。
【０１６４】
図１７に示すフローは、図９に示す実施の形態１のフローのステップＳ４とＳ５との間に、ステップＳ２５を挿入したものである。このため、以下では相違点について説明する。
【０１６５】
処理装置２２０は、判定部１２５によって検出範囲１４３内に利用者が存在しない（Ｓ４：ＮＯ）と判定されると、速度計算部２２１は、式（７）に従って、ステージ１５０の回転速度ω２を計算する（ステップＳ２５）。
【０１６６】
次いで、回転制御部１２６は、ステップＳ２５で計算された回転速度ω２で、利用者の移動方向にステージ１５０を回転移動させる（ステップＳ５）。利用者の移動方向は、利用者の位置を表す角度θ１が検出範囲１４３の左右どちら側にあるかで判定することができる。
【０１６７】
処理装置２２０は、ステージ１５０を回転移動させると、処理を終了する（エンド）。
【０１６８】
以上のように、処理装置２２０は、利用者１の移動の角速度ωに応じて検出範囲１４３の水平方向の角度θ２を求めるとともに、ステージ１５０の回転速度ω２を計算して、利用者の移動方向にステージ１５０を回転速度ω２で回転移動させる。
【０１６９】
以上のように、実施の形態２によれば、利用者１の移動の角速度ωに応じてステージ１５０の回転速度ω２を計算するので、利用者１の移動の角速度ωに応じてステージ１５０の回転速度ω２を調整することができる。
【０１７０】
従って、利用者１の移動速度（角速度）が速い場合でも追従遅れをより効果的に抑制でき、安価な撮像システム、及び、安価な撮像システムを含むシミュレーションシステムを提供することができる。
【０１７１】
＜実施の形態３＞
実施の形態３では、物品１１１又はボタン１１１Ａあるいは１１１Ｂの座標と形状を表す物品データ、及び、ポインタ１３０Ａの画像データ、ポインタ１３０Ａのサイズを表すデータ等のデータをクラウド上のデータ保持部とデータ保持部１２８Ａに保持されており、クラウド上のデータをダウンロードしてデータ保持部１２８Ａに格納できるようになっている。
【０１７２】
図１８は、実施の形態３のシミュレーションシステムの処理装置３２０の構成を示す図である。以下、実施の形態１との相違点について説明する。同様の構成要素には、同一符号を付し、その説明を省略する。
【０１７３】
処理装置３２０は、人体検出部１２１、位置検出部１２２、動作検出部１２３、速度検出部１２４、判定部１２５、回転制御部１２６、角度制御部１２７、データ保持部１２８Ａ、履歴保持部１２８Ｂ、映像出力部１２９、データ制御部３２１、及び通信部３２２を有する。
【０１７４】
データ制御部３２１は、クラウド上のデータ保持部から通信部３２２を介してダウンロードしたデータをデータ保持部１２８Ａに格納する。
【０１７５】
通信部３２２は、一例として、インターネット５００に接続するモデムであり、インターネット５００を介して、クラウド上のデータ保持部５０１（クラウドデータ保持部）に接続されている。ここで、クラウドとは、１又は複数のコンピュータ（例えば、サーバ）を用いたクラウドコンピューティングであり、クラウド上のストレージを利用することができる。データ保持部５０１は、クラウド上のストレージの一部である。
【０１７６】
データ保持部５０１は、データ保持部１２８Ａが保持する物品データ、ポインタ１３０Ａの画像データ、ポインタ１３０Ａのサイズを表すデータとは異なる、物品データ、ポインタ１３０Ａの画像データ、ポインタ１３０Ａのサイズを表すデータを保持する。
【０１７７】
図１９は、実施の形態３の処理装置３２０が実行する処理を示すフローチャートである。
【０１７８】
図１９に示すフローは、処理装置３２０が制御周期毎に繰り返し実行する処理を表す。
【０１７９】
処理装置３２０は、電源がオンにされると処理を開始する（スタート）。
【０１８０】
処理装置３２０は、シミュレーションシステムの電源がオンであるかどうかを判定する（ステップＳ３１）。
【０１８１】
処理装置３２０は、電源が投入されている（Ｓ３１：ＹＥＳ）と判定すると、人体の有無を判定する（ステップＳ３２）。人体検出部１２１がステップＳ３２の処理を行う。
【０１８２】
処理装置３２０は、人体が有る（Ｓ３２：ＹＥＳ）と判定すると、人体の各部の位置を表す座標を取得する（ステップＳ３３）。人体検出部１２１がステップＳ３３の処理を行う。
【０１８３】
処理装置３２０は、ポインタ１３０Ａの座標を取得する（ステップＳ３４）。位置検出部１２２がステップＳ３４の処理を行う。
【０１８４】
処理装置３２０は、クラウド上の物品データとポインタ１３０Ａのデータを使うかどうかを判定する（ステップＳ３５）。データ制御部３２１がステップＳ３５の処理を行う。クラウド上の物品データとポインタ１３０Ａのデータを使う場合には、利用者が、例えば、所定のゼスチャーを行うことによってクラウド上のデータを使うことを選択できるようにすることができる。このようなゼスチャーは、動作検出部１２３が判定すればよい。また、処理装置３２０に選択用のボタンを設けて、クラウド上の物品データとポインタ１３０Ａのデータを使うかどうかを利用者が入力できるようにしてもよい。
【０１８５】
処理装置３２０は、クラウド上の物品データとポインタ１３０Ａのデータを使う（Ｓ３５：ＹＥＳ）と判定すると、クラウド上のデータ保持部から通信部３２２を介してダウンロードしたデータをデータ保持部１２８Ａに格納する（ステップＳ３６）。データ制御部３２１がステップＳ３６の処理を行う。
【０１８６】
処理装置３２０は、データ保持部１２８Ａから物品データとポインタ１３０Ａのデータを読み出す（ステップＳ３７）。映像出力部１２９がステップＳ３６の処理を行う。なお、ステップＳ３６の処理は、映像出力部１２９とは異なる制御部が、利用者のゼスチャーによって選択された物品データとポインタ１３０Ａのデータを読み出すようにしてもよい。
【０１８７】
また、処理装置３２０は、ステップＳ３５において、クラウド上の物品データとポインタ１３０Ａのデータを使わない（Ｓ３５：ＮＯ）と判定した場合にも、フローをステップＳ３７に進行させる。
【０１８８】
処理装置３２０は、利用者の動作を検出する（ステップＳ３８）。動作検出部１２３がステップＳ３８の処理を行う。
【０１８９】
処理装置３２０は、物品をキャンセルする動作が行われているかどうかを判定する（ステップＳ３９）。動作検出部１２３がステップＳ３９の処理を行う。
【０１９０】
処理装置３２０は、物品をキャンセルする動作が行われていない（Ｓ３９：ＮＯ）と判定すると、物品を選択する動作が行われているかどうかを判定する（ステップＳ４０）。動作検出部１２３がステップＳ４０の処理を行う。
【０１９１】
処理装置３２０は、物品を選択する動作が行われていない（Ｓ４０：ＮＯ）と判定すると、ボタンをキャンセルする動作が行われているかどうかを判定する（ステップＳ４１）。動作検出部１２３がステップＳ４１の処理を行う。
【０１９２】
処理装置３２０は、ボタンをキャンセルする動作が行われてい（Ｓ４１：ＮＯ）と判定すると、ボタンの決定動作が行われているかどうかを判定する（ステップＳ４２）。動作検出部１２３がステップＳ４２の処理を行う。
【０１９３】
処理装置３２０は、ボタンの決定動作が行われていない（Ｓ４２：ＮＯ）と判定すると、物品とポインタ１３０Ａの映像を表示する（ステップＳ４３）。
【０１９４】
なお、処理装置３２０は、ステップＳ３９、Ｓ４０、Ｓ４１、又はＳ４２でＹＥＳと判定した場合は、物品データを更新する（ステップＳ４４）。これにより、物品データが更新される。ステップＳ４４の処理を終えると、処理装置３２０はフローをステップＳ４３に進行させる。
【０１９５】
処理装置３２０は、ステップＳ４３の処理を終えると、フローをステップＳ４５に進行させる（ステップＳ４５）。ステップＳ４５の処理は、図９に示すフローのステップＳ１からＳ４又はＳ５を実行する処理である。
【０１９６】
ステップＳ４５では、処理装置１２０は、判定部１２５によって検出範囲１４３内に利用者が存在する（Ｓ４：ＹＥＳ）と判定されると、ステージ１５０を回転移動させずに処理を図９のフローを終了する（エンド）。これにより、フローはステップＳ３１にリターンする。
【０１９７】
また、処理装置１２０は、判定部１２５によって検出範囲１４３内に利用者が存在しない（Ｓ４：ＮＯ）と判定されると、回転制御部１２６は、利用者の移動方向にステージ１５０を回転移動させる（ステップＳ５）。ステップＳ５の処理を終えると、フローはステップＳ３１にリターンする。
【０１９８】
なお、ステップＳ３１において、処理装置３２０は、電源がオンではない（Ｓ３１：ＮＯ）と判定すると、処理装置３２０は、一連の処理を終了する（エンド）。
【０１９９】
以上のように、実施の形態３では、クラウド上のデータ保持部５０１に保持された物品データ、及び、ポインタ１３０Ａの画像データ、ポインタ１３０Ａのサイズを表すデータ等のデータをダウンロードしてデータ保持部１２８Ａに格納し、利用できる。
【０２００】
なお、ここでは、クラウド上のデータ保持部５０１によって、物品データ、及び、ポインタ１３０Ａの画像データ、ポインタ１３０Ａのサイズを表すデータ等のデータが保持される形態について説明したが、データ保持部５０１が保持するデータは、これらのデータのうちの少なくとも１つであってもよい。
【０２０１】
以上、本発明の例示的な実施の形態の撮像システム、及び、シミュレーションシステムについて説明したが、本発明は、具体的に開示された実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
以上の実施の形態に関し、さらに以下の付記を開示する。
（付記１）
所定の画角の第１撮像領域を有し、距離画像を取得する撮像部と、
前記撮像部を保持し、前記第１撮像領域の指向方向を変えるように前記撮像部を複数の位置にステップ的に回転移動させるステージと、
前記距離画像に基づき、前記第１撮像領域内における利用者の位置を検出する第１検出部と、
前記第１検出部によって検出される位置の履歴に基づき、前記ステージの回転方向における前記利用者の位置の時間的変化度合を検出する第２検出部と、
前記ステージの回転方向において前記画角よりも狭い角度の第２撮像領域内に前記利用者が存在するかどうかを判定する判定部と、
前記判定部によって前記第２撮像領域内に前記利用者が存在しないと判定されると、前記利用者の移動方向に前記ステージを回転移動する回転制御部と、
前記時間的変化度合が大きいほど前記第２撮像領域の角度を狭くし、前記時間的変化度合が小さいほど前記第２撮像領域の角度を広くする、角度制御部と
を含む、撮像システム。
（付記２）
前記角度制御部は、前記時間的変化度合の逆数に応じた前記角度を求めることにより、前記時間的変化度合が大きいほど前記第２撮像領域の角度を狭くし、前記時間的変化度合が小さいほど前記第２撮像領域の角度を広くする、付記１記載の撮像システム。
（付記３）
前記時間的変化度合が大きいほど前記ステージの回転速度を高く設定する速度設定部をさらに含み、
前記回転制御部は、前記速度設定部によって設定された回転速度で前記ステージを回転移動する、付記１又は２記載の撮像システム。
（付記４）
前記ステージは、前記撮像部を３つの位置にステップ的に回転移動させるステージであり、前記３つの位置は、前記撮像部の指向方向の正面、左、及び右の位置である、付記１乃至３のいずれか一項記載の撮像システム。
（付記５）
前記第１検出部は、前記距離画像に含まれる、前記利用者の体の腰よりも下の部分の位置に基づいて、前記利用者の位置を検出する、付記１乃至４のいずれか一項記載の撮像システム。
（付記６）
利用者によって位置が操作されるポインタを表示する表示部と、
前記利用者が前記ポインタの位置を指示する指示動作を検出する動作検出部と、
前記動作検出部によって検出される前記指示動作に基づき、前記表示部の座標系におけるポインタの位置を検出する座標検出部と、
前記表示部の前に配置される所定の画角の第１撮像領域を有し、距離画像を取得する撮像部と、
前記撮像部を保持し、前記第１撮像領域の指向方向を変えるように前記撮像部を複数の位置にステップ的に回転移動させるステージと、
前記距離画像に基づき、前記第１撮像領域内における利用者の位置を検出する第１検出部と、
前記第１検出部によって検出される位置の履歴に基づき、前記ステージの回転方向における前記利用者の位置の時間的変化度合を検出する第２検出部と、
前記ステージの回転方向において前記画角よりも狭い角度の第２撮像領域内に前記利用者が存在するかどうかを判定する判定部と、
前記判定部によって前記第２撮像領域内に前記利用者が存在しないと判定されると、前記利用者の移動方向に前記ステージを回転移動させる回転制御部と、
前記時間的変化度合が大きいほど前記第２撮像領域の角度を狭くし、前記時間的変化度合が小さいほど前記第２撮像領域の角度を広くする、角度制御部と
を含む、シミュレーションシステム。
【符号の説明】
【０２０２】
１００  シミュレーションシステム
１１０Ａ  スクリーン
１１０Ｂ  投影装置
１１０Ｃ  ３Ｄ眼鏡
１２０  処理装置
１２１  人体検出部
１２２  位置検出部
１２３  動作検出部
１２４  速度検出部
１２５  判定部
１２６  回転制御部
１２７  角度制御部
１２８Ａ  データ保持部
１２８Ｂ  履歴保持部
１２９  映像出力部
１４０  位置計測装置
１５０  ステージ
２２０  処理装置
２２１  速度計算部
【図１】
2018064209.tif 000010
【図２】
2018064209.tif 000011
【図３】
2018064209.tif 000012
【図４】
2018064209.tif 000013
【図５】
2018064209.tif 000014
【図６】
2018064209.tif 000015
【図７】
2018064209.tif 000016
【図８】
2018064209.tif 000017
【図９】
2018064209.tif 000018
【図１０】
2018064209.tif 000019
【図１１】
2018064209.tif 000020
【図１２】
2018064209.tif 000021
【図１３】
2018064209.tif 000022
【図１４】
2018064209.tif 000023
【図１５】
2018064209.tif 000024
【図１６】
2018064209.tif 000025
【図１７】
2018064209.tif 000026
【図１８】
2018064209.tif 000027
【図１９】
2018064209.tif 000028