(57)【要約】      （修正有）【課題】撮影画像を用いた位置推定において、一時的に存在する人物等の特徴点を除外した不変特徴点を用いて現在位置を取得することにより、現在位置の精度を向上する。【解決手段】移動体１は、撮影部１１と、撮影時点を示す時点情報を取得する時点情報取得部１２と、撮影画像から抽出した特徴点と地図とを用いて現在位置を取得する現在位置取得部１４と、抽出された特徴点と時点情報とを用いて、地図の特徴点のうち、所定の時間間隔をあけた複数の撮影画像から抽出された特徴点を不変特徴点に設定する特徴点管理部１５と、移動機構１６と、現在位置を用いて移動機構１６を制御する移動制御部１７とを備える。また、現在位置取得部１４は、不変特徴点を優先的に用いて現在位置を取得する。【選択図】図１
2020030568.tif 000002
【特許請求の範囲】
【請求項１】
自律的に移動する移動体であって、
前記移動体の周囲の撮影画像を取得する撮影部と、
前記撮影画像の取得時点を示す時点情報を取得する時点情報取得部と、
前記撮影画像から特徴点を抽出し、当該抽出した特徴点と、前記移動体の移動領域における特徴点の位置を示す地図とを用いた位置推定によって前記移動体の現在位置を取得し、前記抽出した特徴点を用いて前記地図を更新する現在位置取得部と、
前記撮影画像から抽出された特徴点と当該撮影画像に対応する時点情報とを用いて、前記地図に含まれる特徴点のうち、所定の時間間隔をあけた複数の撮影画像から抽出された特徴点を不変特徴点に設定する特徴点管理部と、
前記移動体を移動させる移動機構と、
前記現在位置を用いて前記移動機構を制御する移動制御部と、を備え、
前記現在位置取得部は、前記不変特徴点に設定された特徴点を優先的に用いて現在位置を取得する、移動体。
【請求項２】
前記特徴点管理部は、前記地図に含まれる特徴点のうち、所定の時間間隔をあけた複数の撮影画像から抽出された特徴点であり、かつ、抽出漏れの少ない特徴点を、不変特徴点に設定する、請求項１記載の移動体。
【請求項３】
前記現在位置取得部は、前記不変特徴点に設定された特徴点のみを用いて現在位置を取得する、請求項１または請求項２記載の移動体。
【請求項４】
前記現在位置取得部は、前記現在位置の取得において、前記不変特徴点に設定された特徴点の重みを、前記不変特徴点に設定されていない特徴点の重みよりも大きくする、請求項１または請求項２記載の移動体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影画像を用いて現在位置を取得する移動体に関する。
【背景技術】
【０００２】
撮影画像を用いた自己位置推定においては、撮影画像から特徴点を抽出し、その特徴点を用いて自己位置を推定している。そのような自己位置推定において、精度を向上させるために、位置の変化にロバストな不変特徴量を抽出することが行われている（特許文献１参照）。より具体的には、連続して撮影された連続画像間でマッチングを取ることができる特徴量を用いて、不変特徴量を抽出することが行われている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−０５３８２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来例では、連続して撮影された連続画像を用いているため、例えば、その連続画像に含まれる一時的な特徴点、例えば、移動可能な移動体や人物などの特徴点を抽出する可能性もある。そして、そのような特徴点の抽出を行った場合には、周囲の環境が変化したとき（例えば、移動体が移動してしまったときなど）に、同様の特徴点が抽出されないことになり、位置推定の精度が低下する可能性があった。
【０００５】
本発明は、上記課題を解決するためになされたものであり、位置推定の精度を向上させることができる移動体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明による移動体は、自律的に移動する移動体であって、移動体の周囲の撮影画像を取得する撮影部と、撮影画像の取得時点を示す時点情報を取得する時点情報取得部と、撮影画像から特徴点を抽出し、抽出した特徴点と、移動体の移動領域における特徴点の位置を示す地図とを用いた位置推定によって移動体の現在位置を取得し、抽出した特徴点を用いて地図を更新する現在位置取得部と、撮影画像から抽出された特徴点と撮影画像に対応する時点情報とを用いて、地図に含まれる特徴点のうち、所定の時間間隔をあけた複数の撮影画像から抽出された特徴点を不変特徴点に設定する特徴点管理部と、移動体を移動させる移動機構と、現在位置を用いて移動機構を制御する移動制御部と、を備え、現在位置取得部は、不変特徴点に設定された特徴点を優先的に用いて現在位置を取得する、ものである。
このような構成により、所定の時間間隔をあけて撮影された複数の撮影画像に含まれる同じ特徴点を不変特徴点とすることができ、例えば、一時的にしか存在しない移動体や人物などの特徴点を除外して、壁や移動環境に設置されている物などの特徴点を不変特徴点に設定することができる。そして、そのような不変特徴点を優先的に用いて現在位置を取得することによって、より精度の高い現在位置の取得を実現することができる。
【０００７】
また、本発明による移動体では、特徴点管理部は、地図に含まれる特徴点のうち、所定の時間間隔をあけた複数の撮影画像から抽出された特徴点であり、かつ、抽出漏れの少ない特徴点を、不変特徴点に設定してもよい。
このような構成により、例えば、一定の間隔で巡回しているＡＧＶなどに関する特徴点を不変特徴点から除外することができる。
【０００８】
また、本発明による移動体では、現在位置取得部は、不変特徴点に設定された特徴点のみを用いて現在位置を取得してもよい。
このような構成により、環境の変化の影響を受けない特徴点を用いて現在位置を取得できるため、精度の高い現在位置の取得を実現することができる。
【０００９】
また、本発明による移動体では、現在位置取得部は、現在位置の取得において、不変特徴点に設定された特徴点の重みを、不変特徴点に設定されていない特徴点の重みよりも大きくしてもよい。
このような構成により、環境の変化の影響を受けない特徴点の重みが大きくなるため、不変特徴点の重みを大きくしない場合と比較して、精度の高い現在位置の取得を実現することができる。
【発明の効果】
【００１０】
本発明による移動体によれば、撮影画像を用いた位置推定の精度を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態による移動体の構成を示すブロック図
【図２】同実施の形態による移動体の動作を示すフローチャート
【図３】同実施の形態における不変特徴点かどうかの判断について説明するための図
【図４】同実施の形態における撮影画像上の特徴点と地図に含まれる特徴点との対応関係の一例を示す図
【図５Ａ】同実施の形態における特徴点管理情報の一例を示す図
【図５Ｂ】同実施の形態における特徴点管理情報の一例を示す図
【図５Ｃ】同実施の形態における特徴点管理情報の一例を示す図
【図５Ｄ】同実施の形態における特徴点管理情報の一例を示す図
【発明を実施するための形態】
【００１２】
以下、本発明による移動体について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による移動体は、時間的に変化しない不変特徴点を優先的に用いて位置推定を行うものである。
【００１３】
図１は、本実施の形態による移動体１の構成を示すブロック図である。本実施の形態による移動体１は、自律的に移動するものであって、撮影部１１と、時点情報取得部１２と、記憶部１３と、現在位置取得部１４と、特徴点管理部１５と、移動機構１６と、移動制御部１７とを備える。なお、移動体１が自律的に移動するとは、移動体１がユーザ等から受け付ける操作指示に応じて移動するのではなく、自らの判断によって目的地に移動することであってもよい。その目的地は、例えば、手動で決められたものであってもよく、または、自動的に決定されたものであってもよい。また、その目的地までの移動は、例えば、移動経路に沿って行われてもよく、または、そうでなくてもよい。また、自らの判断によって目的地に移動するとは、例えば、進行方向、移動や停止などを移動体１が自ら判断することによって、目的地まで移動することであってもよい。また、例えば、移動体１が、障害物に衝突しないように移動することであってもよい。移動体１は、例えば、台車であってもよく、移動するロボットであってもよい。ロボットは、例えば、エンターテインメントロボットであってもよく、監視ロボットであってもよく、搬送ロボットであってもよく、清掃ロボットであってもよく、動画や静止画を撮影するロボットであってもよく、その他のロボットであってもよい。
【００１４】
撮影部１１は、移動体１の周囲の撮影画像を取得する。撮影部１１は、例えば、進行方向の向きの撮影画像を取得してもよい。進行方向の撮影画像はより変化の小さいものになるため、位置推定に用いるのに好適だからである。撮影部１１は、例えば、ＣＣＤイメージセンサやＣＭＯＳイメージセンサなどのイメージセンサを用いて撮影画像を取得してもよい。また、撮影部１１は、イメージセンサ上に結像させるためのレンズ等の光学系を含んでいてもよい。また、撮影部１１は、単眼であってもよく、双眼（ステレオカメラ）であってもよい。本実施の形態では、撮影部１１が単眼である場合について主に説明する。撮影部１１は、通常、動画を撮影するもの、すなわち、連続した画像フレームを取得するものである。移動している移動体１の現在位置を取得するために撮影画像を取得することから、そのフレームレートは、移動速度に対して十分大きいものであることが好適である。例えば、フレームレートは、約３０ｆｐｓなどであってもよい。
【００１５】
時点情報取得部１２は、撮影画像の取得時点を示す時点情報を取得する。時点情報取得部１２は、例えば、撮影部１１から撮影を行った旨を受け取り、それに応じて時点情報を取得してもよい。時点情報は、例えば、時間（時刻）を含んでもよく、年月日と時間とを含んでもよい。時間は、例えば、図示しない時計部から取得されてもよい。年月日は、例えば、図示しないカレンダー部から取得されてもよい。本実施の形態では、時点情報が時間である場合について主に説明する。その時間は、例えば、時分秒であってもよく、さらにフレームを含んでいてもよい。時点情報が時分秒フレームで示される場合（例えば、タイムコードの場合）には、例えば、１０：１９：２０：２６のように示される。その時点情報（タイムコード）は、１０時１９分２０秒２６フレームの意味である。
【００１６】
記憶部１３では、撮影画像を用いた位置推定に必要な情報などが記憶される。記憶部１３では、例えば、特徴点の位置を示す地図が記憶されていてもよい。その地図は、ｖｉｓｕａｌ−ＳＬＡＭ（Simultaneous Localization and Mapping）において用いられる環境地図として知られている。その地図は、例えば、ＯＲＢ−ＳＬＡＭにおいて用いられる特徴点（map point）を含む地図であってもよい。また、記憶部１３では、例えば、特徴点の管理に用いられる情報である特徴点管理情報が記憶されていてもよい。特徴点管理情報については後述する。記憶部１３での記憶は、ＲＡＭ等における一時的な記憶でもよく、または、長期的な記憶でもよい。記憶部１３は、所定の記録媒体（例えば、半導体メモリや磁気ディスクなど）によって実現されうる。
【００１７】
現在位置取得部１４は、撮影部１１によって取得された撮影画像から特徴点を抽出する。その特徴点は、例えば、ＦＡＳＴキーポイントや、ＳＩＦＴキーポイント、ＳＵＲＦキーポイント等であってもよく、撮影画像を用いた位置推定で用いられるその他の特徴点であってもよい。本実施の形態では、現在位置取得部１４がＯＲＢ−ＳＬＡＭと同様の自己位置推定を行う場合について主に説明する。ＯＲＢ−ＳＬＡＭの場合には、現在位置取得部１４は、所定個数のＦＡＳＴキーポイントである特徴点を撮影画像から抽出することになる。なお、ＦＡＳＴキーポイント、ＳＩＦＴキーポイント、ＳＵＲＦキーポイント、ＯＲＢ−ＳＬＡＭにおける特徴点については、以下の文献１〜４をそれぞれ参照されたい。
【００１８】
文献１：Edward Rosten, Tom Drummond, "Machine learning for high-speed corner detection", in 9th European Conference on Computer Vision, vol. 1, 2006, pp. 430-443.
文献２：D. Lowe, "Distinctive image features from scale-invariant keypoints", Int. Journal of Computer Vision (2004), 60(2), pp. 91-110.
文献３：H. Bay, A. Ess, T. Tuytelaars, L. Van Gool, "SURF: Speeded Up Robust Features", Computer Vision and Image Understanding (CVIU) (2008), 110(3), pp. 346-359.
文献４：Ethan Rublee, Vincent Rabaud, Kurt Konolige, Gary R. Bradski, "ORB: An efficient alternative to SIFT or SURF", ICCV 2011, pp. 2564-2571.
【００１９】
現在位置取得部１４は、撮影画像から抽出した特徴点と、記憶部１３で記憶されている、移動体１の移動領域における特徴点の位置を示す地図とを用いた位置推定によって移動体１の現在位置を取得する。すなわち、位置推定の結果が移動体１の現在位置となる。また、現在位置取得部１４は、抽出した特徴点を用いて地図を更新する。なお、ｖｉｓｕａｌ−ＳＬＡＭにおける位置推定及び地図の更新はすでに公知であり、その詳細な説明を省略する。例えば、ＯＲＢ−ＳＬＡＭにおける位置推定（tracking）及び地図の更新（local mapping）については、次の文献を参照されたい。
文献：R. Mur-Artal, J.M. Montiel, J.D. Tardos, "ORB-SLAM: A Versatile and Accurate Monocular SLAM System", IEEE Transactions on Robotics 31 (2015), pp. 1147-1163.
【００２０】
なお、現在位置取得部１４は、後述する不変特徴点に設定された特徴点を優先的に用いて、撮影画像から抽出した特徴点を用いた現在位置の取得を行う。具体的には、現在位置取得部１４は、不変特徴点に設定された特徴点のみを用いて現在位置を取得してもよい。この場合には、現在位置取得部１４は、撮影画像から抽出した特徴点と、地図に含まれる特徴点のうち、不変特徴点に設定されている特徴点とのマッチングのみを行ってもよい。このような現在位置の取得を行うことによって、取得した現在位置が高い精度となる。
【００２１】
一方、不変特徴点に設定された特徴点のみを用いた現在位置の取得を行うためには、多くの特徴点が不変特徴点に設定されている必要がある。したがって、不変特徴点の個数が多くない場合には、現在位置取得部１４は、例えば、不変特徴点と不変特徴点に設定されていない特徴点とを用いて現在位置を取得してもよく、または、現在位置の取得において、不変特徴点に設定された特徴点の重みを、不変特徴点に設定されていない特徴点の重みよりも大きくしてもよい。なお、不変特徴点の個数に関わらず、このような現在位置の取得が行われてもよい。
【００２２】
不変特徴点と不変特徴点に設定されていない特徴点とを用いる場合には、現在位置取得部１４は、例えば、地図において、不変特徴点と、そうでない特徴点との合計数があらかじめ決められた個数となるまで、不変特徴点に設定されていない特徴点を選択し、その選択した特徴点と、不変特徴点とを用いて現在位置の取得を行ってもよい。すなわち、現在位置取得部１４は、すべての不変特徴点と、そうでない一部の特徴点とを用いて現在位置の取得を行ってもよい。その特徴点の選択は、例えば、ランダムに行われてもよく、不変特徴点の密度の低い箇所においてより多くの特徴点が選択されるように行われてもよく、その他の方法によって行われてもよい。
【００２３】
また、現在位置取得部１４が、不変特徴点の重みを、そうでない特徴点の重みよりも大きくすることによって現在位置を取得する処理について簡単に説明する。自己位置推定においては、例えば、撮影画像において抽出された特徴点の位置と、その特徴点にマッチングする、地図に含まれる特徴点を撮影画像に投影した位置との差（距離）の２乗の総和（マッチング関係にある特徴点のペアに関する総和）が、最も小さくなるように撮影部１１の位置（例えば、撮影部１１の回転行列や並進ベクトル）が算出される（非線形解法）。したがって、２個の位置の差の２乗について総和を算出する際に、不変特徴点に関する２個の位置の差の２乗については、そうでない特徴点に関する２個の位置の差の２乗よりも大きい重みを設定するようにしてもよい。なお、移動体１における撮影部１１の位置は既知であるため、撮影部１１の位置を移動体１の現在位置に変換できることは言うまでもない。
【００２４】
特徴点管理部１５は、現在位置取得部１４によって撮影画像から抽出された特徴点と、その撮影画像に対応する時点情報とを用いて、地図に含まれる特徴点のうち、所定の時間間隔をあけた複数の撮影画像から抽出された特徴点を不変特徴点に設定する。撮影画像に対応する時点情報とは、その撮影画像の取得時点（撮影時点）を示す時点情報のことであり、時点情報取得部１２によって取得されたものである。また、所定の時間間隔をあけた複数の撮影画像とは、ある撮影画像の取得時点と、次の撮影画像の取得時点との間隔が、所定の時間間隔以上である複数の撮影画像のことである。次の撮影画像とは、取得時点順に並べられた複数の撮影画像における次の取得時点の撮影画像である。なお、ここでは、地図に含まれる特徴点と、撮影画像から抽出された特徴点とがマッチングによって紐付けられる場合に、両特徴点が同じ特徴点であるとして説明している。一方、両特徴点、すなわち地図に含まれる特徴点と、撮影画像から抽出された特徴点とを区別すると、特徴点管理部１５は、地図に含まれる特徴点のうち、所定の時間間隔をあけた複数の撮影画像から抽出された各特徴点とそれぞれマッチングした地図上の特徴点を、不変特徴点に設定することになる。そのマッチングは、現在位置取得部１４によって行われてもよい。
【００２５】
移動体１では、撮影画像の取得と、撮影画像からの特徴点の抽出と、特徴点を用いた現在位置の取得とが連続してリアルタイムで実行されることになる。したがって、通常、ある撮影画像の取得時点と、その撮影画像からの特徴点の抽出時点とは、略同一の時点となる。そのため、特徴点管理部１５は、撮影画像の取得時点と、その撮影画像からの特徴点の抽出時点とが同じであるとして、上記の処理を行ってもよい。すなわち、特徴点管理部１５は、地図に含まれる特徴点のうち、所定の時間間隔をあけて複数回抽出された特徴点を不変特徴点に設定してもよい。
【００２６】
不変特徴点の設定は、結果として、ある特徴点が不変特徴点であるのかどうかが分かるのであれば、どのような方法によって行われてもよい。例えば、地図に含まれる特徴点に対して、不変特徴点であるかどうかを示すフラグ等の情報が追記されてもよく、または、特徴点を識別する情報と、不変特徴点であるかどうかを示すフラグ等の情報とが対応付けられて記憶されてもよい。本実施の形態では、後者の場合について主に説明する。
【００２７】
図３（ａ）は、不変特徴点かどうかの判断について説明するための図である。上記のとおり、地図に含まれるある特徴点が不変特徴点であるための条件は、その特徴点とマッチングする特徴点が、所定の時間間隔をあけたＮ個の撮影画像から抽出されることである。ここで、Ｎは２以上の整数である。例えば、図３（ａ）で示されるように、地図に含まれる特徴点Ａ１とマッチングする特徴点が、時間Ｔ１１，Ｔ１２，Ｔ１３において撮影された撮影画像から少なくとも抽出されており、また、時間Ｔ１１，Ｔ１２の間隔、及び時間Ｔ１２，Ｔ１３の間隔が、あらかじめ決められた閾値の時間間隔ＴＨ以上であるとする。すると、特徴点Ａ１は、時間間隔ＴＨをあけた３個の撮影画像から抽出されたことになるため、不変特徴点に設定されることになる。なお、ここでは、Ｎ＝３としている。また、時間間隔ＴＨは、例えば、５分や１０分、３０分等に設定されてもよい。例えば、移動体１の移動領域に他の移動体や人間などの移動し得る障害物が存在することもあり、撮影画像から、それらの移動し得る障害物の特徴点が抽出され、地図に追加されることもあり得る。しかしながら、そのような特徴点は、時間的に不変な特徴点ではないため、そのような特徴点を用いて現在位置を取得した場合には、現在位置の精度が低下することになる。したがって、そのような移動し得る障害物の特徴点ではない特徴点、すなわち時間的に変化しない特徴点を、不変特徴点に設定するため、図３（ａ）で説明したように、所定の時間間隔をあけて複数回にわたって抽出されたことを条件とすることは適切であると考えられる。
【００２８】
一方、工場などにおいては、ＡＧＶ（Automated Guided Vehicle）などのように、あらかじめ決められたステーション間を定期的に巡回している障害物も存在する。工場でなくても、路線バスなどのように、定期的に同じ場所に存在する障害物もある。また、シャッターや扉などのように変化し得る物もある。そのようなことに対応して、例えば、ステーションに停止しているＡＧＶや、閉じているシャッターに関して、所定の時間間隔をあけた複数回の特徴点の抽出が行われることも考えられる。しかしながら、ＡＧＶは移動し得る障害物であり、シャッターは変化し得る物であるため、そのＡＧＶや閉じているシャッターから取得された地図上の特徴点を用いて現在位置の取得を行う場合には、精度が低くなり得ることになる。例えば、ＡＧＶがステーションに存在していない時に撮影された撮影画像や、シャッターが開いている時に撮影された撮影画像を用いた位置推定を行う場合に、精度が低くなり得る。そのため、定期的に巡回している障害物や、変化し得る物から抽出された特徴点は、現在位置の取得に用いないようにすることが好適である。したがって、特徴点管理部１５は、地図に含まれる特徴点のうち、所定の時間間隔をあけた複数の撮影画像から抽出された特徴点であり、かつ、抽出漏れの少ない特徴点を、不変特徴点に設定してもよい。
【００２９】
ここで、抽出漏れについて、図４を用いて説明する。図４において、地図に特徴点Ａ〜Ｄが含まれており、撮影画像において、特徴点ａ〜ｃが特定されているとする。また、撮影画像において特定された特徴点と、地図に含まれる特徴点（map point）、すなわち地図によって位置が示される特徴点との特徴量（特徴記述子：feature descriptor）を用いたマッチングによって、撮影画像において特定された特徴点ａ〜ｃは、それぞれ地図に含まれる特徴点Ａ〜Ｃに対応することになったとする。そのマッチングは、現在位置の取得のため（例えば、ＯＲＢ−ＳＬＡＭにおける位置推定のため）に行われてもよく、または、不変特徴点の設定のために行われてもよい。なお、地図には特徴点Ｄも含まれていたとする。本来であれば、地図の特徴点Ｄに対応する特徴点ｄが撮影画像に含まれているはずであるが、図４で示される撮影画像には、特徴点ｄが含まれていなかったとする。すると、その撮影画像において、特徴点ｄは、本来、抽出されるはずの特徴点であるが、抽出されなかったことになるため、抽出漏れの特徴点となる。もう少し詳細に記載すると、地図に含まれる特徴点Ｄを撮影画像に投影した位置の近傍に、特徴点Ｄの特徴量と類似した特徴量を有する特徴点が抽出されていない場合には、特徴点Ｄは抽出漏れであると判断されてもよい。
【００３０】
なお、そのような抽出漏れの特徴点となる理由としては、上記のように、ＡＧＶなどの移動し得る障害物やシャッターなどの変化し得る物から特徴点Ｄが取得されたことを挙げられるが、それ以外にも、特徴点Ｄに対応する物体と、移動体１の撮影部１１との間に人間などの障害物が存在していることもあり得る。さらに、撮影が逆光で行われた場合に、撮影画像の一部の領域が白とびとなることもある。そのような場合に、その白とびの領域から特徴点を適切に抽出できないことも、抽出漏れの原因となり得る。したがって、地図に含まれている特徴点が１回でも抽出漏れとなった場合に、その特徴点は不変特徴点ではないと判断するのではなく、地図に含まれている特徴点が何回も抽出漏れとなった場合に、その特徴点は不変特徴点ではないと判断することが好適である。そのため、上記のとおり、地図に含まれるある特徴点が不変特徴点であるための条件は、その特徴点とマッチングする特徴点が、所定の時間間隔をあけたＮ個の撮影画像から抽出され、かつ、その地図に含まれる特徴点の抽出漏れが少ないことであってもよい。なお、抽出漏れが少ないとは、所定の期間において、抽出漏れとなる撮影画像の個数があらかじめ決められた閾値より少ないことであってもよく、または、抽出漏れとなる撮影画像の割合があらかじめ決められた閾値より少ないことであってもよい。所定の期間は、例えば、Ｎ個の撮影画像に関する最初の撮影画像の取得時点から、最後の撮影画像の取得時点までの期間であってもよく、時点情報取得部１２における時点情報の取得が開始されてから判断時点までの全期間であってもよく、単位期間であってもよく、その他の期間であってもよい。所定の期間が単位期間である場合には、単位期間あたりの抽出漏れとなる撮影画像の個数が閾値より少ない場合に、抽出漏れが少ないと判断されてもよい。抽出漏れとなる撮影画像の割合とは、例えば、注目している特徴点に関して、その特徴点が抽出された撮影画像の個数に対する、抽出漏れとなった撮影画像の割合であってもよく、撮影画像の全個数に対する、その特徴点が抽出漏れとなった撮影画像の割合であってもよい。
【００３１】
図３（ｂ）は、抽出漏れの少ないことも条件となっている場合における不変特徴点かどうかの判断について説明するための図である。ここでは、地図に含まれるある特徴点が不変特徴点であるための条件は、その特徴点とマッチングする特徴点が、所定の時間間隔をあけたＮ個の撮影画像から抽出され、かつ、全期間において、その地図に含まれる特徴点の抽出漏れがＭ回以下であることであるとする。Ｍは１以上の整数であるが、上記のとおり、２以上であることが好適である。例えば、図３（ｂ）で示されるように、地図に含まれる特徴点Ａ２とマッチングする特徴点が、時間Ｔ２１，Ｔ２２，Ｔ２３において撮影された撮影画像から少なくとも抽出されているが、時間Ｔ２１，Ｔ２２の間において、特徴点Ａ２について２回の抽出漏れがあり、また、時間Ｔ２２，Ｔ２３の間においても、特徴点Ａ２について２回の抽出漏れがあったとする。但し、時間Ｔ２１，Ｔ２２の間隔、及び時間Ｔ２２，Ｔ２３の間隔は、あらかじめ決められた閾値の時間間隔ＴＨ以上であるとする。すると、Ｍが３に設定されており、Ｎが３に設定されている場合には、図３（ｂ）で示される状況では、所定の時間間隔をあけた３個の撮影画像から特徴点Ａ２にマッチングする特徴点が抽出されることは満たされているが、全期間において特徴点Ａ２の抽出漏れが３回以下であることについては満たされていないことになる。その結果、特徴点Ａ２について、不変特徴点の条件が満たされないことになり、特徴点Ａ２は、不変特徴点に設定されないことになる。
【００３２】
なお、Ｎ、Ｍは、不変特徴点の設定が適切に行われるように決められることが好適である。例えば、Ｎを大きい値に設定することによって、より精度の高い不変特徴点の設定を行うことができるが、不変特徴点の個数が少なくなる可能性がある。一方、例えば、Ｎを小さい値に設定することによって、より多くの不変特徴点の設定が行われるようにすることができるが、不変特徴点の精度が低くなる可能性がある。また、例えば、Ｍを小さい値にすることによって、より精度の高い不変特徴点の設定を行うことができるが、本来であれば不変特徴点に設定されるはずの特徴点が、不変特徴点に設定されないことが起こり得ることになり、その結果として、不変特徴点の個数が少なくなる可能性がある。一方、例えば、Ｍを大きい値に設定することによって、より多くの不変特徴点の設定が行われるようにできるが、不変特徴点の精度が低くなる可能性がある。したがって、移動体１の移動領域における特性等を踏まえた上で、ＮやＭが適切な値に設定されることが好適である。
【００３３】
次に、不変特徴点の設定について、具体例を用いて説明する。この具体例では、記憶部１３において、図５Ａで示される特徴点管理情報が記憶されているものとする。図５Ａで示される特徴点管理情報は、特徴点を識別する特徴点識別子と、その特徴点が抽出された撮影画像の取得された時点を示す時点情報と、その特徴点が不変特徴点であるかどうかを示す不変フラグとを対応付けて有する情報である。
【００３４】
図５Ａにおいて、例えば、特徴点識別子Ｆ１０１で識別される特徴点（以下、「特徴点Ｆ１０１」と呼ぶこともある。他の特徴点についても同様である。）は、時点情報Ｔ１０１，Ｔ１０２，Ｔ１０３，Ｔ２０１，Ｔ２０２で示される時点に取得された撮影画像から抽出されたことになる。なお、角括弧［］で括られた時点情報は、抽出漏れの時点情報であるとする。例えば、特徴点Ｆ１０３は、時点情報Ｔ２０１，Ｔ２０２で示される時点に取得された撮影画像から抽出されるべき特徴点であるが、実際には、上記のような何らかの理由によって抽出されなかったことを示している。
【００３５】
不変フラグが「１」である特徴点は不変特徴点であり、不変フラグが「０」である特徴点は不変特徴点ではないものとする。したがって、図５Ａでは、特徴点Ｆ１０１〜Ｆ１０４は不変特徴点に設定されていないことになる。
【００３６】
次に、図４で示される撮影画像が撮影部１１によって撮影され、その撮影画像に対応する時点情報Ｔ２０３が時点情報取得部１２によって取得されたとする。また、現在位置取得部１４によって、地図に含まれる特徴点Ａ〜Ｃと、撮影画像から抽出された特徴点ａ〜ｃとのマッチングが取られたとする。なお、地図に含まれる特徴点Ｄに対応する特徴点ｄは、撮影画像から抽出されなかったとする。すなわち、特徴点Ｄは、抽出漏れであったとする。また、特徴点Ａ，Ｄがそれぞれ特徴点管理情報における特徴点Ｆ１０１，Ｆ１０３に対応していたとする。すると、特徴点管理部１５は、図５Ｂの特徴点管理情報で示されるように、特徴点識別子Ｆ１０１に対応付けて時点情報Ｔ２０３を追加し、特徴点識別子Ｆ１０３に対応付けて、抽出漏れがあったことを示す［Ｔ２０３］を追加する。なお、図５Ｂでは示されていないが、特徴点Ｂ，Ｃについても、それぞれ時点情報Ｔ２０３が追加されることになる。
【００３７】
なお、この具体例では、特徴点が不変特徴点であるための条件が、所定の時間間隔をあけた３個の撮影画像から抽出され、かつ、全期間における抽出漏れが２回以下であることであるとする。また、時点情報ＴＸのＸは、撮影画像が取得されるごとに１ずつ大きくなるものとする。また、ＴＸ1とＴＸ2とに関して、｜Ｘ2−Ｘ1｜≧４０であれば、所定の時間間隔があいていることになるものとする。すると、図５Ｂの特徴点管理情報においては、各特徴点Ｆ１０１〜Ｆ１０４は、不変特徴点の条件を満たしていないことになり、不変特徴点には設定されないことになる。
【００３８】
その後、撮影画像の取得や特徴点の抽出、特徴点のマッチング、特徴点管理情報の更新が繰り返されることによって、特徴点管理情報が図５Ｃで示されるようになったとする。図５Ｃで示される特徴点管理情報においては、特徴点Ｆ１０１に対応する時点情報Ｔ１０１とＴ２０１との間、及び時点情報Ｔ２０１とＴ３０１との間は、所定の時間間隔があいていることになる。また、特徴点Ｆ１０１については、抽出漏れも存在しないため、抽出漏れに関する条件も満たしていることになる。したがって、特徴点管理部１５は、特徴点Ｆ１０１を不変特徴点に設定する。具体的には、特徴点識別子Ｆ１０１に対応する不変フラグを「１」に変更する。
【００３９】
同様に、特徴点Ｆ１０４に対する時点情報Ｔ１５１とＴ２００との間、及び時点情報Ｔ２００とＴ３００との間も、所定の時間間隔があいていることになる。なお、特徴点Ｆ１０４については、時点情報Ｔ１５３とＴ２００との間に抽出漏れが１回存在するが、全期間における抽出漏れは２回以下であるため、特徴点Ｆ１０４も不変特徴点の条件を満たしていることになる。したがって、特徴点管理部１５は、特徴点Ｆ１０４も不変特徴点に設定する。
【００４０】
一方、特徴点Ｆ１０２，Ｆ１０３については、不変特徴点の条件を満たしていないため、特徴点管理部１５は、それらの特徴点を不変特徴点には設定しないことになる。したがって、特徴点管理部１５は、図５Ｄで示されるように、特徴点Ｆ１０１，Ｆ１０４に対応する不変フラグを「１」に変更する。この変更によって、現在位置取得部１４は、特徴点Ｆ１０１，Ｆ１０４を他の特徴点Ｆ１０２，Ｆ１０３よりも優先的に用いて現在位置の取得を行うことになる。
【００４１】
なお、特徴点Ｆ１０３については、時点情報Ｔ１０３，Ｔ３０１の間に３回の抽出漏れが存在するため、抽出漏れに関する条件が満たされないことになる。したがって、特徴点Ｆ１０３が不変特徴点に設定されることは、今後もないことになる。
【００４２】
移動機構１６は、移動体１を移動させる。移動機構１６は、例えば、移動体１を全方向に移動できるものであってもよく、または、そうでなくてもよい。全方向に移動できるとは、任意の方向に移動できることである。移動機構１６は、例えば、走行部（例えば、車輪など）と、その走行部を駆動する駆動手段（例えば、モータやエンジンなど）とを有していてもよい。また、移動機構１６は、車輪等の速度を取得できる機構、例えば、エンコーダ等を有していてもよい。なお、移動機構１６が、移動体１を全方向に移動できるものである場合には、その走行部は、全方向移動車輪（例えば、オムニホイール、メカナムホイールなど）であってもよい。この移動機構１６としては、公知のものを用いることができるため、その詳細な説明を省略する。
【００４３】
移動制御部１７は、現在位置取得部１４によって取得された現在位置を用いて移動機構１６を制御することによって、移動体１の移動を制御する。移動の制御は、移動体１の移動の向きや、移動の開始・停止などの制御であってもよい。例えば、移動経路が設定されている場合には、移動制御部１７は、移動体１がその移動経路に沿って移動するように、移動機構１６を制御してもよい。より具体的には、移動制御部１７は、現在位置取得部１４によって取得される現在位置が、その移動経路に沿ったものになるように、移動機構１６を制御してもよい。また、移動制御部１７は、地図を用いて、移動の制御を行ってもよい。移動制御部１７による移動機構１６の制御は公知であるため、その詳細な説明を省略する。
【００４４】
次に、移動体１の動作について図２のフローチャートを用いて説明する。
（ステップＳ１０１）現在位置取得部１４は、現在位置を取得するかどうか判断する。そして、現在位置を取得する場合には、ステップＳ１０２に進み、そうでない場合には、ステップＳ１０６に進む。現在位置取得部１４は、例えば、現在位置を取得すると定期的に判断してもよい。
【００４５】
（ステップＳ１０２）撮影部１１は、移動体１の周囲の撮影画像を取得する。なお、取得された撮影画像は、図示しない記録媒体で記憶されてもよい。
【００４６】
（ステップＳ１０３）時点情報取得部１２は、取得された撮影画像に対応する時点情報を取得する。なお、取得された時点情報は、図示しない記録媒体で記憶されてもよい。
【００４７】
（ステップＳ１０４）現在位置取得部１４は、取得された撮影画像から特徴点を抽出し、その抽出した特徴点と地図とを用いて現在位置を取得する。また、現在位置取得部１４は、撮影画像から抽出した特徴点を用いて地図を更新する。なお、例えば、現在位置の取得は、撮影画像の取得ごとに行われ、地図の更新は、撮影画像の取得が何回か繰り返されるごとに行われてもよい。したがって、現在位置取得部１４は、例えば、地図を更新すると判断した場合に、抽出した特徴点を用いた地図の更新を行ってもよい。
【００４８】
（ステップＳ１０５）特徴点管理部１５は、現在位置取得部１４によって抽出された特徴点と、地図に含まれる特徴点とのマッチング結果に応じて、記憶部１３で記憶されている特徴点管理情報を更新する。特徴点管理情報の具体的な更新方法については、上記のとおりである。そして、ステップＳ１０１に戻る。なお、この特徴点管理情報の更新の処理は、撮影ごとに行われなくてもよい。例えば、Ｋ回の撮影画像が取得されるごとに、１回の特徴点管理情報の更新が行われてもよい。Ｋは２以上の整数である。そのような場合に、特徴点管理情報の更新に、Ｋ個の撮影画像が用いられてもよく、または、Ｋ個未満、例えば、１個の撮影画像が用いられてもよい。
【００４９】
（ステップＳ１０６）特徴点管理部１５は、不変特徴点の設定の処理を行うかどうか判断する。そして、不変特徴点の設定の処理を行う場合には、ステップＳ１０７に進み、そうでない場合には、ステップＳ１０１に戻る。特徴点管理部１５は、例えば、不変特徴点の設定の処理を行うと定期的に判断してもよい。なお、通常、現在位置の取得処理の時間間隔よりも、不変特徴点の設定処理の時間間隔の方が長いことになる。
【００５０】
（ステップＳ１０７）特徴点管理部１５は、カウンタｉを１に設定する。
【００５１】
（ステップＳ１０８）特徴点管理部１５は、ステップＳ１０６においてＹｅｓと判断した際に不変特徴点ではなかった特徴点のうち、ｉ番目の特徴点が不変特徴点の条件を満たしているかどうか判断する。その判断は、特徴点管理情報を用いて行われてもよい。そして、ｉ番目の特徴点が不変特徴点の条件を満たしている場合には、ステップＳ１０９に進み、そうでない場合には、ステップＳ１１０に進む。
【００５２】
例えば、特徴点管理情報が図５Ｄで示される場合に、特徴点Ｆ１０１とマッチングする特徴点が、所定の時間間隔をあけた３個の撮影画像から抽出され、かつ、全期間において、特徴点Ｆ１０１の抽出漏れが２回以下であることである不変特徴点の条件を満たすかどうか判断する具体例について説明する。なお、所定の時間間隔については、上記具体例と同様であるとする。特徴点管理部１５は、特徴点Ｆ１０１について、まず、撮影画像から抽出された時点を示す１番目の時点情報Ｔ１０１を特定し、その１番目の時点情報Ｔ１０１の示す時点から所定の時間間隔以上後の時点であって、時点情報Ｔ１０１の示す時点に最も近い時点を示す時点情報Ｔ２０１を２番目の時点情報として特定する。同様にして、特徴点管理部１５は、２番目の時点情報Ｔ２０１の示す時点から所定の時間間隔以上後の時点であって、時点情報Ｔ２０１の示す時点に最も近い時点を示す時点情報Ｔ３０１を特定する。その特定を行うことができたことによって、特徴点Ｆ１０１とマッチングする特徴点が、所定の時間間隔をあけた３個の撮影画像から抽出されたことの条件は満たされることになる。なお、仮にその条件が満たされないとすると、特徴点管理部１５は、１番目の時点情報を時点情報Ｔ１０２，Ｔ１０３…のように順番にずらしながら同様の判断処理を行い、そのすべてについて条件が満たされない場合には、特徴点Ｆ１０１が不変特徴点ではないと判断することになる。次に、特徴点管理部１５は、特徴点Ｆ１０１について、抽出漏れが２回以下かどうか判断する。図５Ｄでは、特徴点Ｆ１０１について抽出漏れはないため、その条件も満たされることになる。したがって、特徴点Ｆ１０１は、不変特徴点の条件を満たすと判断されることになる。
【００５３】
（ステップＳ１０９）特徴点管理部１５は、ｉ番目の特徴点を不変特徴点に設定する。
【００５４】
（ステップＳ１１０）特徴点管理部１５は、カウンタｉを１だけインクリメントする。
【００５５】
（ステップＳ１１１）特徴点管理部１５は、ｉ番目の特徴点が存在するかどうか判断する。そして、ｉ番目の特徴点が存在する場合には、ステップＳ１０８に戻り、そうでない場合には、不変特徴点の設定に関する一連の処理が終了したとして、ステップＳ１０１に戻る。
【００５６】
なお、図２のフローチャートにおいて、ステップＳ１０７〜Ｓ１１１の処理では、それまでに不変特徴点に設定されていない特徴点のみを対象とする場合について説明したが、そうでなくてもよい。ステップＳ１０７〜Ｓ１１１の処理は、すべての特徴点について行われてもよい。また、通常は、それまでに不変特徴点に設定されていない特徴点のみについてステップＳ１０７〜Ｓ１１１の処理を行い、何回かに１回だけ、すべての特徴点についてステップＳ１０７〜Ｓ１１１の処理を行うようにしてもよい。そのように、それまでに不変特徴点に設定された特徴点についてもステップＳ１０７〜Ｓ１１１の処理を行う場合には、特徴点管理部１５は、例えば、特徴点管理情報に含まれる情報のうち、現在から所定の期間以内に含まれない情報を用いないで、すなわち古い情報を用いないで不変特徴点の設定に関する処理を行ってもよい。また、不変特徴点に設定されている特徴点についても不変特徴点の条件が満たされているかどうかの判断を行う場合には、特徴点管理部１５は、ステップＳ１０８において不変特徴点の条件が満たされないと判断したときに、その特徴点の不変特徴点の設定を解除してもよい。このように、不変特徴点についても条件の判断を行うことによって、例えば、現在は不変特徴点の条件を満たさなくなった特徴点について、不変特徴点の設定を解除することができる。より具体的には、不変特徴点に対応する物の前に新たな障害物が設置されたことによって、その不変特徴点が撮影画像に含まれなくなった場合には、その不変特徴点について、不変特徴点の設定が解除されてもよい。また、図２のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。また、図２のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００５７】
以上のように、本実施の形態による移動体１によれば、時間的に不変な特徴点を不変特徴点に設定することができる。したがって、一時的にしか存在しない移動体や人間などの特徴点を除外して、壁や設置物などの時間的に変化しない特徴点を不変特徴点に設定することができる。また、不変特徴点の条件として、抽出漏れに関する条件も追加した場合には、巡回している移動体などの特徴点を不変特徴点に設定することも回避できるようになる。さらに、そのようして設定された不変特徴点を優先的に用いて現在位置の取得を行うことによって、現在位置の精度を向上させることができる。一時的にしか存在しない移動体や人間などの特徴点を現在位置の取得に用いる可能性を低減することができるからである。
【００５８】
なお、図４では、撮影画像から抽出された特徴点と、地図に含まれる特徴点（例えば、map point）とのマッチングを直接行う場合について説明したが、そうでなくてもよい。ＯＲＢ−ＳＬＡＭのように、複数のキーフレーム（keyframe）が用いられる場合には、現在位置取得部１４は、撮影画像から抽出した特徴点と、キーフレームの特徴点とのマッチングを行ってもよい。その場合であっても、キーフレームの特徴点と地図の特徴点（map point）とが結びついているときには、結果として、撮影画像の特徴点と、地図の特徴点（map point）とのマッチングが行われたことと同様になるため、上記のようにして、特徴点管理情報を更新することができ、不変特徴点の設定を行うことができるようになる。
【００５９】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【００６０】
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う２個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う２個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
【００６１】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
【００６２】
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
【００６３】
また、上記実施の形態において、移動体１に含まれる２以上の構成要素が通信デバイスや入力デバイス等を有する場合に、２以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
【００６４】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをＣＰＵ等のプログラム実行部が読み出して実行することによって、各構成要素が実現されうる。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体（例えば、光ディスクや磁気ディスク、半導体メモリなど）に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【００６５】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【００６６】
以上より、本発明による移動体によれば、より高い精度で現在位置を取得できるという効果が得られ、撮影画像を用いて自己位置推定を行う移動体として有用である。
【符号の説明】
【００６７】
１  移動体
１１  撮影部
１２  時点情報取得部
１３  記憶部
１４  現在位置取得部
１５  特徴点管理部
１６  移動機構
１７  移動制御部
【図１】
2020030568.tif 000003
【図２】
2020030568.tif 000004
【図３】
2020030568.tif 000005
【図４】
2020030568.tif 000006
【図５Ａ】
2020030568.tif 000007
【図５Ｂ】
2020030568.tif 000008
【図５Ｃ】
2020030568.tif 000009
【図５Ｄ】
2020030568.tif 000010