(57)【要約】【課題】複数の測距センサを備えたセンサシステムにおいて、各センサの設置の調整と各センサから得られる距離データの補正が容易に行えるようにすること。【解決手段】センサ連携処理装置１２は、センサ１１ａ，１１ｂからの距離データを合成するためにセンサ間の座標合わせ処理を行う。座標合わせ処理では、各センサにより検出対象領域内を移動する移動体（作業者）の軌跡データを取得し、各センサで検出した移動体の軌跡が連続または一致するように各センサの検出座標を変換する。また、センサ間の座標合わせ処理が不可能な場合、ユーザが手動でセンサを調整する際のセンサ設置支援情報を提供する。【選択図】図４
2020106475.tif 000002
【特許請求の範囲】
【請求項１】
複数のセンサを設置し検出対象領域内の検出対象物までの距離を測定して距離画像を生成するセンサシステムにおいて、
前記複数のセンサからの距離画像を合成するために、前記センサ間の座標合わせ処理を行うセンサ連携処理装置と、
生成した距離画像を表示する表示装置と、を備え、
前記センサ連携処理装置は、前記センサ間の座標合わせ処理を行うため、前記複数のセンサにより検出対象領域内を移動する移動体の軌跡データを取得し、各センサで検出した移動体の軌跡が連続または一致するように各センサの検出座標を変換することを特徴とするセンサシステム。
【請求項２】
請求項１に記載のセンサシステムにおいて、
前記複数のセンサは、それぞれの検出対象領域が互いに隣接するように設置され、
前記センサ連携処理装置は、前記センサ間の座標合わせ処理を行うため、各センサで検出した検出対象領域内の軌跡が隣接する検出対象領域の軌跡と滑らかに連結させるように座標変換を行うことを特徴とするセンサシステム。
【請求項３】
請求項１に記載のセンサシステムにおいて、
前記複数のセンサは、それぞれの検出対象領域がほぼ一致するように設置され、
前記センサ連携処理装置は、前記センサ間の座標合わせ処理を行うため、各センサで検出した検出対象領域内の軌跡が互いに重畳されるように座標変換を行うことを特徴とするセンサシステム。
【請求項４】
請求項２または３に記載のセンサシステムにおいて、
前記センサ連携処理装置は、前記センサ間の座標合わせ処理を行うため、各センサにより検出対象領域内の床面または路面を検出し、各センサで検出した床面または路面の位置と方向が一致するよう座標変換を行うことを特徴とするセンサシステム。
【請求項５】
請求項４に記載のセンサシステムにおいて、
前記センサ連携処理装置は、前記床面または前記路面を検出するために、各センサにより検出対象領域内の距離データと、検出対象領域内を移動する移動体の軌跡データを取得し、前記距離データの成す平面のうち、前記軌跡データの成す面と平行な面を前記床面または前記路面と判定することを特徴とするセンサシステム。
【請求項６】
請求項４に記載のセンサシステムにおいて、
前記センサ連携処理装置は、前記床面または前記路面を検出するために、各センサにより検出対象領域内を移動する移動体の軌跡データを取得し、前記軌跡データの成す面を前記床面または前記路面と判定することを特徴とするセンサシステム。
【請求項７】
請求項１に記載のセンサシステムにおいて、
前記センサ連携処理装置は、前記センサ間の座標合わせ処理を行うときの補正情報として、補正するセンサ名とその回転角度または平行移動量を前記表示装置に表示することを特徴とするセンサシステム。
【請求項８】
請求項１に記載のセンサシステムにおいて、
前記センサ連携処理装置は、前記センサ間の座標合わせ処理が不可能な場合、ユーザが手動で調整する際のセンサ設置支援情報として、調整すべきセンサ名とその回転角度または平行移動量を前記表示装置に表示することを特徴とするセンサシステム。
【請求項９】
設置位置が異なる複数のセンサで測定された検出対象領域内の距離データを連携して処理するセンサ連携処理装置において、
前記複数のセンサ間の座標合わせ処理を行うとともに、各センサからの距離データを合成する演算処理部を有し、
前記演算処理部は、前記センサ間の座標合わせ処理を行うため、前記複数のセンサにより検出対象領域内を移動する移動体の軌跡データを取得し、各センサで検出した移動体の軌跡が連続または一致するように各センサの座標変換パラメータを定めることを特徴とするセンサ連携処理装置。
【請求項１０】
請求項９に記載のセンサ連携処理装置において、
前記演算処理部は、前記センサ間の座標合わせ処理を行う際、各センサで検出した移動体の軌跡が前記検出対象領域に出現するときのベクトル、または前記検出対象領域から消失するときのベクトルを求め、求めたベクトルが各センサ間で一致するように各センサの座標変換パラメータを定めることを特徴とするセンサ連携処理装置。
【請求項１１】
複数のセンサを設置し検出対象領域内の検出対象物までの距離を測定して距離画像を生成するための距離測定方法において、
前記複数のセンサにより検出対象領域内を移動する移動体の軌跡データを取得するステップと、
各センサで検出した移動体の軌跡が連続または一致するように各センサの検出座標を変換して前記センサ間の座標合わせを行うステップと、
座標合わせを行った状態で前記複数のセンサからの距離画像を合成して表示するステップと、
を備えることを特徴とする距離測定方法。
【請求項１２】
請求項１１に記載の距離測定方法において、
検出対象領域内を移動する前記移動体として、人物が移動することを特徴とする距離測定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の測距センサを有するセンサシステム及びこれを用いた距離測定方法に関する。
【背景技術】
【０００２】
光の伝達時間に基づいて物体までの距離を測定し（以下、ＴＯＦ法：タイム・オブ・フライト）、画素毎に距離情報を有する距離画像を取得する測距センサが知られている。例えば特許文献１に記載の距離画像カメラは、複数のカメラユニットを備え、単一の撮像部の画角よりも広い画角を有するとともに距離精度の高い距離画像を得ることを目的としている。その構成として、「距離情報置換部で求められた前記平均距離情報と前記各距離画像の各画素の２次元画素位置とに基づいて各画素の２次元位置情報を補正する２次元位置補正部と、この２次元位置補正部で補正された各画素の前記２次元位置情報と前記距離情報とを共通の３次元座標系に変換することによって前記各距離画像を合成した合成距離画像を求める距離画像合成部とを有する」ことが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２４７２２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１では、各カメラユニットの距離画像を座標変換して合成する場合、「各カメラユニット１０の設置時のキャリブレーションによって得られたカメラパラメータ（内部および外部）にしたがって、各距離画像の各画素のＸ値、Ｙ値、Ｚ値をカメラ座標系または世界座標系にそれぞれ座標変換することで各距離画像を合成する」と記載されている。
【０００５】
このキャリブレーション（補正）の一般的手法として、測定空間に特定の対象物（マーカ）を配置して各カメラユニットでマーカの位置を測定し、共通の座標値となるように座標変換を行うことが知られている。しかし、現実にはマーカを適切に配置するのが困難な場合がある。すなわち、各カメラユニットでカバーする測定領域は本来異なっている（分割されている）ので、マーカは各領域に跨るように配置せねばならず、カメラユニットの設置に応じて得られる距離画像を確認しながらマーカの配置を変更する、もしくはカメラユニットの設置を調整するという煩雑な繰返し作業になる。あるいはこれを避けるため、マーカを大型化し、または特殊な形状のマーカを用いることも考えられるが、現実の測定空間には様々な障害物が存在し、マーカを所望の位置に配置できない場合もある。
【０００６】
以上を鑑みて、本発明の目的は、複数の測距センサを備えたセンサシステムにおいて、各測距センサの設置の調整と各測距センサのから得られる距離データの補正が容易となるセンサシステム及び距離測定方法を提供することである。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明は、複数のセンサを設置し検出対象領域内の検出対象物までの距離を測定して距離画像を生成するセンサシステムにおいて、複数のセンサからの距離画像を合成するために、センサ間の座標合わせ処理を行うセンサ連携処理装置と、生成した距離画像を表示する表示装置と、を備える。センサ連携処理装置は、センサ間の座標合わせ処理を行うため、複数のセンサにより検出対象領域内を移動する移動体の軌跡データを取得し、各センサで検出した移動体の軌跡が連続または一致するように各センサの検出座標を変換する。
【０００８】
また本発明は、複数のセンサを設置し検出対象領域内の検出対象物までの距離を測定して距離画像を生成するための距離測定方法において、複数のセンサにより検出対象領域内を移動する移動体の軌跡データを取得するステップと、各センサで検出した移動体の軌跡が連続または一致するように各センサの検出座標を変換してセンサ間の座標合わせを行うステップと、座標合わせを行った状態で複数のセンサからの距離画像を合成して表示するステップと、を備える。
【発明の効果】
【０００９】
本発明によれば、複数の測距センサのキャリブレーションのために作業者の移動軌跡を利用するので、キャリブレーション用の専用のマーカを配置する必要がなく、測距センサの設置の調整が容易に行える。
【図面の簡単な説明】
【００１０】
【図１Ａ】実施例１に係るセンサシステム１の外観図。
【図１Ｂ】センサシステム１の構成を示すブロック図。
【図２】センサ１１ａ，１１ｂの内部構成を示すブロック図。
【図３】センサ連携処理装置１２の内部構成を示すブロック図。
【図４】キャリブレーション処理の概要を示す全体のフローチャート。
【図５Ａ】床面検出処理（Ｓ２００）のフローチャート。
【図５Ｂ】平面検出処理（Ｓ２１０）の詳細フローチャート。
【図５Ｃ】各ボクセル領域の平面検出処理（Ｓ２１５）の詳細フローチャート。
【図５Ｄ】移動体軌跡検出処理（Ｓ２２０）の詳細フローチャート。
【図５Ｅ】平行判定処理（Ｓ２３０）の詳細フローチャート。
【図６Ａ】軌跡連結処理（Ｓ３００）のフローチャート。
【図６Ｂ】移動体軌跡検出処理（Ｓ３３０）の詳細フローチャート。
【図６Ｃ】座標変換処理（Ｓ３４０）の詳細フローチャート。
【図７】１個のセンサの撮影空間の表示の仕方を示す図。
【図８Ａ】回転変換が不要な設置状態の撮影空間を示す図。
【図８Ｂ】図８Ａの設置状態における作業者の軌跡を示す図。
【図９Ａ】回転変換が必要な設置状態の撮影空間を示す図。
【図９Ｂ】図９Ａの設置状態における作業者の軌跡を示す図。
【図９Ｃ】図９Ｂの軌跡を座標変換により補正した後の状態を示す図。
【図９Ｄ】補正不可能な設置状態の例を示す図。
【図１０Ａ】センサの設置状態（角度）に不良があることを警告する画面。
【図１０Ｂ】不良内容の情報９１と補正情報９２を示す画面。
【図１０Ｃ】補正結果を示す画面。
【図１０Ｄ】補正不可を示す画面。
【図１１Ａ】センサの設置状態（高さ）に不良があることを警告する画面。
【図１１Ｂ】不良内容の情報９１と補正情報９２を示す画面。
【図１１Ｃ】補正結果を示す画面。
【図１１Ｄ】補正不可を示す画面。
【図１２Ａ】実施例２の床面検出処理（Ｓ４００）のフローチャート。
【図１２Ｂ】平行判定処理（Ｓ４２０）の詳細フローチャート。
【図１３Ａ】実施例３に係るセンサシステム１’の外観図。
【図１３Ｂ】センサシステム１’の構成を示すブロック図。
【図１４Ａ】軌跡重畳処理（Ｓ５００）のフローチャート。
【図１４Ｂ】座標変換処理（Ｓ５４０）の詳細フローチャート。
【図１５Ａ】回転変換が不要な設置状態の撮影空間を示す図。
【図１５Ｂ】図１５Ａの設置状態における作業者の軌跡を示す図。
【図１６Ａ】回転変換が必要な設置状態の撮影空間を示す図。
【図１６Ｂ】図１６Ａの設置状態における作業者の軌跡を示す図。
【図１６Ｃ】図１６Ｂの軌跡を座標変換により補正した後の状態を示す図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態を図面を用いて説明する。また、測距センサは単に「センサ」とも呼ぶ。
【実施例１】
【００１２】
実施例１では、室内の天井に複数のセンサを設置し、室内の人物を測距する場合について説明する。以下では、２個のセンサを用いた構成について説明するが、２以上のセンサの場合も同様である。
【００１３】
図１Ａは、実施例１に係るセンサシステム１の外観図である。天井５には２個のセンサ１１ａ，１１ｂが設置され、床面４上の検出対象物体（例えば人物３）を撮影し、距離画像を生成する。各センサによる撮影領域２ａ，２ｂは隣接するように、センサの位置と撮影方向が調整される。各センサ１１ａ，１１ｂはネットワーク１３を介して、センサ連携処理装置１２と表示装置１０に接続されている。表示装置１０は、室内に存在する人物３の距離画像を表示する。例えば、本システムを店舗に適用することで、店舗内の客の動きを把握することができる。実施例１においては、広い室内をカバーするように複数のセンサの位置をずらして設置している。そのため、各センサの座標系を合わせるため、センサ設置作業時に座標変換処理を行う。
【００１４】
図１Ｂは、センサシステム１の構成を示すブロック図である。センサシステム１は、２個のセンサ１１ａ，１１ｂと、２個のセンサを連携して処理するセンサ連携処理装置１２と、２個のセンサとセンサ連携処理装置１２との間の通信を行うネットワーク１３と、センサ連携処理装置１２からの出力と実行結果を可視化して表示する表示装置１０と、を備えている。
【００１５】
センサ１１ａ，１１ｂは、測定空間へ照射光を発光し、測定空間からの反射光を受光して、その遅延時間から空間内の各物体までの距離を測定し、距離画像を生成する。
センサ連携処理装置１２は、２個のセンサ１１ａ，１１ｂの距離画像を合成するために、センサ間の座標合わせ処理（キャリブレーション）を行う。座標合わせ処理のため、床面検出処理と軌跡連結処理を行う。床面検出処理では、２個のセンサ１１ａ，１１ｂでそれぞれの撮影領域２ａ，２ｂの床面の座標（高さ）を測定して、それらの値を一致させる。軌跡連結処理では、床面４上を移動体（例えば作業者３）が移動してセンサ１１ａ，１１ｂで移動軌跡を測定し、撮影領域２ａ，２ｂにおける軌跡が連続に連結されるよう座標変換する。
【００１６】
図２は、センサ１１ａ，１１ｂの内部構成を示すブロック図である。センサ１１ａ，１１ｂは、ＴＯＦ方式により対象物までの距離を測定する。発光部２１は測定空間へ照射光を出射し、受光部２２は測定空間からの反射光を受光する。受光部２２は、複数の画素センサが２次元状に配置されており、２次元状の遅延時間と反射光の強度の情報を生成する。距離画像生成部２３は、発光部２１での発光タイミングから受光部２２での受光タイミングまでの遅延時間から、測定空間内の物体までの距離を測定し、距離値を例えば色分けして２次元表示した距離画像を生成する。輝度画像生成部２４は、受光部２２での反射光の強度から輝度画像を生成する。
【００１７】
通信部２５は、距離画像、輝度画像、制御情報を、ネットワーク１３を介してセンサ連携処理装置１２と通信する。制御部２６は、通信部２５で受けたセンサ連携処理装置１２からの制御信号に応じて、発光部２１や受光部２２などの各部を制御する。バッファメモリ２７は距離画像を生成するために使用され、バッファメモリ２８は輝度画像を生成するために使用される。なお、２つのバッファメモリ２７，２８は、１つメモリをアドレスを別々に割りあてて共有しても構わない。
【００１８】
図３は、センサ連携処理装置１２の内部構成を示すブロック図である。通信部３１は、ネットワーク１３経由で、センサ１１ａ，１１ｂに実行モードの指示を送信し、センサ１１ａ，１１ｂから測定データの受信を行う。バッファメモリ３２は、送受信するデータの一時格納エリアとして使用する。
【００１９】
演算処理部３５は、通信部３１で受信したセンサ１１ａ，１１ｂからの距離データをバッファメモリ３６に蓄積し、蓄積した距離データを基に、床面検出処理や軌跡連結処理などを含む座標合わせ処理を行う。また、センサ１１ａ，１１ｂで生成された距離画像や輝度画像を合成する。演算支援部３３は、演算処理部３５の処理の一部を実行することで、パフォーマンスを向上させる。演算処理部３５から演算支援部３３へのデータ入力や、演算支援部３３から演算処理部３５への演算結果出力などのデータ転送は、共有メモリ３４を介して行われる。
【００２０】
表示出力部３７は、演算処理部３５で処理された結果（座標変換処理結果や合成した距離画像）を出力し、表示装置１０に表示させる。バッファメモリ３８は、表示データを一時的に蓄積する。なお、バッファメモリ３２，３６，３８と共有メモリ３４については、１つのメモリのアドレスを別々に割り当てて共有しても構わない。
【００２１】
次に、センサシステム１における複数のセンサのキャリブレーション動作（座標合わせ処理）について詳細に説明する。
図４は、キャリブレーション処理の概要を示す全体のフローチャートである。設置作業者の動作（Ｓ１０１−Ｓ１０６）とセンサシステム１の処理（Ｓ１１１−Ｓ１２０）を対応させて示している。また、各処理の詳細を示す後述の図面番号を記述している。
【００２２】
作業者は複数のセンサを設置して処理動作を起動させると（Ｓ１０１）、センサシステム１は床面検出処理を開始する。各センサは撮影空間から距離データ（点群データ）を取得し（Ｓ１１１）、撮影空間内で平面状に分布する面（平面）を検出する（Ｓ１１２）。平面を検出すると、センサシステムから移動開始通知が送られ（Ｓ１１３）、作業者（移動体）は撮影空間内の床面上を移動し（Ｓ１０２）、各センサは移動体の距離データ（点群データ）を取得する（Ｓ１１４）。センサシステムは点群データから移動体の軌跡を検出し（Ｓ１１５）、Ｓ１１２で検出した平面と移動体の軌跡の成す面の平行度を判定することで（Ｓ１１６）、移動体の軌跡の成す面と最も平行な平面を床面として検出する。全てのセンサについてデータの取得（床面検出）が完了すると（Ｓ１１７）、作業者は移動を終了する（Ｓ１０３）。
【００２３】
次に、センサシステム１は軌跡連結処理に進む。Ｓ１１４で取得した移動体の点群データから、隣接する撮影空間２ａ，２ｂに跨る軌跡を取得する（Ｓ１１８）。そして、隣接する撮影空間２ａ，２ｂの連結部で移動体の軌跡が連続するように各センサの座標を変換る（Ｓ１１９）。連結結果を作業者に通知する（Ｓ１２０）。通知内容は、センサの初期設置状態が正常か不良か（Ｓ１０４）、不良の場合には座標変換（補正）の内容、又は補正不可の理由を示す（Ｓ１０５）。補正後の連結状態を示し（Ｓ１０６）、作業者が承認すればキャリブレーション動作（設置作業）を終了する。補正が不可能な場合や作業者が承認しない場合は、Ｓ１０１に戻りセンサを再度設置し直す。
【００２４】
なお、Ｓ１１１の平面の距離データの取得とＳ１１４の移動体の距離データの取得は、同時に行うことができる。すなわち、撮影空間から動体抽出する際の背景と前景として取得すればよく、別々に取得するよりも高速に処理できる。また、Ｓ１１８における軌跡取得についても、Ｓ１１４で取得した移動体の点群データを利用することで、移動体（作業者）の一連の歩行動作は１回で済ますことができる。
【００２５】
Ｓ１１１〜Ｓ１１６の床面検出処理では、設置した各センサで撮影空間内の距離データと床面上を移動する移動体（作業者）の距離データを取得し、移動体の軌跡の成す面と平行な平面を床面と判定するものである。そして、床面検出処理の結果から、各センサの床面からの設置高さや向きなどの自己位置を取得し、各センサの設置高さと撮影方向（仰俯角）について座標合わせを行うことができる。
【００２６】
Ｓ１１８〜Ｓ１１９の軌跡連結処理では、移動体としての作業者が測定対象領域をくまなく歩行し、各センサで一連の歩行動作を少なくとも１回以上撮影する。各センサは、撮影した距離データから、歩行する作業者の座標データを時系列に並べた軌跡データを取得する。そして、軌跡データの先頭と末尾、すなわち、当該センサの撮影範囲に作業者が入ったときの軌跡のベクトルと、撮影範囲から出たときの軌跡のベクトルを算出する。この出現時のベクトルと消失時のベクトルが、隣接するセンサの撮影空間の間で連続して連結されるように、各センサの座標変換（ローカル座標からワールド座標への変換）を行う。これにより、センサシステムがカバーする全体の測定対象領域を、１つの座標系（ワールド座標）で捉えることができる。
【００２７】
このように本実施例では、キャリブレーション動作のために移動体（作業者）の移動軌跡を利用するので、従来のような専用のマーカを配置する必要がなく、容易にセンサの設置作業を行うことができる。
【００２８】
以下、個別の処理について詳細に説明する。
図５Ａは、床面検出処理（Ｓ２００）のフローチャートである。本フローは、センサ連携処理装置１２から床面検出処理の指示を受けて、センサ１１ａ，１１ｂが撮影空間内の距離データと床面上を移動する移動体の距離データを取得する。そして、移動体の軌跡の成す面と平行な平面を床面と判定するものである。
【００２９】
Ｓ２１０では、センサ１１ａ，１１ｂが撮影空間内の距離データを取得し、撮影空間内で平面状に分布する面（平面）を検出する。詳細は図５Ｂ、図５Ｃに示す。
Ｓ２２０では、移動体（作業者）は撮影空間内の床面上を移動し、各センサは移動体の距離データを取得するとともに、移動体の軌跡を検出する。詳細は図５Ｄに示す。
【００３０】
Ｓ２３０では、Ｓ２１０で検出した平面と、Ｓ２２０で検出した移動体の軌跡の成す面の平行度を判定し、移動体の軌跡の成す面と最も平行な平面を床面として検出する。詳細は図５Ｅに示す。
本フローは、床面検出処理の１回分の動作を示すものであり、繰り返し実行して平均化することや、ローレベル信号カットなどの方法と組み合わせることにより、センサで取得する距離データのノイズを除去して、床面検出の精度を向上できる。
【００３１】
図５Ｂは、図５Ａにおける平面検出処理（Ｓ２１０）の詳細フローチャートである。
Ｓ２１１では、平面の垂直軸（すなわち平面の法線ベクトルに平行な軸）の角度の初期値を取得する。ここで、床面を検出対象の平面とし、センサを床面から離れた高さの天井に鉛直下向きに設置する。センサのローカル座標の向きとしてＺ軸正方向をセンサの向きとする場合は、水平な床面の垂直軸の初期値は、Ｚ軸正方向を基準の向きとして、基準の向きからの差分として、Ｘ軸回転角度＝１８０度、Ｙ軸回転角度＝０度、と表現することができる。なお、検出対象の平面が床面ではなく、鉛直な壁面の場合は、壁面に垂直な水平軸を基準とすることで、以下に説明する処理と同様な処理で検出が可能となる。
【００３２】
Ｓ２１２では、検出対象の平面が含まれる領域の距離データを取得する。この段階では、どの領域が平面か不明なので、センサで取得可能な全ての距離データを取得しておく。
Ｓ２１３では、Ｓ２１２で取得した距離データを、ワールド座標の３Ｄ点群データに変換する。点群データは、個々の距離データの位置をＸＹＺ座標で表現したデータセットである。例えば、６４０×４８０画素の解像度を持つＴＯＦセンサで取得できる距離データは、最大でおよそ３０万画素分であり、各画素がもつセンサからの距離情報を、センサのローカル座標に変換して、ＸＹＺ座標値を３０万個並べたデータセットが、距離データとなる。さらに、ワールド座標のＺ軸正方向を鉛直下向きとし、ワールド座標の座標軸とローカル座標の座標軸の変換を、Ｘ軸回転角度と、Ｙ軸回転角度で表現することで、ワールド座標とローカル座標の回転変換が可能となる。なお、１つのローカル座標をワールド座標に変換する場合は、Ｚ軸回転が０度に固定しても問題ないが、複数のローカル座標をワールド座標に変換する場合は、Ｚ軸回転の変換も必要となる。
【００３３】
Ｓ２１４では、検出対象の３次元空間を一定サイズの領域に分割する。例えば、一辺２５ｃｍの立方体がＸＹＺ軸方向に隣接して３次元空間を充填するように分割する。この立方体をボクセル領域と呼ぶ。
Ｓ２１５では、各ボクセル領域に含まれる点群データごとに、平面検出を実行する。ボクセル領域の平面検出処理の詳細は、図５Ｃで説明する。
Ｓ２１６では、Ｓ２１５で検出した各領域で検出した平面と平面の距離が十分小さければ、同じ平面とみなす。
【００３４】
Ｓ２１７では、全てのボクセル領域で平面検出したかどうかを判定し、全てのボクセル領域で平面検出していれば、終了する。まだ平面検出していないボクセル領域が残っていれば、そのボクセル領域に対して、Ｓ２１５以下の処理を実行する。
【００３５】
図５Ｃは、図５Ｂにおける各ボクセル領域の平面検出処理（Ｓ２１５）の詳細フローチャートである。ここでの平面検出処理は、ボクセル領域内の点群データを投影した場合に最も点群が密集する投影軸の向きを求めることで、投影軸の向きを平面の法線ベクトルの向きとみなして平面検出を行うものである。
【００３６】
Ｓ２１５１では、平面検出対象のボクセル領域の投影軸の角度を設定する。投影軸の角度は、例えばＸ軸回転角度を５度刻みで７２通り、Ｙ軸とＺ軸についても同様に７２通りずつ、それらの組み合わせで計７２×７２×７２＝３７３２４８通りを試行することで粗探索し、さらに、その結果のうち候補となる角度の組み合わせを中心に、１度刻みで精査することで、高速かつ高精度に探索ができる。
Ｓ２１５２では、点群データを投影軸に射影し、Ｓ２１５３では、投影軸上の点群分布を一次元のヒストグラムとして作成する。
【００３７】
Ｓ２１５４では、Ｓ２１５３で作成したヒストグラムの極大点を求め、Ｓ２１５５では、極大点がはっきりとしたピークを持つかどうかを判定する。ピークを持つ（Ｙｅｓ）と判定されれば、Ｓ２１５６で、投影軸の角度を平面の法線ベクトルの候補としてリストアップする。Ｓ２１５５でピークを持たない（Ｎｏ）と判定されれば、平面に垂直な軸ではないと考えられるので、候補からは除外しリストアップしない。
Ｓ２１５７では、未実施の角度の組み合わせパターンが残っているかどうかを判定し、残っていれば（Ｙｅｓ）、Ｓ２１５１から繰り返し処理を行う。未実施の角度の組み合わせパターンが残っていなければ（Ｎｏ）、Ｓ２１５８へ進む。
【００３８】
Ｓ２１５８では、Ｓ２１５１からＳ２１５７までの処理により、平面の法線ベクトルの候補としてリストアップした投影軸の向きと極大点のうち、最も鋭いピークとなった投影軸の角度を平面の法線ベクトルの向きとみなし、極大の座標をなす点群を、平面をなす点群とみなす。
【００３９】
図５Ｄは、図５Ａにおける移動体軌跡検出処理（Ｓ２２０）の詳細フローチャートである。ここでは、移動体の距離データから移動体の軌跡を求める。
Ｓ２２１では、床面上を移動する移動体の距離データを取得する。移動体が作業者である場合は、床面の上を歩行する様子を２個のセンサで測定することで距離データを取得する。移動体（作業者）が測定対象の領域をくまなく歩行し、各センサで一連の歩行動作を少なくとも１回以上測定することで、距離データを取得する。
【００４０】
Ｓ２２２では、Ｓ２２１で取得した距離データから、移動体（作業者）の点群データを抽出し、移動体の位置をＸＹＺ座標で時系列に並べることで、移動体の軌跡データを取得する。なお、移動体の点群データの抽出には、静止している点群を背景とし、動いている点群を前景として、動体を抽出することで実現できる。
【００４１】
図５Ｅは、図５Ａにおける平行判定処理（Ｓ２３０）の詳細フローチャートである。ここでは、図５Ｂおよび図５Ｃで検出した平面と、図５Ｄで検出した移動体軌跡を突き合わせて、軌跡と平面が平行である条件を満たす平面を床面とみなす。
【００４２】
Ｓ２３１では、図５Ｄで検出した移動体の軌跡を、図５Ｂおよび図５Ｃで検出した平面の垂直軸に射影する。Ｓ２３２では、Ｓ２３１の垂直軸上の軌跡の分布を、一次元のヒストグラムとして作成する。Ｓ２３３では、Ｓ２３２で作成したヒストグラムの極大点を取得する。
【００４３】
Ｓ２３４では、Ｓ２３３で取得した極大点が、鋭いピークを持つかどうかを判定する。ピークが鋭い場合（Ｙｅｓ）は、Ｓ２３５で軌跡と平面が平行であるとみなし、その平面を床面とみなす。Ｓ２３４でピークが鋭くない場合（Ｎｏ）は、他の平面に対して、Ｓ２３１からＳ２３４までの処理を繰り返す。
【００４４】
なお、図５Ｅにおける軌跡と平面との平行判定処理は、移動体が作業者である場合は、作業者の頭頂部の軌跡と平面との距離が作業者の身長に等しいことを利用して判定することもできる。さらに、壁面沿いに歩く場合などは、壁面を床面と誤検出しないよう、移動時の重心の上下動と頭頂部の左右の揺れのパターンから、壁面と床面を区別することができる。すなわち、重心の上下動する方向は鉛直方向であり、左右に揺れる方向は水平方向であることから、鉛直な壁面と水平な床面を区別できる。また、移動体が作業者である場合は、壁面を床面と誤検出しないよう、作業者の足が接地している前提をもとに、平面と移動体の間の点群の存在しない領域の大きさが小さい方を床面とみなすことで、区別が可能である。
【００４５】
図６Ａは、軌跡連結処理（Ｓ３００）のフローチャートである。本フローは、センサ連携処理装置１２から軌跡連結処理の指示を受けて、センサ１１ａ，１１ｂが床面上を移動する移動体の軌跡を取得する。そして、センサ１１ａ，１１ｂで取得した移動体の軌跡が連続するように座標変換するものである。
【００４６】
Ｓ３１０は、物理的なセンサ設置作業であり、作業者は複数のセンサ１１ａ，１１ｂを撮影領域をカバーするように設置する。
Ｓ３２０は、図５Ａで行った床面検出処理（Ｓ２００）の結果を用いて、各センサの床面からの設置高さや向きなどの自己位置を取得する。すなわちこれにより、各センサの設置高さと向き（仰俯角）について校正が可能となる。
【００４７】
Ｓ３３０では、隣接する撮影領域に跨るような移動体軌跡検出を行う。その処理の詳細は、図６Ｂで説明する。
Ｓ３４０では、Ｓ３３０で得られた軌跡を連結する処理、すなわちセンサ間の座標変換を行う。その処理の詳細は、図６Ｃで説明する。
【００４８】
図６Ｂは、図６Ａにおける移動体軌跡検出処理（Ｓ３３０）の詳細フローチャートである。なお、この処理は、図５Ｄに示した移動体軌跡検出処理（Ｓ２２０）と兼用することができる。
Ｓ３３１では、各センサが移動体を測定できるよう、移動体（作業者）が動線を網羅するように歩行して移動する。
【００４９】
Ｓ３３２では、作業者までの距離を各センサで測定し、得られた距離データから動体抽出を行い、移動体である作業者の点群を取得する。
Ｓ３３３では、Ｓ３３２で得られた作業者の点群から、軌跡を取得する。
【００５０】
図６Ｃは、図６Ａにおける座標変換処理（Ｓ３４０）の詳細フローチャートである。図６Ａで得られた各センサからの軌跡を時系列に並び替え、軌跡を最も滑らかに連結する座標変換のパラメータを取得するものである。
【００５１】
Ｓ３４１では、図６Ｂ（Ｓ３３３）で取得した移動体（作業者）の軌跡を、移動体が出現した順番にソートする。このとき、連続する軌跡を１本と数え、ソートされた結果、軌跡の順番は異なるセンサの撮影空間を行き来することになる。なお、出現した順番ではなく、消失した順番でソートしてもよい。
【００５２】
Ｓ３４２では、Ｓ３４１でソートされた隣接するＮ番目とＮ＋１番目の軌跡に着目する。これらは互いに異なるセンサで取得された軌跡である。そして、Ｎ番目の軌跡の消失時のベクトルと、Ｎ＋１番目の軌跡の出現時のベクトルが、外挿して連続するように、Ｎ＋１番目の軌跡を座標変換する。座標変換には、座標原点の移動と座標軸の回転を含む。
【００５３】
Ｓ３４３では、Ｓ３４２での座標変換により、Ｎ番目の軌跡とＮ＋１番目の軌跡が連続しているかどうかを判定する。判定の結果、連続していなければ（Ｎｏ）、Ｓ３４４でエラー警告を行う。つまり、軌跡の連結が困難、もしくは、ソートされた軌跡のＮ番目の消失からＮ＋１番目の出現までの時間が長く、軌跡の連続性が低いとみなせる場合は、軌跡連結処理（座標変換処理）が失敗した旨のエラー警告を行う。
【００５４】
Ｓ３４３の判定で、Ｎ番目とＮ＋１番目の軌跡が連続していれば（Ｙｅｓ）、Ｓ３４５では、連結処理が未実施の軌跡が残っているかを判定する。残りの軌跡があれば、Ｓ３４１以降の処理を繰り返し、残っていなければ終了する。
なお、Ｓ３４３の判定で、軌跡が連続するように座標変換できた場合（Ｙｅｓ）にも、座標変換時のパラメータを表示装置１０に表示するようにしてもよい。
【００５５】
次に、複数のセンサの具体的な設置状態を例に挙げて、座標変換処理（Ｓ３４２）を具体的に説明する。座標変換では、各センサによる撮影空間の位置関係が関係するので、センサの撮影空間の表記法から説明する。
【００５６】
図７は、１個のセンサの撮影空間の表示の仕方を示す図であり、（ａ）は撮影空間を横方向から見た側面図、（ｂ）は撮影空間を天井から見た平面図である。センサ１１に対する座標軸（ローカル座標）は、前方方向をＸ軸、左右方向をＹ軸、上下方向をＺ軸、床面をＸＹ面とする。センサ１１は、空間を斜め方向に見下ろすように設置されている。
【００５７】
符号４１で示す扇形と円弧を組み合わせた稜線はセンサ１１の画角を示す。符号４２で示す点線の範囲は、センサ１１による床面上の撮影平面を示す。従って、符号４１と符号４２で囲まれた空間が、センサ１１の撮影空間（以下、センサ撮影空間）となる。
【００５８】
まず、２個のセンサの具体的な設置状態として、座標変換処理（Ｓ３４２）における座標回転変換が不要な場合から説明する。すなわち、回転変換処理を行わなくとも、隣接する２個のセンサの軌跡が連続している場合である。
図８Ａは、回転変換が不要な設置状態の撮影空間を示す図である。（ａ）は側面図、（ｂ）は平面図である。ここでの表示はワールド座標で表示している。ＸＹ面が床面で、Ｚ軸方向が高さ方向である。
【００５９】
２個のセンサ１１ａ，１１ｂは、天井から同じ高さで同じ角度の姿勢で、撮影方向に所定距離Ｘｏだけ平行移動して設置されている。言い換えれば、２個のセンサ１１ａ，１１ｂの設置位置をワールド座標で表記すれば、Ｘ座標は距離Ｘｏだけずれた位置、Ｙ座標は同じ位置、Ｚ座標は同じ位置（天井面）である。また、２個のセンサ１１ａ，１１ｂの設置方向（Ｘ軸方向）は、ワールド座標とローカル座標で一致している。
【００６０】
これにより、それぞれのセンサ撮影空間（符号４１ａ，４２ａで囲まれた空間、及び符号４１ｂ，４２ｂで囲まれた空間）もＸ軸方向に距離Ｘｏだけ平行移動して形成される。ここで、２個のセンサ１１ａ，１１ｂのＸ方向の距離Ｘｏを、１個のセンサによる撮影平面（符号４２ａ，４２ｂ）のＸ方向の長さに等しくすることで、各センサの撮影平面４２ａ，４２ｂは境界が接した状態で連続に配置される。
【００６１】
一方、符号４０（１点鎖線）で示す直方体の空間領域は、検出対象物（人物）の存在する検出対象領域を示す。つまり、検出対象領域４０の範囲（Ｘ軸およびＹ軸方向）は検出対象物の移動範囲であり、高さ（Ｚ軸方向）は、例えば、立ち姿勢の人物が手を上げた際の指先の床面からの高さを含む大きさとなる。
【００６２】
ここで図８Ａに示した状態は、センサ１１ａ及びセンサ１１ｂによるセンサ撮影空間（画角４１ａ、４１ｂを空間上で重ね合わせた領域）は、検出すべき検出対象領域４０を完全にカバーしている状態である。
【００６３】
次に、移動体（作業者）が検出対象領域４０を移動して、その軌跡を基に行う座標変換処理（設置情報の生成）について説明する。
図８Ｂは、図８Ａの設置状態における作業者の軌跡を示す図である。（ａ）は撮影空間の平面図、（ｂ）は作業者の軌跡を拡大した図である。ここでの表示は各センサのローカル座標系に従っている。作業者が検出対象領域４０を移動したときの、撮影平面４２ａ及び４２ｂにおける軌跡を、符号５０ａ，５０ｂで示している。ここでは、作業者は矢印で示すように、センサ１１ａによる撮影平面４２ａの左端境界から出現し、Ｘ軸右方向へ移動し、撮影平面４２ａの右端境界から消失する。次いで、センサ１１ｂの撮影平面４２ｂの左端境界から出現し、Ｘ軸右方向へ移動し、撮影平面４２ｂの右端境界から消失する。このような順で、わずかにＹ軸方向に蛇行しながら移動したとする。
【００６４】
図に示した通り、センサ１１ａ及び１１ｂのローカル座標軸（Ｙ座標、Ｚ座標およびＸ軸方向）が揃っているため、軌跡５０ａ及び５０ｂは、撮影平面４２ａと４２ｂの境界にて滑らかに連結されている、という様子が見て取れる。なお、図面（ｂ）では、軌跡５０ａと５０ｂを区別するためにＹ軸方向にずらして描いている。
【００６５】
前述の座標変換の工程（図６ＣのＳ３４２）では、軌跡５０ａの右端の消失時のベクトル５１ａと、軌跡５０ｂの左端の出現時のベクトル５１ｂの方向から、センサ１１ａ及び１１ｂの座標系の回転角度を定量的な情報として生成する。つまりセンサシステム１は設置作業者へ、センサ１１ａ及び１１ｂの連結部のベクトル５１ａ及び５１ｂの情報（角度ずれ）を提示する。本例では、両者のベクトル５１ａ，５１ｂが一致しており、角度ずれは０（座標回転不要）となる。これにより設置作業者は、センサ１１ａ及び１１ｂの設置状態が意図通り（位置・角度ずれなし）であることを定量的に確認し、設置作業を完了する。
【００６６】
次に、座標回転変換が必要となる設置状態の場合について説明する。
図９Ａは、回転変換が必要な設置状態の撮影空間を示す図である。（ａ）は側面図、（ｂ）は平面図である。ここでの表示はワールド座標で表示している。前記図８Ａの設置状態と異なり、２個のセンサ１１ａ，１１ｂの設置位置と設置方向（撮影方向）がずれている。すなわち、両者の設置位置はＸ軸方向に距離Ｘｏだけずれるとともに、Ｙ軸方向に距離Ｙｏだけずれている。また、設置方向も異なっており、センサ１１ａはセンサ１１ｂに対して、Ｘ軸がＺ軸の周りに角度θだけ回転した状態となっている。その結果、撮影平面４２ａと４２ｂの方向が揃わず、両者の境界が非平行になっている。
【００６７】
図９Ｂは、図９Ａの設置状態における作業者の軌跡を示す図である。（ａ）は撮影空間の平面図、（ｂ）は軌跡を拡大した図である。ここでの表示はそれぞれのセンサのローカル座標の方向で表示しており、撮影平面４２ａ，４２ｂを平行に配置して示す。図から明らかなように、２つの軌跡５０ａ，５０ｂは撮影平面の境界で滑らかに連結されず、軌跡５０ａの消失時のベクトル５１ａと軌跡５０ｂの出現時のベクトル５１ｂの方向は、角度θだけずれている。
【００６８】
このときセンサシステム１は、センサの設置情報として、連結部のベクトル５１ａ及び５１ｂの角度ずれθが存在することを知らせ、この角度ずれを座標変換工程（Ｓ３４２）で自動的に補正する。なお、座標変換で補正不可能な場合は、その旨のエラー警告を行う。
【００６９】
図９Ｃは、図９Ｂの軌跡を座標変換により補正した後の状態を示す図である。（ａ）は撮影空間の平面図、（ｂ）は軌跡を拡大した図である。ここでは、２個のセンサに共通なワールド座標で表示している。センサ１１ａのローカル座標を図９Ｂに示す角度θだけ回転させること、すなわち、撮影平面４２ａを撮影平面４２ａ’に回転させることで、ワールド座標において、センサ１１ａにおける軌跡５０ａ’の消失時のベクトル５１ａ’と、センサ１１ｂにおける軌跡５０ｂの出現時のベクトル５１ｂを平行にすることができる。さらに座標変換では、Ｙ軸方向のずれＹｏを補正することで、軌跡５０ａ’と軌跡５０ｂとを滑らかに連結させることができる。
【００７０】
なお、本例では、Ｚ軸の周りに２個のセンサが傾いて設置された状態を説明したが、Ｘ軸やＹ軸を回転軸として傾いた状態でも同様に座標変換で補正することができる。ここで、補正不可能な設置状態について説明する。
【００７１】
図９Ｄは、補正不可能な設置状態の例を示す図である。例えば、２個のセンサの設置方向のずれ（角度θ）が過大のときには、座標変換により軌跡５０ａ’と軌跡５０ｂとが連結できたとしても、隣接する撮影平面４２ａ’，４２ｂの境界に隙間４３が生じる場合がある。この隙間４３の領域では、いずれのセンサでも検出動作が行えないことになり、不適当である。この場合には、エラー警告を表示する。
【００７２】
図１０Ａ〜Ｄ、および図１１Ａ〜Ｄは、エラー警告およびセンサ設置支援情報の表示例である。表示装置１０の画面１０ａには座標変換処理の結果を表示し、自動補正を行った結果、あるいは、自動補正が不可能な場合には、ユーザが手動でセンサ位置を調整するための支援情報を提供する。
【００７３】
図１０Ａ〜Ｄは、センサの設置角度にずれがある場合の表示例を示す。ここでは６台のセンサＳ１〜Ｓ６が設置され、それぞれの撮影平面４２ａ〜４２ｆが隣接して形成されている。そして、各撮影平面４２ａ〜４２ｆを作業者が移動し、軌跡５０ａ〜５０ｆが取得されたとする。
【００７４】
図１０Ａは、センサの設置状態（角度）に不良があることを警告する画面である。画面１０ａには、６台のセンサＳ１〜Ｓ６で取得した軌跡５０ａ〜５０ｆが表示され、センサの設置状態に不良がある旨のメッセージ９０が表示される。
図１０Ｂは、不良内容の情報９１と補正情報９２を示す画面である。不良はセンサＳ１の角度に原因があり、Ｚ軸周りに−１０度回転の補正を行うことを示している。またこの補正により、撮影平面４２ａが符号４２ａ’のように回転されることを示す。
【００７５】
図１０Ｃは、補正結果を示す画面である。センサＳ１は、補正後の撮影平面４２ａ’に置き換わっている。ユーザはこの画面で示された補正後の軌跡を確認し、問題ないと判定したらＯＫボタン９３を押して、設置を完了する。問題ありと判定したら、ＮＧボタン９４を押し、再度センサを設置し直す。
【００７６】
図１０Ｄは、補正不可を示す画面である。不良内容の情報９１とともに、補正が不可能な理由と設置支援情報９５を表示する。ここでは補正不可の理由として、「補正量が回転補正の範囲（±１５度）を超えてしまい、隣接領域とに隙間が発生すること」（図９Ｄの状態）、対応として、「センサＳ１をＺ軸周りに＋１５度以上回転するよう設置し直すこと」が表示されている。ユーザは提供された情報に基づいてセンサの設置方向を修正することで、センサの設置調整作業を容易に実施できる。
【００７７】
図１１Ａ〜Ｄは、センサの設置高さにずれがある場合の表示例を示す。６台のＴＯＦセンサＳ１〜Ｓ６が配置され、各撮影平面４２ａ〜４２ｆを作業者が移動する。そして、作業者の高さを示す軌跡６０ａ〜６０ｆを取得し、それぞれの撮影側面（ＸＺ面）４５ａ〜４５ｆに表示している。この場合同一作業者が移動しているので、センサの設置高さにずれがなければ、高さの軌跡はいずれの撮影側面４５ａ〜４５ｆでも等しくなるはずである。
【００７８】
図１１Ａは、センサの設置状態（高さ）に不良があることを警告する画面である。画面１０ａには、６台のＴＯＦセンサ（Ｓ１〜Ｓ６）で取得した作業者の高さの軌跡６０ａ〜６０ｆが表示される。
図１１Ｂは、不良内容の情報９１と補正情報９２を示す画面である。不良はセンサＳ１の高さに原因があり、高さ方向に−２００ｍｍの補正を行うことを示している。またこの補正により、撮影側面４５ａが符号４５ａ’のように平行移動されることを示す。
【００７９】
図１１Ｃは、補正結果を示す画面である。センサＳ１は、補正後の撮影平面４５ａ’に置き換わっている。ユーザはこの画面で示された補正後の軌跡を確認し、問題ないと判定したらＯＫボタン９３を押して、設置を完了する。問題ありと判定したら、ＮＧボタン９４を押し、再度センサを設置し直す。
【００８０】
図１１Ｄは、補正不可を示す画面である。不良内容の情報９１とともに、補正が不可能な理由と設置支援情報９５を表示する。ここでは、補正不可の理由として、「補正量が高さ補正の範囲（５００ｍｍ）を超えてしまい、人の全身をセンシングできなくなること」、対応として、「センサＳ１を５００ｍｍ以上高い位置へ設置し直すこと」が表示されている。ユーザは提供された情報に基づいてセンサの設置位置を修正することで、センサの設置調整作業を容易に実施できる。
【００８１】
このように座標変換の自動補正を行う際、角度や位置の補正範囲を超えている場合や、隣接して設置されたセンサの撮影領域に隙間が生じる場合に、エラー警告を出す。そして、どのセンサとどのセンサのつなぎ目でエラーが起きているか（特に、３個以上のセンサを使用する場合）、それらのセンサの向きや位置をどれだけ修正すべきか、などのセンサ設置支援情報を、表示装置１０に表示する。これに従い設置作業者は、指摘された箇所を確認し、支援情報に従って迅速に修正することが可能となる。
【００８２】
あるいは、移動体（作業者）の移動（歩行）がスムーズでなく、途切れるような場合にも警告を出す。例えば、歩行者が立ち止まったり、進路を急に変えたり、反転したり、といった動作を行った場合に警告を出す。また、廊下のコーナーや出入り口など、歩行者の移動の向きが変わりやすい場所での軌跡の連結は誤差を生じる恐れがあるので、避けるように警告する。これにより、軌跡の変化量が少ない区間で軌跡を連結することができ、座標合わせの精度を向上させることができる。
【００８３】
なお、センサを設置後、システム運用の途中でセンサの向きや位置にズレが生じると、隣接する撮影領域間で表示される距離画像や輝度画像が不連続になってしまう。これに対応するため、定期的にセンサ設置状態を確認し、センサの向きや位置にズレが発生している場合には自動補正を行うか、またはユーザに警告することが望ましい。その際の確認方法は、再度移動体（作業者）の軌跡を取得して上記した軌跡連結処理を行ってもよいが、簡便な方法として、撮影空間を歩行する任意の人物の軌跡を捉えて上記の軌跡連結処理を行うこともできる。
【００８４】
実施例１によれば、複数のセンサのキャリブレーション（座標合わせ）のために移動体（作業者）の移動軌跡を利用するので、測定空間に専用のマーカを配置する必要がなく、センサの設置作業を容易に行うことができるという効果がある。
【００８５】
ここで、移動体の検出をより確実に行うための方法を説明する。移動体が人物であれば、ある特定の姿勢もしくはジェスチャを継続しながら移動することで、人物の姿勢やジェスチャを識別することで、検出対象の人物を特定できる。よって、撮影範囲に複数の人物が映り込む状況でも、移動体の軌跡の取得と座標合わせ処理が可能となる。特定の姿勢やジェスチャとは、例えば、両手を上げたまま移動する、腰に手を当てた状態で移動する、足元を見たまま移動する、などである。これらは移動開始時に取り決めて初期状態として設定すればよく、柔軟に対応が可能である。
【００８６】
また、移動体（人物）がジェスチャを行う代わりに、移動体を特定するマーカを持つ、もしくは貼付ける方法でもよい。すなわち、頭部にヘルメットや帽子など形状に特徴のあるものを装着して移動する、球体のように形状に特徴のあるものを持って移動する、特定の表面形状（テクスチャ）をもったマーカを掲げて移動する、などである。例えばＴＯＦセンサの場合は、赤外線光を照射しその反射光を検出するので、赤外光を高反射率で反射するテープを貼付したヘルメットや、高反射率のテープで模様を構成したマーカを用いるとよい。模様としては、例えば、バーコードやＱＲコード（登録商標）、もしくはアルファベットなどの文字や記号でもよい。
【実施例２】
【００８７】
実施例２では、実施例１における床面検出処理の変形例について説明する。センサシステム１の構成要素は図１Ｂと同じであり、センサ１１ａ，１１ｂおよびセンサ連携処理装置１２のブロック図は図２、図３と同じである。実施例１の床面検出処理（図５Ａ〜図５Ｅ）を、以下のように置き換える。
【００８８】
図１２Ａは、床面検出処理（Ｓ４００）のフローチャートである。実施例１における床面検出処理（Ｓ２００）を置き換えたもので、図５Ａ内の平面検出の工程（Ｓ２１０）を省略している。
【００８９】
Ｓ４１０は、移動体の軌跡を検出する処理であり、図５Ａ内の軌跡検出処理（Ｓ２２０）と同じである。その詳細は実施例１の図５Ｄで説明した。
Ｓ４２０では、Ｓ４１０で取得した移動体の軌跡と点群が平行かどうかを判定する。
【００９０】
図１２Ｂは、図１２Ａにおける平行判定処理（Ｓ４２０）の詳細フローチャートである。これは、実施例１の図５Ｅの平行判定処理（Ｓ２３０）に対応している。
Ｓ４２１では、Ｓ４１０で取得した移動体の軌跡を、ある方向に、ある距離だけ平行移動させる。
【００９１】
Ｓ４２２では、Ｓ４２１で移動させた軌跡と点群とのマッチング、すなわち、点群と軌跡との距離を演算する。
Ｓ４２３では、Ｓ４２１とＳ４２２の工程を、全ての方向と全ての距離の組み合わせ（パターン）について演算したかどうかを判定する。全パターンが終了したら（Ｙｅｓ）、Ｓ４２４に進む。終了していなければ（Ｎｏ）、Ｓ４２１に戻り上記工程を繰り返す。
【００９２】
Ｓ４２４では、最もマッチングが良かった平行移動の方向を鉛直方向とみなし、最もマッチングが良かった点群の領域を床面とみなす。
【００９３】
実施例１では、平面を検出することで床面とみなしていたが、実施例２では、床面が平面でない場合でも、床面と平行に人が移動するという特徴をもとに、鉛直方向と床面の検出が可能となる。
【実施例３】
【００９４】
実施例３では、自動車などの車両に複数のセンサを設置し、車外の歩行者や他車を測距する場合について説明する。
【００９５】
図１３Ａは、実施例３に係るセンサシステム１’の外観図である。センサシステム１’において、車両７の前面には、２個のセンサ１１ａ，１１ｂを設置し、前方の路面６上の検出対象物体（例えば歩行者３）を撮影し、距離画像を生成する。各センサによる撮影領域２ａ，２ｂはほぼ一致するようセンサの方向が調整されている。各センサ１１ａ，１１ｂはネットワーク１３を介して、車両７に搭載されたセンサ連携処理装置１２と表示装置１０に接続されている。車両７が走行中に、表示装置１０には車外の歩行者や他車の距離画像を表示し、運転者に提供する。
【００９６】
図１３Ｂは、センサシステム１’の構成を示すブロック図である。基本構成は図１Ｂのセンサシステム１と同じであるが、センサ連携処理装置１２においては、床面ではなく路面の検出と軌跡重畳処理を行う。実施例３では、各センサによる撮影領域２ａ，２ｂがほぼ一致しているので、座標合わせの処理では、移動体の軌跡全体が一致するように座標変換を行う。これを「軌跡重畳処理」と呼ぶことにする。センサ１１ａ，１１ｂとセンサ連携処理装置１２の構成は、実施例１の図２、図３と同様である。
【００９７】
次いで、実施例３のセンサシステム１’における座標合わせ処理、すなわち、路面検出処理と軌跡重畳処理について説明する。
まず、路面検出処理は、実施例１における床面検出処理と同様に行う。すなわち、図５Ａ〜５Ｅのフローチャートにおいて、「床面」を「路面」に読み替えればよい。あるいはその変形例として、実施例２の図１２Ａ〜１２Ｂのフローチャートに従ってもよい。
【００９８】
次に軌跡重畳処理では、２個のセンサ１１ａ，１１ｂで同時に検出されたそれぞれの軌跡の位置と方向を一致させるように座標変換する。具体的には、検出した１本の軌跡の出現時のベクトルと消失時のベクトルを求め、それぞれのベクトルが２個のセンサ間で一致するように座標変換する。
【００９９】
図１４Ａは、軌跡重畳処理（Ｓ５００）のフローチャートである。このうち、Ｓ５１０〜Ｓ５３０は図６Ａと同様であり、簡単に説明する。
Ｓ５１０では、作業者は、車両に複数のセンサ１１ａ，１１ｂを、撮影領域がほぼ一致するように設置する
Ｓ５２０では、各センサにて路面検出処理（図５Ａのフロー）を行い、各センサの路面からの設置高さや向きなどの自己位置を取得する。
【０１００】
Ｓ５３０では、移動体（作業者）が路面を歩行して移動体軌跡検出を行う。移動体軌跡検出の詳細は図６Ｂに説明した通りであるが、実施例３では、移動体は各センサの撮影範囲を超えるように移動し、得られる軌跡が複数に分断されるようにする。
Ｓ５４０では、Ｓ５３０で得られた軌跡を重畳する処理、すなわち座標変換処理を行う。この処理は図６ＡのＳ３４０（図６Ｃ）と異なっている。
【０１０１】
図１４Ｂは、座標変換処理（Ｓ５４０）の詳細フローチャートである。ここでは、Ｓ５３０で得られた各センサの軌跡を、ずれが最少となるように重畳するための座標変換のパラメータを取得する。
【０１０２】
Ｓ５４１では、２個のセンサ１１ａ，１１ｂにて同時刻に取得された２つの軌跡に対し、軌跡が出現する時のベクトルと軌跡が消失する時のベクトルを対とするベクトル（以下、特徴ベクトルと呼ぶ）を生成する。つまり特徴ベクトルは、分断された軌跡の両端におけるベクトルの組である。
Ｓ５４２では、Ｓ５４１で得られた２個のセンサ１１ａ，１１ｂの特徴ベクトルが、位置と方向が一致するように、いずれか一方の軌跡を座標変換する。座標変換では、座標軸の平行移動と回転を行う。
【０１０３】
Ｓ５４３では、Ｓ５４２での座標変換により２つの特徴ベクトルが一致したかどうかを判定する。一致していれば（Ｙｅｓ）、Ｓ５４５へ進む。一致しなければ（Ｎｏ）、Ｓ５４４へ進み、座標合わせ処理が失敗した旨のエラー警告とセンサ設置支援情報の表示を行う。エラー警告とセンサ設置支援情報については、実施例１での説明と同様である。
Ｓ５４５では、重畳処理が未実施の軌跡が残っているかを判定する。残りの軌跡があれば、Ｓ５４１以降の処理を繰り返し、残っていなければ終了する。
【０１０４】
次に、複数のセンサの具体的な設置状態を例に挙げて、座標変換処理（Ｓ５４２）を具体的に説明する。
まず、センサの設置状態として、座標変換処理（Ｓ５４２）における座標回転変換が不要な場合から説明する。すなわち、回転変換処理を行わなくとも、２個のセンサの軌跡が重畳している場合である。
【０１０５】
図１５Ａは、回転変換が不要な設置状態の撮影空間を示す図である。（ａ）は側面図、（ｂ）は平面図である。ここでの表示はワールド座標で表示している。Ｘ軸が車体幅方向、Ｙ軸が車体前方、Ｚ軸が車体上下方向で、ＸＹ面が路面となる。
【０１０６】
２個のセンサ１１ａ，１１ｂは、車体に同じ高さで互いに向き合うように、Ｘ軸方向に所定距離Ｘｏだけ平行移動して設置されている。言い換えれば、２個のセンサ１１ａ，１１ｂの設置位置をワールド座標で表記すれば、Ｘ座標は距離Ｘｏだけずれた位置、Ｙ座標とＺ座標は双方同じ位置である。また、２個のセンサ１１ａ，１１ｂの設置方向（撮影方向）は、ＹＺ面に関して対称に向き合う方向であり、ワールド座標とローカル座標とのＹ軸が一致している。これにより、センサ１１ａの撮影空間（画角４１ａと撮影平面４２ａで囲まれた空間）と、センサ１１ｂの撮影空間（画角４１ｂと撮影平面４２ｂで囲まれた空間）は重なり、路面上での撮影平面４２ａ，４２ｂは一致している。そして、いずれのセンサ１１ａ，１１ｂの撮影空間も、検出対象物の存在する検出対象領域４０（１点鎖線）をカバーしている状態である。
【０１０７】
次に、座標変換処理（設置情報の生成）について説明する。
図１５Ｂは、図１５Ａの設置状態における作業者の軌跡を示す図である。（ａ）は撮影空間の平面図、（ｂ）は作業者の軌跡を拡大した図である。ここでの表示はローカル座標系に従っている。作業者が検出対象領域４０を移動するとき、撮影平面４２ａ及び４２ｂにおける軌跡を、符号５０ａ，５０ｂで示している。作業者は矢印で示すように、センサ１１ａによる撮影平面４２ａの左端境界から出現し、Ｘ軸右方向へ移動し、撮影平面４２ａの右端境界から消失する。これと同時刻に、センサ１１ｂによる撮影平面４２ｂの左端境界から出現し、Ｘ軸右方向へ移動し、撮影平面４２ｂの右端境界から消失する。ここで、わずかにＹ軸方向に蛇行しながら移動したとする。
【０１０８】
図に示した通り、センサ１１ａ及び１１ｂのローカル座標軸（Ｙ座標、Ｚ座標およびＸ軸方向）が揃っているため、軌跡５０ａ，５０ｂは、撮影平面４２ａと４２ｂにて完全に一致している、という様子が見て取れる。（なお、図面では２つの軌跡５０ａ，５０ｂを区別するため、わずかにずらして記述しているが、実際は一致している）。
【０１０９】
前述の座標変換の工程（図１４ＢのＳ５４２）では、軌跡５０ａの特徴ベクトル（出現時の５２ａと消失時の５３ａの組）の方向と、軌跡５０ｂの特徴ベクトル（出現時の５２ｂと消失時の５３ｂの組）の方向から、センサ１１ａ及び１１ｂの座標系の回転角度を定量的な情報として生成する。つまりセンサシステム１’は設置作業者へ、センサ１１ａ及び１１ｂの撮影平面両端における特徴ベクトル５２ａ，５３ａ及び特徴ベクトル５２ｂ，５３ｂの情報（角度ずれ）を提示する。本例では、両者の特徴ベクトルが一致しており、角度ずれは０（座標回転不要）となる。これにより設置作業者は、センサ１１ａ及び１１ｂの設置状態が意図通り（位置・角度ずれなし）であることを定量的に確認し、設置作業を完了する。
【０１１０】
次に、座標回転変換が必要となる設置状態の場合について説明する。
図１６Ａは、回転変換が必要な設置状態の撮影空間を示す図である。（ａ）は側面図、（ｂ）は平面図である。ここでの表示はワールド座標で表示している。前記図１５Ａの設置状態と異なり、２個のセンサ１１ａ，１１ｂの設置位置と設置方向（撮影方向）がずれている。すなわち、両者の設置位置はＸ軸方向に距離Ｘｏだけずれるとともに、Ｙ軸方向に距離Ｙｏだけずれている。また、設置方向も異なっており、センサ１１ａはセンサ１１ｂに対して、Ｘ軸がＺ軸の周りに角度θだけ回転した状態となっている。その結果、撮影平面４２ａと４２ｂの方向が揃わず、両者の外周線が非平行になっている。
【０１１１】
図１６Ｂは、図１６Ａの設置状態における作業者の軌跡を示す図である。（ａ）は撮影空間の平面図、（ｂ）は軌跡を拡大した図である。ここでの表示はそれぞれのセンサのローカル座標の方向で表示しており、撮影平面４２ａ，４２ｂの領域が平行で一致するよう配置して示す。２つの軌跡５０ａ，５０ｂは撮影平面内で一致せず、軌跡５０ａの特徴ベクトル５２ａ，５３ａと軌跡５０ｂの特徴ベクトル５２ｂ，５３ｂの方向は、角度θだけずれている。
このときセンサシステム１’は、センサの設置情報として、両端部の特徴ベクトルの角度ずれθが存在することを知らせ、この角度ずれを座標変換工程（Ｓ５４２）で自動的に補正する。
【０１１２】
図１６Ｃは、図１６Ｂの軌跡を座標変換により補正した後の状態を示す図である。（ａ）は撮影空間の平面図、（ｂ）は軌跡を拡大した図である。ここでは、２個のセンサに共通なワールド座標で表示している。センサ１１ａのローカル座標を図１６Ｂに示す角度θだけ回転させること、すなわち、撮影平面４２ａを撮影平面４２ａ’に回転させることで、ワールド座標において、センサ１１ａにおける軌跡５０ａ’（特徴ベクトル５２ａ’，５３ａ’）を、センサ１１ｂの軌跡５０ｂ（特徴ベクトル５２ｂ，５３ｂ）に一致させることができる。
【０１１３】
ただし、座標変換で補正不可能な場合は、実施例１の図１０Ｄや図１１Ｄで示したようなエラー警告や、手動で調整するための支援情報を提供する。ユーザは提供された情報に基づいてセンサの設置方向や位置を修正することで、センサの設置調整作業を容易に実施できる。
【０１１４】
実施例３において座標合わせ処理が失敗する理由として、２個のセンサの撮影範囲が大幅にずれていることが挙げられる。そのときには、設置されたセンサの視野（撮影範囲）のずれが大きすぎる旨を警告する。あるいは、移動体（作業者）の移動（歩行）の仕方に問題がある場合もある。例えば、長時間立ち止まったり、一直線に高速で駆け抜けたりした場合には、適切な速度で移動するよう警告を出す。また、道路のコーナーや交差点など、人の移動の向きが変わりやすい場所で実施することで、特徴的な軌跡を得ることができ、軌跡を一致させる処理が容易になる。よって、実施例１の場合とは異なり、移動の軌跡の変化量が多い条件で移動を行うように指示することで、軌跡重畳時の誤差を低減することができる。
【０１１５】
なお、図１５Ａや図１６Ａの例では、２個のセンサ１１ａ，１１ｂの撮影方向はＸ軸方向に向き合う姿勢とし、検出対象領域４０は２つのセンサに挟まれた領域とした。しかし、現実に車両の前方にいる歩行者等を検出する場合は、検出対象領域４０はセンサの位置からＹ軸方向に離れた位置となる。この場合には、２個のセンサ１１ａ，１１ｂの撮影方向をＹ軸方向に所定角度だけ傾けて、斜め方向に向き合う姿勢で設置すればよい。そして、ＹＺ面に関し対称にセンサを設置した状態を基準として、２個のセンサの座標合わせを行えばよい。
【０１１６】
実施例３おいても、実施例１と同様に、複数のセンサのキャリブレーション（座標合わせ）のために移動体（作業者）の移動軌跡を利用するので、センサの設置作業を容易に行うことができるという効果がある。
【０１１７】
さらに実施例３のセンサシステムは、同一の測定空間を複数のセンサで検出する構成であるので、測定空間に存在する物体を死角なしで検出することが可能である。また、センサとして異種の検出方式を組み合わせることが可能となる。すなわちＴＯＦセンサだけでなく、例えば、スキャン型のレーザレーダ、ステレオカメラ、ミリ波レーダなど、測距が可能なセンサであればどの組み合わせでも使用でき、座標合わせを行うとともに距離画像を生成することができる。
【０１１８】
さらには、組み合わせる一方のセンサが測距センサ以外の場合でも、予めそのセンサから得られる非距離データに対応する空間座標情報を保持しておけば、距離データに換算できるので問題ない。あるいは、非測距センサから得られる非距離データに対して、機械学習や深層学習などの手法で距離情報を推定できることから、測距センサ同士の組み合わせと同様に、座標合わせを行うとともに距離画像を生成することができる。
【０１１９】
このように、異種の検出方式のセンサを組み合わせることにより、対象物体の種類や測定環境（温度、明るさ、距離）に応じて最適なセンサに切り替えることができ、センサシステムの測定精度が向上するという効果がある。
【符号の説明】
【０１２０】
１，１’…センサシステム、
１０…表示装置、
１１…センサ（測距センサ）、
１２…センサ連携処理装置、
２１…発光部、
２２…受光部、
２３…距離画像生成部、
２４…輝度画像生成部、
３５…演算処理部、
４０…検出対象領域、
４２…撮影平面、
５０…移動体の軌跡、
５１〜５３…ベクトル、
９０〜９２…エラー情報、
９５…設置支援情報。
【図１Ａ】
2020106475.tif 000003
【図１Ｂ】
2020106475.tif 000004
【図２】
2020106475.tif 000005
【図３】
2020106475.tif 000006
【図４】
2020106475.tif 000007
【図５Ａ】
2020106475.tif 000008
【図５Ｂ】
2020106475.tif 000009
【図５Ｃ】
2020106475.tif 000010
【図５Ｄ】
2020106475.tif 000011
【図５Ｅ】
2020106475.tif 000012
【図６Ａ】
2020106475.tif 000013
【図６Ｂ】
2020106475.tif 000014
【図６Ｃ】
2020106475.tif 000015
【図７】
2020106475.tif 000016
【図８Ａ】
2020106475.tif 000017
【図８Ｂ】
2020106475.tif 000018
【図９Ａ】
2020106475.tif 000019
【図９Ｂ】
2020106475.tif 000020
【図９Ｃ】
2020106475.tif 000021
【図９Ｄ】
2020106475.tif 000022
【図１０Ａ】
2020106475.tif 000023
【図１０Ｂ】
2020106475.tif 000024
【図１０Ｃ】
2020106475.tif 000025
【図１０Ｄ】
2020106475.tif 000026
【図１１Ａ】
2020106475.tif 000027
【図１１Ｂ】
2020106475.tif 000028
【図１１Ｃ】
2020106475.tif 000029
【図１１Ｄ】
2020106475.tif 000030
【図１２Ａ】
2020106475.tif 000031
【図１２Ｂ】
2020106475.tif 000032
【図１３Ａ】
2020106475.tif 000033
【図１３Ｂ】
2020106475.tif 000034
【図１４Ａ】
2020106475.tif 000035
【図１４Ｂ】
2020106475.tif 000036
【図１５Ａ】
2020106475.tif 000037
【図１５Ｂ】
2020106475.tif 000038
【図１６Ａ】
2020106475.tif 000039
【図１６Ｂ】
2020106475.tif 000040
【図１６Ｃ】
2020106475.tif 000041