(57)【要約】【課題】より高精度に測定対象物が床面か否かを判断することができる床面判断方法を提供する。【解決手段】距離センサ１０１と、距離センサ１０１が取得した距離情報に基づいて床面を検出する制御部１０３と、を備える移動体１００の床面判断方法であって、移動体１００は、ＲＧＢセンサ１０２を更に備え、制御部１０３が、距離情報に基づいて床面推定領域Ｒ１を推定し、ＲＧＢセンサ１０２が取得した床面推定領域Ｒ１内のＲＧＢ情報に基づいて床面推定領域Ｒ１内の面Ｒ２、Ｒ３、Ｒ４が床面か床面以外かを判断する。【選択図】図１
2018124177.tif 000002
【特許請求の範囲】
【請求項１】
距離センサと、
前記距離センサが取得した距離情報に基づいて床面を検出する制御部と、
を備える移動体の床面判断方法であって、
前記移動体は、ＲＧＢセンサを更に備え、
前記制御部が、前記距離情報に基づいて床面推定領域を推定し、前記ＲＧＢセンサが取得した前記床面推定領域内のＲＧＢ情報に基づいて前記床面推定領域内の面が床面か床面以外かを判断する、床面判断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、床面判断方法に関する。
【背景技術】
【０００２】
特許文献１には、赤外光（レーザ光）を測定対象物に照射し、その反射光を受光するまでの時間に基づいて測定対象物までの距離を計算する距離画像センサを備える移動ロボットが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１６８７５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の移動ロボットでは、距離画像センサが取得した距離画像に基づいて測定対象物が床面か障害物かを判断している。しかし、床面上に紙等の厚みの薄い物体や凹凸の小さい物体がある場合、当該距離画像の情報に基づいて紙等の厚みの薄い物体や凹凸の小さい物体の有無を確認することが難しかった。
【０００５】
本発明は、このような問題を解決するためになされたものであり、より高精度に床面か否かを判断することができる床面判断方法を提供することを目的とするものである。
【課題を解決するための手段】
【０００６】
本発明に係る床面判断方法は、距離センサと、前記距離センサが取得した距離情報に基づいて床面を検出する制御部と、を備える移動体の床面判断方法である。また、前記移動体は、ＲＧＢセンサを更に備える。そして、前記床面判断方法において、前記制御部は、前記距離情報に基づいて床面推定領域を推定し、前記ＲＧＢセンサが取得した前記床面推定領域内のＲＧＢ情報に基づいて前記床面推定領域内の面が床面か床面以外かを判断する。
【発明の効果】
【０００７】
本発明に係る床面判断方法によれば、制御部が、距離センサが取得した距離情報に基づいて推定した床面推定領域について、ＲＧＢセンサが取得したＲＧＢ情報に基づいて、当該床面推定領域内の面が床面か否かを判断する。そのため、距離センサが取得した距離情報では床面か否かの判断が難しい物体についても、ＲＧＢ情報に基づいて床面か否かを判断することができる。一方、ＲＧＢ情報に基づく床面検出に比べて精度が高い距離情報に基づく床面検出も行うため、床面検出を高精度に行うことができる。これにより、より高精度に測定対象物が床面か否かを判断することができる床面判断方法を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態１に係る移動体の構成を示すブロック図である。
【図２】本発明の実施の形態１に係る床面判断方法を示すフローチャートである。
【図３】本発明の実施の形態１に係る床面判断方法を説明する図である。
【図４】本発明の実施の形態１に係る物体情報データベースの一例を示す図である。
【発明を実施するための形態】
【０００９】
実施の形態１
以下、図面を参照して本発明の実施の形態について説明する。図１は、本発明の実施の形態１に係る移動体の構成を示すブロック図である。また、図２は、実施の形態１に係る床面判断方法を示すフローチャートである。また、図３は、実施の形態１に係る床面判断方法を説明する図である。また、図４は、実施の形態１に係る物体情報データベース１０３Ｄの一例を示す図である。
【００１０】
実施の形態１に係る移動体１００は、図１に示すように、距離センサ１０１、ＲＧＢセンサ１０２、制御部１０３を備える。制御部１０３は、第１の領域検出部１０３Ａ、第２の領域検出部１０３Ｂ、物体認識部１０３Ｃ、物体情報データベース１０３Ｄ等を備える。
【００１１】
距離センサ１０１は、ステレオカメラ、ＲＧＢ−Ｄ（Ｒｅｄ、Ｇｒｅｅｎ、Ｂｌｕｅ−Ｄｅｐｔｈ）カメラ、レーザーレンジファインダ等の深度センサであり、距離センサ１０１と測定対象物との距離に関する情報である距離情報を取得する。距離センサ１０１は、取得した距離情報を制御部１０３の第１の領域検出部１０３Ａに入力する。
【００１２】
ＲＧＢセンサ１０２は、単眼カメラ、ステレオカメラ、ＲＧＢ−Ｄカメラ等であり、測定対象物のＲＧＢ情報を取得する。ＲＧＢセンサ１０２は、取得したＲＧＢ情報を制御部１０３の第２の領域検出部１０３Ｂ及び物体認識部１０３Ｃに入力する。
【００１３】
制御部１０３は、図示しないＣＰＵ及び図示しない記憶部等を備える。そして、ＣＰＵが記憶部に格納されたプログラムを実行することにより、制御部１０３における全ての処理が実現する。
また、制御部１０３のそれぞれの記憶部に格納されるプログラムは、ＣＰＵに実行されることにより、制御部１０３のそれぞれにおける処理を実現するためのコードを含む。なお、記憶部は、例えば、このプログラムや、制御部１０３における処理に利用される各種情報を格納することができる任意の記憶装置を含んで構成される。記憶装置は、例えば、メモリ等である。
【００１４】
具体的には、ＣＰＵが記憶部に格納されたプログラムを実行することによって、制御部１０３は、第１の領域検出部１０３Ａ、第２の領域検出部１０３Ｂ、物体認識部１０３Ｃとして機能する。また、記憶部には、物体情報データベース１０３Ｄ等が格納されている。
【００１５】
第１の領域検出部１０３Ａは、距離センサ１０１が取得した距離情報に基づいて床面を検出する。
具体的には、第１の領域検出部１０３Ａは、ＲＡＮＳＡＣ（Ｒａｍｄｏｍ  Ｓａｍｐｌｅ  Ｃｏｎｓｅｎｓｕｓ）法等を用いて、距離センサ１０１が取得した距離情報である距離画像から平面である領域（以下、「平面領域」と称する。）を推定する。そして、第１の領域検出部１０３Ａは、移動体１００の姿勢及び距離センサ１０１の姿勢に関する情報に基づいて、距離画像から推定した平面領域のうち、床面と推定される位置に位置する平面領域を床面推定領域Ｒ１（図３参照）とする。なお、移動体１００は、図示しない姿勢センサ等を備え、当該姿勢センサが検出した移動体１００の姿勢及び距離センサ１０１の姿勢は、第１の領域検出部１０３Ａに入力される。
【００１６】
第２の領域検出部１０３Ｂは、ＲＧＢセンサ１０２が取得したＲＧＢ情報に基づいて、第１の領域検出部１０３Ａが推定した床面推定領域Ｒ１を、床面である床面領域Ｒ２と、床面以外の領域Ｒ３、Ｒ４に分ける（図３参照）。
具体的には、第２の領域検出部１０３Ｂは、ｃａｎｎｙ法等を用いて、ＲＧＢ情報であるＲＧＢ画像からエッジを検出することにより、ＲＧＢ画像を複数の領域に分ける。そして、第２の領域検出部１０３Ｂは、当該複数の領域のうち、面積が最も大きい領域を床面領域Ｒ２とし、それ以外の領域を床面以外の領域Ｒ３、Ｒ４とする。
あるいは、第２の領域検出部１０３Ｂは、Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ等のニューラルネットワークを用いて、セマンティックセグメンテーションを行う。より具体的には、第２の領域検出部１０３Ｂは、床面のラベル及び床面以外のラベルの２種類のラベルを用いて学習させたニューラルネットワーク（モデル）に、ＲＧＢセンサ１０２によって得られたＲＧＢ画像の各画素のＲＧＢ値を入力し、入力した画素のＲＧＢ値が床面のＲＧＢ値か床面以外のＲＧＢ値かを判定させる。そして、第２の領域検出部１０３Ｂは、当該ニューラルネットワークから出力された判定結果に基づいて、セマンティックセグメンテーションを実行する。なお、床面のラベルとは床面のＲＧＢ値であり、床面以外のラベルとは床面以外のＲＧＢ値である。また、セマンティックセグメンテーションとは、ＲＧＢ画像の各画素のＲＧＢ値が床面のＲＧＢ値であるか床面以外のＲＧＢ値であるかについての判定結果に基づいて、床面を示す画素の集まりを床面として検出する処理を意味する。
【００１７】
物体認識部１０３Ｃは、第２の領域検出部１０３Ｂによって床面推定領域Ｒ１において床面以外の領域Ｒ３、Ｒ４が検出された場合に、ＲＧＢセンサ１０２が取得したＲＧＢ情報に基づいて、当該床面以外の領域Ｒ３、Ｒ４に対して物体認識処理を行う。ここで、物体認識処理とは、当該床面以外の領域Ｒ３、Ｒ４がどのような物体を示す領域であるかを判定することを意味する。そして、物体認識部１０３Ｃは、当該床面以外の領域Ｒ３、Ｒ４がどのような物体を示す領域であるかを判定した後、後述する物体情報データベース１０３Ｄを参照して、当該床面以外の領域Ｒ３、Ｒ４の上を移動体１００が走行可能か否かを判定する。
具体的には、物体認識部１０３Ｃは、ＦＡＳＴ（Ｆｅａｔｕｒｅｓ  ｆｒｏｍ  Ａｃｃｅｌｅｒａｔｅｄ  Ｓｅｇｍｅｎｔ  Ｔｅｓｔ）等の特徴点検出アルゴリズムを用いて当該床面以外の領域Ｒ３、Ｒ４から特徴点を検出し、検出した特徴点に対してＳＩＦＴ特徴量等の特徴量を算出し、算出した特徴量と様々な物体の特徴量とを比較する。そして、物体認識部１０３Ｃは、床面以外の領域Ｒ３、Ｒ４が当該床面以外の領域Ｒ３、Ｒ４の特徴量と最も類似する特徴量を有するテンプレート画像の物体を示す領域であると判定する。なお、テンプレート画像においてもＦＡＳＴ等の特徴点検出アルゴリズムを用いて特徴点を抽出し、抽出した特徴点に対してＳＩＦＴ特徴量等の特徴量を算出しておく。算出したテンプレート画像の特徴量は、後述の物体情報データベース１０３Ｄに、当該テンプレート画像の物体の一般名称と（物体情報データベース１０３Ｄに特定名称が格納されている場合には特定名称と）対応付けられて、格納されていてもよい。
あるいは、物体認識部１０３Ｃは、Ｄｅｅｐ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ等のニューラルネットワークを用いて、当該床面以外の領域Ｒ３、Ｒ４に対して物体認識処理を行う。より具体的には、物体認識部１０３Ｃは、様々な物体のラベル（ＲＧＢ画像又はＲＧＢ値）を用いて学習させたニューラルネットワーク（モデル）に、当該床面以外の領域Ｒ３、Ｒ４のＲＧＢ画像（ＲＧＢ値）を入力し、当該床面以外の領域Ｒ３、Ｒ４のＲＧＢ画像（ＲＧＢ値）と最も類似するＲＧＢ画像（ＲＧＢ値）を有する物体を抽出させ、当該床面以外の領域Ｒ３、Ｒ４は抽出された物体を示す領域であると判定する。実際には、当該ニューラルネットワークは、床面以外の領域Ｒ３、Ｒ４のＲＧＢ画像（ＲＧＢ値）と様々な物体のラベル（ＲＧＢ画像又はＲＧＢ値）との類似度を、床面以外の領域Ｒ３、Ｒ４が当該物体である確率値として出力する。そして、物体認識部１０３Ｃは、当該ニューラルネットワークが出力した確率値に基づいて、当該床面以外の領域Ｒ３、Ｒ４が何れの物体を示す領域であるかを判定する。
【００１８】
物体情報データベース１０３Ｄは、図４に示すように、様々な物体の一般名称１０４Ａ及び特定名称１０４Ｂと、当該物体の上を移動体１００が走行可能か否か（走行可否１０４Ｃ）とを、対応付けて格納している。ここで、一般名称とは、「紙」、「ビニール」、「テープ」、「カーペット」、「文房具」、「コンセントケーブル」、「カード」、「ショルダーストラップ」等の物体の一般的な呼称である。一方、特定名称とは、例えば、一般名称が「ショルダーストラップ」である物体のうち、「タイプ１」、「タイプ２」、「タイプ３」のように、大きさや厚み等でより詳細に当該物体を特定する名称である。また、本明細書において、一般名称で表される物体を一般物体と称し、特定名称で表される物体を特定物体と称する。なお、物体情報データベース１０３Ｄにおいて、一般名称に対して特定名称が規定されていなくてもよい。この場合には、物体認識部１０３Ｃは、床面以外の領域Ｒ３、Ｒ４について、一般物体を示す領域か否かについて判定するが、特定物体を示す領域か否かについては判定しなくてもよい。すなわち、この場合には、図３に示すフローチャートにおいて、ステップＳ１０６及びステップＳ１０７の処理は省略されてもよい。
また、物体情報データベース１０３Ｄは、様々な物体の一般名称又は特定名称と、当該物体のＲＧＢ画像又はＲＧＢ値や当該物体のテンプレート画像のＳＩＦＴ特徴量等と、当該物体上を移動体１００が走行可能か否かとを対応付けて格納していてもよい。
【００１９】
次に、図２を参照しながら、本実施の形態１に係る床面判断方法について説明する。
まず、第１の領域検出部１０３Ａは、距離センサ１０１が取得した距離情報と、移動体１００の姿勢及び距離センサ１０１の姿勢に関する情報とに基づいて床面推定領域Ｒ１（図３参照）を検出し、当該床面推定領域Ｒ１についての情報を第２の領域検出部１０３Ｂに入力する（ステップＳ１０１）。
【００２０】
次に、第２の領域検出部１０３Ｂは、ＲＧＢセンサ１０２が取得したＲＧＢ情報に基づいて、ステップＳ１０１において第１の領域検出部１０３Ａが推定した床面推定領域Ｒ１から、床面である床面領域Ｒ２（図３参照）と、床面以外の領域Ｒ３、Ｒ４（図３参照）とを検出し、検出した床面領域Ｒ２及び床面以外の領域Ｒ３、Ｒ４についての情報を物体認識部１０３Ｃに入力する（ステップＳ１０２）。
【００２１】
次に、物体認識部１０３Ｃは、ステップＳ１０２において床面以外の領域Ｒ３、Ｒ４が検出されたか否かを判断する（ステップＳ１０３）。
ステップＳ１０３において、物体認識部１０３Ｃが、ステップＳ１０２において床面以外の領域Ｒ３、Ｒ４が検出されなかったと判断した場合（ステップＳ１０３；Ｎｏ）、本床面判断方法の処理は、ステップＳ１０８に進む。そして、ステップＳ１０８において、物体認識部１０３Ｃは、当該床面推定領域Ｒ１を走行可能領域（図２の走行領域）と判定して（ステップＳ１０８）、本床面判断方法の処理を終了する。
ステップＳ１０３において、物体認識部１０３Ｃが、ステップＳ１０２において床面以外の領域Ｒ３、Ｒ４が検出されたと判断した場合（ステップＳ１０３；Ｙｅｓ）、物体認識部１０３Ｃは、当該床面以外の領域Ｒ３、Ｒ４がどの一般物体を示す領域か否かを判定する（ステップＳ１０４）。
【００２２】
次に、物体認識部１０３Ｃは、ステップＳ１０４において判定した床面以外の領域Ｒ３、Ｒ４が示す一般物体の一般名称に基づいて物体情報データベース１０３Ｄを参照して、当該一般物体の上を移動体１００が走行可能か否か判断する（ステップＳ１０５）。具体的には、例えば、床面以外の領域Ｒ３、Ｒ４が示す一般物体の一般名称が図４に示す物体情報データベース１０３Ｄの一般名称１０４Ａの「紙」である場合、当該一般名称１０４Ａの「紙」に対応付けられている走行可否１０４Ｃは「走行可能」であるため、物体認識部１０３Ｃは、当該一般物体「紙」の上を移動体１００が走行可能と判断する。また、例えば、床面以外の領域Ｒ３、Ｒ４が示す一般物体の一般名称が図４に示す物体情報データベース１０３Ｄの一般名称１０４Ａの「カード」である場合、当該一般名称１０４Ａの「カード」に対応付けられている走行可否１０４Ｃは「走行不可能」であるため、物体認識部１０３Ｃは、当該一般物体「カード」の上を移動体１００が走行不可能と判断する。同時に、ステップＳ１０５において、物体認識部１０３Ｃは、ステップＳ１０４において判定した床面以外の領域Ｒ３、Ｒ４が示す一般物体の一般名称に基づいて物体情報データベース１０３Ｄを参照して、当該一般物体について特定物体の情報（例えば、特定名称）が格納されているか否かも判断する（ステップＳ１０５）。具体的には、例えば、床面以外の領域Ｒ３、Ｒ４が示す一般物体の一般名称が図４に示す物体情報データベース１０３Ｄの一般名称１０４Ａの「ショルダーストラップ」である場合、物体情報データベース１０３Ｄには当該一般名称１０４Ａの「ショルダーストラップ」に対応付けられて特定名称１０４Ｂとして「タイプ１」、「タイプ２」、「タイプ３」が格納されているため、物体認識部１０３Ｃは、当該一般物体「ショルダーストラップ」について物体情報データベース１０３Ｄに特定物体の情報が格納されていると判断する。
ステップＳ１０５において、物体認識部１０３Ｃが、当該一般物体の上を移動体１００が走行可能と判断した場合（ステップＳ１０５；Ｙｅｓ）、本床面判断方法の処理は、ステップＳ１０８に進む。そして、ステップＳ１０８において、物体認識部１０３Ｃは、当該床面以外の領域Ｒ３、Ｒ４を走行可能領域（図２の走行領域）と判定して（ステップＳ１０８）、本床面判断方法の処理を終了する。
ステップＳ１０５において、物体認識部１０３Ｃが、当該一般物体の上を移動体１００が走行不可能と判断した場合（ステップＳ１０５；Ｎｏ１）、本床面判断方法の処理は、ステップＳ１０９に進む。そして、ステップＳ１０９において、物体認識部１０３Ｃは、当該床面以外の領域Ｒ３、Ｒ４を走行不可能領域（図２の障害物領域）と判定して（ステップＳ１０９）、本床面判断方法の処理を終了する。なお、ステップＳ１０４において、物体認識部１０３Ｃが、床面以外の領域Ｒ３、Ｒ４がどの一般物体を示す領域か否かを判定できなかった場合にも、物体認識部１０３Ｃは、当該一般物体の上を移動体１００が走行不可能と判断し（ステップＳ１０５；Ｎｏ１）、本床面判断方法の処理は、ステップＳ１０９に進む。
ステップＳ１０５において、物体認識部１０３Ｃが、当該一般物体について物体情報データベース１０３Ｄに特定物体の情報が格納されていると判断した場合（ステップＳ０１５；Ｎｏ２）、物体認識部１０３Ｃは、当該一般物体がどの特定物体を示す領域か否かを判定する（ステップＳ１０６）。
【００２３】
次に、物体認識部１０３Ｃは、ステップＳ１０６において判定した床面以外の領域Ｒ３、Ｒ４が示す特定物体の特定名称に基づいて物体情報データベース１０３Ｄを参照して、当該特定物体の上を移動体１００が走行可能か否か判断する（ステップＳ１０７）。
ステップＳ１０７において、物体認識部１０３が、当該特定物体の上を移動体１００が走行可能と判断した場合（ステップＳ１０７；Ｙｅｓ）、物体認識部１０３は、当該床面以外の領域Ｒ３、Ｒ４を走行可能領域（図２の走行領域）と判定して（ステップＳ１０８）、本床面判断方法の処理を終了する。具体的には、例えば、床面以外の領域Ｒ３、Ｒ４が示す特定物体の特定名称が図４に示す物体情報データベース１０３Ｄの特定名称１０４Ｂの「タイプ３」である場合、当該特定名称１０４Ｂの「タイプ３」に対応付けられている走行可否１０４Ｃは「走行可能」であるため、物体認識部１０３Ｃは、当該特定物体「タイプ３」の上を移動体１００が走行可能と判断する。
ステップＳ１０７において、物体認識部１０３が、当該特定物体の上を移動体１００が走行不可能と判断した場合（ステップＳ１０７；Ｎｏ）、物体認識部１０３は、当該床面以外の領域Ｒ３、Ｒ４を走行不可能領域（図２の障害物領域）と判定して（ステップＳ１０９）、本床面判断方法の処理を終了する。具体的には、例えば、床面以外の領域Ｒ３、Ｒ４が示す特定物体の特定名称が図４に示す物体情報データベース１０３Ｄの特定名称１０４Ｂの「タイプ１」である場合、当該特定名称１０４Ｂの「タイプ１」に対応付けられている走行可否１０４Ｃは「走行不可能」であるため、物体認識部１０３Ｃは、当該特定物体「タイプ１」の上を移動体１００が走行不可能と判断する。
【００２４】
以上に説明した、実施の形態１に係る床面判断方法によれば、制御部１０３の第１の領域検出部１０３Ａが、距離センサ１０１が取得した距離情報に基づいて床面推定領域Ｒ１を推定し、制御部１０３の第２の領域検出部１０３Ｂ及び物体認識部１０３Ｃが、当該床面推定領域Ｒ１について、ＲＧＢセンサ１０２が取得したＲＧＢ情報に基づいて、当該床面推定領域Ｒ１内の面が床面か否かを判断する。そのため、距離センサ１０１が取得した距離情報では床面か否かの判断が難しい物体についても、ＲＧＢセンサ１０２が取得したＲＧＢ情報に基づいて床面か否かを判断することができる。一方、ＲＧＢ情報に基づく床面検出に比べて精度が高い距離情報に基づく床面検出も行うため、床面検出を高精度に行うことができる。これにより、より高精度に測定対象物が床面か否かを判断することができる床面判断方法を提供することができる。
【００２５】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、実施の形態１において、ＲＧＢセンサ１０２によるＲＧＢ情報の取得は、第１の領域検出部１０３Ａによる床面推定領域Ｒ１の推定処理の前に行われてもよいし、当該推定処理の後に行われてもよい。
【符号の説明】
【００２６】
１００  移動体
１０１  距離センサ
１０２  ＲＧＢセンサ
１０３  制御部
１０３Ａ  第１の領域検出部
１０３Ｂ  第２の領域検出部
１０３Ｃ  物体認識部
１０３Ｄ  物体情報データベース
１０４Ａ  一般名称
１０４Ｂ  特定名称
１０４Ｃ  走行可否
Ｒ１  床面推定領域
Ｒ２  床面領域
Ｒ３、Ｒ４  床面以外の領域
【図１】
2018124177.tif 000003
【図２】
2018124177.tif 000004
【図３】
2018124177.tif 000005
【図４】
2018124177.tif 000006