(57)【特許請求の範囲】
【請求項１】
撮像装置より入力される撮影画像内からレーンマーク候補を抽出するレーンマーク候補抽出部と、
上記撮影画像内に検索範囲を設定し、設定した検索範囲の中にある上記レーンマーク候補からレーンマークを検出するレーンマーク検出部と、
上記レーンマーク検出部による過去のレーンマークの検出結果に基づいて、上記レーンマークの単位時間当たりの移動量を算出する移動量算出部と、
上記レーンマーク検出部により検出された過去のレーンマークの位置および上記移動量算出部により算出された上記レーンマークの単位時間当たりの移動量に基づいて、次の単位時間後におけるレーンマーク位置を推定する位置推定部とを備え、
上記レーンマーク検出部は、
上記位置推定部により推定された次のレーンマーク位置を基準として上記検索範囲を設定し、
上記レーンマーク候補が上記検索範囲の中にある場合は、当該レーンマーク候補を上記レーンマークとして検出する一方、上記レーンマーク候補が上記検索範囲の中にない場合は、上記位置推定部により推定されたレーンマーク位置において上記レーンマークが検出されたとみなすことを特徴とするレーンマーク検出装置。
【請求項２】
上記レーンマーク検出部は、上記レーンマーク候補が上記検索範囲の中にない場合において、過去に検出した上記レーンマークの信頼度である過去信頼度の平均値が０のときは、上記レーンマークが検出されなかったとみなし、上記過去信頼度の平均値が０でないときは、上記位置推定部により推定されたレーンマーク位置において上記レーンマークが検出されたとみなすことを特徴とする請求項１に記載のレーンマーク検出装置。
【請求項３】
上記レーンマーク検出部は、過去に検出した上記レーンマークの位置を基準として、上記レーンマークを次の単位時間後に検出する際の上記検索範囲を仮設定し、上記移動量算出部により算出された上記レーンマークの単位時間当たりの移動量に基づいて、上記仮設定した検索範囲の位置を補正することを特徴とする請求項１に記載のレーンマーク検出装置。
【請求項４】
上記レーンマーク検出部は、上記移動量算出部により算出された上記レーンマークの単位時間当たりの移動量に応じて、上記検索範囲の大きさを変えることを特徴とする請求項１に記載のレーンマーク検出装置。
【請求項５】
撮像装置より入力される撮影画像内からレーンマーク候補を抽出し、撮影画像内に検索範囲を設定し、設定した検索範囲の中にある上記レーンマーク候補からレーンマークを検出するレーンマーク検出装置におけるレーンマークの検出方法であって、
上記レーンマーク検出装置の移動量算出部が、上記レーンマーク検出装置のレーンマーク検出部による過去のレーンマークの検出結果に基づいて、上記レーンマークの単位時間当たりの移動量を算出する第１のステップと、
上記レーンマーク検出装置の位置推定部が、上記レーンマーク検出部により検出された過去のレーンマークの位置および上記移動量算出部により算出された上記レーンマークの単位時間当たりの移動量に基づいて、次の単位時間後におけるレーンマーク位置を推定する第２のステップと、
上記レーンマーク検出装置の上記レーンマーク検出部が、上記位置推定部により推定された次のレーンマーク位置を基準として、上記レーンマークを検出する際の上記検索範囲を設定する第３のステップと、
上記レーンマーク検出装置の上記レーンマーク検出部が、上記レーンマーク候補が上記検索範囲の中にある場合は、当該レーンマーク候補を上記レーンマークとして検出する一方、上記レーンマーク候補が上記検索範囲の中にない場合は、上記位置推定部により推定されたレーンマーク位置において上記レーンマークが検出されたとみなす第４のステップとを有することを特徴とするレーンマークの検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レーンマーク検出装置およびレーンマークの検出方法に関し、特に、カメラにより撮影された画像の処理によって路上のレーンマークを検出する装置に用いて好適なものである。
【背景技術】
【０００２】
従来、カメラにより撮影された画像の処理によって路上のレーンマーク（車線境界線）を検出するレーンマーク検出装置が提供されている。この種のレーンマーク検出装置では一般的に、撮影画像の中に一定の検索範囲を設定し、設定した検索範囲の中からレーンマークを検出するようになされている。この場合の検索範囲の設定方法としては、種々のものが提案されている。例えば、あるタイミングで検出したレーンマークの位置を基準とし、その検出位置から左右に所定幅ずつとった範囲を次のタイミングの検索範囲として設定する技術が存在する。
【０００３】
しかしながら、このような技術では、撮影画像内に写るレーンマークの横方向の移動量が大きくなる場合に、次のタイミングの検索範囲内にレーンマークが入らず、レーンマークを検出できないことがあるという問題があった。レーンマークの横方向の移動量が大きくなる場合としては、車両が高速にレーン変更をする場合がある。また、車両が少しずつレーン変更している場合でも、処理能力の低いＣＰＵが使用されていると、撮影画像のフレームを取り込む時間間隔が長くなり、フレーム間でのレーンマークの横方向の移動量が大きくなる。
【０００４】
このような問題を解消するために、検索範囲を広げることが考えられる。しかしながら、検索範囲を広げると、その検索範囲の中に複数のレーンマーク候補が入り、レーンマークを誤検出する可能性が高くなってしまう。また、検索範囲が広がることで、処理時間も長くなってしまう。これに対して、検出したレーンマーク位置を基準として次の検索範囲を設定するのとは異なる方法で検索範囲を設定する技術がいくつか提案されている（例えば、特許文献１〜３参照）。
【０００５】
特許文献１に記載の技術では、白線検出のために画像処理を行うウィンドウの設定において、車両の移動量を車輪速センサ等により検出し、この車両移動量に基づいて次のウィンドウを設定している。特許文献２に記載の技術では、白線検出のために設定するウィンドウの水平方向位置を、過去データ並びに車両速度および操舵角度に基づいて予測した走行車線区分線（予測走行軌跡）の位置に設定している。特許文献３に記載の技術では、ナビゲーション装置から出力される直線路やカーブ路などの道路形状情報に合わせて白線検出におけるサーチ範囲を任意に変更している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１１−３３９０１２号公報
【特許文献２】特開平６−２２５３０８号公報
【特許文献３】特開平９−３５１９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１に記載の技術では、検索範囲を設定するために車輪速センサ等が必要となる。また、特許文献２に記載の技術では、検索範囲を設定するために操舵角センサ等が必要となる。また、特許文献３に記載の技術では、検索範囲を設定するためにナビゲーション装置が必要となる。そのため、車両に後付けする市販品のレーンマーク検出装置では、車輪速センサや操舵角センサ、ナビゲーション装置の出力情報を利用することができず、特許文献１〜３に記載の技術を適用することができないという問題があった。
【０００８】
本発明は、このような問題を解決するために成されたものであり、撮影画像内に写るレーンマークの横方向の移動量が大きくなる場合でも、撮影画像以外の外部からの情報を用いずに、レーンマークを確実に検出できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
上記した課題を解決するために、本発明では、撮像装置より入力される撮影画像内からレーンマーク候補を抽出し、撮影画像内に検索範囲を設定し、設定した検索範囲の中にあるレーンマーク候補からレーンマークを検出するレーンマーク検出装置において、撮影画像の処理によって得られる過去のレーンマークの検出結果に基づいて、レーンマークの単位時間当たりの移動量を算出する。また、検出された過去のレーンマークの位置および算出されたレーンマークの単位時間当たりの移動量に基づいて、次の単位時間後におけるレーンマーク位置を推定する。また、推定された次のレーンマーク位置を基準として、レーンマークを検出する際の検索範囲を設定する。そして、レーンマーク候補が検索範囲の中にある場合は、当該レーンマーク候補をレーンマークとして検出する一方、レーンマーク候補が検索範囲の中にない場合は、推定されたレーンマーク位置においてレーンマークが検出されたとみなすようにしている。
【発明の効果】
【００１０】
上記のように構成した本発明によれば、撮影画像内に写るレーンマークの横方向に対する単位時間当たりの移動量が大きくなる場合でも、その移動量を考慮した位置にレーンマークの検索範囲が設定されるので、撮影画像の検索範囲内からレーンマークを確実に検出することができる。しかも、当該移動量は、撮影画像の処理によって得られる過去のレーンマークの検出結果に基づいて求められるので、撮影画像以外の外部からの情報を用いずに、レーンマークを検出することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態によるレーンマーク検出装置の機能構成例を示すブロック図である。
【図２】本実施形態によるレーンマーク検出装置の動作の概略を説明するための図である。
【図３】本実施形態によるレーンマーク候補抽出部の動作例を示すフローチャートである。
【図４】本実施形態のレーンマーク候補抽出部により行われるスライスの抽出処理を説明するための図である。
【図５】本実施形態のレーンマーク候補抽出部により行われるスライスのグルーピング処理を説明するための図である。
【図６】本実施形態のレーンマーク候補抽出部により行われる線分の抽出処理を説明するための図である。
【図７】本実施形態のレーンマーク検出装置を起動したときに実行されるレーンマーク検出部の初期化処理を示すフローチャートである。
【図８】本実施形態によるレーンマーク情報の一例を示す図である。
【図９】本実施形態のレーンマーク検出部によるレーンマーク検出処理を示すフローチャートである。
【図１０】本実施形態のレーンマーク検出部により行われる処理時間算出処理を示すフローチャートである。
【図１１】本実施形態のレーンマーク検出部により行われるレーン変更処理を示すフローチャートである。
【図１２】本実施形態のレーンマーク検出部により行われるレーンマークのマッチング処理を示すフローチャートである。
【図１３】本実施形態のレーンマーク検出部により行われるレーンマークの選択処理を示すフローチャートである。
【図１４】本実施形態のレーンマーク検出部により行われる検索範囲の設定処理の一例を説明するための図である。
【図１５】本実施形態によるレーンマーク位置推定部の動作例を示すフローチャートである。
【図１６】本実施形態のレーンマーク位置推定部により行われるレーンマークの推定処理を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態によるレーンマーク検出装置１０の機能構成例を示すブロック図である。図１に示すように、本実施形態のレーンマーク検出装置１０は、カメラ等の撮像装置２０に接続されている。撮像装置２０は、例えば、車両の後方に設置されたリアカメラである。
【００１３】
レーンマーク検出装置１０は、その機能構成として、レーンマーク候補抽出部１、レーンマーク検出部２およびレーンマーク位置推定部３を備えている。なお、これらの各機能ブロック１〜３は、ハードウェア構成、ＤＳＰ、ソフトウェアの何れによっても実現することが可能である。例えばソフトウェアによって実現する場合、上記各機能ブロック１〜３は、実際にはコンピュータのＣＰＵあるいはＭＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭに記憶されたプログラムが動作することによって実現できる。
【００１４】
レーンマーク候補抽出部１は、撮像装置２０より入力される撮影画像内からレーンマーク候補を抽出する。レーンマーク候補とは、撮影画像内に写っている被写体の輝度の違いや形状等をもとに、レーンマークの可能性がある部分として特定されるものである。なお、レーンマーク候補の抽出処理に関する詳細は後述する。
【００１５】
レーンマーク検出部２は、撮影画像内に検索範囲を設定し、設定した検索範囲からレーンマークを検出する。具体的には、レーンマーク検出部２は、撮影画像内に設定された検索範囲の中にあるレーンマーク候補からレーンマークを検出する。本実施形態においてレーンマーク検出部２は、レーンマーク位置推定部３により推定されたレーンマークの位置を基準として検索範囲を設定し、その検索範囲内からレーンマークを検出する。
【００１６】
また、レーンマーク検出部２は、レーンマーク候補が検索範囲の中にある場合は、当該レーンマーク候補をレーンマークとして検出する一方、レーンマーク候補が検索範囲の中にない場合は、レーンマーク位置推定部３により推定されたレーンマーク位置においてレーンマークが検出されたとみなす。なお、このレーンマーク検出部２によるレーンマーク検出処理についても、その詳細は後述する。
【００１７】
レーンマーク位置推定部３は、特許請求の範囲における位置推定部に相当し、特許請求の範囲における移動量算出部を含んでいる。移動量算出部は、レーンマーク検出部２による過去のレーンマークの検出結果に基づいて、レーンマークの横方向に対する単位時間当たりの移動量（Ｙ軸方向の移動速度）を算出する。レーンマーク位置推定部３は、レーンマーク検出部２により検出された過去のレーンマークの位置と、移動量算出部により算出したレーンマークの単位時間当たりの移動量とに基づいて、次の単位時間後におけるレーンマーク位置を推定する。なお、このレーンマーク位置の推定処理についても、その詳細は後述する。
【００１８】
図２は、本実施形態によるレーンマーク検出装置１０の動作の概略を説明するための図である。図２（ａ）は、ある時間ｔにおいて撮影画像内から検出されたレーンマークの位置を示す。時間ｔにおける車両中心から左レーンマークまでの距離をＤＬｔ、車両中心から右レーンマークまでの距離をＤＲｔとする。本実施形態では、レーンマークの位置を、車両中心からの距離で表すものとする。
【００１９】
図２（ｂ）は、次の単位時間後における時間ｔ＋ｄ（ｄ：単位時間）において撮影画像内から検出されたレーンマークの位置（車両中心からの距離）を示す。時間ｔ＋ｄにおける車両中心から左レーンマークまでの距離をＤＬｔ＋ｄ、車両中心から右レーンマークまでの距離をＤＲｔ＋ｄとする。図２（ｃ）は、更に次の単位時間後における時間ｔ＋２ｄにおいて撮影画像内から検出されるレーンマークの位置を示す。
【００２０】
レーンマーク位置推定部３の移動量算出部は、時間ｔ＋２ｄにおいてレーンマーク検出装置１０がレーンマークを検出する際に、レーンマーク検出部２により時間ｔにおいて検出されたレーンマークの位置ＤＬｔ，ＤＲｔと、時間ｔ＋ｄにおいて検出されたレーンマークの位置ＤＬｔ＋ｄ，ＤＲｔ＋ｄとに基づいて、レーンマークの横方向に対する単位時間当たりの移動量を算出する。この場合、左レーンマークの単位時間当たりの移動量は、車両が左レーンマークに近づく方向に（ＤＬｔ−ＤＬｔ＋ｄ）／｛（ｔ＋ｄ）−ｔ｝である。一方、右レーンマークの単位時間当たりの移動量は、車両が右レーンマークから遠ざかる方向に（ＤＲｔ＋ｄ−ＤＲｔ）／｛（ｔ＋ｄ）−ｔ｝である。
【００２１】
レーンマーク位置推定部３は、レーンマーク検出部２により時間ｔ＋ｄにおいて検出されたレーンマークの位置ＤＬｔ＋ｄ，ＤＲｔ＋ｄと、移動量算出部により算出されたレーンマークの単位時間当たりの移動量（ＤＬｔ−ＤＬｔ＋ｄ）／｛（ｔ＋ｄ）−ｔ｝，（ＤＲｔ＋ｄ−ＤＲｔ）／｛（ｔ＋ｄ）−ｔ｝とに基づいて、時間ｔ＋２ｄにおけるレーンマーク位置を推定する。
【００２２】
具体的には、時間ｔ＋ｄにおいて検出された左レーンマークの位置ＤＬｔ＋ｄから、左レーンマークの単位時間当たりの移動量（ＤＬｔ−ＤＬｔ＋ｄ）／｛（ｔ＋ｄ）−ｔ｝×ｄを減算することによって得られる位置を、時間ｔ＋２ｄにおける左レーンマークの推定位置とする。また、時間ｔ＋ｄにおいて検出された右レーンマークの位置ＤＲｔ＋ｄに、右レーンマークの単位時間当たりの移動量（ＤＲｔ＋ｄ−ＤＲｔ）／｛（ｔ＋ｄ）−ｔ｝×ｄを加算することによって得られる位置を、時間ｔ＋２ｄにおける右レーンマークの推定位置とする。図２（ｃ）において、２１Ｌが左レーンマークの推定位置、２１Ｒが右レーンマークの推定位置である。
【００２３】
レーンマーク検出部２は、時間ｔ＋２ｄにおいて撮像装置２０から入力された撮影画像について、レーンマーク位置推定部３により推定されたレーンマーク位置２１Ｌ，２１Ｒを基準として検索範囲を設定し、その検索範囲内からレーンマークを検出する。具体的には、図２（ｃ）に示すように、レーンマークの推定位置２１Ｌ，２１Ｒを中心として所定幅の検索範囲２２Ｌ，２２Ｒを設定し、当該検索範囲２２Ｌ，２２Ｒの中から左右レーンマークを検出する。本実施形態では、レーンマーク検出部２は、移動量算出部により算出されたレーンマークの単位時間当たりの移動量の大きさに応じて、検索範囲として設定する所定幅の大きさを変えるようにしている（これについては詳細を後述する）。
【００２４】
図２（ｄ）は、図２（ｃ）に示す本実施形態の動作例と比較するために示した従来の動作例である。図２（ｄ）に示すように、従来は、時間ｔ＋ｄにおけるレーンマークの検出位置ＤＬｔ＋ｄ，ＤＲｔ＋ｄを中心として所定幅の検索範囲２３Ｌ，２３Ｒを設定し、当該検索範囲２３Ｌ，２３Ｒの中から左右レーンマークを検出していた。そのため、レーンマークの単位時間当たりの移動量（ＤＬｔ−ＤＬｔ＋ｄ）／｛（ｔ＋ｄ）−ｔ｝，（ＤＲｔ＋ｄ−ＤＲｔ）／｛（ｔ＋ｄ）−ｔ｝が大きいと、設定した検索範囲２３Ｌ，２３Ｒの中にレーンマークが入らず、レーンマークを検出できないことがあった。
【００２５】
これに対し、図２（ｃ）に示す本実施形態によれば、レーンマークの横方向に対する単位時間当たりの移動量（ＤＬｔ−ＤＬｔ＋ｄ）／｛（ｔ＋ｄ）−ｔ｝，（ＤＲｔ＋ｄ−ＤＲｔ）／｛（ｔ＋ｄ）−ｔ｝が大きくなる場合でも、その移動量を考慮した位置にレーンマークの検索範囲２２Ｌ，２２Ｒが設定されるので、撮影画像の検索範囲２２Ｌ，２２Ｒ内からレーンマークを確実に検出することができる。
【００２６】
＜レーンマーク候補抽出部１の処理内容＞
以下に、レーンマーク候補抽出部１による処理内容を具体的に説明していく。
【００２７】
図３は、本実施形態によるレーンマーク候補抽出部１の動作例を示すフローチャートである。まず、レーンマーク候補抽出部１は、撮像装置２０より入力された撮影画像から、グレースケールの輝度画像を生成する（ステップＳ１）。そして、レーンマーク候補抽出部１は、図４に示すように、輝度画像を水平方向にスキャンして、閾値以上の輝度が一定間隔続く水平部分をラインとして取り出す（ステップＳ２）。これを撮影画像の全体に対して行う。なお、取り出したラインの１つ１つを「スライス」という。
【００２８】
次に、レーンマーク候補抽出部１は、図５に示すように、取り出した各スライスに対して、垂直方向に隣接するスライスどうしで水平方向の座標値の少なくとも一部が重複している複数のスライスをグルーピングする（ステップＳ３）。図５に示す例では、撮影画像内からスライスの３つのグループ１〜３が抽出されている。
【００２９】
さらに、レーンマーク候補抽出部１は、図６に示すように、各グループ１〜３のスライスを３次元座標の路面（Ｚ＝０）に投影した後、各スライスの中点から、最小２乗法でレーンマーク候補となる線分の直線式Ｙ＝ａＸ＋ｂ（Ｚ＝０）を抽出する（ステップＳ４）。ここで、ａは線分の傾き、ｂは線分のＹ切片である。なお、３次元座標の路面への投影とは、撮像装置２０より入力した撮影画像を、車両上方の仮想視点から見た真上からの画像に視点変換することをいう。３次元座標の原点は、車両中心の位置である。また、Ｘ軸において車両の前方がプラス、Ｙ軸において車両の左側がプラスで右側がマイナスである。
【００３０】
スライスのグループ１から抽出される線分の直線式はＹ＝ａ１Ｘ＋ｂ１、グループ２から抽出される線分の直線式はＹ＝ａ２Ｘ＋ｂ２、グループ３から抽出される線分の直線式はＹ＝ａ３Ｘ＋ｂ３である。
【００３１】
ここで、レーンマーク候補抽出部１は、以上のように各グループ１〜３について算出した線分の直線式のうち、傾きａおよびＹ切片ｂの値がある範囲内に入る複数の直線式がある場合は、それらの直線式に該当するグループを１つにまとめる。図６の例では、グループ２とグループ３を１つのグループにまとめている。そして、レーンマーク候補抽出部１は、１つにまとめたグループについて、その中に含まれる各スライスの情報から１本の線分を再度抽出する。その結果、まとめた線分の直線式はＹ＝ａ４Ｘ＋ｂ４となる。
【００３２】
レーンマーク候補抽出部１は、各スライスの中点から線分を抽出したのと同様に、各スライスの左端および右端についても最小２乗法により線分をそれぞれ抽出する。これにより、スライスの中点から抽出した線分と平行な線分を両側に引き、スライスの幅を算出する。図６の例では、グループ１の線分Ｙ＝ａ１Ｘ＋ｂ１についてスライス幅を算出するとともに、グループ２，３をまとめた１つのグループの線分Ｙ＝ａ４Ｘ＋ｂ４についてスライス幅を算出する。
【００３３】
次に、レーンマーク候補抽出部１は、以上のようにして抽出した各線分について、レーンマークとしての確からしさを示す信頼度を算出する（ステップＳ５）。信頼度の算出方法は種々あるが、ここでは、各スライスの中点のばらつきから信頼度を算出するものとする。すなわち、次のような式により線分の信頼度（0〜10000の値）を算出する。
信頼度＝10000−（線分の直線式から各スライスの中点までの距離の絶対値の平均／距離誤差の閾値）×10000
【００３４】
なお、信頼度の算出方法としては、これ以外に、レーンマークの縦横比、スライスの左右端のばらつき、グループのスライス数などを用いること、これらの組合せを用いることも可能である。
【００３５】
＜レーンマーク検出部２の処理内容＞
次に、レーンマーク検出部２による処理内容を具体的に説明する。
【００３６】
図７は、レーンマーク検出装置１０を起動したときに実行されるレーンマーク検出部２の初期化処理を示すフローチャートである。初期化処理において、レーンマーク検出部２は、左レーンマーク情報、右レーンマーク情報とも“無し”に設定する（ステップＳ１１，Ｓ１２）。なお、レーンマーク情報とは、図８に示すように、レーンマークの位置を示す直線式Ｙ＝ａＸ＋ｂ、レーンマークの幅、レーンマークの信頼度を含む情報である。なお、本実施形態では、レーンマーク情報は、最大で過去１０回分の検出結果を格納するものとする。
【００３７】
また、レーンマーク検出部２は、処理時間を計るために使用する最終時刻と処理時間を０クリアする（ステップＳ１３，Ｓ１４）。なお、処理時間とは、撮像装置２０から入力した撮影画像を処理する単位時間（ｄ）のことをいう。また、最終時刻とは、レーンマークを最後に検出した直近の時刻のことをいう。
【００３８】
図９は、レーンマーク検出部２によるレーンマーク検出処理を示すフローチャートである。このレーンマーク検出処理は、過去に検出された左右のレーンマーク情報と、レーンマーク候補抽出部１により抽出されたレーンマーク候補の線分とを用いて行う。図９において、レーンマーク検出部２は、最初に処理時間の算出を行う（ステップＳ２１）。このステップＳ２１における処理時間算出処理の詳細を図１０に示す。
【００３９】
図１０において、レーンマーク検出部２は、まず現在時刻を取得する（ステップＳ２１０１）。次に、レーンマークを最後に検出した最終時刻が設定されているかどうか判断し（ステップＳ２１０２）、設定されていれば、現在時刻から最終時刻を減算することによって処理時間を算出する（ステップＳ２１０３）。そして、最終時刻の設定を現在時刻によって更新し（ステップＳ２１０４）、処理時間算出処理を終了する。一方、図７の初期化処理が行われた直後でまだ最終時刻が設定されていない場合は、ステップＳ２１０３の処理は行わず、現在時刻を最終時刻として設定する（ステップＳ２１０４）。
【００４０】
図９において、ステップＳ２１の処理時間算出処理を行った後、レーンマーク検出部２は、レーン変更処理を行う（ステップＳ２２）。レーン変更処理は、車両がレーンマークを跨いで移動するレーン変更が起きたときに、左レーンマーク情報と右レーンマーク情報との入れ替えを行う。例えば、車両が左車線へとレーン変更した場合、レーン変更前には車両の左側にあったレーンマークが、レーン変更後は車両の右側に位置することになる。そのため、左レーンマーク情報を右レーンマーク情報に変更することが必要となる。このようなレーン変更処理の詳細を図１１に示す。
【００４１】
図１１において、レーンマーク検出部２は、まず、左レーンマークの次位置の推定結果Ｙ＝ａ’Ｘ＋ｂ’（後述するように、レーンマーク位置推定部３により求められる）のＹ切片ｂ’がマイナスの値かどうか判断する（ステップＳ２２０１）。Ｙ切片ｂ’がマイナスの値ならば、左レーンマークの推定位置は、車両中心より右側にあることになるので、車両が左車線にレーン変更をしたと判断する。この場合、レーンマーク検出部２は、現在の左レーンマーク情報を右レーンマーク情報として設定し直すとともに（ステップＳ２２０２）、左レーンマーク情報を“無し”にして（ステップＳ２２０３）、レーン変更処理を終了する。
【００４２】
一方、推定される左レーンマークの次位置のＹ切片ｂ’がマイナスの値でないと判断した場合、レーンマーク検出部２は、右レーンマークの次位置の推定結果Ｙ＝ａ’Ｘ＋ｂ’のＹ切片ｂ’が０以上の値かどうか判断する（ステップＳ２２０４）。Ｙ切片ｂ’が０以上の値ならば、右レーンマークの推定位置は、車両中心より左側にあることになるので、車両が右車線にレーン変更したと判断する。この場合、レーンマーク検出部２は、現在の右レーンマーク情報を左レーンマーク情報として設定し直すとともに（ステップＳ２２０５）、右レーンマーク情報を“無し”にして（ステップＳ２２０６）、レーン変更処理を終了する。
【００４３】
なお、左レーンマークの推定位置のＹ切片ｂ’がマイナスの値でもなく（車両が左車線へレーン変更していない）、右レーンマークの推定位置のＹ切片ｂ’が０以上の値でもない（車両が右車線へレーン変更していない）場合、レーンマーク検出部２は、左右レーンマーク情報の入れ替えを何も行うことなく、レーン変更処理を終了する。
【００４４】
図９において、ステップＳ２２のレーン変更処理を終了した後、レーンマーク検出部２は、左右レーンマーク情報の有無を判断して（ステップＳ２３，Ｓ２６，Ｓ２９）、その判断結果に応じたレーンマーク情報の更新処理を行う。すなわち、レーンマーク検出部２は、まず、左右レーンマーク情報が両方ともあるか否かを判断し（ステップＳ２３）、両方ともあると判断した場合、左レーンマーク情報にマッチングするレーンマーク候補の線分を左レーンマークとして検索するとともに（ステップＳ２４）、右レーンマーク情報にマッチングするレーンマーク候補の線分を右レーンマークとして検索する（ステップＳ２５）。
【００４５】
左右レーンマーク情報が両方ともにはないと判断した場合、次にレーンマーク検出部２は、左レーンマーク情報のみがあるか否かを判断する（ステップＳ２６）。そして、左レーンマーク情報のみ存在すると判断した場合、レーンマーク検出部２は、左レーンマーク情報にマッチングするレーンマーク候補の線分を左レーンマークとして検索するとともに（ステップＳ２７）、左レーンマーク情報を基に基準レーン幅を考慮して、右レーンマークをレーンマーク候補の線分から選択する（ステップＳ２８）。なお、基準レーン幅は、あらかじめ定められた値であり、例えば高速道路の場合３．５ｍである。
【００４６】
一方、左レーンマーク情報がないと判断した場合、レーンマーク検出部２は、右レーンマーク情報のみがあるか否かを判断する（ステップＳ２９）。そして、右レーンマーク情報のみ存在すると判断した場合、レーンマーク検出部２は、右レーンマーク情報にマッチングするレーンマーク候補の線分を右レーンマークとして検索するとともに（ステップＳ３０）、右レーンマーク情報を基に基準レーン幅を考慮して、左レーンマークをレーンマーク候補の線分から選択する（ステップＳ３１）。
【００４７】
また、右レーンマーク情報も左レーンマーク情報もないと判断した場合、レーンマーク検出部２は、左右のレーンマークをレーンマーク候補の線分から選択する（ステップＳ３２，Ｓ３３）。すなわち、レーンマーク検出部２は、ステップＳ３２において、車両中心より左側の一定範囲に含まれるレーンマーク候補の線分の中から左レーンマークを選択する。
【００４８】
ステップＳ３２において左レーンマーク情報を設定できた場合、レーンマーク検出部２は、次のステップＳ３３において、当該設定した左レーンマーク情報を基に基準レーン幅を考慮して、右レーンマークをレーンマーク候補の線分から選択する。一方、ステップＳ３２において左レーンマーク情報が設定されなかった場合、レーンマーク検出部２は、次のステップＳ３３において、車両中心より右側の一定範囲に含まれるレーンマーク候補の線分の中から右レーンマークを選択する。
【００４９】
以上のようなレーンマーク情報の更新処理後、レーンマーク検出部２は、レーンマーク情報の出力を行う（ステップＳ３４）。これにより、図９のフローチャートに示すレーンマーク検出を終了する。
【００５０】
図１２は、図９に示したステップＳ２４，Ｓ２５，Ｓ２７，Ｓ３０で行われているレーンマークのマッチング処理の詳細を示すフローチャートである。図１２において、レーンマーク検出部２は、まず、撮影画像の中に設定する検索範囲（図２（ｃ）の例では２つの検索範囲２２Ｌ，２２Ｒ）の大きさを定める検索幅を算出する（ステップＳ４１）。
【００５１】
本実施形態では、レーンマーク検出部２は、レーンマークのＹ軸方向の移動速度（単位時間当たりの移動量）と図１０のステップＳ２１０３で求めた処理時間（単位時間ｄ）とから算出した移動量に、所定の検索幅基準値を加算することによって検索幅を算出する。例えば、レーンマーク検出部２は、Ｙ軸方向移動速度×処理時間×係数＋検索幅基準値なる計算式によって検索幅を算出する。このように、本実施形態では、レーンマークのＹ軸方向の移動速度に応じて検索範囲の大きさを変えている。
【００５２】
次に、レーンマーク検出部２は、レーンマーク候補抽出部１により抽出されたレーンマーク候補の線分の中から、所定の条件を満たす線分を検索する（ステップＳ４２）。すなわち、レーンマーク検出部２は、レーンマーク候補の直線式のＹ切片ｂが、レーンマークの推定位置を表す直線式のＹ切片ｂ’±検索幅の検索範囲（図２（ｃ）の例では、左右レーンマークの推定位置２１Ｌ，２１Ｒを中心として両側に検索幅をとって設定した検索範囲２２Ｌ，２２Ｒ）の中にあり、かつ、信頼度が最も大きい線分を検索する。
【００５３】
レーンマーク検出部２は、上記ステップＳ４２の検索により、該当する線分が見つかったかどうか判断する（ステップＳ４３）。該当する線分があれば、それがレーンマークなので、レーンマーク情報の過去レーンマーク位置に線分の直線式Ｙ＝ａＸ＋ｂを追加し（ステップＳ４４）、過去レーンマーク幅に線分の線幅を追加し（ステップＳ４５）、過去信頼度に線分の信頼度を追加する（ステップＳ４６）。これらの情報を追加するとき、格納先が満杯の場合には、１番古いデータを削除して追加する。
【００５４】
一方、上記ステップＳ４２の検索で該当する線分が見つからなかった場合、レーンマーク検出部２は、レーンマーク情報の過去信頼度に０を追加する（ステップＳ４７）。そして、レーンマーク検出部２は、過去信頼度に格納されているデータの平均値を求め、それが０かどうか判断する（ステップＳ４８）。過去信頼度の平均値が０のときは、１０回続けてレーンマークが見つからなかったということなので、レーンマーク検出部２はレーンマーク情報を“無し”に設定する（ステップＳ５１）。
【００５５】
過去信頼度の平均値が０でない場合、レーンマーク検出部２は、レーンマーク位置推定部３により推定された位置をレーンマーク位置とみなし、その推定位置によってレーンマーク情報を設定する。すなわち、レーンマーク検出部２は、レーンマーク情報の過去レーンマーク位置に、レーンマークの推定位置を表す線分の直線式Ｙ＝ａＸ’＋ｂ’を追加するとともに（ステップＳ４９）、レーンマーク情報の過去レーンマーク幅に、過去レーンマーク幅へ最後に設定した値（最新値）を追加する（ステップＳ５０）。
【００５６】
図１３は、図９に示したステップＳ２８，Ｓ３１，Ｓ３２，Ｓ３３で行われているレーンマークの選択処理の詳細を示すフローチャートである。図１３において、レーンマーク検出部２は、まず、反対側のレーンマーク情報があるかどうかを確認する（ステップＳ６１）。すなわち、右レーンマークを選択するときは左レーンマーク情報があるかどうかを確認し、左レーンマークを選択するときは右レーンマーク情報があるかどうかを確認する。
【００５７】
図１４に示すように、反対側のレーンマーク情報がある場合には、この情報を基準に検索範囲を決める。すなわち、レーンマーク検出部２は、反対側のレーンマーク情報から求まるレーンマークのＹ軸方向の移動速度と処理時間とから算出した移動量に、所定の検索幅基準値を加算することによって検索幅を算出する（ステップＳ６２）。この場合の検索幅基準値は、ステップＳ４１で用いた検索幅基準値より大きな値とするのが好ましい。反対側のレーンマーク情報から検索幅を算出するため、誤差を含む可能性があるからである。
【００５８】
次に、レーンマーク検出部２は、反対側のレーンマーク情報で示されるレーンマークのＹ切片（図１２のステップＳ４４で追加された直線式のＹ切片ｂまたはステップＳ４９で追加された直線式のＹ切片ｂ’）の絶対値を基準レーン幅Ｗから引いた値が、求めるレーンマークの推定位置（図１４の２４Ｒ）になるので、その位置±検索幅の検索範囲（推定位置２４Ｒから車両寄りの検索範囲１、推定位置２４Ｒから車両とは反対側の検索範囲２）を設定する（ステップＳ６３，Ｓ６４）。
【００５９】
一方、上記ステップＳ６１で、反対側のレーンマーク情報が無いと判断した場合、レーンマーク検出部２は、車両中心から所定距離の位置を中心として、当該位置から車両寄りに基準範囲１をとって車両寄りの検索範囲１を設定するとともに（ステップＳ６５）、当該位置から車両とは反対側に基準範囲２（基準範囲１＜基準範囲２）をとって反対側の検索範囲２を設定する（ステップＳ６６）。なお、基準範囲１および基準範囲２の値は、例えば、１．１ｍと３．０ｍのように任意に決めてよい。
【００６０】
上記ステップＳ６２〜Ｓ６４またはステップＳ６５〜Ｓ６６の何れかによって検索範囲を設定した後、レーンマーク検出部２は、求めるレーンマーク情報が右レーンマークに係る情報かどうかを判断する（ステップＳ６７）。右レーンマークに係る情報ならば、３次元座標のＹ座標はマイナスなので、レーンマーク検出部２は検索範囲をマイナスの値に設定する（ステップＳ６８，Ｓ６９）。
【００６１】
次に、レーンマーク検出部２は、レーンマーク候補抽出部１により抽出されたレーンマーク候補の線分の中から、所定の条件を満たす線分を検索する（ステップＳ７０）。すなわち、レーンマーク検出部２は、レーンマーク候補の直線式のＹ切片ｂが検索範囲１と検索範囲２との間にあり、かつ、信頼度が最も大きい線分を検索する。
【００６２】
レーンマーク検出部２は、上記ステップＳ７０の検索により該当する線分が見つかり、かつ、その線分の信頼度が選択基準値以上かどうか判断する（ステップＳ７１）。該当する線分があり、かつ、その線分の信頼度が選択基準値以上ならば、レーンマーク検出部２はそれを新たなレーンマークとして選択する。すなわち、レーンマーク検出部２は、レーンマーク情報の過去レーンマーク位置に線分の直線式Ｙ＝ａＸ＋ｂを新規設定し（ステップＳ７２）、過去レーンマーク幅に線分の線幅を新規設定し（ステップＳ７３）、過去信頼度に線分の信頼度を新規設定する（ステップＳ７４）。
【００６３】
一方、上記ステップＳ７０の検索で該当する線分が見つからなかった場合、あるいは、線分の信頼度が選択基準値未満であった場合、レーンマーク検出部２は、求めるレーンマーク情報を“無し”に設定する（ステップＳ７５）。ステップＳ７２〜Ｓ７４またはステップＳ７５の処理により、図１３に示すレーンマーク選択処理を終了する。
【００６４】
＜レーンマーク位置推定部３の処理内容＞
以下に、レーンマーク位置推定部３による処理内容を具体的に説明する。
【００６５】
図１５は、本実施形態によるレーンマーク位置推定部３の動作例を示すフローチャートである。レーンマーク位置推定部３は、レーンマーク検出部２によるレーンマークの検出結果であるレーンマーク情報に基づいて、Ｙ軸方向の移動速度を算出するとともに、レーンマークの次位置（直線式Ｙ=ａ’Ｘ＋ｂ’）を推定する。
【００６６】
具体的には、図１５に示すように、レーンマーク検出部２によるレーンマークの検出結果である左レーンマーク情報に基づいて、Ｙ軸方向の移動速度を算出するとともに、左レーンマークの次位置を推定する（ステップＳ８１）。また、レーンマーク位置推定部３は、レーンマーク検出部２によるレーンマークの検出結果である右レーンマーク情報に基づいて、Ｙ軸方向の移動速度を算出するとともに、右レーンマークの次位置を推定する（ステップＳ８２）。
【００６７】
図１６は、上記ステップＳ８１，Ｓ８２の処理の詳細を示すフローチャートである。まず、レーンマーク位置推定部３は、レーンマーク情報が無いかどうかを判断する（ステップＳ９１）。レーンマーク情報が無ければ、レーンマークの次位置を推定することもＹ軸方向の移動速度を算出することもできないので、図１６に示すフローチャートの処理を終了する。
【００６８】
一方、レーンマーク情報がある場合、レーンマーク位置推定部３は、当該レーンマーク情報に含まれる過去レーンマーク位置に設定されているデータ数が１つかどうかを判断する（ステップＳ９２）。このデータ数が１つの場合、レーンマーク検出部２が新規にレーンマークを検出したということである。この場合、レーンマーク位置推定部３は、レーンマーク情報のＹ軸方向の移動速度を０に初期化するとともに（ステップＳ９３）、推定されるレーンマークの次位置を表す直線式の傾きａ’およびＹ切片ｂ’を、新規に検出したレーンマークを表す直線式の傾きａおよびＹ切片ｂに初期化する（ステップＳ９４，Ｓ９５）。
【００６９】
過去レーンマーク位置に設定されているデータ数が１つでない場合、レーンマーク位置推定部３は、このデータ数が２つかどうかを判断する（ステップＳ９６）。このデータ数が２つの場合、レーンマーク位置推定部３は、当該２つの過去レーンマーク位置のＹ切片ｂと処理時間とに基づいて、レーンマークのＹ軸方向の移動速度を算出する（ステップＳ９７）。具体的には、（最新の過去レーンマーク位置のＹ切片ｂ−１つ前の過去レーンマーク位置のＹ切片ｂ）／処理時間なる演算によって、レーンマークのＹ軸方向の移動速度を算出する。
【００７０】
また、レーンマーク位置推定部３は、２つの過去レーンマーク位置の傾きaに基づいて、傾きの変化率を算出する（ステップＳ９８）。具体的には、（最新の過去レーンマーク位置の傾きａ−１つ前の過去レーンマーク位置の傾きａ）／処理時間なる演算によって、レーンマークの傾きの変化率を算出する。
【００７１】
次に、レーンマーク位置推定部３は、ステップＳ９７，Ｓ９８で求めた値を用いて、レーンマークの次位置（直線式Ｙ=ａ’Ｘ＋ｂ’）を推定する。具体的には、最新の過去レーンマーク位置のＹ切片ｂ＋Ｙ軸方向の移動速度×処理時間なる演算によって、推定されるレーンマークの次位置のＹ切片ｂ’を算出する（ステップＳ１０１）。また、最新の過去レーンマーク位置の傾きａ＋傾きの変化率×処理時間なる演算によって、推定されるレーンマークの次位置の傾きａ’を算出する（ステップＳ１０２）。
【００７２】
上記ステップＳ９６において、過去レーンマーク位置に設定されているデータ数が２つでないと判断した場合は、過去レーンマーク位置には３つ以上のデータが格納されているということである。この場合、レーンマーク位置推定部３は、過去レーンマーク位置の最新のデータと最も古いデータと処理時間とに基づいて、Ｙ軸方向の移動速度と傾きの変化率を算出する。
【００７３】
具体的には、レーンマーク位置推定部３は、（最新の過去レーンマーク位置のＹ切片ｂ−最も古い過去レーンマーク位置のＹ切片ｂ）／（処理時間×ｎ）なる演算によって、レーンマークのＹ軸方向の移動速度を算出する（ステップＳ９９）。なお、ｎ＝過去レーンマーク位置のデータ数−１である。また、レーンマーク位置推定部３は、（最新の過去レーンマーク位置の傾きａ−最も古い過去レーンマーク位置の傾きａ）／（処理時間×ｎ）なる演算によって、レーンマークの傾きの変化率を算出する（ステップＳ１００）。
【００７４】
その後、レーンマーク位置推定部３は、ステップＳ９９，Ｓ１００で求めた値を用いて、レーンマークの次位置（直線式Ｙ=ａ’Ｘ＋ｂ’）を推定する（ステップＳ１０１，Ｓ１０２）。これにより、図１６に示すレーンマーク推定処理を終了する。なお、過去レーンマーク位置に３つ以上のデータが格納されている場合も、ステップＳ９９，Ｓ１００の処理ではなくステップＳ９７，Ｓ９８の処理を行うようにしてもよい。
【００７５】
以上詳しく説明したように、本実施形態では、撮像装置２０より入力される撮影画像内に検索範囲を設定し、設定した検索範囲からレーンマークを検出するレーンマーク検出装置１０において、撮影画像内から過去に検出したレーンマークの位置の変化に基づいて、レーンマークの単位時間当たりの移動量（Ｙ軸方向の移動速度）を算出する。そして、当該算出したＹ軸方向の移動速度および過去に検出したレーンマークの位置に基づいてレーンマークの次位置を推定し、その推定位置を基準として検索範囲を設定するようにしている。
【００７６】
このように構成した本実施形態のレーンマーク検出装置１０によれば、例えば運転者が急ハンドルを切るなどして、撮影画像内に写るレーンマークの単位時間当たりの移動量が大きくなる場合でも、その移動量を考慮した位置にレーンマークの検索範囲が設定されるので、撮影画像の検索範囲内からレーンマークを確実に検出することができる。しかも、当該移動量は、撮影画像の処理によって得られる過去のレーンマークの検出結果に基づいて求められるので、撮影画像以外の外部からの情報を用いずに、レーンマークを検出することができる。
【００７７】
なお、上記実施形態では、レーンマーク検出部２は、過去に検出したレーンマーク位置から次のレーンマーク位置を推定し、その推定位置を基準として検索範囲を設定する例について説明したが、本発明はこれに限定されない。例えば、レーンマーク検出部２は、過去に検出したレーンマークの位置を基準として検索範囲を仮設定する。その後、移動量算出部により算出されたレーンマークの単位時間当たりの移動量に基づいて、仮設定した検索範囲の位置を補正するようにしてもよい。このようにしても、最終的に設定される検索範囲は、レーンマークの推定位置を基準として設定する場合と同じとなる。
【００７８】
また、上記実施形態では、撮像装置２０から入力した撮影画像の全体からレーンマーク候補抽出部１がレーンマーク候補となる線分を抽出する。そして、レーンマーク検出部２が、レーンマーク位置推定部３により算出されたレーンマークの推定位置とレーンマーク検出部２により算出された検索幅とから設定される検索範囲内で、レーンマーク候補となる線分からレーンマークを検出する例について説明したが、本発明はこれに限定されない。例えば、レーンマーク候補抽出部１は、レーンマーク位置推定部３により算出されたレーンマークの推定位置とレーンマーク検出部２により算出された検索幅とから設定される検索範囲内でレーンマーク候補となる線分を抽出してもよい。
【００７９】
また、上記実施形態では、レーンマーク候補となる線分を１次の直線式（Ｙ＝ａＸ＋ｂ）で算出しているが、本発明はこれに限定されない。例えば、道路が弧状に曲がったカーブに引かれているレーンマークがあることも考慮して、レーンマークを２次式で表すようにしてもよい。
【００８０】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００８１】
１  レーンマーク候補抽出部
２  レーンマーク検出部
３  レーンマーク位置推定部
１０  レーンマーク検出装置
２０  撮像装置
【図１】
0005889046.tif 000002
【図２】
0005889046.tif 000003
【図３】
0005889046.tif 000004
【図４】
0005889046.tif 000005
【図５】
0005889046.tif 000006
【図６】
0005889046.tif 000007
【図７】
0005889046.tif 000008
【図８】
0005889046.tif 000009
【図９】
0005889046.tif 000010
【図１０】
0005889046.tif 000011
【図１１】
0005889046.tif 000012
【図１２】
0005889046.tif 000013
【図１３】
0005889046.tif 000014
【図１４】
0005889046.tif 000015
【図１５】
0005889046.tif 000016
【図１６】
0005889046.tif 000017