(57)【要約】【課題】位置推定システムにおいて、被写体位置の推定精度を向上させる。【解決手段】位置情報サーバ１０４は、距離センサ１０２〜１０３から被写体１０７〜１０９の位置情報を受信し、受信した位置情報に基づいて距離センサ１０２〜１０３が実行すべき位置情報生成処理を決定して位置情報生成処理に関する指示情報を距離センサ１０２〜１０３に送信する。【選択図】図１
2019086365.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つの距離センサと位置情報サーバとがネットワークを介して接続された位置推定システムであって、
前記距離センサは、
被写体との距離を測定して前記被写体の位置に関する情報を生成し、生成した前記位置情報を位置情報サーバに送信し、
前記位置情報サーバは、
前記距離センサから前記被写体の前記位置情報を受信し、受信した前記位置情報に基づいて前記距離センサが実行すべき位置情報生成処理を決定して、決定した前記位置情報生成処理に関する指示情報を前記距離センサに送信することを特徴とする位置推定システム。
【請求項２】
前記距離センサが送信する前記位置情報は距離画像を含み、
前記位置情報サーバは、前記距離画像に基づいて前記被写体の各部の位置を推定することを特徴とする請求項１に記載の位置推定システム。
【請求項３】
前記位置情報サーバが送信する前記位置情報生成処理に関する前記指示情報は、前記距離画像の撮影対象となる３次元空間の範囲に関する情報を含み、
前記距離センサは、送信する前記距離画像に対して、前記指示情報で指定された前記３次元空間の範囲の外に存在する前記被写体に対応する画素に無効値を設定することを特徴とする請求項２に記載の位置推定システム。
【請求項４】
前記位置情報サーバは、受信した前記距離画像の各画素の前記３次元空間内での分布に基づいて、前記距離センサの前記撮影対象となる前記３次元空間の範囲を決定することを特徴とする請求項３に記載の位置推定システム。
【請求項５】
前記位置情報サーバは、受信した前記距離画像から推定した前記被写体の推定位置に基づいて、前記距離センサの前記撮影対象となる前記３次元空間の範囲を決定すること特徴とする請求項３に記載の位置推定システム。
【請求項６】
前記位置情報サーバが送信する前記位置情報生成処理に関する前記指示情報は、前記距離センサが前記被写体を撮影するために使用する撮影モードを含み、
前記距離センサは、前記撮影モードで撮影した距離データに基づいて前記距離画像を作成して前記位置情報サーバに送信することを特徴とする請求項２に記載の位置推定システム。
【請求項７】
前記位置情報サーバが送信する前記位置情報生成処理に関する前記指示情報は、前記距離画像を送信する間隔を指定する情報を含み、
前記距離センサは、指定された前記間隔で前記距離画像を前記位置情報サーバに送信することを特徴とする請求項２に記載の位置推定システム。
【請求項８】
前記位置情報サーバが送信する前記位置情報生成処理に関する前記指示情報は、前記距離画像の解像度を指定する情報を含み、
前記距離センサは、指定された前記解像度に基づいて前記距離画像を作成して前記位置情報サーバに送信することを特徴とする請求項２に記載の位置推定システム。
【請求項９】
前記距離センサが送信する前記位置情報は、前記被写体の推定位置を含むこと特徴とする請求項１に記載の位置推定システム。
【請求項１０】
前記位置情報サーバが送信する前記位置情報生成処理に関する前記指示情報は、前記距離センサが前記被写体の位置を推定するために利用する推定パラメータを指定する情報を含み、
前記距離センサは、指定された前記推定パラメータを用いて前記被写体の位置を推定することを特徴とする請求項９に記載の位置推定システム。
【請求項１１】
前記位置情報サーバは、受信した前記被写体の推定位置に基づき、前記距離センサが前記被写体の位置を推定するために利用する推定パラメータを決定することを特徴とする請求項１０に記載の位置推定システム。
【請求項１２】
前記位置情報サーバが送信する前記推定パラメータは、前記被写体の身体構造に関する閾値を含むことを特徴とする請求項１０に記載の位置推定システム。
【請求項１３】
前記被写体の身体構造に関する前記閾値は、前記被写体の前記身体構造として少なくとも最小肩肘距離と最大肩肘距離を含むことを特徴とする請求項１２に記載の位置推定システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置推定システムに関する。
【背景技術】
【０００２】
ＴＯＦ（Ｔｉｍｅ  ｏｆ  ｆｌｉｇｈｔ）カメラやステレオカメラなどの距離センサで撮影した距離画像から被写体の位置を推定する技術が知られている。
【０００３】
例えば、特許文献１には、距離センサで撮影した人体の距離画像の各ピクセルについて、ピクセルが身体の各部位と関連している確率を計算し、被写体の関節位置を推定する方法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許８５０３７２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
被写体を撮影する距離センサが複数存在する場合、複数の距離センサとネットワークで接続された位置情報サーバに位置情報を集約し、位置情報サーバから様々なアプリケーションに位置情報を提供することが一般的に行われている。
【０００６】
しかし、被写体との距離の測定を距離センサで行い、複数の距離センサから送られる距離画像の集約と関節位置の推定を位置情報サーバで行う場合には、多数の距離センサが送る距離画像データがネットワーク帯域を圧迫し、位置推定のために利用できる情報量が減少して被写体位置の推定精度が低下してしまう。
【０００７】
また、一般に距離センサのコンピューティングリソースは位置情報サーバと比べてはるかに少ないため、位置推定に利用できるリソースが限定されてしまい被写体位置の推定精度が低下してしまう。
【０００８】
特許文献１では、複数の距離センサから送られる距離画像の集約と関節位置の推定を位置情報サーバで行う場合に生じる被写体位置の推定精度の低下の問題については考慮されていない。
【０００９】
本発明の目的は、位置推定システムにおいて、被写体位置の推定精度を向上させることにある。
【課題を解決するための手段】
【００１０】
本発明の一態様の位置推定システムは、少なくとも一つの距離センサと位置情報サーバとがネットワークを介して接続された位置推定システムであって、前記距離センサは、被写体との距離を測定して前記被写体の位置に関する情報を生成し、生成した前記位置情報を位置情報サーバに送信し、前記位置情報サーバは、前記距離センサから前記被写体の前記位置情報を受信し、受信した前記位置情報に基づいて前記距離センサが実行すべき位置情報生成処理を決定して、決定した前記位置情報生成処理に関する指示情報を前記距離センサに送信することを特徴とする。
【発明の効果】
【００１１】
本発明の一態様によれば、位置推定システムにおいて、被写体位置の推定精度を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】位置推定システムの全体構成を示す図である。
【図２】実施例１の位置情報サーバの構成を示す図である。
【図３】実施例１のＴＯＦセンサの構成を示す図である。
【図４】実施例１の位置情報サーバ制御プログラムの構成を示す図である。
【図５】実施例１のセンサ表の構成を示す図である。
【図６】実施例１の監視領域表の構成を示す図である。
【図７】実施例１のＴＯＦセンサ制御プログラムの構成を示す図である。
【図８】実施例１のＴＯＦセンサの撮影パラメータの構成を示す図である。
【図９】実施例１の位置情報サーバ制御プログラムのフローチャートを示す図である。
【図１０】実施例１のＴＯＦセンサ制御プログラムのフローチャートを示す図である。
【図１１】距離画像の構成を示す図である。
【図１２】送信領域を２次元指定の範囲に限定した距離画像を示す図である。
【図１３】撮影領域を３次元指定の範囲に限定した距離画像を示す図である。
【図１４】送信領域を３次元指定の範囲に限定した距離画像を示す図である。
【図１５】実施例２の位置情報サーバ制御プログラムの構成を示す図である。
【図１６】実施例２のセンサ表の構成を示す図である。
【図１７】実施例２の位置情報サーバの構成を示す図である。
【図１８】実施例２の被写体モデル表の構成を示す図である。
【図１９】実施例２の推定パラメータ表の構成を示す図である。
【図２０】実施例２の関節位置表の構成を示す図である。
【図２１】実施例２の位置情報サーバ制御プログラムのフローチャートを示す図である。
【図２２】実施例２のＴＯＦセンサの構成を示す図である。
【図２３】実施例２のＴＯＦセンサ制御プログラムの構成を示す図である。
【図２４】実施例２のＴＯＦセンサの推定パラメータの構成を示す図である。
【図２５】実施例２のＴＯＦセンサ制御プログラムのフローチャートを示す図である。
【図２６】実施例２の被写体表の構成を示す図である。
【発明を実施するための形態】
【００１３】
被写体との距離の測定を距離センサで行い、複数の距離センサから送られる距離画像の集約と関節位置の推定を位置情報サーバで行う場合には、多数のセンサが送る距離画像データがネットワーク帯域を圧迫する。
【００１４】
例えば、距離画像サイズが６４０×４８０、１画素あたりの情報量が１６ｂｉｔ、フレームレートが３０ｆｐｓの場合、距離センサ１台あたり非圧縮で約１４７Ｍｂｐｓの帯域が必要となる。
【００１５】
そのため、通信遅れによりリアルタイムでの解析ができなくなる、あるいは、ネットワーク帯域を確保するために設備コストが増大するという問題がある。また、通信量を削減するために距離画像の情報量（解像度、フレームレート）を減らすと、位置推定のために利用できる情報量が減少し、推定精度が落ちるという問題がある。
【００１６】
被写体との距離の測定と関節位置の推定を距離センサで行い、複数のセンサから送られる関節位置の集約を位置情報サーバで行う場合には、一般にセンサ機器のコンピューティングリソースはサーバと比べてはるかに少ないため、関節位置推定に利用できるリソースが限定される。
【００１７】
例えば、ごく一般的なサーバのＣＰＵ駆動周波数、ＣＰＵコア数、搭載メモリ量はそれぞれ数ＧＨｚ、１０コア以上、数十ＧＢ以上であるのに対して、センサ機器ではそれぞれ１ＧＨｚ程度、１−数コア、数百ＭＢ〜１ＧＢ程度である。そのため、リアルタイムで複雑な推定処理を行うことができず、推定精度が低下するという問題がある。
【００１８】
実施形態は、距離センサから位置情報サーバに送信するデータ量を削減しつつ、被写体位置の推定精度を維持して向上させる。
【００１９】
また、実施形態では、被写体位置の推定結果に基づき、位置推定処理に必要となる可能性の高い被写体に近辺の領域を特定し、その領域に該当する画素のみを距離画像に含めることにより、距離センサから位置情報サーバに送信される距離画像のサイズを小さくする。
【００２０】
また、実施形態では、被写体位置の推定結果に基づき、被写体の特徴に合わせて調整されたより精度の高い推定方法を特定し、距離センサ内での推定方法を変更することにより推定精度を向上させる。
【００２１】
以下、図面を参照して、実施例について説明する。
【実施例１】
【００２２】
実施例１は、被写体との距離の測定を距離センサで行い、複数の距離センサから送られる距離画像の集約と関節位置の推定を位置情報サーバで行う位置推定システムである。
図１を参照して、実施例１の位置推定システムの全体構成について説明する。
【００２３】
距離センサ（ＴＯＦセンサ）１０１、１０２、１０３と、位置情報サーバ１０４及び行動分析サーバ１０５はネットワークを介して接続されている。ＴＯＦセンサ１０１、１０２、１０３は、被写体１０７、１０８、１０９の距離画像をネットワーク１０６を介して位置情報サーバ１０４に送信する。ネットワーク通信プロトコルとしては、例えば、ＴＣＰ／ＩＰを用いることができる。
【００２４】
ＴＯＦセンサ１０１、１０２、１０３が送信する距離画像の各画素は、ＴＯＦセンサ１０１、１０２、１０３と被写体１０７、１０８、１０９との距離を持つ。画素のピクセル座標と被写体１０７、１０８、１０９との距離がわかると、一般的な変換方法により、各画素の空間内での３次元座標を求めることができる。
【００２５】
例えば、センサ設置位置を原点として、水平方向、垂直方向、奥行き方向をそれぞれＸ軸、Ｙ軸、Ｚ軸とした３次元座標を各画素に対して求めることができる。３次元座標は、位置情報サーバ１０４が受信した距離画像に基づいて生成することもできるし、ＴＯＦセンサ１０１、１０２、１０３が生成して距離画像の一部として位置情報サーバに送ることもできる。実施例１では、特に断りのない限り、ＴＯＦセンサ１０１、１０２、１０３が距離画像の一部として各画素の３次元座標を生成して送信するものとして説明する。
【００２６】
位置情報サーバ１０４は、受信した距離画像に基づいて被写体１０７、１０８、１０９の関節位置を推定する。行動分析サーバ１０５は、位置情報サーバ１０４に被写体１０７、１０８、１０９の関節位置を要求し、ネットワーク１０６経由で各被写体１０７、１０８、１０９の関節位置を受信する。関節位置に基づいて、行動分析サーバ１０５では被写体１０７、１０８、１０９の姿勢や動きを認識して分析する。また、位置情報サーバ１０４は、推定した関節位置に基づいて、ＴＯＦセンサ１０１、１０２、１０３の処理を制御する。
【００２７】
図２を参照して、位置情報サーバ１０４の構成について説明する。
位置情報サーバ１０４は、ＴＯＦセンサ１０１、１０２、１０３や行動分析サーバ１０５と通信するためのネットワークインタフェース２０１、制御プログラムを実行するためのＣＰＵ２０２、プログラムや各種データを保持するためのメモリ２０３、メモリ２０３に保持した状態を管理者に提供し管理者から変更指示を受けるためのユーザインタフェース２０７を備える。
【００２８】
ユーザインタフェース２０７は、例えば、情報を表示するためのディスプレイや印刷するためのプリンタ、ユーザが指示を入力するためのキーボードやマウスなどが利用できる。メモリ２０３は、ＣＰＵ２０２で実行される位置情報サーバ制御プログラム２０４、接続されているセンサに関する情報を保持するセンサ表２０５、被写体の立ち入りを監視する領域に関する情報を保持する監視領域表２０６、各被写体の関節位置を保持する被写体表２０８を格納する。
【００２９】
特に示さないが、位置情報サーバ制御プログラム２０４は、起動直後に各表を適切なデフォルト値で初期化する。
位置情報サーバ制御プログラム２０４は、図４に示す各機能を持つ。
【００３０】
画像データ受信機能４０１は、ＴＯＦセンサ１０１、１０２、１０３から送られた距離画像データをネットワークインタフェース２０１経由で受信する。点集合取得機能４０２は、受信した距離画像に含まれる各画素に対応する点群、すなわち、センサが視野空間内で検出した被写体表面の点群の位置を取得する。
【００３１】
関節位置推定機能４０３は、取得した被写体１０７、１０８、１０９の点群からさまざまな関節の３次元座標を推定する。撮影パラメータ選択機能４０４は、被写体１０７、１０８、１０９の関節位置の推定結果に基づいて、その被写体１０７、１０８、１０９を撮影するＴＯＦセンサ１０１、１０２、１０３に適する各種の撮影パラメータを選択する。
【００３２】
撮影パラメータ送信機能４０５は、選択したパラメータをネットワークインタフェース２０１経由でＴＯＦセンサ１０１、１０２、１０３に送信する。関節位置提供機能４０６は、行動分析サーバ１０５からの要求に応じて、被写体表２０８に記録されている関節位置をネットワークインタフェース２０１経由で送信する。
【００３３】
管理機能４０７は、ユーザインタフェース２０７を通じて、管理者にセンサ表２０５、監視領域表２０６、被写体表２０８の内容を提供するとともに、管理者の指示に従ってセンサ表２０５、監視領域表２０６を指定された値に変更する。例えば、ＴＯＦセンサ１０１、１０２、１０３の視野領域や監視領域の範囲、被写体が監視領域に入った場合に適用する解像度やフレームレートを指定された値に設定する。
センサ表２０５は、各ＴＯＦセンサ１０１、１０２、１０３に対して、図５に示す要素を含む。
【００３４】
実施例１では、撮影範囲５０６、距離モード５０８、解像度５０９、フレームレート５１０、被写体番号５１１の各値は位置情報サーバプログラム２０４が生成し、それ以外の各要素は管理者が指定する。
【００３５】
センサ番号５０１は、管理者がセンサを特定するために使用する一意なセンサ識別子である。ＩＰアドレス５０２は、ネットワーク通信のために必要なアドレスである。視野領域５０３は、各センサの視野空間の範囲を表す。空間の範囲は、一般にさまざまな形式で表現することができる。例えば、視野領域が直方体の場合は、対角に位置する２つの頂点の３次元座標で表すことができる。視野領域が球形の場合は、中心点の３次元座標と半径で表すことができる。センサ機器の視野角と撮影距離範囲が位置情報サーバ制御プログラムから参照できる場合は、管理者は視野範囲特定に必要となるセンサの設置座標と設置角度だけ指定してもよい。
【００３６】
位置基準５０４と撮影領域サイズ５０５は、撮影領域を視野全体ではなく被写体周辺空間に限定する際の撮影領域の範囲を表す。位置基準５０４として、例えば、管理者が関節の種別（頭、腰、など）を指定し、撮影領域サイズ５０５としてＸ軸、Ｙ軸、Ｚ軸方向それぞれの長さを指定することにより、指定された関節位置を中心としてその指定された距離の直方体が撮影領域となる。
【００３７】
位置情報サーバ制御プログラムは指定された位置基準５０４と撮影領域サイズ５０５に基づき、撮影範囲５０６を生成する。撮影範囲５０６は、視野領域５０３と同様、さまざまな形式で表すことができる。時間間隔５０７は、各ＴＯＦセンサが視野全体を撮影した距離画像を定期的に送信する時間間隔である。
【００３８】
撮影モード５０８は、被写体の推定位置に応じて位置情報サーバ制御プログラムが決めるＴＯＦセンサ１０１、１０２、１０３の撮影モードである。一般に、センサ機器は複数の撮影モードを持ち、被写体の状況に応じて適切な撮影モードを選択することにより、より正確な撮影データを得ることができる。たとえば、遠くの被写体を撮影する遠距離モード、近距離の被写体に特化した近距離モード、その中間の中間モードといった撮影モードが選択できることがある。
【００３９】
実施例１では、各ＴＯＦセンサ１０１、１０２、１０３の撮影モードは、位置情報サーバ制御プログラムがセンサと被写体１０７、１０８、１０９との距離に応じて指定する。解像度５０９は、作成する距離画像の解像度である。フレームレート５１０は、距離画像をＴＯＦセンサ１０１、１０２、１０３が位置情報サーバ１０４に距離画像を送信する頻度である。
【００４０】
被写体番号５１１は、各ＴＯＦセンサ１０１、１０２、１０３が写している被写体１０７、１０８、１０９の識別子である。監視領域表２０６には、管理者が、行動分析の観点で興味のある空間領域と、その領域の内外に被写体１０７、１０８、１０９が存在するときの撮影パラメータを指定する。領域番号６０１は、管理者が監視領域を特定するために使用する一意な領域識別子である。
【００４１】
領域範囲６０２は、各領域の範囲を指定する。範囲を表す形式は、センサ表２０５の視野領域５０３や撮影範囲５０６と同様、さまざまな形式で表すことができる。デフォルト解像度６０３とデフォルトフレームレート６０４は、それぞれ領域範囲６０２内に被写体１０７、１０８、１０９が存在しない場合にＴＯＦセンサ１０１、１０２、１０３が選択すべき距離画像の解像度とフレームレートである。監視解像度６０５と監視フレームレート６０６は、それぞれ領域範囲６０２内に被写体１０７、１０８、１０９が存在する場合にＴＯＦセンサ１０１、１０２、１０３が選択すべき距離画像の解像度とフレームレートである。
【００４２】
被写体表２０８は、検出された各被写体１０７、１０８、１０９に対して図２０に示す要素を含む。被写体番号２００１は、各被写体を一意に識別する識別子である。それ以外の要素２００２〜２００７は、各被写体１０７、１０８、１０９の各種関節の推定位置を表す。関節位置は、３次元座標で表される。位置情報サーバ制御プログラム２０４の関節位置提供機能４０６は、行動分析サーバ１０５からの要求に応じて被写体表２０８の内容の一部または全部を送信する。
【００４３】
図３にＴＯＦセンサ１０１、１０２、１０３の構成を示す。
各ＴＯＦセンサ１０１、１０２、１０３は、位置情報サーバ１０４と通信するためのネットワークインタフェース３０１、時刻を取得するための時計２０８、制御プログラムを実行するためのＣＰＵ３０２、プログラムや各種データを保持するためのメモリ３０３、現在の時刻を取得するための時計３０６、距離画像を作成するために被写体１０７、１０８、１０９との距離を計測する撮像モジュール３０７を備える。
【００４４】
メモリ３０３は、ＣＰＵ３０２で実行されるＴＯＦセンサ制御プログラム３０４、位置情報サーバ１０４に送信する距離画像データを作成するために使用する撮影パラメータ３０５を格納する。
【００４５】
ＴＯＦセンサ制御プログラム３０４は、図７に示す各機能を持つ。距離画像作成機能７０１は、撮像モジュール３０７で計測した被写体１０７、１０８、１０９との距離に基づき、各画素がＴＯＦセンサ１０１、１０２、１０３と被写体１０７、１０８、１０９との距離および空間内での位置を表す３次元座標を持つ距離画像を作成する。
【００４６】
距離画像圧縮機能は、距離画像の中で不要な部分のデータを無効値に置き換えまたは削除し、一般的なデータ圧縮技術を用いて全体のサイズを小さくする。距離画像送信昨日７０３は、圧縮後の距離画像をネットワークインタフェース３０１経由で位置情報サーバに送信する。
【００４７】
撮影パラメータ受信機能７０４は、位置情報サーバ１０４から送られた撮影パラメータをネットワークインタフェース３０１経由で受信し、撮影パラメータ３０５としてメモリ３０３内に保持する。
【００４８】
撮影パラメータ３０５は、図８に示す各要素を含む。解像度８０１およびフレームレート８０２は、作成・送信する距離画像の解像度およびフレームレートである。撮影範囲８０３、時間間隔８０４、距離モード８０５は、位置情報サーバのセンサ表２０５で該当するＴＯＦセンサ１０１、１０２、１０３に対して記録されている値である。
【００４９】
全体画像送信時刻８０５は、一番最近に視野全体を撮影した距離画像を位置情報サーバに送信した時刻である。画像送信時刻８０７は、一番最近に、視野全体化範囲限定化にかかわらず距離画像を送信した時刻である。全体画像送信時刻８０６以外は位置情報サーバ１０４から指定された値を保持する。全体画像送信時刻８０６および距離画像送信時刻８０７は、ＴＯＦセンサ制御プログラム３０４が生成した値を記録する。
【００５０】
位置情報サーバ制御プログラム２０４が、ＴＯＦセンサ１０１、１０２、１０３からの通信量を削減し、また被写体１０７、１０８、１０９の位置推定の精度を向上させるために、ＴＯＦセンサ１０１、１０２、１０３に処理変更を指示する流れを図９に示す。
【００５１】
プログラムの実行が開始されると、位置情報サーバ制御プログラム２０４はＴＯＦセンサ１０１、１０２、１０３から距離画像を受信する（ステップ９０２）。
【００５２】
距離画像を送信したＴＯＦセンサ１０１、１０２、１０３は、送信元のＩＰアドレスとセンサ表を照らし合わせることにより識別できる。次に、受信した距離画像から各画素に対応する点群を取り出す（ステップ９０３）。
【００５３】
受信した距離画像が圧縮されている場合は伸張処理を行う。距離画像が画素の３次元座標を含む場合は、それらの座標群がそのまま点群となる。位置情報サーバで３次元座標を生成する場合は、距離画像から点群の座標を生成する。
【００５４】
次に、取り出した点群に基づいて被写体の関節位置を推定し、推定結果と被写体を撮影したＴＯＦセンサ番号を被写体表２０８に格納する。また、位置推定した被写体１０７、１０８、１０９の被写体番号をセンサ表２０５の被写体番号５０９に記録する。
【００５５】
推定結果に基づき、ＴＯＦセンサ１０１、１０２、１０３の撮影パラメータを選択する（ステップ９０５）。被写体１０７、１０８、１０９が検出された場合、まず、センサ表２０５の位置基準５０４で指定された関節の推定結果位置と撮影領域サイズ５０５で指定された範囲から、以降の距離画像で位置推定する際に必要となる被写体周辺の領域を撮影範囲として選択する。
【００５６】
また、その領域とＴＯＦセンサ１０１、１０２、１０３の距離に基づいて、適切な撮影モードを決める。さらに、推定した関節位置が監視領域表２０６に指定されたいずれかの監視領域の範囲６０２に該当するか確認する。もし該当すれば、その領域に指定された監視解像度および監視フレームレートを選択する。
【００５７】
いずれの領域範囲にも該当しなければ、ＴＯＦセンサ１０１、１０２、１０３の視野領域５０３で指定される範囲と各監視領域の範囲の重複を比較し、該当する監視領域のデフォルト解像度およびデフォルトフレームレートを選択する。複数の監視領域に該当する場合は、最も高いデフォルト解像度とフレームレートを選択する。
【００５８】
被写体１０７、１０８、１０９が検出されなかった場合、視野全体を撮影範囲として、あらかじめ決められたデフォルトの撮影モードを撮影モードとして選択する。解像度とフレームレートは、被写体位置がいずれの監視領域にも該当しない場合と同様に選択する。
【００５９】
ただし、視野領域に最も近い位置に存在する被写体を被写体表２０８から探し、その被写体１０７、１０８、１０９の位置が視野領域外だが、視野領域との最短距離が短い場合（例えば、２０ｃｍ以下の場合）、その被写体１０７、１０８、１０９が直後に視野に入ってくる場合を想定し、被写体位置に近い視野領域部分に合わせて撮影モードを選択する。
【００６０】
また、その視野領域部分が監視領域表２０６に指定されたいずれかの監視領域の範囲６０２に該当するか確認する。もし該当すれば、その領域に指定された監視解像度および監視フレームレートを選択する。いずれの領域範囲にも該当しなければ、被写体１０７、１０８、１０９が検出された場合と同様にデフォルト解像度およびデフォルトフレームレートを選択する。
【００６１】
選択した撮影範囲、撮影モード、解像度、フレームレートをセンサ表２０５に記録された値と比較する（ステップ９０６）。もし、一致しないものがあれば、撮影パラメータを更新するためにＴＯＦセンサ１０１、１０２、１０３に選択した撮影パラメータを時間間隔５０７とともに送信する（ステップ９０７）。
【００６２】
ただし、一致しない場合でも、場合によっては差異がある程度小さい場合は新しい撮影パラメータを送信しないこともできる。たとえば、撮影範囲の大きさに被写体を包含する十分な余裕があり、撮影範囲が数ｃｍだけ移動した場合は、これまでの撮影範囲で撮影し続けても被写体全体を捉えることができるため、撮影範囲を更新する必要性は低い。
【００６３】
このように、従来の値と選択した値の差分が閾値を上回る場合のみ撮影パラメータを送信することにより、通信量およびＴＯＦセンサ１０１、１０２、１０３のパラメータ更新処理負荷を削減することもできる。送信した撮影パラメータは、センサ表２０５の撮影範囲５０６、撮影モード５０８、解像度５０９、フレームレート５１０に記録する。
【００６４】
管理者からユーザインタフェース２０７を介してプログラムの終了指示があった場合は、プログラムの実行を終了する（ステップ９０８）。そうでなければ、新しい距離画像を受信するためにステップ９０２に戻る。
【００６５】
ＴＯＦセンサ制御プログラム３０４が、位置情報サーバ１０４への通信量を削減し、また、被写体１０７、１０８、１０９の位置推定の精度を向上させるために、位置情報サーバ１０４からの指示に従って処理を変更する流れを図１０に示す。
【００６６】
まず、位置情報サーバ１０４からの撮影パラメータ指定がネットワークインタフェース３０１で受信されているか確認し（ステップ１００２）、受信されていれば指定されたパラメータを撮影パラメータ３０５の解像度８０１、フレームレート８０２、撮影範囲８０３、撮影モード８０５に記録する（ステップ１００３）。
【００６７】
次に、時計３０６から取得した現在の時刻と画像送信時刻８０７から、前回の距離画像送信からの経過時間を計算し、フレームレート８０２から計算できるフレーム送信間隔と比較する。前回の送信からの時間間隔が短すぎる場合は、時間が経過するのを待つ（ステップ１００８）。
【００６８】
例えば、フレームレートから計算できる間隔の半分が経過するまで待つ。フレームレートに対して適切な時間が経過したら、撮影モード８０５で指定されたモードで、撮像モジュール３０７により被写体との距離を計測し、距離画像を作成する（ステップ１００４）。被写体１０７、１０８、１０９の推定位置に基づいて指定された撮影モードを使用することにより、より正確な距離画像を作成することができる。
【００６９】
次に、全体画像送信時刻８０６と現在の時刻から、前回の全体画像送信からの経過時間を計算し、時間間隔８０４と比較する（ステップ１００５）。もし時間間隔８０４で指定された値よりも長い時間経過であれば、全体画像送信時刻８０６を現在時刻に更新し、全体画像を送信する（ステップ１００７）。
【００７０】
そうでなければ、撮影範囲８０３で指定される範囲の画素だけを含む部分画像を送信するために距離画像を圧縮すし（１００６）、圧縮した距離画像を位置情報サーバに送信する（ステップ１００７）。どちらの場合でも、距離画像送信の際には画像送信時刻８０７に現在時刻を記録する。
【００７１】
距離画像の圧縮は、一般的なデータ圧縮技術によるデータ量削減に加え、指定された範囲以外の画素を削除することによる情報量の削減を行う。範囲指定やデータ量削減法には、下記で説明するようにいくつかの方法がある。図１１は視野の平面１１０１を横６４０、縦４８０の画素に区切った距離画像を示している。
【００７２】
一般的に、Ｘ軸、Ｙ軸、Ｚ軸の３方向の広がりを持つ３次元空間に存在する点を平面に投影し、ＸＹピクセル座標により視野平面内の位置を、画素ごとに持つ被写体との距離値により奥行を表す距離画像が作成できる。視野全体を対象とした距離画像１１０１は６４０×４８０の有効画素を持つが、一部の範囲の画素のみが必要な場合は、画像のピクセル座標範囲を指定することにより画素数を減らすことができる。
【００７３】
例えば図１２で、ピクセル位置（２００，１００）の画素１２０４を基点に横２００ピクセル、縦３００ピクセルの範囲のみが必要な場合、１２０２に示す範囲だけが有効な画素となる。指定範囲以外の部分１２０３の画素には一様な無効値（たとえばすべて０）を指定することにより、データ圧縮が効きやすくなるため画像データサイズが小さくなる。
【００７４】
また、無効な画素を除外し、必要な範囲１２０２の画素のみを持つ２００×３００の距離画像を作成し、距離画像のサイズ自体を小さくすることもできる。この場合、その距離画像の画素が圧縮前の距離画像のどの部分に該当するかを示すメタデータを画像データのヘッダや別個のデータとして提供する。
【００７５】
図１２の例では距離画像に含める画素の範囲を画像上のピクセル座標で表したが、図１３は３次元空間座標で表した例である。
【００７６】
図１３では、直方体１３０２として指定された領域の中に存在する被写体１０７、１０８、１０９に対応する画素のみが距離画像１３０１に含まれる。それ以外の領域の被写体１０７、１０８、１０９は存在しない場合と同じ扱いとなり、対応する画素には無効値が設定される。
【００７７】
図１２の場合、距離画像の指定範囲には必ず有効画素が含まれるが、図１３のように３次元空間の領域で範囲指定した場合は、そうとは限らない。例えば、直方体領域１３０２の手前に直方体全体を隠すほど大きな被写体がある場合、指定範囲内には被写体が検出されないため距離画像にはまったく有効画素が含まれない。このように一様な値を持つ無効画素が多くなることでデータ圧縮が効きやすくなり、画像データサイズが小さくなる。
【００７８】
３次元区間座標で範囲を指定した場合も、図１４のように有効画素部分１４０２を包含する矩形を小さな距離画像１４０１として切り出すことで、画像サイズそのものを小さくすることもできる。この場合、指定範囲以外の領域に相当する画素部分１４０３、１４０４には無効値が設定される。また、その距離画像の画素が圧縮前の距離画像のどの部分に該当するかを示すメタデータを画像データのヘッダや別個のデータとして提供する。
以上のように、実施例１によれば、ＴＯＦセンサ１０１、１０２、１０３から位置情報サーバ１０４に送信される距離画像に被写体付近の画素情報のみを持たせることにより通信量を削減し、ネットワーク帯域のひっ迫を緩和することができる。
【００７９】
同時に、定期的に視野全体の距離画像を送ることにより、既存の被写体位置から離れた位置に現れた新しい被写体１０７、１０８、１０９の検出を可能としている。さらに、被写体位置に応じて適切な撮影モードを使用することにより、より正確な距離画像を取得し、位置推定精度を向上させることができる。
【００８０】
また、他のＴＯＦセンサ１０１、１０２、１０３で検出された視野外の被写体１０７、１０８、１０９の推定位置に基づいて、その被写体１０７、１０８、１０９が視野に入ってきたときに備えて、あらかじめ適切な撮影モード、解像度、フレームレートを設定しておく。これにより、将来視野に入ってくる被写体１０７、１０８、１０９の位置推定の精度を向上させることができる。
【実施例２】
【００８１】
実施例２は、被写体１０７、１０８、１０９との距離の測定と関節位置の推定をＴＯＦセンサ１０１、１０２、１０３で行い、複数のＴＯＦセンサ１０１、１０２、１０３から送られる関節位置の集約を位置情報サーバ１０４で行う位置推定システムである。以下、図面を参照して、実施例１と異なる部分のみ説明する。
【００８２】
図１７を参照して、実施例２の位置情報サーバ１０４の構成について説明する。
位置情報サーバ１０４のメモリ２０３には、位置情報サーバ制御プログラム１７０１、センサ表１７０２、被写体モデル表１７０３、推定パラメータ表１７０４、被写体表１７０５が格納される。時計１７０６は、実施例１における時計３０６と同様、現在の時刻を提供する。
【００８３】
位置情報サーバ制御プログラム１７０１は図１５に示す各機能を持つ。実施例２では、ＴＯＦセンサ１０１、１０２、１０３から距離画像の代わりに被写体１０７、１０８、１０９の推定関節位置が送られる。関節位置受信機能１５０１は、ＴＯＦセンサ１０１、１０２、１０３が推定した被写体１０７、１０８、１０９の関節位置を受信する。
【００８４】
被写体モデル選択機能１５０２は、受信した関節位置に基づき、体格、姿勢など、被写体１０７、１０８、１０９の特徴を選択する。推定パラメータ選択機能１５０３は、選択した特徴の被写体の関節位置を推定するために適切な推定パラメータを選択する。推定パラメータ送信機能１５０４は、選択した推定パラメータをＴＯＦセンサ１０１、１０２、１０３に送信する。関節位置提供機能１５０５および管理機能１５０６は実施例１と同様の機能である。
【００８５】
センサ表１７０２は、各ＴＯＦセンサ１０１、１０２、１０３に対して、図１６に示す要素を含む。
【００８６】
推定用被写体モデル番号１６０４は、現時点で被写体位置の推定に使用している被写体モデルの番号を保持する。検出被写体モデル１６０５は、被写体モデル選択機能で選択した被写体モデルの番号を保持する。被写体モデル検出時刻１６０６は、連続して同じ被写体モデルを選択した場合の最初の検出時刻を保持する。切り替え間隔１６０７は、推定用被写体モデルを切り替えるまでに同じ検出被写体モデルの選択が継続する時間として管理者が指定した値を保持する。
【００８７】
被写体モデル表１７０３は、あらかじめ定義された被写体モデルごとの特徴を記録し、各被写体モデルに対して図１８に示す要素を含む。
【００８８】
被写体モデル番号１６０１は、被写体モデルを一意に識別する識別子である。最小肩幅１８０２および最大肩幅１８０３は、その被写体モデルにおける両肩関節間の距離のそれぞれ最小値と最大値である。頭と床の最小距離１８０４および頭と床の最大距離１８０５は、その被写体モデルにおける頭と床の距離のそれぞれ最小値及び最大値である。
【００８９】
人数１８０６は、その被写体モデルにおける被写体の数である。人数は厳密な人数ではなく、Ｎ人以上あるいはＮ人以下という指定の場合もある。密集度１８０７は、その被写体モデルにおける被写体１０７、１０８、１０９の近さを示し、例えば、被写体間の平均距離の範囲で表される。
【００９０】
推定パラメータ表１７０４は、被写体モデルごとにあらかじめ定義された適切な推定パラメータを記録し、各被写体モデルに対して図１９に示す要素を含む。
【００９１】
被写体モデル番号１９０１は、被写体モデルを一意に識別する識別子である。最小肩肘距離１９０２および最大肩肘距離１９０３は、その被写体モデルにおける肩関節と肘関節の距離（上腕の長さ）の最小値と最大値である。推定器１９０４は、その被写体モデルに合わせて機械学習した関節位置推定器である。
【００９２】
被写体１０７、１０８、１０９に合わせて推定パラメータを限定することにより、推定精度を向上させることができる。例えば、大人から子供まで幅広い被写体１０７、１０８、１０９を対象とする推定処理の場合は、肩肘距離の範囲を広くとる必要がある。そのため、大人の被写体１０７、１０８、１０９に対して子供用の肩肘距離を適用して関節位置を推定し、推定結果を誤る可能性がある。
【００９３】
被写体１０７、１０８、１０９が大人であることがわかっている場合は、大人用の肩肘距離の閾値を適用することにより、そのような誤推定を排除することができる。同様に、特定の特徴を持つ被写体１０７、１０８、１０９に対して深く学習した推定器１９０４は、幅広い被写体１０７、１０８、１０９を対象に浅く学習した推定器よりも精度良く推定することができる。図２６に示すように、被写体表１７０５は実施例１と同様の構成要素に加え、各被写体の被写体モデル番号２６０７を記録する。
【００９４】
図２２を参照して、ＴＯＦセンサ１０１、１０２、１０３の構成について説明する。
各ＴＯＦセンサ１０１、１０２、１０３のメモリ３０３は、ＴＯＦセンサ制御プログラム２２０１、推定パラメータ２２０２を格納する。ＴＯＦセンサ制御プログラム２２０１は、図２３に示す各機能を持つ。
【００９５】
距離画像作成機能２３０１、点集合取得機能２３０２、関節位置推定機能２３０３は、それぞれ実施例１の対応する機能７０１、４０２、４０３と同様の機能である。ただし、関節位置推定機能２３０３は、後述のように推定時に位置情報サーバから受信した推定パラメータを使用する点で実施例１と異なる。
【００９６】
関節位置送信機能２３０４は、推定した関節位置を位置情報サーバ１０４に送信する。推定パラメータ受信機能２３０５は、位置情報サーバ１０４から送られた推定パラメータを受信し、推定パラメータ２２０２としてメモリ３０３内に保持する。
【００９７】
推定パラメータ２２０２は、図２４に示す要素を含む。最小肩肘距離２４０１、最大肩肘距離２４０２、推定器２４０３は、それぞれ推定パラメータ表１７０４の最小肩肘距離１９０２、最大肩肘距離１９０３、推定器１９０４として記録されている値である。
【００９８】
位置情報サーバ制御プログラム２２０１が、被写体１０７、１０８、１０９の位置推定の精度を向上させるためにＴＯＦセンサ１０１、１０２、１０３に処理変更を指示する流れを図２１に示す。
【００９９】
プログラムの実行が開始されると、位置情報サーバ制御プログラム２０４はＴＯＦセンサ１０１、１０２、１０３から被写体１０７、１０８、１０９の推定関節位置を受信し、被写体１０７、１０８、１０９が検出されていれば、その関節位置を被写体表１７０５に記録する（ステップ２１０２）。
【０１００】
受信した関節位置を被写体モデル表で定義される各モデルの特徴と比較し、該当する被写体モデルを１つ選択し、被写体表１７０５の被写体モデル番号２６０７に記録する（ステップ２１０３）。例えば、両肩関節の推定位置の距離を肩幅として計算し、その値よりも最小肩幅１８０２が小さく、最大肩幅１８０３が大きいモデルが該当する。同様に、様々な関節位置の推定結果から頭と床の距離、被写体人数、密集度についても、被写体モデル表で定義された値と比較する。
【０１０１】
もし、該当する被写体モデルが１つもない場合は、あらかじめ汎用モデルとして決められたデフォルトの被写体モデルを選択する。また、被写体１０７、１０８、１０９が検出されていない場合も同様にデフォルトの被写体モデルを選択する。ただし、視野領域に最も近い位置に存在する被写体１０７、１０８、１０９を被写体表１７０５から探し、その被写体１０７、１０８、１０９の位置が視野領域外だが、視野領域との最短距離が短い場合は、その被写体１０７、１０８、１０９が直後に視野に入ってくる場合を想定し、その被写体１０７、１０８、１０９の被写体モデルを選択する。
【０１０２】
選択した被写体モデルの番号が検出被写体モデル番号１６０５に記録されている番号と異なる場合は（ステップ２１０４）、検出被写体モデル番号１６０５に選択したモデル番号を記録し、被写体モデル検出時刻１６０６に現在の時刻を記録する（ステップ２１０９）。そうでない場合、現在の時刻と被写体検出時刻１６０６に記録された値の差分から、検出した被写体モデルがどのくらいの時間持続しているか計算し、切り替え間隔１６０７に記録された値と比較する（ステップ２１０５）。
【０１０３】
選択した被写体モデル番号が推定用被写体モデル番号と異なり、持続時間が切り替え間隔として指定された時間を超えていれば、推定用被写体モデル番号１６０４を選択した被写体モデル番号に更新し（ステップ２１０６）、被写体モデル番号に対応した推定用パラメータを推定パラメータ表１７０４から選択する（ステップ２１０７）。最後に、選択した推定パラメータをＴＯＦセンサ１０１、１０２、１０３に送信する（ステップ２１０８）。
【０１０４】
ＴＯＦセンサ制御プログラム２２０１が被写体１０７、１０８、１０９の位置推定の精度を向上させるために、位置情報サーバ１０４からの指示に従って処理を変更する流れを図２５に示す。
まず、位置情報サーバからの推定パラメータ指定が受信されているか確認し（ステップ２５０２）、受信されていれば指定されたパラメータを推定パラメータ２２０２として記録する（ステップ２２０３）。
【０１０５】
次に、実施例１と同様、距離画像を作成し（ステップ２５０４）、関節位置推定のために点集合を取得する（ステップ２５０５）。さらに、推定パラメータ２２０２に記録されている肩肘距離の範囲２４０１、２４０２および推定器２４０３を用いて被写体の関節位置を推定する（ステップ２５０６）。
最後に、推定結果を位置情報サーバに送信する（ステップ２５０７）。
【０１０６】
以上のように、実施例２によれば、関節位置の推定結果から被写体の特徴を認識し、その特徴に適した推定パラメータを使用することにより、位置推定精度を向上させることができる。
【０１０７】
また、他のＴＯＦセンサ１０１、１０２、１０３で検出された視野外の被写体１０７、１０８、１０９の推定位置とその被写体１０７、１０８、１０９の特徴に基づいて、その被写体１０７、１０８、１０９が視野に入ってきたときに備えて、あらかじめ適切な推定パラメータを設定しておく。これにより、将来視野に入ってくる被写体１０７、１０８、１０９の位置推定の精度を向上させることができる。
【符号の説明】
【０１０８】
１０１、１０２、１０３  ＴＯＦセンサ
１０４  位置情報サーバ
１０５  行動分析サーバ
１０６  ネットワーク
１０７、１０８、１０９  被写体
【図１】
2019086365.tif 000003
【図２】
2019086365.tif 000004
【図３】
2019086365.tif 000005
【図４】
2019086365.tif 000006
【図５】
2019086365.tif 000007
【図６】
2019086365.tif 000008
【図７】
2019086365.tif 000009
【図８】
2019086365.tif 000010
【図９】
2019086365.tif 000011
【図１０】
2019086365.tif 000012
【図１１】
2019086365.tif 000013
【図１２】
2019086365.tif 000014
【図１３】
2019086365.tif 000015
【図１４】
2019086365.tif 000016
【図１５】
2019086365.tif 000017
【図１６】
2019086365.tif 000018
【図１７】
2019086365.tif 000019
【図１８】
2019086365.tif 000020
【図１９】
2019086365.tif 000021
【図２０】
2019086365.tif 000022
【図２１】
2019086365.tif 000023
【図２２】
2019086365.tif 000024
【図２３】
2019086365.tif 000025
【図２４】
2019086365.tif 000026
【図２５】
2019086365.tif 000027
【図２６】
2019086365.tif 000028