(57)【要約】【課題】  室内空間において、カメラで撮像した画像から移動ロボット位置及情報をリアルタイムで求められるシステム及び方法を提供する【解決手段】画像収集部２０は天井に配置されるカメラ１０から室内の画像を取得し、ロボット検出部３０では、事前に学習したモジュール３１とＨＳＶパラメータ３２を利用し画像からロボットを検出し、ロボットピクセル位置を測定する。平面位置推定部４０では、ロボットピクセル位置に基づき、透視変換マトリックス４１を使い、ロボットの水平位置を推定する。通信部５０は測定したリアタイム位置をロボットに伝える。【選択図】図１
2018014064.tif 000002
【特許請求の範囲】
【請求項１】
カメラと、このカメラの画像を収集する画像収集部と、この画像収集部が収集した前記のカメラの画像からロボットのピクセル位置を検出するロボット検出部と、このロボット検出部が検出した前記のロボットのピクセル位置に基づきロボットの水平位置を推定する平面位置推定部と、この平面位置推定部が推定した前記のロボットの水平位置を前記のロボットに通信する通信部を備えることを特徴とするロボット位置測定システム。
【請求項２】
前記ロボット検出部は、事前に学習した前記ロボットのパッタン認識モデルとＨＳＶ色空間の共同作用で、前記のカメラ画像から前記のロボットのピクセル位置を検出することを特徴とする請求項１に記載のロボット位置測定システム。
【請求項３】
前記のＨＳＶ色空間で検出した前記のロボットのピクセル位置の確信度はカルマンフィルターアルゴリズムで算出し、確信度が閾値以上の場合は受け入れ、確信度が閾値以下の場合は拒否することを特徴とする請求項１に記載のロボット位置測定システム。
【請求項４】
前記のロボットのピクセル位置は、前記の事前学習モデルあるいは前記のＨＳＶ色空間で算出した前記のロボットのウインドウ画像の中心点であることを特徴とする請求項１に記載のロボット位置測定システム。
【請求項５】
前記の平面位置推定部は、前記のロボットのピクセル位置に基づき、透視変換マトリックスを使い、前記のロボットの水平位置を推定すること特徴とする請求項１に記載のロボット位置測定システム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、カメラより取得した室内の画像から自走式ロボットを検出し、自走式ロボットの水平位置を測定する方法に関する。
【背景技術】
【０００２】  近年、室内での生活支援における自走式ロボットの活用が検討されている。このようなロボットが自律的に室内で移動するためには、ロボットの位置を測定する機能が必要とされる。【０００３】  十数年前より室内向け自走式ロボットの位置測定機能は重要項目として研究されてきた。位置測定機能の従来方法の一つは、室内の静的な物、例えばドア、窓、家具などを、ランドマークとして予め登録し、ランドマークの特徴情報と、室内にて測定された位置情報とを連結しロボットに登録しておく。次にロボットは移動中に、ロボットのカメラで撮った画像中に検知されたランドマークの位置情報と、ロボットに配置された距離測定装置で測定するランドマークの相対位置を用い、ロボットの現在位置を算出する。（例えは、特許文献１と特許文献２）。【０００４】  もう一つの従来の方法は、特許文献３によると、ロボットに移動反射部材と回転装置を配置し、回転装置にレーザ距離計装置を搭載し、室内空間の周辺の所定位置に反射部材を配置する。ロボットは移動する為、ロボットに搭載されたレーザ距離計は（回転装置の回転軸から）レーザを照射し、固定反射部材と移動反射部材がレーザを反射する。レーザ距離計は反射されたレーザを受光し、角度と距離を計算し、ロボットの現在位置と向き方向を算出する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開  ２００６−１７２０１６
【特許文献２】特開  ２０１２−３４０１
【特許文献３】特開  ２０１３−１４００８３
【発明の概要】
【発明が解決しようとする課題】
【０００６】  上記の位置測定方法は、作動環境の変化や障害物などの影響を受けやすいという欠点がある。例えば、窓や家具などが移動されたり、人の動きによりランドマークや反射部材がブロックされたりすると、ロボットの位置測定が困難になる。【０００７】  本発明が解決しようとする問題点は、高精度で障害物にロバストな自走式ロボットの位置計測システムを提供することを目的とするものである。
【課題を解決するための手段】
【０００８】  この発明は上記目的を達成するために、以下の手段を採用している。図１は室内用自走式ロボットの位置測定システムの概略構成を示している。部屋の天板にカメラ１０を設置し、ロボットを含め全室の画像をとる。ロボット検出部３０では、画像処理方法で画像からロボットの座標を検出する。次に、平面位置推定部４０は透視転換マトリックス４１を使い、室内の写像を真上から撮ったように変換することで、画像のピクセル位置を水平面の位置に変換し、ロボットの水平座標を推定する。【０００９】  まず、カメラ１０の設置方法を説明する。図２に示すように、ロボットのいる室の天井にカメラ１０をロボットの作動環境の全体を撮像できるように設置する。カメラ設置後に、カメラでロボットの作動環境を撮影する。図３はカメラで撮ったロボットの作動環境の写真の例を示している。【００１０】  ロボット検出部３０を説明する。本発明のロボット検出機能は、機械学習で得たロボット認識モデル３１とＨＳＶパラメータ３２を組み合わせることにより構築される。【００１１】  機械学習モデル３１は、図示しない学習モデル作成装置がロボットの写る画像及びロボット以外のものが写る画像を含む複数のサンプル画像に基づいて、ロボットを表す画像の特徴量データを学習することにより構築される。以降は学習モデルの作成について説明する。図４に示されるように、学習モデル作成装置は、複数のサンプル画像を読み込み、各サンプル画像を探索ウインドウ６２によって走査する。これにより、学習モデル作成装置は、各サンプル画像からウインドウ画像６３を切り出す。そして、切り出されたウインドウ画像の特徴量データを学習する。学習モデル作成装置による特徴量データの学習は、本発明では、Ａｄａｂｏｏｓｔアルゴリズムにより行われる。そして、学習モデル作成装置は、ロボットの写る画像から抽出される特徴量データの重み付けを増やし、ロボット以外のものが写る画像から抽出される特徴量データの重み付けを減らす。また、事前学習モデルを作成する際、認識目標として設定された認識率を上回り、かつ目標として設定された誤認識率を下回るようになるまで学習モデル作成装置に複数のサンプル画像を読み込ませる。このことにより、ロボットを表すウインドウ画像６４の特徴を学習した事前学習モデルが作成される。実際に学習モデルを使用するとき、ウインドウを画像のうえにスライドし、モデルとマッチングするところをロボットとして認識する。認識された画像のウインドウの中心６５はロボットのピクセル位置とする。【００１２】  学習モデルでロボットを検出するのは、計算に時間を必要とする。ここで、計算時間を節約するために、まず事前学習モデルで最初の画像からロボットを検知する。次にロボットを検知すると、計算しやすいＨＳＶ色空間を利用しロボットを追跡し続ける方法を利用する。これ以降は、ロボット検出部３０が、画像からロボットを表すウインドウ画像６４を検出する処理について、図５のフローチャートを用いて、詳しく説明する。【００１３】  まず、ステップＳ１０では、画像収集部２０からカメラ１０の画像を取得し、ステップＳ２０に進む。ステップＳ２０では、ウインドウで前記の画像を走査し、各ウインドアを事前学習モデルに学習されているロボットの特徴データと照合し、ステップＳ３０に進む。【００１４】  ステップＳ３０では、ステップＳ２０における照合の結果に基づき、作動環境画像６０からロボットを表すウインドウ画像６４を検知したか否かを判定する。ステップＳ３０において、ロボットを表すウインドウ画像６４を検出していないと判定した場合、ステップＳ１０に戻る。一方、ステップＳ３０において、ロボットを表すウインドウ画像６４を検出していると判定した場合、ステップＳ１２０とステップＳ４０に進む。【００１５】  ステップＳ４０では、ロボットを表すウインドウ画像を切り出し、ＲＧＢ色空間をＨＳＶ色空間に変換してステップＳ５０に進む。ステップＳ５０では、予め統計されたロボットのＨＳＶ色範囲であるＨＳＶパラメータ３２を利用し、前記のロボットのウインドウ画像のマスク画像を作り、ステップＳ６０に進む。ステップＳ７０はステップＳ６０からもらうマスク画像のヒストグラムを計算し、正則化する。【００１６】  ステップＳ７０は画像収集部２０から新しい画像を読み込み、Ｓ８０に進む。ステップＳ８０はステップＳ７０で得た画像とステップＳ５０で作成したマスク画像の類似度をヒスとグラム特徴を利用し計算する。ステップＳ９０はステップＳ８０の結果を用い、ＣａｍＳｈｉｆｔアルゴリズムでＳ７０を得た画像からロボットの新しいウインドウ画像の場所を算出する。前記のウインドウ画像の中心点をロボットのピクセル座標と認め、ステップＳ１００に移る。【００１７】  ステップＳ１００では、ステップＳ９０で算出したロボットのピクセル位置の確信度を計算する。以下は前記の確信度の計算の必要性と計算方法について、説明する。前記のＣａｍｓｈｉｆｔアルゴリズムはＨＳＶ値でターゲットを追跡するので、障害物などに影響されやすいのである。【００１８】  例えば、人間がカメラとロボットの間に入り、ロボットの像は人間にブロックされるのが室内ではよくあることである。そうなると、ＣａｍＳｈｉｆｔアルゴリズムが実際にブロックされたロボットの位置から遠く離れる座標を出力する可能性が高いのである。図６はロボットの移動軌跡の仮想の一例を示している。ロボット軌跡６５Ｓはいくつかの連続したロボットの中心点６５によって構築された。矢印６５ｄはロボットの移動軌跡６５Ｓにおいてロボットのおおよその移動方向を示している。ピクセル位置６５ｅはステップＳ９０でＣａｍｓｈｉｆｔアルゴリズムが算出した最新のカメラ画像でのロボットのピクセル位置である。通常の状況下で、ロボットはスムーズで連続移動をするはずなので、６５ｅのような位置になる可能性は非常に低いと考えられる。６５ｅのような異常位置を拒否するために、カメラ画像毎にステップＳ９０のＣａｍｓｈｉｆｔの出力の確信度を算出する必要がある。次に、カルマンフィルタ（Ｋａｌｍａｎ  Ｆｉｌｔｅｒ）を利用し、確信度を計算する方法について、説明する。【００１９】  カルマンフィルタは今までに観測した状態（ここでは、ロボットの中心点６５のピクセル座標）に基づき、今のロボットの状態の確立分布を予測することができる。ロボットの状態の予測値の確率分布を式１より推定する。
【式１】
2018014064.tif 000003
（ここで、ｘｋは時刻ｋにおいてロボットの瞬時状態（座標と移動方向）の予測値を表す。Ｚｔは時刻ｔまでのロボットの瞬時状態の観測値である。ｐ（ｘｋ｜Ｚｋ−１）はＺｔに依存した時刻ｋのロボット瞬時状態の予測値の確率分布である）
【００２０】  ステップＳ１００は、ステップＳ９０が算出したロボットの座標の確信度を、ステップＳ９０が算出したロボットの座標を式１のｘｋのところに入れて計算し、確信度の結果をステップＳ１１０に出力する。ステップＳ１１０ではステップＳ１００で算出したロボットのピクセル座標の確信度を予め設定した確信度の閾値と比較する。ステップＳ１１０において、ロボットのピクセル座標の確信度が前記の閾値を上回ると判定した場合、ステップＳ１２０に進む。一方、ステップＳ１１０において、ロボットのピクセル座標の確信度が前記の閾値を下回ると判定した場合、ステップＳ１０に戻る（この処理は、ＨＳＶ色空間３２で検出したロボットの座標は信用できなくなり、事前学習モデル３１を頼ることになるという意味である）。
【００２１】  ステップＳ１２０では、ステップＳ９０で算出したロボットのウインドウ画像で、ロボットのウインドウ画像６４を更新し、ステップＳ１３０に進む。ステップＳ１３０はロボットウインドウ画像６４の中心点６５のピクセル座標を平面位置推定部に出力する。
【００２２】  これからは平面位置推定部４０を紹介する。平面位置推定部では、ロボット検出部３０から出力したロボット中心点６５のピクセル座標に基づき、透視変換マトリックス４１を使い、ロボットの平面位置を推定する。以下は、ロボット水平位置を推定する処理を説明する
【００２３】  まず、透視変換処理を説明する。図７は透視変換の例を示している。平面の斜めな透視図７０は透視変換により、平面図７１に転換される。透視図７０にある位置７０Ｅは水平面７１にある位置７１Ｅと対応するので、位置７１Ｅの座標がわかれば、７０Ｅの水平座標もわかる。透視変換は下記の式２により行われる。
【式２】
2018014064.tif 000004
（ここで、ｓｒｃは元図にある三角形の頂点の座標であり、ｄｓｔはｓｒｃに対応する水ターゲット図の三角形の頂点の座標であり、ｍａｐ＿ｍａｔｒｉｘは２行３列がある透視変換マトリックスである。ｍａｐ＿ｍａｔｒｉｘを求めるためには、ｄｓｔとｓｒｃそれぞれ三つを用意必要がある。元図の座標はベクトルでｍａｐ＿ｍａｔｒｉｘをかけることで、それと対応するターゲット図の座標を求める。）
【００２４】  図８はロボットが検出された室内の画像の例を示す。ロボットのウインドウ画像６４の中心点６５をロボットのピクセル位置とする。長方形６６の四つの頂点（６６Ａ、６６Ｂ、６６Ｃと６６Ｄ）は予め設定されたロボットの中心点と同じ高さにあり、長方形６６はロボットの中心点の水平面を表す（カメラを安定に天板に設置すると、６６Ａ、６６Ｂ、６６Ｃと６６Ｄのピクセル位置は一意に定まると言える。）。そのため、ロボットの中心点６５と長方形の四つの頂点（６６Ａ、６６Ｂ、６６Ｃと６６Ｄ）は同じ水平面にあると考えられる。
【００２５】図９は長方形６６の水平図を示している。長方形６６の縦横は予め測った現実の距離を比例したものである。ロボットの中心点６５の水平図での相対位置を得られたら、ロボットの水平位置がわかると考えられる。ここで透視変換マトリックスは、式１で示されているように、長方形６６の四つの頂点（６６Ａ、６６Ｂ、６６Ｃと６６Ｄ）のピクセル座標と実際に測れた水平座標をペアし、式１に代入することで求められる。
【００２６】  最後に通信部５０は平面位置推定部４０で算出したロボットの水平位置をロボットに発信する。ロボットは前記の水平位置を利用し、移動を補正することができる。
【図面の簡単な説明】
【００２７】
【図１】ロボット位置測定システムを示す概略構成図である。
【図２】カメラの設置方法を示す図である。
【図３】カメラが撮った作動環境の写真を示す図である。
【図４】ロボット認識モデルが画像からロボットを表すバウンディングボックスを検知するための処理を説明するための図である。
【図５】画像からロボットを表すバウンディングボックスを検知するための処理を示すフローチャートである。
【図６】画像の中で、ロボット移動軌跡の例を示す図である。
【図７】透視変換の説明するための図である。
【図８】画像の中で、ロボットの中心点がいる水平面を示す図である。
【図９】図８に示されている画像を水平面に透視変換した結果を示す図である。
【産業上の利用可能性】
【００２８】  本発明は室内の自走式ロボットの位置測定に適用できる。ロボットはカメラの視界に現れないと捕獲できない問題があるが、同じ作業空間に多数カメラを多角度で配置すると問題を回避できる。理論上では作業空間の一定高度の水平面の位置はカメラの像面の画素位置と１対１にマーピングできる。マーピング関係の座標変換式は求められると、像面の任意の画素位置から作業空間の唯一の位置を計算できる。計算結果の精度を高めるために、カメラの解析度とコンピュータの性能を上げることによって実現できる。
【符号の説明】
【００２９】１０  カメラ
２０  画像収集部
３０  ロボット検出部
３１  事前学習モデル
３２  ＨＳＶパラメータ
４０  平面位置推定部
４１  透視変換マトリックス
５０  通信部
６０  カメラが撮った画像
６１  ロボット
６２  走査ウインドウ
６３  走査ウインドウ画像
６４  ロボットを表すウインドウ画像
６５  ロボットを表すウインドウ画像の中心
６５ｄ  ロボットの移動方向を示す矢印
６５Ｓ  ロボットの移動軌跡
６５ｅ  確信度の低いロボットの位置
６６  ロボットの中心点と同じ高さにある水平四辺形
６６Ａ−Ｄ  四辺形６６の四つの頂点
７０  ある水四辺形の透視図
７０Ａ−Ｄ  透視図７０の四つの頂点
７０Ｅ  透視図７０にある点
７１  ７０が表す四辺形の平面図
７１Ａ−Ｄ  平面図７１の四つの頂点
７１Ｅ  平面図７０にある点
【図１】
2018014064.tif 000005
【図２】
2018014064.tif 000006
【図３】
2018014064.tif 000007
【図４】
2018014064.tif 000008
【図５】
2018014064.tif 000009
【図６】
2018014064.tif 000010
【図７】
2018014064.tif 000011
【図８】
2018014064.tif 000012
【図９】
2018014064.tif 000013