説明

計測装置,計測方法および計測プログラム

【課題】 複数のレーザレンジファインダで対象を計測して多様な情報を得る。
【解決手段】 計測装置(10)はコンピュータ(12)および7台のRLF(14)を含み、コンピュータが動く対象(Obj)を7台のLRFで計測する。7台のLRFのうち3つはそのスキャン面(Scn)が水平面に対して傾斜した傾斜LRF14iであり、他の4台はそのスキャン面が水平面と平行な水平LRF14hである。コンピュータのデータベース(52)には対象の3次元形状モデル(M1,M2,…)が登録されており、コンピュータのCPU(12c)は、各水平LRF14hからの計測データ(2次元距離情報)に基づいて対象の水平位置を推定し(S35)、各傾斜LRF14iからの計測データとデータベースに登録された3次元形状モデルとの比較に基づいて対象の3次元形状を推定し(S47)、そして3次元形状に基づいて対象Objを認識する(S49)。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、計測装置,計測方法および計測プログラムに関し、特にたとえば、複数の距離計で対象を計測する、計測装置,計測方法および計測プログラムに関する。
【背景技術】
【0002】
この種の従来の装置としては、たとえば特許文献1に開示されたものが知られている。この背景技術では、複数のレーザレンジファインダ(LRF)で被験者を計測して、計測結果から被験者の位置および移動速度を推定し、さらに人形状モデルを用いて被験者の体の向きおよび腕の動きをも推定している。
【特許文献1】特開2009−168578号公報
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかし、特許文献1の背景技術では、どのLRFも、スキャン面が腰の高さで水平となるように設置されている。したがって、LRFからの計測データには、腰の高さでの距離情報しか含まれていないので、3次元形状に関する情報たとえば身長などを推定することはできない。
【0004】
それゆえに、この発明の主たる目的は、新規な、計測装置,計測方法および計測プログラムを提供することである。
【0005】
この発明の他の目的は、複数のレーザレンジファインダで対象を計測して多様な情報を得ることができる、計測装置,計測方法および計測プログラムを提供することである。
【課題を解決するための手段】
【0006】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【0007】
第1の発明は、複数のレーザレンジファインダで動く対象を計測する計測装置であって、複数のレーザレンジファインダの少なくとも1つは、そのスキャン面が水平面に対して傾斜した傾斜レーザレンジファインダであり、対象の3次元形状モデルが登録されたデータベース、複数のレーザレンジファインダのうち少なくとも2つからの計測データに基づいて対象の水平位置を推定する第1推定手段、および傾斜レーザレンジファインダからの計測データとデータベースに登録された3次元形状モデルとの比較に基づいて対象の3次元形状を推定する第2推定手段を備える。
【0008】
第1の発明では、計測装置(10)は、たとえば人や買い物カートといった動く対象(Obj)を複数のレーザレンジファインダ(14)で計測する。これら複数のレーザレンジファインダのうち少なくとも1つは、そのスキャン面(Scn)が水平面に対して傾斜した傾斜レーザレンジファインダ(14i)である。
【0009】
そして、計測装置は、データベース(52)、第1推定手段(S35)および第2推定手段(S47)を備える。データベースには、上記のような対象の3次元形状モデル(M1,M2,…)が登録されており、第1推定手段は、複数のレーザレンジファインダのうち少なくとも2つからの計測データに基づいて対象の水平位置を推定し、第2推定手段は、傾斜レーザレンジファインダからの計測データとデータベースに登録された3次元形状モデルとの比較に基づいて対象の3次元形状を推定する。
【0010】
したがって、少なくとも2つのレーザレンジファインダからの計測データに基づいて対象の水平位置を推定することができる。また、傾斜したスキャン面内を対象が動くことで、傾斜レーザレンジファインダからの計測データには、異なる高さでの2次元距離情報(距離および角度を示す情報)が含まれる結果となるため、このような計測データから3次元形状を推定することができる。
【0011】
なお、水平位置を推定するためのレーザレンジファインダは、下記第10の発明のように、そのスキャン面(Scn)が水平面と平行な水平レーザレンジファインダ(14h)であれば好ましい。ただし、傾斜レーザレンジファインダであっても、傾斜角が既知であれば座標変換を行うことで、水平位置の推定は可能である。また、1つの傾斜レーザレンジファインダを、水平位置の推定と3次元形状の推定とに兼用してもよい。このため、レーザレンジファインダの最小構成は、原理的には2台であり、その内訳は、水平および傾斜が各1個、または傾斜2個となる。しかし、一般的には、水平位置の推定用に水平2個と、3次元形状の推定用に傾斜1個との、計3個が最小構成である。好ましい実施例では、レーザ光の当たらない死角を減らすために、水平4個および傾斜3個の構成を採用している。
【0012】
第1の発明によれば、複数のレーザレンジファインダで対象を計測して、水平位置,3次元形状といった多様な情報が得られる。
【0013】
なお、水平位置の変化から移動速度を計算することもできるし、下記第4の発明のように3次元形状の推定を時系列フィルタリングにより行えば、3次元形状と一緒に方向を推定することもできる。また、下記第9の発明のように3次元形状に基づいて対象を認識することで、種類,属性,プロファイルといった、さらに多様な情報も得られる。
【0014】
第2の発明は、第1の発明に従属する計測装置であって、傾斜レーザレンジファインダからの計測データに対してそのスキャン面の水平面に対する傾斜角に応じた座標変換処理を施す座標変換手段をさらに備え、第2推定手段は、座標変換手段による座標変換処理が施された計測データに基づいて推定を行う。
【0015】
第2の発明では、座標変換手段(S45)が、傾斜レーザレンジファインダからの計測データに対して、そのスキャン面(Scn)の水平面に対する傾斜角(α)に応じた座標変換処理を施す。第2推定手段による推定は、このような座標変換処理が施された計測データに基づいて行われる。
【0016】
第3の発明は、第2の発明に従属する計測装置であって、第2推定手段は、座標変換手段による座標変換処理が施された計測データを時系列に統合する時系列統合手段を含む。
【0017】
第3の発明では、時系列統合手段(S61)が、座標変換手段による座標変換処理が施された計測データを時系列に統合する。3次元形状は、この統合結果に基づいて推定される。
【0018】
第2,第3の発明によれば、スキャン面が傾斜していても3次元形状を適切に推定することができる。
【0019】
第4の発明は、第3の発明に従属する計測装置であって、時系列統合手段は、対象の可能な3次元形状および方向を時系列フィルタリングにより計算しながら統合を行う。
【0020】
第5の発明は、第4の発明に従属する計測装置であって、時系列統合手段は、時系列フィルタリングによる計算結果と3次元形状モデルとの間の距離に基づいて、最も可能性の高い3次元形状および方向を推定する。なお、距離は、所定の関数たとえば数3に示したような関数により求められる。
【0021】
第6の発明は、第5の発明に従属する計測装置であって、時系列統合手段は、3次元形状モデルとの間の距離が最短である計算結果を最も可能性が高いと推定する。
【0022】
第4〜第6の発明によれば、予測および観測を繰り返すことによって現在の対象の状態を推定するような時系列フィルタを用いて効率的かつ高精度に統合を行うことができる。時系列フィルタは、ある実施例ではパーティクルフィルタであるが、DPマッチングなど他のフィルタでもよい。
【0023】
第7の発明は、第3の発明に従属する計測装置であって、時系列統合手段は、統合を行う際に第1推定手段の計測結果を利用する。
【0024】
第7の発明によれば、第1推定手段の計測結果つまり水平位置を利用することで、統合の効率および精度をより高めることができる。
【0025】
第8の発明は、第1の発明に従属する計測装置であって、傾斜レーザレンジファインダで対象を計測して当該対象に対応する3次元形状モデルを作成する作成手段をさらに備える。
【0026】
第8の発明では、作成手段(S5)が、傾斜レーザレンジファインダで対象を計測してその3次元形状モデルを作成する。
【0027】
第8の発明によれば、3次元形状を推定するための傾斜レーザレンジファインダで事前に3次元形状モデルを作成するので、精度の高い推定が行える。
【0028】
第9の発明は、第1の発明に従属する計測装置であって、第2推定手段の推定結果に基づいて対象を認識する認識手段をさらに備える。
【0029】
第9の発明では、認識手段(S49)が、第2推定手段の推定結果に基づいて対象を認識する。
【0030】
第9の発明によれば、推定された3次元形状に基づいて対象を認識するので、さらに多様な情報が得られる。具体的には、たとえば人,物といった種類に関する情報、さらには、人であれば大人,子供、物であれば買い物カート,手荷物といった属性(より細分化された種類)に関する情報、あるいは、身長,性別などのプロファイルに関する情報をも知ることができる。
【0031】
第10の発明は、第1の発明に従属する計測装置であって、複数のレーザレンジファインダの少なくとも2つは、そのスキャン面が水平面と平行な水平レーザレンジファインダであり、第1推定手段は、少なくとも2つの水平レーザレンジファインダからの計測データに基づいて推定を行う。
【0032】
第10の発明では、複数のレーザレンジファインダの少なくとも2つは、そのスキャン面(Scn)が水平面と平行な水平レーザレンジファインダ(14h)である。第1推定手段による推定処理は、各水平レーザレンジファインダからの計測データに基づいて行われる。
【0033】
第10の発明によれば、水平位置を容易に推定することができる。
【0034】
第11の発明は、複数のレーザレンジファインダ(14)で動く対象(Obj)を計測する計測方法であって、(a)複数のレーザレンジファインダの少なくとも1つを、そのスキャン面(Scn)が水平面に対して傾斜するように設置し、(b)対象の3次元形状モデル(M1,M2,…)をデータベース(52)に登録し(S9)、(c)複数のレーザレンジファインダのうち少なくとも2つからの計測データに基づいて対象の水平位置を推定し(S35)、そして(d)ステップ(a)で傾斜させて設置したレーザレンジファインダからの計測データとステップ(b)でデータベースに登録された3次元形状モデルとの比較に基づいて対象の3次元形状を推定する(S47)。
【0035】
第12の発明は、計測プログラム(30)であって、そのスキャン面(Scn)が水平面に対して傾斜した少なくとも1つの傾斜レーザレンジファインダ(14i)を含む複数のレーザレンジファインダで動く対象(Obj)を計測する計測装置(10)のコンピュータ(12)を、対象の3次元形状モデル(M1,M2,…)をデータベース(52)に登録する登録ステップ(S9)、複数のレーザレンジファインダのうち少なくとも2つからの計測データに基づいて対象の水平位置を推定する第1推定ステップ(S35)、および傾斜レーザレンジファインダからの計測データとデータベースに登録された3次元形状モデルとの比較に基づいて対象の3次元形状を推定する第2推定ステップ(S47)として機能させる。
【0036】
第11,第12の各発明でも、第1の発明と同様に、複数のレーザレンジファインダで対象を計測して、水平位置,3次元形状といった多様な情報が得られる。
【発明の効果】
【0037】
この発明によれば、複数のレーザレンジファインダで対象を計測して、水平位置,3次元形状ひいては種類(属性,プロファイル)といった多様な情報を得ることができる、計測装置,計測方法および計測プログラムが実現される。
【0038】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0039】
【図1】この発明の一実施例である計測装置の構成を示すブロック図である。
【図2】LRFによる計測処理を説明するための図解図であり、(A)が計測領域(スキャン面)を示し、(B)が対象と計測領域との関係を示す。
【図3】LRFの店舗への配置例を示す図解図であり、(A)が店舗内を上から見た様子(上面図)を示し、(B)が店舗内を正面から見た様子(正面図)を示す。
【図4】傾斜LRFからの計測データに施される座標変換処理を説明するための図解図であり、(A)が水平LRFのスキャン面と傾斜LRFのスキャン面との関係を示し、(B)が座標変換に用いるパラメータを示す。
【図5】傾斜LRFからの計測データを時系列に統合する処理を説明するための図解図である。
【図6】時系列統合処理によって得られる3次元形状を示す図解図である。
【図7】3次元形状の具体例を示す図解図であり、(A)が人の3次元形状を示し、(B)が買い物カートの3次元形状を示す。
【図8】メモリマップを示す図解図である。
【図9】CPU動作の一部を示すフロー図である。
【図10】CPU動作の他の一部を示すフロー図である。
【図11】CPU動作のその他の一部を示すフロー図である。
【図12】CPU動作のさらにその他の一部を示すフロー図である。
【図13】CPU動作の他の一部を示すフロー図である。
【発明を実施するための形態】
【0040】
図1を参照して、この実施例の計測装置10はコンピュータ12を含み、コンピュータ12には複数(ここでは7台)のレーザレンジファインダ(以下“LRF”と記す)14が接続される。コンピュータ12は、一般的なパーソナルコンピュータ(PC)でよく、たとえばキーボードなどの入力器12a,モニタなどの表示器12b,CPU12cおよびメモリ12dなどを備えている。なお、LRF14の数が多い場合や、コンピュータ12とLRF14の距離が離れており直接接続することが難しい場合には、副コンピュータ(図示せず)に1台または複数のLRF14を接続し、副コンピュータをコンピュータ12と接続する構成でもよい。
【0041】
LRFは一般に、レーザ光を照射し、それが対象(物体や人体など)で反射して戻ってくるまでの時間から距離を計測する。この実施例のLRF14は、軸の周りをたとえば±90度の範囲で回転するミラー(図示せず)を含み、レーザ光の進路をこの回転ミラーでたとえば0.5度ずつ変化させながら計測を行う(レーザ光でスキャンする)ことができる。以下では、LRF14によってレーザ光でスキャンされる平面をスキャン面と呼ぶ。また、LRF14で計測可能な距離は、レーザ光が人の目に影響を与えないよう、所定距離R(たとえば8m)以下に制限されている。このため、LRF14の計測領域(スキャン面Scn)は、たとえば図2(A)に示すような半円形、つまり半径Rで中心角180度の扇形となる。なお、スキャン面Scnの中心角は180度とは限らず、たとえば270度や360度などでもよい。
【0042】
コンピュータ12は、このようなLRF14を通じて、対象の2次元距離情報を取得する。LRF14からの2次元距離情報には、図2(B)に示すように、対象Objをスキャン面Scnで切ったとき、その切断面Crsの輪郭線Ln上の各点Pについて距離dおよび角度βを示す情報(ローカル座標系)が含まれている。ただし、このLRF14からは、レーザ光が到達しない影の部分の2次元距離情報は得られないので、別の1つまたは2つ以上のLRF14を、たとえば対象を挟んで反対側に、または対象を取り囲むように配置する必要がある。
【0043】
したがって、複数のLRF14を所定の位置(既知)に設置すれば、コンピュータ12は、各々から対象の2次元距離情報を取得して、3次元空間(ワールド座標系)における位置(たとえば重心など特徴点の位置座標(X,Y,Z):この実施例では特に水平位置座標(X,Y))および移動速度、さらには3次元形状および方向を計算することができ、ひいては3次元形状から対象の種類(たとえば人体か物体か)ないし属性(たとえば人体なら大人か子供か、物体ならショッピングカートか手荷物か)やプロファイル(たとえば身長,性別など)を推定することも可能となる。
【0044】
7台のLRF14の店舗への設置例を図3に示す。図3(A)は店舗内を上から見た上面図であり、図3(B)は店舗内を入り口側から見た正面図である。店舗内には、ワールド座標系として、たとえば床面の中心Cを原点に、床面の長辺および短辺に沿ってX軸およびY軸が定義され、さらにX軸およびY軸の両方に垂直なZ軸が定義される。
【0045】
この例では、図3(A)からわかるように、7台のLRF14は部屋の四隅,正面および左右に配置されている。そして、図3(B)からわかるように、7台のLRF14のうち一部(ここでは四隅の4台)が、床から1mの高さに、スキャン面Scnが水平面と平行となるように設置され、他の一部(ここでは正面および左右の3台)は、床から2mの高さに、スキャン面Scnが水平面から一定角度(たとえば下向きに30度)傾斜するように設置されている。
【0046】
以下では、LRF14のうち、スキャン面Scnが水平となるように設置されたLRF14を“水平LRF14h”と記し、スキャン面Scnが傾斜するように設置されたLRF14を“傾斜LRF14i”と記す。水平LRF14hは主として水平位置および移動速度の計測に利用され、傾斜LRF14iは主として3次元形状および方向の計測に利用される。
【0047】
なお、図1〜図3に示した構成は一例であり、LRF14の総数は6以下でも8以上でもよく、水平LRF14hおよび傾斜LRF14iの各台数も適宜変更してよい。一般には、水平位置を計測する(ワールド座標系での位置を特定する)ための2台の水平LRF14hと、3次元形状を計測するための1台の傾斜LRF14iとの計3台は、最小構成として必要であるが、場合によっては2台でもよい。たとえば、対象の動きが1次元的である場合には、水平LRF14hおよび傾斜LRF14iが各1台でもよい。また、原理的には、2台の傾斜LRF14iだけでもよい。なぜなら、各々の傾斜角が既知であれば、後述するような座標変換を行うことで、水平位置の特定が可能だからである。
【0048】
また、水平LRF14hおよび傾斜LRF14iの配置も適宜変更してよいが、一般には、対象の存在し得る場所で少なくとも2台の計測範囲が重なるように配置する必要がある。
【0049】
また、図3では、3台の傾斜LRF14iはいずれも下向きに30度傾斜しているが、傾斜の向きは、全て上向きでもよく、一部(たとえば2台)が下向きで他の一部(たとえば1台)が下向きでもよい。上向きの傾斜LRF14iは、床面上またはその近くに設置される。計測領域が互いに重なる2台を上向きおよび下向きに傾斜させることで、3次元形状を計測する際の計算量を抑制することも可能である。傾斜角は、たとえば部屋の広さや対象の種類などに応じて適宜変更してよい。さらには、傾斜LRF14i毎に異なる傾斜角を採用してもよい。また、水平LRF14hおよび傾斜LRF14iが設置される高さは、この例では1mおよび2mであるが、対象の種類などに応じて適宜変更してよい。
【0050】
次に、計測装置10のコンピュータ12が行う処理について、図4〜図13を用いて詳しく説明する。コンピュータ12は、前述したような2種類の計測処理、つまり水平LRF14hを通じて対象の水平位置および移動速度を計測する処理と、傾斜LRF14iを通じて対象の3次元形状および方向を計測する処理とを並列的に実行する。
【0051】
なお、別のモードでは、水平LRF14hによる計測処理を単独で実行することもできる。ただし、この実施例では、傾斜LRF14iによる計測処理において水平LRF14hによる計測結果を利用するので、傾斜LRF14iによる計測処理を単独で実行することはできない。
【0052】
まず、水平LRF14hを利用した水平位置および移動速度の計測処理については、たとえば、先述した特開2009−168578号公報に記載の手法を用いることができる。詳しい説明は省略するが、この先行技術では、対象の水平位置および移動速度は、コンピュータが水平LRFからの情報に基づいて、パーティクルフィルタを用いて推定している。
【0053】
パーティクルフィルタは、予測および観測を繰り返すことによって現在の対象の状態を推定する時系列フィルタの一種であり、具体的には、現状態から起こりうる次状態を多数のパーティクルに見立てて、観測された状態との間の尤度(類似度)をパーティクル毎に求め、全パーティクルを尤度に応じて加重平均した結果を現在の対象の状態であると推定する。そして、重みに従う新たなパーティクルを発生させ、同様の処理を繰り返すことで、対象の状態つまり水平位置および移動速度を逐次推定することができる。
【0054】
次に、傾斜LRF14iを通じて対象の3次元形状および方向を計測する処理について説明する。傾斜LRF14iで計測を行う場合、スキャン面Scnが水平面から傾斜しているために、対象までの水平面上の距離と比べて、計測される距離が見かけ上長くなる(図4参照)。また、対象までの距離に応じて、対象を計測する高さが変化する(図5参照)。したがって、座標系の変換処理が必要となる。
【0055】
具体的には、図4において、計測された各点の変換後の位置ベクトルx’=SP’は、傾斜LRF14iが水平に設置されていたと仮定した場合の位置ベクトルx=SPから、次のように求められる。
【0056】
【数1】

【0057】
ここでnはセンサを回転する軸に平行な単位ベクトル、αはセンサの水平面からの傾斜角である。座標変換式は、回転行列を用いて次のように記述できる。
【0058】
【数2】

【0059】
ここでIは3行3列の単位ベクトルであり、nの要素をn=(n,n,n)と定義した(nはnの転置)。
【0060】
対象が移動する様子を傾斜LRF14iで連続的に観測すると、対象の形状(2次元距離情報)が様々な高さ(h)で計測される。これらの計測結果(計測データ)に上述のような座標変換を施し、座標変換後の形状を時系列に統合すれば、対象の3次元形状が得られる。この一連の処理を時系列統合処理と呼ぶ。
【0061】
コンピュータ12は、計測する各対象(人,買い物カートなど)のそれぞれについて、事前に傾斜LRF14iで3次元形状を計算し、時系列統合処理によって3次元形状モデルを求めておく(図5)。3次元形状モデルは、中心からの距離を高さと方向について離散化した形式で表現される(図6)。この場合、対象の初期位置,方向および移動速度は既知であり、これらから対象の位置を求めることができる。各時点での計測データは、求められた位置を中心として、高さhおよび方向θに依存した中心からの距離、つまりr(h,θ)として表現される。各時点での計測データを対応する(h,θ)に登録し、各(h,θ)に登録された計測データに対して平均および分散を求める処理を施すことで、3次元形状モデルつまりr(h,θ)が得られる。
【0062】
こうして求められた3次元形状モデルの例を図7に示す。図7(A)は人の3次元形状モデルM1を、図7(B)は買い物カートの3次元形状モデルM2をそれぞれ示す。
【0063】
未知の対象について3次元形状および方向を計測する処理(ひいては対象を認識する処理)は、こうして事前に計算された3次元形状モデルM1,M2,…を用いて行われる。3次元形状モデルを計算する際には、対象の初期位置,方向および移動速度を既知としていたが、3次元形状および方向の計測を行う際には、これらが未知であるため、水平LRF14hによる計測結果の一部(水平位置)を特定すると共に、方向推定処理および時系列統合処理を同時に行う必要がある。
【0064】
そこで、コンピュータ12は、対象の方向の可能性を複数考慮しながら認識を進める。具体的には、現在の対象の方向がθ1であると仮定して、時系列統合処理によって3次元形状を推定し、推定された形状を3次元形状モデルと比較して、その距離を評価する。そして、距離の小ささを類似度と見なし、類似している場合にはその仮定が確からしいと判断する。このような処理を複数の仮定(θ1,θ2,…)に対して同時並列に行うために、パーティクルフィルタが利用される。パーティクルフィルタ以外の方法、たとえば動的計画法(Dynamic Programming)によるDPマッチングなどを用いてもよい。この結果、対象の3次元形状および方向を逐次推定することができる。
【0065】
こうして推定された3次元形状と3次元形状モデルとの間の距離は、次の関数によって求められる。
【0066】
【数3】

【0067】
ここで Ndataは(h,θ)に対してデータが登録されている要素の数であり、r(h,θ)は推定された3次元形状であり、そしてr(h,θ)は3次元モデルである。ノイズへの耐性を持たせるため、 しきい値Rmaxを用いる。
【0068】
以上のような計測処理は、コンピュータ12のCPU12cが、メモリ12dに記憶された図8に示すようなプログラムおよびデータに基づいて、図9〜図13に示すようなフローに従う処理を実行することにより実現される。
【0069】
すなわち、計測処理を実行するとき、図8に示すように、メモリ12dにはプログラムエリア20およびデータエリア22が形成され、プログラムエリア22に計測プログラム30および入出力制御プログラム32などが格納される。
【0070】
計測プログラム30は、CPU12cを介して計測処理を実現するメインのソフトウェアプログラムであり、図9〜図13のフローに対応している。入出力制御プログラム32は、計測プログラム30によって利用されるサブのソフトウェアプログラムであり、入力器12aおよび表示器12bを制御してキー入力,画像出力などを実現する。
【0071】
データエリア22には、計測エリア34,変換エリア36および計算エリア38が形成さる。計測エリア34は、4台の水平LRF14hにそれぞれ対応する第1〜第4水平LRFデータエリア40a〜40d、および3台の傾斜LRF14iにそれぞれ対応する第1〜第3傾斜LRFデータエリア42a〜42cを含む。各水平LRF14hからの計測データ(2次元距離情報)は、CPU12cの時計に基づくタイムスタンプと共に、対応する水平LRFデータエリア40a〜40dに記憶される。各傾斜LRF14iからの計測データ(2次元距離情報)は、CPU12cの時計に基づくタイムスタンプと共に、対応する傾斜LRFデータエリア42a〜42cに記憶される。なお、タイムスタンプは、複数のLRF14の間で計測データの同期を取るために利用される。また、計測データを時系列に統合する際にも参照される。
【0072】
変換エリア36は、3台の傾斜LRF14iにそれぞれ対応する第1〜第3変換データエリア44a〜44cを含む。第1〜第3変換データエリア44a〜44cには、第1〜第3傾斜LRFデータエリア42a〜42cに記憶された計測データに座標変換処理を施した結果(変換データ)が記憶される。
【0073】
計算エリア38は、位置&速度データエリア46,3次元形状&方向データエリア48および種類(属性,プロファイル)データエリア50を含む。位置&速度データエリア46には、水平LRFデータエリア40a〜40dの計測データから計算される位置&速度データ(対象の水平位置および移動速度を示すデータ)が記憶される。3次元形状&方向データエリア48には、主として変換データエリア44a〜44cの変換データから計算される3次元形状&方向データ(対象の3次元形状および方向を示すデータ)が記憶される。種類(属性,プロファイル)データエリア50には、3次元形状&方向データから推定される種類(属性,プロファイル)データが記憶される。
【0074】
また、データエリア22には3次元形状モデルデータベース(DB)52が格納されており、作成された3次元形状モデル(たとえば人の3次元形状モデルM1や買い物カートの3次元形状モデルM2など)はこの3次元形状モデルDB52に登録される。
【0075】
計測プログラム30が起動されると、表示器12bに、“3次元形状モデル作成”および“計測”などを選択項目として含むメニュー画面(図示せず)が表示される。観測者は、入力器12aを通じていずれか1つの項目を選択する。
【0076】
3次元形状モデル作成が選択されると、図9に示す3次元形状モデル作成スレッドが実行される。観測者は、予め決められた手順に従い、対象(被験者や買い物カート)を傾斜LRF14iの計測領域内(たとえば店舗の中心位置C:図3(A)参照)に配置して所定方向(たとえばx方向)に一定速度(たとえば30m/分)で移動を開始させる。これら所定方向および一定速度を示す方向&速度情報は、メモリ12dに記憶される。
【0077】
CPU12cは、ステップS1で、各傾斜LRF14iから2次元距離情報(計測データ)を取得して、対応する傾斜LRFデータエリア42a〜42cに書き込む。このとき、計測データにタイムスタンプが添付される。次に、ステップS3で、傾斜LRFデータエリア42a〜42cに記憶された計測データに対する座標変換処理を実行し、結果を変換データエリア44a〜44cに書き込む。
【0078】
ステップS3の座標変換処理は、詳しくは図10のサブルーチンに従って実行される。まずステップS21で、傾斜LRF14iのスキャン面Scnが水平であったと仮定して各点Pの位置ベクトルx=SPを求め、次にステップS23で、この位置ベクトルxに回転行列Rを乗じて変換後の各点P’の位置ベクトルx’=SP’を求める(図4,数1および数2参照)。その後、処理はメインルーチン(図9参照)に復帰する。
【0079】
次に、ステップS5で、3次元形状モデルを計算する。具体的には、変換データエリア44a〜44cに記憶された変換データ、つまりステップS3で座標変換処理が施された後の2次元距離情報を、上記の所定方向および一定速度を示す方向&速度情報に基づいて時系列に統合する。そして、統合が完了したか否かをステップS7で判別し、NOであればステップS1に戻って、上記と同様の処理をたとえば0.1秒毎に繰り返す。なお、統合が完了したか否かの判別は、たとえば、観測者が入力器12aを介して行う完了操作の有無に基づいて行えばよい。
【0080】
ステップS7でYESであれば、ステップS9に進み、統合結果を3次元形状モデル(M1,M2,…)として3次元形状モデルDB52に記憶する。さらにステップS11で、対象の種類ないし属性を3次元形状モデルDB52に3次元形状モデルと対応付けて記憶した後、この処理を終了する。なお、種類ないし属性としては、たとえば、観測者が入力器12aを介して入力した“人体”,“買い物カート”などの文字情報を利用すればよい。
【0081】
メニュー画面で“計測”が選択されると、図11に示す水平位置&移動速度計測スレッドと、図12に示す3次元形状&方向計測スレッドとが並列的に実行される。
【0082】
水平位置&移動速度計測スレッドでは、以下のような処理が行われる。図11を参照して、まず、ステップS31で、このスレッド用のパーティクルフィルタを初期化する。次に、ステップS33で、各水平LRF14hから2次元距離情報(計測データ)を取得して、対応する水平LRFデータエリア40a〜40dにこれを書き込む。このとき、計測データにタイムスタンプが添付される。次に、ステップS35で、対象の水平位置および移動速度を計測データに基づいてパーティクルフィルタで計算し、結果つまり位置&速度データを位置&速度データエリア46に書き込む。そして、ステップS37で、位置&速度データに基づいてパーティクルフィルタを更新した後、ステップS33に戻って、上記と同様の処理をたとえば0.1秒毎に繰り返す。
【0083】
したがって、位置&速度データエリア46には常時、最新の位置&速度データ、つまり現時点での対象の水平位置および移動速度を示す情報が記憶されていることになる。表示器12bには、このような位置&速度データに基づく計測結果画面(図示せず)がリアルタイムに表示される。位置&速度データエリア46の更新履歴を示すデータをデータエリア22に保存しておくことで、計測結果画面を事後に再現することもできる。水平位置&移動速度計測スレッドによる位置&速度データはまた、次に説明する3次元形状&方向計測スレッドで時系列統合を行う際にも参照される。
【0084】
3次元形状&方向計測スレッドでは、以下のような処理が行われる。図12を参照して、まず、ステップS41で、このスレッド用のパーティクルフィルタを初期化する。次に、ステップS43で、各傾斜LRF14iから2次元距離情報(計測データ)を取得して、対応する傾斜LRFデータエリア42a〜42cに書き込む。このとき、計測データにタイムスタンプが添付される。次に、ステップS45で、各傾斜LRFデータエリア42a〜42cの計測データに対する座標変換処理を実行し、結果つまり変換データを対応する変換データエリア44a〜44cに書き込む。なお、この座標変換処理は、前述した3次元形状モデル作成スレッドにおける座標変換処理(S3)と同様であり、図10のサブルーチンに従って実行される。
【0085】
次に、ステップS47で、対象の3次元形状および方向を、上記の変換データ,3次元形状モデル,および水平位置&移動速度計測スレッドによる位置&速度データに基づいてパーティクルフィルタで計算し、結果つまり3次元形状&方向データを3次元形状&方向データエリア48に書き込む。
【0086】
ステップS47の3次元形状&方向計算処理は、詳しくは図13のサブルーチンに従って実行される。まずステップS61で、対象の方向をθiと仮定して、座標変換後の2次元距離情報(変換データエリア44a〜44cに記憶された変換データ)を、水平位置&移動速度計測スレッドによって計測された水平位置および移動速度(位置&速度データエリア46に記憶された位置&速度データ)に基づいて時系列に統合し(図5参照)、結果つまり3次元形状&方向データを3次元形状Fiとして保持する。
【0087】
次に、ステップS63で、この3次元形状Fiを3次元形状モデルDB52に登録された各3次元形状モデルM1,M2,…と比較して、両者の間の距離を評価し、結果つまり距離データを保持する。そして、ステップS65で変数iをインクリメントした後、変数iが最大値imaxを越えたか否かをステップS67で判別し、判別結果がNOであれば、ステップS61に戻って上記と同様の処理を繰り返す。ステップS67の判別結果がYESであれば、ステップS69に進む。
【0088】
この時点でCPU12cには、3次元形状F1,F2,…,Fimaxと3次元形状モデルM1,M2,…との全ての組について、距離を示す距離データが保持されている。ステップS69では、このような距離データに基づいて、最小距離を検出する。そしてステップS71で、検出された最小距離に対応する3次元形状および3次元形状モデルの組(Fm,Mn)を特定し、特定された組の3次元形状Fmが最も確からしい(可能性が高い)と推定して、結果つまり3次元形状Fmに対応する3次元形状&方向データを3次元形状&方向データエリア48に書き込む。なお、最小距離に対応する3次元形状Fmに代えて、3次元形状F1,F2,…,Fimaxを距離に応じて加重平均した結果を書き込んでもよい。その後、メインルーチン(図12参照)に復帰する。
【0089】
図12に戻って、次のステップS49では、3次元形状モデルDB52から上述のステップS67で特定された組の3次元形状モデルMnに対応する種類(属性)を読み取って、種類(属性,プロファイル)データエリア50に書き込む。そしてステップS51で、ステップS47の計算結果つまり3次元形状&方向データに基づいてパーティクルフィルタを更新した後、ステップS43に戻って上記と同様の処理をたとえば0.1秒毎に繰り返す。
【0090】
したがって、3次元形状&方向データエリア48および種類(属性,プロファイル)データエリア50には常時、最新の3次元形状&方向データおよび種類(属性,プロファイル)データが記憶されていることになり、このようなデータに基づく計測結果画面(図示せず)を表示器12bにリアルタイムに表示することができる。また、3次元形状&方向データエリア48および種類(属性,プロファイル)データエリア50に関する更新履歴をデータエリア22内の不揮発領域(図示せず)に保存しておくことで、計測結果画面を事後に再現することもできる。
【0091】
こうして、計測装置10が水平LRF14hを利用した水平位置および移動速度の計測と、傾斜LRF14iを利用した3次元形状および方向の計測とを同時並列に行うことで、観測者は、対象の位置や動きだけでなく、サイズや種類なども知ることができる。たとえば、対象が人か物かを区別できるし、さらには、人であれば大人か子供か、物であれば買い物カートか手荷物かというように、より詳細な種類ないし属性を知ることができる。また、3次元形状から身長,性別といったプロファイルも識別できる。
【0092】
以上から明らかなように、この実施例の計測装置10は、コンピュータ12および7台のLRF14を含む。コンピュータ12は、たとえば人や買い物カートといった動く対象Objを7台のLRF14で計測する。これら7台のLRF14のうち3つは、そのスキャン面Scnが水平面に対して傾斜した傾斜LRF14iである。他の4台は、そのスキャン面Scnが水平面と平行な水平LRF14hである。
【0093】
コンピュータ12のデータベース52には、上記のような対象Objの3次元形状モデルM1,M2,…が登録されており、コンピュータ12のCPU12cは、各水平LRF14hからの計測データ(2次元距離情報)に基づいて対象Objの水平位置(および移動速度)を推定し(S35)、各傾斜LRF14iからの計測データとデータベース52に登録された3次元形状モデルM1,M2,…との比較に基づいて対象Objの3次元形状(およびその方向)を推定する(S47)。
【0094】
したがって、各傾斜LRF14iからの計測データに基づいて対象Objの水平位置(および移動速度)を推定することができる。また、傾斜したスキャン面Scn内を対象Objが動くことで、各傾斜LRF14iからの計測データには、異なる高さ(h)での2次元距離情報が含まれる結果となるため、このような計測データから3次元形状(および方向)を推定することができる。
【0095】
なお、水平位置を推定するためのLRF14は、水平LRF14hとは限らず、傾斜LRF14iであってもよい。傾斜角が既知であれば先述のような座標変換を行うことで、水平位置の推定は可能だからである。また、1つの傾斜LRF14iを、水平位置の推定と3次元形状の推定とに兼用してもよい。このため、この発明を実現するためのLRF14の最小構成は、原理的には2台でよく、その内訳は、水平および傾斜が各1個、または傾斜が2個となる。しかし、一般的には、水平位置の推定用に水平2個と、3次元形状の推定用に傾斜1個との、計3個が最小構成である。そして、レーザ光の当たらない死角を減らすためには、たとえば水平4個および傾斜3個の計7個といった構成が必要になる。
【0096】
CPU12cはまた、こうして推定された3次元形状に基づいて対象Objを認識する(S49)。これによって、さらに多様な情報が得られる。たとえば、人,物といった種類に関する情報、さらには、人であれば大人,子供といった属性に関する情報や身長,性別などのプロファイルに関する情報をも知ることができる。
【符号の説明】
【0097】
10 …計測装置
12 …コンピュータ
14 …レーザレンジファインダ(LRF)
14h …水平LRF
14i …傾斜LRF
52 …3次元形状モデルデータベース(DB)
M1,M2 …3次元形状モデル
Obj …対象
Scn …スキャン面

【特許請求の範囲】
【請求項1】
複数のレーザレンジファインダで動く対象を計測する計測装置であって、
前記複数のレーザレンジファインダの少なくとも1つは、そのスキャン面が水平面に対して傾斜した傾斜レーザレンジファインダであり、
前記対象の3次元形状モデルが登録されたデータベース、
前記複数のレーザレンジファインダのうち少なくとも2つからの計測データに基づいて前記対象の水平位置を推定する第1推定手段、および
前記傾斜レーザレンジファインダからの計測データと前記データベースに登録された3次元形状モデルとの比較に基づいて前記対象の3次元形状を推定する第2推定手段を備える、計測装置。
【請求項2】
前記傾斜レーザレンジファインダからの計測データに対してそのスキャン面の前記水平面に対する傾斜角に応じた座標変換処理を施す座標変換手段をさらに備え、
前記第2推定手段は、前記座標変換手段による座標変換処理が施された計測データに基づいて推定を行う、請求項1記載の計測装置。
【請求項3】
前記第2推定手段は、前記座標変換手段による座標変換処理が施された計測データを時系列に統合する時系列統合手段を含む、請求項2記載の計測装置。
【請求項4】
前記時系列統合手段は、前記対象の可能な3次元形状および方向を時系列フィルタリングにより計算しながら統合を行う、請求項3記載の計測装置。
【請求項5】
前記時系列統合手段は、前記時系列フィルタリングによる計算結果と前記3次元形状モデルとの間の距離に基づいて、最も可能性の高い3次元形状および方向を推定する、請求項4記載の計測装置。
【請求項6】
前記前記時系列統合手段は、前記3次元形状モデルとの間の距離が最短である計算結果を最も可能性が高いと推定する、請求項5記載の計測装置。
【請求項7】
前記時系列統合手段は、統合を行う際に前記第1推定手段の計測結果を利用する、請求項3記載の計測装置。
【請求項8】
前記傾斜レーザレンジファインダで前記対象を計測して当該対象に対応する3次元形状モデルを作成する作成手段をさらに備える、請求項1記載の計測装置。
【請求項9】
前記第2推定手段の推定結果に基づいて前記対象を認識する認識手段をさらに備える、請求項1記載の計測装置。
【請求項10】
前記複数のレーザレンジファインダの少なくとも2つは、そのスキャン面が前記水平面と平行な水平レーザレンジファインダであり、
前記第1推定手段は、各前記水平レーザレンジファインダからの計測データに基づいて推定を行う、請求項1記載の計測装置。
【請求項11】
複数のレーザレンジファインダで動く対象を計測する計測方法であって、
(a)前記複数のレーザレンジファインダの少なくとも1つを、そのスキャン面が水平面に対して傾斜するように設置し、
(b)前記対象の3次元形状モデルをデータベースに登録し、
(c)前記複数のレーザレンジファインダのうち少なくとも2つからの計測データに基づいて前記対象の水平位置を推定し、そして
(d)前記ステップ(a)で傾斜させて設置したレーザレンジファインダからの計測データと前記ステップ(b)でデータベースに登録された3次元形状モデルとの比較に基づいて前記対象の3次元形状を推定する、計測方法。
【請求項12】
そのスキャン面が水平面に対して傾斜した少なくとも1つの傾斜レーザレンジファインダを含む複数のレーザレンジファインダで動く対象を計測する計測装置のコンピュータを、
前記対象の3次元形状モデルをデータベースに登録する登録ステップ、
前記複数のレーザレンジファインダのうち少なくとも2つからの計測データに基づいて前記対象の水平位置を推定する第1推定ステップ、および
前記傾斜レーザレンジファインダからの計測データと前記データベースに登録された3次元形状モデルとの比較に基づいて前記対象の3次元形状を推定する第2推定ステップとして機能させる、計測プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2011−226880(P2011−226880A)
【公開日】平成23年11月10日(2011.11.10)
【国際特許分類】
【出願番号】特願2010−95803(P2010−95803)
【出願日】平成22年4月19日(2010.4.19)
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成21年6月19日付け、支出負担行為担当官 総務省大臣官房会計課企画官、研究テーマ「高齢者・障害者のためのユビキタスネットワークロボット技術の研究開発」に関する委託研究、産業技術力強化法第19条の適用を受ける特許出願
【出願人】(393031586)株式会社国際電気通信基礎技術研究所 (905)
【Fターム(参考)】