(57)【特許請求の範囲】
【請求項１】
撮影した画像から特徴点を取得する取得部と、
取得した前記特徴点から、予め設定された条件を用いて、撮影した空間における前記特徴点の位置、前記撮影した空間における前記特徴点の動き、および前記撮影した空間における前記特徴点の色彩または形状の存在確率の属性それぞれの成否ベクトルを有する複数のコンテクスト特徴量を算出する特徴量算出部と、
取得した前記特徴点のうち、算出した複数のコンテクスト特徴量の積が予め設定された閾値以上の特徴点を抽出する特徴点抽出部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記取得部は、前記画像を撮影した位置を示す位置情報をさらに取得し、取得した前記特徴点についての位置情報を含む地図情報を生成し、
前記特徴量算出部は、前記特徴点から算出した複数のコンテクスト特徴量を前記地図情報に含める、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
車両に搭載されたカメラで撮影した画像の入力を受け付ける入力部と、
前記入力された画像に含まれる特徴点について、前記地図情報に含まれる前記複数のコンテクスト特徴量に基づいて抽出された特徴点を対応付け、当該対応付けられた特徴点の位置情報をもとに前記車両の位置を推定する位置推定部と、
推定した前記車両の位置を出力する出力部と、
を有することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
抽出された前記特徴点をもとに、前記コンテクスト特徴量の各々に対する重み付けを学習する学習部をさらに有し、
前記特徴点抽出部は、学習した前記重み付けを前記コンテクスト特徴量の各々に反映し、重み付け反映後のコンテクスト特徴量の積が前記閾値以上の特徴点を抽出する、
ことを特徴とする請求項１乃至３のいずれか一項に記載の情報処理装置。
【請求項５】
撮影した画像から特徴点を取得し、
取得した前記特徴点から、予め設定された条件を用いて、撮影した空間における前記特徴点の位置、前記撮影した空間における前記特徴点の動き、および前記撮影した空間における前記特徴点の色彩または形状の存在確率の属性それぞれの成否ベクトルを有する複数のコンテクスト特徴量を算出し、
取得した前記特徴点のうち、算出した複数のコンテクスト特徴量の積が予め設定された閾値以上の特徴点を抽出する、
処理をコンピュータに実行させることを特徴とする特徴点抽出プログラム。
【請求項６】
撮影した画像から特徴点を取得し、
取得した前記特徴点から、予め設定された条件を用いて、撮影した空間における前記特徴点の位置、前記撮影した空間における前記特徴点の動き、および前記撮影した空間における前記特徴点の色彩または形状の存在確率の属性それぞれの成否ベクトルを有する複数のコンテクスト特徴量を算出し、
取得した前記特徴点のうち、算出した複数のコンテクスト特徴量の積が予め設定された閾値以上の特徴点を抽出する、
処理をコンピュータが実行することを特徴とする特徴点抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置、特徴点抽出プログラムおよび特徴点抽出方法に関する。
【背景技術】
【０００２】
従来、自動運転やロボットの走行制御等の自律移動を実現する技術として、地図上で自分がどの位置にあるかを推定する自己位置推定技術がある。自己位置推定を行う地図情報においては、自律移動する装置に設置されたカメラ等のセンサ入力との対応付けを行うために、地図上の風景画像の特徴点を保持している。【０００３】
この風景画像には、例えば人などの一時的な動物体の映り込みがある。よって、風景画像の特徴点の全てを自己位置推定に用いた場合には自己位置推定の不安定化を招く場合がある。このため、自己位置推定では、風景画像の特徴点の中から変動のない安定的な特徴点（以下、安定特徴点）の抽出が行われている。【０００４】
安定特徴点を抽出する従来技術としては、風景画像から実世界上で位置もしくは形状が所定期間以上現状のまま維持される可能性の少ない事物に対応する領域を抽出し、抽出した領域から抽出された特徴点を除くものがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１２／４６６７１号
【特許文献２】特開２０１２−１８５０１１号公報
【特許文献３】特開２０１１−２１５０５３号公報
【特許文献４】特開２０１１−２１５９７４号公報
【特許文献５】特開２０１５−１０８６０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の従来技術では、安定特徴点を抽出するために長時間の対象の観測に基づく特徴量を使用するので、例えば、同じ位置の風景画像を長時間にわたり観測することとなり、安定特徴点の抽出を行うことが煩雑であるという問題がある。【０００７】
１つの側面では、安定特徴点を容易に抽出できる情報処理装置、特徴点抽出プログラムおよび特徴点抽出方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の案では、情報処理装置は、取得部と、特徴量算出部と、特徴点抽出部とを有する。取得部は、撮影した画像から特徴点を取得する。特徴量算出部は、取得した特徴点から、予め設定された条件を用いて、単一属性の成否ベクトル有する複数のコンテクスト特徴量を算出する。特徴点抽出部は、取得した特徴点のうち、算出した複数のコンテクスト特徴量の積が予め設定された閾値以上の特徴点を抽出する。
【発明の効果】
【０００９】
本発明の１実施態様によれば、安定特徴点を容易に抽出できる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施形態にかかる情報処理装置の機能構成例を示すブロック図である。
【図２】図２は、コンテクスト特徴量を説明する説明図である。
【図３】図３は、特徴点地図を作成する動作を例示するフローチャートである。
【図４】図４は、撮影した空間における特徴点の位置を説明する説明図である。
【図５】図５は、撮影した空間における特徴点の動きを説明する説明図である。
【図６】図６は、撮影した空間における特徴点の色彩または形状の存在確率を説明する説明図である。
【図７】図７は、安定特徴点を抽出する動作を例示するフローチャートである。
【図８】図８は、安定特徴点の抽出を説明する説明図である。
【図９】図９は、複数特徴点のコンテクスト特徴の共起による安定特徴点の抽出を説明する説明図である。
【図１０】図１０は、コンテクスト特徴量に対する重み付けの学習を説明する説明図である。
【図１１】図１１は、重み付けを学習する動作を例示するフローチャートである。
【図１２】図１２は、自己位置を推定する動作を例示するフローチャートである。
【図１３】図１３は、プログラムを実行するコンピュータの一例を示すブロック図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、実施形態にかかる情報処理装置、特徴点抽出プログラムおよび特徴点抽出方法を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する情報処理装置、特徴点抽出プログラムおよび特徴点抽出方法は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【００１２】
図１は、実施形態にかかる情報処理装置の機能構成例を示すブロック図である。図１に示すように、情報処理装置１は、車両２が走行して撮影した周囲の風景画像（以下、撮影画像と呼ぶ）を含むＭＭＳ走行データ１０１ａ（ＭＭＳ：モービルマッピングシステム）より安定特徴点を抽出する処理を行うコンピュータである。なお、情報処理装置１は、車両２に搭載される車載型のコンピュータであってもよいし、車両２とは別体のＰＣ（Personal  Computer）やクラウドコンピューティングなどであってもよい。
【００１３】
情報処理装置１は、記憶部１０１、特徴点地図生成部１０２、コンテクスト特徴算出部１０３、特徴点地図選択部１０５、安定特徴点抽出部１０６およびコンテクスト特徴量重み学習部１０７を有する。なお、例えば情報処理装置１が車両２に搭載される車載型のコンピュータである場合、情報処理装置１は、車両２におけるセンサ入力部２０１、自己位置推定部２０２および推定結果出力部２０３を有する構成であってもよい。
【００１４】
記憶部１０１は、例えばＨＤＤ（Hard  Disk  Drive）などの記憶装置である。記憶部１０１は、ＧＰＳ（Global  Positioning  System）、レーザースキャナー、カメラなどのＭＭＳにおけるセンサ機器を搭載した車両２が集取したＭＭＳ走行データ１０１ａを記憶する。ＭＭＳ走行データ１０１ａは、例えば、時間帯（例えば昼間、夕方）や天候（例えば晴天、雨天）などのデータ収集時の状態ごとに、状態を示す情報を付与して記憶される。
【００１５】
ＭＭＳ走行データ１０１ａは、車両２の走行時にカメラで撮影した撮影画像とともに、ＧＰＳ等による車両２の走行位置・方位の情報と、撮影画像に含まれる物体（カメラで撮影された物体）の位置を表す３次元点群データとを含む。この３次元点群データは、車両２の走行位置・方位と、レーザースキャナー等により計測された車両２から物体までの距離・方位とに基づく３次元位置情報である。
【００１６】
特徴点地図生成部１０２は、ＭＭＳ走行データ１０１ａに含まれる車両２の走行時にカメラで撮影した撮影画像の物体検出結果により、撮影画像に含まれる物体に対応する特徴点を取得する。すなわち、特徴点地図生成部１０２は、撮影画像から特徴点を取得する取得部の一例である。
【００１７】
特徴点地図生成部１０２における撮影画像からの物体検出には、例えばＨｏＧ（Histograms  of  Oriented  Gradients）特徴とＳＶＭ（Support  Vector  Machine）とによる物認識を用いることができる。また、物体検出には、例えばＦａｓｔｅｒ  Ｒ−ＣＮＮ法のような深層学習モデルを用いてもよい。
【００１８】
ついで、特徴点地図生成部１０２は、ＭＭＳ走行データ１０１ａに含まれる３次元点群データをもとに、取得した各特徴点の３次元位置情報である特徴点地図１０４を生成する。すなわち、特徴点地図１０４は、各特徴点についての位置情報を含む地図情報の一例である。
【００１９】
なお、特徴点地図生成部１０２は、時間帯（例えば昼間、夕方）や天候（例えば晴天、雨天）などの状態ごとのＭＭＳ走行データ１０１ａをもとに、状態ごとに特徴点地図１０４を生成する。
【００２０】
コンテクスト特徴算出部１０３は、特徴点地図生成部１０２が取得した各特徴点について、予め設定された条件を用いて、単一属性の成否ベクトルを有する複数のコンテクスト特徴量を算出する。ついで、コンテクスト特徴算出部１０３は、各特徴点について算出した複数のコンテクスト特徴量を特徴点地図１０４における各特徴点に含めて登録する。これにより、特徴点地図１０４には、各特徴点についての位置情報とともに、各特徴点における複数のコンテクスト特徴量が含まれる。
【００２１】
コンテクスト特徴算出部１０３が算出するコンテクスト特徴量は、特徴点の位置、特徴点の動きまたは特徴点の顕在性などに関し、予め設定された条件を用いた属性についての成否を示す各特徴点における特徴量である。
【００２２】
例えば、コンテスト特徴量は、予め設定された１条件を用いた単一属性について、条件を満たす場合は「１」、条件を満たさない場合は「０」とする成否ベクトルを有するものである。なお、単一属性については、撮影した空間における特徴点の位置、撮影した空間における特徴点の動き、撮影した空間における特徴点の色彩または形状の存在確率などがある。コンテクスト特徴算出部１０３は、特徴点地図生成部１０２が取得した各特徴点について、予め設定された条件ごとに成否ベクトルを算出し、複数のコンテクスト特徴量を算出する。なお、本例では、コンテクスト特徴の取り得る値を０／１の２値として説明するが、コンテクスト特徴は例えば確率値などの０から１の間の値を取るような連続値であってもよいし、例えばサポートベクタマシンによる認識スコアのように実数値全体を取るように構成してもよい。
【００２３】
一例として、コンテクスト特徴算出部１０３は、各特徴点について、特徴点が存在する高さが１ｍ以上であるか否かの条件を用いて、特徴点の位置にかかる属性の有無を判定する。また、コンテクスト特徴算出部１０３は、特徴点の動き（撮影画像における特徴点の動きベクトル）が一定値以下であるか否かの条件を用いて、特徴点の動きにかかる属性の有無を判定する。また、コンテクスト特徴算出部１０３は、特徴点の顕在性（色彩または形状の存在確率）が閾値以上であるか否かの条件を用いて、特徴点の色彩または形状の存在確率にかかる属性の有無を判定する。これらの判定結果をもとに、コンテクスト特徴算出部１０３は、属性ごとの成否ベクトルを有する複数のコンテクスト特徴量を算出する。
【００２４】
図２は、コンテクスト特徴量を説明する説明図である。なお、図２の例では、撮影画像１０１ｂより、看板１１１〜１１３が特徴点として取得されているものとする。コンテクスト特徴算出部１０３は、撮影画像１０１ｂ内の各特徴点（ｋ１、ｋ２…ｋｉ）について、複数のコンテクスト特徴量φ（ｋｉ）＝（特徴点の顕在性が閾値以上，特徴点の存在する高さが１ｍ以上，…）を求める。
【００２５】
例えば、縦文字の看板１１２は、周りに同様の看板が並んでいることから、特徴点の顕在性が低くなり、顕在性を示すスコアが閾値未満となる。また、看板１１２の位置は、道路を歩行する人の上にあり、高さが１ｍ以上である。よって、φ（ｋ１）＝（０，１，…）となる。
【００２６】
また、横文字の看板１１１は、周りに同様の看板が並んでいないことから、特徴点の顕在性が高くなり、顕在性を示すスコアが閾値以上となる。また、看板１１１の位置は、道路上にあり、高さが１ｍ未満である。よって、φ（ｋ２）＝（１，０，…）となる。
【００２７】
縦文字の看板１１３は、周りに同様の看板が並んでいないことから、特徴点の顕在性が高くなり、顕在性を示すスコアが閾値以上となる。また、看板１１３の位置は、道路を歩行する人の上にあり、高さが１ｍ以上である。よって、φ（ｋ３）＝（１，１，…）となる。
【００２８】
看板１１１に対応する高さの低い特徴点（ｋ２）は、道路の通行人などにより遮蔽されやすいため、安定特徴点となりづらい。看板１１２に対応する特徴点（ｋ１）は、高さがあることから、道路の通行人などにより遮蔽されにくい。しかしながら、顕在性の低く、他の特徴点と紛れてしまうため、安定特徴点となりにくい。これに対し、高さもあり、かつ顕在性も高い看板１１３に対応する特徴点（ｋ３）は、道路の通行人などで遮蔽されず、他の特徴点と紛れることもないことから、安定特徴点となりえる。
【００２９】
このように、特徴点における単体の属性値、すなわち１つのコンテクスト特徴量では安定特徴点であるか否かを判別する記述力が弱い場合であっても、複数のコンテクスト特徴量を組み合わせた論理積を取ることで、安定特徴点を抽出することができる。
【００３０】
このため、Φ（ｋｉ）＝（特徴点の顕在性が閾値以上  ａｎｄ  特徴点の存在する高さが１ｍ以上，…）のスコアを求め、求めたスコアが所定値以上である場合に安定特徴点とすることで、長時間の対象の観測に基づく特徴量を使用することなく、容易に安定特徴点を求めることができる。上記の例では、Φ（ｋ１）、Φ（ｋ２）は（０,…）であるが、Φ（ｋ３）は（１,…）でありスコアが高くなる。よって、看板１１３に対応する特徴点（ｋ３）を安定特徴点として抽出することができる。
【００３１】
特徴点地図選択部１０５は、特徴点地図１０４の中から自己位置推定を行う現在時点の状態（例えば、時刻、天候など）に対応する特徴点地図１０４を選択する。具体的には、特徴点地図選択部１０５は、現在時点における時刻、天候などの情報を外部ネットワーク（例えばインターネット）より収集し、現在時点の状態にマッチする特徴点地図１０４を選択する。特徴点地図選択部１０５は、選択した特徴点地図１０４を安定特徴点抽出部１０６へ出力する。これにより、情報処理装置１は、車両２が自己位置推定を行う現在時点に合った特徴点地図１０４より、安定特徴点を抽出することができる。
【００３２】
安定特徴点抽出部１０６は、特徴点地図１０４に含まれる各特徴点について、コンテクスト特徴算出部１０３が算出した複数のコンテクスト特徴量の積を算出する。なお、複数のコンテクスト特徴量の中で、積を算出するコンテクスト特徴量の組み合わせについては予め設定されているものとする。ついで、安定特徴点抽出部１０６は、算出した複数のコンテクスト特徴量の積の値が予め設定された閾値以上の特徴点を安定特徴点として抽出する。
【００３３】
具体的には、安定特徴点抽出部１０６は、各特徴点における複数のコンテクスト特徴量の各々に対し、コンテクスト特徴量重み学習部１０７により学習された複数のコンテクスト特徴量ごとのコンテクスト特徴量重み１０８を掛け合わせる。そして、安定特徴点抽出部１０６は、コンテクスト特徴量重み１０８を反映した複数のコンテクスト特徴量の積を算出し、積の値が予め設定された閾値以上の安定特徴点を抽出する。
【００３４】
ここで、特徴点地図１０４を生成し、生成した特徴点地図１０４から安定特徴点を抽出するまでの処理の流れを具体的に説明する。図３は、特徴点地図を作成する動作を例示するフローチャートである。
【００３５】
図３に示すように、処理が開始されると、特徴点地図生成部１０２は、ＭＭＳ走行データ１０１ａの入力を受け付け（Ｓ１）、ＭＭＳ走行データ１０１ａに含まれる撮影画像１０１ｂから物体検出結果により、特徴点を取得する（Ｓ２）。
【００３６】
ついで、コンテクスト特徴算出部１０３は、特徴点の位置、特徴点の動きまたは特徴点の顕在性などに関して予め設定された条件ごとに、特徴点地図生成部１０２が取得した特徴点ごとの属性値の成否ベクトルを求めるループ処理を行う（Ｓ３〜Ｓ５）。
【００３７】
具体的には、ループ処理が開始されると（Ｓ３）、コンテクスト特徴算出部１０３は、撮影した空間における特徴点の位置、撮影した空間における特徴点の動き、撮影した空間における特徴点の色彩または形状の存在確率などについて、予め設定された条件の中から１条件を取得する。ついで、コンテクスト特徴算出部１０３は、特徴点ごとに、取得した１条件を満たすか否かを判定し、単一属性値の成否ベクトルを算出する（Ｓ４）。コンテクスト特徴算出部１０３は、予め設定された全ての条件について上記の処理を行い、ループ処理を終了する（Ｓ５）。
【００３８】
ついで、コンテクスト特徴算出部１０３は、各特徴点について算出した複数のコンテクスト特徴量を各特徴点に含めて特徴点地図１０４を生成する（Ｓ６）。
【００３９】
図４は、撮影した空間における特徴点の位置を説明する説明図である。図４左側に示すように、コンテクスト特徴算出部１０３は、撮影画像１０１ｂに含まれる特徴点（図中の「Ｘ」）について、道路から高さ３ｍ〜５ｍの領域１２１に存在するか否かをもとに、成否ベクトル（φ）を求めてもよい。例えば、領域１２１に存在する特徴点については成否ベクトルφ＝１とし、領域１２１に存在しない特徴点については成否ベクトルφ＝０とする。この成否ベクトルにより、「高いところにある物体（特徴点）は遮蔽されにくい」ものと判定できる。
【００４０】
また、図４右側に示すように、コンテクスト特徴算出部１０３は、撮影画像１０１ｂに含まれる特徴点について、物体検出結果により検出された信号機に対応する領域１２３からの距離が閾値以上であるか否かをもとに、成否ベクトルを求めてもよい。例えば、領域１２３からの距離が閾値未満である特徴点については成否ベクトルφ＝０とし、閾値以上である特徴点については成否ベクトルφ＝１とする。この成否ベクトルにより、「信号機の近くには人が集まりやすく物体（特徴点）が遮蔽されにくい」ものと判定できる。
【００４１】
なお、成否ベクトルを記述する際、「特徴点が車領域の中に含まれている」など、物体検出結果により検出された物体と、特徴点との関係を記述することで、認識消失のしやすさも間接的に表すことも可能である。また、物体検出結果を直接使うのではなく、物体認識スコア（例えば、物体らしさを示すスコア値）を用いることで、例えば「車とバスの物体認識スコアが同程度出る物体は公園の遊具であり、例外的に安定特徴点として用いられる」といった判別を行うことが可能となる。さらに、「家の上部２０％の領域に含まれる」等、物体検出結果と同時に特徴点が含まれる領域を同時に記述する属性値についての成否ベクトルを用いることで、例えば屋根は雪が積りやすく安定特徴点として用いるには不適などの判別を行うことが可能となる。
【００４２】
図５は、撮影した空間における特徴点の動きを説明する説明図である。図５に示すように、コンテクスト特徴算出部１０３は、撮影画像１０１ｂに含まれる、特徴点周囲のオプティカルフローと、撮影画像１０１ｂ全体の中央値の差分値をもとに、人物１２４などに対応する特徴点の動きを求めることができる。
【００４３】
また、自己相関により求めた特徴点周囲のぶれ量と、撮影画像１０１ｂ全体のぶれ量との差分量をもとに、特徴点の動きを求めてもよい。なお、撮影画像１０１ｂ全体のぶれ量との差分量を用いる理由としては、車両２に搭載されたカメラは動いている可能性が高く、単純に特徴点の動き量を用いると実際には静止している物体も動きが観測される可能性があるためである。
【００４４】
求めた特徴点の動きをもとに、閾値以上の動きのある特徴点であるか否かの成否ベクトルを算出する。この成否ベクトルにより、「動いている物体は消失する可能性が高い」ものと判定できる。
【００４５】
図６は、撮影した空間における特徴点の色彩または形状の存在確率（図示例は色彩の存在確率）を説明する説明図である。図６に示すように、コンテクスト特徴算出部１０３は、撮影画像１０１ｂに含まれる特徴点の視覚特徴（例えば緑色、茶色、白色などの色彩にかかる特徴）をベクトル量子化したものの存在確率を求める。この存在確率は、「特徴点が撮影した空間で同定しやすいものか」を記述する情報であり、特徴点の同定のしやすさを間接的に示すものである。例えば、茶色の特徴点の存在確率は、緑色、白色の特徴点の存在確率と比較して小さい。よって、茶色の特徴点は、同定しやすい安定特徴点であると言える。
【００４６】
なお、「存在確率」を計算する際、コンテクスト特徴算出部１０３は、例えばＩｍａｇｅＮｅｔ等の公開データベースでの各特徴点の存在確率を求めてもよい。また、コンテクスト特徴算出部１０３は、特徴点を抽出したフレームの前後フレームから特徴点を抽出し、それらの存在確率分布を用いて各特徴点の存在確率を求めてもよい。
【００４７】
求めた特徴点の存在確率をもとに、閾値以下の存在確率である特徴点であるか否かの成否ベクトルを算出する。この成否ベクトルにより、「特徴点が撮影した空間で同定しやすいものか」を判定できる。
【００４８】
図７は、安定特徴点を抽出する動作を例示するフローチャートである。図７に示すように、処理が開始されると、安定特徴点抽出部１０６は、特徴点地図選択部１０５により選択された特徴点地図１０４のデータ入力を受け付ける（Ｓ１１）。
【００４９】
ついで、安定特徴点抽出部１０６は、入力された各特徴点地図１０４の各々の特徴点から単一属性値の成否ベクトル、すなわちコンテクスト特徴算出部１０３が算出した複数のコンテクスト特徴量を抽出する（Ｓ１２）。
【００５０】
ついで、安定特徴点抽出部１０６は、閾値以上の高さがあり、かつ閾値以上の顕在性もあるなどの、予め設定されているコンテクスト特徴量の組み合わせをもとに、それぞれの属性値の成否ベクトルを掛け合わせる。この掛け合わせにより、安定特徴点抽出部１０６は、成否ベクトルの掛け合わせ量（積の値）を算出する（Ｓ１３）。
【００５１】
ついで、安定特徴点抽出部１０６は、掛け合わせを行った成否ベクトルのコンテクスト特徴量についてのコンテクスト特徴量重み１０８と掛け合わせ量から、安定特徴点としての評価値である特徴点のスコアを計算する（Ｓ１４）。具体的には、安定特徴点抽出部１０６は、掛け合わせを行った成否ベクトルのコンテクスト特徴量についてのコンテクスト特徴量重み１０８を掛け合わせ量に積算することでスコアを算出する。ついで、安定特徴点抽出部１０６は、予め設定された閾値以上のスコアを持つ特徴点を安定特徴点として抽出する（Ｓ１５）。
【００５２】
図８は、安定特徴点の抽出を説明する説明図である。図８に示す例では、複数のコンテクスト特徴量φとして、（高さ１〜３ｍであるか否か，動き量が閾値以上であるか否か，視覚特徴の存在確率が閾値以下であるか否か）を求める。例えば、右上の建物の特徴点については、φ（ｋ１）＝（０，０，１）である。また、左下の通行人の特徴点については、φ（ｋ２）＝（０，１，１）である。
【００５３】
安定特徴点抽出部１０６は、複数のコンテクスト特徴量を組み合わせた論理積Φと、コンテクスト特徴量重み１０８（ｗＴ）とをかけ合わせて、各特徴点のスコアであるＳ（ｋ１）、Ｓ（ｋ２）を求める。例えばコンテクスト特徴量重み１０８（ｗＴ）をｗＴ＝（１．０，−０．５，１．０）とすると、右上の建物の特徴点についてのスコアは、Ｓ（ｋ１）＝１となる。また、左下の通行人の特徴点についてのスコアは、Ｓ（ｋ２）＝−０．５となる。
【００５４】
ついで、安定特徴点抽出部１０６は、各特徴点のスコア（Ｓ（ｋ１）、Ｓ（ｋ２））と、予め設定された閾値（例えば０．５）とを比較することで、右上の建物の特徴点を安定特徴点として抽出する。このように、情報処理装置１は、複数のコンテクスト特徴量を組み合わせた論理積をもとに安定特徴点を抽出することで、長時間の対象の観測に基づく特徴量を使用することなく、容易に安定特徴点を求めることができる。
【００５５】
なお、安定特徴点抽出部１０６は、複数のコンテクスト特徴量を組み合わせて安定特徴点を抽出する方法として、特徴点ごとに、複数のコンテクスト特徴量の積を求めて安定特徴点の抽出を行う方法以外の方法を用いてもよい。例えば、安定特徴点抽出部１０６は、単一の特徴点における複数のコンテクスト特徴量の掛け合わせ量（単一の特徴点におけるコンテクスト特徴の共起量）だけでなく、複数の特徴点のコンテクスト特徴量の組み合わせ量（複数の特徴点のコンテクスト特徴の共起量）を用いて安定特徴点を抽出してもよい。
【００５６】
例えば、安定特徴点抽出部１０６は、「一定範囲に特定の属性値を持つ特徴点が安定特徴点として選択されているか」という複数の特徴点のコンテクスト特徴の共起量を用いて、スコアが最大となる安定特徴点の組み合わせを抽出してもよい。
【００５７】
図９は、複数特徴点のコンテクスト特徴の共起による安定特徴点の抽出を説明する説明図である。なお、図９の例では、（動き量が１〜３ピクセルの特徴点を選択  ａｎｄ  車道から高さ１〜３ｍ以内の特徴点を選択）とする条件で安定特徴点を抽出するものとする。図９上段の撮影画像１０１ｂでは、１〜３ｍ付近の動きのない特徴点（黒色の「Ｘ」）があることから、その特徴点が優先して抽出される。木の特徴点（白抜きの「Ｘ」）は、風などで揺れて動きのあることから、安定特徴点として抽出されない。
【００５８】
図９下段の撮影画像１０１ｂでは、１〜３ｍ付近の動きのない特徴点がないことから、次善として風などで揺れて動きのある木の特徴点（黒色の「Ｘ」）が抽出される。このように、複数の特徴点のコンテクスト特徴量の組み合わせ量を用いることで、安定特徴点選択の頑健性を増すことができる。
【００５９】
図１に戻り、コンテクスト特徴量重み学習部１０７は、安定特徴点抽出部１０６により抽出された安定特徴点を用いて自己位置推定を行う場合の誤差を少なくするように、コンテクスト特徴量の各々に掛け合わせるコンテクスト特徴量重み１０８を学習する。
【００６０】
図１０は、コンテクスト特徴量に対する重み付けの学習を説明する説明図である。図１０に示すように、コンテクスト特徴量重み学習部１０７は、ＭＭＳ等で走行したＭＭＳ走行データ１０１ａの中で正解位置が予めわかっている正解位置付き動画像１０１ｃを用い、自己位置推定誤差を最小とするようにコンテクスト特徴量重み１０８を更新する。
【００６１】
具体的には、コンテクスト特徴量重み学習部１０７は、正解位置付き動画像１０１ｃを使って特徴点地図１０４を作成する（Ｓ２０）。ついで、コンテクスト特徴量重み学習部１０７は、特徴点地図１０４と、コンテクスト特徴量重み１０８とを使って安定特徴点（黒色の「Ｘ」）を抽出する（Ｓ２１）。ついで、コンテクスト特徴量重み学習部１０７は、安定特徴点と残りの正解位置付き動画像１０１ｃから自己位置推定を行い、自己位置推定と正解位置との差からＱ学習などの強化学習手法を用いてコンテクスト特徴量重み１０８の値を更新する（Ｓ２２）。
【００６２】
Ｑ学習では、状態（Ｓ）、行動（Ａ）、報酬（ｒ）を定義し、それぞれの状態における行動の価値関数（ＱΘ（Ｓ，Ａ））を学習する。例えば、状態Ｓにおいて、ある行動Ａ１の価値関数ＱΘ（Ｓ，Ａ１）より、ある行動Ａ２の価値関数ＱΘ（Ｓ，Ａ２）の方が値が高ければ、行動Ａ２を選んだ方がよいことを意味する。
【００６３】
学習対象であるコンテクスト特徴量に対する重みをΘとすると、次の式（１）のように定式化し、自己位置推定に成功する特徴量の重みを学習する。
【００６４】
【数１】
0006729723.tif 000002
【００６５】
なお、式（１）における状態（Ｓ）、行動（Ａ）、報酬（ｒ）は次のように定義する。
・状態（Ｓ）：あるフレームの推定自己位置結果と、読み出された特徴点地図（Ｋ）
・Ｋ＝｛ｋ１，…，ｋｉ｝：読み込まれた特徴点地図のそれぞれの特徴点
・行動（Ａ）＝｛ａ１，…，ａｎ｝：読み込まれた特徴点ｋｉを安定特徴点として自己位置推定に使う（ａｎ＝１）か否か（ａｎ＝０）
・報酬（ｒ）＝−Ｃ（正解位置と推定位置の誤差が一定以上または現在地をロスト）  ｏｒ  ０（正解位置と推定位置の誤差が一定以上または現在地をロスト以外）
【００６６】
図１１は、重み付けを学習する動作を例示するフローチャートである。図１１に示すように、コンテクスト特徴量重み学習部１０７は、正解位置付き動画像１０１ｃのデータ入力を受け付け（Ｓ２０１）、それぞれの正解位置付き動画像１０１ｃから一部を抜き出し、特徴点地図１０４を生成する（Ｓ２０２）。ついで、コンテクスト特徴量重み学習部１０７は、コンテクスト特徴量重み１０８の値を初期化する（Ｓ２０３）。
【００６７】
ついで、コンテクスト特徴量重み学習部１０７は、コンテクスト特徴量重み１０８が一定値に収束するか、一定回数処理を行うまで繰り返してコンテクスト特徴量重み１０８の値を求めるループ処理（Ｓ２０４〜Ｓ２１７）を行う。
【００６８】
コンテクスト特徴量重み１０８の値を求めるループ処理が開始されると、コンテクスト特徴量重み学習部１０７は、それぞれの動画像に対するループ処理を実行する（Ｓ２０５〜２１６）。
【００６９】
それぞれの動画像に対するループ処理が開始されると、コンテクスト特徴量重み学習部１０７は、正解位置付き動画像１０１ｃに対応する場所の特徴点地図１０４を読み出す（Ｓ２０６）。ついで、コンテクスト特徴量重み学習部１０７は状態（Ｓ）を動画開始時点の正解位置にセットする（Ｓ２０７）。
【００７０】
ついで、コンテクスト特徴量重み学習部１０７は、動画中の各フレームに対するループ処理（Ｓ２０８〜Ｓ２１５）を実行する。具体的には、コンテクスト特徴量重み学習部１０７は、現在の状態（Ｓ）から自己位置推定に用いる特徴点地図１０４を抽出し（Ｓ２０９）、抽出した特徴点地図１０４中の特徴点それぞれのコンテクスト特徴量を計算する（Ｓ２１０）。
【００７１】
ついで、コンテクスト特徴量重み学習部１０７は、安定特徴点抽出部１０６と同様、コンテクスト特徴量重み１０８とコンテクスト特徴量とに従い、それぞれの特徴点を安定特徴点として使うか否かを判定する（Ｓ２１１）。
【００７２】
ついで、コンテクスト特徴量重み学習部１０７は、Ｓ２１１の判定結果をもとに抽出した安定特徴点を使って自己位置推定を行い（Ｓ２１２）、自己位置推定結果と正解位置との差分をもとに報酬（ｒ）を決めて、コンテクスト特徴量重み１０８を更新する（Ｓ２１３）。ついで、コンテクスト特徴量重み学習部１０７は、現在位置を現フレームで推定した自己位置に更新し（Ｓ２１４）、動画中の各フレームに対するループ処理を継続する。
【００７３】
コンテクスト特徴量重み学習部１０７は、ループ処理（Ｓ２０４〜Ｓ２１７）が終了したところで、求めたコンテクスト特徴量重み１０８を出力し（Ｓ２１８）、処理を終了する。
【００７４】
図１に戻り、センサ入力部２０１は、車両２に搭載されたＧＰＳ（Global  Positioning  System）、レーザースキャナー、カメラなどのセンサ機器からの入力を受け付ける。具体的には、センサ入力部２０１は、車両２の走行時にカメラで撮影した撮影画像とともに、ＧＰＳ等による車両２の走行位置・方位の情報をセンサ機器より受け付ける。センサ入力部２０１は、センサ機器より受け付けた情報を自己位置推定部２０２に出力する。
【００７５】
自己位置推定部２０２は、車両２に搭載されたカメラの撮像画像および車両２の走行位置・方位の情報と、安定特徴点抽出部１０６より抽出された安定特徴点の情報とをもとに、車両２の自己位置を推定する。自己位置推定部２０２は、推定した車両２の自己位置を推定結果出力部２０３へ出力する。
【００７６】
図１２は、自己位置を推定する動作を例示するフローチャートである。図１２に示すように、処理が開始されると、自己位置推定部２０２は、車両２に搭載されたカメラの画像、安定特徴点を含む特徴点地図１０４のデータ入力を受け付ける（Ｓ３０）。
【００７７】
ついで、自己位置推定部２０２は、車両２に搭載されたカメラの画像に含まれる特徴点と、特徴点地図１０４中の安定特徴点抽出部１０６より抽出された安定特徴点とを対応付ける（Ｓ３１）。ついで、自己位置推定部２０２は、対応付けられた安定特徴点の位置情報（３次元位置情報）と、車両２の走行位置・方位の情報とをもとに、公知の自己位置推定アルゴリズムを用いて、エラーが最小となるような車両２の位置・方向を出力する（Ｓ３２）。
【００７８】
このように、自己位置推定部２０２は、安定特徴点抽出部１０６により抽出された安定特徴点を用いて自己位置推定を行うため、推定結果が不安定化することを抑止できる。
【００７９】
推定結果出力部２０３は、自己位置推定部２０２が推定した車両２の自己位置を外部機器に出力する。推定結果出力部２０３の出力先となる外部機器は、例えば、推定した自己位置をもとに自律移動を制御する制御装置、推定した自己位置を表示する表示装置などがある。
【００８０】
以上のように、情報処理装置１は、特徴点地図生成部１０２と、コンテクスト特徴算出部１０３と、安定特徴点抽出部１０６とを有する。特徴点地図生成部１０２は、撮影した画像から特徴点を取得する。コンテクスト特徴算出部１０３は、取得した特徴点から、予め設定された条件を用いて、単一属性の成否ベクトル有する複数のコンテクスト特徴量を算出する。安定特徴点抽出部１０６は、取得した特徴点のうち、算出した複数のコンテクスト特徴量の積が予め設定された閾値以上の特徴点を抽出する。したがって、情報処理装置１は、長時間の対象の観測に基づく特徴量を使用することなく、安定特徴点を容易に抽出できる。
【００８１】
なお、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【００８２】
また、情報処理装置１で行われる各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ（Micro  Controller  Unit）等のマイクロ・コンピュータ）上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、ＣＰＵ（またはＭＰＵ、ＭＣＵ等のマイクロ・コンピュータ）で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。また、情報処理装置１で行われる各種処理機能は、クラウドコンピューティングにより、複数のコンピュータが協働して実行してもよい。
【００８３】
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施形態と同様の機能を有するプログラムを実行するコンピュータ（ハードウエア）の一例を説明する。図１３は、プログラムを実行するコンピュータの一例を示すブロック図である。
【００８４】
図１３に示すように、コンピュータ３は、各種演算処理を実行するＣＰＵ３０１と、データ入力を受け付ける入力装置３０２と、モニタ３０３と、スピーカ３０４とを有する。また、コンピュータ３は、記憶媒体からプログラム等を読み取る媒体読取装置３０５と、各種装置と接続するためのインタフェース装置３０６と、有線または無線により外部機器と通信接続するための通信装置３０７とを有する。また、コンピュータ３は、各種情報を一時記憶するＲＡＭ３０８と、ハードディスク装置３０９とを有する。また、コンピュータ３内の各部（３０１〜３０９）は、バス３１０に接続される。
【００８５】
ハードディスク装置３０９には、上記の実施形態で説明した機能構成における各種の処理を実行するためのプログラム３１１が記憶される。また、ハードディスク装置３０９には、プログラム３１１が参照する各種データ３１２が記憶される。入力装置３０２は、例えば、操作者から操作情報の入力を受け付ける。モニタ３０３は、例えば、操作者が操作する各種画面を表示する。インタフェース装置３０６は、例えば印刷装置等が接続される。通信装置３０７は、ＬＡＮ（Local  Area  Network）等の通信ネットワークと接続され、通信ネットワークを介した外部機器との間で各種情報をやりとりする。
【００８６】
ＣＰＵ３０１は、ハードディスク装置３０９に記憶されたプログラム３１１を読み出して、ＲＡＭ３０８に展開して実行することで、各種の処理を行う。なお、プログラム３１１は、ハードディスク装置３０９に記憶されていなくてもよい。例えば、コンピュータ３が読み取り可能な記憶媒体に記憶されたプログラム３１１を読み出して実行するようにしてもよい。コンピュータ３が読み取り可能な記憶媒体は、例えば、ＣＤ−ＲＯＭやＤＶＤディスク、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、ＬＡＮ等に接続された装置にこのプログラム３１１を記憶させておき、コンピュータ３がこれらからプログラム３１１を読み出して実行するようにしてもよい。
【符号の説明】
【００８７】
１…情報処理装置
２…車両
３…コンピュータ
１０１…記憶部
１０１ａ…ＭＭＳ走行データ
１０１ｂ…撮影画像
１０１ｃ…正解位置付き動画像
１０２…特徴点地図生成部
１０３…コンテクスト特徴算出部
１０４…特徴点地図
１０５…特徴点地図選択部
１０６…安定特徴点抽出部
１０７…コンテクスト特徴量重み学習部
１０８…コンテクスト特徴量重み
１１１〜１１３…看板
１２１〜１２３…領域
１２４…人物
２０１…センサ入力部
２０２…自己位置推定部
２０３…推定結果出力部
３０１…ＣＰＵ
３０２…入力装置
３０３…モニタ
３０４…スピーカ
３０５…媒体読取装置
３０６…インタフェース装置
３０７…通信装置
３０８…ＲＡＭ
３０９…ハードディスク装置
３１０…バス
３１１…プログラム
３１２…各種データ
【図１】
0006729723.tif 000003
【図２】
0006729723.tif 000004
【図３】
0006729723.tif 000005
【図４】
0006729723.tif 000006
【図５】
0006729723.tif 000007
【図６】
0006729723.tif 000008
【図７】
0006729723.tif 000009
【図８】
0006729723.tif 000010
【図９】
0006729723.tif 000011
【図１０】
0006729723.tif 000012
【図１１】
0006729723.tif 000013
【図１２】
0006729723.tif 000014
【図１３】
0006729723.tif 000015