(57)【要約】      （修正有）【課題】誤検出を可及的抑制できる、人推定システムを提供する。【解決手段】移動可能ロボットの現在位置を特定した後に、そのロボットに搭載した３次元レーザ距離計からの３次元距離画像データと３次元環境地図データとを比較して移動物体の３次元距離画像データを抽出し（Ｓ１）、その移動物体の３次元距離画像データをクラスタリングして移動物体の３次元点群を生成し（Ｓ３）、３次元点群を投影することによって移動物体の２次元距離画像データを生成し（Ｓ５）、２次元距離画像データを畳み込みニューラルネットワークに投入する（Ｓ７）。【選択図】図８
2018173707.tif 000002
【特許請求の範囲】
【請求項１】
移動するロボット、
前記ロボットに搭載された３次元レーザ距離計、
前記３次元レーザ距離計からの３次元距離画像データと３次元環境地図データとを比較して移動物体の３次元距離画像データを抽出する抽出部、
前記移動物体の３次元距離画像データをクラスタリングして前記移動物体の３次元点群を生成するクラスタリング部、
前記３次元点群を投影することによって前記移動物体の２次元距離画像データを生成する投影部、および
前記２次元距離画像データを入力とするディープニューラルネットワークを備え、
前記ディープニューラルネットワークが人と物とを識別する、人推定システム。
【請求項２】
前記ディープニューラルネットワークは畳み込みニューラルネットワークである、請求項１記載の人推定システム。
【請求項３】
前記投影部は、前記３次元レーザ距離計からの線に垂直な投影面を設定し、各ピクセルに入ったすべての点の前記投影面からの平均距離に基づいて各ピクセルのピクセル値デルを決める、請求項１または２記載の人推定システム。
【請求項４】
３次元レーザ距離計を搭載した移動可能ロボットを含む人推定システムのコンピュータによって実行される推定プログラムであって、前記推定プログラムは、前記コンピュータを
前記３次元レーザ距離計からの３次元距離画像データと３次元環境地図データとを比較して移動物体の３次元距離画像データを抽出する抽出部、
前記移動物体の３次元距離画像データをクラスタリングして前記移動物体の３次元点群を生成するクラスタリング部、
前記３次元点群を投影することによって前記移動物体の２次元距離画像データを生成する投影部、および
前記２次元距離画像データを入力とするディープニューラルネットワーク
として機能させ、
前記ディープニューラルネットワークが人と物とを識別するとともに、人の特徴を識別する、推定プログラム。
【請求項５】
３次元レーザ距離計を搭載した移動可能ロボットを含む人推定システムのコンピュータによって実行される推定方法であって、
前記３次元レーザ距離計からの３次元距離画像データと３次元環境地図データとを比較して移動物体の３次元距離画像データを抽出する抽出ステップ、
前記移動物体の３次元距離画像データをクラスタリングして前記移動物体の３次元点群を生成するクラスタリングステップ、
前記３次元点群を投影することによって前記移動物体の２次元距離画像データを生成する投影ステップ、および
前記２次元距離画像データをディープニューラルネットワークに投入するステップを含む、推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、人推定システムおよび推定プログラムに関し、特に、たとえば移動ロボットに搭載した３次元レーザ距離計で獲得した３次元スキャンデータを用いて人の位置などを推定する、人推定システムおよび推定プログラム
【背景技術】
【０００２】
ロボットやその他の移動機械が人との共存環境で活動するためには、自分の位置、そして周りの人の位置とその特徴を知ることが重要である。ロボットのセンサとして一般のカメラを使用する場合、プライバシーが問われることがあるが、距離だけを計っている３次元測域センサ（３次元レーザ距離計）は、そういった心配がないので、人との共存にふさわしいセンサである。
【０００３】
特許文献１には、３次元レーザ距離計を用いて人を検出したり、その位置を推定したりする手法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５９５３４８４号 [G01S 17/88]
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の背景技術では、移動している物体はすべて人であるという前提に立つものであり、それに伴う誤検出を避けられない。
【０００６】
それゆえに、この発明の主たる目的は、新規な、人推定システムおよび推定プログラムを提供することである。
【０００７】
この発明の他の目的は、誤検出を可及的抑制できる、人推定システムおよび推定プログラムを提供することである。
【課題を解決するための手段】
【０００８】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【０００９】
第１の発明は、移動するロボット、ロボットに搭載された３次元レーザ距離計、３次元レーザ距離計からの３次元距離画像データと３次元環境地図データとを比較して移動物体の３次元距離画像データを抽出する抽出部、移動物体の３次元距離画像データをクラスタリングして移動物体の３次元点群を生成するクラスタリング部、３次元点群を投影することによって移動物体の２次元距離画像データを生成する投影部、および２次元距離画像データを入力とするディープニューラルネットワークを備え、ディープニューラルネットワークが人と物とを識別する、人推定システムである。
【００１０】
第１の発明では、人推定システムは、移動するロボット（１０：実施例において相当する部分を例示する参照符号。以下同じ。）を含み、このロボットには３次元レーザ距離計（２６）が搭載される。抽出部（６０，９４、Ｓ１）は、３次元レーザ距離計からの３次元距離画像データと３次元環境地図データとを比較して移動物体の３次元距離画像データを抽出する。クラスタリング部（６０，９４、Ｓ３）では、この抽出された移動物体の３次元距離画像データをクラスタリングして、移動物体の３次元点群を生成する。投影部（６０，９４、Ｓ５）は、３次元点群を投影することによって移動物体の２次元距離画像データを生成し、その２次元距離画像データがディープニューラルネットワークに投入される（Ｓ７）。ディープニューラルネットワークでは、２次元距離画像データに基づいて、人と物とを識別する。さらに、ディープニューラルネットワークでは、人の特徴（たとえば、性別、向きなど）を識別することもできる。
【００１１】
第１の発明によれば、３次元環境地図にのっていない物体の３次元距離画像を抽出することにより、環境（固定物）の一部を移動物体として誤認識することが可及的抑制される。しかも、ディープラーニング等の手法により、３次元の移動物体の形から人か物か検出する認識プログラムが実現可能となり、物を無視して、人だけの検出を行うことができる。
【００１２】
第２の発明は、第１の発明に従属し、ディープニューラルネットワークは畳み込みニューラルネットワークである、人推定システムである。
【００１３】
第２の発明によれば、ディープニューラルネットワーク（ＤＮＮ）として畳み込みニューラルネットワークを用いたので、人推定が容易に行える。
【００１４】
第３の発明は、第１または第２の発明に従属し、投影部は、３次元レーザ距離計からの線に垂直な投影面を設定し、各ピクセルに入ったすべての点の投影面からの平均距離に基づいて各ピクセルのピクセル値を決める、人推定システムである。
【００１５】
第３の発明によれば、クラスタリングした３次元点群を効率的に２次元距離画像として投影することができる。
【００１６】
第４の発明は、３次元レーザ距離計を搭載した移動可能ロボットを含む人推定システムのコンピュータによって実行される推定プログラムであって、推定プログラムは、コンピュータを、３次元レーザ距離計からの３次元距離画像データと３次元環境地図データとを比較して移動物体の３次元距離画像データを抽出する抽出部、移動物体の３次元距離画像データをクラスタリングして移動物体の３次元点群を生成するクラスタリング部、３次元点群を投影することによって移動物体の２次元距離画像データを生成する投影部、および２次元距離画像データを入力とするディープニューラルネットワークとして機能させ、ディープニューラルネットワークが人と物とを識別する、推定プログラムである。
【００１７】
第５の発明は、３次元レーザ距離計を搭載した移動可能ロボットを含む人推定システムのコンピュータによって実行される推定方法であって、３次元レーザ距離計からの３次元距離画像データと３次元環境地図データとを比較して移動物体の３次元距離画像データを抽出する抽出ステップ、移動物体の３次元距離画像データをクラスタリングして移動物体の３次元点群を生成するクラスタリングステップ、３次元点群を投影することによって移動物体の２次元距離画像データを生成する投影ステップ、および２次元距離画像データをディープニューラルネットワークに投入するステップを含む、推定方法である。
【発明の効果】
【００１８】
この発明によれば、環境の一部を移動物体であるという誤認を防止できるので、誤検出を可及的抑制することができる。
【００１９】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００２０】
【図１】図１はこの発明の一実施例である人推定システムに用いられるロボットの一例を示す図解図である。
【図２】図２は図１実施例のロボットの電気的構成の一例を示すブロック図である。
【図３】図３は図１実施例のロボットの移動空間の一例を示す図解図である。
【図４】図４は図１実施例のロボットの遠隔操作装置の一例を示すブロック図である。
【図５】図５は図２実施例におけるロボットのメモリのメモリマップの一例を示す図解図である。
【図６】図６は図１実施例のロボットの移動空間の一部を示す図解図である。
【図７】図７はロボットに搭載した全方位レーザ距離計の実際のスキャンデータの一例を示す図解図である。
【図８】図８は図１実施例のロボットを用いる推定システムの動作の一例を示すフロー図である。
【図９】図９は図８実施例において地図にない部分の３次元距離画像データをクラスタリングした結果の移動物体の３次元点群の一例を示す図解図である。
【図１０】図１０は図８実施例において図９に示す移動物体の３次元点群を投影した２次元距離画像の一例を示す図解図である。
【図１１】図１１は図９に示す移動物体の３次元点群を投影する手法の一例を示す図解図である。
【発明を実施するための形態】
【００２１】
図１はこの発明の一実施例の推定システムに用いるロボット１０の一例を示す。推定システムは、この実施例では、ロボット１０に搭載した３次元測域センサ（３次元全方位レーザ距離計）を用いて、ロボット１０の自己位置や人の位置、向き、または属性の同時推定を可能とするものである。
【００２２】
ロボット１０は台車１２を含み、台車１２の下面にはロボット１０を移動させる２つの車輪１４および１つの従輪１６が設けられる。２つの車輪１４は車輪モータ８２（図２参照）によってそれぞれ独立に駆動され、台車１２すなわちロボット１０を前後左右の任意方向に動かすことができる。
【００２３】
台車１２の上には、円柱形のセンサ取り付けパネル１８が設けられ、このセンサ取り付けパネル１８には、多数の距離センサ２０が取り付けられる。これらの距離センサ２０は、たとえば赤外線や超音波などを用いてロボット１０の周囲の物体（人や障害物など）との距離を測定するものである。
【００２４】
センサ取り付けパネル１８の上には、胴体２２が直立して設けられる。また、胴体２２の前方中央上部（人の胸に相当する位置）には、上述した距離センサ２０がさらに設けられ、ロボット１０の前方の、主として人との距離を計測する。また、胴体２２には、その側面側上端部のほぼ中央から伸びる支柱２４が設けられ、支柱２４の上には、全方位レーザ距離計２６が設けられる。全方位レーザ距離計２６は、たとえば、水平を基準として上下４０°（＋３０°‐−１０°）の検知角度（垂直視野角）を有する３次元レーザ距離計である。この３次元全方位レーザ距離計（以下、単に「レーザ距離計」ということがある。）２６は、たとえば０．１秒に１回転して、およそ１００ｍまでの距離を計測する。実験では、レーザ距離計２６として、Ｖｅｌｏｄｉｎｅ社製のイメージングユニットＬｉＤＡＲ（ＨＤＬ‐３２ｅ）（商品名）を用いた。
【００２５】
なお、図示していないが、支柱２４にはさらに全方位カメラが設けられてもよい。全方位カメラは、ロボット１０の周囲を撮影するものであり、後述する眼カメラ５０とは区別される。この３全方位カメラとしては、たとえばＣＣＤやＣＭＯＳのような固体撮像素子を用いるカメラを採用することができる。
【００２６】
胴体２２の両側面上端部（人の肩に相当する位置）には、それぞれ、肩関節２８Ｒおよび肩関節２８Ｌによって、上腕３０Ｒおよび上腕３０Ｌが設けられる。図示は省略するが、肩関節２８Ｒおよび肩関節２８Ｌは、それぞれ、直交する３軸の自由度を有する。すなわち、肩関節２８Ｒは、直交する３軸のそれぞれの軸廻りにおいて上腕３０Ｒの角度を制御できる。肩関節２８Ｒの或る軸（ヨー軸）は、上腕３０Ｒの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。同様にして、肩関節２８Ｌは、直交する３軸のそれぞれの軸廻りにおいて上腕３０Ｌの角度を制御できる。肩関節２８Ｌの或る軸（ヨー軸）は、上腕３０Ｌの長手方向（または軸）に平行な軸であり、他の２軸（ピッチ軸およびロール軸）は、その軸にそれぞれ異なる方向から直交する軸である。
【００２７】
また、上腕３０Ｒおよび上腕３０Ｌのそれぞれの先端には、肘関節３２Ｒおよび肘関節３２Ｌが設けられる。図示は省略するが、肘関節３２Ｒおよび肘関節３２Ｌは、それぞれ１軸の自由度を有し、この軸（ピッチ軸）の軸回りにおいて前腕３４Ｒおよび前腕３４Ｌの角度を制御できる。
【００２８】
前腕３４Ｒおよび前腕３４Ｌのそれぞれの先端には、人の手に相当するハンド３６Ｒおよびハンド３６Ｌがそれぞれ設けられる。これらのハンド３６Ｒおよび３６Ｌは、詳細な図示は省略するが、開閉可能に構成され、それによってロボット１０は、ハンド３６Ｒおよび３６Ｌを用いて物体を把持または挟持することができる。ただし、ハンド３６Ｒ、３６Ｌの形状は実施例の形状に限らず、人の手に酷似した形状や機能を持たせるようにしてもよい。
【００２９】
また、図示は省略するが、台車１２の前面、肩関節２８Ｒと肩関節２８Ｌとを含む肩に相当する部位、上腕３０Ｒ、上腕３０Ｌ、前腕３４Ｒ、前腕３４Ｌ、ハンド３６Ｒおよびハンド３６Ｌには、それぞれ、接触センサ３８（図２で包括的に示す）が設けられる。台車１２の前面の接触センサ３８は、台車１２への人間や他の障害物の接触を検知する。したがって、ロボット１０は、その自身の移動中に障害物との接触が有ると、それを検知し、直ちに車輪１４の駆動を停止してロボット１０の移動を急停止させることができる。また、その他の接触センサ３８は、当該各部位に触れたかどうかを検知する。
【００３０】
胴体２２の中央上部（人の首に相当する位置）には首関節４０が設けられ、さらにその上には頭部４２が設けられる。図示は省略するが、首関節４０は、３軸の自由度を有し、３軸の各軸廻りに角度制御可能である。或る軸（ヨー軸）はロボット１０の真上（鉛直上向き）に向かう軸であり、他の２軸（ピッチ軸、ロール軸）は、それぞれ、それと異なる方向で直交する軸である。
【００３１】
頭部４２には、人の口に相当する位置に、スピーカ４４が設けられる。スピーカ４４は、ロボット１０が、それの周辺の人に対して音声によってコミュニケーションをとるために用いられる。また、人の耳に相当する位置には、マイク４６Ｒおよびマイク４６Ｌが設けられる。以下、右のマイク４６Ｒと左のマイク４６Ｌとをまとめてマイク４６ということがある。マイク４６は、周囲の音、とりわけコミュニケーションを実行する対象である人間の音声を取り込む。
【００３２】
さらに、人の目に相当する位置には、右の眼球部４８Ｒおよび左の眼球部４８Ｌが設けられる。右の眼球部４８Ｒおよび左の眼球部４８Ｌは、それぞれ右の眼カメラ５０Ｒおよび左の眼カメラ５０Ｌを含む。以下、右の眼球部４８Ｒと左の眼球部４８Ｌとをまとめて眼球部４８ということがある。また、右の眼カメラ５０Ｒと左の眼カメラ５０Ｌとをまとめて眼カメラ５０ということがある。
【００３３】
眼カメラ５０は、ロボット１０に接近した人の顔や他の部分ないし物体などを撮影して、それに対応する映像信号を取り込む。この実施例では、ロボット１０は、この眼カメラ５０からの映像信号によって、人の左右両目のそれぞれの視線方向（ベクトル）を検出する。
【００３４】
また、眼カメラ５０は、上述した３次元距離画像計２６と同様のカメラを用いることができる。たとえば、眼カメラ５０は、眼球部４８内に固定され、眼球部４８は、眼球支持部（図示せず）を介して頭部４２内の所定位置に取り付けられる。図示は省略するが、眼球支持部は、２軸の自由度を有し、それらの各軸廻りに角度制御可能である。たとえば、この２軸の一方は、頭部４２の上に向かう方向の軸（ヨー軸）であり、他方は、一方の軸に直交しかつ頭部４２の正面側（顔）が向く方向に直行する方向の軸（ピッチ軸）である。眼球支持部がこの２軸の各軸廻りに回転されることによって、眼球部４８ないし眼カメラ５０の先端（正面）側が変位され、カメラ軸すなわち視線方向が移動される。なお、上述のスピーカ４４、マイク４６および眼カメラ５０の設置位置は、当該部位に限定されず、適宜な位置に設けられてよい。
【００３５】
このように、この実施例のロボット１０は、車輪１４の独立２軸駆動、肩関節２８の３自由度（左右で６自由度）、肘関節３２の１自由度（左右で２自由度）、首関節４０の３自由度および眼球支持部の２自由度（左右で４自由度）の合計１７自由度を有する。
【００３６】
図２はロボット１０の電気的な構成を示すブロック図である。この図２を参照して、ロボット１０は、１つまたは２以上のコンピュータ６０を含む。コンピュータ６０は、バス６２を介して、メモリ６４、モータ制御ボード６６、センサ入力／出力ボード６８および音声入力／出力ボード７０に接続される。
【００３７】
メモリ６４は、図示は省略をするが、ＲＯＭ、ＨＤＤおよびＲＡＭを含む。ＲＯＭおよびＨＤＤには、後述のように、各種プログラムやデータが予め記憶されるとともに、コンピュータ６０のためのバッファ領域あるいはワーキング領域としても利用される。
【００３８】
モータ制御ボード６６は、たとえばＤＳＰで構成され、各腕や首関節４０および眼球部４８などの各軸モータの駆動を制御する。すなわち、モータ制御ボード６６は、コンピュータ６０からの制御データを受け、右眼球部４８Ｒの２軸のそれぞれの角度を制御する２つのモータ（図２では、まとめて「右眼球モータ７２」と示す）の回転角度を制御する。同様にして、モータ制御ボード６６は、コンピュータ６０からの制御データを受け、左眼球部４８Ｌの２軸のそれぞれの角度を制御する２つのモータ（図２では、まとめて「左眼球モータ７４」と示す）の回転角度を制御する。
【００３９】
また、モータ制御ボード６６は、コンピュータ６０からの制御データを受け、肩関節２８Ｒの直交する３軸のそれぞれの角度を制御する３つのモータと肘関節３２Ｒの角度を制御する１つのモータとの計４つのモータ（図２では、まとめて「右腕モータ７６」と示す）の回転角度を制御する。同様にして、モータ制御ボード６６は、コンピュータ６０からの制御データを受け、肩関節２８Ｌの直交する３軸のそれぞれの角度を制御する３つのモータと肘関節３２Ｌの角度を制御する１つのモータとの計４つのモータ（図２では、まとめて「左腕モータ７８」と示す）の回転角度を制御する。
【００４０】
さらに、モータ制御ボード６６は、コンピュータ６０からの制御データを受け、首関節４０の直交する３軸のそれぞれの角度を制御する３つのモータ（図２では、まとめて「頭部モータ８０」と示す）の回転角度を制御する。そして、モータ制御ボード６６は、コンピュータ６０からの制御データを受け、車輪１４を駆動する２つのモータ（図２では、まとめて「車輪モータ８２」と示す）の回転角度を制御する。
【００４１】
センサ入力／出力ボード６８は、モータ制御ボード６６と同様に、ＤＳＰで構成され、各センサからの信号を取り込んでコンピュータ６０に与える。すなわち、距離センサ２０のそれぞれからの反射時間に関するデータがこのセンサ入力／出力ボード６８を通じてコンピュータ６０に入力される。
【００４２】
３次元距離画像計２６からの距離画像信号が、必要に応じてセンサ入力／出力ボード６８で所定の処理を施してから、距離画像データとしてコンピュータ６０に入力される。
【００４３】
眼カメラ５０からの映像信号も、同様にして、コンピュータ６０に入力される。また、上述した複数の接触センサ３８（図２では、まとめて「接触センサ３８」と示す）からの信号がセンサ入力／出力ボード６８を介してコンピュータ６０に与えられる。
【００４４】
音声入力／出力ボード７０もまた、同様に、ＤＳＰで構成され、コンピュータ６０から与えられる音声合成データに従った音声または声がスピーカ４４から出力される。また、マイク４６からの音声入力が、音声入力／出力ボード７０を介してコンピュータ６０に与えられる。
【００４５】
また、コンピュータ６０は、バス６２を介して通信ＬＡＮボード８４に接続される。通信ＬＡＮボード８４は、たとえばＤＳＰで構成され、コンピュータ６０から与えられた送信データを無線通信モジュール８６に与え、無線通信モジュール８６は送信データを、ネットワークを介して遠隔操作装置（図示せず）等に送信する。また、通信ＬＡＮボード８４は、無線通信モジュール８６を介してデータを受信し、受信したデータをコンピュータ６０に与える。
【００４６】
このようなロボット１０は、たとえば図３に示す移動空間８８の出入り口８８ａの間の移動経路８８ｂに沿って移動し、たとえば商業施設のようなその移動空間８８に存在する人に対して、案内サービスなどのサービスを提供する。
【００４７】
なお、移動空間８８には、図示しないが、環境側のセンサとして、ロボット１０のものと同様の、３次元全方位レーザ距離計が複数配置されている。
【００４８】
このような移動空間８８中を移動するロボット１０は、基本的には自律移動可能であるが、ロボット１０が自律移動できなくなるなどの事態に備えて、たとえば図４に示すような遠隔操作装置９０によっても制御可能とされている。
【００４９】
図４を参照して、この実施例の遠隔制御装置９０は、移動体としてのロボット１０の動作や移動を制御するためにネットワーク９２を介して、ロボット１０と相互に通信できる。
【００５０】
遠隔操作装置９０は、コンピュータ９４を含み、このコンピュータ９４に接続された操作卓９６に設けられる操作キーやジョイスティック（図示せず）をオペレータが操作することによって、その操作入力に応じて、コンピュータ９４がロボット１０の車輪１４すなわちロボット１０の移動を制御することができる。
【００５１】
コンピュータ９４にはメモリ９８が連結されるとともに、表示器１０が接続される。メモリ９８は、ロボット制御のためのプログラム、移動空間８８（図３）の２次元地図データや３次元地図データ等の必要なデータを記憶する。表示器１００は、ロボット１０の移動を安全に行うために、ロボット１０の移動状態や全方位カメラ（図示せず）で撮影した画像を表示して、オペレータに見せる。
【００５２】
コンピュータ９４には、無線通信モジュール１０２が付属され、コンピュータ９４はネットワーク９２を経由して、ロボット１０の無線通信モジュール８６（図２）を通して、コンピュータ６０と無線通信を行うことができる。
【００５３】
ここで、図１のロボット１０のコンピュータ６０のメモリ６４は、たとえば図５に示すように、プログラム記憶領域１０４およびデータ記憶領域１０６を含む。
【００５４】
プログラム記憶領域１０４には、ＯＳなどの必要なプログラムの他、ロボット１０の移動を制御するための移動制御プログラム１０８および後に詳細に説明する推定プログラム１１０などが予め設定されている。この推定プログラム１１０は、移動空間８８内を移動する人の特徴を推定するもので、そのためにディープニューラルネットワーク（たとえば、畳み込みニューラルネットワーク）を含む。
【００５５】
データ記憶領域１０６は、レーザ距離計２６（図１、図２）から得られる３次元距離画像データ（データセット）を一時的に記憶するための３次元距離画像データ記憶領域１１２、および遠隔操作装置９０のメモリ９８から取得した、移動空間８８の３次元地図（３次元環境地図）のデータを記憶する３次元地図データ記憶領域１１４を含む。
【００５６】
データ記憶領域１０６にはさらに、推定プログラム１１０に従った処理過程で得られる後述の移動物体の３次元点群のデータを記憶する３次元点群データ記憶領域１１６および移動物体の２次元距離画像データを記憶する２次元距離画像データ記憶領域１１８が形成される。
【００５７】
このようなロボット１０は、たとえば図３に示すような場所において移動されながら、レーザ距離計２８によってスキャンデータを取得する。図６に例示する場所は発明者等が推定システムの実験のために利用した商業施設の２階の一部である。実験では、ロボット１０は、１回の走行において、商業施設のこの場所を約２５分かけて約５３０ｍ移動し、およそ１億８２００万の点群の位置データ（データセット）を出力する。
【００５８】
図７がレーザ距離計２８で取得した代表的な３次元スキャンデータ１２０を示し、この図７の中の円弧状の線が、レーザ距離計２８がスキャンしている様子を模式的に示す。図７に示すように、スキャンデータは、壁や床などのような静的オブジェクトだけでなく、人間のような動的オブジェクトからのデータを含む。他方、図７ではわからないが、実際のスキャンデータでは、高さ方向に色付けされていて、低い位置が赤色で、高い位置が青色でそれぞれ表現され、３次元距離画像としてロボット１０のメモリ８４の３次元距離画像データ記憶領域１１２（図５）に記憶される。
【００５９】
図８に示すステップＳ１では、このような３次元距離画像データとメモリ６４の３次元地図データ記憶領域１１４に予め記憶されている３次元環境地図データとを用いて、まず、自己位置を同定する。具体的には、３次元環境地図において固定物（静止物体）として記録されている壁（図７のスキャンデータ１２２において「１２４」で示す）などの位置とロボット１０の位置との距離を（３角測量の原理で）計算することによって、ロボット１０の現在位置（座標位置）が特定できる。
【００６０】
ただし、このステップＳ１でのロボット１０の現在位置の特定のための計算は、移動空間８８（図３）に分散配置されている複数の３次元全方位レーザ距離計（図示せず）を利用して計算することもできる。
【００６１】
そして、ロボット１０の現在位置を特定した後、ロボット１０の３次元全方位レーザ距離計２６から得られた３次元距離画像データと３次元環境地図データと比較することによって、地図に記録されていない次元距離画像データを抽出することができる。これによって抽出される物体は、移動空間内における移動可能な物体（人や移動できるもの）である。なぜなら、３次元環境地図に載っているものは壁などの固定物であるので、その３次元環境地図に入っていないものは一時的な移動物体である。
【００６２】
このような移動物体を示す３次元距離画像データを、背景技術で挙げた特許第５９５３４８４号に示すような方法でクラスタリングする（ステップＳ３）ことによって、図９に示すような移動物体の３次元点群に分けることができる。
【００６３】
１つの考え方として、このような３次元点群をニューラルネットワーク等の推定アルゴリズムの入力に使い、出力はそれぞれの点群に相当する物体の特徴（人かどうか、性別、その瞬間の体の向き、等）を使うことが考えられる。点群と特徴のデータが十分あればニューラルネットワークの学習ができる。たとえば、性のわかる人のスキャンを多く集めれば、性別の学習データに使える。ただし、学習データはシミュレータでも作ることができる。
【００６４】
しかしながら、この実施例においては、３次元点群を直接ニューラルネットワークに投入しない。
【００６５】
まず、ステップＳ５において、投影を使って図１０に示すような２次元の距離画像を作る。
【００６６】
具体的には、図１１に示すように、３次元距離計２６から延びる線に対して垂直な四角い面を投影面として使う。ただし、投影面の幅と高さは任意である（たとえば、１ｍ×２ｍ）。そして、投影面のＸ軸の中心を点群の中心に合わせる（物体の画像が真中になるようにする。）。投影面の３次元距離計２６からの距離も点群の平均距離と同じにする。３次元距離計２６から見ればおよそ半分の点が面の前、半分が面の後ろになる。ただし、投影面のＹ軸の位置はあまり厳密に考えなくてもよいが、好ましくは、比較できるようにすべての点群に同じＹ軸の位置を使う。たとえば、人の頭が入るように投影面の一番高いところが２ｍにあるようにする。次いで、投影面のピクセルのグリッドに分ける（ピクセルの幅も高さも一定である）。
【００６７】
このようにして、３次元点群のすべての点を投影面に投影する。そして、あるピクセルに入ったすべての点の面からの平均距離を計算することによって、そのピクセルの値を決める。たとえば、平均距離０ｍは０．５、レーザ距離計２６の方向に０．５ｍは「０」、逆方向に０．５ｍは「１」とする。ただし、１つの点も入らなかったピクセルの値は０（ゼロ）になる。
【００６８】
このような手法で３次元点群を投影した２次元距離画像の一例が図１０に示される。
【００６９】
その後、ステップＳ７で、畳み込みニューラルネットワークを使う。このときの畳み込みニューラルネットワークへの入力は、ステップＳ５で作成した２次元距離画像であり、通常のカメラの入力に使う畳み込みニューラルネットワークでよく、畳み込みニューラルネットワークの構成が複雑になるのを回避できる。
【００７０】
そして、２次元距離画像を投入した畳み込みニューラルネットワークは、人と物とを識別するとともに、人の特徴、たとえば体の向き、性別などを抽出することができる。
【００７１】
上述のようにこの実施例においてはディープニューラルネットワーク（ＤＮＮ）など最新の機械学習手法を使用することで、このプロセスの正確性やロバスト性を上げることが可能となる。人と物を区別すると同時に、誤検出を減らし、人の位置だけでなく、その他の様々な特徴が推定できる。さらに、この特徴推定結果をフィードバックとして使えば、人の検出精度を向上させることができる。また、人の追跡結果を使えばロボットの自己位置推定のロバスト性を上げることが可能になる。
【００７２】
また、従来の３次元測域センサ（３次元全方位レーザ距離計）の人検出システムでは一般的に移動している物体はすべて人だという概念を使っていたが、これは必ずしも正しくない。特に移動しているロボットの場合自己位置推定の誤差によって環境の一部が移動物体だと判断を間違える可能性が高い。これに対して実施例のように、ロボット１０の現在位置を特定した後に、３次元環境地図にのっていない物体の３次元距離画像を抽出することにより、環境（固定物）の一部を移動物体として誤認識することが可及的抑制される。しかも、ディープラーニング等の手法により、３次元の移動物体の形から人か物か検出する認識プログラムが実現可能となり、物を無視し、人だけの検出および追跡を行うことができる。
【００７３】
さらに、従来の方法では、３次元測域センサの３次元距離画像データから人の特徴検出は困難であったが、上記と同じように、ディープラーニング等の機械学習手法を用いて、３次元測域センサに写っている人の３次元距離画像データから体の向きを推定できる。また、人とセンサの距離が十分近い場合、顔の向きの推定も可能である。さらに、向きだけでなく、人のその他の特徴を推定することも可能である。たとえば、性別の識別、または身長、荷物の有無、ヘアスタイル、服のタイプ（たとえばスカートかズボン）の同定ができる。ただし、これらの推定精度は３次元測域センサの解像度や人からの距離などに依存する。
【００７４】
人追跡システムにおいては、ある人を追跡している間に周りの人や物が妨げになり、見えなくなることがあるので、再び検出したときに同じ人かどうかを判断する必要がある。従来の３次元のデータを用いた人検出アルゴリズムでは人の特徴は使えなかったのでこの再認識の段階が困難であったが、上記の特徴同定の結果を使うことにより、同一人物なのかの判断がより正確になる。その結果、人の検出や追跡のロバスト性が上がり、その精度が向上する。
【００７５】
従来の方法ではロボットが環境の中の特徴を検出して自己位置推定を行うのが一般的なアプローチである。これは人がいないまたは少ない場所では安定して使えるが、ロボットの周りに人が多い場合、センサの妨げになり、検出できる環境の特徴の数が減るので、自己位置推定も困難で不安定になることがある。これは特にサービスロボットの場合よく見られる現象である。一方、環境の特徴だけでなく、上述の実施例でのような人の検出と再認識結果を自己位置推定に使うようにすれば、ロボット１０の自己位置推定の安定性は上がる。
【００７６】
なお、上述の実施例では、実施例が解決すべき問題に好適するという考えでディープニューラルネットワーク（ＤＮＮ）として畳み込みニューラルネットワークを用いたが、それ以外のディープニューラルネットワークを採用してもよい。
【００７７】
さらに、上述の実施例では図８の全てのステップをロボット１０のコンピュータ６０（図２）が実行するものとして説明した。しかしながら、図４に示す遠隔操作装置９０のコンピュータ９４が全てまたは一部のステップを実行するようにしてもよい。いずれの場合も、人推定システムを構成したものである。
【符号の説明】
【００７８】
１０  …ロボット
２６  …３次元全方位レーザ距離計
６０、９４  …コンピュータ
６４、９８  …メモリ
【図１】
2018173707.tif 000003
【図２】
2018173707.tif 000004
【図３】
2018173707.tif 000005
【図４】
2018173707.tif 000006
【図５】
2018173707.tif 000007
【図６】
2018173707.tif 000008
【図７】
2018173707.tif 000009
【図８】
2018173707.tif 000010
【図９】
2018173707.tif 000011
【図１０】
2018173707.tif 000012
【図１１】
2018173707.tif 000013