車線位置検出装置および車線位置検出方法
【課題】低処理負荷で、車載カメラの撮影映像から車線境界線と車両との位置関係を検出する事ができる車線位置検出装置および車線位置検出方法を提供する事。
【解決手段】ECU300は、車両周辺の路面を車載カメラで撮影した映像から車線境界線と車両との位置関係を検出する車線位置検出装置であって、映像からの車線境界線の抽出を行う車線抽出部310と、抽出された車線境界線のエッジを上方視点座標に変換する上方視点データ生成部330と、上方視点座標におけるエッジの位置から車線境界線と車両との位置関係を検出する車線位置検出部340とを有し、上方視点データ生成部330は、映像の特定のライン上に存在する車線境界線のエッジ点のみを上方視点座標に変換し、車線位置検出部340は、上方視点座標におけるエッジ点の位置の時系列データから上方視点座標におけるエッジの位置を求める。
【解決手段】ECU300は、車両周辺の路面を車載カメラで撮影した映像から車線境界線と車両との位置関係を検出する車線位置検出装置であって、映像からの車線境界線の抽出を行う車線抽出部310と、抽出された車線境界線のエッジを上方視点座標に変換する上方視点データ生成部330と、上方視点座標におけるエッジの位置から車線境界線と車両との位置関係を検出する車線位置検出部340とを有し、上方視点データ生成部330は、映像の特定のライン上に存在する車線境界線のエッジ点のみを上方視点座標に変換し、車線位置検出部340は、上方視点座標におけるエッジ点の位置の時系列データから上方視点座標におけるエッジの位置を求める。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両周辺の路面を車載カメラで撮影した映像から車線境界線と車両との位置関係を検出する車線位置検出装置および車線位置検出方法に関する。
【背景技術】
【0002】
従来、車両の走行車線の逸脱を判定する事を目的として、車両周辺の路面を車載カメラで撮影した映像から、走行車線の両側の車線境界線のエッジ(以下「車線エッジ」という)を抽出し、車線境界線と車両との位置関係を検出する車線位置検出装置が存在する(例えば特許文献1参照)。
【0003】
図15は、特許文献1記載の車線位置検出装置(以下「従来装置」という)の機能的な構成を示すブロック図である。
【0004】
従来装置10は、まず、車載カメラである撮像部20の撮影映像を、フレーム単位で入力する。そして、従来装置10は、上方視点画像生成部11において、入力したフレーム単位の撮影映像(以下「撮影画像」という)を、車両の真上の仮想的な視点(以下「上方視点」という)から見下ろしたときの画像である上方視点画像に変換する。この変換は、マッピングテーブル格納部12に格納されたマッピングテーブル12aを用いて行われる。その後、従来装置10は、車線抽出部13において、上方視点画像から車線エッジを抽出し、車線位置検出部14において、車線エッジの上方視点画像における位置から、車線境界線と車両との位置関係を検出する。
【0005】
そして、従来装置10は、車両が車線境界線に近付き過ぎている等の場合には、表示出力部15において警告表示を表示部30に行わせ、警報出力部16においてビープ音の出力等の警報出力を警報部40に出力させる。これにより、従来装置10は、車両が車線から逸脱するおそれが高くなったときに、これを検出し、運転者に対する注意喚起を行う事ができる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−276041号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、従来装置は、車両周囲の撮影画像全体を上方視点画像における座標(以下「上方視点座標」という)に変換する必要がある事から、プロセッサの処理負荷が高くなるという課題を有する。特に、運転者に対する車線逸脱の警報を目的とする場合には、処理はできるだけ高速に行われる事が望ましい。ところが、従来装置は、処理を高速化するためには、高性能なプロセッサまたは専用ハードウェアを搭載しなければならず、コストアップを招いてしまう。
【0008】
本発明の目的は、低処理負荷で、車載カメラの撮影映像から車線境界線と車両との位置関係を検出する事ができる車線位置検出装置および車線位置検出方法を提供する事である。
【課題を解決するための手段】
【0009】
本発明の車線位置検出装置は、車両周辺の路面を車載カメラで撮影した映像から車線境界線と前記車両との位置関係を検出する車線位置検出装置であって、前記映像からの車線境界線の抽出を行う車線抽出部と、抽出された前記車線境界線のエッジを上方視点座標に変換する上方視点データ生成部と、前記上方視点座標における前記エッジの位置から前記車線境界線と前記車両との位置関係を検出する車線位置検出部とを有し、前記上方視点データ生成部は、前記映像の特定のライン上に存在する前記車線境界線のエッジ点のみを上方視点座標に変換し、前記車線位置検出部は、前記上方視点座標における前記エッジ点の位置の時系列データから、前記上方視点座標における前記エッジの位置を求める。
【0010】
本発明の車線位置検出方法は、車両周辺の路面を車載カメラで撮影した映像から車線境界線と前記車両との位置関係を検出する車線位置検出方法であって、前記映像からの車線境界線の抽出を行うステップと、抽出した前記車線境界線のエッジのうち前記映像の特定のライン上に存在するエッジ点のみを上方視点座標に変換するステップと、前記上方視点座標における前記エッジ点の位置の時系列データから前記上方視点座標における前記エッジの位置を求めるステップと、前記上方視点座標における前記エッジの位置から前記車線境界線と前記車両との位置関係を検出するステップとを有する。
【発明の効果】
【0011】
本発明によれば、映像の特定のライン上に存在する車線境界線のエッジ点のみを上方視点座標に変換して上方視点座標における車線境界線のエッジの位置を求めるので、低処理負荷で、車載カメラの撮影映像から車線境界線と車両との位置関係を検出する事ができる。
【図面の簡単な説明】
【0012】
【図1】本発明の一実施の形態に係る車線位置検出装置を含む車線位置検出システムの概要を説明するための図
【図2】本実施の形態に係るECUを含む車線位置検出システムの各部の構成を示すブロック図
【図3】本実施の形態に係るECUの動作を示すフローチャート
【図4】本実施の形態における車線エッジを抽出するフィルタの一例を説明するための図
【図5】本実施の形態において用いられる車線境界線の輝度変化を説明するための図
【図6】本実施の形態に係る車線エッジの候補点の決定処理の一例を説明するための図
【図7】本実施の形態におけるマッピングテーブルの内容の一例を示す図
【図8】本実施の形態における上方視点変換の様子の一例を示す図
【図9】本実施の形態における履歴情報の構成の一例を示す図
【図10】本実施の形態における上方視点データの一例のプロット図
【図11】本実施の形態における車線エッジが検出されなかった場合の上方視点データの一例のプロット図
【図12】本実施の形態において用いられる車両の舵角とタイヤ角との対応関係の一例を示す図
【図13】本実施の形態において車両が曲線走行する場合の上方視点データ補間に用いられる各種パラメータを示す第1の図
【図14】本実施の形態において車両が曲線走行する場合の上方視点データ補間に用いられる各種パラメータを示す第2の図
【図15】従来装置の機能的な構成を示すブロック図
【発明を実施するための形態】
【0013】
以下、本発明の一実施の形態について、図面を参照して詳細に説明する。
【0014】
図1は、本発明の一実施の形態に係る車線位置検出装置を含む車線位置検出システムの概要を説明するための図である。本実施の形態は、本発明を、車両内部に設置された、車載カメラ用のECU(electronic control unit:電子制御ユニット)に適用した例である。また、以下の各図において、本来は白や黄等である車線境界線を、適宜、黒で示す。
【0015】
図1に示すように、本実施の形態における車線位置検出システム100は、車両200の内部に設置されたECU300と、車両200の後部に取り付けられた撮像部400とを含む。撮像部400と車両200の各部との位置関係は既知であり、撮像部400の位置および向きと車両200の各部の位置および向きとは、双方向に算出可能であるものとする。
【0016】
撮像部400は、車両200の後方の映像を撮影する。撮像部400は、例えば、車両200の後部の低い位置に車両200後方の路面を見下ろす向きで取り付けられた、所謂車載カメラである。撮像部400の左右方向は、路面の水平方向にほぼ一致しており、撮像部401の水平画角401は十分に広いものとする。
【0017】
ECU300は、撮像部400から撮影映像を取得し、取得した撮影映像から、車両200が走行中の車線210の車線エッジ220と車両200との位置関係を検出する。具体的には、ECU300は、フレーム単位の撮影映像(撮影画像)から、車線210を規定する車線境界線230の内側のラインと、車両200の代表点(例えば車両200の前部両角の点)240との間の距離であるエッジ距離Dを求める。そして、ECU300は、エッジ距離Dが50cm以下である等の所定の条件が満たされるとき、車両200の運転者に対する警報を出力させる。
【0018】
ECU300は、撮影映像の特定のライン(例えば線250に相当するライン)上に存在するエッジ点(例えばエッジ点260)のみを上方視点座標に変換する。ところが、そのままでは、当該エッジ点の位置は判定可能であるが、代表点240の近くのエッジ点(たとえばエッジ点270)の位置は判定する事ができない。
【0019】
そこで、ECU300は、例えば、エッジ点の上方視点座標における位置(以下「エッジ位置」という)の時系列データから、車両200(または撮像部400)を基準とした車線エッジ220の傾きとして、車両の長さ方向の中心線と車線エッジ220とが成す角度(以下「エッジ傾き」という)φを算出する。そして、ECU300は、特定のライン上で検出されたエッジ点(例えばエッジ点260)のエッジ位置と、エッジ傾きφとから、車両200の代表点240の近くのエッジ点(たとえばエッジ点270)のエッジ位置を算出し、エッジ距離Dを求める。
【0020】
このように、車線位置検出システム100は、ECU300において、特定のライン上に存在するエッジ点のみを上方視点座標に変換し、エッジ位置の時系列データからエッジ全体の位置を求めることにより、車線境界線230と車両200との位置関係を検出する。
【0021】
次に、車線位置検出システム100の各部の構成について説明する。
【0022】
図2は、ECU300を含む車線位置検出システム100の各部の構成を示すブロック図である。
【0023】
図2において、車線位置検出システム100は、ECU300、撮像部400、車両情報出力部500、表示部600、および警報部700を有する。
【0024】
撮像部400は、カメラ部410およびフレームメモリ部420を有する。カメラ部410は、例えば、CCD(charge coupled devise image sensor)撮像素子やCMOS(complementary metal oxide semiconductor)撮像素子を備えたデジタルビデオカメラであり、車両の後方の撮影映像の映像信号を、所定の方式(例えばNTSC方式)でフレームメモリ部420へ出力する。フレームメモリ部420は、カメラ部410から入力された映像信号を格納する。
【0025】
車両情報出力部500は、車速および舵角を少なくとも含む、車両の移動に関する情報(以下「車両情報」という)を、ECU300へ出力する。車両情報出力部500は、例えば、車速検出装置および舵角検出装置を含む。
【0026】
表示部600は、ECU300から後述の警告表示信号を入力し、入力した警告表示信号に従い、アイコン表示等の警告表示を行う。ここでは、表示部600は、車両の運転席の近くに取り付けられた、ナビゲーションシステムのモニタ、インパネ(instrument panel)内のモニタ、またはルームミラー内に内蔵されたモニタ等である。
【0027】
警報部700は、ECU300から後述の警報信号を入力し、入力した警報信号に従い、運転者に対する警報を行う。ここでは、警報部700は、ブザーまたはラウドスピーカを有し、音声の出力による警報(危険の報知。以下単に「警報出力」という)を行うものとする。
【0028】
ECU300は、車線抽出部310、マッピングテーブル格納部320、上方視点データ生成部330、車線位置検出部340、表示出力部350、および警報出力部360を有する。
【0029】
車線抽出部310は、撮像部400からフレーム単位で撮影映像を取得し、取得したフレーム毎の撮影映像(撮影画像)を、上方視点データ生成部330へ出力する。また、車線抽出部310は、撮影画像からの車線境界線の抽出を行う。具体的には、車線抽出部310は、撮影画像から、車線エッジのうち、撮影映像の特定のライン上に存在するエッジ点のみを抽出し、エッジ点の抽出結果を、基の撮影映像と共に、上方視点データ生成部330へ出力する。
【0030】
マッピングテーブル格納部320は、撮影映像の上述の特定のラインの画素を上方視点座標に変換(上方視点から見た場合のマップに変換)するためのマッピングテーブルを予め格納する。マッピングテーブルは、例えば、撮像部400の画角等のカメラパラメータと、車両200に対する撮像部400の取付位置および取付角度とに基づいて生成される。
【0031】
上方視点データ生成部330は、車線抽出部310から入力された撮影画像を、車線位置検出部340へ出力する。また、上方視点データ生成部330は、車線抽出部310からエッジ点が入力されたとき、マッピングテーブル格納部320が格納するマッピングテーブルに基づいて、撮影画像のうち入力されたエッジ点のみを、上方視点座標に変換(上方視点から見た場合のマップに変換)する。なお、上方視点座標とは、必ずしも上方視点から見た場合の座標に限定されるものではなく、路面に略平行であって車両の位置および向きを基準とする平面座標であれば良い。そして、上方視点データ生成部330は、エッジ点の上方視点座標(以下「エッジ位置座標」という)のデータを、上方視点データとして、車線抽出部310から入力された撮影画像と共に、車線位置検出部340へ出力する。
【0032】
車線位置検出部340は、上方視点データ生成部330から入力された上方視点データの履歴と、車両情報出力部500から入力される車両情報とから、上方視点座標における車線エッジの位置(例えば図1のエッジ点260のエッジ位置座標と図1のエッジ傾きφとの組)を求める。そして、車線位置検出部340は、車線エッジの位置から、車線エッジと車両の代表点との間のエッジ距離(例えば図1のエッジ距離D)を求める。そして、車線位置検出部340は、エッジ距離等が所定の条件を満たすとき、表示出力部350に対して警告表示を命令し、警報出力部360に対して警報出力を命令する。所定の条件とは、例えば、エッジ距離が所定値以下となる等、車両が車線を逸脱する可能性が高いといえるための条件である。
【0033】
表示出力部350は、車線位置検出部340からの命令を受けて、警告表示を指示する警報信号を、表示部600へ出力する。
【0034】
警報出力部360は、車線位置検出部340からの命令を受けて、警報出力を指示する警報信号を、警報部700へ出力する。
【0035】
ECU300は、CPU(central processing unit)、制御プログラムを格納したROM(read only memory)等の記憶媒体、RAM(random access memory)等の作業用メモリ、各種データを格納するためのハードディスク等の記憶媒体、および通信回路等により実現する事ができる。この場合、上記した各部の機能は、CPUが制御プログラムを実行する事により実現される。
【0036】
このような構成を有する車両位置検出システム100は、撮影映像の特定のライン上に存在するエッジ位置のみを上方視点座標に変換する事によって、車両が車線を逸脱する可能性が高いか否かを判定し、運転者に対する警報を行う事ができる。
【0037】
次に、ECU300の動作について説明する。
【0038】
図3は、ECU300の動作を示すフローチャートである。
【0039】
まず、ステップS1100において、ECU300は、撮像部400から撮影画像を入力する。すなわち、ECU300は、車線抽出部310において、撮像部400のフレームメモリ部420から、1フレーム分の撮影映像を取得する。
【0040】
そして、ステップS1200において、ECU300は、入力した撮影画像から、エッジ点の候補点を抽出する。すなわち、ECU300は、車線抽出部310において、入力した撮影画像に対して所定のフィルタを施し、撮影画像から、所定の斜め方向のベクトルを持つエッジ成分を抽出する。
【0041】
図4は、車線エッジを抽出するフィルタの一例を説明するための図である。
【0042】
撮像部400のカメラ部410は、広角カメラであり、車両後方の路面を斜めに見下ろして撮影する。したがって、図4(A)に示すように、撮影画像810における走行車線両側の車線境界線811は、斜めに傾き、歪んだ形状となる。
【0043】
そこで、車線抽出部310は、撮影画像810における車線境界線811が所定の傾き812を有している事を想定し、図4(B)に示すようなフィルタ係数813、814のフィルタを撮影画像810の各画素の輝度値にそれぞれ施し、得られた結果を加算する。これにより、車線抽出部310は、略水平方向となる停止線等、車線境界線以外の部分における輝度変化に対して、車線境界線における輝度変化を相対的に強める事ができる。
【0044】
図5は、車線境界線における輝度変化を説明するための図である。
【0045】
図5に示すように、通常、灰色である路面の画像部分821の輝度に比べて、白または黄色である車線境界線811の画像部分822の輝度は非常に高く、また、車線境界線811のエッジはシャープである。したがって、路面の画像部分821と車線境界線811の画像部分822との境界部分では、略水平方向における輝度変化の絶対値が大きくなる。そこで、車線抽出部310は、エッジ点の候補として、略水平方向における輝度変化の絶対値が所定値以上となる部分を抽出する。
【0046】
そして、図3のステップS1300において、ECU300は、ステップS1200において抽出した複数のエッジ点の候補の位置関係から、最終的なエッジ点を決定する。具体的には、ECU300は、車線抽出部310において、所定の方向に連続した一定の長さ以上の点列を構成している複数のエッジ点の候補が存在する事を条件として、エッジ点の候補の中から最終的なエッジ点を決定し、上方視点データ生成部330へ出力する。
【0047】
図6は、車線エッジの候補点の決定処理の一例を説明するための図である。
【0048】
図6に示すように、車線抽出部310は、撮影画像810に対し、撮像部400のカメラ部410の光軸中心を通る位置に、略水平方向に伸びる特定のライン(以下「着目ライン」という)831を予め設定している。
【0049】
車線抽出部310は、着目ライン831において、略水平方向における輝度変化に基づき、エッジ点の候補(略水平方向における輝度変化が所定値以上となる点)を探索する。そして、車線抽出部310は、着目ライン831上にエッジ点の候補832が存在する場合には、着目ライン831の上下方向のそれぞれ縦幅Laの範囲に、探索ベクトルViで定義される探索中心位置833に設定する。
【0050】
そして、車線抽出部310は、各探索中心位置833の左右方向のそれぞれ横幅Diの範囲を、探索範囲834に設定して、エッジ点の候補を探索する。そして、車線抽出部310は、探索範囲834内に存在するエッジ点の候補の数をカウントし、その数が所定値以上である場合には、着目ライン831上のエッジ点の候補832を、最終的なエッジ点に決定する。
【0051】
ここでは、車線抽出部310は、車線境界線811の両側のエッジのうち、車両が走行する車線側のエッジであると推定されるエッジの位置を、エッジ点に決定するものとする。例えば、車線抽出部310は、撮影映像810の中心835の右側および左側のそれぞれにおいて、中心835からみて輝度が増大する方向に変化するエッジ点のうち中心835からの距離が最も短いエッジ点のみを、上方視点データ生成部330に出力する。
【0052】
カメラ部410の光軸中心を通るラインは、他のラインよりも画面横方向の歪みが少なく、車線境界線の直線度合いや車線の位置を精度良く検出するのに有利である。探索ベクトルViは、例えば、想定される車線境界線811の傾き(例えば図4の傾き812)に相当する方向ベクトルである。横幅Diは、検出誤差および実際の車線境界線811の傾きの範囲を考慮した値である。縦幅Laは、検出誤差および車線境界線811であると判定するのに十分な長さを考慮した値である。したがって、車線抽出部310は、高い精度で、着目ライン831上に存在するエッジ点を抽出する事ができる。
【0053】
そして、図3のステップS1400において、ECU300は、車線境界線が検出されたか否かを判断する。すなわち、ECU300は、車線抽出部310において、着目ライン上においてエッジ点を抽出する事ができたか否かを判断する。ECU300は、車線境界線が検出された場合には(S1400:YES)、ステップS1500へ進み、車線境界線が検出されなかった場合には(S1400:NO)、ステップS1600へ進む。
【0054】
ステップS1500において、ECU300は、着目ライン上で検出されたエッジ点を上方視点マップに変換する。すなわち、ECU300は、上方視点データ生成部330において、車線抽出部310から入力されたエッジ点を、マッピングテーブル格納部320のマッピングテーブルを参照してエッジ位置座標に変換し、撮影映像と共に車線位置検出部340へ出力する。
【0055】
図7は、マッピングテーブル格納部320が格納するマッピングテーブルの内容の一例を示す図である。
【0056】
図7に示すように、マッピングテーブル840は、横軸をX軸とする撮影画像の座標系(以下「カメラ座標系」という)におけるX座標値841毎に、変換先である上方視点座標系におけるX座標値842を対応付けて記述する。上方視点座標系は、実世界の座標系であり、X座標値に差分およびY座標値の差分は、それぞれ、実空間におけるX軸方向における実際の距離およびY軸方向における実際の距離に対応するものとする。
【0057】
図8は、上方視点変換の様子の一例を示す図である。
【0058】
図8に示すように、上方視点データ生成部330は、入力された各エッジ点851のカメラ座標系852のX座標値を、マッピングテーブル840を参照して、上方視点座標系853のX座標値であるエッジ位置座標854に変換する。
【0059】
例えば、図7に示すように、マッピングテーブル840において、カメラ座標系852におけるX座標値「205」に、上方視点座標系853におけるX座標値「212」が対応付けられているとする。このとき、図8に示すように、カメラ座標系852のXY座標が(205,120)のエッジ点が入力されたとき、上方視点データ生成部330は、上方視点座標系853におけるX座標値「212」のエッジ位置座標に変換する。なお、この時点では、上方視点座標系の座標として必要な情報はX軸座標値のみである。
【0060】
そして、ステップS1700において、ECU300は、車線位置の判定を行う。すなわち、ECU300は、車線位置検出部340において、上方視点データ生成部330から入力された上方視点データの履歴を含む履歴情報を作成し、作成した履歴情報から、車線エッジの位置を求める。そして、車線位置検出部340は、求めた車線エッジの位置から、車線エッジと車両の代表点との間のエッジ距離(例えば図1のエッジ距離D)を求める。
【0061】
ここで、車両から後方に向かって左側の車線エッジであると推定される車線エッジを「左エッジ」といい、左エッジのエッジ点を「左エッジ点」といい、左エッジ点のエッジ位置座標を「左エッジ位置座標」という。また、車両から後方に向かって右側の車線エッジであると推定されるエッジを「右エッジ」といい、右エッジのエッジ点を「右エッジ点」といい、右エッジ点のエッジ位置座標を「右エッジ位置座標」という。
【0062】
また、時間幅Tにおける上方視点データの各サンプリング時刻を、最新のサンプリング時刻(現在時刻とする)から過去に遡る方向に、t0、t1、t2、・・・、tsと表現するものとする。そして、時間幅Tにおける上方視点データの各サンプリング時刻を、着目するサンプリング時刻から過去に遡る方向に、t、t−1、t−2、・・・、t−sと表現するものとする。
【0063】
図9は、履歴情報の構成の一例を示す図である。また、図10は、履歴情報860の上方視点データを時間軸上でプロットしたときの状態の一例を示す図である。
【0064】
図9に示すように、履歴情報860は、所定のサンプリング数sに対応する直前の時間幅Tの各サンプリング時刻(ここではフレーム時刻とする)861に対応付けて、車速862、左エッジ位置座標863、右エッジ位置座標864、左差分値865、および右差分値866を記述する。左差分値865は、隣り合うサンプリング時刻間の左エッジ位置座標の差分値である。右差分値866は、隣り合うサンプリング時刻間の右エッジ位置座標の差分値である。
【0065】
車線位置検出部340は、上方視点データが入力される毎に、入力された最新の上方視点データと1つ前のサンプリング時刻の上方視点データとを比較して、左差分値および右差分値を算出する。具体的には、車線位置検出部340は、左差分値αl(t0)および右差分値α1(t0)を、例えば、以下の式(1)〜式(3)を用いて算出する。ここで、Vは、車速であり、ΔTは、1つ前の上方視点データに対するサンプリング間隔(フレーム間隔)であり、PlおよびPrは、それぞれ左エッジ位置座標および右エッジ位置座標である。
αl(t0) = {Pl(t0)−Pl(t1)}×V(t0)×ΔT(t0)
・・・(1)
αr(t0) = {Pr(t0)−Pr(t1)}×V(t0)×ΔT(t0)
・・・(2)
ΔT(t0) = t0 −t1 ・・・(3)
【0066】
そして、車線位置検出部340は、車両情報出力部500から入力された最新の車両情報に含まれる車速と、最新の上方視点データと、算出した左差分値および右差分値とを、現在時刻である時刻t0のレコードとして、履歴情報860に追加する。
【0067】
なお、サンプリング数sは、車線境界線が破線であり途切れ部分を有する場合でも、2つ以上のエッジ位置座標が必ず取得されているような値が設定される。したがって、サンプリング数sは、例えば、以下の式(4)を満たす値が設定される。ここで、ΔTminは、サンプリング間隔(フレーム間隔)の最小値であり、Lは、車線境界線が途切れる長さであり、Bは、1以上の整数である余裕値である。
s = L/(V×ΔTmin) + β ・・・(4)
【0068】
NTSC信号の場合は、フレーム間隔が1/30秒である事から、サンプリング間隔の最小値ΔTminとして、例えば1/30秒が用いられる事になる。
【0069】
車線位置検出部340は、履歴情報860を用いて、左エッジ位置座標と左エッジのエッジ傾きとから、左エッジまでのエッジ距離(以下「左エッジ距離」という)を算出する。また、車線位置検出部340は、履歴情報860を用いて、右エッジ位置座標と右エッジのエッジ傾きとから、右エッジまでのエッジ距離(以下「右エッジ距離」という)を算出する。
【0070】
具体的には、車線位置検出部340は、例えば、以下の式(5)を用いて、エッジ傾きφを算出する。ここで、Mは、時間幅Tにおける車両のその前後方向における移動距離であり、例えば時刻tsの車速Vtsと時刻t0の車速Vt0との平均車速Vaに時間幅Tを乗じた値である。また、ΔDは、時間幅Tにおける車両のその左右方向における車線境界線に対する移動距離であり、例えば時刻tsの左エッジ位置座標Pltsから時刻t0の左エッジ位置座標Plt0を差し引いた値である。但し、エッジ傾きφは、車線に対して車両が反時計回り方向に傾いているときを正の値とする。
tanφ = ΔD/M ・・・(5)
【0071】
そして、車線位置検出部340は、例えば、以下の式(6)および式(7)を用いて、左エッジ距離Dlおよび右エッジ距離Drを算出する。ここで、Qlyは、上述の着目ラインのY座標値から車両の左側の代表点のY座標値を差し引いた値であり、Qlxは、車両の左側の代表点のX座標値から現在の左エッジ位置座標を差し引いた値である。また、Qryは、上述の着目ラインのY座標値から車両の右側の代表点のY座標値を差し引いた値であり、Qrxは、現在の右エッジ位置座標から車両の右側の代表点のX軸座標値を差し引いた値である。
Dl = Qlx + Qlytanφ ・・・(6)
Dr = Qrx − Qrytanφ ・・・(7)
【0072】
なお、Qly、Qryは、車両設計値であり、代表点が車両の前タイヤよりも前方に設定されているとき、代表点から前タイヤまでのY軸方向の距離、車両のホイールベース、車両のリアオーバーハング、および車載カメラから着目ラインまでの距離を加算した値となる。
【0073】
そして、車線位置検出部340は、求めた左エッジ距離Dlと右エッジ距離Drとが異なる場合には小さい方を、また、求めた左エッジ距離Dlと右エッジ距離Drとが同一である場合にはその値を、エッジ距離Dに決定する。
【0074】
なお、車両の代表点は、例えば車両200の後部両角の点としてもよい。この場合、車両後左端の代表点の上方視点座標系における位置をCl、車両後右端の代表点の上方視点座標系における位置をCrと置くと、エッジ距離Dは、例えば、左エッジ位置座標Plt0および右エッジ位置座標Prt0を用いて、以下の式(8)および式(9)により算出することができる。
D=|Cr−Prt0| (|Cr−Prt0|<|Cl−Plt0|)
・・・・・・(8)
D=|Cl−Plt0| (|Cr−Prt0|≧|Cl−Plt0|)
・・・・・・(9)
【0075】
また、車線が曲線である場合には、左エッジ位置座標Plt0または右エッジ位置座標Prt0から算出されるエッジ距離Dには、誤差が生じる。この誤差Diffは、車線の曲線半径をRwと置くと、例えば、上述のQryを用いて、以下の式(10)のように表される。
Diff = Rw−√(Rw2−Qry2) ・・・・・・(10)
【0076】
したがって、車線位置検出部340は、エッジ距離Dを、誤差Diffで補正しても良い。但し、高速道路の回転半径は通常250m以上であるため、Qry=5mとしても、
誤差Diffは5cm程度である。
【0077】
また、車線位置検出部340は、車両が車線を逸脱するまで(つまり、車線エッジに到達するまで)の推定時間Tdを、例えば、時間幅Tの左差分値αl(右差分値αrでも良い)から、以下の式(11)を用いて算出する。
Td = D / [Σαl(t)/{s×ΔT(t)}] ・・・(11)
【0078】
そして、図3のステップS1800において、ECU300は、車両が車線を逸脱する可能性が高いといえる所定の条件(以下「警報条件」という)が満たされるかどうかを判断する。すなわち、ECU300は、車線位置検出部340において、算出したエッジ距離Dおよび逸脱までの推定時間Tdが警報条件を満たすか否かを判断する。
【0079】
警報条件は、エッジ距離Dの閾値Dthと、逸脱までの推定時間Tdの閾値Tthとを用いて、例えば、以下の式(12)を用いて表される。
D<Dth かつ Td<Tth ・・・(12)
【0080】
ECU300は、警報条件が満たされない場合には(S1800:NO)、ステップS1900へ進み、警報条件が満たされる場合には(S1800:YES)、ステップS2000へ進む。
【0081】
ステップS1900において、ECU300は、電源オフ操作等により処理の終了を指示されたか否かを判断する。ECU300は、処理の終了を指示されていない場合は(S1900:NO)、ステップS1100へ戻り、次のフレームの撮影画像に処理を移し、車線逸脱の監視を継続する。
【0082】
一方、ステップS2000において、ECU300は、警告表示および警報出力を行う。すなわち、ECU300は、車線位置検出部340において、車両が近寄って行っている車線境界線の方向を示す情報を含む警告表示信号を生成し、表示出力部350へ出力すると共に、警報出力部360に対して警報出力を命令する。この結果、例えば、表示部600は、車両が近寄って行っている車線境界線の方向を矢印のアイコンで表示し、警報部700は、ビープ音を出力する。
【0083】
また、ステップS1600において、ECU300は、上方視点データの補間処理を行う。すなわち、ECU300は、上方視点データ生成部330において、左エッジ点および右エッジ点のうち車線抽出部310から入力されないエッジ点のエッジ位置座標を推定する。
【0084】
上方視点データ生成部330は、車線抽出部310から入力されたエッジ点については、ステップS1500と同様に上方視点座標への変換を行う。以下、上方視点データの補間の各種手法について説明する。図11は、以下の説明で取り上げる、左エッジ点が上方視点データ生成部330に入力されなかった場合の、過去に取得された上方視点データを時間軸上でプロットしたときの状態を示す図である。
【0085】
まず、過去の左エッジ位置座標の履歴から上方視点データを補間する手法について説明する。
【0086】
各時刻のX座標値の差分値αは、車両が車線境界線が伸びる方向に対してほぼ真直ぐに走行している間は、ほぼゼロとなり、車両が車線境界線が伸びる方向に対して斜めに直進走行している間は、ゼロではない一定の値となる。
【0087】
上方視点データ生成部330は、車線位置検出部340の履歴情報に記述された時間幅Tにおける左差分値αlの平均値を用いて、現在時刻t0の左エッジ位置座標の推定値Plt0'を算出する。具体的には、車線位置検出部340は、例えば、以下の式(13)を用いて、現在の時刻t0における左エッジ位置座標の推定値Plt0'を算出する。
Plt0' = Pt1 + Σαl(t)/s ・・・(13)
【0088】
そして、上方視点データ生成部330は、算出した左エッジ位置座標の推定値Plt0'を。左エッジ位置座標Plt0として、車線位置検出部340へ出力する。これにより、上方視点データ生成部330は、左エッジ点だけでなく右エッジ点も抽出されなかった場合でも、左エッジ位置座標Plt0を決定し、上方視点データを補間する事ができる。
【0089】
次いで、右エッジ位置座標から上方視点データを補間する手法について説明する。
【0090】
上方視点データ生成部330は、車線位置検出部340の履歴情報を参照し、例えば、以下の式(14)を用いて、エッジ位置距離ΔPを算出する。
ΔP = Pr − Pl ・・・・・・(14)
【0091】
なお、上方視点データ生成部330は、1つ前のサンプリング時刻t1の上方視線データを用いてエッジ位置距離ΔPを算出する事が望ましい。また、上方視点データ生成部330は、検出誤差を考慮して、時間幅Tのエッジ位置距離ΔPの平均値を採用したり、更に平均値を取る際にサンプリングからの経過時間に応じた重み付けを行っても良い。この場合、車線位置検出部340が、上方視線データが入力される毎に、エッジ位置距離ΔPを算出し、履歴情報に記述しておく事が望ましい。
【0092】
そして、上方視点データ生成部330は、算出したエッジ位置距離ΔPと、現在時刻のt0の右エッジ位置座標Prt0から、例えば以下の式(15)を用いて、現在の時刻t0における左エッジ位置座標の推定値Plt0'を算出する。
Plt0' = Prt0 − ΔP ・・・・・・(15)
【0093】
そして、上方視点データ生成部330は、算出した左エッジ位置座標の推定値Plt0'を、左エッジ位置座標Plt0として、車線位置検出部340へ出力する。これにより、上方視点データ生成部330は、時間幅Tにおいて左差分値αlが大きく変動しているような場合でも、精度良く、左エッジ位置座標Plt0を決定し、上方視点データを補間する事ができる。
【0094】
次いで、車両が曲線走行する場合に上方視点データの補間の精度を向上させる手法について説明する。
【0095】
車線位置検出部340は、図12に示すような、車両の舵角とタイヤ角との対応関係を、予め格納している。そして、車線位置検出部340は、この対応関係を用いて、車両情報出力部500から入力される最新の舵角を逐次タイヤ角に変換し、現在のタイヤ角θとして、履歴情報に記述する。
【0096】
図13および図14は、車両が曲線走行する場合の上方視点データ補間に用いられる各種パラメータを示す図である。
【0097】
上方視点データ生成部330は、車線位置検出部340の履歴情報を参照し、現在のタイヤ角θから、例えば、以下の式(16)を用いて、車両から後方に向かって左側の後タイヤの位置(以下「基準点」という)P0から車両200の回転移動の回転中心Oまでの距離Rlを算出する。ここで、Wbは、車両200のホイールベースである。
Rl = Wb / tanθ ・・・・・・(16)
【0098】
また、上方視点データ生成部330は、基準位置P0を原点(0,0)とし、車両200から後方に向かって右方向をx軸正方向とし車両200から前方の方向をy軸正方向とする座標系(以下「タイヤ座標系」という)置く。タイヤ座標系は、実世界の座標系であり、X座標値に差分およびY座標値の差分は、それぞれ、実空間におけるX軸方向における実際の距離およびY軸方向における実際の距離に対応するものとする。
【0099】
そして、上方視点データ生成部330は、車両200の回転中心Oのタイヤ座標系における座標を、例えば以下の式(17)を用いて取得する。
O(ox,oy) = (−Rl,0) ・・・・・・(17)
【0100】
そして、上方視点データ生成部330は、1つ前のサンプリング時刻の車線位置Pw1左エッジ位置座標Plt1を、例えば以下の式(18)を用いて、上述のタイヤ座標系の座標Pw1'に変換する。ここで、P0は、基準位置P0の上方視点座標である。
Pw1' = Plt1 − P0 ・・・・・・(18)
【0101】
そして、上方視点データ生成部330は、1つ前のサンプリング時刻の車線位置の実世界座標系における座標Pw1'を、回転中心Oを中心に回転させるときの回転半径Rを、例えば以下の式(19)を用いて算出する。
R = Wb / sinθ ・・・・・・(19)
【0102】
そして、上方視点データ生成部330は、例えば以下の式(20)を用いて、車速Vと、サンプリング間隔ΔT(t0)と、回転半径Rとから、1つ前のサンプリング時刻の車線位置の実世界座標系における座標Pw1'の回転角γを算出する。
γ = tan−1{ V×ΔT(t0) / R} ・・・・・・(20)
【0103】
そして、上方視点データ生成部330は、例えば以下の式(21)を用いて、座標Pw1'を回転角γだけ回転中心Oを中心に回転させた座標を、現在時刻t0の車線位置の実世界座標系における座標Pw0として算出する。ここで、座標Pw1'の実世界座標系のxy座標を(Pw1'x,Pw1'y)とする。
【数1】
【0104】
そして、上方視点データ生成部330は、たとえば以下の式(22)を用いて、座標Pw0を、元の上方視点座標系の座標に変換し、更に基準位置P0のオフセットを元に戻す。
Pw0' = ( Pw0 / PMM ) + P0 ・・・・・・(22)
【0105】
上方視点データ生成部330は、このようにして得られた座標Pw0'を、左エッジ位置座標Plt0として、車線位置検出部340へ出力する。これにより、上方視点データ生成部330は、車両が回転走行している場合でも、精度良く、左エッジ位置座標Plt0を決定し、上方視点データを補間する事ができる。
【0106】
以上説明したように、本実施の形態に係る車線位置検出システム100は、撮影映像の特定のライン上に存在するエッジ点のみを上方視点座標に変換する。これにより、車線位置検出システム100は、撮影映像全体を変換する従来装置に比べて、低処理負荷で、車載カメラの撮影映像から車線境界線と車両との位置関係を検出する事ができる。また、車線位置検出システム100は、車両が走行する車線を規定する車線境界線のエッジであると推定されるエッジ点のみを上方視点座標に変換するため、更に処理負荷を低減することができる。すなわち、車線位置検出システム100は、性能を抑えたプロセッサでも従来装置と同等の効果を得る事ができ、装置コストを抑える事が可能となる。
【0107】
ここで、1フレーム分の上方視点マップに必要なメモリ量M[バイト]および変換処理に必要な時間Ttを、従来装置と本実施の形態に係るECU300との間でそれぞれ比較する。ここで、撮影画像は、VGAサイズの画像であるものとし、Hは、ヘッダ容量[バイト]であり、1画素当たり上方視点変換に必要なデータは、1バイトであり、Tt'は、1画素当たりの変換処理に要する時間[秒]であるものとする。
【0108】
従来装置に必要なメモリ量Mは、H+640×480[バイト]となる。これに対し、本実施の形態に係る車線位置検出システム100に必要なメモリ量Mは、H+640×1[バイト]で済む。すなわち、本実施の形態に係る車線位置検出システム100は、従来装置に比べて、上方視点マップに必要なメモリ量Mを、640×479[バイト]も削減することができる。
【0109】
また、従来装置に必要な時間Ttは、Tt'×640×480[秒]となる。これに対し、本実施の形態に係る車線位置検出システム100に必要な時間Ttは、Tt'×2[秒]で済む。これは、本実施の形態に係る車線位置検出システム100が、左エッジ点と右エッジ点の2箇所のみを変換するためである。すなわち、本実施の形態に係る車線位置検出システム100は、従来装置に比べて、上方視点変換に必要な時間Ttを、Tt'×307198[秒]も削減することができる。
【0110】
なお、以上説明した実施の形態では、車線位置検出システム100は、警報を、撮影画像に重畳した警告表示と音声の出力とによって行うものとしたが、これに限定されない。例えば、車線位置検出システム100は、運転席付近のインジケータにおけるアイコンや警告光の点灯、運転席やハンドルの振動等、他の手段によって、警報を行っても良い。また、車線位置検出システム100は、車線境界線に対する車両の位置に基づいて、車両の車線逸脱を防ぐために車速や舵角をコントロールする等、車両の動作を制御するものであっても良い。
【0111】
また、エッジ位置のサンプリング間隔は、必ずしも撮影画像のフレーム間隔と同一としなくても良い。但し、処理の簡素化および高速化のため、サンプリング間隔は一定であることが望ましい。
【0112】
また、車載カメラの位置および数、検出の対象となる車線エッジの種類、車線エッジの抽出手法、エッジ位置を抽出する特定のラインの位置、エッジ位置座標の時系列データに基づくエッジ位置の検出手法、およびエッジ位置座標の補間手法は、上述の例に制限されない。更に、車両の代表点の位置および数、警報条件、および警報の種類も、上述の例に制限されない。例えば、警報条件は、車両と車線境界線との傾きが所定値以上となった事を含んでも良い。
【0113】
また、エッジ位置を抽出する特定のラインは、複数であっても良い。この場合、車線位置検出システム100は、例えば、ラインのそれぞれに基づいて上方視点座標におけるエッジ位置を算出し、算出したエッジ位置を平均化する。これにより、車線位置検出システム100は、エッジ位置の検出精度を向上させることができる。
【産業上の利用可能性】
【0114】
本発明に係る車線位置検出装置および車線位置検出方法は、低処理負荷で、車載カメラの撮影映像から車線境界線と車両との位置関係を検出する事ができる車線位置検出装置および車線位置検出方法として有用である。
【符号の説明】
【0115】
100 車線位置検出システム
200 車両
300 ECU
310 車線抽出部
320 マッピングテーブル格納部
330 上方視点データ生成部
340 車線位置検出部
350 表示出力部
360 警報出力部
400 撮像部
500 車両情報出力部
600 表示部
700 警報部
【技術分野】
【0001】
本発明は、車両周辺の路面を車載カメラで撮影した映像から車線境界線と車両との位置関係を検出する車線位置検出装置および車線位置検出方法に関する。
【背景技術】
【0002】
従来、車両の走行車線の逸脱を判定する事を目的として、車両周辺の路面を車載カメラで撮影した映像から、走行車線の両側の車線境界線のエッジ(以下「車線エッジ」という)を抽出し、車線境界線と車両との位置関係を検出する車線位置検出装置が存在する(例えば特許文献1参照)。
【0003】
図15は、特許文献1記載の車線位置検出装置(以下「従来装置」という)の機能的な構成を示すブロック図である。
【0004】
従来装置10は、まず、車載カメラである撮像部20の撮影映像を、フレーム単位で入力する。そして、従来装置10は、上方視点画像生成部11において、入力したフレーム単位の撮影映像(以下「撮影画像」という)を、車両の真上の仮想的な視点(以下「上方視点」という)から見下ろしたときの画像である上方視点画像に変換する。この変換は、マッピングテーブル格納部12に格納されたマッピングテーブル12aを用いて行われる。その後、従来装置10は、車線抽出部13において、上方視点画像から車線エッジを抽出し、車線位置検出部14において、車線エッジの上方視点画像における位置から、車線境界線と車両との位置関係を検出する。
【0005】
そして、従来装置10は、車両が車線境界線に近付き過ぎている等の場合には、表示出力部15において警告表示を表示部30に行わせ、警報出力部16においてビープ音の出力等の警報出力を警報部40に出力させる。これにより、従来装置10は、車両が車線から逸脱するおそれが高くなったときに、これを検出し、運転者に対する注意喚起を行う事ができる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−276041号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、従来装置は、車両周囲の撮影画像全体を上方視点画像における座標(以下「上方視点座標」という)に変換する必要がある事から、プロセッサの処理負荷が高くなるという課題を有する。特に、運転者に対する車線逸脱の警報を目的とする場合には、処理はできるだけ高速に行われる事が望ましい。ところが、従来装置は、処理を高速化するためには、高性能なプロセッサまたは専用ハードウェアを搭載しなければならず、コストアップを招いてしまう。
【0008】
本発明の目的は、低処理負荷で、車載カメラの撮影映像から車線境界線と車両との位置関係を検出する事ができる車線位置検出装置および車線位置検出方法を提供する事である。
【課題を解決するための手段】
【0009】
本発明の車線位置検出装置は、車両周辺の路面を車載カメラで撮影した映像から車線境界線と前記車両との位置関係を検出する車線位置検出装置であって、前記映像からの車線境界線の抽出を行う車線抽出部と、抽出された前記車線境界線のエッジを上方視点座標に変換する上方視点データ生成部と、前記上方視点座標における前記エッジの位置から前記車線境界線と前記車両との位置関係を検出する車線位置検出部とを有し、前記上方視点データ生成部は、前記映像の特定のライン上に存在する前記車線境界線のエッジ点のみを上方視点座標に変換し、前記車線位置検出部は、前記上方視点座標における前記エッジ点の位置の時系列データから、前記上方視点座標における前記エッジの位置を求める。
【0010】
本発明の車線位置検出方法は、車両周辺の路面を車載カメラで撮影した映像から車線境界線と前記車両との位置関係を検出する車線位置検出方法であって、前記映像からの車線境界線の抽出を行うステップと、抽出した前記車線境界線のエッジのうち前記映像の特定のライン上に存在するエッジ点のみを上方視点座標に変換するステップと、前記上方視点座標における前記エッジ点の位置の時系列データから前記上方視点座標における前記エッジの位置を求めるステップと、前記上方視点座標における前記エッジの位置から前記車線境界線と前記車両との位置関係を検出するステップとを有する。
【発明の効果】
【0011】
本発明によれば、映像の特定のライン上に存在する車線境界線のエッジ点のみを上方視点座標に変換して上方視点座標における車線境界線のエッジの位置を求めるので、低処理負荷で、車載カメラの撮影映像から車線境界線と車両との位置関係を検出する事ができる。
【図面の簡単な説明】
【0012】
【図1】本発明の一実施の形態に係る車線位置検出装置を含む車線位置検出システムの概要を説明するための図
【図2】本実施の形態に係るECUを含む車線位置検出システムの各部の構成を示すブロック図
【図3】本実施の形態に係るECUの動作を示すフローチャート
【図4】本実施の形態における車線エッジを抽出するフィルタの一例を説明するための図
【図5】本実施の形態において用いられる車線境界線の輝度変化を説明するための図
【図6】本実施の形態に係る車線エッジの候補点の決定処理の一例を説明するための図
【図7】本実施の形態におけるマッピングテーブルの内容の一例を示す図
【図8】本実施の形態における上方視点変換の様子の一例を示す図
【図9】本実施の形態における履歴情報の構成の一例を示す図
【図10】本実施の形態における上方視点データの一例のプロット図
【図11】本実施の形態における車線エッジが検出されなかった場合の上方視点データの一例のプロット図
【図12】本実施の形態において用いられる車両の舵角とタイヤ角との対応関係の一例を示す図
【図13】本実施の形態において車両が曲線走行する場合の上方視点データ補間に用いられる各種パラメータを示す第1の図
【図14】本実施の形態において車両が曲線走行する場合の上方視点データ補間に用いられる各種パラメータを示す第2の図
【図15】従来装置の機能的な構成を示すブロック図
【発明を実施するための形態】
【0013】
以下、本発明の一実施の形態について、図面を参照して詳細に説明する。
【0014】
図1は、本発明の一実施の形態に係る車線位置検出装置を含む車線位置検出システムの概要を説明するための図である。本実施の形態は、本発明を、車両内部に設置された、車載カメラ用のECU(electronic control unit:電子制御ユニット)に適用した例である。また、以下の各図において、本来は白や黄等である車線境界線を、適宜、黒で示す。
【0015】
図1に示すように、本実施の形態における車線位置検出システム100は、車両200の内部に設置されたECU300と、車両200の後部に取り付けられた撮像部400とを含む。撮像部400と車両200の各部との位置関係は既知であり、撮像部400の位置および向きと車両200の各部の位置および向きとは、双方向に算出可能であるものとする。
【0016】
撮像部400は、車両200の後方の映像を撮影する。撮像部400は、例えば、車両200の後部の低い位置に車両200後方の路面を見下ろす向きで取り付けられた、所謂車載カメラである。撮像部400の左右方向は、路面の水平方向にほぼ一致しており、撮像部401の水平画角401は十分に広いものとする。
【0017】
ECU300は、撮像部400から撮影映像を取得し、取得した撮影映像から、車両200が走行中の車線210の車線エッジ220と車両200との位置関係を検出する。具体的には、ECU300は、フレーム単位の撮影映像(撮影画像)から、車線210を規定する車線境界線230の内側のラインと、車両200の代表点(例えば車両200の前部両角の点)240との間の距離であるエッジ距離Dを求める。そして、ECU300は、エッジ距離Dが50cm以下である等の所定の条件が満たされるとき、車両200の運転者に対する警報を出力させる。
【0018】
ECU300は、撮影映像の特定のライン(例えば線250に相当するライン)上に存在するエッジ点(例えばエッジ点260)のみを上方視点座標に変換する。ところが、そのままでは、当該エッジ点の位置は判定可能であるが、代表点240の近くのエッジ点(たとえばエッジ点270)の位置は判定する事ができない。
【0019】
そこで、ECU300は、例えば、エッジ点の上方視点座標における位置(以下「エッジ位置」という)の時系列データから、車両200(または撮像部400)を基準とした車線エッジ220の傾きとして、車両の長さ方向の中心線と車線エッジ220とが成す角度(以下「エッジ傾き」という)φを算出する。そして、ECU300は、特定のライン上で検出されたエッジ点(例えばエッジ点260)のエッジ位置と、エッジ傾きφとから、車両200の代表点240の近くのエッジ点(たとえばエッジ点270)のエッジ位置を算出し、エッジ距離Dを求める。
【0020】
このように、車線位置検出システム100は、ECU300において、特定のライン上に存在するエッジ点のみを上方視点座標に変換し、エッジ位置の時系列データからエッジ全体の位置を求めることにより、車線境界線230と車両200との位置関係を検出する。
【0021】
次に、車線位置検出システム100の各部の構成について説明する。
【0022】
図2は、ECU300を含む車線位置検出システム100の各部の構成を示すブロック図である。
【0023】
図2において、車線位置検出システム100は、ECU300、撮像部400、車両情報出力部500、表示部600、および警報部700を有する。
【0024】
撮像部400は、カメラ部410およびフレームメモリ部420を有する。カメラ部410は、例えば、CCD(charge coupled devise image sensor)撮像素子やCMOS(complementary metal oxide semiconductor)撮像素子を備えたデジタルビデオカメラであり、車両の後方の撮影映像の映像信号を、所定の方式(例えばNTSC方式)でフレームメモリ部420へ出力する。フレームメモリ部420は、カメラ部410から入力された映像信号を格納する。
【0025】
車両情報出力部500は、車速および舵角を少なくとも含む、車両の移動に関する情報(以下「車両情報」という)を、ECU300へ出力する。車両情報出力部500は、例えば、車速検出装置および舵角検出装置を含む。
【0026】
表示部600は、ECU300から後述の警告表示信号を入力し、入力した警告表示信号に従い、アイコン表示等の警告表示を行う。ここでは、表示部600は、車両の運転席の近くに取り付けられた、ナビゲーションシステムのモニタ、インパネ(instrument panel)内のモニタ、またはルームミラー内に内蔵されたモニタ等である。
【0027】
警報部700は、ECU300から後述の警報信号を入力し、入力した警報信号に従い、運転者に対する警報を行う。ここでは、警報部700は、ブザーまたはラウドスピーカを有し、音声の出力による警報(危険の報知。以下単に「警報出力」という)を行うものとする。
【0028】
ECU300は、車線抽出部310、マッピングテーブル格納部320、上方視点データ生成部330、車線位置検出部340、表示出力部350、および警報出力部360を有する。
【0029】
車線抽出部310は、撮像部400からフレーム単位で撮影映像を取得し、取得したフレーム毎の撮影映像(撮影画像)を、上方視点データ生成部330へ出力する。また、車線抽出部310は、撮影画像からの車線境界線の抽出を行う。具体的には、車線抽出部310は、撮影画像から、車線エッジのうち、撮影映像の特定のライン上に存在するエッジ点のみを抽出し、エッジ点の抽出結果を、基の撮影映像と共に、上方視点データ生成部330へ出力する。
【0030】
マッピングテーブル格納部320は、撮影映像の上述の特定のラインの画素を上方視点座標に変換(上方視点から見た場合のマップに変換)するためのマッピングテーブルを予め格納する。マッピングテーブルは、例えば、撮像部400の画角等のカメラパラメータと、車両200に対する撮像部400の取付位置および取付角度とに基づいて生成される。
【0031】
上方視点データ生成部330は、車線抽出部310から入力された撮影画像を、車線位置検出部340へ出力する。また、上方視点データ生成部330は、車線抽出部310からエッジ点が入力されたとき、マッピングテーブル格納部320が格納するマッピングテーブルに基づいて、撮影画像のうち入力されたエッジ点のみを、上方視点座標に変換(上方視点から見た場合のマップに変換)する。なお、上方視点座標とは、必ずしも上方視点から見た場合の座標に限定されるものではなく、路面に略平行であって車両の位置および向きを基準とする平面座標であれば良い。そして、上方視点データ生成部330は、エッジ点の上方視点座標(以下「エッジ位置座標」という)のデータを、上方視点データとして、車線抽出部310から入力された撮影画像と共に、車線位置検出部340へ出力する。
【0032】
車線位置検出部340は、上方視点データ生成部330から入力された上方視点データの履歴と、車両情報出力部500から入力される車両情報とから、上方視点座標における車線エッジの位置(例えば図1のエッジ点260のエッジ位置座標と図1のエッジ傾きφとの組)を求める。そして、車線位置検出部340は、車線エッジの位置から、車線エッジと車両の代表点との間のエッジ距離(例えば図1のエッジ距離D)を求める。そして、車線位置検出部340は、エッジ距離等が所定の条件を満たすとき、表示出力部350に対して警告表示を命令し、警報出力部360に対して警報出力を命令する。所定の条件とは、例えば、エッジ距離が所定値以下となる等、車両が車線を逸脱する可能性が高いといえるための条件である。
【0033】
表示出力部350は、車線位置検出部340からの命令を受けて、警告表示を指示する警報信号を、表示部600へ出力する。
【0034】
警報出力部360は、車線位置検出部340からの命令を受けて、警報出力を指示する警報信号を、警報部700へ出力する。
【0035】
ECU300は、CPU(central processing unit)、制御プログラムを格納したROM(read only memory)等の記憶媒体、RAM(random access memory)等の作業用メモリ、各種データを格納するためのハードディスク等の記憶媒体、および通信回路等により実現する事ができる。この場合、上記した各部の機能は、CPUが制御プログラムを実行する事により実現される。
【0036】
このような構成を有する車両位置検出システム100は、撮影映像の特定のライン上に存在するエッジ位置のみを上方視点座標に変換する事によって、車両が車線を逸脱する可能性が高いか否かを判定し、運転者に対する警報を行う事ができる。
【0037】
次に、ECU300の動作について説明する。
【0038】
図3は、ECU300の動作を示すフローチャートである。
【0039】
まず、ステップS1100において、ECU300は、撮像部400から撮影画像を入力する。すなわち、ECU300は、車線抽出部310において、撮像部400のフレームメモリ部420から、1フレーム分の撮影映像を取得する。
【0040】
そして、ステップS1200において、ECU300は、入力した撮影画像から、エッジ点の候補点を抽出する。すなわち、ECU300は、車線抽出部310において、入力した撮影画像に対して所定のフィルタを施し、撮影画像から、所定の斜め方向のベクトルを持つエッジ成分を抽出する。
【0041】
図4は、車線エッジを抽出するフィルタの一例を説明するための図である。
【0042】
撮像部400のカメラ部410は、広角カメラであり、車両後方の路面を斜めに見下ろして撮影する。したがって、図4(A)に示すように、撮影画像810における走行車線両側の車線境界線811は、斜めに傾き、歪んだ形状となる。
【0043】
そこで、車線抽出部310は、撮影画像810における車線境界線811が所定の傾き812を有している事を想定し、図4(B)に示すようなフィルタ係数813、814のフィルタを撮影画像810の各画素の輝度値にそれぞれ施し、得られた結果を加算する。これにより、車線抽出部310は、略水平方向となる停止線等、車線境界線以外の部分における輝度変化に対して、車線境界線における輝度変化を相対的に強める事ができる。
【0044】
図5は、車線境界線における輝度変化を説明するための図である。
【0045】
図5に示すように、通常、灰色である路面の画像部分821の輝度に比べて、白または黄色である車線境界線811の画像部分822の輝度は非常に高く、また、車線境界線811のエッジはシャープである。したがって、路面の画像部分821と車線境界線811の画像部分822との境界部分では、略水平方向における輝度変化の絶対値が大きくなる。そこで、車線抽出部310は、エッジ点の候補として、略水平方向における輝度変化の絶対値が所定値以上となる部分を抽出する。
【0046】
そして、図3のステップS1300において、ECU300は、ステップS1200において抽出した複数のエッジ点の候補の位置関係から、最終的なエッジ点を決定する。具体的には、ECU300は、車線抽出部310において、所定の方向に連続した一定の長さ以上の点列を構成している複数のエッジ点の候補が存在する事を条件として、エッジ点の候補の中から最終的なエッジ点を決定し、上方視点データ生成部330へ出力する。
【0047】
図6は、車線エッジの候補点の決定処理の一例を説明するための図である。
【0048】
図6に示すように、車線抽出部310は、撮影画像810に対し、撮像部400のカメラ部410の光軸中心を通る位置に、略水平方向に伸びる特定のライン(以下「着目ライン」という)831を予め設定している。
【0049】
車線抽出部310は、着目ライン831において、略水平方向における輝度変化に基づき、エッジ点の候補(略水平方向における輝度変化が所定値以上となる点)を探索する。そして、車線抽出部310は、着目ライン831上にエッジ点の候補832が存在する場合には、着目ライン831の上下方向のそれぞれ縦幅Laの範囲に、探索ベクトルViで定義される探索中心位置833に設定する。
【0050】
そして、車線抽出部310は、各探索中心位置833の左右方向のそれぞれ横幅Diの範囲を、探索範囲834に設定して、エッジ点の候補を探索する。そして、車線抽出部310は、探索範囲834内に存在するエッジ点の候補の数をカウントし、その数が所定値以上である場合には、着目ライン831上のエッジ点の候補832を、最終的なエッジ点に決定する。
【0051】
ここでは、車線抽出部310は、車線境界線811の両側のエッジのうち、車両が走行する車線側のエッジであると推定されるエッジの位置を、エッジ点に決定するものとする。例えば、車線抽出部310は、撮影映像810の中心835の右側および左側のそれぞれにおいて、中心835からみて輝度が増大する方向に変化するエッジ点のうち中心835からの距離が最も短いエッジ点のみを、上方視点データ生成部330に出力する。
【0052】
カメラ部410の光軸中心を通るラインは、他のラインよりも画面横方向の歪みが少なく、車線境界線の直線度合いや車線の位置を精度良く検出するのに有利である。探索ベクトルViは、例えば、想定される車線境界線811の傾き(例えば図4の傾き812)に相当する方向ベクトルである。横幅Diは、検出誤差および実際の車線境界線811の傾きの範囲を考慮した値である。縦幅Laは、検出誤差および車線境界線811であると判定するのに十分な長さを考慮した値である。したがって、車線抽出部310は、高い精度で、着目ライン831上に存在するエッジ点を抽出する事ができる。
【0053】
そして、図3のステップS1400において、ECU300は、車線境界線が検出されたか否かを判断する。すなわち、ECU300は、車線抽出部310において、着目ライン上においてエッジ点を抽出する事ができたか否かを判断する。ECU300は、車線境界線が検出された場合には(S1400:YES)、ステップS1500へ進み、車線境界線が検出されなかった場合には(S1400:NO)、ステップS1600へ進む。
【0054】
ステップS1500において、ECU300は、着目ライン上で検出されたエッジ点を上方視点マップに変換する。すなわち、ECU300は、上方視点データ生成部330において、車線抽出部310から入力されたエッジ点を、マッピングテーブル格納部320のマッピングテーブルを参照してエッジ位置座標に変換し、撮影映像と共に車線位置検出部340へ出力する。
【0055】
図7は、マッピングテーブル格納部320が格納するマッピングテーブルの内容の一例を示す図である。
【0056】
図7に示すように、マッピングテーブル840は、横軸をX軸とする撮影画像の座標系(以下「カメラ座標系」という)におけるX座標値841毎に、変換先である上方視点座標系におけるX座標値842を対応付けて記述する。上方視点座標系は、実世界の座標系であり、X座標値に差分およびY座標値の差分は、それぞれ、実空間におけるX軸方向における実際の距離およびY軸方向における実際の距離に対応するものとする。
【0057】
図8は、上方視点変換の様子の一例を示す図である。
【0058】
図8に示すように、上方視点データ生成部330は、入力された各エッジ点851のカメラ座標系852のX座標値を、マッピングテーブル840を参照して、上方視点座標系853のX座標値であるエッジ位置座標854に変換する。
【0059】
例えば、図7に示すように、マッピングテーブル840において、カメラ座標系852におけるX座標値「205」に、上方視点座標系853におけるX座標値「212」が対応付けられているとする。このとき、図8に示すように、カメラ座標系852のXY座標が(205,120)のエッジ点が入力されたとき、上方視点データ生成部330は、上方視点座標系853におけるX座標値「212」のエッジ位置座標に変換する。なお、この時点では、上方視点座標系の座標として必要な情報はX軸座標値のみである。
【0060】
そして、ステップS1700において、ECU300は、車線位置の判定を行う。すなわち、ECU300は、車線位置検出部340において、上方視点データ生成部330から入力された上方視点データの履歴を含む履歴情報を作成し、作成した履歴情報から、車線エッジの位置を求める。そして、車線位置検出部340は、求めた車線エッジの位置から、車線エッジと車両の代表点との間のエッジ距離(例えば図1のエッジ距離D)を求める。
【0061】
ここで、車両から後方に向かって左側の車線エッジであると推定される車線エッジを「左エッジ」といい、左エッジのエッジ点を「左エッジ点」といい、左エッジ点のエッジ位置座標を「左エッジ位置座標」という。また、車両から後方に向かって右側の車線エッジであると推定されるエッジを「右エッジ」といい、右エッジのエッジ点を「右エッジ点」といい、右エッジ点のエッジ位置座標を「右エッジ位置座標」という。
【0062】
また、時間幅Tにおける上方視点データの各サンプリング時刻を、最新のサンプリング時刻(現在時刻とする)から過去に遡る方向に、t0、t1、t2、・・・、tsと表現するものとする。そして、時間幅Tにおける上方視点データの各サンプリング時刻を、着目するサンプリング時刻から過去に遡る方向に、t、t−1、t−2、・・・、t−sと表現するものとする。
【0063】
図9は、履歴情報の構成の一例を示す図である。また、図10は、履歴情報860の上方視点データを時間軸上でプロットしたときの状態の一例を示す図である。
【0064】
図9に示すように、履歴情報860は、所定のサンプリング数sに対応する直前の時間幅Tの各サンプリング時刻(ここではフレーム時刻とする)861に対応付けて、車速862、左エッジ位置座標863、右エッジ位置座標864、左差分値865、および右差分値866を記述する。左差分値865は、隣り合うサンプリング時刻間の左エッジ位置座標の差分値である。右差分値866は、隣り合うサンプリング時刻間の右エッジ位置座標の差分値である。
【0065】
車線位置検出部340は、上方視点データが入力される毎に、入力された最新の上方視点データと1つ前のサンプリング時刻の上方視点データとを比較して、左差分値および右差分値を算出する。具体的には、車線位置検出部340は、左差分値αl(t0)および右差分値α1(t0)を、例えば、以下の式(1)〜式(3)を用いて算出する。ここで、Vは、車速であり、ΔTは、1つ前の上方視点データに対するサンプリング間隔(フレーム間隔)であり、PlおよびPrは、それぞれ左エッジ位置座標および右エッジ位置座標である。
αl(t0) = {Pl(t0)−Pl(t1)}×V(t0)×ΔT(t0)
・・・(1)
αr(t0) = {Pr(t0)−Pr(t1)}×V(t0)×ΔT(t0)
・・・(2)
ΔT(t0) = t0 −t1 ・・・(3)
【0066】
そして、車線位置検出部340は、車両情報出力部500から入力された最新の車両情報に含まれる車速と、最新の上方視点データと、算出した左差分値および右差分値とを、現在時刻である時刻t0のレコードとして、履歴情報860に追加する。
【0067】
なお、サンプリング数sは、車線境界線が破線であり途切れ部分を有する場合でも、2つ以上のエッジ位置座標が必ず取得されているような値が設定される。したがって、サンプリング数sは、例えば、以下の式(4)を満たす値が設定される。ここで、ΔTminは、サンプリング間隔(フレーム間隔)の最小値であり、Lは、車線境界線が途切れる長さであり、Bは、1以上の整数である余裕値である。
s = L/(V×ΔTmin) + β ・・・(4)
【0068】
NTSC信号の場合は、フレーム間隔が1/30秒である事から、サンプリング間隔の最小値ΔTminとして、例えば1/30秒が用いられる事になる。
【0069】
車線位置検出部340は、履歴情報860を用いて、左エッジ位置座標と左エッジのエッジ傾きとから、左エッジまでのエッジ距離(以下「左エッジ距離」という)を算出する。また、車線位置検出部340は、履歴情報860を用いて、右エッジ位置座標と右エッジのエッジ傾きとから、右エッジまでのエッジ距離(以下「右エッジ距離」という)を算出する。
【0070】
具体的には、車線位置検出部340は、例えば、以下の式(5)を用いて、エッジ傾きφを算出する。ここで、Mは、時間幅Tにおける車両のその前後方向における移動距離であり、例えば時刻tsの車速Vtsと時刻t0の車速Vt0との平均車速Vaに時間幅Tを乗じた値である。また、ΔDは、時間幅Tにおける車両のその左右方向における車線境界線に対する移動距離であり、例えば時刻tsの左エッジ位置座標Pltsから時刻t0の左エッジ位置座標Plt0を差し引いた値である。但し、エッジ傾きφは、車線に対して車両が反時計回り方向に傾いているときを正の値とする。
tanφ = ΔD/M ・・・(5)
【0071】
そして、車線位置検出部340は、例えば、以下の式(6)および式(7)を用いて、左エッジ距離Dlおよび右エッジ距離Drを算出する。ここで、Qlyは、上述の着目ラインのY座標値から車両の左側の代表点のY座標値を差し引いた値であり、Qlxは、車両の左側の代表点のX座標値から現在の左エッジ位置座標を差し引いた値である。また、Qryは、上述の着目ラインのY座標値から車両の右側の代表点のY座標値を差し引いた値であり、Qrxは、現在の右エッジ位置座標から車両の右側の代表点のX軸座標値を差し引いた値である。
Dl = Qlx + Qlytanφ ・・・(6)
Dr = Qrx − Qrytanφ ・・・(7)
【0072】
なお、Qly、Qryは、車両設計値であり、代表点が車両の前タイヤよりも前方に設定されているとき、代表点から前タイヤまでのY軸方向の距離、車両のホイールベース、車両のリアオーバーハング、および車載カメラから着目ラインまでの距離を加算した値となる。
【0073】
そして、車線位置検出部340は、求めた左エッジ距離Dlと右エッジ距離Drとが異なる場合には小さい方を、また、求めた左エッジ距離Dlと右エッジ距離Drとが同一である場合にはその値を、エッジ距離Dに決定する。
【0074】
なお、車両の代表点は、例えば車両200の後部両角の点としてもよい。この場合、車両後左端の代表点の上方視点座標系における位置をCl、車両後右端の代表点の上方視点座標系における位置をCrと置くと、エッジ距離Dは、例えば、左エッジ位置座標Plt0および右エッジ位置座標Prt0を用いて、以下の式(8)および式(9)により算出することができる。
D=|Cr−Prt0| (|Cr−Prt0|<|Cl−Plt0|)
・・・・・・(8)
D=|Cl−Plt0| (|Cr−Prt0|≧|Cl−Plt0|)
・・・・・・(9)
【0075】
また、車線が曲線である場合には、左エッジ位置座標Plt0または右エッジ位置座標Prt0から算出されるエッジ距離Dには、誤差が生じる。この誤差Diffは、車線の曲線半径をRwと置くと、例えば、上述のQryを用いて、以下の式(10)のように表される。
Diff = Rw−√(Rw2−Qry2) ・・・・・・(10)
【0076】
したがって、車線位置検出部340は、エッジ距離Dを、誤差Diffで補正しても良い。但し、高速道路の回転半径は通常250m以上であるため、Qry=5mとしても、
誤差Diffは5cm程度である。
【0077】
また、車線位置検出部340は、車両が車線を逸脱するまで(つまり、車線エッジに到達するまで)の推定時間Tdを、例えば、時間幅Tの左差分値αl(右差分値αrでも良い)から、以下の式(11)を用いて算出する。
Td = D / [Σαl(t)/{s×ΔT(t)}] ・・・(11)
【0078】
そして、図3のステップS1800において、ECU300は、車両が車線を逸脱する可能性が高いといえる所定の条件(以下「警報条件」という)が満たされるかどうかを判断する。すなわち、ECU300は、車線位置検出部340において、算出したエッジ距離Dおよび逸脱までの推定時間Tdが警報条件を満たすか否かを判断する。
【0079】
警報条件は、エッジ距離Dの閾値Dthと、逸脱までの推定時間Tdの閾値Tthとを用いて、例えば、以下の式(12)を用いて表される。
D<Dth かつ Td<Tth ・・・(12)
【0080】
ECU300は、警報条件が満たされない場合には(S1800:NO)、ステップS1900へ進み、警報条件が満たされる場合には(S1800:YES)、ステップS2000へ進む。
【0081】
ステップS1900において、ECU300は、電源オフ操作等により処理の終了を指示されたか否かを判断する。ECU300は、処理の終了を指示されていない場合は(S1900:NO)、ステップS1100へ戻り、次のフレームの撮影画像に処理を移し、車線逸脱の監視を継続する。
【0082】
一方、ステップS2000において、ECU300は、警告表示および警報出力を行う。すなわち、ECU300は、車線位置検出部340において、車両が近寄って行っている車線境界線の方向を示す情報を含む警告表示信号を生成し、表示出力部350へ出力すると共に、警報出力部360に対して警報出力を命令する。この結果、例えば、表示部600は、車両が近寄って行っている車線境界線の方向を矢印のアイコンで表示し、警報部700は、ビープ音を出力する。
【0083】
また、ステップS1600において、ECU300は、上方視点データの補間処理を行う。すなわち、ECU300は、上方視点データ生成部330において、左エッジ点および右エッジ点のうち車線抽出部310から入力されないエッジ点のエッジ位置座標を推定する。
【0084】
上方視点データ生成部330は、車線抽出部310から入力されたエッジ点については、ステップS1500と同様に上方視点座標への変換を行う。以下、上方視点データの補間の各種手法について説明する。図11は、以下の説明で取り上げる、左エッジ点が上方視点データ生成部330に入力されなかった場合の、過去に取得された上方視点データを時間軸上でプロットしたときの状態を示す図である。
【0085】
まず、過去の左エッジ位置座標の履歴から上方視点データを補間する手法について説明する。
【0086】
各時刻のX座標値の差分値αは、車両が車線境界線が伸びる方向に対してほぼ真直ぐに走行している間は、ほぼゼロとなり、車両が車線境界線が伸びる方向に対して斜めに直進走行している間は、ゼロではない一定の値となる。
【0087】
上方視点データ生成部330は、車線位置検出部340の履歴情報に記述された時間幅Tにおける左差分値αlの平均値を用いて、現在時刻t0の左エッジ位置座標の推定値Plt0'を算出する。具体的には、車線位置検出部340は、例えば、以下の式(13)を用いて、現在の時刻t0における左エッジ位置座標の推定値Plt0'を算出する。
Plt0' = Pt1 + Σαl(t)/s ・・・(13)
【0088】
そして、上方視点データ生成部330は、算出した左エッジ位置座標の推定値Plt0'を。左エッジ位置座標Plt0として、車線位置検出部340へ出力する。これにより、上方視点データ生成部330は、左エッジ点だけでなく右エッジ点も抽出されなかった場合でも、左エッジ位置座標Plt0を決定し、上方視点データを補間する事ができる。
【0089】
次いで、右エッジ位置座標から上方視点データを補間する手法について説明する。
【0090】
上方視点データ生成部330は、車線位置検出部340の履歴情報を参照し、例えば、以下の式(14)を用いて、エッジ位置距離ΔPを算出する。
ΔP = Pr − Pl ・・・・・・(14)
【0091】
なお、上方視点データ生成部330は、1つ前のサンプリング時刻t1の上方視線データを用いてエッジ位置距離ΔPを算出する事が望ましい。また、上方視点データ生成部330は、検出誤差を考慮して、時間幅Tのエッジ位置距離ΔPの平均値を採用したり、更に平均値を取る際にサンプリングからの経過時間に応じた重み付けを行っても良い。この場合、車線位置検出部340が、上方視線データが入力される毎に、エッジ位置距離ΔPを算出し、履歴情報に記述しておく事が望ましい。
【0092】
そして、上方視点データ生成部330は、算出したエッジ位置距離ΔPと、現在時刻のt0の右エッジ位置座標Prt0から、例えば以下の式(15)を用いて、現在の時刻t0における左エッジ位置座標の推定値Plt0'を算出する。
Plt0' = Prt0 − ΔP ・・・・・・(15)
【0093】
そして、上方視点データ生成部330は、算出した左エッジ位置座標の推定値Plt0'を、左エッジ位置座標Plt0として、車線位置検出部340へ出力する。これにより、上方視点データ生成部330は、時間幅Tにおいて左差分値αlが大きく変動しているような場合でも、精度良く、左エッジ位置座標Plt0を決定し、上方視点データを補間する事ができる。
【0094】
次いで、車両が曲線走行する場合に上方視点データの補間の精度を向上させる手法について説明する。
【0095】
車線位置検出部340は、図12に示すような、車両の舵角とタイヤ角との対応関係を、予め格納している。そして、車線位置検出部340は、この対応関係を用いて、車両情報出力部500から入力される最新の舵角を逐次タイヤ角に変換し、現在のタイヤ角θとして、履歴情報に記述する。
【0096】
図13および図14は、車両が曲線走行する場合の上方視点データ補間に用いられる各種パラメータを示す図である。
【0097】
上方視点データ生成部330は、車線位置検出部340の履歴情報を参照し、現在のタイヤ角θから、例えば、以下の式(16)を用いて、車両から後方に向かって左側の後タイヤの位置(以下「基準点」という)P0から車両200の回転移動の回転中心Oまでの距離Rlを算出する。ここで、Wbは、車両200のホイールベースである。
Rl = Wb / tanθ ・・・・・・(16)
【0098】
また、上方視点データ生成部330は、基準位置P0を原点(0,0)とし、車両200から後方に向かって右方向をx軸正方向とし車両200から前方の方向をy軸正方向とする座標系(以下「タイヤ座標系」という)置く。タイヤ座標系は、実世界の座標系であり、X座標値に差分およびY座標値の差分は、それぞれ、実空間におけるX軸方向における実際の距離およびY軸方向における実際の距離に対応するものとする。
【0099】
そして、上方視点データ生成部330は、車両200の回転中心Oのタイヤ座標系における座標を、例えば以下の式(17)を用いて取得する。
O(ox,oy) = (−Rl,0) ・・・・・・(17)
【0100】
そして、上方視点データ生成部330は、1つ前のサンプリング時刻の車線位置Pw1左エッジ位置座標Plt1を、例えば以下の式(18)を用いて、上述のタイヤ座標系の座標Pw1'に変換する。ここで、P0は、基準位置P0の上方視点座標である。
Pw1' = Plt1 − P0 ・・・・・・(18)
【0101】
そして、上方視点データ生成部330は、1つ前のサンプリング時刻の車線位置の実世界座標系における座標Pw1'を、回転中心Oを中心に回転させるときの回転半径Rを、例えば以下の式(19)を用いて算出する。
R = Wb / sinθ ・・・・・・(19)
【0102】
そして、上方視点データ生成部330は、例えば以下の式(20)を用いて、車速Vと、サンプリング間隔ΔT(t0)と、回転半径Rとから、1つ前のサンプリング時刻の車線位置の実世界座標系における座標Pw1'の回転角γを算出する。
γ = tan−1{ V×ΔT(t0) / R} ・・・・・・(20)
【0103】
そして、上方視点データ生成部330は、例えば以下の式(21)を用いて、座標Pw1'を回転角γだけ回転中心Oを中心に回転させた座標を、現在時刻t0の車線位置の実世界座標系における座標Pw0として算出する。ここで、座標Pw1'の実世界座標系のxy座標を(Pw1'x,Pw1'y)とする。
【数1】
【0104】
そして、上方視点データ生成部330は、たとえば以下の式(22)を用いて、座標Pw0を、元の上方視点座標系の座標に変換し、更に基準位置P0のオフセットを元に戻す。
Pw0' = ( Pw0 / PMM ) + P0 ・・・・・・(22)
【0105】
上方視点データ生成部330は、このようにして得られた座標Pw0'を、左エッジ位置座標Plt0として、車線位置検出部340へ出力する。これにより、上方視点データ生成部330は、車両が回転走行している場合でも、精度良く、左エッジ位置座標Plt0を決定し、上方視点データを補間する事ができる。
【0106】
以上説明したように、本実施の形態に係る車線位置検出システム100は、撮影映像の特定のライン上に存在するエッジ点のみを上方視点座標に変換する。これにより、車線位置検出システム100は、撮影映像全体を変換する従来装置に比べて、低処理負荷で、車載カメラの撮影映像から車線境界線と車両との位置関係を検出する事ができる。また、車線位置検出システム100は、車両が走行する車線を規定する車線境界線のエッジであると推定されるエッジ点のみを上方視点座標に変換するため、更に処理負荷を低減することができる。すなわち、車線位置検出システム100は、性能を抑えたプロセッサでも従来装置と同等の効果を得る事ができ、装置コストを抑える事が可能となる。
【0107】
ここで、1フレーム分の上方視点マップに必要なメモリ量M[バイト]および変換処理に必要な時間Ttを、従来装置と本実施の形態に係るECU300との間でそれぞれ比較する。ここで、撮影画像は、VGAサイズの画像であるものとし、Hは、ヘッダ容量[バイト]であり、1画素当たり上方視点変換に必要なデータは、1バイトであり、Tt'は、1画素当たりの変換処理に要する時間[秒]であるものとする。
【0108】
従来装置に必要なメモリ量Mは、H+640×480[バイト]となる。これに対し、本実施の形態に係る車線位置検出システム100に必要なメモリ量Mは、H+640×1[バイト]で済む。すなわち、本実施の形態に係る車線位置検出システム100は、従来装置に比べて、上方視点マップに必要なメモリ量Mを、640×479[バイト]も削減することができる。
【0109】
また、従来装置に必要な時間Ttは、Tt'×640×480[秒]となる。これに対し、本実施の形態に係る車線位置検出システム100に必要な時間Ttは、Tt'×2[秒]で済む。これは、本実施の形態に係る車線位置検出システム100が、左エッジ点と右エッジ点の2箇所のみを変換するためである。すなわち、本実施の形態に係る車線位置検出システム100は、従来装置に比べて、上方視点変換に必要な時間Ttを、Tt'×307198[秒]も削減することができる。
【0110】
なお、以上説明した実施の形態では、車線位置検出システム100は、警報を、撮影画像に重畳した警告表示と音声の出力とによって行うものとしたが、これに限定されない。例えば、車線位置検出システム100は、運転席付近のインジケータにおけるアイコンや警告光の点灯、運転席やハンドルの振動等、他の手段によって、警報を行っても良い。また、車線位置検出システム100は、車線境界線に対する車両の位置に基づいて、車両の車線逸脱を防ぐために車速や舵角をコントロールする等、車両の動作を制御するものであっても良い。
【0111】
また、エッジ位置のサンプリング間隔は、必ずしも撮影画像のフレーム間隔と同一としなくても良い。但し、処理の簡素化および高速化のため、サンプリング間隔は一定であることが望ましい。
【0112】
また、車載カメラの位置および数、検出の対象となる車線エッジの種類、車線エッジの抽出手法、エッジ位置を抽出する特定のラインの位置、エッジ位置座標の時系列データに基づくエッジ位置の検出手法、およびエッジ位置座標の補間手法は、上述の例に制限されない。更に、車両の代表点の位置および数、警報条件、および警報の種類も、上述の例に制限されない。例えば、警報条件は、車両と車線境界線との傾きが所定値以上となった事を含んでも良い。
【0113】
また、エッジ位置を抽出する特定のラインは、複数であっても良い。この場合、車線位置検出システム100は、例えば、ラインのそれぞれに基づいて上方視点座標におけるエッジ位置を算出し、算出したエッジ位置を平均化する。これにより、車線位置検出システム100は、エッジ位置の検出精度を向上させることができる。
【産業上の利用可能性】
【0114】
本発明に係る車線位置検出装置および車線位置検出方法は、低処理負荷で、車載カメラの撮影映像から車線境界線と車両との位置関係を検出する事ができる車線位置検出装置および車線位置検出方法として有用である。
【符号の説明】
【0115】
100 車線位置検出システム
200 車両
300 ECU
310 車線抽出部
320 マッピングテーブル格納部
330 上方視点データ生成部
340 車線位置検出部
350 表示出力部
360 警報出力部
400 撮像部
500 車両情報出力部
600 表示部
700 警報部
【特許請求の範囲】
【請求項1】
車両周辺の路面を車載カメラで撮影した映像から車線境界線と前記車両との位置関係を検出する車線位置検出装置であって、
前記映像からの車線境界線の抽出を行う車線抽出部と、
抽出された前記車線境界線のエッジを上方視点座標に変換する上方視点データ生成部と、
前記上方視点座標における前記エッジの位置から前記車線境界線と前記車両との位置関係を検出する車線位置検出部と、を有し、
前記上方視点データ生成部は、
前記映像の特定のライン上に存在する前記車線境界線のエッジ点のみを上方視点座標に変換し、
前記車線位置検出部は、
前記上方視点座標における前記エッジ点の位置の時系列データから、前記上方視点座標における前記エッジの位置を求める、
車線位置検出装置。
【請求項2】
前記車線位置検出部は、
前記上方視点座標における前記エッジ点の位置の時系列データから、前記上方視点座標における前記エッジの傾きを求め、求めた前記エッジの傾きから、前記位置関係を検出する、
請求項1記載の車線位置検出装置。
【請求項3】
前記上方視点データ生成部は、
前記車両が走行する車線を規定する車線境界線のエッジ点であると推定されるエッジ点のみを、前記上方視点座標に変換する、
請求項1記載の車線位置検出装置。
【請求項4】
前記車線抽出部は、
前記映像から前記車線境界線のエッジ点の候補を抽出し、抽出した複数のエッジ点の候補の位置関係から前記車線境界線のエッジ点を決定する、
請求項1記載の車線位置検出装置。
【請求項5】
前記車線境界線と前記車両との位置関係に応じて警報を出力させる警報出力部、を更に有する、
請求項1記載の車線位置検出装置。
【請求項6】
前記警報出力部は、
前記車両の代表点と直近の前記エッジとの距離が所定値以下となった事を条件として、前記警報を出力させる、
請求項5記載の車線位置検出装置。
【請求項7】
前記警報出力部は、
前記車両が直近の前記エッジに到達するまでの推定時間が所定値以下となった事を条件として、前記警報を出力させる、
請求項5記載の車線位置検出装置。
【請求項8】
前記警報出力部は、
前記車両と前記エッジとの傾きが所定値以上となった事を条件として、前記警報を出力させる、
請求項5記載の車線位置検出装置。
【請求項9】
前記上方視点データ生成部は、
前記上方視点座標における前記エッジ点の位置の時系列データから、前記上方視点座標における前記エッジの位置の補間を行う、
請求項1記載の車線位置検出装置。
【請求項10】
前記上方視点データ生成部は、
前記車両の位置および向きの変位に基づいて、前記エッジ位置の補間を行う、
請求項9記載の車線位置検出装置。
【請求項11】
車両周辺の路面を車載カメラで撮影した映像から車線境界線と前記車両との位置関係を検出する車線位置検出方法であって、
前記映像からの車線境界線の抽出を行うステップと、
抽出した前記車線境界線のエッジのうち前記映像の特定のライン上に存在するエッジ点のみを上方視点座標に変換するステップと、
前記上方視点座標における前記エッジ点の位置の時系列データから前記上方視点座標における前記エッジの位置を求めるステップと、
前記上方視点座標における前記エッジの位置から前記車線境界線と前記車両との位置関係を検出するステップと、を有する、
車線位置検出方法。
【請求項1】
車両周辺の路面を車載カメラで撮影した映像から車線境界線と前記車両との位置関係を検出する車線位置検出装置であって、
前記映像からの車線境界線の抽出を行う車線抽出部と、
抽出された前記車線境界線のエッジを上方視点座標に変換する上方視点データ生成部と、
前記上方視点座標における前記エッジの位置から前記車線境界線と前記車両との位置関係を検出する車線位置検出部と、を有し、
前記上方視点データ生成部は、
前記映像の特定のライン上に存在する前記車線境界線のエッジ点のみを上方視点座標に変換し、
前記車線位置検出部は、
前記上方視点座標における前記エッジ点の位置の時系列データから、前記上方視点座標における前記エッジの位置を求める、
車線位置検出装置。
【請求項2】
前記車線位置検出部は、
前記上方視点座標における前記エッジ点の位置の時系列データから、前記上方視点座標における前記エッジの傾きを求め、求めた前記エッジの傾きから、前記位置関係を検出する、
請求項1記載の車線位置検出装置。
【請求項3】
前記上方視点データ生成部は、
前記車両が走行する車線を規定する車線境界線のエッジ点であると推定されるエッジ点のみを、前記上方視点座標に変換する、
請求項1記載の車線位置検出装置。
【請求項4】
前記車線抽出部は、
前記映像から前記車線境界線のエッジ点の候補を抽出し、抽出した複数のエッジ点の候補の位置関係から前記車線境界線のエッジ点を決定する、
請求項1記載の車線位置検出装置。
【請求項5】
前記車線境界線と前記車両との位置関係に応じて警報を出力させる警報出力部、を更に有する、
請求項1記載の車線位置検出装置。
【請求項6】
前記警報出力部は、
前記車両の代表点と直近の前記エッジとの距離が所定値以下となった事を条件として、前記警報を出力させる、
請求項5記載の車線位置検出装置。
【請求項7】
前記警報出力部は、
前記車両が直近の前記エッジに到達するまでの推定時間が所定値以下となった事を条件として、前記警報を出力させる、
請求項5記載の車線位置検出装置。
【請求項8】
前記警報出力部は、
前記車両と前記エッジとの傾きが所定値以上となった事を条件として、前記警報を出力させる、
請求項5記載の車線位置検出装置。
【請求項9】
前記上方視点データ生成部は、
前記上方視点座標における前記エッジ点の位置の時系列データから、前記上方視点座標における前記エッジの位置の補間を行う、
請求項1記載の車線位置検出装置。
【請求項10】
前記上方視点データ生成部は、
前記車両の位置および向きの変位に基づいて、前記エッジ位置の補間を行う、
請求項9記載の車線位置検出装置。
【請求項11】
車両周辺の路面を車載カメラで撮影した映像から車線境界線と前記車両との位置関係を検出する車線位置検出方法であって、
前記映像からの車線境界線の抽出を行うステップと、
抽出した前記車線境界線のエッジのうち前記映像の特定のライン上に存在するエッジ点のみを上方視点座標に変換するステップと、
前記上方視点座標における前記エッジ点の位置の時系列データから前記上方視点座標における前記エッジの位置を求めるステップと、
前記上方視点座標における前記エッジの位置から前記車線境界線と前記車両との位置関係を検出するステップと、を有する、
車線位置検出方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2011−215769(P2011−215769A)
【公開日】平成23年10月27日(2011.10.27)
【国際特許分類】
【出願番号】特願2010−81980(P2010−81980)
【出願日】平成22年3月31日(2010.3.31)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】
【公開日】平成23年10月27日(2011.10.27)
【国際特許分類】
【出願日】平成22年3月31日(2010.3.31)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】
[ Back to top ]