JP2016143364A - 位置同定装置、位置同定方法、及びプログラム - Google Patents

位置同定装置、位置同定方法、及びプログラム Download PDF

Info

Publication number
JP2016143364A
JP2016143364A JP2015020878A JP2015020878A JP2016143364A JP 2016143364 A JP2016143364 A JP 2016143364A JP 2015020878 A JP2015020878 A JP 2015020878A JP 2015020878 A JP2015020878 A JP 2015020878A JP 2016143364 A JP2016143364 A JP 2016143364A
Authority
JP
Japan
Prior art keywords
image
vehicle
data
blocks
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015020878A
Other languages
English (en)
Inventor
麻子 北浦
Asako Kitaura
麻子 北浦
中山 收文
Osafumi Nakayama
收文 中山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015020878A priority Critical patent/JP2016143364A/ja
Publication of JP2016143364A publication Critical patent/JP2016143364A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Navigation (AREA)
  • Image Analysis (AREA)

Abstract

【課題】車両等の移動体で撮像した映像を用いた当該移動体の位置の特定を高精度に行う。【解決手段】位置同定装置は、車載カメラで撮影した車両の左側方及び右側方の画像を取得し、画像における所定の縦長領域を縦方向に並ぶ複数のブロックに分割してブロック毎に算出したフロー値を含む1時刻画像を作成する1時刻画像作成処理部と、左側方の画像毎、及び右側方の画像毎に、複数のブロックのフロー値に基づいてブロックに特徴値を設定し、当該特徴値を含む1時刻画像が時系列で並ぶ走行経路データを作成する走行経路データ作成部と、予め作成しておいた走行経路データ及び車両の位置に関する情報を含む環境地図データと、走行経路データとを比較してブロック同士の対応付けを行うマッチング処理部と、マッチング処理部による対応付けの結果に基づいて車両の位置を同定する車両位置同定部と、を備える。【選択図】図1

Description

本発明は、車両等の移動体の位置同定装置、位置同定方法、及びプログラムに関する。
近年、自動車等の車両の運転手に対する安全運転指導の一環として、車両の運転状況の解析が行われている。運転状況の解析は、走行時の車両の位置データや速度データ等を用いて行っている。
運転手に対する安全運転指導においては、交差点等の交通事故が起こりやすい場所における運転状況(運転手の挙動)を把握することが重要となる。中でも、信号機等が無く、複数の移動物体(自車両、他の車両、自転車、歩行者等)の動線が交差する路地交差点及びその近傍における運転状況(運転手の挙動)の把握が特に重要となる。交差点及びその近傍における運転状況を正しく評価するには、車両の交差点からの距離を正確に把握する必要がある。このため、運転状況の解析においては、車両の位置を高精度に取得する(特定する)ことが求められている。
車両の位置の特定方法の1つとして、Global Positioning System(GPS)を利用する方法が知られている。しかしながら、GPSにより得られる位置情報は誤差が数m〜十数mと大きく、また電波状況により誤差が変動する。よって、GPSにより得られる位置情報を用いて狭い路地における車両の位置を精度良く把握することは困難である。このため、GPSを用いた位置の特定方法に代わる位置の特定方法や推定方法が提案されている。
例えば、単純に走行時の速度変化及び走行時間から車両の走行距離(移動距離)を算出し、現時刻の車両の位置を推定する方法がある(例えば特許文献1を参照)。また、現時刻の周辺環境を3Dセンサで3次元的に把握し、その周辺環境の情報と予め用意しておいた3次元の専用環境地図とを比較して、現在位置を同定する方法がある(例えば特許文献2を参照。)。
さらに、低コストでの位置の特定や推定を可能にする方法として、車両に設置したカメラの映像から車両の位置を特定する方法が提案されている。映像を用いた車両位置の推定方法の1つに、映像内の路側線や通行帯(断続白線)、ガードレール等の道路構造物の存在を検知し、それぞれの存在位置マップと比較して現在位置を推定する方法がある(例えば特許文献3を参照。)。また、車両の側方映像のフロー変化を用いて車両と側方物体との距離変化を把握し、その距離変化と既存の距離マップと比較して位置を把握する方法がある(例えば特許文献4を参照。)。
国際公開第2006/114955号 特開2006−250917号公報 特開平3−220410号公報 特開平7−071973号公報
しかしながら、走行時の速度変化及び走行時間から算出した車両の走行距離に基づき現時刻の車両の位置を推定する方法においては、速度変化を測定する速度センサの測定精度に応じて走行距離に蓄積誤差が生じる。そのため、GPSを用いた位置特定方法と同様、車両の位置を高精度に取得する(特定する)ことが難しい。
また、3次元の環境地図を用いて現在位置を同定する方法においては、環境地図の作成及び周囲環境の把握に、レーザレンジセンサや全天周カメラ等の特殊な機材を必要とする。加えて、大量の3次元データの取得及び解析を必要とする。そのため、実用コストが非常に高い。
さらに、映像内に存在する道路構造物と存在位置マップとの比較により現在位置を推定する方法は、道路構造物の無い路地での位置の推定に適用することが困難である。
また、車両の側方映像のフロー変化を用いて位置を把握する方法では、フローを算出する際に側方物体の画像特徴(輝度値の極点等)を利用する。そのため、距離マップ作成時と距離マップを利用した位置同定時とで外光による輝度変化や、停車車両等の路側物体の変化が生じると、算出するフローに相違が生じやすい。したがって、相違が生じやすいフローから推定した距離マップも相違が生じやすく、高精度な位置同定が困難である。
本発明は、1つの側面では、車両等の移動体で撮像した映像を用いた当該移動体の位置の同定を高精度に行うことを目的とする。
本発明の1つの態様の位置同定装置は、車両に搭載したカメラで撮影した前記車両の左側方及び右側方の画像を取得し、前記画像における所定の縦長領域を縦方向に並ぶ複数のブロックに分割して前記ブロック毎に算出したフロー値を含む1時刻画像を作成する1時刻画像作成処理部と、前記左側方の画像毎、及び前記右側方の画像毎に、複数の前記ブロックのフロー値に基づいて前記ブロックに特徴値を設定し、当該特徴値を含む1時刻画像が時系列で並ぶ走行経路データを作成する走行経路データ作成部と、予め作成しておいた前記走行経路データ及び前記車両の位置に関する関連情報を含む環境地図データと、前記走行経路データとを比較してブロック同士の対応付けを行うマッチング処理部と、前記マッチング処理部による対応付けの結果に基づいて前記車両の位置を同定する車両位置同定部と、を備える。
上述の態様によれば、車両等の移動体で撮像した映像を用いた当該移動体の位置の同定を高精度に行うことができる。
本発明の一実施形態に係る位置同定装置の構成を示すブロック図である。 車両位置の同定方法を示すフローチャート(その1)である。 車両位置の同定方法を示すフローチャート(その2)である。 図2Aの1時刻画像作成処理の内容を示すフローチャート(その1)である。 図2Aの1時刻画像作成処理の内容を示すフローチャート(その2)である。 図3Bの特殊フロー値を算出する処理の内容を示すフローチャート(その1)である。 図3Bの特殊フロー値を算出する処理の内容を示すフローチャート(その2)である。 左側方画像及び右側方画像の作成方法の具体例を説明する写真である。 擬似右側方画像の作成方法を説明する写真である。 縦ブロック群の作成方法を説明する写真である。 特殊フロー値を算出する処理における大きめ領域及び探索窓の移動範囲の設定方法を説明する写真である。 特殊フロー値の算出方法を説明する模式図である。 パノラマ画像と特殊フロー画像との関係の一例を示す写真である。 側方映像から作成したパノラマ画像と広角前方映像から作成したパノラマ画像との違いを説明する写真である。 広角前方画像から1時刻画像データを作成する利点の1つを説明する写真である。 図2Aの走行経路データ作成処理の内容を示すフローチャート(その1)である。 図2Aの走行経路データ作成処理の内容を示すフローチャート(その2)である。 図2Aの走行経路データ作成処理の内容を示すフローチャート(その3)である。 パノラマ画像、特殊フロー画像、及びシルエット画像の例を示す写真である。 左右強調補正を説明する模式図である。 左右強調補正で用いるブロック数の組み合わせの例を示す模式図である。 左右強調補正を行って作成された走行経路データの例を示す模式図である。 複数の経路候補の選出方法を説明する模式図である。 図2Bのマッチング処理の内容を示すフローチャートである。 DPマッチングの方法を説明する模式図である。 階層的なDPマッチングの方法を説明する模式図(その1)である。 階層的なDPマッチングの方法を説明する模式図(その2)である。 DPマッチングの高精度な対応付けの判断例を説明する模式図である。 ずれ量の重みを考慮せずに行ったマッチング結果の一例を示す模式図である。 ずれ量の重みを考慮して行ったマッチング結果の一例を示す模式図である。 補正が必要なマッチング結果の一例を示す模式図である。 マッチング結果の補正方法の一例を説明する模式図である。 マッチング結果の補正方法の別の例を説明する模式図である。 本実施形態に係る位置同定装置とカメラとの設置例を示す模式図である。
図1は、本発明の一実施形態に係る位置同定装置の構成を示すブロック図である。
図1に示すように、本実施形態の位置同定装置1は、1時刻画像作成部101と、走行経路データ作成部102と、比較区間選定部103と、マッチング処理部104と、車両位置同定部105と、データ送受信部106と、記憶部107と、を備える。
また、上記の位置同定装置1は、図示しない入力操作部や表示部等を備える。入力操作部は、例えばボタンスイッチやタッチパネルであり、ユーザによる動作の開始及び終了、動作条件の設定入力等の操作を受け付ける。表示部は、例えば液晶ディスプレイであり、操作画面を含む各種の画像、映像を表示する。
この位置同定装置1は、例えば自動車等の車両に設置される。
1時刻画像作成部101は、記憶部107で保持する映像データ107aから車両の左側方及び右側方の1時刻画像データを作成する。映像データ107aは、車両に設置されたカメラ2で撮像した車外の左右側方領域を含む映像のデジタルデータである。映像データ107aは、カメラ2から位置同定装置1に伝送され、データ送受信部106を介して記憶部107に格納される。1時刻画像データは、映像データ107aの1フレーム分の画像データにおける車両進行方向(画像左右方向)の所定区間を切り出して縦方向(画像上下方向)に並ぶ複数のブロックに分割し、ブロック毎の特殊フロー値を算出して作成した画像データである。画像データから切り出す区間の幅(画像左右方向の寸法)は、例えば記憶部107で保持する車速データ107bに基づいて決定する。車速データ107bは、車両に設置された車速センサ3で計測される。車速データ107bは、車速センサ3から位置同定装置1に伝送され、データ送受信部106を介して記憶部107に格納される。
走行経路データ作成部102は、1時刻画像データから車両位置の同定に用いる走行経路データを作成する。この走行経路データ作成部102は、ブロック特徴値決定部102aと、ブロック群選出部102bとを有する。ブロック特徴値決定部102aは、1時刻画像データの各ブロックの特徴値を決定する。各ブロックの特徴値は、特殊フロー値の時間変化に基づいて決定する。ブロック群選出部102bは、1時刻画像データのブロックのなかから車両位置の同定に用いるブロック群を選出し、複数の1時刻画像データから選出したブロック群を時系列に並べた走行経路データを作成する。
また、走行経路データ作成部102は、事前走行時の映像データを用いて走行経路データを作成した場合、作成した走行経路データに付随データ107cを関連付けた環境地図データ107dを記憶部106に登録する。付随データ107cは、走行経路データにおける位置ポイントと関連付けるデータであり、車両の位置を同定する目的によって適宜変更可能である。例えば、交差点からの距離を得たい場合には、付随データ107cとして交差点からの距離を表すデータを記憶部107に格納しておき、走行経路データの位置ポイントと関連付ける。
比較区間選定部103は、記憶部107で保持する概略位置データ107eに基づき、走行経路データと比較する環境地図データ107dの区間を選定して記憶部107から読み出す。概略位置データ107eは、大まかな車両の現在位置を示すデータである。概略位置データ107eは、例えばGPS 4で取得し、GPS 4からデータ送受信部106を介して記憶部107に格納される。また、比較区間選定部103は、走行経路データと比較する環境地図データが記憶部107に存在しない場合、走行経路データに付随データ107cを関連付けた環境地図データ107dを記憶部107に登録する。
マッチング処理部104は、走行経路データと、記憶部107から読み出した環境地図データ107dとを比較し、両データにおける特徴ブロックのある位置同士を対応付ける。マッチング処理部104は、例えばDynamic Programming (DP:動的計画法)によるマッチングを行って特徴ブロック同士を対応付ける。また、マッチング処理部104は、DPマッチングを行った後、必要に応じ、車速データ107bを用いてDPマッチングの結果を補正する。
車両位置同定部105は、マッチング処理部104で対応付けされた走行経路データと環境地図データの経路との対応関係を用いて、走行経路データにおける各位置が環境地図データ107dのどの位置に当たるかを同定する。また、車両位置同定部105は、同定した車両位置を同定位置データ107fとして記憶部107に記憶させる。
データ送受信部106は、カメラ2、車速センサ3、及びGPS 4を含む各種外部装置との間でデータの送受信を行う複数種のインタフェースである。
記憶部107は、映像データ107a、車速データ107b、付随データ107c、環境地図データ107d、概略位置データ107e、及び同定位置データ107f等を記憶するメモリである。
この位置同定装置1は、例えばコンピュータと、以下に説明する処理をコンピュータに実行させるプログラムとにより実現される。この場合、1時刻画像作成部101、走行経路データ作成部102、比較区間選定部103、マッチング処理部104、及び車両位置同定部105は、Central Processing Unit(CPU)等のプロセッサに所定のプログラムを実行させることで実現される。すなわち、図1に示した位置特定装置1の各部は、CPU、及びメモリやハードディスクドライブ等の揮発性、不揮発性の記憶媒体のハードウェア資源と、記憶媒体内で保持されているソフトウェア資源とが協働することで実現される。また、位置同定装置1は、例えばカーナビゲーションシステム等のコンピュータを内蔵した車載用電子機器に組み込まれたものであってもよい。
[位置同定装置の動作]
図2Aは、車両位置の同定方法を示すフローチャート(その1)である。図2Bは、車両位置の同定方法を示すフローチャート(その2)である。
上記のように、本実施形態の位置同定装置1は、カメラ2で撮像した映像データから走行経路データを作成し、走行経路データと予め作成しておいた環境地図データとを比較して車両の位置を同定する。車両の位置の同定に用いる環境地図データは、本実施形態の位置同定装置1を用いて作成することができる。
位置同定装置1を動作させる際には、例えば、まず事前走行及び本走行のどちらであるかを設定する。事前走行は環境地図データを作成するための走行であり、本走行は車両位置の同定を行う走行である。この設定は、ユーザがボタンスイッチやタッチパネル等の入力操作部を操作して行う。事前走行又は本走行に設定し、処理開始の入力操作がなされると、図2に示すように、映像データ等の取得を開始する(ステップS1)。ステップS1で取得する映像データ107aは、本実施形態では、1つのカメラ2で撮像された広角前方映像のデータとする。また、ステップS1では、車速センサ3及びGPS 4からのデータの取得も開始する。映像データ107a、車速センサ3の計測結果(車速データ107b)、及びGPS 4の測定結果(概略位置データ107e)は、連続的あるいは定期的に位置同定装置1に出力され、データ送受信部106を介して記憶部107に記憶される。
次に、位置同定装置1は、1時刻画像作成処理を開始する(ステップS2)。1時刻画像作成処理は、1時刻画像作成部101が行う。1時刻画像作成部101は、映像データ107aから1フレーム分の画像データ(以下「画像フレーム」という)を読み出して1時刻画像データを作成する処理を繰り返す。この処理において、1時刻画像作成部101は、1つの画像フレームから、車両の左側方の1時刻画像データと、車両の右側方の1時刻画像データとを作成する。各1時刻画像データは、画像フレームにおける車両進行方向(画像左右方向)の所定区間を切り出して縦方向(画像上下方向)に並ぶ複数のブロックに分割し、ブロック毎の特殊フロー値を算出して作成した画像データである。
また、1時刻画像作成部101は、1時刻画像データを作成する処理を繰り返し、所定数の1時刻画像データが作成されると、走行経路データ作成部102に走行経路データ作成処理(ステップS3)を開始させる。
走行経路データ作成部102は、走行経路データの作成を開始すると、1時刻画像データの各ブロックの特徴値を決定するとともに、1時刻画像データのブロックのなかから車両位置の同定に用いるブロック群を選出する処理を繰り返す。そして、選出したブロック群を時系列に並べた走行経路データを作成する。各ブロックの特徴値の決定はブロック特徴値決定部102aが行い、ブロック群の選出及び時系列に並べる処理はブロック群選出部102bが行う。
また、走行経路データ作成部102は、走行経路データにおけるブロック群の数が所定数を超えると、事前走行であるか否かに応じて次の処理を選択する(ステップS4)。事前走行である場合(ステップS4;Yes)、作成した走行経路データに付随データを関連付けた環境地図データ107dを記憶部107に登録し(ステップS5)、処理を終了する。事前走行ではない場合(ステップS4;No)、比較区間選出部103に、走行経路データと比較する環境地図データを探索させる(ステップS6)。
比較区間選出部103は、走行経路データと概略位置データとを用いて大まかな車両の現在位置を特定し、その特定結果に基づいて環境地図データにおける走行経路データとの比較区間を探索する。また、比較区間検出部103は、探索結果に応じて次に行う処理を選択する(ステップS7)。比較する環境地図データが無かった場合(ステップS7;No)、走行経路データに付随データを関連付けた環境地図データ107dを記憶部107に登録し(ステップS5)、処理を終了する。環境地図データが有る場合(ステップS7;Yes)、環境地図データから複数の経路候補を作成する(ステップS8)。
ステップS8では、環境地図データの経路範囲を走行経路データの経路が含まれる大き目の範囲に設定し、例えば始状態を同一時刻とし、終状態の時刻が異なる複数の経路候補を作成する。
比較区間選出部103は、経路候補を作成したら、マッチング処理部104にマッチング処理(ステップS9)を行わせる。
マッチング処理部104は、走行経路データと、複数の経路候補とを用いたマッチング処理を行い、走行経路データにおける位置ポイントと各経路候補における位置ポイントとの対応付けを行う。そして、ずれ量が最も少ない走行経路データと経路候補との組を決定する。
また、マッチング処理部104は、ずれ量が最も少ない走行経路データと経路候補との組においてマッチング結果を補正する必要があるか否かを判断する(ステップS10)。補正の必要がない場合(ステップS10;No)、マッチング結果に基づき車両の位置を同定し(ステップS12)、処理を終了する。
一方、例えば局所的にずれ量が大きくなっている箇所がある等の理由により補正が必要な場合(ステップS10;Yes)、マッチング結果を補正する(ステップS11)。そして、補正した結果に基づき車両の位置を同定し(ステップS12)、処理を終了する。
[1時刻画像作成処理の説明]
図2Aに示した1時刻画像作成処理では、上記のように、映像データにおける各画像フレームから車両の左側方及び右側方の1時刻画像データを作成する。本実施形態では、1枚の広角前方画像フレームから車両左方側の1時刻画像データ及び車両右方側の1時刻画像データを作成する。ここで、広角前方画像フレームは、既存のドライブレコーダ等に搭載された広角カメラにより車両前方を広角で撮像した映像データにおける画像フレームである。
図3Aは、図2Aの1時刻画像作成処理の内容を示すフローチャート(その1)である。図3Bは、図2Aの1時刻画像作成処理の内容を示すフローチャート(その2)である。
1時刻画像作成処理は、1時刻画像作成部101が行う。1時刻画像作成部101は、図3Aに示すように、まず変数FNを1にする(ステップS201)。変数FNは、映像データの各画像フレームを識別するため撮像時刻順に付与した整数値である。
次に、1時刻画像作成部101は、番号FNの画像フレームから擬似左側方画像及び擬似右側方画像を作成する(ステップS202)。擬似左側方画像は、広角前方画像フレームにおける左側方が写っている部分を切り出し、周知の画像変換方法を用いて整形するとともに減色して作成する。同様に、擬似右側方画像は、広角前方画像フレームにおける右側方が写っている部分を切り出し、周知の画像変換方法を用いて整形するとともに減色して作成する。切り出した画像は、例えば、カメラの撮影方向とは異なる疑似的な方向、具体的には側方を見る仮想視点から広角前方映像を見た場合の画像へと、CGや車載画像の加工表示で一般的な画像変換を行って整形する。また、整形した画像は、例えば、256階調の画像を128階調に変換する等の方法で減色する。
次に、1時刻画像作成部101は、擬似左側方画像及び擬似右側方画像から縦ブロック群を抽出し、バッファに格納する(ステップS203)。縦ブロック群は、画像の一部縦スリット部分を切り出し、スリットを縦ブロックに分割したデータ群である。
次に、1時刻画像作成部101は、番号FN−1の画像フレームから作成した縦ブロック群が有るかを確認する(ステップS4)。番号FN−1の画像フレームから作成した縦ブロック群(以下「番号FN−1の縦ブロック群」ともいう)が無い場合(ステップS204;No)、図3Bに示すように、変数FNを1だけ増やし(ステップS211)、ステップS202の処理に戻る。番号FN−1の縦ブロック群がある場合(ステップS204;Yes)、図3Bに示すように、番号FN−1の縦ブロック群における各ブロックの特殊フロー値を算出する(ステップS205)。特殊フロー値は、後述するように、番号FN−1の縦ブロック群と、番号FNの擬似的な画像とを用いて算出する。
特殊フロー値を算出したら、次に、1時刻画像作成部101は、番号FN−1の画像フレームの取得時刻と特殊フロー値とを含む1時刻画像データを保存する(ステップS206)。
次に、1時刻画像作成部101は、番号FN+1の画像フレームが有るかを調べる(ステップS207)。番号FN+1の画像フレームが無い場合(ステップS207;No)、1時刻画像作成処理を終了する(リターン)。番号FN+1の画像フレームがある場合、次に、番号FNが閾値TH1よりも大きいかを判断する(ステップS208)。閾値TH1は、走行経路データの作成に必要な1時刻画像データの数である。本実施形態では、後述するように3個の1時刻画像データを用いて走行経路データにおける1個のブロックのブロック特徴値を算出する。よって、本実施形態における閾値TH1は2以上の整数値とする。
番号FNが閾値TH1以下の場合(ステップS208;No)、変数FNを1だけ増やし(ステップS211)、ステップS202の処理に戻る。番号FNが閾値TH1よりも大きい場合(ステップS208;Yes)、次に、走行経路データ作成処理を実行中であるか確認する(ステップS209)。走行経路データ作成処理を実行中の場合(ステップS209;Yes)、変数FNを1だけ増やし(ステップS211)、ステップS202の処理に戻る。走行経路データ作成処理を実行していない場合(ステップS209;No)、走行経路データ作成部102に走行経路データ作成処理を開始させる(ステップS210)。その後、変数FNを1だけ増やし(ステップS211)、ステップS202の処理に戻る。
次に、上記の1時刻画像作成処理におけるステップS205(特殊フロー値を算出する処理)の処理内容を説明する。
図4Aは、図3Bの特殊フロー値を算出する処理の内容を示すフローチャート(その1)である。図4Bは、図3Bの特殊フロー値を算出する処理の内容を示すフローチャート(その2)である。
特殊フロー値を算出する処理(ステップS205)では、図4Aに示すように、まず、変数FNを2にし(ステップS205a)、続けて変数BNを1にする(ステップS205b)。変数BNは、縦ブロック群における各ブロックを識別するため各ブロックに付与した整数値である。
次に、番号FNの画像フレームに、番号FN−1の縦ブロック群を内包する比較領域を設定する(ステップS205c)。
次に、設定した比較領域内に、縦ブロック群における番号BNのブロックと対応する探索窓及び探索窓の移動範囲を設定する(ステップS205d)。
次に、番号BNのブロック内の画素の輝度と、探索窓内の画素の輝度との差を算出し(ステップS205e)、探索窓内の全画素の輝度差の合計を算出する(ステップS205f)。
次に、探索窓の移動範囲内に設定し得る全ての探索窓で輝度差の合計を算出したか確認する(ステップS205g)。輝度差の合計を算出していない探索窓がある場合(ステップS205g;No)、探索窓の位置をずらし(ステップS205h)、ステップS205eからの処理を繰り返す。
全ての探索窓で輝度差の合計を算出した場合(ステップS205g;Yes)、次に、図4Bに示すように、輝度差の合計が最小である探索窓を選出する(ステップS205i)。
次に、ステップS205iにおいて複数の探索窓を選出したか否かを確認する(ステップS205j)。選出した探索窓が1つの場合(ステップS205j;No)、選出した探索窓の位置と番号BNのブロックの位置とに基づいて特殊フロー値を算出する(ステップS205m)。一方、複数の探索窓を選出した場合(ステップS205j;Yes)、番号BNのブロックと対応する位置から最も遠い探索窓を1つ選出し(ステップS205k)、選出した探索窓の位置と番号BNのブロックの位置とに基づいて特殊フロー値を算出する(ステップS205m)。ステップS205mでは、探索窓の位置とブロックの位置との差を算出して特殊フロー値とする。また、ステップS205mでは、探索窓の位置とブロックの位置との差に任意のパラメータを乗じた値を算出して特殊フロー値としてもよい。なお、後述するように、特殊フロー値は常に最も遠い探索窓の選出によって算出するのではなく、なんらかの条件に合致する場合だけ最も遠い探索窓を選出しても構わない。
特殊フロー値を算出したら、次に、変数BNがBNmaxであるかを判断する(ステップS205n)。BN<BNmaxの場合(ステップS205n;No)、変数BNを1だけ増やし(ステップS205p)、ステップS205dの処理に戻る。
BN=BNmaxの場合(ステップS205n;Yes)、次に、変数FNがFNmaxであるかを判断する(ステップS205q)。FN<FNmaxの場合(ステップS205q;No)、変数FNを1だけ増やし(ステップS205r)、ステップS205bの処理に戻る。
FN=FNmaxの場合(ステップS205q;Yes)、特殊フロー値を算出する処理を終了する(リターン)。
なお、本実施形態では、データ保持効率等を考慮して、ブロックの比較対象を後時刻とし、前時刻(番号FN−1)の縦ブロック群のブロックと現時刻(番号FN)の画像フレームとを比較している。しかしながら、これに限らず、ブロックの比較対象を前時刻として、現時刻(番号FN)の縦ブロック群のブロックと1時刻前(番号FN−1)の画像フレームとを比較してもよい。この場合には、ステップS205cで設定する縦ブロック群を内包した比較領域は、縦ブロック群より逆進行方向の領域を多めにして設定する。
上記の1時刻画像作成処理について、さらに具体的に説明する。
図5は、左側方画像及び右側方画像の作成方法の具体例を説明する写真である。図6は、擬似右側方画像の作成方法を説明する写真である。図7は、縦ブロック群の作成方法を説明する写真である。
1時刻画像作成処理におけるステップS202では、1つの広角前方画像データから擬似左側方画像のデータ及び擬似右側方画像のデータを作成する。すなわち、ステップS202では、図5に示すように、1枚の広角前方画像500から擬似左側方画像501及び擬似右側方画像502を作成する。広角前方画像500は、広角の画像ではあるが、画像の左端部及び右端部に写っている物体(被写体)は、車両位置よりもやや前方(進行方向側)に位置する。また、広角レンズを備えたカメラで撮影した広角前方画像500には、広角レンズの歪曲収差に応じた樽型の歪が生じる。このため、広角前方画像500から左側方画像501を作成する場合、切り出す領域500aが、左側方を見る仮想視点から切り出す領域500aを見た場合の画像(すなわち矩形の領域501b)になるよう画像変換を行う。広角前方画像500から右側方画像502を作成する場合も、同様に、切り出す領域500bが矩形の領域502aになるよう画像変換を行う。これらの画像変換は、周知の変換方法を用いて行えばよい。
また、ステップS202では、擬似左側方画像501及び擬似右側方画像502を作成した後、さらにそれらの画像を減色する。例えば、図6の(a)に示した擬似右側方画像502は、減色することにより、図6の(b)に示したような粗い画像504となる。
図6の(b)に示したような減色した擬似右側方画像504を作成したら、次のステップS203において擬似右側方画像504から縦ブロック群を抽出する。
ステップS203では、減色した擬似左側方画像及び擬似右側方画像504のそれぞれで、規定位置から規定横幅の画像領域(縦長領域)を切り出す。そして、それらを縦方向に複数分割して、複数のブロックが縦方向に連なる縦ブロック群を作成する。擬似右側方画像504から縦ブロック群を作成する場合、図7に示すように、画像504における規定位置504pから規定横幅W1の画像領域(縦長領域)504sを切り出す。そして、画像領域504sを縦方向に連なる複数のブロック504bに分割して縦ブロック群504gを作成する。
この縦ブロック群504gは、現時刻より後の次の画像フレームに対する1時刻画像作成処理において特殊フロー値の算出に利用する。そのため、作成した縦ブロック群504gは、切り出した時の画像領域504s内での位置及び幅、並びに元の画像フレームの取得時刻とともに保持しておく。
なお、停止等で移動がない場合に縦ブロック群の抽出及び特殊フロー値の算出を続けることを避けるため、現在の車両速度に合わせて切り出す横幅(規定横幅W1)を適宜調整してもよい。切り出す横幅W1を調整する場合、例えば下記式(1)のように移動速度が速いほど横幅W1を長めにする。
W1=s×移動速度+t ・・・(1)
式(1)におけるs,tは任意のパラメータである。また、移動速度は、車速データ107bから求めればよい。
また、図7には、切り出した画像領域504sを16個(BN=1〜16)のブロック504bに分割した例を示しているが、ブロック504bの数は任意であり、適宜変更可能である。
図8は、特殊フロー値を算出する処理における大きめ領域及び探索窓の移動範囲の設定方法を説明する写真である。図9は、特殊フロー値の算出方法を説明する模式図である。図10は、パノラマ画像と特殊フロー画像との関係の一例を示す写真である。
ステップS203において番号FNの縦ブロック群を算出した後、番号FN−1の縦ブロック群を保持している場合には、番号FN−1の縦ブロック群における各ブロックの特殊フロー値を算出する(ステップS205)。ステップS205では、変数FN及びBNを初期化した後、図8の(a)に示すように、番号FNの画像フレーム504に、番号FN−1の縦ブロック群504g(FN−1)を内包する比較領域504uを設定する(ステップS205c)。比較領域504uの幅W2は、番号FN−1の縦ブロック群504g(FN−1)と対応する領域504tの幅W1よりも広ければよい。また、比較領域504uは、領域504tよりも進行方向側の領域が多めになるよう設定することが望ましい。
番号FNの擬似右側方画像504に領域504t及び比較領域504uを設定したら、次に、比較領域504u内の画素の輝度と、前時刻画像のブロック504b内の画素の輝度を比較し、ブロック毎の特殊フロー値を算出する(ステップS205d〜S205m)。
特殊フロー値の算出においては、図8の(b)に示すように、擬似右側方画像504に、縦ブロック群504g(FN−1)のブロック504bと対応する探索窓SA及び探索窓の移動範囲MAを設定する。探索窓SAは、擬似右側方画像504(領域504t)のうち、縦ブロック群504g(FN−1)の番号BNのブロックと対応する位置に設定する。また、移動範囲MAは、探索窓を上下左右に移動させられるよう、例えば縦方向の寸法(画素数)を探索窓SAの寸法よりも数画素分多く設定する。このように探索窓SA及び移動範囲MAを設定したら、縦ブロック群504g(FN−1)における番号BNのブロックの画素と、探索窓SA内の画素との輝度の差を画素毎に算出する(ステップS205e)。
ステップS205eでは、図9に示すように、移動範囲MA内に、番号BNのブロック504b(FN−1)と同じ寸法の探索窓SAを1つ設定する(例えばSA(p=0))。そして、ブロック504b内の画素の輝度A{i=0〜18}と、探索窓SA(p=0)内の画素PXの輝度C0,i{i=0〜18}との差の絶対値を算出し(ステップS205e)、その合計を算出する(ステップS205f)。ステップS205fで算出した輝度値の差の合計は、探索窓SAの位置に関するパラメータpと対応付けて保持する。
探索窓SA(p=0)の画素とブロック504b(FN−1)との輝度値の差を算出したら、探索窓SAの位置をずらして(例えばSA(p=1)にずらして)、画素の輝度値の差の合計を算出する。そして、この輝度値の差の合計を算出する処理を移動範囲MA内に設定し得る全ての探索窓SAで行ったら、輝度値の差の合計が最小の探索窓を選出する(ステップS205i)。なお、合計が最小の探索窓が2以上選出された場合は、ブロック504b(FN−1)と重畳する位置から最も遠い探索窓SAを選出する(ステップS205k)。 探索窓SAを選出したら、選出した探索窓SAの位置と、ブロック504b(FN−1)と重畳する位置とから、ブロック504b(FN−1)の特殊フロー値を算出する(ステップS205m)。特殊フロー値は、上記のように、探索窓SAの位置とブロック504b(FN−1)と重畳する位置との差の絶対値等にする。
すなわち、本実施形態で用いる特殊フロー値の算出には、従来の一般的なフロー算出とは逆に、同じ画素輝度差となる探索窓のずらし位置が存在する場合には、ずらし量が最大となる探索窓位置を採用することとする。そして、採用した探索窓SAの位置と、前時刻の該当ブロック504b(FN−1)の位置との差(大きさの絶対値)を、その縦ブロック群のブロック単位の特殊フロー値とする。この結果、縦一列のブロック数と同じ数のブロック単位の特殊フロー値を得る。なお、特殊フロー値は、位置の差そのものとしたが、位置の差に任意のパラメータを乗じた値としてもよい。 なお、ここでは簡単のために、複数の最小の探索窓から1つを選出する方法として、最も遠い探索窓SAを常に選出する例を示したが、ある条件を満たす場合だけ最も遠い探索窓SAを選出するよう限定して、条件を満たさない場合には最も近い探索窓SAを選出するようにしてもよい。限定条件としては、例えば等しい値となった該最小の輝度値差合計が規定閾値以下の場合が考えられ、この条件は、番号FNと番号FN−1の画像で探索窓近傍の画素の輝度分布がより似ている場合だけ最も遠い探索窓SAを選出することを示す。他の条件としては、例えば、番号FNの探索窓SA内の全画素値の分散が規定閾値以下の場合が考えられ、この条件は、探索窓の内部の全画素の輝度がより似ていて一様で変化の少ない場合だけ最も遠い探索窓SAを選出することを示す。いずれも後述する空のような領域だけで遠い探索窓SAを選定することとなる。これらの2つの限定条件は一例であって、この他に、番号FNと番号FN−1の探索窓の輝度値を用いた任意の統計量、すなわち、和、差、平均値、分散値、最大値、最小値、中間値、などを用いた他の条件を用いてもよい。
以上の手順で得られる特殊フロー値と、その元になる画像領域(縦長領域)504sとの関係は、例えば、図10に示すような関係になっている。なお、図10において、上側の画像507は、複数の画像フレームから切り出した画像領域504sを時系列に並べて表示した画像(パノラマ画像)である。また、図10において、下側の画像509は、パノラマ画像507を構成する画像領域504sのそれぞれから算出した各ブロックの特殊フロー値を階調に換算して各ブロックを塗りつぶし表示した画像(特殊フロー画像)である。なお、特殊フロー画像509における各ブロックの特殊フロー値は、白色のブロックの特殊フロー値が最大であり、黒くなるほど特殊フロー値が小さくなる。すなわち、特殊フロー画像509の白色のブロックは、輝度値の差の合計が最小となる探索窓の位置が、パノラマ画像507における当該ブロックと対応する位置から遠くにあることを示している。また、特殊フロー画像509の黒色のブロックは、輝度値の差の合計が最小となる探索窓の位置が、パノラマ画像507における当該ブロックと対応する位置の近くにあることを示している。
図10に示したパノラマ画像507における上端部右方側の白色の領域507aは、空に相当し、領域507a内における輝度値は一様で変化が少ない。そのため、ステップS205iで輝度差の合計が最小である探索窓を選出すると、複数の探索窓が選出される。したがって、複数の探索窓のうち番号BNのブロックから最も遠い位置の探索窓が選択され、特殊フロー値が大きくなる。よって、特殊フロー画像509における上端部右方側には、白色のブロックが連続した領域(上空領域)509aが存在する。
上述したように、本実施形態に係る1時刻画像作成部では、従来例のような画素毎のフロー値ではなく、減色しかつ複数の画素からなるブロック単位でのフロー値を算出する。これにより、外光影響を避けた大まかな環境を把握することができる。
さらに、従来の一般的なフロー算出とは異なる特殊フロー値を算出することで、外光変化に強い周辺の構造物などの物体そのものの形状を明瞭に把握することを可能とする。特殊フロー値は、従来の一般的なフロー算出とは真逆に、前時刻との輝度差がない部分のフロー値が最も大きくなるように算出する。例えば、前後フレームで変化が少なく一様であることが多い上空領域に関するフローは、フロー算出の探索窓の移動を通して輝度差に変化がないことが多い。そのため、従来の一般的なフロー算出では移動量が最少で、フロー値が最小値(ゼロ)となる。これに対し、本実施形態で算出する特殊フロー値は、同じ輝度差で最も遠いずらし位置を採用するため、輝度変化のない上空領域のフロー値が最大値となる。一方で、構造物が映り込んだ画像領域は探索窓のずらし位置の変化の影響を受けやすく、輝度差を最小とする探索窓のずらし位置はブロック近傍になり、フロー値が小さい値となって最大値になることが少ない。この結果、上空領域と構造物が隣り合う場合には、一般的なフローでは双方小さな値となって差が少なくなるが、特殊フロー値では、図10に示した特殊フロー画像509のように、上空領域509aが最大で遠方構造物が小さく、差がより大きく現れる。このため、建造物の境界であるシルエット形状をより強調したフロー値を算出することができる。したがって、後述するブロック特徴値の算出処理において、上記の特殊フロー値を用いて特徴値(特徴点)を算出することで、建造物のシルエット形状から多くの特徴点を抽出することが可能となる。よって、従来の建物の輝度情報よりも外光変化に強い建造物形状そのものを活用した特徴値を、走行経路データや環境地図データとして簡単に算出することが可能となる。
また、本実施形態のように1枚の広角前方画像から擬似左側方画像及び擬似右側方画像を作成すると、1時刻画像内に上空領域を確保することが容易となる。そのため、後述する建造物のシルエットのような外光に強い特徴量を確実に取得することができて望ましい。
図11Aは、側方映像から作成したパノラマ画像と広角前方映像から作成したパノラマ画像との違いを説明する写真である。図11Bは、広角前方画像から1時刻画像データを作成する利点の1つを説明する写真である。
本実施形態で用いる左側方の画像及び右側方の画像は、車両の左側方部及び右側方部に別個に設置したカメラにより個別に撮像し、取得することも可能である。しかも、2つのカメラにより個別に撮像することで、画像内の被写体の歪みを抑えることができるため、広角前方画像を画像変換するのに比べ処理負荷を軽減できる。なお、側方カメラの映像では、側方の被写体が映像内に写り込むタイミングが広角前方カメラの映像よりも遅く、ほぼ真横にならないと映り込まない。そのため、側方の被写体とカメラとの距離が近くなり、図11Aの(a)に示したパノラマ画像557のように、側方被写体の高さが高い場合には全容が映像内に収まらないことがある。
これに対し、広角前方映像は側方にある被写体が車両よりも車両前方側(進行方向側)にあるときの映像であるため、側方にある被写体の高さが高くても比較的その全容が映像内に写り込みやすい。例えば、図11Aの(a)に示したパノラマ画像557の被写体を広角前方映像で撮影し、擬似左側方画像を作成した場合、図11の(b)に示すパノラマ画像507のように、パノラマ画像557には写っていない上空領域507aが写り込む。このため、被写体の全容及び上空部分が映像内に写り込む可能性が高い広角前方映像を使った方が、後述する建物シルエットのような外光に強い特徴量を確実に取得することができて望ましい。また、一般的に普及している広角前方映像カメラを流用できるため、低い実施コストで実現できる。
さらに、側方カメラで撮影した場合、映像に上空領域が写り込むか否かや写り込む上空領域の量は、側方カメラの向き、側方被写体の高さ、及び側方カメラから側方被写体までの距離によって決まる。そのため、映像に写り込む上空領域の量を調節しようとすると、車両に取り付けた側方カメラの高さや向きを調節する必要がある。
これに対し、広角前方画像から作成した擬似左方画像507では、カメラの高さや向きを調節しなくても、上空領域507aの量Gを調節することができる。
前述のように、広角カメラで車両前方を撮影する場合、図11Bに示した画像511sのように、側方被写体の高さは画像幅方向の中心に近づくにつれて低くなる。そのため、画像511sから作成する1時刻画像データが、画像511s内のどの領域を切り出したものかによって、上空領域の量が変化する。第1の領域511s1を切り出した場合の上空領域の量G1と、第1の領域511s1よりも画像幅方向の中心側にある第2の領域511s2を切り出した場合の上空領域の量G2とでは、第2の領域511s2を切り出した方が、上空領域の量が多くなる(G2>G1)。このように、広角前方画像を用いれば、1時刻画像データを作成するために切り出す領域の位置を調節することで1時刻画像データ内に上空領域を確保できる。
[走行経路データ作成処理の説明]
図12Aは、図2Aの走行経路データ作成処理の内容を示すフローチャート(その1)である。図12Bは、図2Aの走行経路データ作成処理の内容を示すフローチャート(その2)である。図12Cは、図2Aの走行経路データ作成処理の内容を示すフローチャート(その3)である。
1時刻画像作成処理の後に行う走行経路データ作成処理は、走行経路データ作成部102が行う。走行経路データ作成部102は、図12Aに示すように、まず、変数FNを2に設定し(ステップS301)、続けて変数BNを1に設定する(ステップS302)。
次に、番号FN−1,FN,及びFN+1の画像フレームから作成した1時刻画像データを読み出す(ステップS303)。ステップS303では、例えば左側方の3つの1時刻画像データと、右側方の3つの1時刻画像データとを、混同しないよう対応付けて読み出す。
次に、番号FNの1時刻画像データにおける番号BNのブロックを注目ブロックとし、注目ブロックの特殊フロー値と、当該注目ブロックに隣接するブロックの特殊フロー値との関係に基づいて特殊フロー値の変化を調べる(ステップS304)。ステップS304では、例えば周知のエッジ検出方法等を用いて、注目ブロックを境とした前後の時間で特殊フロー値に顕著な変化が有るか等を調べる。
次に、図12Bに示すように、注目ブロック(番号FNの1時刻画像データにおける番号BNのブロック)の特殊フロー値が勾配極値であるか判断する(ステップS305)。ステップS305では、ステップ304で調べた特殊フロー値の変化に基づいて、勾配極値であるか否かを判断する。勾配極値である場合(ステップS305;Yes)、番号FNの1時刻画像データにおける番号BNのブロックの特徴値を1に設定する(ステップS306)。一方、勾配極値ではない場合(ステップS305;No)、番号FNの1時刻画像データにおける番号BNのブロックの特徴値を0に設定する(ステップS307)。
特徴値を1又は0に設定したら、次に、変数BNがBNmaxであるかを判断する(ステップS308)。BN<BNmaxの場合(ステップS308;No)、変数BNを1だけ増やし、ステップS304の処理に戻る。
BN=BNmaxの場合(ステップS308;Yes)、次に、番号FNの1時刻画像データからマッチング処理に用いるブロック群を選定し、走行経路データに追加する(ステップS309)。ステップS309では、1時刻画像データにおける上端側から所定数のブロックまでをマッチング処理に用いるブロック群とし、それ以外のブロックを削除した画像データを走行経路データに追加する。
次に、番号FN+2の画像フレームから作成した1時刻画像データが有るかを調べる(ステップS310)。該当する1時刻画像データが無い場合(ステップS310;No)、走行経路データ作成処理を終了する(リターン)。
一方、該当する1時刻画像データが有る場合(ステップS310;Yes)、番号FNが閾値TH2よりも大きいかを判断する(ステップS311)。閾値TH2は、特徴値を設定しマッチング処理に用いるブロック群を選定した画像データがマッチング処理を実行可能な数だけ揃ったかを判断する値である。FN≦TH2の場合(ステップS311;No)、変数FNを1だけ増やし(ステップS314)、ステップS302の処理に戻る。
FN>TH2の大きい場合(ステップS311;Yes)、次に、比較区間の選定以降の処理を実行中か確認する(ステップS312)。実行中の場合(ステップS312;Yes)、変数FNを1だけ増やし(ステップS314)、ステップS302の処理に戻る。一方、実行していない場合(ステップS312;No)、比較区間選定部103に比較区間の選定を開始させる(ステップS313)。その後、変数FNを1だけ増やし(ステップS314)、ステップS302の処理に戻る。
なお、ステップS304、S305は、例えば、勾配極値か否かとして、既存のCanny特徴量のような、8近傍勾配の極値を調べてもよい。
このように、走行経路データ作成処理では、各時刻(フレーム)の縦ブロック群毎に、各ブロックに対応した特徴値である二値情報を算出することができる。この際、特徴値(二値情報)は、各ブロックの特殊フロー値が勾配極値であったか否かの区別がつけばどのような値でも良く、逆に勾配極値である場合の特徴値を0、勾配極値ではない場合の特徴値を1としてもよい。
上記の走行経路データ作成処理について、さらに具体的に説明する。
図13は、パノラマ画像、特殊フロー画像、及びシルエット画像の例を示す写真である。
本実施形態に係る車両位置の同定方法では、映像データの各画像フレームから作成した1時刻画像データにおける各ブロックの特徴値を二値で算出し、特徴値で表される縦ブロック群を時系列に並べた走行経路データを用いて車両位置を同定する。
1時刻画像データには、左側方の画像データから作成したものと、右側方の画像データから作成したものとがある。左側方の画像データから作成した1時刻画像データの元となる画像領域504s(図7を参照)を時系列に並べて表示すると、図13に示したパノラマ画像507のようになる。同様に、右側方の画像データから作成した1時刻画像データの元となる画像領域504sを時系列に並べて表示すると、図13に示したパノラマ画像508のようになる。
1時刻画像作成処理では、この2つのパノラマ画像507,508を構成する画像領域504sのそれぞれから作成した縦ブロック群504gにおける各ブロックの特殊フロー値を算出する。その結果、パノラマ画像507,508はそれぞれ、図13に示した特殊フロー画像509,510のように変換される。この特殊フロー画像509,510は、上記のように1時刻画像データを時系列に並べて表示した画像である。
そして、1時刻画像作成処理の次に行う走行経路データ作成処理では、特殊フロー画像509,510を構成する1時刻画像の各ブロックに対する特徴値を算出し、特殊フロー画像509,510を二値化する。その結果、特殊フロー画像509,510はそれぞれ、図13に示したシルエット画像513,514になる。
シルエット画像513,514と特殊フロー画像509,510とを重ねて表示すると、画像515,516のようになる。画像515,516からもわかるように、シルエット画像513,514における特徴値の分布は、上空領域と、建物や地面等との境界を非常に良く反映している。よって、1時刻画像を特殊フロー画像509,510のような濃淡画像とすれば、一般的な画像処理の特徴点抽出をそのまま活用して特徴点を取得できる。
走行経路データ作成処理において、走行経路データ作成部102のブロック群選出部102bは、ステップS309の処理を行う。すなわち、シルエット画像513,514を構成する各フレーム番号(各時刻)のブロック群に対して、ブロック群の上端からブロック数を制限し、不要な下側部分を削除する。この際、車両の道路内の走行横位置の変化を考慮して、左右協調補正を実施する。左右協調補正とは、同一時刻の左右のブロック群から残すブロックの総和が等しくなるように調整しながら、左右のブロック数を選定することである。具体的には、補正を行わない場合、すなわち道路内の幅方向中央を走行する場合には、上からそれぞれ規定同数のブロックを取得する。これに対し、補正を行う一例として、道路内走行で右寄りを走行する可能性を考慮する場合には、近づく右側のブロック数を減らして、左側は減らした分を加算した数のブロックを取得する。逆に、左寄りを走行する可能性を考慮する場合には、左側のブロック数を減らして、右側は減らした分を加算した数のブロックを取得する。このように、様々な走行パターンのブロック取得パターンを用意して、それぞれを同じ経路における特徴ブロック群のパターンとして準備しておく。
[左右強調補正の説明]
図14Aは、左右強調補正を説明する模式図である。図14Bは、左右強調補正で用いるブロック数の組み合わせの例を示す模式図である。図14Cは、左右強調補正を行って作成された走行経路データの例を示す模式図である。なお、図14Aでは、左右のブロック数の組み合わせをわかりやすくするため、シルエット画像513,514ではなく、その元になっている特殊フロー画像509,510を用いて左右強調補正の例を示している。
上記のように、道路内の幅方向中央を走行する場合、例えば、図14Aに示すように、左側方の画像509及び右側方の画像510のそれぞれから取得するブロック数を、上端からM個と設定しておく。ブロック数Mは任意であるが、空と建物との境界が含まれるように設定することが望ましい。そして、右寄りを走行する場合、あるいは左寄りを走行する場合には、中央を走行する場合に取得するブロック数の合計(2M個)と同数という条件を課して、左側方の画像509及び右側方の画像510から取得するブロック数を変更する。図14Aに示した例では、ある時刻(番号FN)は画像509から取得する特徴ブロック群509a及び画像510から取得する特徴ブロック群510aのブロック数がM個である。これに対し、次の時刻(番号FN+1)では、画像509から取得する特徴ブロック群509aのブロック数がM+N個になっている。この場合、画像510から取得する特徴ブロック群510aのブロック数をM−N個にすることで、番号FN+1と対応する時刻の特徴ブロック群のブロックの合計数を2M個にする。
なお、実際の処理においては、上記のように、シルエット画像513,514を構成する縦ブロック群に対して左右強調補正を行う。すなわち、実際の処理においては、シルエット画像513から取得する特徴ブロック群のブロック数と、シルエット画像514から取得する特徴ブロック群のブロック数との合計数が2M個になるように左右強調補正を行う。
ところで、実際に道路を走行している車両が道路内の幅方向中央、左寄り、右寄りのいずれであるかは一義的には決まらない。そのため、本実施形態では、図14Bに示すように、取得するブロック数の組み合わせが異なる複数パターンの走行経路データ及び環境地図データを用意しておき、これらの組み合わせから最適なパターンを選出して位置の同定を行う。なお、図14Aの(a)は、道路内の幅中央を走行している場合(パターン1)であり、左側方のシルエット画像513及び右側方のシルエット画像514からそれぞれ7個のブロックを特徴ブロック群513a,514aとして取得する。これに対し、図14Bの(b)は、やや右寄りを走行している場合(パターン2)である。パターン2では、左側方のシルエット画像513から取得する特徴ブロック群513aのブロック数を8個にし、右側方のシルエット画像514から取得する特徴ブロック群514aのブロック数を6個に減らしている。また、図14Bの(c)は、パターン2よりもさらに右寄りの場合(パターン3)である。パターン3では左側方のシルエット画像513から取得する特徴ブロック群513aのブロック数を9個にし、右側方のシルエット画像514から取得する特徴ブロック群514aの数を5個に減らしている。また、図示は省略するが、左寄りを走行している場合を想定したパターンとして、右側方のシルエット画像514から取得する特徴ブロック群514aの数が左側方のシルエット画像513から取得する特徴ブロック群513aの数より多いパターンも用意する。
このように同一時刻の左右の画像513,514から取得する特徴ブロック群のブロック数の合計を一定数とした場合、例えば後述するマッチング処理において、走行経路データと環境地図データにおける特徴ブロック群のブロック数が異なる状況が発生する恐れがある。そのため、左右の画像513,514から取得する特徴ブロック群のブロック数の合計を一定数とした場合、例えば図14Cに示すように、画像513,514から取得したデータを1つのデータにまとめることが好ましい。なお、図14Cの(a)は、左側方の画像513及び右側方の画像514からそれぞれ7個のブロックを特徴ブロック群513a,514aとして取得した場合の走行経路データ600aである。また、図14Cの(b)は、左側方の画像513から取得する特徴ブロック群513aのブロック数を8個にした場合の走行経路データ600bである。こうすることで、各特徴ブロック群のブロック数が異なる場合でも、走行経路データや環境地図データにおける1時刻分のブロック数が一定に保たれる。よって、比較する特徴ブロック群のブロック数が異なることによる計算ミス、エラー等を防げる。
なお、上記の左右強調補正は、事前走行時、及び実際の走行時で、有無を変更してもよい。例えば、事前走行時には、この左右協調補正を省略し、特徴ブロック算出部で算出した現在の走路に関する左右側方に関する特徴ブロック群をそのまま利用する。一方で、実際の走行時には、左右協調補正を行い、同じ経路で複数パターンの特徴ブロック群を取得して、それらを利用する。事前走行のみ1つのパターンに絞っておくことで、環境地図データに保存するデータ量を削減するとともに、2つの経路両方の片方だけ内容を変化させて対応付けすることで、精度を保ちながら処理負荷を削減することが可能となる。
[比較区間を選定する処理における複数の経路候補の選定方法の説明]
図15は、複数の経路候補の選出方法を説明する模式図である。
比較区間を選定する処理(図2AのステップS6)では、上述のように、マッチング処理において本走行の走行経路データとの比較に用いる環境地図データの区間を選定する。環境地図データの区間の選定には、GPS 4等から取得した概略位置データ107eを用い、前述したように、必要に応じて通信手段で適宜データ追加取得しても構わない。
概略位置データ107eは、大まかな車両の位置を示しているデータであり、GPS 4から取得したデータである場合、概略位置データ107eに記録されている位置と、実際の位置には数m〜十数mの誤差がある。そのため、図15に示すように、正解GPS区間の始点P1と本走行でのGPS区間の始点(始状態)には、誤差による時刻のずれが生じる。同様に、正解GPS区間の終点P2と本走行でのGPS区間の終点(終状態)にも、誤差による時刻のずれが生じる。さらに、環境地図データ作成のための事前走行でのGPS区間の始点(始状態)及び終点(終状態)と、本走行でのGPS区間の始点(始状態)及び終点(終状態)との間にも誤差によるずれが生じる。
よって、選定する環境地図データの区間は、図15に示したように、本走行での走行経路データ600を含むように大き目に確保することが望ましい。これは、走行経路データ600に対応する環境地図データ内の経路が、選定した比較区間のなかに含まれていない場合には、正しい対応付けが困難なためである。一方で、余分な経路が多く含まれているほど、似た局所特徴による誤差が発生する可能性が増える。この相反する精度向上への要望を満たすために、比較区間選定部103は、例えば、最初に大まかに広めの区間を選定しておき、その区間範囲内で、始・終端を適宜ずらして範囲をより小さく限定した経路候補を複数用意しておいて、後述する経路比較マッチングに用いてもよい。すなわち、図15に示すように、本走行の走行経路データ600と比較する経路候補として、始状態が同一で終状態が異なる複数の環境地図データ650〜653を選出する。そして、これら複数の経路候補(環境地図データ650〜653)のそれぞれと走行経路データ600とのマッチングをし、対応付けした結果のずれが最も小さい経路候補を採用することで、精度の高いマッチングが可能となる。
なお、この複数の経路候補の作成は、最初に選定した大まかな広めの経路内の特徴ブロック群を走査して、内部に似た特徴ブロックが複数ある場合のみ実行してもよい。また、似た特徴ブロックが複数ある場合に、似た特徴ブロックのそれぞれを外すよう経路の長さを調整した候補を複数作成してもよい。このように、対応付けの失敗を招きやすい似たブロック特徴の有無を対応付け対象経路で変化させることで、精度の高いマッチングを行うことが可能である。
また、図15では、環境地図データを経路候補として複数個用意しているが、これに限らず、選出した1つの環境地図データに対し複数個の走行経路データを経路候補として用意してもよい。
さらに、逆に通行ルートが決まっていて、移動範囲も狭い場合には、通行するルートに関する環境地図データを予め選定しておくこと等も可能である。この場合、比較区間選定部による選定処理を省略することも可能である。
[マッチング処理の説明]
図16は、図2Bのマッチング処理の内容を示すフローチャートである。
上記の手順で走行経路データ600と比較する経路候補(環境地図データの区間)を選出したら、それらを用いたマッチング処理(図2BのステップS9)を行う。マッチング処理は、マッチング処理部104が行う。マッチング処理部は、図16に示すように、まず、比較区間選定部103で選定した複数の経路候補のなかから1つを選出する(ステップS901)。
次に、走行経路データ及び選出した経路候補における始状態と終状態とを設定する(ステップS902)。
次に、特徴ブロックの値を用いて特徴ブロック同士の対応付けを行い、経路上の各位置における対応ずれ量及び経路全体のずれ量を算出する(ステップS903)。ステップS903は、例えばDynamic Programming(DP)マッチングにより算出する。
次に、ずれ量の最も小さいルートと走行経路データのブロックパターンとを選定する(ステップS904)。
次に、ルート及びブロックパターンを選定していない経路候補が有るか確認する(ステップS905)。選定していない経路候補がある場合(ステップS905;Yes)、ステップS901に戻り、選定していない経路候補を用いた処理を行う。選定していない経路候補が無い場合(ステップS905;No)、各経路候補の選定結果を比較し、ずれ量の最も小さいルートと走行経路データのブロックパターンとを選定する(ステップS906)。すなわち、ステップS906では、各経路候補のなかから、走行経路データとのずれ量の最も小さい経路候補を選定する。ステップS906の選定が終了すると、マッチング処理が終了する(リターン)。
上記のマッチング処理について、さらに具体的に説明する。
マッチング処理部104は、ブロック群算出部102bで得た該当走行区間の特徴ブロック群と、比較区間選定部103で選定した環境地図データ内の該走行区間近辺の特徴ブロック群を比較し、特徴ブロック同士が最も精度良く対応付けされるように、ブロック特徴の差を誤差としながらマッチングを行い、2つの走行区間の各特徴ブロックのある位置同士を対応付ける。この対応付け方法は任意の既存の方法で構わないが、本実施形態では、上記のようにDPマッチングを用いる。
図17は、DPマッチングの方法を説明する模式図である。
DPマッチングでは、例えば、対応付けしたい経路を含むデータ列に対して、最初と最後である始状態と終状態を定義する。その後、例えば終状態側から対応付けを開始し、対応ずれや対応飛ばし等の全影響を最小とするルートを各データ列の差から自動選定する。2つの経路のデータ数は必ずしも同じである必要はなく、部分的な伸長も考慮して対応付けされるため、速度や道路内の走行位置によって同じ距離区間に相当する経路のデータ数が異なる場合も考慮した対応付けが可能である。本実施形態のように本走行の走行経路データと事前走行の環境地図データとを比較する場合のDPマッチングは、図17に示したような経路問題に置き換えて考えられる。
図17において、符号Qk,iのk及びiは、対応付けされる特徴ブロックパターン(特徴ブロック群における特徴値のパターン)の組み合わせを表している。kは、本走行の走行経路データにおける特徴ブロックパターンの位置を表す。一方iは、環境地図データ(経路候補)における特徴ブロックパターンの位置を表す。また、円の中に記載されたA〜Eは、それぞれの位置の特徴ブロックパターンを表しており、同じアルファベットが記載されている円は、特徴ブロックパターンが同じであることを意味する。
本実施形態で行うDPマッチングでは、図17に示したように走行経路データ及び経路候補(環境地図データ)の始状態Q0,0と終状態Q6,8とを設定する。そして、終状態Q6,8から始状態Q0,0までのルートのうち、特徴ブロックパターンの対応付けをしたときのずれ量が最小となるルートを選定する。
終状態Q6,8から始状態Q0,0までのルート選定は、具体的には、ペナルティ値と呼ぶ値の総和を最小とするように選定する。本実施形態では、ペナルティ値として2つの値を用いる。1つは、対応付け対象の特徴ブロックにおける特徴量(特徴値)の差、すなわち前述した対応ずれ誤差である。誤ったルートで特徴量の異なる要素を対応付けするほど、対応ずれ誤差が大きくなり、ペナルティ値も増加する。これとは別に、同じ特徴量が続く場合にルート選定するためのペナルティ値があり、例えば、移動方向で予め決めておいた固定ペナルティ値を適用するが、この値は任意であってよい。図17に示した例では、縦横への移動、例えば一方(例えば本走行)の経路データの1つの走行位置に対して、他方(例えば事前走行)の走行経路データの2つの走行位置を対応付けるような横方向への移動に対しては、ペナルティを2とする。一方、同数の走行位置を対応付けるような斜め下方への移動に対してはペナルティを1としている。つまり、図17に示したDPマッチングの例では、走行位置を1対1で対応付けるルートを優先するようなペナルティを設定してある。
対応ずれ誤差は、特徴ブロック値の二値配列を比較し、配列内の同じ位置の要素値同士の差の総和を用いて算出する。この対応ずれ誤差は、例えば下記式(2)を用いて算出することができる。
式2において、iは1つの特徴ブロック群におけるブロックの位置を表す変数であり、Nが上端のブロック(上空に最も近いブロック)、0が下端のブロック(路面に最も近いブロック)である。また、k,jは、それぞれ、経路A(走行経路データ)の特徴ブロック群の位置、経路B(環境地図データ)の特徴ブロック群の位置を表す変数である。また、Qi,kは経路Aにおけるk番目の特徴ブロック群Qにおけるi番目の特徴ブロックの値、Qi,jは経路Bにおけるj番目の特徴ブロック群Qにおけるi番目の特徴ブロックの値である。また、sは後述する任意の重みパラメータである。
なお、上記式(2)の右辺は、特徴ブロックの値Qi,k及びQi,j、並びにパラメータsから算出される差の総和をパラメータとする関数fであることを意味する。この式(2)は、該当経路Aと、環境地図で選定した対応する経路Bの経路同士の特徴ブロック値を用いて対応ずれ誤差を計算する一例を示したものである。縦一列(i=0〜N)のブロック特徴値に対して、ブロックの位置iが等しいもの同士で値の差を算出し、ずれ誤差を算出している。重みパラメータsについては、後述するが、特に重みを用いたくない場合には、1としてもよい。
また、各移動に関するペナルティ値は、例えば下記式(3)を用いて算出する。
ペナルティ値=g ( k×対応ずれ誤差+t×移動方向による値) ・・・(3)
式(3)においてk、tは任意のパラメータである。また、上記式(3)の右辺は、対応ずれ誤差、移動方向による値、及びパラメータk、tから算出される値をパラメータとする関数gであることを意味する。なお、関数gは、対応ずれ誤差、移動方向による値、及びパラメータk、tから算出される値そのものであってもよいし、任意の定数を加算又は乗算する関数でもよい。
比較区間選定部103で選定した環境地図の経路が1種類の場合は、その経路に対して対応付けを実施して最もずれの小さい対応付けを採用する。一方で、比較区間選定部103で示したように、終端などをずらした複数の候補経路を選定した場合には、最終的には全経路で最もずれの小さい対応付けを採用する。例えば、各経路で最もずれの小さい対応付けをDPマッチングから算出しておき、最終的にそれら経路同士で全体のずれ量を比較し、ずれ量が最も小さい候補経路を選んでもよい。例えば、終端から対応付けを開始するDPマッチングの場合は、終端部分を強制的に変更した候補経路を複数用意することで、終端部分に近傍の似た特徴が混じって対応付けが失敗するのを避けることができる。
また、ブロック群選出部102bで左右協調補正を行っている場合には、比較区間選定部103で選定した経路候補(環境地図データ)の経路数に関わらず、同じ1つの経路でも複数の特徴ブロックパターンを持つ。そのため、選定した経路候補が1種類であっても、複数の対応付け経路候補を持つことと同義となる。よって、例えば、各特徴ブロックの選定パターンで最もずれ量の小さいパターンを選定する。
なお、マッチング処理部104は、階層的に対応付けを行ってもよい。例えば、DPマッチングを実施する際に、各経路の各位置で、縦一列のブロックに相当する特徴値の比較を行う。このとき、上述した対応ずれ量を算出する式(2)において特徴値の差の絶対値として示したように、各位置で今回の対応付けによる局所的なずれ量を得ることができる。この局所的なずれ量が閾値未満か否かを判定し、DPマッチングの結果と同時に、閾値未満だった経路位置かどうかも記録しておく。続けて、DPマッチング後の対応付けデータに対し、記録した局所ずれ量が閾値未満か否かの値に基づき、該対応付けを採用するかどうかを判定する。DPマッチングによる対応付けデータの各経路位置において、閾値未満の経路位置のみを、ずれの少ない高精度な対応付けができた位置と見做し、該位置を採用する。一方で、閾値以上だった経路位置については、対応付けが失敗した位置と見做して、未対応とする。その後、対応付けができた位置を始状態及び終状態とするように、該経路を細かい部分経路に分割し、改めて部分経路同士の対応付けを実施する。このとき、部分経路対応付けでは、複数の特徴ブロックの選択パターンがある場合に、改めて全てのブロックパターンで対応付けを実施する。この際、最も部分経路内の対応付けでずれ量が少ない特徴パターンを選定するため、第一段階のDPマッチングの結果である始状態及び終状態の対応付けを決定した際の特徴ブロックパターンとは異なるブロックパターンでの対応付けも可能である。このように部分経路に適宜分割して対応付けをする多段階対応付け処理を行うことで、まずは大まかに経路対応付けをしたのちに、各部分経路に最適な対応付けをすることができる。また、経路の一部だけ道路内の走行位置が偏った場合など、局所的な走行位置変化に対応した対応付けを行うこともできる。
図18Aは、階層的なDPマッチングの方法を説明する模式図(その1)である。図18Bは、階層的なDPマッチングの方法を説明する模式図(その2)である。
第一段のDPマッチングの結果、走行経路データは特徴ブロックがパターン1である走行経路データ600aを、経路候補は特徴ブロックがパターン2である環境地図データ650bを経路全体の誤差が少ないパターン対として選定している。このとき、走行経路データ600aにおける特徴ブロック群Q{k=0〜8}及び環境地図データ650bにおける特徴ブロック群Q{j=0〜8}であったとする。また、局所ずれ量が閾値未満の採用対として、A,B,C,Dの4つの値の対を採用すると、始状態及び終状態の対応付けが決定する。次に、第二弾のDPマッチングとして、採用したA,B,C,Dの4つの値の対以外の部分の対応付けを行う。具体的には、図18Bに示すように、2つの部分区間1、2に分けてDPマッチングを実施することとなる。部分区間単位で誤差が少ない特徴ブロックパターンを選定するため、部分区間1では、走行経路データとして特徴ブロックがパターン2の走行経路データ600bを新たに選定することとなり、この結果、特徴ブロック群Qk=3、Qk=5の特徴ブロックパターンVが、環境地図データ650bの特徴ブロック群Qj=4に新たに対応付けされている。
なお、この多段階の対応付け処理で、ある位置での局所的なずれ量が閾値未満か否かだけで対応結果の採用を判定するだけではなく、その他の任意の情報を用いて判定してもよい。例えば、周辺のずれ量を用いて判定してもよい。この場合、例えば閾値以下のずれ量が規定長さ以上続く領域を選定して、その中で最もずれ量が小さかった箇所を高精度な対応付けができた位置対として判定する。または、経路全体で他に類似する特徴値が見当たらない唯一の特徴ブロック値を保持する位置同士が対応付けられた場合にのみ、その位置対を高精度な対応付けができたと見做して採用してもよい。このように、他の要素も多段階の対応付け処理の判定に用いることで、より精度の高そうな位置だけを残した部分経路による対応付けが可能となる。
図19は、DPマッチングの高精度な対応付けの判断例を説明する模式図である。
図19に示した対応付けの結果では、始状態及び終状態とは別に、走行経路データ600の特徴ブロック群Qk=5,Qk=6と環境地図データ650の特徴ブロック群Qj=5との対応付けがされている。また、走行経路データ600の特徴ブロック群Qk=7と環境地図データ650の特徴ブロック群Qj=6との対応付けがされている。
この2つの対応付けのうち、双方の経路で類似特徴ブロック値が存在しない走行経路データ600の特徴ブロック群Qk=7と環境地図データ650の特徴ブロック群Qj=6との対を、特に高精度な対応付けと判定する。
なお、多段階の対応付けとして部分経路に分割して対応付けする代わりに、初回の対応付け処理で高精度な対応付けができた位置対に対して、上記の式(2)のずれ量の重みパラメータsを相対的に大きくし、それ以外のずれ量の重みパラメータsは相対的に小さくして、再度同じ経路で対応付けを行ってもよい。対応付けの重みを部分的に変えることで、多段階による対応付け処理の代わりに、同じ経路内でも対応付けしやすい位置対の重みを大きくして、該位置対をより重視した対応付けを行うことが可能である。この各位置での重みパラメータsは、上述したように一度対応付けを行った結果から算出してもよいし、予め対応付けやすさを推定して算出しておいてもよい。例えば、局所的に両側に同じ形のアパート等の家屋が続く区間や、斜めに交差する交差点が存在する区間などは、対応付けが失敗する可能性が高いため、予め比較区間選定部で環境地図から近傍走行区間を取得するついでに、該区間が存在しないか否かも取得しておき、重みsを小さく設定する。一方で、前述した経路全体で類似する特徴値が見当たらない箇所などについては、重みsを大きく設定する。
図20Aは、ずれ量の重みを考慮せずに行ったマッチング結果の一例を示す模式図である。図20Bは、ずれ量の重みを考慮して行ったマッチング結果の一例を示す模式図である。
図20Aに示した特徴ブロック群Q{k=0〜7}を含む走行経路データ600と、特徴ブロック群Q{j=0〜8}を含む環境地図データ650との対応付けは、重みsを考慮せず(s=1として)DPマッチングを行った結果の一例である。この対応付けにおいて、特徴ブロックパターンがBである特徴ブロック群Qk=4と、Qj=3又はQj=5との対応対は、終状態に近い方からの対応付けを優先する。そのため、走行経路データ600の特徴ブロック群Qk=4は、環境地図データ650において終状態に近いほうの特徴ブロック群Qj=5に対応付けられている。
これに対し、重みsを考慮する場合を図20Bに示す。図20Bに示した例では、始状態の近くにずれ量の重みsが大きい領域(s=S1の領域)が設定されている。また、終状態近くにはずれ量の重みsが小さい領域(s=S2<S1の領域)が設定されている。この場合、終状態近くの重みsが小さい領域の対応付けよりも、重みsが大きい領域の対応付けの方が経路全体のずれ量に影響するため、走行経路データ600の特徴ブロック群Qk=4は、重みsが大きい領域に含まれる環境地図データ650の特徴ブロック群Qj=3との対応対が優先して設定される。これに伴い、続けて特徴ブロックパターンCの対応対も設定される。よって、重みsの設定で、対応付け内容を制御することができる。
このように、マッチング処理部104は、多段階のマッチング、又は重みづけをしたマッチングなどを用いることで、局所的に対応付け精度が高いと思われる位置対を残した対応付けを実施することができる。
[マッチング結果の補正の説明]
また、マッチング処理部104は、上記のマッチング処理の結果、対応ずれ量が大きく、対応付け対象が曖昧な暫定的に対応付けられた確度の低い位置対について、対応付けを補正する(図2BのステップS11)。例えば、ブロック群選出部102bで、特徴点がないとされた位置が連続している箇所については、DPマッチングで明示的な対応付けが実施できず、単純に2つの経路データにおける特徴ブロック群を1対1で割り当てて対応付けされている確度の低い対応付けの結果である可能性が高い。また、終端から対応付けを行う場合には、走行経路データ600と環境地図データ650とで、特徴点がない区間の長さが異なる場合が多い。このため、該区間内で終端に近い位置同士から1つずつ順番に対応付けされると、結果的に終端から遠くなるほど対応付けの精度が落ちてしまうことが多い。
図2Bに示したステップS11では、これら明示的に対応付けが実施できなかった確度の低いデータ対の位置に対して、他の情報を用いた対応付け位置の微調整を実施する。具体的には、2つの経路の長さの異なる対応付けできなった区間(両端は確度の高いデータ対)同士に対し、区間内での速度変化を用いて区間端である確度の高いデータ対から各位置までの走行距離を推定し、同じ走行距離同士を対応付けする。この結果、ブロック特徴量がない区間の多くは短い区間になるため、走行距離による誤差蓄積の影響が少なく、精度を保った対応付けが可能となる。なお、区間内での速度変化は、車速センサ3から取得した各位置における車速データ107b等を用いて算出する。
図21Aは、補正が必要なマッチング結果の一例を示す模式図である。図21Bは、マッチング結果の補正方法の一例を説明する模式図である。図21Cは、マッチング結果の補正方法の別の例を説明する模式図である。
上記のようにDPマッチングで明示的な対応付けが実施できなかった場合、図21Aに示すように、特徴量が異なる確度の低いデータ対応対は、単純に、終状態からの順番で1つずつ対応付けされている。なお、図21Aでは、速度による対応付けが行われていないことを強調するため、走行経路データ600における10個の特徴ブロック群Q{k=0〜9}、及び環境地図データ650における10個の特徴ブロック群Q{j=0〜9}は等間隔にしてある。
これに対し、速度による対応付け補正をする場合、特徴ブロック群Q{k=0〜9},Q{j=0〜9}は、図21Bに示すように、2走行で終状態から特徴量が等しく対応付けされた対応対からの経過時間とその位置での速度の積で求めた移動距離を使って並べ直される。この結果、終状態に近い区間SC2は終状態の特徴ブロック群Qk=9,Qj=9の対応対からの移動距離で並べられる。よって、走行経路データ600において同じ特徴量Wであるの2つの特徴ブロック群Qk=6,Qk=7は、環境地図データ650において距離が近い特徴ブロック群Qj=6と対応付けられる。同様に、環境地図データ650において同じ特徴量Iであるの2つの特徴ブロック群Qj=7,Qj=8は、走行経路データ600において距離が近い特徴ブロック群Qk=8と対応付けられる。
また、区間SC2よりも始状態に近い区間SC1の各特徴ブロック群Q{k=1〜4},Q{j=1〜4}は、確度の高い走行経路データ600の特徴ブロック群Qk=5と環境地図データ650の特徴ブロック群Qj=5との対応対からの移動距離で並べられる。よって、走行経路データ600における特徴ブロック群Qk=4は環境地図データ650における2つの特徴ブロック群Qj=3,Qj=4と対応付けされる。同様に、走行経路データ600における2つの特徴ブロック群Qk=2,Qk=3は環境地図データ650における特徴ブロック群Qj=2と対応付ける。そして、走行経路データ600における特徴ブロック群Qk=1は環境地図データ650における特徴ブロック群Qj=1と対応付けされる。
また、速度による対応付け補正をする場合、例えば、図21Cに示すように、一方のデータ(環境地図データ650)の特徴ブロック群Q{j=0〜9}のみを移動距離で並べ直してもよい。移動距離が不明な走行経路データ600の特徴ブロック群Q{k=0〜9}は、便宜的に等距離であるように扱う。この結果、図21Bとは異なり、環境地図データ650における2つの特徴量Iの特徴ブロック群Qj=7,Qj=8が、それぞれ走行経路データ600における特徴ブロック群Qk=6,Qk=7に対応付けられる。
図21Cに示した対応付けの結果は、図21Bに比べてやや対応付け精度が落ちるが、一方の経路データでのみ移動距離を保持すれば良いため、走行経路データ600では移動距離を保持する必要がなく、環境地図データ650だけ移動距離を計算するだけで実現できる。
このように、速度による対応付け補正を行うことで、等しい特徴ブロック群(ブロック特徴値)が見つからない確度の低い対応対の各位置に対し、単純に位置の順番で対応付けるのではなく、より近くの位置で撮影された映像から得た位置同士を対応付けすることができるため、高精度な対応付けを実現することができる。
以上説明したように、本実施形態に係る位置同定装置及び位置同定方法では、車載カメラで撮像した映像データを用いて、外光変化や路地停車物、歩行者などの一時的な物体配置の変化に耐性がある特殊な特徴値(特殊フロー値)を算出する。そして、その特徴値を用いて作成された環境地図データと走行経路データ600とで対応付けを行い、車両の位置を同定する。そのため、外光変化や交通量の変化等によらず、車両の位置を精度良く同定することができる。よって、一般的な広角前方カメラの映像又は側方カメラの映像から、路地のような画像特徴の少ない場所でも車両位置の同定が可能となり、低コストで環境耐性のある位置同定が可能となる。
また、対応付けにおいて走行速度の違いを吸収するだけでなく、走行道路内の横走行位置ずれを考慮し、該特徴量で対応付けのしやすさや、希少性を考慮して対応付け方式を工夫することで、高精度な位置の同定が可能になる。
さらに、走行経路データや観光地図データにおける経路データにおける特徴量は、特殊フロー値の時間変化に基づいて二値のデータに変換されており、1時刻画像データ等に比べて軽量になる。さらに、特徴量を二値のデータに変換した経路データにおける上端側の所定数のブロックのみを走行経路データとして位置の同定に用いることで走行経路データや環境地図データはより一層軽量になる。よって、位置同定装置1における記憶部の容量を有効に使える。また、複数の経路候補を選定してマッチング処理を行う際の処理負荷を軽減できる。しかも、データ量が少ないため、例えば、無線通信等を利用して環境地図データ、付随データ、概略位置データ等を取得すること、あるいは走行経路データを他の装置に送信することも容易である。この結果、車載機では走行経路データだけを作成してセンタサーバに送付し、以後のマッチング処理や車両位置を同定する処理はセンタサーバ側で実施すること等も容易になる。
図22は、本実施形態に係る位置同定装置とカメラとの設置例を示す模式図である。
本実施形態に係る位置同定装置1は、前述のように、車載カメラ2等とともに車両に設置することで、走行中の車両の位置をリアルタイムで同定し、運転手に通知することができる。位置同定装置1を車両に搭載する場合、例えばスピーカ等の音声出力部を内蔵させ、位置情報の時間変化等に異常が見られる場合に運転手に報知することも可能である。そのため、位置同定装置1をドライバ挙動の監視や運転補助等に応用することも可能である。
一方、上記のように走行経路データ等のデータ量が少ないことを利用し、例えば、図22に示すように、車両11に搭載したカメラ2で撮影した映像データ又は映像データを変換した走行経路データをネットワーク13に接続された位置同定装置1に送信して車両11の位置を同定させることもできる。この際、カメラ2で撮影した映像データは、例えば、カメラ2に走行経路データへの変換機能と無線通信機能を付加し、ネットワーク13に接続された無線通信用のアクセスポイント12とカメラ2との間で無線通信を行って、位置同定装置1に送信する。このようにネットワーク13を利用して車両11の位置を同定することは、例えば、輸送業者が所有する複数台の車両11の運行管理等に利用できる。
また、その他にも、無線通信用のアクセスポイント12としてカーナビゲーションシステムやドライブレコ−ダ、運行管理システム等の既存の車載システムを活用してもよい。例えば、カメラ2とこれら車載システムとを連動させ、車載システムで変換した走行経路データを付随する無線通信機能を用いて位置同定装置1に送付し、位置同定装置1で同定した車両11の位置情報(同定位置データ107f)を車両11の車載システムに送信するようにしてもよい。従来の車載システムに搭載されている無線通信機能や外部カメラ映像取り込み機能をそのまま使って低コストで位置同定を実現できる上、カーナビゲーションシステム等の既存車載システムと連動させることにより、同定した高精度な位置情報を使ったきめ細かなナビゲーションやサービス提供が可能となる。この他に、例えば、位置同定装置1による高精度な位置情報を活用するものとして、危険な交差点に近づいた場合に、交差点からの距離と、車載システムで把握している車両やドライバの挙動情報とを組み合わせて、適切なアドバイスを通知するドライバ補助機能を実現することも可能である。
さらに、図22に示したようなシステムでは、複数台の車両11の位置の同定、管理が可能であるため、例えば、教育者等が行う運転分析への情報提供、ドライバのロードサイド把握状況を二次利用するサービスへの適用等も可能である。
なお、本実施形態に係る位置同定装置1は、前述のコンピュータとプログラムとの組み合わせに限らず、図1に示した各部の機能を実現する専用のハードウェアを組み合わせた装置構成であってもよい。
さらに、上記の実施形態では車両の位置を同定する場合を例に挙げているが、位置同定装置1は、車両に限らず、他の移動体(例えば警備用の巡回ロボット等)の位置の同定にも用いることができる。
以上記載した各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
車両に搭載したカメラで撮影した前記車両の左側方及び右側方の画像を取得し、前記画像における所定の縦長領域を縦方向に並ぶ複数のブロックに分割して前記ブロック毎に算出したフロー値を含む1時刻画像を作成する1時刻画像作成処理部と、
前記左側方の画像毎、及び前記右側方の画像毎に、複数の前記ブロックのフロー値に基づいて前記ブロックに特徴値を設定し、当該特徴値を含む1時刻画像が時系列で並ぶ走行経路データを作成する走行経路データ作成部と、
予め作成しておいた前記走行経路データ及び前記車両の位置に関する情報を含む環境地図データと、前記走行経路データとを比較してブロック同士の対応付けを行うマッチング処理部と、
前記マッチング処理部による対応付けの結果に基づいて前記車両の位置を同定する車両位置特定部と、
を備えることを特徴とする位置同定装置。
(付記2)
前記1時刻画像作成処理部は、前記画像を減色した後で前記ブロックのフロー値を算出し、
前記走行経路データ作成部は、前記ブロックのフロー値に基づいて前記ブロックに二値の特徴値のいずれかを設定する、
ことを特徴とする付記1に記載の位置同定装置。
(付記3)
前記走行経路データ作成部は、前記1時刻画像における上端から所定数のブロックのみを選出して前記走行経路データを作成し、
選出するブロック数は、左方側の前記1時刻画像から選出するブロック数と右方側の前記1時刻画像から選出するブロック数のとの和が一定になるよう制御する、
ことを特徴とする付記1に記載の位置同定装置。
(付記4)
前記1時刻画像作成部は、前記車両の速度に応じて前記縦長領域の幅を制御する、
ことを特徴とする付記1に記載の位置同定装置。
(付記5)
前記1時刻画像作成部は、
1枚の広角前方画像から擬似的な前記左側方の画像及び前記右側方の画像を作成し、
前記擬似的な画像から前記1時刻画像を作成する、
ことを特徴とする付記1に記載の位置同定装置。
(付記6)
前記1時刻画像作成処理部は、
時間的に前後する2枚の画像のうちの一方の画像における前記ブロック内の画素の輝度値と、前記2枚の画像のうちの他方の画像に設定した探索窓内の画素の輝度値との差に基づいて前記ブロックのフロー値を算出する、
ことを特徴とする付記1に記載の位置同定装置。
(付記7)
前記探索窓内の画素の輝度値の差の合計が最も小さく、かつ、予め定めた探索範囲内において前記ブロックから最も遠い探索窓を選出し、
選出した前記探索窓内の画素の輝度値の差の合計を前記ブロックのフロー値とする、
ことを特徴とする付記6に記載の位置同定装置。
(付記8)
前記走行経路データと比較する前記環境地図データの区間を選定する比較区間選定部、を更に備え、
前記比較区間選定部は、1つの前記走行経路データに対し、終端又は始端をずらした一部区間を切り出した複数の環境地図データの区間を選定する、
ことを特徴とする付記1に記載の位置同定装置。
(付記9)
前記マッチング処理部は、局所的な前記特徴値のずれ量、周辺の時刻での前記特徴値のずれ量、及び類似する前記特徴値の存在状況のいずれかを用いて、対応付け結果の利用有無を判定し、利用しないと判定した走行経路データの連続区間のみに限定した対応付けを実施することで、多階層の対応付けを実施する、
ことを特徴とする付記1に記載の位置同定装置。
(付記10)
前記マッチング処理部は、ずれ量が多い暫定的に対応付けされた確度の低いデータ対と、ずれ量が小さい確度の高い対応付けをされたデータ対を特定し、
当該確度の低いデータ対に対して、近傍の確度の高いデータ対からの速度変化に基づく移動距離を算出し、移動距離量が似たデータに対応付ける補正を行う結果補正部を保持する、
ことを特徴とする、付記1に記載の位置同定装置。
(付記11)
前記マッチング処理部は、各走行経路データ及び画像地図データにおける経路の一部に対してずれ量を算出する際の重みを適宜変更してずれ量を計算し、対応付けを実施する、
ことを特徴とする、付記1に記載の位置同定装置。
(付記12)
車両の走行位置を同定する際に前記車両に搭載したカメラで撮影した画像と比較する環境地図データであって、
前記車両の左側方及び右側方の画像における所定の縦長領域を縦方向に並ぶ複数のブロックに分割して前記ブロック毎に算出したフロー値を含む1時刻画像を作成し、
前記左側方の画像毎、及び前記右側方の画像毎に、複数の前記ブロックのフロー値に基づいて前記ブロックに特徴値を設定し、当該特徴値を含む1時刻画像が時系列で並ぶ走行経路データを作成し、
作成した前記走行経路データの前記1時刻画像に、当該1時刻画像の元となる前記画像の撮影位置を含む付随情報を対応付けて作成された、
ことを特徴とする環境地図データ。
(付記13)
前記付随情報が所定の地点からの距離情報を含む、
ことを特徴とする付記12に記載の環境地図データ。
(付記14)
コンピュータが、
車両に搭載したカメラで撮影した前記移動体の左側方及び右側方の画像を取得する処理と、
前記画像における所定の縦長領域を縦方向に並ぶ複数のブロックに分割し、前記ブロック毎に算出したフロー値を含む1時刻画像を作成する処理と、
前記左側方の画像毎、及び前記右側方の画像毎に、複数の前記ブロックのフロー値に基づいて前記ブロックのフロー値を特徴値に変換し、当該特徴値を含む1時刻画像が時系列で並ぶ走行経路データを作成する処理と、
予め作成され記憶部で保持している前記走行経路データ及び前記車両の位置に関する関連情報を含む環境地図データと、前記走行経路データとを比較してブロック同士の対応付けを行う処理と、
前記マッチング処理部による対応付けの結果に基づいて前記車両の位置を同定する処理と、
を実行することを特徴とする位置同定方法。
(付記15)
コンピュータが、
車両に搭載したカメラで撮影された前記車両の左側方及び右側方の画像における所定の縦長領域を縦方向に並ぶ複数のブロックに分割して前記ブロック毎に算出したフロー値を含む1時刻画像を作成し、
前記左側方の画像毎、及び前記右側方の画像毎に、複数の前記ブロックのフロー値に基づいて前記ブロックに特徴値を設定し、当該特徴値を含む1時刻画像が時系列で並ぶ走行経路データを作成し、
作成した前記走行経路データの前記1時刻画像に、当該1時刻画像の元となる前記画像の撮影位置を含む付随情報を対応付けた環境地図データを作成する処理、
ことを特徴とする環境地図データ作成方法。
(付記16)
車両に搭載したカメラで撮影した前記移動体の左側方及び右側方の画像を取得する処理と、
前記画像における所定の縦長領域を縦方向に並ぶ複数のブロックに分割し、前記ブロック毎に算出したフロー値を含む1時刻画像を作成する処理と、
前記左側方の画像毎、及び前記右側方の画像毎に、複数の前記ブロックのフロー値に基づいて前記ブロックのフロー値を特徴値に変換し、当該特徴値を含む1時刻画像が時系列で並ぶ走行経路データを作成する処理と、
予め作成され記憶部で保持している前記走行経路データ及び前記車両の位置に関する関連情報を含む環境地図データと、前記走行経路データとを比較してブロック同士の対応付けを行う処理と、
前記マッチング処理部による対応付けの結果に基づいて前記車両の位置を同定する処理と、
をコンピュータに実行させるためのプログラム。
1 位置同定装置
101 1時刻画像作成部
102 走行経路データ作成部
102a ブロック特徴値決定部
102b ブロック群選出部
103 比較区間選定部
104 マッチング処理部
105 車両位置同定部
106 データ送受信部
107 記憶部
2 カメラ
3 車速センサ
4 GPS
600,600a,600b 走行経路データ
650,650a,650b,651,652,653 環境地図データ

Claims (8)

  1. 車両に搭載したカメラで撮影した前記車両の左側方及び右側方の画像を取得し、前記画像における所定の縦長領域を縦方向に並ぶ複数のブロックに分割して前記ブロック毎に算出したフロー値を含む1時刻画像を作成する1時刻画像作成処理部と、
    前記左側方の画像毎、及び前記右側方の画像毎に、複数の前記ブロックのフロー値に基づいて前記ブロックに特徴値を設定し、当該特徴値を含む1時刻画像が時系列で並ぶ走行経路データを作成する走行経路データ作成部と、
    予め作成しておいた前記走行経路データ及び前記車両の位置に関する情報を含む環境地図データと、前記走行経路データとを比較してブロック同士の対応付けを行うマッチング処理部と、
    前記マッチング処理部による対応付けの結果に基づいて前記車両の位置を同定する車両位置同定部と、
    を備えることを特徴とする位置同定装置。
  2. 前記1時刻画像作成処理部は、前記画像を減色した後で前記ブロックのフロー値を算出し、
    前記走行経路データ作成部は、前記ブロックのフロー値に基づいて前記ブロックに二値の特徴値のいずれかを設定する、
    ことを特徴とする請求項1に記載の位置同定装置。
  3. 前記走行経路データ作成部は、
    前記1時刻画像における上端から所定数のブロックのみを選出して前記走行経路データを作成し、
    選出するブロック数は、左方側の前記1時刻画像から選出するブロック数と右方側の前記1時刻画像から選出するブロック数のとの和が一定になるよう制御する、
    ことを特徴とする請求項1に記載の位置同定装置。
  4. 前記1時刻画像作成部は、前記車両の速度に応じて前記縦長領域の幅を制御する、
    ことを特徴とする請求項1に記載の位置同定装置。
  5. 前記1時刻画像作成部は、
    1枚の広角前方画像から擬似的な前記左側方の画像及び前記右側方の画像を作成し、
    前記擬似的な画像から前記1時刻画像を作成する、
    ことを特徴とする請求項1に記載の位置同定装置。
  6. 前記1時刻画像作成処理部は、
    時間的に前後する2枚の画像のうちの一方の画像における前記ブロック内の画素の輝度値と、前記2枚の画像のうちの他方の画像に設定した探索窓内の画素の輝度値との差に基づいて、
    前記探索窓内の画素の輝度値の差の合計が最も小さく、かつ、予め定めた探索範囲内において前記ブロックから最も遠い探索窓を選出し、
    選出した前記探索窓内の画素の輝度値の差の合計を前記ブロックのフロー値とする、
    ことを特徴とする請求項1に記載の位置同定装置。
  7. コンピュータが、
    車両に搭載したカメラで撮影した前記車両の左側方及び右側方の画像を取得する処理と、
    前記画像における所定の縦長領域を縦方向に並ぶ複数のブロックに分割し、前記ブロック毎に算出したフロー値を含む1時刻画像を作成する処理と、
    前記左側方の画像毎、及び前記右側方の画像毎に、複数の前記ブロックのフロー値に基づいて前記ブロックのフロー値を特徴値に変換し、当該特徴値を含む1時刻画像が時系列で並ぶ走行経路データを作成する処理と、
    予め作成され記憶部で保持している前記走行経路データ及び前記車両の位置に関する関連情報を含む環境地図データと、前記走行経路データとを比較してブロック同士の対応付けを行う処理と、
    前記マッチング処理部による対応付けの結果に基づいて前記車両の位置を同定する処理と、
    を実行することを特徴とする位置同定方法。
  8. 車両に搭載したカメラで撮影した前記車両の左側方及び右側方の画像を取得する処理と、
    前記画像における所定の縦長領域を縦方向に並ぶ複数のブロックに分割し、前記ブロック毎に算出したフロー値を含む1時刻画像を作成する処理と、
    前記左側方の画像毎、及び前記右側方の画像毎に、複数の前記ブロックのフロー値に基づいて前記ブロックのフロー値を特徴値に変換し、当該特徴値を含む1時刻画像が時系列で並ぶ走行経路データを作成する処理と、
    予め作成され記憶部で保持している前記走行経路データ及び前記車両の位置に関する関連情報を含む環境地図データと、前記走行経路データとを比較してブロック同士の対応付けを行う処理と、
    前記マッチング処理部による対応付けの結果に基づいて前記車両の位置を同定する処理と、
    をコンピュータに実行させるためのプログラム。
JP2015020878A 2015-02-05 2015-02-05 位置同定装置、位置同定方法、及びプログラム Pending JP2016143364A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015020878A JP2016143364A (ja) 2015-02-05 2015-02-05 位置同定装置、位置同定方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015020878A JP2016143364A (ja) 2015-02-05 2015-02-05 位置同定装置、位置同定方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2016143364A true JP2016143364A (ja) 2016-08-08

Family

ID=56570599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015020878A Pending JP2016143364A (ja) 2015-02-05 2015-02-05 位置同定装置、位置同定方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2016143364A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108051444A (zh) * 2017-11-30 2018-05-18 哈尔滨市舍科技有限公司 基于图像的水下管道检测装置及其检测方法
CN109658684A (zh) * 2017-10-10 2019-04-19 丰田自动车株式会社 车辆调度系统、自主驾驶车辆以及车辆调度方法
CN110307855A (zh) * 2019-05-20 2019-10-08 特斯联(北京)科技有限公司 一种野外景区自助导航系统及其站点设备
EP3806040A1 (en) 2019-10-09 2021-04-14 Micware Co., Ltd. Position estimation system and position estimation method
CN114779838A (zh) * 2022-06-20 2022-07-22 鲁冉光电(微山)有限公司 一种车载摄像头角度智能调节控制系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109658684A (zh) * 2017-10-10 2019-04-19 丰田自动车株式会社 车辆调度系统、自主驾驶车辆以及车辆调度方法
JP2019070971A (ja) * 2017-10-10 2019-05-09 トヨタ自動車株式会社 自動運転車両の配車システム、自動運転車両、及び配車方法
US10885791B2 (en) 2017-10-10 2021-01-05 Toyota Jidosha Kabushiki Kaisha Vehicle dispatch system, autonomous driving vehicle, and vehicle dispatch method
CN109658684B (zh) * 2017-10-10 2021-07-27 丰田自动车株式会社 车辆调度系统、自主驾驶车辆以及车辆调度方法
CN108051444A (zh) * 2017-11-30 2018-05-18 哈尔滨市舍科技有限公司 基于图像的水下管道检测装置及其检测方法
CN110307855A (zh) * 2019-05-20 2019-10-08 特斯联(北京)科技有限公司 一种野外景区自助导航系统及其站点设备
EP3806040A1 (en) 2019-10-09 2021-04-14 Micware Co., Ltd. Position estimation system and position estimation method
US11481924B2 (en) 2019-10-09 2022-10-25 Micware Co., Ltd. Position estimation system and position estimation method
CN114779838A (zh) * 2022-06-20 2022-07-22 鲁冉光电(微山)有限公司 一种车载摄像头角度智能调节控制系统
CN114779838B (zh) * 2022-06-20 2022-09-02 鲁冉光电(微山)有限公司 一种车载摄像头角度智能调节控制系统

Similar Documents

Publication Publication Date Title
CN109034047B (zh) 一种车道线检测方法及装置
CN111448478B (zh) 用于基于障碍物检测校正高清地图的系统和方法
US10317231B2 (en) Top-down refinement in lane marking navigation
US11727799B2 (en) Automatically perceiving travel signals
US8712096B2 (en) Method and apparatus for detecting and tracking vehicles
US10650256B2 (en) Automatically perceiving travel signals
KR20190102665A (ko) 실세계 물체 정보를 이용한 카메라 공차 보정 시스템 및 방법
US8150104B2 (en) Moving object detection apparatus and computer readable storage medium storing moving object detection program
CN108645375B (zh) 一种用于车载双目系统快速车辆测距优化方法
US20180299893A1 (en) Automatically perceiving travel signals
JP2016143364A (ja) 位置同定装置、位置同定方法、及びプログラム
US11204610B2 (en) Information processing apparatus, vehicle, and information processing method using correlation between attributes
CN104376297A (zh) 道路上的线型指示标志的检测方法和装置
KR101573576B1 (ko) Avm 시스템의 이미지 처리 방법
JP6552448B2 (ja) 車両位置検出装置、車両位置検出方法及び車両位置検出用コンピュータプログラム
CN109791607B (zh) 借助单应矩阵从摄像机的一系列图像中探测和验证对象
CN104427255A (zh) 车载相机的图像处理方法和使用该方法的图像处理设备
JP2009053818A (ja) 画像処理装置及びその方法
JP5957359B2 (ja) ステレオ画像処理装置及びステレオ画像処理方法
US20180300566A1 (en) Automatically perceiving travel signals
KR101030317B1 (ko) 스테레오 비전을 이용하여 장애물을 추적하는 장치 및 방법
JP5888275B2 (ja) 道路端検出システム、方法およびプログラム
CN110472508A (zh) 基于深度学习和双目视觉的车道线测距方法
JP2023184572A (ja) 電子機器、移動体、撮像装置、および電子機器の制御方法、プログラム、記憶媒体
JP2005173899A (ja) 周囲状況表示装置