(57)【要約】  情報処理装置は、第１センサにより測距された第１測定情報から、第１ベクトル（１６Ａ−１）と、第２ベクトル（１６Ａ−２）と、第１並進用点（１７Ａ）とを取得する。情報処理装置は、第２センサにより測距された第２測定情報から、第３ベクトル（１６Ｂ−３）と、第４ベクトル（１６Ｂ−４）と、第２並進用点（１７Ｂ）とを取得する。第１ベクトル（１６Ａ−１）と、第３ベクトルと（１６Ｂ−３）は、実空間上で平行かつ向きが同じベクトルである。第２ベクトル（１６Ａ−２）と、第４ベクトル（１６Ｂ−４）とは、実空間上で平行かつ向きが同じベクトルである。第１並進用点（１７Ａ）と第１並進用点（１７Ｂ）とは、実空間上で同じ位置にある。情報処理装置は、第１〜第４ベクトル、第１、２並進用点を基にして、回転角度および並進距離を算出し、記憶装置に記憶する。
2020079814.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが、
第１センサにより測距された被写体までの距離の情報を含む第１測定情報と、第２センサにより測距された前記被写体までの距離の情報を含む第２測定情報とを取得し、
前記第１測定情報から、第１ベクトルと、前記第１ベクトルとは異なる向きの第２ベクトルと、第１並進用点とを取得し、
前記第２測定情報から、前記第１ベクトルと実空間上で平行かつ向きが同じベクトルとして取り扱われる第３ベクトルと、前記第２ベクトルと前記実空間上で平行かつ向きが同じベクトルとして取り扱われる第４ベクトルと、前記実空間上で前記第１並進用点と同じ位置として取り扱われる第２並進用点との情報を取得し、
前記第１ベクトルの終点、前記第２ベクトルの終点、前記第１並進用点、前記第３ベクトルの終点、前記第４ベクトルの終点、前記第２並進用点を基にして、前記第１センサに測距される前記被写体の点群に対して、前記第２センサにより測距される前記被写体の点群の位置合わせを行うための、回転角度および並進距離を算出し、
前記回転角度および前記並進距離を記憶装置に記憶する
処理を実行することを特徴とする算出方法。
【請求項２】
前記第１センサによる測定結果を示す第１画像と、前記第２センサによる測定結果を示す第２画像とを取得し、前記第１画像および前記第２画像を表示装置に表示させ、前記第１ベクトルの始点および終点と、前記第２ベクトルの始点および終点と、前記第１並進用点と、前記第３ベクトルの始点および終点と、前記第４ベクトルの始点および終点と、前記第２並進用点との選択を受け付ける処理を更に実行することを特徴とする請求項１に記載の算出方法。
【請求項３】
前記第１画像には、第１形状マーカの画像、第２形状マーカの画像、第３形状マーカの画像が含まれ、前記第２画像には、前記第２形状マーカの画像、前記第３形状マーカの画像、第４形状マーカの画像が含まれ、前記実空間上において、前記第１形状マーカおよび前記第４形状マーカを通る第１線分と、前記第２形状マーカおよび前記第３形状マーカを通る第２線分とは交差し、
前記第１測定情報に含まれる点群において、前記第１形状マーカに対応する点から前記第２形状マーカに対応する点に至るベクトルを前記第１ベクトルとして取得し、前記第２形状マーカに対応する点から前記第３形状マーカに対応する点に至るベクトルを、前記第２ベクトルとして取得し、前記第２形状マーカに対応する点を前記第１並進用点として取得し、
前記第２測定情報に含まれる点群において、前記第２形状マーカに対応する点から前記第４形状マーカに対応する点に至るベクトルを前記第３ベクトルとして取得し、前記第２形状マーカに対応する点から前記第３形状マーカに対応する点に至るベクトルを、前記第４ベクトルとして取得し、前記第２形状マーカに対応する点を前記第２並進用点として取得する処理を更に実行することを特徴とする請求項２に記載の算出方法。
【請求項４】
前記第１線分と前記第２線分とは前記実空間上において直交することを特徴とする請求項３に記載の算出方法。
【請求項５】
前記第１画像および前記第２画像には、水平部分を有する被写体および垂直部分を有する被写体の画像が含まれ、前記水平部分を有する前記被写体および前記垂直部分を有する前記被写体上の点から、前記第１ベクトルの始点および終点と、前記第２ベクトルの始点および終点と、前記第１並進用点と、前記第３ベクトルの始点および終点と、前記第４ベクトルの始点および終点と、前記第２並進用点との選択を受け付けることを特徴とする請求項２に記載の算出方法。
【請求項６】
前記回転角度および前記並進距離を基にして、前記第１センサに測距された点群と、前記第２センサに測距された点群との位置合わせを更に実行することを特徴とする請求項１に記載の算出方法。
【請求項７】
前記複数のマーカには複数の反射物がそれぞれ配置され、前記第１測定情報には、複数のマーカの光の第１反射強度情報が更に含まれ、前記第２測定情報には、複数のマーカの光の第２反射強度情報が更に含まれ、
複数の前記第１反射強度情報からそれぞれ推定される各マーカの位置を基にして、前記第１ベクトルの始点および終点、前記第２ベクトルの始点および終点、前記第１並進用点を補正し、
複数の前記第２反射強度情報からそれぞれ推定される各マーカの位置を基にして、前記第３ベクトルの始点および終点、前記第４ベクトルの始点および終点、前記第２並進用点を補正する処理を更に実行することを特徴とする請求項１に記載の算出方法。
【請求項８】
第１センサにより測距された被写体までの距離の情報を含む第１測定情報と、第２センサにより測距された前記被写体までの距離の情報を含む第２測定情報とを取得し、
前記第１測定情報から、第１ベクトルと、前記第１ベクトルとは異なる向きの第２ベクトルと、第１並進用点とを取得し、
前記第２測定情報から、前記第１ベクトルと実空間上で平行かつ向きが同じベクトルとして取り扱われる第３ベクトルと、前記第２ベクトルと前記実空間上で平行かつ向きが同じベクトルとして取り扱われる第４ベクトルと、前記実空間上で前記第１並進用点と同じ位置として取り扱われる第２並進用点との情報を取得し、
前記第１ベクトルの終点、前記第２ベクトルの終点、前記第１並進用点、前記第３ベクトルの終点、前記第４ベクトルの終点、前記第２並進用点を基にして、前記第１センサに測距される前記被写体の点群に対して、前記第２センサにより測距される前記被写体の点群の位置合わせを行うための、回転角度および並進距離を算出し、
前記回転角度および前記並進距離を記憶装置に記憶する
処理をコンピュータに実行させることを特徴とする算出プログラム。
【請求項９】
前記第１センサによる測定結果を示す第１画像と、前記第２センサによる測定結果を示す第２画像とを取得し、前記第１画像および前記第２画像を表示装置に表示させ、前記第１ベクトルの始点および終点と、前記第２ベクトルの始点および終点と、前記第１並進用点と、前記第３ベクトルの始点および終点と、前記第４ベクトルの始点および終点と、前記第２並進用点との選択を受け付ける処理を更に実行することを特徴とする請求項８に記載の算出プログラム。
【請求項１０】
前記第１画像には、第１形状マーカの画像、第２形状マーカの画像、第３形状マーカの画像が含まれ、前記第２画像には、前記第２形状マーカの画像、前記第３形状マーカの画像、第４形状マーカの画像が含まれ、前記実空間上において、前記第１形状マーカおよび前記第４形状マーカを通る第１線分と、前記第２形状マーカおよび前記第３形状マーカを通る第２線分とは交差し、
前記第１測定情報に含まれる点群において、前記第１形状マーカに対応する点から前記第２形状マーカに対応する点に至るベクトルを前記第１ベクトルとして取得し、前記第２形状マーカに対応する点から前記第３形状マーカに対応する点に至るベクトルを、前記第２ベクトルとして取得し、前記第２形状マーカに対応する点を前記第１並進用点として取得し、
前記第２測定情報に含まれる点群において、前記第２形状マーカに対応する点から前記第４形状マーカに対応する点に至るベクトルを前記第３ベクトルとして取得し、前記第２形状マーカに対応する点から前記第３形状マーカに対応する点に至るベクトルを、前記第４ベクトルとして取得し、前記第２形状マーカに対応する点を前記第２並進用点として取得する処理を更に実行することを特徴とする請求項９に記載の算出プログラム。
【請求項１１】
前記第１線分と前記第２線分とは前記実空間上において直交することを特徴とする請求項１０に記載の算出プログラム。
【請求項１２】
前記第１画像および前記第２画像には、水平部分を有する被写体および垂直部分を有する被写体の画像が含まれ、前記水平部分を有する前記被写体および前記垂直部分を有する前記被写体上の点から、前記第１ベクトルの始点および終点と、前記第２ベクトルの始点および終点と、前記第１並進用点と、前記第３ベクトルの始点および終点と、前記第４ベクトルの始点および終点と、前記第２並進用点との選択を受け付けることを特徴とする請求項９に記載の算出プログラム。
【請求項１３】
前記回転角度および前記並進距離を基にして、前記第１センサに測距された点群と、前記第２センサに測距された点群との位置合わせを更に実行することを特徴とする請求項８に記載の算出プログラム。
【請求項１４】
前記複数のマーカには複数の反射物がそれぞれ配置され、前記第１測定情報には、複数のマーカの光の第１反射強度情報が更に含まれ、前記第２測定情報には、複数のマーカの光の第２反射強度情報が更に含まれ、
複数の前記第１反射強度情報からそれぞれ推定される各マーカの位置を基にして、前記第１ベクトルの始点および終点、前記第２ベクトルの始点および終点、前記第１並進用点を補正し、
複数の前記第２反射強度情報からそれぞれ推定される各マーカの位置を基にして、前記第３ベクトルの始点および終点、前記第４ベクトルの始点および終点、前記第２並進用点を補正する処理を更に実行することを特徴とする請求項８に記載の算出プログラム。
【請求項１５】
第１センサにより測距された被写体までの距離の情報を含む第１測定情報と、第２センサにより測距された前記被写体までの距離の情報を含む第２測定情報とを取得する第１取得部と、
前記第１測定情報から、第１ベクトルと、前記第１ベクトルとは異なる向きの第２ベクトルと、第１並進用点とを取得し、前記第２測定情報から、前記第１ベクトルと実空間上で平行かつ向きが同じベクトルとして取り扱われる第３ベクトルと、前記第２ベクトルと前記実空間上で平行かつ向きが同じベクトルとして取り扱われる第４ベクトルと、前記実空間上で前記第１並進用点と同じ位置として取り扱われる第２並進用点との情報を取得する第２取得部と、
前記第１ベクトルの終点、前記第２ベクトルの終点、前記第１並進用点、前記第３ベクトルの終点、前記第４ベクトルの終点、前記第２並進用点を基にして、前記第１センサに測距される前記被写体の点群に対して、前記第２センサにより測距される前記被写体の点群の位置合わせを行うための、回転角度および並進距離を算出し、前記回転角度および前記並進距離を記憶部に記憶する算出部と
を有することを特徴とする情報処理装置。
【請求項１６】
前記第１取得部は、第１センサによる測定結果を示す第１画像と、前記第２センサによる測定結果を示す第２画像とを取得し、前記第１画像および前記第２画像を表示装置に表示させる提示部を更に有し、前記第２取得部は、前記第１ベクトルの始点および終点と、前記第２ベクトルの始点および終点と、前記第１並進用点と、前記第３ベクトルの始点および終点と、前記第４ベクトルの始点および終点と、前記第２並進用点との選択を受け付けることを特徴とする請求項１５に記載の情報処理装置。
【請求項１７】
前記第１画像には、第１形状マーカの画像、第２形状マーカの画像、第３形状マーカの画像が含まれ、前記第２画像には、前記第２形状マーカの画像、前記第３形状マーカの画像、第４形状マーカの画像が含まれ、前記実空間上において、前記第１形状マーカおよび前記第４形状マーカを通る第１線分と、前記第２形状マーカおよび前記第３形状マーカを通る第２線分とは交差し、
前記第２取得部は、前記第１測定情報に含まれる点群において、前記第１形状マーカに対応する点から前記第２形状マーカに対応する点に至るベクトルを前記第１ベクトルとして取得し、前記第２形状マーカに対応する点から前記第３形状マーカに対応する点に至るベクトルを、前記第２ベクトルとして取得し、前記第２形状マーカに対応する点を前記第１並進用点として取得し、
前記第２測定情報に含まれる点群において、前記第２形状マーカに対応する点から前記第４形状マーカに対応する点に至るベクトルを前記第３ベクトルとして取得し、前記第２形状マーカに対応する点から前記第３形状マーカに対応する点に至るベクトルを、前記第４ベクトルとして取得し、前記第２形状マーカに対応する点を前記第２並進用点として取得することを特徴とする請求項１６に記載の情報処理装置。
【請求項１８】
前記第１線分と前記第２線分とは前記実空間上において直交することを特徴とする請求項１７に記載の情報処理装置。
【請求項１９】
前記第２取得部は、前記第１画像および前記第２画像には、水平部分を有する被写体および垂直部分を有する被写体の画像が含まれ、前記水平部分を有する前記被写体および前記垂直部分を有する前記被写体上の点から、前記第１ベクトルの始点および終点と、前記第２ベクトルの始点および終点と、前記第１並進用点と、前記第３ベクトルの始点および終点と、前記第４ベクトルの始点および終点と、前記第２並進用点との選択を受け付けることを特徴とする請求項１６に記載の情報処理装置。
【請求項２０】
前記回転角度および前記並進距離を基にして、前記第１センサに測距された点群と、前記第２センサに測距された点群との位置合わせ部を更に有することを特徴とする請求項１５に記載の情報処理装置。
【請求項２１】
前記複数のマーカには複数の反射物がそれぞれ配置され、前記第１測定情報には、複数のマーカの光の第１反射強度情報が更に含まれ、前記第２測定情報には、複数のマーカの光の第２反射強度情報が更に含まれ、
前記第２取得部は、複数の前記第１反射強度情報からそれぞれ推定される各マーカの位置を基にして、前記第１ベクトルの始点および終点、前記第２ベクトルの始点および終点、前記第１並進用点を補正し、複数の前記第２反射強度情報からそれぞれ推定される各マーカの位置を基にして、前記第３ベクトルの始点および終点、前記第４ベクトルの始点および終点、前記第２並進用点を補正する処理を更に実行することを特徴とする請求項１５に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、算出方法等に関する。
【背景技術】
【０００２】
レーザセンサ等の距離測定装置を用いて、被写体の３次元点群を検出し、被写体の姿勢等を認識する技術がある。以下の説明では、被写体の３次元点群を検出するレーザセンサを単に「センサ」と表記する。【０００３】
１台のセンサを用いると、センサ側（一方向）から見た被写体の３次元点群を得ることができるが、センサの反対側から見た被写体の３次元点群を得ることができないため、被写体の姿勢等の認識精度が悪くなる場合があった。このため、複数のセンサを用い、複数の方向から見た被写体の３次元点群を得ることで、被写体の姿勢等の認識精度を向上させている。【０００４】
ここで、複数のセンサを用いて被写体の３次元点群を検出する場合には、各センサから検出した各３次元点群を位置合わせして、一つの３次元点群に統合する処理を行う。以下の説明では、各センサから検出した各３次元点群を位置合わせして、一つの３次元点群に統合する処理を「キャリブレーション」と表記する。【０００５】
キャリブレーションに関する従来技術として、ＩＣＰ（Iterative  Closest  Point）を用いた従来装置がある。この従来装置は、第１の３次元点群を並進、回転させつつ、第１の３次元点群の近傍点と、固定した第２の３次元点群の近傍点との距離が最小となる値を探索することで、第１の３次元点群と第２の３次元点群とを位置合わせするための、並進値、回転角を特定する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−１６１１３３号公報
【特許文献２】特開２０１７−１０６７４９号公報
【特許文献３】特開２０１７−１６６８４６号公報
【非特許文献】
【０００７】
【非特許文献１】P.J.Besl  and  N.D.McKay,“A  method  for  registration  of  3-D  shapes,"IEEE  Transactions  on  Pattern  Analysis  and  Machine  Intelligence,vol.14,no.2,pp.239-256,1992.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来技術では、複数のセンサが測距した各点群の位置合わせを行うことができないという問題がある。【０００９】
図３６は、第１のセンサ配置例を示す図である。図３６に示す例では、センサ１Ａとセンサ１Ｂとが向かい合わせに配置されている。また、測距の対象範囲を「範囲５」とする。範囲５については、センサ１Ａ，１Ｂによる測距可能な範囲の重なりが大きいため、従来技術に基づいて、センサ１Ａの３次元点群とセンサ１Ｂの３次元点群との位置合わせを行うことができる。【００１０】
図３７は、第１のセンサ配置例の測距結果の一例を示す図である。図３７において、測定結果（３次元点群）２Ａは、センサ１Ａの測定結果である。測定結果（３次元点群）２Ｂは、センサ１Ｂの測定結果である。たとえば、測定結果２Ａ，２Ｂは、共通部分を特定することが容易であり、センサ１Ａの３次元点群とセンサ１Ｂの３次元点群との位置合わせを行うことができる。【００１１】
ここで、センサには、距離が遠いほど測距できる範囲は広くなるが、３次元点群の密度が低くなるという特性がある。また、センサには、距離が近いほど測距できる範囲は狭くなるが、３次元点群の密度が高くなるという特性がある。【００１２】
測距の対象範囲が広くなった場合には、センサをより遠くに配置することで、測距の対象範囲全体をカバーできるようになるが、３次元点群の密度が低くなり、被写体の姿勢等の認識精度を得ることができない可能性がある。このため、図３８に示すように、複数のセンサを配置する場合がある。【００１３】
図３８は、第２のセンサ配置例を示す図である。図３８に示す例では、センサ１Ａの横方向にセンサ１Ｂが配置されている。センサ１Ｃの横方向にセンサ１Ｄが配置されている。センサ１Ａとセンサ１Ｃとが向かい合わせに配置されている。センサ１Ｂとセンサ１Ｄとが向かい合わせに配置されている。測距の対象範囲を「範囲６Ａ」とする。センサ１Ａとセンサ１Ｃとの組、センサ１Ｂとセンサ１Ｄとの組は、各センサの測距可能な範囲の重なりが大きいため、各３次元点群の位置合わせを行うことができる。しかし、センサ１Ａとセンサ１Ｂとの組、センサ１Ｃとセンサ１Ｄとの組は、各センサの測距可能な範囲の重なりが少ないため、従来技術により、各３次元点群の位置合わせを行うことが難しい。【００１４】
図３９は、第２のセンサ配置例の測距結果の一例を示す図（１）である。図３９において、測定結果（３次元点群）３Ａは、センサ１Ａの測定結果である。測定結果（３次元点群）３Ｂは、センサ１Ｂの測定結果である。図３９では、図３７に示した場合と異なり、共通部分を特定することが困難である。【００１５】
図４０は、第２のセンサ配置例の測定結果の一例を示す図（２）である。たとえば、測定結果３Ａの範囲４Ａと、測定結果３Ｂの範囲４Ｂとを共通範囲として取り出したとしても、共通範囲に含まれる３次元点群の数が少なく、十分特徴的な形をしていない場合がある。共通範囲に含まれる３次元点群の数が少ないと、範囲４Ａと範囲４Ｂとの位置合わせを行う場合に、回転なしでよいのか、９０度回転でよいのか、１８０°回転でよいのか等を判定することが難しく、位置合わせを行うことができない。【００１６】
上記のように、２つのセンサの測距範囲の重なりが少なく、各センサの重なり部分に含まれる３次元点群が少ないと、位置合わせを行うことができない。【００１７】
１つの側面では、本発明は、２つのセンサの測距範囲の重なりが少なく、各センサの重なり部分に含まれる３次元点群が少ない場合にも、複数のセンサが測距した各点群の位置合わせを行うための情報を生成する算出方法、算出プログラムおよび情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１８】
第１の案では、コンピュータが次の処理を実行する。コンピュータは、第１センサにより測距された被写体までの距離の情報を含む第１測定情報と、第２センサにより測距された被写体までの距離の情報を含む第２測定情報とを取得する。コンピュータは、第１測定情報から、第１ベクトルと、第１ベクトルとは異なる向きの第２ベクトルと、第１並進用点とを取得する。コンピュータは、第２測定情報から、第１ベクトルと実空間上で平行かつ向きが同じベクトルとして取り扱われる第３ベクトルと、第２ベクトルと実空間上で平行かつ向きが同じベクトルとして取り扱われる第４ベクトルと、実空間上で第１並進用点と同じ位置にあるとして取り扱われる第２並進用点との情報を取得する。コンピュータは、第１ベクトルの終点、第２ベクトルの終点、第１並進用点、第３ベクトルの終点、第４ベクトルの終点、第２並進用点を基にして、第１センサに測距される被写体の点群に対して、第２センサにより測距される被写体の点群の位置合わせを行うための、回転角度および並進距離を算出する。コンピュータは、回転角度および並進距離を記憶装置に記憶する。
【発明の効果】
【００１９】
２つのセンサの測距範囲の重なりが少なく、各センサの重なり部分に含まれる３次元点群が少ない場合にも、複数のセンサが測距した各点群の位置合わせを行うための情報を生成することができる。
【図面の簡単な説明】
【００２０】
【図１】図１は、本実施例１に係るシステムの一例を示す図である。
【図２】図２は、壁の外観の一例を示す図である。
【図３】図３は、各距離画像情報に含まれる点群の一例を示す図である。
【図４】図４は、各可視画像の一例を示す図である。
【図５】図５は、本実施例１に係るインストラクション画面の一例を示す図（１）である。
【図６】図６は、本実施例１に係るインストラクション画面の一例を示す図（２）である。
【図７】図７は、本実施例１に係るインストラクション画面の一例を示す図（３）である。
【図８】図８は、本実施例１に係る情報処理装置の構成を示す機能ブロック図である。
【図９】図９は、本実施例１に係る距離画像テーブルのデータ構造の一例を示す図である。
【図１０】図１０は、第１〜第４ベクトルおよび第１、２並進用点の一例を示す図である。
【図１１】図１１は、本実施例１に係る情報処理装置の処理手順を示すフローチャートである。
【図１２】図１２は、持ち運び可能なマーカ配置台の一例を示す図である。
【図１３】図１３は、採点装置の構成を示す機能ブロック図である。
【図１４】図１４は、採点画面の一例を示す図である。
【図１５】図１５は、採点装置の位置合わせ部の処理手順を示すフローチャートである。
【図１６】図１６は、位置合わせ後の第１点群と第２点群との一例を示す図である。
【図１７】図１７は、本実施例２で用いるマーカの一例を示す図である。
【図１８】図１８は、本実施例２に係る情報処理装置の構成を示す機能ブロック図である。
【図１９】図１９は、マーカ定義情報のデータ構造の一例を示す図である。
【図２０】図２０は、本実施例２に係る情報処理装置の処理手順を示すフローチャートである。
【図２１】図２１は、平行台で演技する選手を示す図である。
【図２２】図２２は、本実施例３に係るインストラクション画面の一例を示す図（１）である。
【図２３】図２３は、本実施例３に係るインストラクション画面の一例を示す図（２）である。
【図２４】図２４は、本実施例３に係るインストラクション画面の一例を示す図（３）である。
【図２５】図２５は、本実施例３に係る情報処理装置の構成を示す機能ブロック図である。
【図２６】図２６は、本実施例３に係る距離画像テーブルのデータ構造の一例を示す図である。
【図２７】図２７は、本実施例３に係る情報処理装置の処理手順を示すフローチャートである。
【図２８】図２８は、本実施例４で用いるマーカの一例を示す図である。
【図２９】図２９は、シールが付与された各マーカの反射強度画像の一例を示す図である。
【図３０】図３０は、本実施例４に係る情報処理装置の構成を示す機能ブロック図である。
【図３１】図３１は、特定テーブルのデータ構造の一例を示す図である。
【図３２】図３２は、本実施例４に係る情報処理装置の処理手順を示すフローチャート（１）である。
【図３３】図３３は、本実施例４に係る情報処理装置の処理手順を示すフローチャート（２）である。
【図３４】図３４は、本実施例に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【図３５】図３５は、本実施例に係る採点装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【図３６】図３６は、第１のセンサ配置例を示す図である。
【図３７】図３７は、第１のセンサ配置例の測距結果の一例を示す図である。
【図３８】図３８は、第２のセンサ配置例を示す図である。
【図３９】図３９は、第２のセンサ配置例の測距結果の一例を示す図（１）である。
【図４０】図４０は、第２のセンサ配置例の測距結果の一例を示す図（２）である。
【発明を実施するための形態】
【００２１】
以下に、本発明にかかる算出方法、算出プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００２２】
図１は、本実施例１に係るシステムの一例を示す図である。図１に示すように、このシステムは、センサ１０Ａ、センサ１０Ｂと、情報処理装置１００とを有する。センサ１０Ａおよびセンサ１０Ｂの測距の方向を、壁１５の方向とする。センサ１０Ａおよびセンサ１０Ｂは、横方向に並んで配置されている。情報処理装置１００は、センサ１０Ａおよびセンサ１０Ｂに接続される。【００２３】
図２は、壁の外観の一例を示す図である。図２に示すように、この壁１５には、複数のマークが配置されている。たとえば、壁１５上において、センサ１０Ａの測距可能な範囲を範囲１５Ａとし、センサ１０Ｂの測距可能な範囲を範囲１５Ｂとする。【００２４】
たとえば、マーク１５−１１〜１５−１９は、水平方向に並んでいる。マーク１５−２４〜１５−２６は、水平方向に並んでいる。マーク１５−３１〜１５−３９は、水平方向に並んでいる。マーク１５−１１〜１５−１９を通る直線、マーク１５−２４〜１５−２６を通る直線、マーク１５−３１〜１５−３９を通る直線は、それぞれ平行となる。【００２５】
また、マーク１５−１４，１５−２４，１５−３４を通る直線と、マーク１５−１１〜１５−１９を通る直線とのなす角度を９０度とする。マーク１５−１５，１５−２５，１５−３５を通る直線と、マーク１５−１１〜１５−１９を通る直線とのなす角度を９０度とする。マーク１５−１６，１５−２６，１５−３６を通る直線と、マーク１５−１１〜１５−１９を通る直線とのなす角度を９０度とする。【００２６】
センサ１０Ａは、レーザ光を照射して、被写体（壁１５）を構成する点群とセンサ１０Ａとの距離を測距する測定装置である。また、センサ１０Ａは、可視画像を撮影する。センサ１０Ａは、第１距離画像情報を、情報処理装置１００に出力する。第１距離画像情報は、被写体（壁１５）を構成する点群とセンサ１０Ａとの距離の情報と、可視画像の情報を含む。本実施例で記載する可視画像は、一般的なカメラによって撮像される画像に対応するものである。【００２７】
センサ１０Ｂは、レーザ光を照射して、被写体（壁１５）を構成する点群とセンサ１０Ｂとの距離を測距する測定装置である。また、センサ１０Ｂは、可視画像を撮影する。センサ１０Ｂは、第２距離画像情報を、情報処理装置１００に出力する。第２距離画像情報は、被写体（壁１５）を構成する点群とセンサ１０Ｂとの距離の情報と、可視画像の情報を含む。【００２８】
図３は、各距離画像情報に含まれる点群の一例を示す図である。図３では一例として、各点群を反射強度に応じて示す。点群１６Ａは、センサ１０Ａにより測距された点群である。点群１６Ｂは、センサ１０Ｂにより測距された点群である。【００２９】
図４は、各可視画像の一例を示す図である。図４において、画像１８Ａは、センサ１０Ａに撮影される可視画像である。画像１８Ｂは、センサ１０Ｂに撮影される可視画像である。【００３０】
図１の説明に戻る。情報処理装置１００は、第１距離画像情報と、第２距離画像情報とを基にして、センサ１０Ａにより測距された点群と、センサ１０Ｂにより測距された点群との位置合わせを行うためのパラメータを算出する装置である。パラメータには、回転角度と並進距離とが含まれる。【００３１】
情報処理装置１００は、各点群の位置合わせを行う場合には、第１距離画像情報および第２距離画像情報から、回転合わせ用のベクトルと、並進合わせ用の点を検出する。【００３２】
本実施例１では、第１距離画像情報から検出する回転合わせ用のベクトルを「第１ベクトル」、「第２ベクトル」と表記する。第１距離画像情報から検出する並進合わせ用の点を、「第１並進用点」と表記する。【００３３】
また、第２距離画像情報から検出する回転合わせ用のベクトルを「第３ベクトル」、「第４ベクトル」と表記する。第２距離画像情報から検出する並進合わせ用の点を、「第２並進用点」と表記する。【００３４】
ここで、第１ベクトルと第３ベクトルとは「条件１」を満たすものとする。条件１は「第１ベクトルの方向と第３ベクトルの方向とは、実空間上で同じ方向である。」という条件である。なお、第１ベクトルの位置と第３ベクトルの位置とは、実空間上で同じでなくてもよい。第１ベクトルの長さと、第３ベクトルの長さとは、実空間上で同じでなくてもよい。【００３５】
第２ベクトルと第４ベクトルとは「条件２」を満たすものとする。条件２は「第２ベクトルの方向と第４ベクトルの方向とは、実空間上で同じ方向である」という条件である。なお、第２ベクトルの位置と第４ベクトルの位置とは、実空間上で同じでなくてもよい。第２ベクトルの長さと、第４ベクトルの長さとは、実空間上で同じでなくてもよい。【００３６】
第１ベクトル（第３ベクトル）と第２ベクトル（第４ベクトル）とは「条件３」を満たすものとする。条件３は「第１ベクトル（第３ベクトル）と第２ベクトル（第４ベクトル）とは、実空間上で同じ方向ではなく、かつ、逆方向ではない」という条件である。第１ベクトル（第３ベクトル）と第２ベクトル（第４ベクトル）とのなす角度は、９０度に近い角度であることが望ましい。【００３７】
第１並進用点と、第２並進用点とは「条件４」を満たすものとする。条件４は「第１並進用点の位置と、第２並進用点の位置とは、実空間上で同じ位置である」という条件である。【００３８】
本実施例１に係る情報処理装置１００は、センサ１０Ａ、１０Ｂの可視画像に基づくインストラクション画面を生成して表示し、ユーザから、第１〜第４ベクトルの始点および終点、第１、２並進用点の選択を受け付ける。ユーザは、第１〜第４ベクトルの始点および終点、第１、２並進用点を選択する場合には、上記の条件１〜４を満たすようにする。【００３９】
図５は、本実施例１に係るインストラクション画面の一例を示す図（１）である。図５に示すインストラクション画面２０は、センサ１０Ａの可視画像に基づき生成される画面である。ユーザは、インストラクション画面２０を参照し、情報処理装置１００の入力装置を操作して、第１ベクトルの始点と、第１ベクトルの終点とを選択する。図５に示す例では、第１ベクトルの始点として点２０ａが選択され、第１ベクトルの終点として点２０ｂが選択されている。【００４０】
図示を省略するが、情報処理装置１００は、センサ１０Ｂの可視画像に基づき、第３ベクトルの選択を受け付けるインストラクション画面を表示する。ユーザは、かかるインストラクション画面を参照し、第３ベクトルの始点と、第３ベクトルの終点とを選択する。ユーザは、第１ベクトルと第３ベクトルとを選択する場合には、第１ベクトルと第３ベクトルとが条件１を満たすようにする。【００４１】
図６は、本実施例１に係るインストラクション画面の一例を示す図（２）である。図６に示すインストラクション画面２１は、センサ１０Ａの可視画像に基づき生成される画面である。ユーザは、インストラクション画面２１を参照し、情報処理装置１００の入力装置を操作して、第２ベクトルの始点と、第２ベクトルの終点とを選択する。図６に示す例では、第２ベクトルの始点として点２０ａが選択され、第２ベクトルの終点として点２０ｃが選択されている。【００４２】
図示を省略するが、情報処理装置１００は、センサ１０Ｂの可視画像に基づき、第４ベクトルの選択を受け付けるインストラクション画面を表示する。ユーザは、かかるインストラクション画面を参照し、第４ベクトルの始点と、第４ベクトルの終点とを選択する。ユーザは、第２ベクトルと第４ベクトルとを選択する場合には、第２ベクトルと第４ベクトルとが条件２を満たすようにする。ユーザは、第１ベクトルと第２ベクトルとが、条件３を満たすようにする。ユーザは、第３ベクトルと第４ベクトルとが、条件３を満たすようにする。【００４３】
図７は、本実施例１に係るインストラクション画面の一例を示す図（３）である。図７に示すインストラクション画面２２は、センサ１０Ａの可視画像に基づき生成される画面である。ユーザは、インストラクション画面２２を参照し、情報処理装置１００の入力装置を操作して、第１並進用点を選択する。図７に示す例では、第１並進用点として、点２０ａが選択されている。【００４４】
図示を省略するが、情報処理装置１００は、センサ１０Ｂの可視画像に基づき、第２並進用点を受け付けるインストラクション画面を表示する。ユーザは、かかるインストラクション画面を参照し、第２並進用点を選択する。ユーザは、第１並進用点の位置と、第２並進用点の位置とが、条件４を満たすようにする。【００４５】
上記のように、情報処理装置１００は、インストラクション画面を表示して、ユーザから、第１ベクトルの始点および終点、第２ベクトルの始点および終点、第１並進用点を受け付ける。また、情報処理装置１００は、インストラクション画面を表示して、ユーザから、第３ベクトルの始点および終点、第４ベクトルの始点および終点、第２並進用点を受け付ける。【００４６】
情報処理装置１００は、第１〜第４ベクトル、第１、２並進用点を基にして、センサ１０Ａに測距された点群と、センサ１０Ｂに測距された点群との位置合わせするためのパラメータを算出する。このように、第１〜第４ベクトル、第１、２並進用点を特定するための指示を、インストラクション画面を用いて、ユーザから受け付けることで、センサ１０Ａの測距範囲と、センサ１０Ｂの測距範囲との共通範囲に含まれる３次元点群の数が少なく、十分特徴的な形をしていない場合でも、位置合わせを行うことができる。【００４７】
続いて、本実施例１に係る情報処理装置１００の構成の一例について説明する。図８は、本実施例１に係る情報処理装置の構成を示す機能ブロック図である。図８に示すように、この情報処理装置１００は、インタフェース部１１０と、入力部１２０と、表示部１３０と、記憶部１４０と、制御部１５０とを有する。【００４８】
インタフェース部１１０は、センサ１０Ａおよびセンサ１０Ｂから情報を受信する通信装置である。インタフェース部１１０は、センサ１０Ａから、第１距離画像情報を受信し、受信した第１距離画像情報を、制御部１５０に出力する。インタフェース部１１０は、センサ１０Ｂから、第２距離画像情報を受信し、受信した第２距離画像情報を、制御部１５０に出力する。また、インタフェース部１１０は、後述する採点装置と接続していてもよい。【００４９】
入力部１２０は、各種の情報を情報処理装置１００に入力するための入力装置である。たとえば、入力部１２０は、キーボードやマウス、タッチパネル等に対応する。ユーザは、図５〜図７に示したインストラクション画面を参照し、入力部１２０を操作して、第１ベクトルの始点および終点、第２ベクトルの始点および終点、第１並進用点を選択する。また、ユーザは、入力部１２０を操作して、第３ベクトルの始点および終点、第４ベクトルの始点および終点、第２並進用点を選択する。【００５０】
表示部１３０は、制御部１５０から出力される各種の情報を表示する表示装置である。たとえば、表示部１３０は、液晶ディスプレイ、タッチパネル等に対応する。たとえば、表示部は、図５〜図７に示したインストラクション画面を表示する。【００５１】
記憶部１４０は、距離画像テーブル１４０ａと、パラメータ１４０ｂとを有する。記憶部１４０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。【００５２】
距離画像テーブル１４０ａは、センサ１０Ａから出力される第１距離画像情報と、センサ１０Ｂから出力される第２距離画像情報とを保持するテーブルである。図９は、本実施例１に係る距離画像テーブルのデータ構造の一例を示す図である。【００５３】
図９に示すように、この距離画像テーブル１４０ａは、第１距離画像情報と、第２距離画像情報とを有する。第１距離画像情報には、センサ１０Ａに測距された点群の座標情報（各点の３次元座標）と、センサ１０Ａに撮影された可視画像の情報とを有する。各点群は、可視画像の各位置に対応付けられているものとする。図示を省略するが、各点には、点を一意に識別する番号が付与される。【００５４】
第２距離画像情報には、センサ１０Ｂに測距された各点群の座標情報（各点の３次元座標）と、センサ１０Ｂに撮影された可視画像の情報とを有する。各点群は、可視画像の各位置に対応付けられているものとする。図示を省略するが、各点には、点を一意に識別する番号が付与される。【００５５】
パラメータ１４０ｂは、センサ１０Ａに測距される点群と、センサ１０Ｂに測距される点群との位置合わせを行うためのパラメータである。パラメータ１４０ｂには、位置合わせ回転角度の情報と、位置合わせ並進距離の情報とが含まれる。【００５６】
制御部１５０は、第１取得部１５０ａと、提供部１５０ｂと、第２取得部１５０ｃと、算出部１５０ｄと、出力部１５０ｅとを有する。制御部１５０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などによって実現できる。また、制御部１５０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。【００５７】
第１取得部１５０ａは、インタフェース部１１０を介して、センサ１０Ａから第１距離画像情報を取得し、取得した第１距離画像情報を距離画像テーブル１４０ａに登録する。第１取得部１５０ａは、センサ１０Ｂから第２距離画像情報を取得し、取得した第２距離画像情報を距離画像テーブル１４０ａに登録する。【００５８】
第１取得部１５０ａは、第１距離画像情報を距離画像テーブル１４０ａに登録する場合に、各点群とセンサ１０Ａとの距離の情報を、３次元座標情報に変換する。たとえば、第１取得部１５０ａは、距離の情報を、３次元座標情報に変換する場合に、距離を３次元座標に変換する変換テーブルを利用する。【００５９】
第１取得部１５０ａは、第２距離画像情報を距離画像テーブル１４０ａに登録する場合に、各点群とセンサ１０Ｂとの距離の情報を、３次元座標情報に変換する。たとえば、第１取得部１５０ａは、距離の情報を、３次元座標情報に変換する場合に、距離を３次元座標に変換する変換テーブルを利用する。【００６０】
提供部１５０ｂは、インストラクション画面の情報を生成し、インストラクション画面の情報を、表示部１３０に出力することで、インストラクション画面を表示させる処理部である。表示部１３０に表示されるインストラクション画面は、図５〜図７等に示したインストラクション画面２０，２１，２２等に対応する。【００６１】
提供部１５０ｂは、距離画像テーブル１４０ａに格納された可視画像を基にして、インストラクション画面を生成する。提供部１５０ｂは、第１ベクトル、第２ベクトル、第１並進用点の選択を受けるためのインストラクション画面を、第１距離画像情報の可視画像を用いて生成する。提供部１５０ｂは、インストラクション画面の情報を生成する場合に、第１ベクトルの始点および終点を選択するのか、第２ベクトルの始点および終点を選択するのか、第１並進用点を選択するのかを区別するコメントを付与する。【００６２】
提供部１５０ｂは、第３ベクトル、第４ベクトル、第２並進用点の選択を受けるためのインストラクション画面を、第２距離画像情報の可視画像を用いて生成する。提供部１５０ｂは、インストラクション画面の情報を生成する場合に、第３ベクトルの始点および終点を選択するのか、第４ベクトルの始点および終点を選択するのか、第２並進用点を選択するのかを区別するコメントを付与する。【００６３】
第２取得部１５０ｃは、インストラクション画面に対してユーザに選択された情報を基にして、第１ベクトル、第２ベクトル、第１並進用点、第３ベクトル、第４ベクトル、第２並進用点を取得する処理部である。【００６４】
提供部１５０ｂにより、第１ベクトルの始点および終点を選択するインストラクション画面が表示部１３０に表示されると、ユーザは、入力部１２０を操作して、第１ベクトルの始点および終点を選択する。第２取得部１５０ｃは、入力部１２０から、第１ベクトルの始点および終点の情報を取得する。図５に示す例では、点２０ａが始点として選択され、点２０ｂが終点として選択されている。入力部１２０により選択される、第１ベクトルの始点および終点の情報は、可視画像の座標に対応する。【００６５】
第２取得部１５０ｃは、距離画像テーブル１４０ａの第１距離画像情報を基にして、インストラクション画面でユーザに選択された第１ベクトルの始点に対応する点の識別情報を、各点群から特定する。第１ベクトルの始点に対応する点の識別情報を、「第１始点識別情報」と表記する。【００６６】
第２取得部１５０ｃは、距離画像テーブル１４０ａの第１距離画像情報を基にして、インストラクション画面でユーザに選択された第１ベクトルの終点に対応する点の識別情報を、各点群から特定する。第１ベクトルの終点に対応する点の識別情報を、「第１終点識別情報」と表記する。【００６７】
提供部１５０ｂにより、第２ベクトルの始点および終点を選択するインストラクション画面が表示部１３０に表示されると、ユーザは、入力部１２０を操作して、第２ベクトルの始点および終点を選択する。第２取得部１５０ｃは、入力部１２０から、第２ベクトルの始点および終点の情報を取得する。図６に示す例では、点２０ａが始点として選択され、点２０ｃが終点として選択されている。入力部１２０により選択される、第２ベクトルの始点および終点の情報は、可視画像の座標に対応する。【００６８】
第２取得部１５０ｃは、距離画像テーブル１４０ａの第１距離画像情報を基にして、インストラクション画面でユーザに選択された第２ベクトルの始点に対応する点の識別情報を、各点群から特定する。第２ベクトルの始点に対応する点の識別情報を、「第２始点識別情報」と表記する。【００６９】
第２取得部１５０ｃは、距離画像テーブル１４０ａの第１距離画像情報を基にして、インストラクション画面でユーザに選択された第２ベクトルの終点に対応する点の識別情報を、各点群から特定する。第２ベクトルの終点に対応する点の識別情報を、「第２終点識別情報」と表記する。【００７０】
提供部１５０ｂにより、第１並進用点を選択するインストラクション画面が表示部１３０に表示されると、ユーザは、入力部１２０を操作して、第１並進用点を選択する。第２取得部１５０ｃは、入力部１２０から、第１並進用点の情報を取得する。図７に示す例では、点２０ａが第１並進用点として選択されている。入力部１２０により選択される、第１並進用点の情報は、可視画像の座標に対応する。【００７１】
第２取得部１５０ｃは、距離画像テーブル１４０ａの第１距離画像情報を基にして、インストラクション画面でユーザに選択された第１並進用点に対応する点の識別情報を、各点群から特定する。第１並進用点に対応する点の識別情報を、「第１並進点識別情報」と表記する。【００７２】
第２取得部１５０ｃは、第１始点識別情報、第１終点識別情報、第２始点識別情報、第２終点識別情報、第１並進点識別情報を、算出部１５０ｄに出力する。【００７３】
提供部１５０ｂにより、第３ベクトルの始点および終点を選択するインストラクション画面が表示部１３０に表示されると、ユーザは、入力部１２０を操作して、第３ベクトルの始点および終点を選択する。第２取得部１５０ｃは、入力部１２０から、第３ベクトルの始点および終点の情報を取得する。入力部１２０により選択される、第３ベクトルの始点および終点の情報は、可視画像の座標に対応する。【００７４】
第２取得部１５０ｃは、距離画像テーブル１４０ａの第２距離画像情報を基にして、インストラクション画面でユーザに選択された第３ベクトルの始点に対応する点の識別情報を、各点群から特定する。第３ベクトルの始点に対応する点の識別情報を、「第３始点識別情報」と表記する。【００７５】
第２取得部１５０ｃは、距離画像テーブル１４０ａの第２距離画像情報を基にして、インストラクション画面でユーザに選択された第３ベクトルの終点に対応する点の識別情報を、各点群から特定する。第３ベクトルの終点に対応する点の識別情報を、「第３終点識別情報」と表記する。【００７６】
提供部１５０ｂにより、第４ベクトルの始点および終点を選択するインストラクション画面が表示部１３０に表示されると、ユーザは、入力部１２０を操作して、第４ベクトルの始点および終点を選択する。第２取得部１５０ｃは、入力部１２０から、第４ベクトルの始点および終点の情報を取得する。入力部１２０により選択される、第４ベクトルの始点および終点の情報は、可視画像の座標に対応する。【００７７】
第２取得部１５０ｃは、距離画像テーブル１４０ａの第２距離画像情報を基にして、インストラクション画面でユーザに選択された第４ベクトルの始点に対応する点の識別情報を、各点群から特定する。第４ベクトルの始点に対応する点の識別情報を、「第４始点識別情報」と表記する。【００７８】
第２取得部１５０ｃは、距離画像テーブル１４０ａの第２距離画像情報を基にして、インストラクション画面でユーザに選択された第４ベクトルの終点に対応する点の識別情報を、各点群から特定する。第４ベクトルの終点に対応する点の識別情報を、「第４終点識別情報」と表記する。【００７９】
提供部１５０ｂにより、第２並進用点を選択するインストラクション画面が表示部１３０に表示されると、ユーザは、入力部１２０を操作して、第２並進用点を選択する。第２取得部１５０ｃは、入力部１２０から、第２並進用点の情報を取得する。入力部１２０により選択される、第２並進用点の情報は、可視画像の座標に対応する。【００８０】
第２取得部１５０ｃは、距離画像テーブル１４０ａの第２距離画像情報を基にして、インストラクション画面でユーザに選択された第２並進用点に対応する点の識別情報を、各点群から特定する。第２並進用点に対応する点の識別情報を、「第２並進点識別情報」と表記する。【００８１】
第２取得部１５０ｃは、第３始点識別情報、第３終点識別情報、第４始点識別情報、第４終点識別情報、第２並進点識別情報を、算出部１５０ｄに出力する。【００８２】
算出部１５０ｄは、第１ベクトル、第２ベクトル、第３ベクトル、第４ベクトル、第１並進点、第２並進点を基にして、位置合わせのための回転角度および並進距離を算出する処理部である。算出部１５０ｄは、算出した回転角度および並進距離の情報をパラメータ１４０ｂとして、記憶部１４０に記憶する。パラメータ１４０ｂに含まれる位置合わせのための回転角度および並進距離を適宜、「位置合わせ回転角度」、「位置合わせ並進距離」と表記する。【００８３】
たとえば、算出部１５０ｄは、次の処理を実行することで、各ベクトルの始点および終点の３次元座標、各並進用点の３次元座標を特定する。【００８４】
算出部１５０ｄは、第１始点識別情報および第１終点識別情報と、距離画像テーブル１４０ａの第１距離画像情報とを基にして、第１ベクトルの始点および終点の３次元座標を検出し、第１ベクトルを特定する。算出部１５０ｄは、第２始点識別情報および第２終点識別情報と、第１距離画像情報とを基にして、第２ベクトルの始点および終点の３次元座標を検出し、第２ベクトルを特定する。算出部１５０ｄは、第１並進識別情報と、第１距離画像情報とを基にして、第１並進用点の３次元座標を特定する。【００８５】
算出部１５０ｄは、第３始点識別情報および第３終点識別情報と、距離画像テーブル１４０ａの第２距離画像情報とを基にして、第３ベクトルの始点および終点の３次元座標を検出し、第３ベクトルを特定する。算出部１５０ｄは、第４始点識別情報および第４終点識別情報と、第２距離画像情報とを基にして、第４ベクトルの始点および終点の３次元座標を検出し、第２ベクトルを特定する。算出部１５０ｄは、第２並進識別情報と、第２距離画像情報とを基にして、第２並進用点の３次元座標を特定する。【００８６】
図１０は、第１〜第４ベクトルおよび第１、２並進用点の一例を示す図である。図１０において、点群１６Ａは、センサ１０Ａにより測距された点群である。点群１６Ｂは、センサ１０Ｂにより測距された点群である。点群１６Ａのベクトル１６Ａ−１は、第１ベクトルである。点群１６Ａのベクトル１６Ａ−２は、第１ベクトルである。点１７Ａは、第１並進用点である。【００８７】
点群１６Ａのベクトル１６Ｂ−３は、第３ベクトルである。点群１６Ｂのベクトル１６Ｂ−４は、第４ベクトルである。点１７Ｂは、第２並進用点である。【００８８】
続いて、算出部１５０ｄは、第１ベクトル、第２ベクトル、第３ベクトル、第４ベクトルをそれぞれ単位ベクトル化する。たとえば、算出部１５０ｄは、第１ベクトルを、第１ベクトルの長さで割ることで、第１ベクトルを単位ベクトル化する。他のベクトルについても同様にして、単位ベクトル化する。以下の説明では、単位ベクトル化した第１ベクトル、第２ベクトル、第３ベクトル、第４ベクトルをそれぞれ、単に、第１ベクトル、第２ベクトル、第３ベクトル、第４ベクトルと表記する。【００８９】
算出部１５０ｄは、第１ベクトル、第２ベクトル、第３ベクトル、第４ベクトルの各始点を、３次元座標の原点の位置に移動させる。【００９０】
算出部１５０ｄは、式（１）の合計距離Ｄが最小となる第３ベクトルの回転角度を算出する。式（１）において、Ｄ１３は、第１ベクトルの終点と、第３ベクトルの終点との距離を示す。Ｄ２４は、第２ベクトルの終点と、第４ベクトルの終点との距離を示す。たとえば、回転角度には、Ｘ回転角度、Ｙ回転角度、Ｚ回転角度を有する。Ｘ回転角度は、ｘ軸周りの回転角度（ロール）に対応する。Ｙ回転角度は、ｙ軸周りの回転角度（ピッチ）に対応する。Ｚ回転角度は、ｚ軸周りの回転角度（ヨー）を示す。【００９１】
Ｄ＝Ｄ１３＋Ｄ２４・・・（１）【００９２】
算出部１５０ｄは、第１ベクトルおよび第２ベクトルを固定し、第３ベクトルの回転角度を変更して、最小となる合計距離Ｄを算出する。たとえば、算出部１５０ｄは、Ｘ回転角度、Ｙ回転角度、Ｚ回転角度を少しずつ変更して、合計距離Ｄを算出する処理を繰り返し実行し、合計距離Ｄが最小となるＸ回転角度、Ｙ回転角度、Ｚ回転角度を探索する。なお、算出部１５０ｄは、第３ベクトルと第４ベクトルとの位置関係を維持する。すなわち、第３ベクトルに対する回転角度の変更に合わせて、第４ベクトルの回転角度を変更する。合計距離Ｄが最小となる回転角度が「位置合わせ回転角度」となる。【００９３】
算出部１５０ｄは、位置合わせ回転角度を算出すると、並進距離を算出する処理を行う。算出部１５０ｄは、第２並進用点の３次元座標を、位置合わせ回転角度だけ回転させる。算出部１５０ｄは、位置合わせ回転角度だけ回転させた第２並進用点の３次元座標と、第１並進用点の３次元座標との差分を、位置合わせ並進距離として算出する。位置合わせ並進距離には、Ｘ並進距離、Ｙ並進距離、Ｚ並進距離が含まれる。【００９４】
Ｘ並進距離は、第１並進用点のｘ座標と、第２並進用点のｘ座標との差分である。Ｙ並進距離は、第１並進用点のｙ座標と、第２並進用点のｙ座標との差分である。Ｚ並進距離は、第１並進用点のｚ座標と、第２並進用点のｚ座標との差分である。【００９５】
算出部１５０ｄは、上記処理により算出した位置合わせ回転角度と、位置合わせ並進距離とを、パラメータ１４０ｄとして、記憶部１４０に記憶する。【００９６】
出力部１５０ｅは、パラメータ１４０ｂを、採点装置等の外部装置に出力する処理部である。【００９７】
次に、本実施例１に係る情報処理装置１００の処理手順の一例について説明する。図１１は、本実施例１に係る情報処理装置の処理手順を示すフローチャートである。図１１に示すように、この情報処理装置１００の第１取得部１５０ａは、センサ１０Ａ、１０Ｂから第１距離画像情報、第２距離画像情報を取得する（ステップＳ１０１）。【００９８】
情報処理装置１００の提供部１５０ｂは、インストラクション画面の情報を生成し、インストラクション画面を表示部１３０に表示させる（ステップＳ１０２）。【００９９】
情報処理装置１００の第２取得部１５０ｃは、ユーザによる選択を基にして、センサ１０Ａの点群から、第１ベクトルの始点および終点、第２ベクトルの始点および終点、第１並進用点を取得する（ステップＳ１０３）。第２取得部１５０ｃは、ユーザによる選択を基にして、センサ１０Ｂの点群から、第３ベクトルの始点および終点、第４ベクトルの始点および終点、第２並進用点を取得する（ステップＳ１０４）。【０１００】
情報処理装置１００の算出部１５０ｄは、第１〜第４ベクトルを単位ベクトルに変換する（ステップＳ１０５）。算出部１５０ｄは、始点が３次元座標の原点となるように、第１〜第４ベクトルを移動させる（ステップＳ１０６）。【０１０１】
算出部１５０ｄは、合計距離Ｄが最小となるセンサ１０Ｂの終点の回転角度（位置合わせ回転角度）を算出する（ステップＳ１０７）。算出部１５０ｄは、第２並進用点を、位置合わせ回転角度だけ回転させる（ステップＳ１０８）。【０１０２】
算出部１５０ｄは、第１並進用点の座標と、回転させた第２並進用点の座標との差分を並進距離（位置合わせ並進距離）として算出する（ステップＳ１０９）。算出部１５０ｄは、位置合わせ回転角度と、位置合わせ並進距離とをパラメータ１４０ｂとして記憶部１４０に記憶させる（ステップＳ１１０）。【０１０３】
次に、本実施例１に係る情報処理装置１００の効果について説明する。情報処理装置１００は、インストラクション画面を表示して、条件１〜４を満たす第１〜第４ベクトル、第１、２並進用点を取得し、第１〜第４ベクトル、第１、２並進用点を基にして、センサ１０Ａに測距された点群と、センサ１０Ｂに測距された点群との位置合わせするためのパラメータを算出する。このように、条件１〜４を満たす第１〜第４ベクトル、第１、２並進用点を特定するための選択を、インストラクション画面を用いて、ユーザから受け付けることで、センサ１０Ａの測距範囲と、センサ１０Ｂの測距範囲との共通範囲に含まれる３次元点群の数が少なく、十分特徴的な形をしていない場合でも、位置合わせを行うことができる。【０１０４】
ところで、実施例１で用いるマーカは、図２に示した壁１５に埋め込まれているものではなく、持ち運び可能なものであってもよい。図１２は、持ち運び可能なマーカ配置台の一例を示す図である。図１２に示すマーカ配置台３０は、マーカ３０−１〜３０−４が含まれる。マーカ３０−１〜３０−３は、水平方向に並んでいる。マーカ３０−１〜３０−３を通る直線と、マーカ３０−１および３０−４を通る直線とのなす角度を９０度とする。センサ１０Ａの測距可能な範囲を、範囲３０Ａとする。センサ１０Ｂの測距可能な範囲を、範囲３０Ｂとする。【０１０５】
情報処理装置１００は、マーカ配置台３０の可視画像を基にして、インストラクション画面の情報を生成し、表示部１３０に表示させる。情報処理装置１００は、インストラクション画面を参照するユーザから、第１〜第４ベクトルの始点および終点、第１、２並進用点の選択を受け付ける。【０１０６】
続いて、本実施例１に示した情報処理装置１００が算出したパラメータ１４０ｂを用いて、体操を行う選手の演技を採点する採点装置の一例について説明する。ここでは、採点装置について説明を行うが、採点装置に限らず、複数のセンサを用いて被写体のセンシングを行う装置であれば、情報処理装置１００が算出したパラメータ１４０ｂを利用することが可能である。【０１０７】
図１３は、採点装置の構成を示す機能ブロック図である。図１３に示すように、この採点装置２００は、センサ１０Ａ、センサ１０Ｂ、表示装置２５０に接続される。センサ１０Ａ、センサ１０Ｂは、図１に示したセンサ１０Ａ、センサ１０Ｂに対応する。図１２に示すセンサ１０Ａ，１０Ｂの配置状況と、図１に示したセンサ１０Ａ，１０Ｂの配置状況とは同一であるものとする。設置状況は、センサ１０Ａ，１０Ｂの配置位置、センサの方向を示す。センサ１０Ａ，１０Ｂは、選手７Ａを含めて、第１距離画像情報、第２距離画像情報を測定する。【０１０８】
表示装置２５０は、採点装置から出力される情報を表示する表示装置である。表示装置２５０は、たとえば、液晶ディスプレイ、タッチパネル等に対応する。【０１０９】
採点装置２００は、記憶部２０１、取得部２０２、位置合わせ部２０３、認識部２０４、出力部２０５を有する。【０１１０】
記憶部２０１は、パラメータ１４０ｂを有する。記憶部２０１は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。パラメータ１４０ｂは、図８で説明したパラメータ１４０ｂに対応する情報である。【０１１１】
取得部２０２は、センサ１０Ａから第１距離画像情報を取得し、センサ１０ｂから第２距離画像情報を取得する。取得部２０２は、第１距離画像情報と第１背景フレームとを基にして、第１距離画像情報に含まれる被写体６を構成する第１点群を抽出する。取得部２０２は、第２距離画像情報と第２背景フレームとを基にして、第２距離画像情報に含まれる被写体６を構成する第２点群を抽出する。取得部２０２は、第１点群の座標情報と、第１点群の座標情報とを、位置合わせ部２０３に出力する。ここで、第１背景フレームは、被写体６を含まない第１距離画像情報を示すものであり、事前に設定される。第２背景フレームは、被写体６を含まない第２距離画像情報を示すものであり、事前に設定される。【０１１２】
位置合わせ部２０３は、パラメータ１４０ｂを基にして、第１点群と第２点群との位置合わせを行う処理部である。位置合わせ部２０３は、第２点群に含まれる各点の座標を、パラメータ１４０ｂに含まれる位置合わせ回転角度、位置合わせ並進距離に基づいて位置合わせする。位置合わせ部２０３は、位置合わせした第２点群と、第１点群との情報を、認識部２０４に出力する。【０１１３】
認識部２０４は、位置合わせされた第２点群および第１点群を組み合わせて、被写体６の骨格を認識する処理部である。認識部２０４は、時刻毎に被写体６の骨格の位置を検出し、骨格の位置の推移と採点基準を定義したテーブル（図示略）とを比較して、被写体６の演技を採点する。認識部２０４は、採点結果の情報を、出力部２０５に出力する。たとえば、採点結果の情報には、Ｄ（Difficulty）スコア、Ｅ（Execution）スコアが含まれる。【０１１４】
出力部２０５は、採点結果の情報を基にして、採点画面情報を生成する処理部である。出力部２０５は、採点画面情報を、表示装置２５０に出力して表示させる。図１４は、採点画面の一例を示す図である。図１４に示すように、採点画面情報６５には、領域６５ａ，６５ｂ，６５ｃが含まれる。【０１１５】
領域６５ａは、Ｄスコア、Ｅスコア等の採点結果を表示する領域である。領域６５ｂは、カメラ等により撮影された被写体６の映像を表示する領域である。領域６５ｃは、位置合わせされた第一点群および第二点群から推定される骨格の情報を基にして推定される３Ｄモデルを表示する領域である。【０１１６】
続いて、採点装置２００の位置合わせ部２０３の処理手順の一例について説明する。図１５は、採点装置の位置合わせ部の処理手順を示すフローチャートである。図１５に示す例では、第２点群の位置合わせを行う場合について説明するが、第１点群も第２点群と同様にして位置合わせが行われる。【０１１７】
図１５に示すように、採点装置２００の位置合わせ部２０３は、第２点群をＸ並進距離分、並進させる（ステップＳ２０１）。位置合わせ部２０３は、第２点群をＹ並進距離分、並進させる（ステップＳ２０２）。位置合わせ部２０３は、第２点群をＺ並進距離分、並進させる（ステップＳ２０３）。【０１１８】
位置合わせ部２０３は、Ｘ軸を中心に、第２点群をＸ回転角度分、回転させる（ステップＳ２０４）。位置合わせ部２０３は、Ｙ軸を中心に、第２点群をＹ回転角度分、回転させる（ステップＳ２０５）。位置合わせ部２０３は、Ｚ軸を中心に、第２点群をＺ回転角度分、回転させる（ステップＳ２０６）。【０１１９】
上記のように、採点装置２００は、情報処理装置１００により生成されるパラメータ１４０ｂを基にして、センサ１０Ａ，１０Ｂにより測定される点群の位置合わせを行うことで、被写体全体の点群を正確に特定でき、採点精度を向上させることができる。【０１２０】
図１６は、位置合わせ後の第１点群と第２点群との一例を示す図である。図１６では説明の便宜上、図３に示した点群１６Ａ（第１点群）と、点群１６Ｂ（第２点群）との位置合わせ結果を示す。図１６に示すように、各マーカの位置が精度よく一致している。【０１２１】
なお、本実施例１では、情報処理装置１００と、採点装置２００とが別々の装置で実現される場合について説明したがこれに限定されるものではない。たとえば、情報処理装置１００の機能に、採点装置２００の機能が含まれていてもよい。すなわち、情報処理装置１００の制御部１５０に、採点装置２００の位置合わせ部２０３、認識部２４０、出力部２０５等が含まれていてもよい。
【実施例２】
【０１２２】
次に、本実施例２に係る情報処理装置について説明する。本実施例２に係る情報処理装置は、実施例１と同様にして、センサ１０Ａとセンサ１０Ｂに接続される。【０１２３】
本実施例２に係る情報処理装置は、マーカの中心座標を自動で検出する。また、一つ一つのマーカを異なる形状で予め決められた位置関係で配置しておくことで、各マークの形状を認識して、条件１〜４を満たす第１〜第４ベクトル、第１、２並進用点を自動で検出する。このような処理を実行することで、ユーザが条件１〜４を満たすように各ベクトル、並進用点を選択しなくても、位置合わせを行うためのパラメータを算出することができる。【０１２４】
図１７は、本実施例２で用いるマーカの一例を示す図である。図１７に示すように、壁３５には、マーカ３５−１〜３５−４が含まれる。マーカ３５−１〜３５−３は、水平方向に並んでいる。マーカ３５−１〜３５−３を通る直線と、マーカ３５−１および３５−４を通る直線とのなす角度を９０度とする。センサ１０Ａの測距可能な範囲を、範囲３５Ａとする。センサ１０Ｂの測距可能な範囲を、範囲３５Ｂとする。【０１２５】
マーカ３５−１〜３５−４はそれぞれ固有の形状を有している。マーカ３５−１は「３角形」である。マーカ３５−２は「４角形（ダイヤ）」である。マーカ３５−３は「５角形」である。マーカ３５−４は「６角形」である。【０１２６】
図１８は、本実施例２に係る情報処理装置の構成を示す機能ブロック図である。図１８に示すように、この情報処理装置３００は、インタフェース部２１０と、入力部３２０と、表示部３３０と、記憶部３４０と、制御部３５０とを有する。【０１２７】
インタフェース部２１０は、センサ１０Ａおよびセンサ１０Ｂから情報を受信する通信装置である。インタフェース部２１０は、センサ１０Ａから、第１距離画像情報を受信し、受信した第１距離画像情報を、制御部３５０に出力する。インタフェース部２１０は、センサ１０Ｂから、第２距離画像情報を受信し、受信した第２距離画像情報を、制御部３５０に出力する。また、インタフェース部２１０は、実施例１で説明した採点装置２００と接続していてもよい。【０１２８】
入力部３２０は、各種の情報を情報処理装置１００に入力するための入力装置である。たとえば、入力部１２０は、キーボードやマウス、タッチパネル等に対応する。ユーザは、入力部１２０を操作して、各種の情報を入力する。【０１２９】
表示部３３０は、制御部３５０から出力される各種の情報を表示する表示装置である。たとえば、表示部３３０は、液晶ディスプレイ、タッチパネル等に対応する。【０１３０】
記憶部３４０は、距離画像テーブル３４０ａと、パラメータ３４０ｂとを有する。記憶部３４０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。【０１３１】
距離画像テーブル３４０ａは、センサ１０Ａから出力される第１距離画像情報と、センサ１０Ｂから出力される第２距離画像情報とを保持するテーブルである。距離画像テーブル３４０ａのデータ構造は、図９に示した距離画像テーブル１４０ａのデータ構造と同様である。【０１３２】
パラメータ３４０ｂは、センサ１０Ａに測距される点群と、センサ１０Ｂに測距される点群との位置合わせを行うためのパラメータである。パラメータには、位置合わせ回転角度の情報と、位置合わせ並進距離の情報とが含まれる。【０１３３】
マーカ定義情報３４０ｃは、各マーカの特徴と、各ベクトルの始点、終点、並進用点との対応関係を示す情報である。図１９は、マーカ定義情報のデータ構造の一例を示す図である。図１９に示すように、マーカ定義情報は、マーカ特徴と、各ベクトルの始点および終点、並進用点とをオンオフのフラグで関連付ける。オンは、関連づけが有効であり、オフは関連づけが無効であることを示す。【０１３４】
たとえば、マーカ特徴「３角形」のマーカは、第１ベクトルの始点となることが定義される。マーカ特徴「４角形」のマーカは、第１ベクトルの終点、第２ベクトルの始点、第３ベクトルの始点、第４ベクトルの始点、並進用点となることを定義される。マーカ特徴「５角形」のマーカは、第３ベクトルの終点となることが定義される。マーカ特徴「６角形」のマーカは、第２ベクトルの終点、第４ベクトルの終点となることが定義される。【０１３５】
図１８の説明に戻る。制御部３５０は、第１取得部３５０ａと、第２取得部３５０ｂと、算出部３５０ｃと、出力部３５０ｄとを有する。制御部３５０は、ＣＰＵやＭＰＵなどによって実現できる。また、制御部３５０は、ＡＳＩＣやＦＰＧＡなどのハードワイヤードロジックによっても実現できる。【０１３６】
第１取得部３５０ａは、インタフェース部３１０を介して、センサ１０Ａから第１距離画像情報を取得し、取得した第１距離画像情報を距離画像テーブル３４０ａに登録する。第１取得部３５０ａは、センサ１０Ｂから第２距離画像情報を取得し、取得した第２距離画像情報を距離画像テーブル３４０ａに登録する。第１取得部３５０ａに関するその他の説明は、実施例１で説明した第１取得部１５０ａに関する説明と同様である。【０１３７】
第２取得部３５０ｂは、第１、２距離画像情報の各可視画像と、マーカ定義情報３４０ｃとを基にして、第１ベクトル、第２ベクトル、第１並進用点、第３ベクトル、第４ベクトル、第２並進用点を取得する処理部である。【０１３８】
第２取得部３５０ｂは、距離画像テーブル３４０ａの可視画像に対して、多角形（３角形、４角形、５角形、６角形）のテンプレートとのパターンマッチングを実行し、３角形、４角形、５角形、６角形のマーカを検出する。第２取得部３５０ｂは、マーカ定義情報３４０ｃを基にして、どのマーカが、いずれのベクトルの始点、終点、いずれの並進用点に対応するかを判定し、第１ベクトル、第２ベクトル、第１並進用点、第３ベクトル、第４ベクトル、第２並進用点を取得する。【０１３９】
第２取得部３５０ｂは、第１距離画像情報の可視画像上の３角形のマーカ（マーカの中心）に含まれる点（第１ベクトルの始点）を選択する。第２取得部３５０ｂは、３角形のマーカに含まれる点が複数存在する場合には、いずれか一つの点を選択する。第２取得部３５０ｂは、距離画像テーブル３４０ａの第１距離画像情報を基にして、選択した点（第１ベクトルの始点）に対応する点の識別情報を、各点群から特定する。第１ベクトルの始点に対応する点の識別情報を、「第１始点識別情報」と表記する。【０１４０】
第２取得部３５０ｂは、第１距離画像情報の可視画像上の４角形のマーカ（マーカの中心）に含まれる点（第１ベクトルの終点、第２ベクトルの始点、第１並進用点）を選択する。第２取得部３５０ｂは、４角形のマーカに含まれる点が複数存在する場合には、いずれか一つの点を選択する。【０１４１】
第２取得部３５０ｂは、距離画像テーブル３４０ａの第１距離画像情報を基にして、選択した点（第１ベクトルの終点、第２ベクトルの始点、第１並進用点）に対応する点の識別情報を、各点群から特定する。第１ベクトルの終点に対応する点の識別情報を、「第１終点識別情報」と表記する。第２ベクトルの始点に対応する点の識別情報を「第２始点識別情報」と表記する。第１並進用点に対応する点の識別情報を「第１並進点識別情報」と表記する。図１７に示す例では、第１終点識別情報、第２始点識別情報、第１並進点識別情報に示される点は、同じ点となる。【０１４２】
第２取得部３５０ｂは、第１距離画像情報の可視画像上の６角形のマーカ（マーカの中心）に含まれる点（第２ベクトルの終点）を選択する。第２取得部３５０ｂは、６角形のマーカに含まれる点が複数存在する場合には、いずれか一つの点を選択する。第２取得部３５０ｂは、距離画像テーブル３４０ａの第１距離画像情報を基にして、選択した点（第２ベクトルの終点）に対応する点の識別情報を、各点群から特定する。第２ベクトルの終点に対応する点の識別情報を、「第２終点識別情報」と表記する。【０１４３】
第２取得部３５０ｂは、第２距離画像情報の可視画像上の４角形のマーカ（マーカの中心）に含まれる点（第３ベクトルの始点、第４ベクトルの始点、第２並進用点）を選択する。第２取得部３５０ｂは、４角形のマーカに含まれる点が複数存在する場合には、いずれか一つの点を選択する。【０１４４】
第２取得部３５０ｂは、距離画像テーブル３４０ａの第２距離画像情報を基にして、選択した点（第３ベクトルの始点、第４ベクトルの始点、第２並進用点）に対応する点の識別情報を、各点群から特定する。第３ベクトルの始点に対応する点の識別情報を、「第３始点識別情報」と表記する。第４ベクトルの始点に対応する点の識別情報を、「第４始点識別情報」と表記する。第２並進用点に対応する点の識別情報を「第２並進点識別情報」と表記する。図１７に示す例では、第３始点識別情報、第４始点識別情報、第２並進点識別情報に示される点は、同じ点となる。【０１４５】
第２取得部３５０ｂは、第２距離画像情報の可視画像上の５角形のマーカ（マーカの中心）に含まれる点（第３ベクトルの終点）を選択する。第２取得部３５０ｂは、５角形のマーカに含まれる点が複数存在する場合には、いずれか一つの点を選択する。第２取得部３５０ｂは、距離画像テーブル３４０ａの第２距離画像情報を基にして、選択した点（第３ベクトルの終点）に対応する点の識別情報を、各点群から特定する。第３ベクトルの終点に対応する点の識別情報を、「第３終点識別情報」と表記する。【０１４６】
第２取得部３５０ｂは、第２距離画像情報の可視画像上の６角形のマーカ（マーカの中心）に含まれる点（第４ベクトルの終点）を選択する。第２取得部３５０ｂは、６角形のマーカに含まれる点が複数存在する場合には、いずれか一つの点を選択する。第２取得部３５０ｂは、距離画像テーブル３４０ａの第２距離画像情報を基にして、選択した点（第４ベクトルの終点）に対応する点の識別情報を、各点群から特定する。第４ベクトルの終点に対応する点の識別情報を、「第４終点識別情報」と表記する。【０１４７】
第２取得部３５０ｂは、第１始点識別情報、第１終点識別情報、第２始点識別情報、第２終点識別情報、第１並進点識別情報を、算出部３５０ｃに出力する。第２取得部３５０ｂは、第３始点識別情報、第３終点識別情報、第４始点識別情報、第４終点識別情報、第２並進点識別情報を、算出部３５０ｃに出力する。【０１４８】
算出部３５０ｃは、第１ベクトル、第２ベクトル、第３ベクトル、第４ベクトル、第１並進点、第２並進点を基にして、位置合わせのための回転角度および並進距離を算出する処理部である。算出部３５０ｃは、算出した回転角度および並進距離の情報をパラメータ３４０ｂとして、記憶部３４０に記憶する。算出部３５０ｃの処理は、実施例１で説明した算出部１５０ｄの処理と同様である。【０１４９】
出力部３５０ｄは、パラメータ３４０ｂを、実施例１で説明した採点装置２００等の外部装置に出力する処理部である。【０１５０】
次に、本実施例２に係る情報処理装置３００の処理手順の一例について説明する。図２０は、本実施例２に係る情報処理装置の処理手順を示すフローチャートである。図２０に示すように、この情報処理装置３００の第１取得部３５０ａは、センサ１０Ａ、１０Ｂから第１距離画像情報、第２距離画像情報を取得する（ステップＳ３０１）。【０１５１】
情報処理装置３００の第２取得部３５０ｂは、マーカ定義情報３４０ｃを基にして、センサ１０Ａの点群から、第１ベクトルの始点および終点、第２ベクトルの始点および終点、第１並進用点を取得する（ステップＳ３０２）。第２取得部３５０ｂは、マーカ定義情報３４０ｃを基にして、センサ１０Ｂの点群から、第３ベクトルの始点および終点、第４ベクトルの始点および終点、第２並進用点を取得する（ステップＳ３０３）。【０１５２】
情報処理装置３００の算出部３５０ｃは、第１〜第４ベクトルを単位ベクトルに変換する（ステップＳ３０４）。算出部３５０ｃは、始点が３次元座標の原点となるように、第１〜第４ベクトルを移動させる（ステップＳ３０５）。【０１５３】
算出部３５０ｃは、合計距離Ｄが最小となるセンサ１０Ｂの終点の回転角度（位置合わせ回転角度）を算出する（ステップＳ３０６）。算出部３５０ｃは、第２並進用点を、位置合わせ回転角度だけ回転させる（ステップＳ３０７）。【０１５４】
算出部３５０ｃは、第１並進用点の座標と、回転させた第２並進用点の座標との差分を並進距離（位置合わせ並進距離）として算出する（ステップＳ３０８）。算出部３５０ｃは、位置合わせ回転角度と、位置合わせ並進距離とをパラメータ３４０ｂとして記憶部３４０に記憶させる（ステップＳ３０９）。【０１５５】
次に、本実施例２に係る情報処理装置３００の効果について説明する。情報処理装置３００は、一つ一つのマーカを異なる形状で予め決められた位置関係で配置しておくことで、各マークの形状を認識して、条件１〜４を満たす第１〜第４ベクトル、第１、２並進用点を自動で検出する。このような処理を実行することで、ユーザが条件１〜４を満たすように各ベクトル、並進用点を選択しなくても、位置合わせを行うためのパラメータを算出することができる。【０１５６】
なお、本実施例２では、情報処理装置３００と、採点装置２００とが別々の装置で実現される場合について説明したがこれに限定されるものではない。たとえば、情報処理装置３００の機能に、採点装置２００の機能が含まれていてもよい。すなわち、情報処理装置３００の制御部３５０に、採点装置２００の位置合わせ部２０３、認識部２４０、出力部２０５等が含まれていてもよい。
【実施例３】
【０１５７】
実施例１で説明したように、センサ１０Ａ、１０Ｂ間において、実空間上で水平方向と垂直方向とのベクトル（第１〜第４ベクトルの始点および終点）及び実空間上で同じ位置（第１、２並進用点）を取得することができれば、位置合わせを行うことができる。実施例１では、壁１５にマーカを配置する場合について説明したが、第１〜第４ベクトルの始点および終点、第１、２並進用点を既存の器具や被写体から取得できる場合には、既存の器具や被写体から取得してもよい。【０１５８】
本実施例３に係る情報処理装置は、体操の平行台が水平であること、選手が直立して一旦動きをとめている瞬間があること等を利用し、インストラクション画面を表示して、ユーザから、第１〜第４ベクトルの始点および終点、第１、２並進用点の選択を受け付ける。【０１５９】
図２１は、平行台で演技する選手を示す図である。図２１において、センサ１０Ａの測距可能な範囲を範囲４５Ａとする。センサ１０Ｂの測距可能な範囲を範囲４５Ｂとする。平行台４６は、平行であるため、水平ベクトル４６Ａ、４６Ｂ（第１ベクトル、第３ベクトル）を取得することができる。【０１６０】
平行台４６上で、選手が演技を行っており、時刻Ｔ１における選手を選手４７Ｔ１とする。時刻Ｔ２における選手を選手４７Ｔ２とする。時刻Ｔ３における選手を選手４７Ｔ３とする。時刻Ｔ１において、選手４７Ｔ１は直立しているため、垂直ベクトル４７Ａ（第２ベクトル）を取得することができる。時刻Ｔ３において、選手４７Ｔ３は直立しているため、垂直ベクトル４７Ｂ（第４ベクトル）を取得することができる。【０１６１】
また、時刻Ｔ２において、範囲４５Ａと範囲４５Ｂとが重複する領域で、選手４７Ｔ２が位置しており、並進合わせ用の点４７Ｃ（第１並進用点、第２並進用点）を取得することができる。なお、同じ位置であれば、範囲４５Ａと範囲４５Ｂとが重複する領域から、点４７Ｃ以外の点を並進合わせ用の点として取得してもよい。【０１６２】
図２２は、本実施例３に係るインストラクション画面の一例を示す図（１）である。図２２に示すインストラクション画面５０は、センサ１０Ａの可視画像に基づき生成される画面である。ユーザは、インストラクション画面５０を参照し、情報処理装置４００の入力装置を操作して、第１ベクトルの始点と、第１ベクトルの終点とを選択する。図２２に示す例では、第１ベクトルの始点として点２０ａが選択され、第１ベクトルの終点として点５０ｂが選択されている。【０１６３】
図示を省略するが、情報処理装置４００は、センサ１０Ｂの可視画像に基づき、第３ベクトルの選択を受け付けるインストラクション画面を表示する。ユーザは、かかるインストラクション画面を参照し、第３ベクトルの始点と、第３ベクトルの終点とを選択する。ユーザは、第１ベクトルと第３ベクトルとを選択する場合には、第１ベクトルと第３ベクトルとが条件１を満たすようにする。【０１６４】
図２３は、本実施例３に係るインストラクション画面の一例を示す図（２）である。図２３に示すインストラクション画面５１は、センサ１０Ａの可視画像に基づき生成される画面である。ユーザは、インストラクション画面５１を参照し、情報処理装置４００の入力装置を操作して、第２ベクトルの始点と、第２ベクトルの終点とを選択する。図２３に示す例では、第２ベクトルの始点として点５１ａが選択され、第２ベクトルの終点として点５１ｂが選択されている。【０１６５】
図示を省略するが、情報処理装置４００は、センサ１０Ｂの可視画像に基づき、第４ベクトルの選択を受け付けるインストラクション画面を表示する。ユーザは、かかるインストラクション画面を参照し、第４ベクトルの始点と、第４ベクトルの終点とを選択する。ユーザは、第２ベクトルと第４ベクトルとを選択する場合には、第２ベクトルと第４ベクトルとが条件２を満たすようにする。ユーザは、第１ベクトルと第２ベクトルとが、条件３を満たすようにする。ユーザは、第３ベクトルと第４ベクトルとが、条件３を満たすようにする。【０１６６】
図２４は、本実施例３に係るインストラクション画面の一例を示す図（３）である。図２４に示すインストラクション画面５２は、センサ１０Ａの可視画像に基づき生成される画面である。ユーザは、インストラクション画面５２を参照し、情報処理装置４００の入力装置を操作して、第１並進用点を選択する。図２４に示す例では、第１並進用点として、点５２ａが選択されている。【０１６７】
図示を省略するが、情報処理装置４００は、センサ１０Ｂの可視画像に基づき、第２並進用点を受け付けるインストラクション画面を表示する。ユーザは、かかるインストラクション画面を参照し、第２並進用点を選択する。ユーザは、第１並進用点の位置と、第２並進用点の位置とが、条件４を満たすようにする。【０１６８】
上記のように、情報処理装置４００は、実施例１で説明したマーカの代わりに、体操の平行台が水平であること、選手が直立して一旦動きをとめている瞬間があること等を利用し、インストラクション画面を表示する。このため、実施例１で説明したようなマーカを用いなくても、第１〜第４ベクトル、第１、２並進用点を取得することができる。【０１６９】
続いて、本実施例３に係る情報処理装置４００の構成の一例について説明する。図２５は、本実施例３に係る情報処理装置の構成を示す機能ブロック図である。図２５に示すように、この情報処理装置４００は、インタフェース部４１０と、入力部４２０と、表示部４３０と、記憶部４４０と、制御部４５０とを有する。【０１７０】
インタフェース部４１０は、センサ１０Ａおよびセンサ１０Ｂから情報を受信する通信装置である。インタフェース部４１０は、センサ１０Ａから、第１距離画像情報を受信し、受信した第１距離画像情報を、制御部４５０に出力する。インタフェース部４１０は、センサ１０Ｂから、第２距離画像情報を受信し、受信した第２距離画像情報を、制御部４５０に出力する。また、インタフェース部１１０は、後述する採点装置と接続していてもよい。【０１７１】
入力部４２０は、各種の情報を情報処理装置４００に入力するための入力装置である。たとえば、入力部４２０は、キーボードやマウス、タッチパネル等に対応する。ユーザは、図２２〜図２４に示したインストラクション画面を参照し、入力部４２０を操作して、第１ベクトルの始点および終点、第２ベクトルの始点および終点、第１並進用点を選択する。また、ユーザは、入力部４２０を操作して、第３ベクトルの始点および終点、第４ベクトルの始点および終点、第２並進用点を選択する。【０１７２】
表示部４３０は、制御部４５０から出力される各種の情報を表示する表示装置である。たとえば、表示部４３０は、液晶ディスプレイ、タッチパネル等に対応する。たとえば、表示部は、図２２〜図２４に示したインストラクション画面を表示する。【０１７３】
記憶部４４０は、距離画像テーブル４４０ａと、パラメータ４４０ｂとを有する。記憶部４４０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。【０１７４】
距離画像テーブル４４０ａは、センサ１０Ａから出力される各時刻の第１距離画像情報と、センサ１０Ｂから出力される各時刻の第２距離画像情報とを保持するテーブルである。図２６は、本実施例３に係る距離画像テーブルのデータ構造の一例を示す図である。【０１７５】
図２６に示すように、この距離画像テーブル４４０ａは、テーブル４４１，４４２を有する。テーブル４４１は、時刻と、かかる時刻にセンサ１０Ａに測距された第１距離画像情報とを対応付けるテーブルである。テーブル４４２は、時刻と、かかる時刻にセンサ１０Ｂに測距された第２距離画像情報とを対応付けるテーブルである。第１距離画像情報および第２距離画像情報に関する説明は、実施例１で説明したものと同様である。【０１７６】
パラメータ４４０ｂは、センサ１０Ａに測距される点群と、センサ１０Ｂに測距される点群との位置合わせを行うためのパラメータである。パラメータ４４０ｂには、位置合わせ回転角度の情報と、位置合わせ並進距離の情報とが含まれる。【０１７７】
制御部４５０は、第１取得部４５０ａと、提供部４５０ｂと、第２取得部４５０ｃと、算出部４５０ｄと、出力部４５０ｅとを有する。制御部４５０は、ＣＰＵやＭＰＵなどによって実現できる。また、制御部４５０は、ＡＳＩＣやＦＰＧＡなどのハードワイヤードロジックによっても実現できる。【０１７８】
第１取得部４５０ａは、インタフェース部４１０を介して、各時刻において、センサ１０Ａから第１距離画像情報を取得し、取得した第１距離画像情報を距離画像テーブル４４０ａのテーブル４４１に登録する。第１取得部１５０ａは、各時刻において、センサ１０Ｂから第２距離画像情報を取得し、取得した第２距離画像情報を距離画像テーブル４４０ａのテーブル４４２に登録する。【０１７９】
第１取得部４５０ａは、第１距離画像情報を距離画像テーブル４４０ａのテーブル４４１に登録する場合に、各点群とセンサ１０Ａとの距離の情報を、３次元座標情報に変換する。たとえば、第１取得部４５０ａは、距離の情報を、３次元座標情報に変換する場合に、距離を３次元座標に変換する変換テーブルを利用する。【０１８０】
第１取得部４５０ａは、第２距離画像情報を距離画像テーブル４４０ａのテーブル４４２に登録する場合に、各点群とセンサ１０Ｂとの距離の情報を、３次元座標情報に変換する。たとえば、第１取得部４５０ａは、距離の情報を、３次元座標情報に変換する場合に、距離を３次元座標に変換する変換テーブルを利用する。【０１８１】
提供部４５０ｂは、インストラクション画面の情報を生成し、インストラクション画面の情報を、表示部４３０に出力することで、インストラクション画面を表示させる処理部である。表示部４３０に表示されるインストラクション画面は、図２２〜図２４等に示したインストラクション画面５０，５１，５２等に対応する。【０１８２】
提供部４５０ｂは、距離画像テーブル４４０ａに格納された可視画像を基にして、インストラクション画面を生成する。提供部４５０ｂは、第１ベクトルの選択を受けるためのインストラクション画面を、第１距離画像情報の可視画像を用いて生成する。提供部４５０ｂは、インストラクション画面の情報を生成する場合に、第１ベクトルの始点および終点を選択する旨のコメントを付与する。【０１８３】
提供部４５０ｂは、第２ベクトルの選択を受け付けるためのインストラクション画面を生成する場合には、次の処理を行う。提供部４５０ｂは、テーブル４４１の各時刻の第１距離画像情報（可視画像）のうち、垂直方向に所定の長さ以上のエッジを有する可視画像を選択する。たとえば、垂直方向に所定の長さ以上のエッジを有する可視画像には、直立した選手が含まれている。提供部４５０ｂは、選択した可視画像を用いて、第２ベクトルの選択を受け付けるためのインストラクション画面を生成する。提供部４５０ｂは、インストラクション画面の情報を生成する場合に、第２ベクトルの始点および終点を選択する旨のコメントを付与する。【０１８４】
提供部４５０ｂは、第１並進用点の選択を受け付けるためのインストラクション画面を生成する場合には、次の処理を行う。提供部４５０ｂは、テーブル４４１の各時刻の第１距離画像情報（可視画像）のうち、範囲４５Ａおよび範囲４５Ｂの重複する重複領域において、選手が含まれる可視画像を選択する。たとえば、提供部４５０ｂは、重複領域について、背景画像を保持しておき、可視画像の重複領域と、背景画像との差分を用いて、重複画像に選手が含まれるか否かを判定してもよい。提供部４５０ｂは、選択した可視画像を用いて、第１並進用点の選択を受け付けるためのインストラクション画面を生成する。提供部４５０ｂは、インストラクション画面の情報を生成する場合に、第１並進用点を選択する旨のコメントを付与する。【０１８５】
提供部４５０ｂは、第３ベクトルの選択を受けるためのインストラクション画面を、第２距離画像情報の可視画像を用いて生成する。提供部４５０ｂは、インストラクション画面の情報を生成する場合に、第３ベクトルの始点および終点を選択する旨のコメントを付与する。【０１８６】
提供部４５０ｂは、第４ベクトルの選択を受け付けるためのインストラクション画面を生成する場合には、次の処理を行う。提供部４５０ｂは、テーブル４４２の各時刻の第２距離画像情報（可視画像）のうち、垂直方向に所定の長さ以上のエッジを有する可視画像を選択する。たとえば、垂直方向に所定の長さ以上のエッジを有する可視画像には、直立した選手が含まれている。提供部４５０ｂは、選択した可視画像を用いて、第４ベクトルの選択を受け付けるためのインストラクション画面を生成する。提供部４５０ｂは、インストラクション画面の情報を生成する場合に、第４ベクトルの始点および終点を選択する旨のコメントを付与する。【０１８７】
提供部４５０ｂは、第２並進用点の選択を受け付けるためのインストラクション画面を生成する場合には、次の処理を行う。提供部４５０ｂは、テーブル４４２の各時刻の第２距離画像情報（可視画像）のうち、範囲４５Ａおよび範囲４５Ｂの重複する重複領域において、選手が含まれる可視画像を選択する。たとえば、提供部４５０ｂは、重複領域について、背景画像を保持しておき、可視画像の重複領域と、背景画像との差分を用いて、重複画像に選手が含まれるか否かを判定してもよい。提供部４５０ｂは、選択した可視画像を用いて、第２並進用点の選択を受け付けるためのインストラクション画面を生成する。提供部４５０ｂは、インストラクション画面の情報を生成する場合に、第２並進用点を選択する旨のコメントを付与する。【０１８８】
第２取得部４５０ｃは、インストラクション画面に対してユーザに選択された情報を基にして、第１ベクトル、第２ベクトル、第１並進用点、第３ベクトル、第４ベクトル、第２並進用点を取得する処理部である。第２取得部４５０ｃは、実施例１の第２取得部１５０ｃと同様の処理を行い、第１始点識別情報、第１終点識別情報、第２始点識別情報、第２終点識別情報、第１並進点識別情報を特定する。第２取得部４５０ｃは、実施例１の第２取得部１５０ｃと同様の処理を行い、第３始点識別情報、第３終点識別情報、第４始点識別情報、第４終点識別情報、第２並進点識別情報を特定する。【０１８９】
第２取得部４５０ｃは、第１始点識別情報、第１終点識別情報、第２始点識別情報、第２終点識別情報、第１並進点識別情報、第３始点識別情報、第３終点識別情報、第４始点識別情報、第４終点識別情報、第２並進点識別情報を、算出部４５０ｄに出力する。【０１９０】
算出部４５０ｄは、第１ベクトル、第２ベクトル、第３ベクトル、第４ベクトル、第１並進点、第２並進点を基にして、位置合わせのための回転角度および並進距離を算出する処理部である。算出部４５０ｄは、算出した回転角度および並進距離の情報をパラメータ４４０ｂとして、記憶部４４０に記憶する。算出部４５０ｄの処理は、実施例１で説明した算出部１５０ｄの処理と同様である。【０１９１】
出力部４５０ｅは、パラメータ４４０ｂを、実施例１で説明した採点装置２００等の外部装置に出力する処理部である。【０１９２】
次に、本実施例３に係る情報処理装置４００の処理手順の一例について説明する。図２７は、本実施例３に係る情報処理装置の処理手順を示すフローチャートである。図２７に示すように、この情報処理装置４００の第１取得部４５０ａは、センサ１０Ａ、１０Ｂから各時刻の第１距離画像情報、第２距離画像情報を取得する（ステップＳ４０１）。【０１９３】
情報処理装置４００の提供部４５０ｂは、インストラクション画面を生成するための可視画像を選択する（ステップＳ４０２）。提供部４５０ｂは、インストラクション画面の情報を生成し、インストラクション画面を表示部４３０に表示させる（ステップＳ４０３）。【０１９４】
情報処理装置４００の第２取得部４５０ｃは、ユーザによる選択を基にして、センサ１０Ａの点群から、第１ベクトルの始点および終点、第２ベクトルの始点および終点、第１並進用点を取得する（ステップＳ４０４）。第２取得部４５０ｃは、ユーザによる選択を基にして、センサ１０Ｂの点群から、第３ベクトルの始点および終点、第４ベクトルの始点および終点、第２並進用点を取得する（ステップＳ４０５）。【０１９５】
情報処理装置４００の算出部４５０ｄは、第１〜第４ベクトルを単位ベクトルに変換する（ステップＳ４０６）。算出部４５０ｄは、始点が３次元座標の原点となるように、第１〜第４ベクトルを移動させる（ステップＳ４０７）。【０１９６】
算出部４５０ｄは、合計距離Ｄが最小となるセンサ１０Ｂの終点の回転角度（位置合わせ回転角度）を算出する（ステップＳ４０８）。算出部４５０ｄは、第２並進用点を、位置合わせ回転角度だけ回転させる（ステップＳ４０９）。【０１９７】
算出部４５０ｄは、第１並進用点の座標と、回転させた第２並進用点の座標との差分を並進距離（位置合わせ並進距離）として算出する（ステップＳ４１０）。算出部４５０ｄは、位置合わせ回転角度と、位置合わせ並進距離とをパラメータ４４０ｂとして記憶部４４０に記憶させる（ステップＳ４１１）。【０１９８】
次に、本実施例３に係る情報処理装置４００の効果について説明する。情報処理装置４００は、実施例１で説明したマーカの代わりに、体操の平行台が水平であること、選手が直立して一旦動きをとめている瞬間があること等を利用し、インストラクション画面を表示する。このため、実施例１で説明したようなマーカを用いなくても、第１〜第４ベクトル、第１、２並進用点を取得することができる。そして、これにより、センサ１０Ａ、センサ１０Ｂの位置合わせを行うことができる。【０１９９】
なお、本実施例３では、平行台、選手を用いて、第１〜第４ベクトル、第１、２並進用点を取得する場合について説明を行ったがこれに限定されるものではない。情報処理装置４００は、第１〜第４ベクトルの始点および終点、第１、２並進用点を取得可能な他の器具や被写体から取得してもよい。【０２００】
本実施例３では、情報処理装置４００と、採点装置２００とが別々の装置で実現される場合について説明したがこれに限定されるものではない。たとえば、情報処理装置４００の機能に、採点装置２００の機能が含まれていてもよい。すなわち、情報処理装置４００の制御部４５０に、採点装置２００の位置合わせ部２０３、認識部２４０、出力部２０５等が含まれていてもよい。
【実施例４】
【０２０１】
次に、本実施例４に係る情報処理装置について説明する。本実施例４に係る情報処理装置は、実施例１と同様にして、センサ１０Ａとセンサ１０Ｂに接続される。【０２０２】
図２８は、本実施例４で用いるマーカの一例を示す図である。図２８に示すように、マーカ配置台３０には、マーカ３０−１，３０−２，３０−３，３０−４が含まれる。マーカ３０−１〜３０−４にはそれぞれ複数のシールが付与されている。各シールは、再帰反射するシールである。センサ１０Ａの測距可能な範囲を、範囲３０Ａとする。センサ１０Ｂの測距可能な範囲を、範囲３０Ｂとする。【０２０３】
たとえば、マーカ３０−１には、各角にシール３０−１ａ，３０−１ｂ，３０−１ｃ，３０−１ｄが配置されている。マーカ３０−２には、各角にシール３０−２ａ，３０−２ｂ，３０−２ｃ，３０−２ｄが配置されている。マーカ３０−３には、各角にシール３０−３ａ，３０−３ｂ，３０−３ｃ，３０−３ｄが配置されている。マーカ３０−４には、各角にシール３０−４ａ，３０−４ｂ，３０−４ｃ，３０−４ｄが配置されている。【０２０４】
図２９は、シールが付与された各マーカの反射強度画像の一例を示す図である。図２９に示す例では、反射強度が大きい領域が、反射強度の小さい領域よりも明るくなる。たとえば、反射強度画像６０において、領域６１ａ，６１ｂ，６１ｃ，６１ｄは、シール３０−１ａ，３０−１ｂ，３０−１ｃ，３０−１ｄが配置された領域である。領域６２ａ，６２ｂ，６２ｃ，６２ｄは、シール３０−２ａ，３０−２ｂ，３０−２ｃ，３０−２ｄが配置された領域である。領域６３ａ，６３ｂ，６３ｃ，６３ｄは、シール３０−３ａ，３０−３ｂ，３０−３ｃ，３０−３ｄが配置された領域である。領域６４ａ，６４ｂ，６４ｃ，６４ｄは、シール３０−４ａ，３０−４ｂ，３０−４ｃ，３０−４ｄが配置された領域である。【０２０５】
本実施例４に係るセンサ１０Ａは、レーザ光を照射して、被写体を構成する点群とセンサ１０Ａとの距離を測距する測定装置である。センサ１０Ａは、可視画像を撮影する。また、センサ１０Ａは、レーザ光の反射強度を測定する。センサ１０Ａは、第１距離画像情報を、情報処理装置に出力する。第１距離画像情報は、被写体を構成する点群とセンサ１０Ａとの距離の情報と、可視画像の情報と、反射強度の情報とを含む。【０２０６】
本実施例４に係るセンサ１０Ｂは、レーザ光を照射して、被写体を構成する点群とセンサ１０Ｂとの距離を測距する測定装置である。センサ１０Ｂは、可視画像を撮影する。また、センサ１０Ｂは、レーザ光の反射強度を測定する。センサ１０Ｂは、第２距離画像情報を、情報処理装置に出力する。第２距離画像情報は、被写体を構成する点群とセンサ１０Ａとの距離の情報と、可視画像の情報と、反射強度の情報とを含む。【０２０７】
本実施例４に係る情報処理装置は、マーカ配置台３０の可視画像を基にして、インストラクション画面の情報を生成し、表示部に表示させる。情報処理装置は、インストラクション画面を参照するユーザから、第１〜第４ベクトルの始点および終点、第１、２並進用点の選択を受け付ける。【０２０８】
続いて、情報処理装置は、センサ１０Ａ，１０Ｂから順次入力される反射強度の情報を基にして、各マーカに配置された各シールの位置を特定し、各シールの位置を基にして、各マーカの位置を算出する処理を繰り返し実行する。情報処理装置は、各マーカの位置を基にして、ユーザに選択された第１〜第４ベクトルの始点および終点、第１、２並進用点の位置を補正する処理を行う。情報処理装置が、かかる処理を実行することにより、ユーザに選択された第１〜第４ベクトルの始点および終点、第１、２並進用点の位置が正確でない場合や、選択された後に何らかの影響で、マーカの位置がずれた場合でも最適な第１〜第４ベクトルの始点および終点、第１、２並進用点の位置を特定することができる。【０２０９】
図３０は、本実施例４に係る情報処理装置の構成を示す機能ブロック図である。図３０に示すように、この情報処理装置５００は、インタフェース部５１０と、入力部５２０と、表示部５３０と、記憶部５４０と、制御部５５０とを有する。【０２１０】
インタフェース部５１０は、センサ１０Ａおよびセンサ１０Ｂから情報を受信する通信装置である。インタフェース部５１０は、センサ１０Ａから、第１距離画像情報を受信し、受信した第１距離画像情報を、制御部５５０に出力する。インタフェース部５１０は、センサ１０Ｂから、第２距離画像情報を受信し、受信した第２距離画像情報を、制御部５５０に出力する。また、インタフェース部５１０は、実施例１で説明した採点装置２００と接続していてもよい。【０２１１】
入力部５２０は、各種の情報を情報処理装置５００に入力するための入力装置である。たとえば、入力部５２０は、キーボードやマウス、タッチパネル等に対応する。ユーザはインストラクション画面を参照し、入力部５２０を操作して、第１ベクトルの始点および終点、第２ベクトルの始点および終点、第１並進用点を選択する。また、ユーザは、入力部５２０を操作して、第３ベクトルの始点および終点、第４ベクトルの始点および終点、第２並進用点を選択する。【０２１２】
表示部５３０は、制御部５５０から出力される各種の情報を表示する表示装置である。たとえば、表示部５３０は、液晶ディスプレイ、タッチパネル等に対応する。たとえば、表示部は、インストラクション画面を表示する。【０２１３】
記憶部５４０は、距離画像テーブル５４０ａと、パラメータ５４０ｂと、特定テーブル５４０ｃとを有する。記憶部５４０は、ＲＡＭ、ＲＯＭ、フラッシュメモリなどの半導体メモリ素子や、ＨＤＤなどの記憶装置に対応する。【０２１４】
距離画像テーブル５４０ａは、センサ１０Ａから出力される各時刻の第１距離画像情報と、センサ１０Ｂから出力される各時刻の第２距離画像情報とを保持するテーブルである。距離画像テーブル５４０ａのデータ構造は、実施例３の図２６で説明した距離画像テーブル４４０ａのデータ構造と同様である。なお、各時刻の第１距離画像情報は、センサ１０Ａが測定した距離の情報、可視画像の情報、反射強度の情報を含む。各時刻の第２距離画像情報は、距離の情報、可視画像の情報、反射強度の情報を含む。【０２１５】
パラメータ５４０ｂは、センサ１０Ａに測距される点群と、センサ１０Ｂに測距される点群との位置合わせを行うためのパラメータである。パラメータ５４０ｂには、位置合わせ回転角度の情報と、位置合わせ並進距離の情報とが含まれる。【０２１６】
特定テーブル５４０ｃは、第１〜第４ベクトルの始点および終点、第１、２並進用点の座標を特定する場合に用いられるテーブルである。図３１は、特定テーブルのデータ構造の一例を示す図である。図３１に示すように、この特定テーブル５４０ｃは、座標テーブル５４１と、座標テーブル５４２とを有する。座標テーブル５４１は、第１〜第４ベクトルの始点および終点について、インストラクション画面で選択された座標、各時刻の反射強度の情報から特定された座標の情報を保持するテーブルである。座標テーブル５４２は、第１、第２並進用点について、インストラクション画面で選択された座標、各時刻の反射強度の情報から特定された座標の情報を保持するテーブルである。【０２１７】
座標テーブル５４１は、ベクトル種別、選択始点座標、選択終点座標、候補始点座標、候補終点座標を対応付ける。ベクトル種別は、ベクトルの種別を示す情報である。ベクトル種別は、第１ベクトル、第２ベクトル、第３ベクトル、第４ベクトルのうち、いずれかのベクトルとなる。選択始点座標は、インストラクション画面でユーザに選択されるベクトルの始点の座標を示す。選択終点座標は、インストラクション画面でユーザに選択されるベクトルの終点の座標を示す。候補始点座標は、反射強度の情報に基づき算出されるベクトルの始点の座標を示す。候補終点座標は、反射強度の情報に基づき算出されるベクトルの終点の座標を示す。たとえば、候補始点座標および候補終点座標は、時刻毎に算出される。【０２１８】
座標テーブル５４２は、並進用点種別、選択座標、候補座標を対応付ける。並進点種別は、並進用点の種別を示す情報である。並進用点の種別は、第１並進用点、第２並進用点のいずれかとなる。選択座標は、インストラクション画面でユーザに選択される並進用点の座標を示す。候補座標は、反射強度の情報に基づき算出される並進用点の座標を示す。たとえば、候補座標は、時刻毎に算出される。【０２１９】
図３０の説明に戻る。制御部５５０は、第１取得部５５０ａと、提供部５５０ｂと、第２取得部５５０ｃと、算出部５５０ｄと、出力部５５０ｅとを有する。制御部５５０は、ＣＰＵやＭＰＵなどによって実現できる。また、制御部５５０は、ＡＳＩＣやＦＰＧＡなどのハードワイヤードロジックによっても実現できる。【０２２０】
第１取得部５５０ａは、インタフェース部５１０を介して、時刻毎にセンサ１０Ａから出力される第１距離画像情報を取得し、取得した第１距離画像情報を距離画像テーブル５４０ａに登録する。第１取得部１５０ａは、時刻毎にセンサ１０Ｂから出力される第２距離画像情報を取得し、取得した第２距離画像情報を距離画像テーブル１４０ａに登録する。第１取得部５５０ａに関するその他の説明は、実施例１で説明した第１取得部１５０ａに関する説明と同様である。【０２２１】
提供部５５０ｂは、インストラクション画面の情報を生成し、インストラクション画面の情報を、表示部５３０に出力することで、インストラクション画面を表示させる処理部である。たとえば、提供部５５０ｂは、入力部５２０からインストラクション画面の表示要求を受け付けた場合に、かかる要求を受け付けた時刻に対応する第１距離画像情報の可視化画像を用いて、第１ベクトル、第２ベクトル、第１並進用点の選択を受けるためのインストラクション画面を生成する。また、提供部５５ｂは、インストラクション画面の表示要求を受け付けた場合に、かかる要求を受け付けた時刻に対応する第２距離画像情報の可視化画像を用いて、第３ベクトル、第４ベクトル、第２並進用点の選択を受けるためのインストラクション画面を生成する。【０２２２】
提供部５５０ｂがインストラクション画面を生成するその他の処理は、実施例１で説明した提供部１５０ｂの処理と同様である。【０２２３】
第２取得部５５０ｃは、インストラクション画面に対してユーザに選択された情報を基にして、第１ベクトル、第２ベクトル、第１並進用点、第３ベクトル、第４ベクトル、第２並進用点を取得する処理部である。【０２２４】
第２取得部５５０ｃが、インストラクション画面によりユーザに選択される第１〜第４ベクトルの選択始点座標および選択終点座標、第１、２並進用点の選択座標を特定する処理について説明する。【０２２５】
提供部５５０ｂにより、第１ベクトルの始点および終点を選択するインストラクション画面が表示部５３０に表示されると、ユーザは、入力部５２０を操作して、第１ベクトルの始点および終点を選択する。第２取得部５５０ｃは、入力部５２０から、第１ベクトルの始点および終点の情報を取得する。入力部５２０により選択される、第１ベクトルの始点および終点の情報は、可視画像の座標に対応する。【０２２６】
第２取得部５５０ｃは、距離画像テーブル５４０ａの第１距離画像情報を基にして、インストラクション画面でユーザに選択された第１ベクトルの始点に対応する点の座標を特定し、特定した座標を、ベクトル種別「第１ベクトル」の「選択始点座標」として、座標テーブル５４１に登録する。【０２２７】
第２取得部５５０ｃは、距離画像テーブル５４０ａの第１距離画像情報を基にして、インストラクション画面でユーザに選択された第１ベクトルの終点に対応する点の座標を特定し、特定した座標を、ベクトル種別「第１ベクトル」の「選択終点座標」として、座標テーブル５４１に登録する。【０２２８】
提供部５５０ｂにより、第２ベクトルの始点および終点を選択するインストラクション画面が表示部５３０に表示されると、ユーザは、入力部５２０を操作して、第２ベクトルの始点および終点を選択する。第２取得部５５０ｃは、入力部５２０から、第２ベクトルの始点および終点の情報を取得する。第２ベクトルの始点および終点の情報は、可視画像の座標に対応する。【０２２９】
第２取得部５５０ｃは、距離画像テーブル５４０ａの第１距離画像情報を基にして、インストラクション画面でユーザに選択された第２ベクトルの始点に対応する点の座標を特定し、特定した座標を、ベクトル種別「第２ベクトル」の「選択始点座標」として、座標テーブル５４１に登録する。【０２３０】
第２取得部５５０ｃは、距離画像テーブル５４０ａの第１距離画像情報を基にして、インストラクション画面でユーザに選択された第１ベクトルの終点に対応する点の座標を特定し、特定した座標を、ベクトル種別「第２ベクトル」の「選択終点座標」として、座標テーブル５４１に登録する。【０２３１】
提供部５５０ｂにより、第１並進用点を選択するインストラクション画面が表示部５３０に表示されると、ユーザは、入力部５２０を操作して、第１並進用点を選択する。第２取得部５５０ｃは、入力部５２０から、第１並進用点の情報を取得する。入力部５２０により選択される、第１並進用点の情報は、可視画像の座標に対応する。【０２３２】
第２取得部５５０ｃは、距離画像テーブル５４０ａの第１距離画像情報を基にして、インストラクション画面でユーザに選択された第１並進用点に対応する点の座標を特定し、特定した座標を、並進用点種別「第１並進用点」の「選択座標」として、座標テーブル５４２に登録する。【０２３３】
提供部５５０ｂにより、第３ベクトルの始点および終点を選択するインストラクション画面が表示部５３０に表示されると、ユーザは、入力部５２０を操作して、第３ベクトルの始点および終点を選択する。第２取得部５５０ｃは、入力部５２０から、第３ベクトルの始点および終点の情報を取得する。入力部５２０により選択される、第３ベクトルの始点および終点の情報は、可視画像の座標に対応する。【０２３４】
第２取得部５５０ｃは、距離画像テーブル５４０ａの第２距離画像情報を基にして、インストラクション画面でユーザに選択された第３ベクトルの始点に対応する点の座標を特定し、特定した座標を、ベクトル種別「第３ベクトル」の「選択始点座標」として、座標テーブル５４１に登録する。【０２３５】
第２取得部５５０ｃは、距離画像テーブル５４０ａの第２距離画像情報を基にして、インストラクション画面でユーザに選択された第３ベクトルの終点に対応する点の座標を特定し、特定した座標を、ベクトル種別「第３ベクトル」の「選択終点座標」として、座標テーブル５４１に登録する。【０２３６】
提供部５５０ｂにより、第４ベクトルの始点および終点を選択するインストラクション画面が表示部５３０に表示されると、ユーザは、入力部５２０を操作して、第４ベクトルの始点および終点を選択する。第２取得部５５０ｃは、入力部５２０から、第４ベクトルの始点および終点の情報を取得する。入力部５２０により選択される、第４ベクトルの始点および終点の情報は、可視画像の座標に対応する。【０２３７】
第２取得部５５０ｃは、距離画像テーブル５４０ａの第２距離画像情報を基にして、インストラクション画面でユーザに選択された第４ベクトルの始点に対応する点の座標を特定し、特定した座標を、ベクトル種別「第４ベクトル」の「選択始点座標」として、座標テーブル５４１に登録する。【０２３８】
第２取得部５５０ｃは、距離画像テーブル５４０ａの第２距離画像情報を基にして、インストラクション画面でユーザに選択された第４ベクトルの終点に対応する点の座標を特定し、特定した座標を、ベクトル種別「第４ベクトル」の「選択終点座標」として、座標テーブル５４１に登録する。【０２３９】
提供部５５０ｂにより、第２並進用点を選択するインストラクション画面が表示部５３０に表示されると、ユーザは、入力部５２０を操作して、第２並進用点を選択する。第２取得部５５０ｃは、入力部５２０から、第２並進用点の情報を取得する。入力部５２０により選択される、第２並進用点の情報は、可視画像の座標に対応する。【０２４０】
第２取得部５５０ｃは、距離画像テーブル５４０ａの第２距離画像情報を基にして、インストラクション画面でユーザに選択された第２並進用点に対応する点の座標を特定し、特定した座標を、並進用点種別「第２並進用点」の「選択座標」として、座標テーブル５４２に登録する。【０２４１】
上記の処理により、座標テーブル５４１には、ベクトル種別「第１ベクトル〜第４ベクトル」の選択始点座標、選択終点座標が登録される。座標テーブル５４２には、並進用点種別「第１並進用点、第２並進用点」の選択座標が登録される。【０２４２】
第２取得部５５０ｃが、第１〜第４ベクトルの候補始点座標および候補終点座標、第１、２並進用点の選択座標を特定する処理について説明する。ここでは一例として、インストラクション画面を基にして、第１ベクトルの始点としてマーカ３０−１が選択され、第１ベクトルの終点としてマーカ３０−２が選択されたものとする。第２ベクトルの始点としてマーカ３０−２が選択され、第２ベクトルの終点としてマーカ３０−４が選択されたものとする。第１並進用点として、マーカ３０−２が選択されたものとする。【０２４３】
インストラクション画面を基にして、第３ベクトルの始点としてマーカ３０−２が選択され、第３ベクトルの終点としてマーカ３０−３が選択されたものとする。第４ベクトルの始点としてマーカ３０−２が選択され、第４ベクトルの終点としてマーカ３０−４が選択されたものとする。第２並進用点として、マーカ３０−２が選択されたものとする。【０２４４】
第２取得部５５０ｃは、時刻Ｔｎ＋１の第１距離画像情報に含まれる反射強度の情報（反射強度画像）を２値化する。時刻Ｔｎは、インストラクション画面を生成した第１距離画像情報に対応する時刻とする。【０２４５】
たとえば、第２取得部５５０ｃは、反射強度画像において、反射強度が予め定められる閾値未満となる部分を０に設定し、閾値以上となる部分を１に設定する。第２取得部５５０ｃは、２値化した反射強度画像において、１となる部分をラベリングする。図２９に示す反射強度画像６０では、ラベリングされる領域が、領域６１ａ〜６１ｄ，６２ａ〜６２ｄ，６４ａ〜６４ｄ（６３ａ〜６３ｄは、センサ１０Ａの測距範囲に含まれない）となる。【０２４６】
第２取得部５５０ｃは、座標テーブル５４１の各ベクトル種別の選択始点座標、選択主点座標と、ラベリングされた領域の座標とを比較して、距離の近い、ベクトル種別と、ラベリングされた領域との対応付けを行う。【０２４７】
たとえば、図２９において、領域６１ａ〜６１ｄは、ベクトル種別「第１ベクトル」の選択始点座標に最も近いため、領域６１ａ〜６１ｄは、ベクトル種別「第１ベクトル」の始点座標に対応付けられる。第２選択部５５０ｃは、領域６１ａの中心座標および領域６１ｃの中心座標を結ぶ線分と、領域６１ｂの中心座標および領域６１ｄの中心座標とを結ぶ線分との交点の座標を、ベクトル種別「第１ベクトル」に対応する一つの候補始点座標として特定し、座標テーブル５４１に登録する。【０２４８】
領域６２ａ〜６２ｄは、ベクトル種別「第１ベクトル」の選択終点座標に最も近いため、領域６２ａ〜６２ｄは、ベクトル種別「第１ベクトル」の終点座標に対応付けられる。第２選択部５５０ｃは、領域６２ａの中心座標および領域６２ｃの中心座標を結ぶ線分と、領域６２ｂの中心座標および領域６２ｄの中心座標とを結ぶ線分との交点の座標を、ベクトル種別「第１ベクトル」に対応する一つの候補終点座標として特定し、座標テーブル５４１に登録する。【０２４９】
領域６２ａ〜６２ｄは、ベクトル種別「第２ベクトル」の選択始点座標に最も近いため、領域６２ａ〜６２ｄは、ベクトル種別「第２ベクトル」の始点座標に対応付けられる。第２選択部５５０ｃは、領域６２ａの中心座標および領域６２ｃの中心座標を結ぶ線分と、領域６２ｂの中心座標および領域６２ｄの中心座標とを結ぶ線分との交点の座標を、ベクトル種別「第２ベクトル」に対応する一つの候補始点座標として特定し、座標テーブル５４１に登録する。【０２５０】
領域６４ａ〜６４ｄは、ベクトル種別「第２ベクトル」の選択終点座標に最も近いため、領域６４ａ〜６４ｄは、ベクトル種別「第２ベクトル」の終点座標にも対応付けられる。第２選択部５５０ｃは、領域６４ａの中心座標および領域６４ｃの中心座標を結ぶ線分と、領域６４ｂの中心座標および領域６４ｄの中心座標とを結ぶ線分との交点の座標を、ベクトル種別「第２ベクトル」に対応する一つの候補終点座標として特定し、座標テーブル５４１に登録する。【０２５１】
領域６２ａ〜６２ｄは、並進用点種別「第１並進用点」の選択座標に最も近いため、領域６２ａ〜６２ｄは、並進用点種別「第１並進用点」の座標に対応付けられる。第２選択部５５０ｃは、領域６２ａの中心座標および領域６２ｃの中心座標を結ぶ線分と、領域６２ｂの中心座標および領域６２ｄの中心座標とを結ぶ線分との交点の座標を、並進用点種別「第１並進用点」に対応する一つの候補座標として特定し、座標テーブル５４２に登録する。【０２５２】
第２取得部５５０ｃは、時刻Ｔｎ＋２、Ｔｎ＋３、Ｔｎ＋４、Ｔｎ＋５の第１距離画像情報についても上記処理を実行することで、第１ベクトル、第２ベクトルに対応する複数の候補始点座標、複数の候補終点座標を、座標テーブル５４１に登録する。また、第２取得部５５０ｃは、第１並進用点に対応する複数の候補座標を、座標テーブル５４２に登録する。【０２５３】
第２取得部５５０ｃは、時刻Ｔｎ＋１の第２距離画像情報に含まれる反射強度の情報（反射強度画像）を２値化する。時刻Ｔｎは、インストラクション画面を生成した第２距離画像情報に対応する時刻とする。【０２５４】
たとえば、第２取得部５５０ｃは、反射強度画像において、反射強度が予め定められる閾値未満となる部分を０に設定し、閾値以上となる部分を１に設定する。第２取得部５５０ｃは、２値化した反射強度画像において、１となる部分をラベリングする。図２９に示す反射強度画像６０では、ラベリングされる領域が、領域６２ａ〜６２ｄ，６３ａ〜６３ｄ，６４ａ〜６４ｄ（６１ａ〜６１ｄは、センサ１０Ｂの測距範囲に含まれない）となる。【０２５５】
第２取得部５５０ｃは、座標テーブル５４１の各ベクトル種別の選択始点座標、選択主点座標と、ラベリングされた領域の座標とを比較して、距離の近い、ベクトル種別と、ラベリングされた領域との対応付けを行う。【０２５６】
たとえば、図２９において、領域６２ａ〜６２ｄは、ベクトル種別「第３ベクトル」の選択始点座標に最も近いため、領域６２ａ〜６２ｄは、ベクトル種別「第３ベクトル」の始点座標に対応付けられる。第２選択部５５０ｃは、領域６２ａの中心座標および領域６２ｃの中心座標を結ぶ線分と、領域６２ｂの中心座標および領域６２ｄの中心座標とを結ぶ線分との交点の座標を、ベクトル種別「第３ベクトル」に対応する一つの候補始点座標として特定し、座標テーブル５４１に登録する。【０２５７】
領域６３ａ〜６３ｄは、ベクトル種別「第３ベクトル」の選択終点座標に最も近いため、領域６３ａ〜６３ｄは、ベクトル種別「第３ベクトル」の終点座標に対応付けられる。第２選択部５５０ｃは、領域６３ａの中心座標および領域６３ｃの中心座標を結ぶ線分と、領域６３ｂの中心座標および領域６３ｄの中心座標とを結ぶ線分との交点の座標を、ベクトル種別「第３ベクトル」に対応する一つの候補終点座標として特定し、座標テーブル５４１に登録する。【０２５８】
領域６２ａ〜６２ｄは、ベクトル種別「第４ベクトル」の選択始点座標に最も近いため、領域６２ａ〜６２ｄは、ベクトル種別「第４ベクトル」の始点座標に対応付けられる。第２選択部５５０ｃは、領域６２ａの中心座標および領域６２ｃの中心座標を結ぶ線分と、領域６２ｂの中心座標および領域６２ｄの中心座標とを結ぶ線分との交点の座標を、ベクトル種別「第４ベクトル」に対応する一つの候補始点座標として特定し、座標テーブル５４１に登録する。【０２５９】
領域６４ａ〜６４ｄは、ベクトル種別「第４ベクトル」の選択終点座標に最も近いため、領域６４ａ〜６４ｄは、ベクトル種別「第４ベクトル」の終点座標にも対応付けられる。第２選択部５５０ｃは、領域６４ａの中心座標および領域６４ｃの中心座標を結ぶ線分と、領域６４ｂの中心座標および領域６４ｄの中心座標とを結ぶ線分との交点の座標を、ベクトル種別「第４ベクトル」に対応する一つの候補終点座標として特定し、座標テーブル５４１に登録する。【０２６０】
領域６２ａ〜６２ｄは、並進用点種別「第２並進用点」の選択座標に最も近いため、領域６２ａ〜６２ｄは、並進用点種別「第２並進用点」の座標に対応付けられる。第２選択部５５０ｃは、領域６２ａの中心座標および領域６２ｃの中心座標を結ぶ線分と、領域６２ｂの中心座標および領域６２ｄの中心座標とを結ぶ線分との交点の座標を、並進用点種別「第２並進用点」に対応する一つの候補座標として特定し、座標テーブル５４２に登録する。【０２６１】
第２取得部５５０ｃは、時刻Ｔｎ＋２、Ｔｎ＋３、Ｔｎ＋４、Ｔｎ＋５の第２距離画像情報についても上記処理を実行することで、第３ベクトル、第４ベクトルに対応する複数の候補始点座標、複数の候補終点座標を、座標テーブル５４１に登録する。また、第２取得部５５０ｃは、第２並進用点に対応する複数の候補座標を、座標テーブル５４２に登録する。【０２６２】
第２取得部５５０ｃが、上記処理を実行することで、図３１に示した、座標テーブル５４１，５４２に各座標が登録される。【０２６３】
第２取得部５５０ｃは、あるベクトル種別の選択始点座標と、このベクトル種別に対応する複数の候補始点座標とを比較し、選択始点座標に最も近い距離の候補始点座標を、ベクトルの最終的な始点座標として特定する。第２取得部５５０ｃは、あるベクトル種別の選択終点座標と、このベクトル種別に対応する複数の候補終点座標とを比較し、選択終点座標に最も近い距離の候補終点座標を、ベクトルの最終的な終点座標として特定する。【０２６４】
たとえば、第２取得部５５０ｃは、ベクトル種別「第１ベクトル」に対応する選択始点座標と、各候補始点座標とを比較し、最も近い候補始点座標を、第１ベクトルの最終的な始点座標として特定する。第２取得部５５０ｃは、ベクトル種別「第１ベクトル」に対応する選択終点座標と、各候補終点座標とを比較し、最も近い候補終点座標を、第１ベクトルの最終的な終点座標として特定する。【０２６５】
第２取得部５５０ｃは、他のベクトル種別「第２ベクトル、第３ベクトル、第４ベクトル」についても、同様の処理を行うことで、最終的な始点座標、終点座標を特定する。【０２６６】
第２取得部５５０ｃは、ある並進用点種別の選択座標と、この並進用点種別に対応する複数の候補座標とを比較し、選択座標に最も近い距離の候補座標を、並進用点の最終的な座標として特定する。【０２６７】
たとえば、第２取得部５５０ｃは、並進用点種別「第１並進用点」に対応する選択座標と、各候補座標とを比較し、最も近い候補座標を、第１並進用点の最終的な座標として特定する。第２取得部５５０ｃは、並進用点種別「第２並進用点」に対応する選択座標と、各候補座標とを比較し、最も近い候補座標を、第２並進用点の最終的な座標として特定する。【０２６８】
第２選択部５５０ｃは、距離画像テーブル５４０ａの第１距離画像情報を基にして、第１ベクトルの最終的な始点座標に対応する点の識別情報を、各点群から特定する。第１ベクトルの始点に対応する点の識別情報を、「第１始点識別情報」と表記する。第２取得部５５０ｃは、距離画像テーブル５４０ａの第１距離画像情報を基にして、第１ベクトルの最終的な終点座標に対応する点の識別情報を、各点群から特定する。第１ベクトルの終点に対応する点の識別情報を、「第１終点識別情報」と表記する。【０２６９】
第２選択部５５０ｃは、距離画像テーブル５４０ａの第１距離画像情報を基にして、第２ベクトルの最終的な始点座標に対応する点の識別情報を、各点群から特定する。第２ベクトルの始点に対応する点の識別情報を、「第２始点識別情報」と表記する。第２取得部５５０ｃは、距離画像テーブル５４０ａの第１距離画像情報を基にして、第２ベクトルの最終的な終点座標に対応する点の識別情報を、各点群から特定する。第２ベクトルの終点に対応する点の識別情報を、「第２終点識別情報」と表記する。【０２７０】
第２選択部５５０ｃは、距離画像テーブル５４０ａの第２距離画像情報を基にして、第３ベクトルの最終的な始点座標に対応する点の識別情報を、各点群から特定する。第３ベクトルの始点に対応する点の識別情報を、「第３始点識別情報」と表記する。第２取得部５５０ｃは、距離画像テーブル５４０ａの第２距離画像情報を基にして、第３ベクトルの最終的な終点座標に対応する点の識別情報を、各点群から特定する。第３ベクトルの終点に対応する点の識別情報を、「第３終点識別情報」と表記する。【０２７１】
第２選択部５５０ｃは、距離画像テーブル５４０ａの第２距離画像情報を基にして、第４ベクトルの最終的な始点座標に対応する点の識別情報を、各点群から特定する。第４ベクトルの始点に対応する点の識別情報を、「第４始点識別情報」と表記する。第２取得部５５０ｃは、距離画像テーブル５４０ａの第２距離画像情報を基にして、第４ベクトルの最終的な終点座標に対応する点の識別情報を、各点群から特定する。第４ベクトルの終点に対応する点の識別情報を、「第４終点識別情報」と表記する。【０２７２】
第２取得部５５０ｃは、距離画像テーブル５４０ａの第１距離画像情報を基にして、第１並進用点の最終的な座標に対応する点の識別情報を、各点群から特定する。第１並進用点に対応する点の識別情報を、「第１並進点識別情報」と表記する。【０２７３】
第２取得部５５０ｃは、距離画像テーブル５４０ａの第２距離画像情報を基にして、第２並進用点の最終的な座標に対応する点の識別情報を、各点群から特定する。第２並進用点に対応する点の識別情報を、「第２並進点識別情報」と表記する。【０２７４】
第２取得部５５０ｃは、第１始点識別情報、第１終点識別情報、第２始点識別情報、第２終点識別情報、第１並進点識別情報を、算出部５５０ｄに出力する。第２取得部５５０ｃは、第３始点識別情報、第３終点識別情報、第４始点識別情報、第４終点識別情報、第２並進点識別情報を、算出部５５０ｄに出力する。【０２７５】
算出部５５０ｄは、第１ベクトル、第２ベクトル、第３ベクトル、第４ベクトル、第１並進点、第２並進点を基にして、位置合わせのための回転角度および並進距離を算出する処理部である。算出部５５０ｄは、算出した回転角度および並進距離の情報をパラメータ５４０ｂとして、記憶部５４０に記憶する。算出部５５０ｄの処理は、実施例１で説明した算出部１５０ｄの処理と同様である。【０２７６】
出力部５５０ｅは、パラメータ５４０ｂを、実施例１で説明した採点装置２００等の外部装置に出力する処理部である。【０２７７】
次に、本実施例４に係る情報処理装置４００の処理手順の一例について説明する。図３２および図３３は、本実施例４に係る情報処理装置の処理手順を示すフローチャートである。図３２に示すように、情報処理装置４００の第１取得部５５０ａは、センサ１０Ａ、１０Ｂから第１距離画像情報、第２距離画像情報を取得する（ステップＳ５０１）。【０２７８】
情報処理装置５００の提供部５５０ｂは、インストラクション画面の情報を生成し、インストラクション画面を表示部５３０に表示させる（ステップＳ５０２）。【０２７９】
情報処理装置５００の第２取得部５５０ｃは、ユーザによる選択を基にして、センサ１０Ａの点群から、第１ベクトルの始点および終点、第２ベクトルの始点および終点、第１並進用点を取得する（ステップＳ５０３）。第２取得部５５０ｃは、ユーザによる選択を基にして、センサ１０Ｂの点群から、第３ベクトルの始点および終点、第４ベクトルの始点および終点、第２並進用点を取得する（ステップＳ５０４）。【０２８０】
第２取得部５５０ｃは、次の第１距離画像情報の反射強度画像、次の第２距離画像情報の反射距離画像情報を取得する（ステップＳ５０５）。第２取得部５５０ｃは、第１距離画像情報の反射強度画像、第２距離画像情報の反射距離画像情報を２値化する（ステップＳ５０６）。【０２８１】
第２取得部５５０ｃは、２値化した反射強度画像をラベリングし、ラベリングした各領域を、第１〜第４ベクトルの始点および終点、第１、２並進用点の座標に対応付ける（ステップＳ５０７）。【０２８２】
第２取得部５５０ｃは、第１ベクトルの候補始点座標および候補終点座標、第２ベクトルの候補始点座標および候補終点座標、第１並進用点の候補座標を特定テーブル５４０ｃに登録する（ステップＳ５０８）。第２取得部５５０ｃは、第３ベクトルの候補始点座標および候補終点座標、第４ベクトルの候補始点座標および候補終点座標、第２並進用点の候補座標を特定テーブル５４０ｃに登録する（ステップＳ５０９）。【０２８３】
情報処理装置５００は、第１距離画像情報および第２距離画像情報を、所定回数（予め設定される回数）取得してない場合には（ステップＳ５１０，Ｎｏ）、ステップＳ５０５に移行する。一方、情報処理装置５００は、第１距離画像情報および第２距離画像情報を、所定回数取得した場合には（ステップＳ５１０，Ｙｅｓ）、図３３のステップＳ５１１に移行する。【０２８４】
図３３の説明に移行する。【０２８５】
第２取得部５５０ｃは、第１ベクトルの選択始点座標および選択終点座標、第２ベクトルの選択始点座標および選択終点、第１並進用点の選択座標と、各候補座標とを比較する（ステップＳ５１１）。第２取得部５５０ｃは、第１ベクトルの始点座標および終点座標、第２ベクトルの始点座標および終点座標、第１並進用点の座標を決定する（ステップＳ５１２）。【０２８６】
第２取得部５５０ｃは、第３ベクトルの選択始点座標および選択終点座標、第４ベクトルの選択始点座標および選択終点、第２並進用点の選択座標と、各候補座標とを比較する（ステップＳ５１３）。第２取得部５５０ｃは、第４ベクトルの始点座標および終点座標、第４ベクトルの始点座標および終点座標、第２並進用点の座標を決定する（ステップＳ５１４）。【０２８７】
情報処理装置５００の算出部５５０ｄは、第１〜第４ベクトルを単位ベクトルに変換する（ステップＳ５１５）。算出部５５０ｄは、始点が３次元座標の原点となるように、第１〜第４ベクトルを移動させる（ステップＳ５１６）。【０２８８】
算出部５５０ｄは、合計距離Ｄが最小となるセンサ１０Ｂの終点の回転角度（位置合わせ回転角度）を算出する（ステップＳ５１７）。算出部５５０ｄは、第２並進用点を、位置合わせ回転角度だけ回転させる（ステップＳ５１８）。【０２８９】
算出部５５０ｄは、第１並進用点の座標と、回転させた第２並進用点の座標との差分を並進距離（位置合わせ並進距離）として算出する（ステップＳ５１９）。算出部５５０ｄは、位置合わせ回転角度と、位置合わせ並進距離とをパラメータ５４０ｂとして記憶部５４０に記憶させる（ステップＳ５２０）。【０２９０】
次に、本実施例４に係る情報処理装置５００の効果について説明する。情報処理装置５００は、センサ１０Ａ，１０Ｂから順次入力される反射強度画像を基にして、各マーカに配置された各シールの座標を特定し、各シールの座標を基にして、各マーカの座標を算出する処理を繰り返し実行する。情報処理装置５００は、各マーカの位置を基にして、ユーザに選択された第１〜第４ベクトルの始点および終点、第１、２並進用点の座標を補正する処理を行う。情報処理装置５００が、かかる処理を実行することにより、ユーザに選択された第１〜第４ベクトルの始点および終点、第１、２並進用点の位置が正確でない場合や、選択された後に何らかの影響で、マーカの位置がずれた場合でも最適な第１〜第４ベクトルの始点および終点、第１、２並進用点の位置を特定することができる。【０２９１】
次に、実施例に示した情報処理装置１００，３００，４００，５００、採点装置２００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図３４は、本実施例に係る情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。【０２９２】
図３４に示すように、コンピュータ６００は、各種演算処理を実行するＣＰＵ６０１と、ユーザからのデータの入力を受け付ける入力装置６０２と、ディスプレイ６０３とを有する。また、コンピュータ６００は、記憶媒体からプログラム等を読み取る読み取り装置６０４と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置６０５とを有する。インタフェース装置６０５は、センサ１０Ａ，１０Ｂ等に接続される。また、採点装置２００に接続されていてもよい。コンピュータ６００は、各種情報を一時記憶するＲＡＭ６０６と、ハードディスク装置６０７とを有する。そして、各装置６０１〜６０７は、バス６０８に接続される。【０２９３】
ハードディスク装置６０７は、第１取得プログラム６０７ａ、提供プログラム６０７ｂ、第２取得プログラム６０７ｃ、算出プログラム６０７ｄ、出力プログラム６０７ｅを有する。ＣＰＵ６０１は、第１取得プログラム６０７ａ、提供プログラム６０７ｂ、第２取得プログラム６０７ｃ、算出プログラム６０７ｄ、出力プログラム６０７ｅを読み出してＲＡＭ４０６に展開する。【０２９４】
第１取得プログラム６０７ａは、第１取得プロセス６０６ａとして機能する。提供プログラム６０７ｂは、提供プロセス６０６ｂとして機能する。第２取得プログラム６０７ｃは、第２取得プロセス６０６ｃとして機能する。算出プログラム６０７ｄは、算出プロセス６０７ｄとして機能する。出力プログラム６０７ｅは、出力プロセス６０７ｅとして機能する。【０２９５】
第１取得プロセス６０６ａの処理は、第１取得部１５０ａ，３５０ａ，４５０ａ，５５０ａの処理に対応する。提供プロセス６０６ｂの処理は、提供部１５０ｂ，４５０ｂ，５５０ｂの処理に対応する。第２取得プロセス６０６ｃの処理は、第２取得部１５０ｃ，３５０ｂ，４５０ｃ，５５０ｃの処理に対応する。算出プロセス６０６ｄの処理は、算出部１５０ｄ，３５０ｃ，４５０ｄ，５５０ｄの処理に対応する。出力プロセス６０６ｅの処理は、出力部１５０ｅ，３５０ｄ，４５０ｅ，５５０ｅの処理に対応する。【０２９６】
なお、各プログラム６０７ａ〜６０７ｅについては、必ずしも最初からハードディスク装置５０７に記憶させておかなくてもよい。例えば、コンピュータ６００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ６００が各プログラム６０７ａ〜６０７ｅを読み出して実行するようにしてもよい。【０２９７】
図３５は、本実施例に係る採点装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。【０２９８】
図３５に示すように、コンピュータ７００は、各種演算処理を実行するＣＰＵ７０１と、ユーザからのデータの入力を受け付ける入力装置７０２と、ディスプレイ７０３とを有する。また、コンピュータ７００は、記憶媒体からプログラム等を読み取る読み取り装置７０４と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置７０５とを有する。コンピュータ７００は、各種情報を一時記憶するＲＡＭ７０６と、ハードディスク装置７０７とを有する。そして、各装置７０１〜７０７は、バス７０８に接続される。【０２９９】
ハードディスク装置７０７は、取得プログラム７０７ａ、位置合わせプログラム７０７ｂ、認識プログラム７０７ｃ、出力プログラム７０７ｄを有する。ＣＰＵ７０１は、取得プログラム７０７ａ、位置合わせプログラム７０７ｂ、認識プログラム７０７ｃ、出力プログラム７０７ｄを読み出してＲＡＭ７０６に展開する。【０３００】
取得プログラム７０７ａは、取得プロセス７０６ａとして機能する。位置合わせプログラム７０７ｂは、位置合わせプロセス７０６ｂとして機能する。認識プログラム７０７ｃは、認識プロセス７０６ｃとして機能する。出力プロセス７０６ａの処理は、出力部３５０ｄの処理に対応する。【０３０１】
なお、各プログラム７０７ａ〜７０７ｄについては、必ずしも最初からハードディスク装置７０７に記憶させておかなくてもよい。例えば、コンピュータ７００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ７００が各プログラム７０７ａ〜７０７ｄを読み出して実行するようにしてもよい。
【符号の説明】
【０３０２】
１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ  センサ
１００，３００，４００，５００    情報処理装置
１１０，３１０，４１０，５１０    インタフェース部
１２０，３２０，４２０，５２０    入力部
１３０，３３０，４３０，５３０    表示部
１４０，３４０，４４０，５４０    記憶部
１４０ａ，３４０ａ，４４０ａ，５４０ａ  距離画像テーブル
１４０ｂ，３４０ｂ，４４０ｂ，５４０ｂ  パラメータ
１５０，３５０，４５０，５５０    制御部
１５０ａ，３５０ａ，４５０ａ，５５０ａ  第１取得部
１５０ｂ，４５０ｂ，５５０ｂ  提供部
１５０ｃ，３５０ｂ，４５０ｃ，５５０ｃ  第２取得部
１５０ｄ，３５０ｃ，４５０ｄ，５５０ｄ  算出部
１５０ｅ，３５０ｄ，４５０ｅ，５５０ｅ  出力部
２００    採点装置
２０１    記憶部
２０２    取得部
２０３    位置合わせ部
２０４    認識部
２０５    出力部
２５０    表示装置
３４０ｃ  マーカ定義情報
５４０ｃ  特定テーブル
【図１】
2020079814.tif 000003
【図２】
2020079814.tif 000004
【図３】
2020079814.tif 000005
【図４】
2020079814.tif 000006
【図５】
2020079814.tif 000007
【図６】
2020079814.tif 000008
【図７】
2020079814.tif 000009
【図８】
2020079814.tif 000010
【図９】
2020079814.tif 000011
【図１０】
2020079814.tif 000012
【図１１】
2020079814.tif 000013
【図１２】
2020079814.tif 000014
【図１３】
2020079814.tif 000015
【図１４】
2020079814.tif 000016
【図１５】
2020079814.tif 000017
【図１６】
2020079814.tif 000018
【図１７】
2020079814.tif 000019
【図１８】
2020079814.tif 000020
【図１９】
2020079814.tif 000021
【図２０】
2020079814.tif 000022
【図２１】
2020079814.tif 000023
【図２２】
2020079814.tif 000024
【図２３】
2020079814.tif 000025
【図２４】
2020079814.tif 000026
【図２５】
2020079814.tif 000027
【図２６】
2020079814.tif 000028
【図２７】
2020079814.tif 000029
【図２８】
2020079814.tif 000030
【図２９】
2020079814.tif 000031
【図３０】
2020079814.tif 000032
【図３１】
2020079814.tif 000033
【図３２】
2020079814.tif 000034
【図３３】
2020079814.tif 000035
【図３４】
2020079814.tif 000036
【図３５】
2020079814.tif 000037
【図３６】
2020079814.tif 000038
【図３７】
2020079814.tif 000039
【図３８】
2020079814.tif 000040
【図３９】
2020079814.tif 000041
【図４０】
2020079814.tif 000042
【手続補正書】
【提出日】令和3年3月15日(2021.3.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータが、
第１センサにより測距された被写体までの距離の情報を含む第１測定情報と、第２センサにより測距された前記被写体までの距離の情報を含む第２測定情報とを取得し、
前記第１測定情報から、第１ベクトルと、前記第１ベクトルとは異なる向きの第２ベクトルと、第１並進用点とを取得し、
前記第２測定情報から、前記第１ベクトルと実空間上で平行かつ向きが同じベクトルとして取り扱われる第３ベクトルと、前記第２ベクトルと前記実空間上で平行かつ向きが同じベクトルとして取り扱われる第４ベクトルと、前記実空間上で前記第１並進用点と同じ位置として取り扱われる第２並進用点との情報を取得し、
前記第１ベクトルの終点、前記第２ベクトルの終点、前記第１並進用点、前記第３ベクトルの終点、前記第４ベクトルの終点、前記第２並進用点を基にして、前記第１センサに測距される前記被写体の点群に対して、前記第２センサにより測距される前記被写体の点群の位置合わせを行うための、回転角度および並進距離を算出し、
前記回転角度および前記並進距離を記憶装置に記憶する
処理を実行することを特徴とする算出方法。
【請求項２】
前記第１センサによる測定結果を示す第１画像と、前記第２センサによる測定結果を示す第２画像とを取得し、前記第１画像および前記第２画像を表示装置に表示させ、前記第１ベクトルの始点および終点と、前記第２ベクトルの始点および終点と、前記第１並進用点と、前記第３ベクトルの始点および終点と、前記第４ベクトルの始点および終点と、前記第２並進用点との選択を受け付ける処理を更に実行することを特徴とする請求項１に記載の算出方法。
【請求項３】
前記第１画像には、第１形状マーカの画像、第２形状マーカの画像、第３形状マーカの画像が含まれ、前記第２画像には、前記第２形状マーカの画像、前記第３形状マーカの画像、第４形状マーカの画像が含まれ、前記実空間上において、前記第１形状マーカおよび前記第４形状マーカを通る第１線分と、前記第２形状マーカおよび前記第３形状マーカを通る第２線分とは交差し、
前記第１測定情報に含まれる点群において、前記第１形状マーカに対応する点から前記第２形状マーカに対応する点に至るベクトルを前記第１ベクトルとして取得し、前記第２形状マーカに対応する点から前記第３形状マーカに対応する点に至るベクトルを、前記第２ベクトルとして取得し、前記第２形状マーカに対応する点を前記第１並進用点として取得し、
前記第２測定情報に含まれる点群において、前記第２形状マーカに対応する点から前記第４形状マーカに対応する点に至るベクトルを前記第３ベクトルとして取得し、前記第２形状マーカに対応する点から前記第３形状マーカに対応する点に至るベクトルを、前記第４ベクトルとして取得し、前記第２形状マーカに対応する点を前記第２並進用点として取得する処理を更に実行することを特徴とする請求項２に記載の算出方法。
【請求項４】
前記第１線分と前記第２線分とは前記実空間上において直交することを特徴とする請求項３に記載の算出方法。
【請求項５】
前記第１画像および前記第２画像には、水平部分を有する被写体および垂直部分を有する被写体の画像が含まれ、前記水平部分を有する前記被写体および前記垂直部分を有する前記被写体上の点から、前記第１ベクトルの始点および終点と、前記第２ベクトルの始点および終点と、前記第１並進用点と、前記第３ベクトルの始点および終点と、前記第４ベクトルの始点および終点と、前記第２並進用点との選択を受け付けることを特徴とする請求項２に記載の算出方法。
【請求項６】
前記回転角度および前記並進距離を基にして、前記第１センサに測距された点群と、前記第２センサに測距された点群との位置合わせを更に実行することを特徴とする請求項１に記載の算出方法。
【請求項７】
複数のマーカには複数の反射物がそれぞれ配置され、前記第１測定情報には、複数のマーカの光の第１反射強度情報が更に含まれ、前記第２測定情報には、複数のマーカの光の第２反射強度情報が更に含まれ、
複数の前記第１反射強度情報からそれぞれ推定される各マーカの位置を基にして、前記第１ベクトルの始点および終点、前記第２ベクトルの始点および終点、前記第１並進用点を補正し、
複数の前記第２反射強度情報からそれぞれ推定される各マーカの位置を基にして、前記第３ベクトルの始点および終点、前記第４ベクトルの始点および終点、前記第２並進用点を補正する処理を更に実行することを特徴とする請求項３に記載の算出方法。
【請求項８】
第１センサにより測距された被写体までの距離の情報を含む第１測定情報と、第２センサにより測距された前記被写体までの距離の情報を含む第２測定情報とを取得し、
前記第１測定情報から、第１ベクトルと、前記第１ベクトルとは異なる向きの第２ベクトルと、第１並進用点とを取得し、
前記第２測定情報から、前記第１ベクトルと実空間上で平行かつ向きが同じベクトルとして取り扱われる第３ベクトルと、前記第２ベクトルと前記実空間上で平行かつ向きが同じベクトルとして取り扱われる第４ベクトルと、前記実空間上で前記第１並進用点と同じ位置として取り扱われる第２並進用点との情報を取得し、
前記第１ベクトルの終点、前記第２ベクトルの終点、前記第１並進用点、前記第３ベクトルの終点、前記第４ベクトルの終点、前記第２並進用点を基にして、前記第１センサに測距される前記被写体の点群に対して、前記第２センサにより測距される前記被写体の点群の位置合わせを行うための、回転角度および並進距離を算出し、
前記回転角度および前記並進距離を記憶装置に記憶する
処理をコンピュータに実行させることを特徴とする算出プログラム。
【請求項９】
第１センサにより測距された被写体までの距離の情報を含む第１測定情報と、第２センサにより測距された前記被写体までの距離の情報を含む第２測定情報とを取得する第１取得部と、
前記第１測定情報から、第１ベクトルと、前記第１ベクトルとは異なる向きの第２ベクトルと、第１並進用点とを取得し、前記第２測定情報から、前記第１ベクトルと実空間上で平行かつ向きが同じベクトルとして取り扱われる第３ベクトルと、前記第２ベクトルと前記実空間上で平行かつ向きが同じベクトルとして取り扱われる第４ベクトルと、前記実空間上で前記第１並進用点と同じ位置として取り扱われる第２並進用点との情報を取得する第２取得部と、
前記第１ベクトルの終点、前記第２ベクトルの終点、前記第１並進用点、前記第３ベクトルの終点、前記第４ベクトルの終点、前記第２並進用点を基にして、前記第１センサに測距される前記被写体の点群に対して、前記第２センサにより測距される前記被写体の点群の位置合わせを行うための、回転角度および並進距離を算出し、前記回転角度および前記並進距離を記憶部に記憶する算出部と
を有することを特徴とする情報処理装置。
【国際調査報告】
2020079814.tif 000043
2020079814.tif 000044