明 細 書
技術分野
[0001]
本発明は、ロボットや自動車などの移動体の位置を推定する位置推定装置に関する。
背景技術
[0002]
従来、ロボットや自動車などの移動体がその周囲の情報を収集し、移動体の現在位置及び走行状態を推定し、移動体の走行を制御する自律走行技術及び運転支援技術が開発されている。移動体の周囲の情報を収集するためには様々なセンサが用いられる。一般に、周囲の情報を計測するためのセンサとしては、カメラなどの撮像装置、レーザセンサ、ミリ波レーダなどがある。移動体の位置を測定するためのセンサとしては、GPS(Global Positioning System)またはIMU(Inertial Measurement Unit)が用いられる。
[0003]
自律走行制御においては、移動体に搭載された制御装置が、例えばIMUで算出した移動体の速度または角速度を積算したり、GPS測位を用いたりして、移動体自身の位置(自己位置)を推定する。さらに、制御装置は、レーザセンサあるいはカメラなどで周囲の情報を収集し、位置推定の際の基準となる路面ペイントまたは標識のようなランドマーク等を検出する。そして、制御装置が、検出されたランドマークの位置を地図情報と比較することにより、移動体の現在位置を修正する。
[0004]
また、駐車場やトンネルのような環境では、地図情報とランドマークがなく、GPSも使えない場合があるため、移動体の周囲に存在する物体との相対位置を推定するオドメトリ法が用いられる。画像でオドメトリ法を行う場合、第一のタイミングで画像を取得し、画像処理技術で取得した画像にある特徴点を抽出し、第二のタイミングで画像を取得し、第一のタイミングの画像で抽出した特徴点を第二のタイミングで取得した画像に追跡し、第一のタイミングと第二のタイミングの画像上での特徴点の移動量を用い、カメラの移動量を推定する。ただし、カメラの移動量を推定するために、最小二乗法や試行錯誤が必要となり、処理負荷が大きい。
[0005]
ここで、例えば、「ア・ローバスト・ビズアル・オドメトリ・アンド・プレシピス・ディテクション・システム・ユージング・コンスーマー・グレード・モノキュラー・ビジョン(A Robust Visual Odometry and Precipice Detection System Using Consumer-grade Monocular Vision.)」は、画像オドメトリの処理負荷を軽減させるために、単眼カメラで取得した画像の領域を遠方領域と近傍領域とに分けて、三次元の画像オドメトリを行う。遠方領域から抽出した遠方特徴点の画像上での移動量は一定のため、遠方特徴点の移動量と一定のパラメータkを用い、カメラの方位を推定する。次に、路面は平らだと前提し、近傍領域から抽出した近傍特徴点までの距離をカメラの設置高さと角度で幾何学的に算出し、遠方特徴点で推定した方位と近傍特徴点の移動量とを用いてカメラの移動量を推定する。
先行技術文献
非特許文献
[0006]
非特許文献1 : ジェーソン・キャンベル他(Jason Campbell et al.)、「ア・ローバスト・ビズアル・オドメトリ・アンド・プレシピス・ディテクション・システム・ユージング・コンスーマー・グレード・モノキュラー・ビジョン(A Robust Visual Odometry and Precipice Detection System Using Consumer-grade Monocular Vision.)」、アイクラー2005(ICRA2005.)
発明の概要
発明が解決しようとする課題
[0007]
しかし、「ア・ローバスト・ビズアル・オドメトリ・アンド・プレシピス・ディテクション・システム・ユージング・コンスーマー・グレード・モノキュラー・ビジョン(A Robust Visual Odometry and Precipice Detection System Using Consumer-grade Monocular Vision.)」では、画像の遠方領域にある特徴点が、実際に遠方にある遠方特徴点であるとして処理をしているが、画像の遠方領域にある特徴点が必ずしも遠方特徴点であるとは限らない。例えば、走行環境によっては、画像の遠方領域に、近くにある立体物が写る場合があり、こうなると画像上での移動量が一定でなくなるため、一定のパラメータkで推定した方位では誤差が大きいという問題があった。
[0008]
本発明の目的は、精度よく移動体の位置を推定する位置推定装置を提供することにある。
課題を解決するための手段
[0009]
本発明は上記の目的を達成するために、移動体の移動量に基づいて該移動体の位置を推定する位置推定装置であって、前記移動体の周囲の画像を取得する画像取得部と、前記画像取得部で取得した画像に基づいて前記移動体の移動量を推定する移動体移動量推定部と、前記移動体移動量推定部で推定した移動量に基づいて前記移動体の位置を推定する移動体位置推定部と、を備え、前記移動体移動量推定部は、第一のタイミングで前記画像取得部によって取得した第一の画像から第一の特徴点を抽出する第一の特徴点抽出部と、前記第一のタイミングより後の第二のタイミングで前記画像取得部によって取得した第二の画像から第二の特徴点を抽出する第二の特徴点抽出部と、前記第一の特徴点を前記第二の特徴点にトラッキングするトラッキング部と、前記トラッキング部でトラッキングした前記第二の特徴点の前記移動体からの距離を算出する距離算出部と、前記距離算出部で算出した前記第二の特徴点の前記移動体からの距離に基づいて、前記移動体の方位を推定する方位推定部と、前記方位推定部で推定した前記移動体の方位に基づいて、前記移動体の移動量を推定する移動量推定部と、を有する、ことを特徴とする。
発明の効果
[0010]
本発明によれば、精度よく移動体の位置を推定する位置推定装置を提供することができる。
[0011]
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
図面の簡単な説明
[0012]
[図1] 本発明の実施例1に係る位置推定装置1の構成を示すブロック図。
[図2] 図1に示した画像処理部14の機能ブロック図。
[図3] 図1に示した画像処理部14が行う画像処理手順を示すフローチャート。
[図4A] 従来技術における一定のパラメータkによる位置推定の原理について説明する図であって、移動体100と立体物との位置関係を示すとともに立体物を撮像した画像を示す図。
[図4B] 従来技術における一定のパラメータkによる位置推定の原理について説明する図であって、グラフ36は特徴点の画像上での移動量と特徴点が抽出された立体物の距離dとの関係を表すグラフ、グラフ38はパラメータkと特徴点が抽出された立体物の距離dとの関係を表すグラフ。
[図5A] 実施例1による、立体物の距離dが距離daより近い場合の位置推定方法について説明する図であって、移動体100が移動量41の移動をした場合を示す図。
[図5B] 実施例1による、立体物の距離dが距離daより近い場合の位置推定方法について説明する図であって、移動体100が移動量45の移動をした場合を示す図。
[図6A] 実施例1のΔxと特徴点への距離を用いた位置推定方法の詳細を説明する図であって、移動体100と特徴点との位置関係を示すとともに特徴点を撮像した画像を示す図。
[図6B] 実施例1のΔxと特徴点への距離を用いた位置推定方法の詳細を説明する図であって、グラフ55はパラメータkと特徴点の距離との関係を表すグラフ。
[図7] 実施例1における、複数の特徴点を抽出した場合の処理を説明する図。
[図8] 実施例1における、単眼カメラとステレオカメラとでの位置推定処理の違いについて説明する図である。
発明を実施するための形態
[0013]
以下、添付図面を参照して本発明の実施例について説明する。なお、添付図面や以下の説明は、本発明の原理に則った具体的な実施例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
実施例 1
[0014]
図1は、本発明の実施例1に係る位置推定装置1の構成を示すブロック図である。
[0015]
位置推定装置1は、自動車やロボットなどの移動体100に搭載されている。位置推定装置1は、一台以上の撮像装置12(図1では、撮像装置12a、12b、・・・12n)と、情報処理装置13と、を有する。なお、以下において、撮像装置12と表記した場合は、撮像装置12a、12b、・・・12nのそれぞれのことを指す。本実施例では、撮像装置12によって撮像された画像に基づいて移動体100の位置を推定するが、本発明はこれに限られるものではなく、例えば、移動体100とは別の移動体や静止体によって移動体100の周囲の画像を取得し、この画像に基づいて移動体100の位置を推定するものであってもよい。
[0016]
撮像装置12は、例えばスチルカメラまたはビデオカメラでよい。撮像装置12は単眼カメラ(一つの撮像部を有するカメラ)またはステレオカメラ(複数の撮像部を有して視差画像を撮像可能なカメラ)でもよい。
[0017]
情報処理装置13は、撮像装置12で撮像された画像を処理して移動体100の位置または移動量を算出する。情報処理装置13は、算出された位置または移動量に応じた表示を行ってもよく、または移動体100の制御に関する信号を出力してもよい。
[0018]
情報処理装置13は、例えば一般的なコンピュータであって、撮像装置12によって撮像された画像を処理する画像処理部14と、画像処理部14による画像処理結果に基づく処理を行う制御部(CPU)15と、メモリ16と、ディスプレイなどの表示部17と、これら構成要素を相互に接続するバス18と、を有する。情報処理装置13は、画像処理部14及び制御部15が所定のコンピュータプログラムを実行することにより、以下の処理を行ってもよい。
[0019]
撮像装置12aは、例えば、移動体100の前方に設置されている。撮像装置12aのレンズは移動体100の前方に向けられている。撮像装置12aは、例えば、移動体100の前方の遠景を撮像する。他の撮像装置12b、・・・撮像装置12nは、撮像装置12aと異なる位置に設置され、撮像装置12aと異なる撮像方向または領域を撮像する。
撮像装置12bは、例えば、移動体100の後方で下方に向けて設置されていてもよい。
撮像装置12bは、移動体100の後方の近景を撮像するものでよい。
[0020]
撮像装置12が単眼カメラの場合、路面が平らであれば、撮像画像上のピクセル位置と実際の位置関係(x,y)とが一定になるため、撮像装置12による撮像画像に基づき、移動体から特徴点までの距離を幾何学的に計算できる。撮像装置12がステレオカメラの場合、画像上の特徴点までの距離をより正確に計測できる。以下の説明では、単眼の標準レンズを有するカメラを採用した事例について説明するが、本発明はこれ以外のカメラ(広角レンズを有するカメラまたはステレオカメラなど)であってもよい。
[0021]
また、撮像装置12a、撮像装置12b、・・・撮像装置12nが、ある時刻で撮像する対象物は、それぞれ互いに異なるものでよい。例えば、撮像装置12aは、移動体100の前方の遠景を撮像するものでよい。この場合、遠景を撮像した画像からは、障害物、または位置推定のためのランドマークなどの特徴点が抽出されるようにしてもよい。撮像装置12bは、移動体100の周辺の路面などの近景を撮像するようにしてもよい。この場合、近景を撮像した画像からは、移動体100の周囲の白線、または路面ペイントなどの特徴点が検出されるようにしてもよい。
[0022]
また、撮像装置12a、撮像装置12b、・・・撮像装置12nは、同時に雨や日差しなどの環境外乱の影響を受けないような条件で移動体100に設置されてもよい。例えば、撮像装置12aは移動体100の前方で前向きに設置されるのに対して、撮像装置12bは移動体100の後方で後ろ向きまたは下向きに設置されてもよい。これにより、例えば、降雨時に撮像装置12aのレンズに雨滴が付着した場合でも、進行方向の逆向きまたは下向きの撮像装置12bのレンズには雨滴が付着しにくい。このため、撮像装置12aが撮像した画像が雨滴の影響で不鮮明であっても、撮像装置12bが撮像した画像は雨滴の影響を受けにくい。あるいは、日差しの影響で撮像装置12aの画像が不鮮明であっても、撮像装置12bが撮像した画像は鮮明である場合がある。
[0023]
また、撮像装置12a、撮像装置12b、・・・撮像装置12nは、互いに異なる撮像条件(絞り値、ホワイトバランス、等)で撮影してもよい。例えば、明るい場所用にパラメータを調整した撮像装置と、暗い場所用にパラメータを調整した撮像装置とを搭載することで、環境の明暗によらず撮像可能としてもよい。
[0024]
撮像装置12a、撮像装置12b、・・・撮像装置12nは、制御部15から撮像開始の指令を受けたとき、または一定の時間間隔で画像を撮像してもよい。撮像装置12a、撮像装置12b、・・・撮像装置12nによって撮像された画像の画像データ及び撮像時刻は、メモリ16に格納される。
[0025]
メモリ16は、情報処理装置13の主記憶装置(メインメモリ)及びストレージなどの補助記憶装置を含む。
[0026]
画像処理部14は、メモリ16に格納された画像データ及び撮像時刻に基づいて、様々な画像処理を行う。この画像処理では、例えば、中間画像が作成されてメモリ16に保存される。中間画像は、画像処理部14による処理の他、制御部15などの判断や処理に利用されてもよい。
[0027]
バス18は、IEBUS(Inter Equipment Bus)やLIN(Local Interconnect Network)やCAN(Controller Area Network)などで構成できる。
[0028]
画像処理部14は、撮像装置12で撮像された画像に基づいて移動体100の複数の位置候補を特定し、その複数の位置候補と移動体100の移動速度とに基づいて移動体100の位置を推定する。
[0029]
画像処理部14は、例えば、移動体100の走行中に撮像装置12が撮像した画像を処理して、移動体100の位置を推定する。例えば、画像処理部14は、撮像装置12が撮像したビデオ画像で移動体100の移動量を算出し、スタート地点に移動量を加算して現在位置を推定してもよい。
[0030]
画像処理部14は、ビデオ画像の各フレーム画像で特徴点を抽出してもよい。画像処理部14は、さらに、次以降のフレーム画像で同じ特徴点を抽出する。そして、画像処理部14は、特徴点のトラッキング(追跡)により移動体100の移動量を算出してもよい。
[0031]
制御部15は、画像処理部14の画像処理の結果に基づいて、移動体100に対して移動速度に関する指令を出力してもよい。例えば、制御部15は、画像内の障害物の画素数、画像内の特徴点のうちの外れ値の数または画像処理の種類等に応じて、移動体100の移動速度を増加させる指令、減少させる指令または維持させる指令を出力してもよい。
[0032]
図2は、図1に示した画像処理部14の機能ブロック図である。
[0033]
画像処理部14は、撮像装置12が撮像した画像に基づいて移動体100の移動量を推定する移動体移動量推定部101と、移動体移動量推定部101で推定した移動量に基づいて移動体100の位置を推定する移動体位置推定部102と、を備えている。
[0034]
また、詳しくは後述するように、移動体移動量推定部101は、第一のタイミングで撮像装置12によって撮像した第一の画像から第一の特徴点を抽出する第一の特徴点抽出部103と、第一のタイミングより後の第二のタイミングで撮像装置12によって撮像した第二の画像から第二の特徴点を抽出する第二の特徴点抽出部104と、第一の特徴点を第二の特徴点にトラッキングするトラッキング部105と、トラッキング部105でトラッキングした第二の特徴点の移動体100からの距離を算出する距離算出部106と、距離算出部106で算出した第二の特徴点の移動体100からの距離に基づいて、移動体100の方位を推定する方位推定部107と、方位推定部107で推定した移動体100の方位に基づいて、移動体100の移動量を推定する移動量推定部108と、を有する。
[0035]
また、詳しくは後述するように、移動体移動量推定部101は、複数の第一の特徴点の各々及び複数の第二の特徴点の各々が、移動体100とは別の、他の移動体(例えば、図7に示す移動体63)から抽出した特徴点であるか否かを検出する検出部109を有し、方位推定部107は、検出部109で他の移動体63から抽出した特徴点であると検出された特徴点を、複数の第一の特徴点、及び複数の第二の特徴点から削除する。
[0036]
図3は、図1に示した画像処理部14が行う画像処理手順を示すフローチャートである。
[0037]
画像処理部14は、撮像装置12a、撮像装置12b、・・・撮像装置12nが撮像した画像データをメモリ16から取得する(ステップS21)。ステップS21で取得する画像データは撮像装置12a、撮像装置12b、・・・撮像装置12nが撮像した画像のうちの一枚のみ、または、複数の画像データでよい。また、ステップS21は、撮像装置12a、撮像装置12b、・・・撮像装置12nがそれぞれ撮像した最新の画像のみならず、過去撮像した画像でもよい。以下では、時系列で撮像したフレーム画像を取得した場合について説明する。
[0038]
次に、画像処理部14の第一の特徴点抽出部103及び第二の特徴点抽出部104は、取得した各フレーム画像内の特徴点を抽出する(ステップS22)。特徴点は、例えば、画像内のエッジやコーナーやピクセル強度の最大値や最小値などでよい。特徴点の抽出には、Canny、Sobel、FAST、Hessian、Gaussianなどの技術を用いてもよい。具体的なアルゴリズムは、画像の特徴に応じて適宜選択される。
[0039]
画像処理部14のトラッキング部105は、フレーム画像の時系列に従って、各フレーム画像でそれぞれ抽出された特徴点をトラッキング(追跡)する(ステップS23)。トラッキングにはLucas-Kanade法やShi-Tomasi法やDirect Matching法などの技術を用いてもよい。また、ステップS23のトラッキングは、直前や直後取得したフレームの特徴点に限らず、数フレーム間隔でもよい。具体的なアルゴリズムは、画像の特徴に応じて適宜選択される。
[0040]
次に、画像処理部14の距離算出部106は、ステップS23でトラッキングした特徴点のそれぞれについて、特徴点までの距離(移動体100から特徴点までの距離。以下、単に「特徴点までの距離」、「特徴点の距離」または「特徴点への距離」と記載したときは、移動体100から特徴点までの距離を指す。)を算出する(ステップS24)。撮像装置12a、撮像装置12b、・・・撮像装置12nの設置高さと角度を用いて、幾何学的に特徴点の距離を算出してもよい。また、撮像装置12a、撮像装置12b、・・・撮像装置12nがステレオカメラの場合、視差画像を用いて距離を算出してもよい。また、撮像装置12a、撮像装置12b、・・・撮像装置12nは、単眼カメラやステレオカメラの組み合わせで構成してもよい。最終的に、画像に写る特徴点への距離を算出できる装置であれば、どのカメラや組み合わせでもよい。
[0041]
次に、画像処理部14の方位推定部107は、ステップS24で算出した距離に基づいて移動体100の方位を推定するためのパラメータkを算出する(ステップS25)。パラメータkの詳細は後述する。
[0042]
次に、画像処理部14の移動量推定部108は、は、特徴点トラッキングの結果に基づいて、移動体100の移動量を推定する(ステップS26)。移動体100の移動量推定の詳細は後述する。
[0043]
次に、画像処理部14は、前述ステップS21からステップS26で取得した画像、特徴点、特徴点への距離(移動体100から特徴点までの距離)、推定した移動量などの情報を表示部17に表示する(ステップS27)。いずれかの情報のみを表示してもよいし、すべての情報を表示してもよい。
[0044]
ここで、図4A及び図4Bを用いて、従来技術である「ア・ローバスト・ビズアル・オドメトリ・アンド・プレシピス・ディテクション・システム・ユージング・コンスーマー・グレード・モノキュラー・ビジョン(A Robust Visual Odometry and Precipice Detection System Using Consumer-grade Monocular Vision.)」における一定のパラメータkによる位置推定の原理について説明する。
[0045]
図4Aは、従来技術における一定のパラメータkによる位置推定の原理について説明する図であって、移動体100と立体物との位置関係を示すとともに立体物を撮像した画像を示す図である。
[0046]
図4Bは、従来技術における一定のパラメータkによる位置推定の原理について説明する図であって、グラフ36は特徴点の画像上での移動量と特徴点が抽出された立体物の距離dとの関係を表すグラフであり、グラフ38はパラメータkと特徴点が抽出された立体物の距離dとの関係を表すグラフである。
[0047]
まず、図4Aを参照しながら説明する。移動量31は移動体100が走行した移動量である。ここでは、簡単のため、移動量31を、移動体100のx方向の変化分(Δx)、y方向の変化分(Δy)及び方位(yaw)の変化分(Δyaw)で構成するものとする。
[0048]
距離32は移動体100が移動量31を走行した後の位置から、遠方にある立体物までの距離である。
[0049]
フレーム33は移動体100が移動量31を走行した後の撮像装置12a、撮像装置12b、・・・撮像装置12nが撮像した画像のうちの一枚である。なお、フレーム33では、見やすさのため、移動体100が走行前に撮像した立体物の位置を示し、走行による各特徴点の移動方向及び移動量を移動量35a、移動量35b、移動量35cの矢印で示している。
ステップS21からステップS23で抽出した特徴点34a、特徴点34b、特徴点34cの画像上での移動量はそれぞれ移動量35a、移動量35b、移動量35cとなる。これらの特徴点について移動前が第一の特徴点であり、移動後が第二の特徴点である。
[0050]
移動体100が移動量31を走行した後、近傍にある特徴点34aの画像上での移動量35aはu≠0、v≠0となるが、遠方にある特徴点34b、特徴点34cの移動量35b、移動量35cはu≠0、vはほぼ0となる。
[0051]
また、特徴点34aが抽出された立体物(ただし、図4A及び図4Bの例では立体物ではなく路面の白線である。)は、特徴点34bと特徴点34cが抽出されて立体物に比べて移動体100に近いため、画像上での移動量35a>移動量35b、移動量35a>移動量35cである。
[0052]
従って、遠方の特徴点34b、特徴点34cの画像上での移動量35b、移動量35cは移動体100のΔyawのみに依存し、フレーム33のu方向のみに移動するため、遠方特徴点の画像上での移動量だけで移動体100のΔyawを推定できる。
[0053]
一方、近傍の特徴点34aの画像上での移動量35aは移動体100のΔyawと(Δx,Δy)に影響されるため、フレーム33のu方向とv方向とに移動する。従って、近傍特徴点の画像上での移動量は、Δyawと(Δx,Δy)が混ざっているため、それぞれを推定できない。
[0054]
ここで、特徴点の画像上での移動量と特徴点が抽出された立体物の距離d(移動体100から立体物までの距離d)との関係を表すグラフ36を、図4Bの上のグラフで示している。グラフ36において、縦軸は、特徴点の画像上での移動量(Δuの曲線はu方向の移動量、Δvの曲線はv方向の移動量)であり、横軸は、立体物の距離dである。
[0055]
また、パラメータkと特徴点が抽出された立体物の距離dとの関係を表すグラフ38を、図4Bの下のグラフで示している。グラフ38において、縦軸は、パラメータkであり、横軸は、立体物の距離dである。
[0056]
グラフ36からも分かるように、ステップS21からステップS23で得られた特徴点の距離dが距離daより近ければ、移動量31と特徴点への距離dによる画像上でのΔuとΔvが大きく変わる。一方、ステップS21からステップS23で得られた特徴点の距離dが距離daより遠ければ、特徴点への距離dに依存せず、画像上でのΔuとΔvが一定である。従って、ステップS21からステップ23で得られた特徴点の距離dが距離daより遠い場合、グラフ38と数1が示すようにΔuと一定のパラメータkで移動体100の方位を推定できる。
[0057]
[数1]
[0058]
一方、ステップS21からステップS23で得られた特徴点の距離dが距離daより近ければ、画像上でのΔuとΔvが一定でないため、方位を推定する場合、一定のパラメータkで精度よく方位を推定できない。
[0059]
距離daは、撮像装置12a、撮像装置12b・・・撮像装置12nの画質や画角によって異なるが、経験的に距離daを設定する。
[0060]
図5Aは、実施例1による、立体物の距離dが距離daより近い場合の位置推定方法について説明する図であって、移動体100が移動量41の移動をした場合を示す図である。
[0061]
図5Bは、実施例1による、立体物の距離dが距離daより近い場合の位置推定方法について説明する図であって、移動体100が移動量45の移動をした場合を示す図である。
[0062]
図5Aの移動量41は移動体100が走行した移動量である。簡単のため、移動体100の移動量41のΔyaw、Δx、ΔyをΔyaw=0、Δx=0、Δy≠0とする。
[0063]
画像42aは移動体100が移動量41を走行した後の撮像装置12a、撮像装置12b、・・・撮像装置12nが撮像した画像のうちの一枚を表す。なお、画像42aでは、見やすさのため、移動体100が走行前に撮像した立体物の位置を示し、走行による各特徴点の移動方向及び移動量を移動量44a、移動量44bの矢印で示している。
[0064]
特徴点43aと特徴点43bは、ステップS21からステップS23で得られた近傍特徴点である。
[0065]
移動量44aと移動量44bは、画像42でのステップS21からステップS23で得られた近傍特徴点43aと特徴点43bの移動量である。ここで、移動量44aと移動量44bのΔuは、Δu≠0であるため、上述した従来技術の式である数1にΔuを代入すると、Δyaw≠0となり、移動体100のΔyawは誤って推定される。一方、画像42は移動体100が移動量41を走行した後の撮像装置12a、撮像装置12b、・・・撮像装置12nが撮像した画像上でのΔuの実際のΔxは、Δx=0である。
[0066]
図5Bの移動量45は移動体100が走行した移動量である。この場合、移動体100の移動量45のΔyaw、Δx、ΔyをΔyaw≠0、Δx≠0、Δy≠0とする。
[0067]
画像42bは移動体100が移動量45を走行した後の撮像装置12a、撮像装置12b、・・・撮像装置12nが撮像した画像のうちの一枚を表す。なお、画像42bでは、見やすさのため、移動体100が走行前に撮像した立体物の位置を示し、走行による各特徴点の移動方向及び移動量を移動量44a、移動量44bの矢印で示している。
[0068]
特徴点46aと特徴点46bは、ステップS21からステップS23で得られた近傍特徴点である。
[0069]
移動量47aと移動量47bは、画像42bでのステップS21からステップS23で得られた近傍特徴点46aと特徴点46bの移動量である。ここで、移動量47aと移動量47bのΔuは、Δu≠0であるため、上述した従来技術の式である数1にΔuを代入すると、Δyaw≠0となるが、特徴点46bへの距離は特徴点46aへの距離より近いため、移動量47a<移動量47bとなり、移動量47aで推定するΔyawと移動量47bで推定するΔyawとは異なる。一方、画像42bは移動体100が移動量45を走行した後の撮像装置12a、撮像装置12b、・・・撮像装置12nが撮像した画像上でのΔuの実際のΔxは、Δx≠0となる。
[0070]
図5A及び図5Bの説明から分かるように、Δyawと共に変化するのは、従来技術で用いていたΔuではなく、Δx(すなわち横方向の移動量)である。従って、近傍特徴点でΔyawを推定する場合、特徴点への距離dと特徴点の実際のΔxを用いるのがよい。
[0071]
図6Aは、実施例1のΔxと特徴点への距離を用いた位置推定方法の詳細を説明する図であって、移動体100と特徴点との位置関係を示すとともに特徴点を撮像した画像を示す図である。
[0072]
図6Bは、実施例1のΔxと特徴点への距離を用いた位置推定方法の詳細を説明する図であって、グラフ55はパラメータkと特徴点の距離との関係を表すグラフである。グラフ55において、縦軸は、パラメータkであり、横軸は、立体物の距離dである。グラフ55の関係は、予め求めておき、例えばテーブル形式でメモリ16に記憶しておいてもよいし、グラフ55の関係の近似式をメモリ16に記憶しておいてもよい。
[0073]
移動量51は、移動体100が時間t
n-1から時間t
nまでの間に走行する移動量である。移動量51のΔyaw、Δx、ΔyをΔyaw≠0、Δx≠0、Δy≠0とする。
[0074]
点52aは、移動体100の近傍にある点であり、時間t
n-1に撮像装置12a、撮像装置12b、・・・撮像装置12nが取得した画像上でのステップS21からステップS23で得られた特徴点52bに相当する点である。移動体100が(Δx,Δy,Δyaw)を移動すると、撮像装置12a、撮像装置12b、・・・撮像装置12nが取得した画像上で、特徴点52bはΔyawによる移動で(X
n-1,Y
n-1)から(X’n-1,Y’
n-1)に移動し、点53になる。次に、ΔxとΔyの移動で、点53は特徴点54になる。つまり、移動量51による特徴点52bから特徴点54への移動は、数2と数3で表せる。
[0075]
[数2]
[0076]
[数3]
[0077]
ただし、移動体100はx方向に移動できない(例えば、真横に移動できない。)と前提条件を付けると、ΔxはΔx=0となる。従って、数2は数4となり、ステップS21からステップS23で得られた特徴点の移動量からX
n、X
n-1、Y
n、Y
n-1を数5に代入し、数5を解くとΔyaw
nを算出できる。
[0078]
[数4]
[0079]
[数5]
[0080]
また、y方向の移動量がGPSや他センサにより既知の場合、ステップS21からステップS23で得られた特徴点の移動量から方位による移動量とy方向による移動量を区別できるため、数5に代入せずに、GPSや他センサから得られた(Δx,Δy)を用いて、特徴点54を点53に直し、メモリ16に記憶してある図6Bのグラフ55の関係を用いて方位を推定する。ここで、時間t
n-1における点52aへの距離である距離d
n-1及び時間t
nにおける点52aへの距離である距離d
nを、数6及び数7により算出する。数6及び数7において、Sqrt()は()内の値の正の平方根を求める関数である。
[0081]
[数6]
[0082]
[数7]
[0083]
従って、距離d
n-1とd
nをグラフ55に代入すると、パラメータk
n-1とk
nが得られる。パラメータk
n-1とk
nの平均を算出し、新たなパラメータkを算出し、数1からΔyawを推定してもよい。また、時間t
n-1とt
nの間に移動体100が移動するため、点52aへの距離がd
n-1から距離d
nへ変化していくため、数8によりΔyawを推定してもよい。なお、数8において、パラメータkは距離dの関数であり(すなわち、k=f(d))、数8では、距離d
n-1~距離d
nの範囲で、距離dに対して積分を算出する。
[0084]
[数8]
[0085]
図7は、実施例1における、複数の特徴点を抽出した場合の処理を説明する図である。
[0086]
移動量61は移動体100が走行する移動量である。
[0087]
静止点62は、移動体100が移動量61を走行する時の画像上でステップS21からステップS23で特徴点を抽出した点である。静止点62は、例えば、路面上や建物にある点である。また、静止点62は一点とは限らず、複数点であってもよい。ステップS21からステップS26で静止点62を用いて位置推定行う場合、点毎に推定値の候補(Δx,Δy,Δyaw)
1、(Δx,Δy,Δyaw)
2、・・・(Δx,Δy,Δyaw)
nが得られるため、最終的に推定値を決定する手段が必須である。ここで、ステップS21からステップS26で得られた推定値の候補(Δx,Δy,Δyaw)
1、(Δx,Δy,Δyaw)
2、・・・(Δx,Δy,Δyaw)
nの平均を算出し、推定値を決定してもよい。また、ステップS21からステップS26で得られた推定値の候補(Δx,Δy,Δyaw)
1、(Δx,Δy,Δyaw)
2、・・・(Δx,Δy,Δyaw)
nの中央値を算出し、推定値を決定してもよい。
[0088]
移動体63は、移動体100の周囲を走行している移動体である。
[0089]
動点64は、移動体100が移動量61を走行する時の画像上でステップS21からステップS23で移動体63から特徴点を抽出した点である。動点64は一点とは限らず、複数点であってもよい。簡単のため動点64を移動体63にある点とするが、歩行者、他車、動物などの静止していない立体物であってもよい。移動体63が静止していないため、移動体100の撮像装置12a、撮像装置12b、・・・撮像装置12nの画像上での動点64の移動量は静止点62の移動量と異なる。従って、移動体63にある動点64から得られた特徴点で移動体100の位置推定を行う場合、推定した位置の誤差が大きい。
[0090]
ここで、移動体63の特徴点による影響を軽減させるための処理を説明する。
[0091]
静止点62の点数が動点64の点数より多いという前提条件を付けて、ステップS21からステップS26で得られた推定値の候補(Δx,Δy,Δyaw)
1、(Δx,Δy,Δyaw)
2、・・・(Δx,Δy,Δyaw)
nの平均や中央値を算出し、推定値を決定する。
[0092]
一方、静止点62の点数と動点64の点数が未知の場合、移動体を障害物として検出する既知の障害物検出技術と組み合わせ、移動体63が障害物として検出された後、ステップS21からステップS23で移動体63から抽出した特徴点を削除し、移動体100の位置を推定するときに削除された特徴点を利用しないようにしてもよい。例えば、画像処理部14の検出部109は、各特徴点の各々が、移動体100とは別の、他の移動体(例えば、移動体63)から抽出した特徴点であるか否かを検出し、画像処理部14の方位推定部107は、検出部109で他の移動体(例えば、移動体63)から抽出した特徴点であると検出された特徴点を、方位推定の際に利用する特徴点から削除(除外)する。
[0093]
また、過去時系列に推定した位置情報を保存しておき、保存してある過去の位置情報に基づいて次のフレームでの位置を予測し、最新フレームでステップS21からステップS26から得られた特徴点の移動量を、保存してある時系列の位置情報に基づき予測した位置と比較し、予測との差が大きい特徴点を削除するようにしてもよい。位置の予測は、例えば、過去推定した位置の多項式による補間やKalman Filterのような確率的な手法で算出することで行うことができる。
[0094]
図8は、実施例1における、単眼カメラとステレオカメラとでの位置推定処理の違いについて説明する図である。
[0095]
撮像装置71は、図1に示した撮像装置12a、撮像装置12b、・・・撮像装置12nに相当する撮像装置である。ここでは、簡単のため、撮像装置12a、撮像装置12b、・・・撮像装置12nのうちの一台に相当する撮像装置を、撮像装置71として示して説明するが、撮像装置71と同様のステレオカメラや単眼カメラを複数台備えた構成であってもよい。
[0096]
路面72は、移動体100が走行中の路面である。高さHは、撮像装置71の路面72に対する設置高さである。立体物74は、路面72の上にある静止立体物である。
[0097]
点75は、撮像装置71でステップS21からステップS23で立体物74から特徴点を抽出する点である。点75bは、撮像装置71から点75と同じ方向で路面72の上にある点である。点75cは、立体物74と路面72の接触点である。点76は撮像装置71でステップS21からステップS23で路面72から特徴点を抽出する点である。
[0098]
撮像装置71がステレオカメラである場合、点75や点76への距離を算出できるため、前述したようにメモリ16に記憶してある図6Bのグラフ55の関係を用いて点ごとにパラメータkを算出し、このパラメータkを用いて移動体100の方位と移動量を推定するようにしてもよい。
[0099]
一方、撮像装置71が単眼カメラである場合、点75や点76への距離を直接算出できないため、他の技術を活用する。例えば、立体物が写っている画像と立体物への距離をDeep Learning技術で学習し、撮像装置71とステップS21で取得した画像に写っている立体物の距離を推定し、図6Bのグラフ55の関係を用いて点ごとにパラメータkを算出し、このパラメータkを用いて移動体100の方位と移動量を推定するようにしてもよい。
[0100]
また、撮像装置71が単眼カメラである場合、撮像装置71の路面72に対する設置高さHと、撮像装置71の路面72に対する設置角度とで、路面にある特徴点への距離を幾何学的に算出するようにしてもよい。一方、点75のように路面72以外にある点の場合、幾何学的に距離を算出する場合、点75と、撮像装置71から点75と同じ方向で路面72の上にある点75bと、の区別ができないため、点75ではなく、点75bへの距離を誤って推定してしまうことになる。従って、単眼による障害物検出を用いて、立体物74と路面72との接触点である点75cを算出し、この点75cへの距離を算出し、点75cと点75を結ぶ直線は路面72に対して垂直であると前提し、点75cへの距離に基づいて点75への距離を算出し、移動体100の方位と移動量を推定するようにしてもよい。
[0101]
また、撮像装置71が単眼カメラである場合、Simultaneous Localization And Mapping(SLAM)技術を用いて、移動体100の移動量と点75を数フレームにトラッキングし、点75への距離を算出し、移動体100の方位と移動量を推定するようにしてもよい。
[0102]
<付記1>
なお、以上説明した本発明は、
1.
移動体の移動量に基づいて該移動体の位置を推定する位置推定装置であって、
前記移動体の周囲の画像を取得する画像取得部(例えば、撮像装置12)と、
前記画像取得部で取得した画像に基づいて前記移動体の移動量を推定する移動体移動量推定部(例えば、移動体移動量推定部101)と、
前記移動体移動量推定部で推定した移動量に基づいて前記移動体の位置を推定する移動体位置推定部(例えば、移動体位置推定部102)と、を備え、
前記移動体移動量推定部は、
第一のタイミングで前記画像取得部によって取得した第一の画像から第一の特徴点を抽出する第一の特徴点抽出部(例えば、第一の特徴点抽出部103)と、
前記第一のタイミングより後の第二のタイミングで前記画像取得部によって取得した第二の画像から第二の特徴点を抽出する第二の特徴点抽出部(例えば、第二の特徴点抽出部104)と、
前記第一の特徴点を前記第二の特徴点にトラッキングするトラッキング部(例えば、トラッキング部105)と、
前記トラッキング部でトラッキングした前記第二の特徴点の前記移動体からの距離を算出する距離算出部(例えば、距離算出部106)と、
前記距離算出部で算出した前記第二の特徴点の前記移動体からの距離に基づいて、前記移動体の方位を推定する方位推定部(例えば、方位推定部107)と、
前記方位推定部で推定した前記移動体の方位に基づいて、前記移動体の移動量を推定する移動量推定部(例えば、移動量推定部108)と、を有する、
ことを特徴とする位置推定装置、としたので、
・精度よく移動体の位置を推定する位置推定装置を提供することができる。
・すなわち、移動体の方位の推定において、第二の特徴点の移動体からの距離を考慮することで、精度よく方位を推定することができる。
[0103]
また、本発明は、
2.
1.に記載の位置推定装置において、
前記方位推定部は、前記第二の特徴点の前記移動体からの距離に応じたパラメータを算出し、該パラメータを用いて前記移動体の方位を推定する、ことを特徴とする位置推定装置、としたので、
・第二の特徴点の移動体からの距離に応じたパラメータを用いることで、精度よく移動体の位置を推定することができる。
[0104]
また、本発明は、
3.
1.に記載の位置推定装置において、
前記方位推定部は、前記第二の特徴点の前記移動体に対する横方向の移動量に基づいて、前記移動体の方位を推定する、ことを特徴とする位置推定装置、としたので、
・第二の特徴点の移動体に対する横方向の移動量を用いることで、精度よく移動体の位置を推定することができる。
[0105]
また、本発明は、
4.
1.に記載の位置推定装置において、
前記画像取得部は、前記移動体に搭載され、該移動体の周囲の画像を撮像して取得する撮像装置である、ことを特徴とする位置推定装置、としたので、
・移動体に搭載された撮像装置によって移動体の周囲の画像を撮像して取得することで、移動体の周囲を確実に撮像することができる。
[0106]
また、本発明は、
5.
1.に記載の位置推定装置において、
前記第一の特徴点は複数の第一の特徴点であり、
前記第二の特徴点は複数の第二の特徴点であり、
前記距離算出部は、前記複数の第一の特徴点の各々の前記移動体からの距離を算出するとともに、前記複数の第二の特徴点の各々の前記移動体からの距離を算出し、
前記方位推定部は、前記距離算出部で算出した前記複数の第一の特徴点の各々の前記移動体からの距離、及び前記距離算出部で算出した前記複数の第二の特徴点の各々の前記移動体からの距離に基づいて、前記移動体の方位を推定する、ことを特徴とする位置推定装置、としたので、
・複数の第一の特徴点、複数の第二の特徴点の移動体からの距離を考慮することで、精度よく方位を推定することができる。
[0107]
また、本発明は、
6.
5.に記載の位置推定装置において、
前記方位推定部は、前記複数の第一の特徴点の各々の前記移動体からの距離の各々、及び前記複数の第二の特徴点の各々の前記移動体からの距離の各々に応じた複数のパラメータを算出し、該複数のパラメータを用いて前記移動体の方位を推定する、ことを特徴とする位置推定装置、としたので、
・複数の第一の特徴点、複数の第二の特徴点の移動体からの距離に応じたパラメータを用いることで、精度よく移動体の位置を推定することができる。
[0108]
また、本発明は、
7.
5.に記載の位置推定装置において、
前記移動体移動量推定部は、前記複数の第一の特徴点の各々及び前記複数の第二の特徴点の各々が、前記移動体とは別の、他の移動体(例えば、移動体63)から抽出した特徴点であるか否かを検出する検出部(例えば、検出部109)を有し、
前記方位推定部は、前記検出部で前記他の移動体から抽出した特徴点であると検出された特徴点を、前記複数の第一の特徴点、及び前記複数の第二の特徴点から削除する、ことを特徴とする位置推定装置、としたので、・他の移動体から抽出した特徴点を、複数の第一の特徴点、及び複数の第二の特徴点から削除することで、誤差を除外し、精度よく移動体の位置を推定することができる。
[0109]
なお、本発明は、上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
[0110]
また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。
[0111]
また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
[0112]
また、上述した個々の実施例の各要素のいかなる組合せも本発明に含むものである。
符号の説明
[0113]
1…位置推定装置、12…撮像装置、13…情報処理装置、14…画像処理部、15…制御部、16…メモリ、17…表示部、100…移動体、101…移動体移動量推定部、102…移動体位置推定部、103…第一の特徴点抽出部、104…第二の特徴点抽出部、105…トラッキング部、106…距離算出部、107…方位推定部、108…移動量推定部、109…検出部。
請求の範囲
[請求項1]
移動体の移動量に基づいて該移動体の位置を推定する位置推定装置であって、
前記移動体の周囲の画像を取得する画像取得部と、
前記画像取得部で取得した画像に基づいて前記移動体の移動量を推定する移動体移動量推定部と、
前記移動体移動量推定部で推定した移動量に基づいて前記移動体の位置を推定する移動体位置推定部と、を備え、
前記移動体移動量推定部は、
第一のタイミングで前記画像取得部によって取得した第一の画像から第一の特徴点を抽出する第一の特徴点抽出部と、
前記第一のタイミングより後の第二のタイミングで前記画像取得部によって取得した第二の画像から第二の特徴点を抽出する第二の特徴点抽出部と、
前記第一の特徴点を前記第二の特徴点にトラッキングするトラッキング部と、
前記トラッキング部でトラッキングした前記第二の特徴点の前記移動体からの距離を算出する距離算出部と、
前記距離算出部で算出した前記第二の特徴点の前記移動体からの距離に基づいて、前記移動体の方位を推定する方位推定部と、
前記方位推定部で推定した前記移動体の方位に基づいて、前記移動体の移動量を推定する移動量推定部と、を有する、ことを特徴とする位置推定装置。
[請求項2]
請求項1に記載の位置推定装置において、
前記方位推定部は、前記第二の特徴点の前記移動体からの距離に応じたパラメータを算出し、該パラメータを用いて前記移動体の方位を推定する、ことを特徴とする位置推定装置。
[請求項3]
請求項1に記載の位置推定装置において、
前記方位推定部は、前記第二の特徴点の前記移動体に対する横方向の移動量に基づいて、前記移動体の方位を推定する、ことを特徴とする位置推定装置。
[請求項4]
請求項1に記載の位置推定装置において、
前記画像取得部は、前記移動体に搭載され、該移動体の周囲の画像を撮像して取得する撮像装置である、ことを特徴とする位置推定装置。
[請求項5]
請求項1に記載の位置推定装置において、
前記第一の特徴点は複数の第一の特徴点であり、
前記第二の特徴点は複数の第二の特徴点であり、
前記距離算出部は、前記複数の第一の特徴点の各々の前記移動体からの距離を算出するとともに、前記複数の第二の特徴点の各々の前記移動体からの距離を算出し、
前記方位推定部は、前記距離算出部で算出した前記複数の第一の特徴点の各々の前記移動体からの距離、及び前記距離算出部で算出した前記複数の第二の特徴点の各々の前記移動体からの距離に基づいて、前記移動体の方位を推定する、ことを特徴とする位置推定装置。
[請求項6]
請求項5に記載の位置推定装置において、
前記方位推定部は、前記複数の第一の特徴点の各々の前記移動体からの距離の各々、及び前記複数の第二の特徴点の各々の前記移動体からの距離の各々に応じた複数のパラメータを算出し、該複数のパラメータを用いて前記移動体の方位を推定する、ことを特徴とする位置推定装置。
[請求項7]
請求項5に記載の位置推定装置において、
前記移動体移動量推定部は、前記複数の第一の特徴点の各々及び前記複数の第二の特徴点の各々が、前記移動体とは別の、他の移動体から抽出した特徴点であるか否かを検出する検出部を有し、
前記方位推定部は、前記検出部で前記他の移動体から抽出した特徴点であると検出された特徴点を、前記複数の第一の特徴点、及び前記複数の第二の特徴点から削除する、ことを特徴とする位置推定装置。
図面