特許第6971177号(P6971177)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ クラリオン株式会社の特許一覧

<>
  • 特許6971177-区画線認識装置 図000002
  • 特許6971177-区画線認識装置 図000003
  • 特許6971177-区画線認識装置 図000004
  • 特許6971177-区画線認識装置 図000005
  • 特許6971177-区画線認識装置 図000006
  • 特許6971177-区画線認識装置 図000007
  • 特許6971177-区画線認識装置 図000008
  • 特許6971177-区画線認識装置 図000009
  • 特許6971177-区画線認識装置 図000010
  • 特許6971177-区画線認識装置 図000011
  • 特許6971177-区画線認識装置 図000012
  • 特許6971177-区画線認識装置 図000013
  • 特許6971177-区画線認識装置 図000014
  • 特許6971177-区画線認識装置 図000015
  • 特許6971177-区画線認識装置 図000016
  • 特許6971177-区画線認識装置 図000017
  • 特許6971177-区画線認識装置 図000018
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6971177
(24)【登録日】2021年11月4日
(45)【発行日】2021年11月24日
(54)【発明の名称】区画線認識装置
(51)【国際特許分類】
   G06T 7/60 20170101AFI20211111BHJP
   G06T 7/00 20170101ALI20211111BHJP
   G06T 7/136 20170101ALI20211111BHJP
   G08G 1/16 20060101ALI20211111BHJP
   H04N 5/232 20060101ALI20211111BHJP
【FI】
   G06T7/60 200J
   G06T7/00 650A
   G06T7/136
   G08G1/16 C
   H04N5/232 290
【請求項の数】7
【全頁数】20
(21)【出願番号】特願2018-43554(P2018-43554)
(22)【出願日】2018年3月9日
(65)【公開番号】特開2019-159606(P2019-159606A)
(43)【公開日】2019年9月19日
【審査請求日】2020年8月24日
(73)【特許権者】
【識別番号】000001487
【氏名又は名称】フォルシアクラリオン・エレクトロニクス株式会社
(74)【代理人】
【識別番号】110002365
【氏名又は名称】特許業務法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】待井 君吉
(72)【発明者】
【氏名】緒方 健人
(72)【発明者】
【氏名】清水 直樹
(72)【発明者】
【氏名】宮下 彩乃
【審査官】 藤原 敬利
(56)【参考文献】
【文献】 特開2005−157731(JP,A)
【文献】 特開2011−028659(JP,A)
【文献】 特開2009−015611(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/60
G06T 7/00
G06T 7/13
G06T 7/136
(57)【特許請求の範囲】
【請求項1】
カメラで撮影された画像から道路上の区画線を認識する装置であって、
前記画像に対して処理領域を設定する処理領域設定部と、
前記処理領域における前記画像の統計量を算出する統計量算出部と、
前記統計量に基づいて複数の閾値を設定する閾値設定部と、
前記複数の閾値に基づいて前記画像に含まれる複数の画素を路面と白線を区別するように分類し、前記複数の画素の分類結果に基づいて前記区画線の特徴点を抽出する区画線特徴点抽出部と、
前記区画線特徴点抽出部により抽出された前記特徴点に基づいて前記区画線を決定する区画線決定部と、を備え
前記区画線特徴点抽出部は、前記路面と前記白線のいずれにも分類できない前記画素を分類不定と定義し、前記画像の走査方向における前記画素の分類変化に応じて前記分類不定の前記画素を前記路面または前記白線とみなす区画線認識装置。
【請求項2】
請求項1に記載の区画線認識装置において、
前記統計量算出部は、前記画像の一部または全部を処理領域と定義し、前記処理領域内の各画素の輝度値の平均値および標準偏差を前記統計量として算出する区画線認識装置。
【請求項3】
請求項1に記載の区画線認識装置において、
前記統計量算出部は、前記画像の一部または全部を処理領域と定義し、前記処理領域内の各画素の輝度値の中央値および中央絶対偏差を前記統計量として算出する区画線認識装置。
【請求項4】
請求項1から請求項のいずれか一項に記載の区画線認識装置において、
前記区画線特徴点抽出部は、前記複数の画素の分類が変化する境界に対応する点を前記特徴点の候補として抽出する区画線認識装置。
【請求項5】
請求項1から請求項のいずれか一項に記載の区画線認識装置において、
前記区画線特徴点抽出部は、前記複数の画素の分類結果に基づいて複数の特徴点候補を抽出し、抽出した前記複数の特徴点候補同士の位置関係に基づいて、前記特徴点候補から前記特徴点を決定する区画線認識装置。
【請求項6】
請求項1から請求項のいずれか一項に記載の区画線認識装置において、
前記区画線特徴点抽出部は、前記カメラで異なる時刻に撮影された複数の画像にそれぞれ含まれる複数の画素を分類し、前記複数の画像の対応する画素間で同一の分類結果が得られた場合に、当該画素の分類結果を用いて前記区画線の特徴点を抽出する区画線認識装置。
【請求項7】
請求項に記載の区画線認識装置において、
前記統計量算出部は、過去の複数の画像について前記統計量を算出し、
前記区画線特徴点抽出部は、前記統計量算出部が算出した統計量に基づいて前記過去の複数の画像に含まれる複数の画素を分類した結果と、前記過去の複数の画像よりも後に前記カメラで撮影された画像に含まれる複数の画素を分類した結果とを比較し、対応する画素間で同一の分類結果が得られた場合に、当該画素の分類結果を用いて前記区画線の特徴点を抽出する区画線認識装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、道路上の区画線を認識する装置に関する。
【背景技術】
【0002】
従来、道路の撮影画像から道路上の区画線(白線)を認識し、車両制御等に利用する技術が知られている。このような技術では、撮影画像の輝度値をそのまま用いて区画線の認識を行うと、区画線の境界部分だけでなく、区画線内でもエッジの特徴点が出現することがあるため、どの特徴点が区画線の境界を示すかの判断が困難であるという課題があった。また、車両の影等の影響で区画線の輝度値が低下したり、強い光が路面で反射することで路面の輝度値が上昇したりした場合には、区画線と路面の区別が困難であるという課題もあった。
【0003】
上記の課題を解決する背景技術として、下記の特許文献1が知られている。特許文献1には、路面を含む車両の前方を撮像する撮像装置と、前記撮像装置により撮像された画像を2値化閾値により2値化処理して前記路面に形成されたレーンマークを検出するレーンマーク検出部と、を備えるレーン検出装置において、前記レーンマーク検出部は、撮像された前記画像を、上下方向には連続し、左右方向には延びる複数のブロックに分割し、分割したブロックの輝度値に基づき、複数の前記ブロックを、相対的に輝度値が高い明部ブロックと低い暗部ブロックに振り分け、前記明部ブロックと前記暗部ブロックとで前記2値化閾値の値を変更して、撮像された前記画像を2値化処理することが記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2016−206881号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に記載の技術では、区画線と路面の輝度値が局所的に区別できない状況のときには、区画線を適切に判断することが困難である。したがって、道路上の区画線の認識精度において改善の余地がある。
【課題を解決するための手段】
【0006】
本発明による区画線認識装置は、カメラで撮影された画像から道路上の区画線を認識する装置であって、前記画像に対して処理領域を設定する処理領域設定部と、前記処理領域における前記画像の統計量を算出する統計量算出部と、前記統計量に基づいて複数の閾値を設定する閾値設定部と、前記複数の閾値に基づいて前記画像に含まれる複数の画素を路面と白線を区別するように分類し、前記複数の画素の分類結果に基づいて前記区画線の特徴点を抽出する区画線特徴点抽出部と、前記区画線特徴点抽出部により抽出された前記特徴点に基づいて前記区画線を決定する区画線決定部と、を備える。
【発明の効果】
【0007】
本発明によれば、道路上の区画線の認識精度を改善することができる。
【図面の簡単な説明】
【0008】
図1】本発明の一実施形態に係る区画線認識装置のハードウェア構成の例を示す図
図2】本発明の一実施形態に係る区画線認識装置の機能構成の例を示す図
図3】本発明の第1の実施形態に係る区画線認識装置の処理フローを示す図
図4】閾値設定部による閾値設定方法の一例を示す図
図5】区画線特徴点抽出部の処理フローを示す図
図6】分類部の処理フローを示す図
図7】特徴点決定部の処理フローを示す図
図8】特徴点候補バッファのデータ構造の一例を示す図
図9】特徴点バッファのデータ構造の一例を示す図
図10】分類前の画像の例を示す図
図11】分類画像の例を示す図
図12】立上がり点および立下がり点の抽出例を説明する図
図13】立上がり点および立下がり点の抽出結果の例を示す図
図14】処理領域の全体における特徴点決定結果の例を示す図
図15】本発明の第2の実施形態に係る区画線認識装置の処理フローを示す図
図16】閾値設定部による閾値設定方法の一例を示す図
図17】分類前の画像の例を示す図
【発明を実施するための形態】
【0009】
(第1の実施形態)
図1は、本発明の一実施形態に係る区画線認識装置のハードウェア構成の例を示す図である。図1に示す区画線認識装置1は、車両に搭載されて使用されることで、カメラで撮影された画像から道路上の区画線を認識するものであり、記憶装置103、CPU104、メモリ105、CAN I/F106を備える。区画線認識装置1には、車両前方を監視するためのフロントカメラ101−Frと、車両後方を監視するためのリアカメラ101−Rrと、車両左側方を監視するための左サイドカメラ101−SLと、車両右側方を監視するための右サイドカメラ101−SRとが接続されている。また、CANバス107を介して車両制御ユニット108が接続されている。なお、図1の例では上記の4つのカメラが区画線認識装置1に接続されているが、任意の台数のカメラでそれぞれ撮影された画像を区画線認識装置1に入力することで、区画線認識装置1において各画像から道路上の区画線を認識することができる。したがって以下では、上記の4つのカメラを区別せずに、一台のカメラ101として説明する。
【0010】
記憶装置103には、区画線認識装置1の動作に必要な各種の情報やプログラムが記憶されている。CPU104は、記憶装置103に記憶されている所定のプログラムを実行することで、カメラ101から入力された画像を用いて画像処理を行い、車両の周辺に存在する道路上の区画線を認識する。メモリ105は揮発性の記憶媒体であり、CPU104が画像処理を実行する際の作業領域として用いられると共に、画像処理で得られた区画線の認識結果が蓄積される。メモリ105に蓄積された区画線の認識結果の情報は、CAN I/F106を介してCANバス107に出力され、車両制御ユニット108に送られる。車両制御ユニット108は、区画線認識装置1から送られた区画線の認識結果を用いて、たとえば車両が走行車線から逸脱しないように車両のステアリングを制御するなど、車両の走行状態に応じた各種の車両制御を行う。
【0011】
図2は、本発明の一実施形態に係る区画線認識装置の機能構成の例を示す図である。図2に示す区画線認識装置1は、処理領域設定部201、統計量算出部202、閾値設定部203、区画線特徴点抽出部205、区画線決定部206を機能的に有する。閾値設定部203は、白線閾値設定部203−1および路面閾値設定部203−2により構成されている。区画線特徴点抽出部205は、分類部205−1、特徴点候補抽出部205−2、特徴点決定部205−3により構成されている。区画線認識装置1は、CPU104で所定のプログラムを実行することにより、これらの各機能ブロックを実現する。
【0012】
カメラ101により撮影された画像は、所定の時間間隔で処理領域設定部201に送られる。以下では、カメラ101から所定時間ごとに入力される画像の各々を「フレーム」と称することもある。処理領域設定部201は、カメラ101から入力された画像に対して処理領域を設定する。ここで設定される処理領域とは、画像から道路上の区画線(白線)を抽出するために用いられる画像領域のことである。したがって、処理領域は白線が存在すると思われる場所の周辺に設定するものであり、前フレームにおいて白線が認識されていればその位置を基準に設定することが可能である。例えば右サイドカメラ101−SRや左サイドカメラ101−SLの場合は、予め定義されたマージンを前フレームにおける白線認識位置の上下に設定することで処理領域を設定することが可能である。もし前フレームにおいて不検知であった場合には、予め定義された領域を使ってもよい。画像に処理領域を設定する目的は、CPU104の処理能力が十分でない場合は画像全体を処理するのに時間がかかるため、処理を行う領域を絞ることで処理時間を短縮することである。ただし、CPU104の処理能力が十分である場合は、画像全体を処理領域に設定してもよい。なお、以下では区画線が白線であるものとして説明するが、白線以外の区画線であっても同様である。
【0013】
処理領域設定部201は、たとえば前フレームにおける白線の位置、すなわち前回の処理対象とした画像から認識された白線の位置に基づいて、現フレームにおける処理領域を設定する。なお、前フレームで白線を認識できなかった場合は、さらに前のフレームにおける白線の位置に基づいて処理領域を設定してもよいし、予め決められた位置にデフォルトの処理領域を設定してもよい。これにより、処理領域を設定できずに処理時間が増大するのを防ぐことが可能である。また、白線が破線である場合は、最後に白線が認識されたフレームにおける白線の位置に基づいて、処理領域を設定することが可能である。
【0014】
統計量算出部202は、処理領域設定部201で設定された処理領域における画像の統計量を算出する。具体的には、たとえば処理領域における画像の各画素の輝度値の平均値および標準偏差を、画像の統計量として算出する。
【0015】
閾値設定部203は、統計量算出部202で求められた画像の統計量、すなわち処理領域内の各画素の輝度値の平均値と標準偏差に基づいて、白線閾値設定部203−1および路面閾値設定部203−2により、白線閾値と路面閾値をそれぞれ設定する。白線閾値とは、処理領域内の画像から白線部分を認識するための閾値であり、白線に属する画素の最低輝度値に相当する。すなわち、白線閾値以上の輝度値を持つ画素は、白線の候補として抽出される。また、路面閾値とは、処理領域内の画像から路面部分を認識するための閾値であり、白線以外の路面に属する画素の最高輝度値に相当する。すなわち、路面閾値以下の輝度値を持つ画素は、路面の候補として抽出される。なお、以下の説明では、道路上の白線以外の部分を総称して、「路面」と表現する。白線閾値および路面閾値の具体的な設定方法については後述する。
【0016】
区画線特徴点抽出部205は、閾値設定部203で設定された白線閾値および路面閾値に基づいて、分類部205−1、特徴点候補抽出部205−2および特徴点決定部205−3により、画像から白線の特徴点を抽出する。分類部205−1は、白線閾値および路面閾値を用いて、処理領域内の画像に含まれる各画素を、「路面」、「白線」、「不定」のいずれかに分類する。すなわち、各画素の輝度値を白線閾値および路面閾値と比較して、「白線」と「路面」のいずれに属するかを判別し、いずれでもないと判別された場合は「不定」に分類する。なお、周知のエッジ抽出手法、たとえばソーベルフィルタ等の微分フィルタを用いて処理領域内の画像から白線エッジを抽出し、その白線エッジの付近に存在する画素を対象として、分類部205−1が各画素を分類してもよい。この場合、分類されなかった画素は以降の処理対象から除外される。
【0017】
特徴点候補抽出部205−2は、分類部205−1による各画素の分類結果に基づいて、白線の輪郭を示す特徴点の候補である特徴点候補を抽出する。具体的には、画素の分類が変化する境界を求め、その境界に対応する点を特徴点候補として抽出する。
【0018】
特徴点決定部205−3は、特徴点候補抽出部205−2で抽出された複数の特徴点候補同士の位置関係に基づいて、特徴点候補から特徴点を決定する。具体的には、記憶装置103に記憶されている区画線規格データ204を参照し、抽出された複数の特徴点候補同士の距離を区画線規格データ204と照合することで、どの特徴点候補の組み合わせが白線の輪郭として確からしいかを判断する。なお、区画線規格データ204は、白線の太さや長さ等の規格値が格納されているデータベースであり、記憶装置103において予め記憶されている。
【0019】
区画線決定部206は、区画線特徴点抽出部205で抽出された特徴点に基づいて、道路上に描かれた白線を認識し、画像における白線の位置を確定する。たとえば、処理領域内の全ての特徴点に対して、画像の歪みを補正した所定の座標系への座標変換を行い、その後に斜方投影等の手法を用いて、白線を認識する。具体的には、座標軸の角度を一定の幅で変化させながら、座標変換された各特徴点をx,yの各座標軸上に投影し、エッジ強度の累積値を集計する。そして、エッジ強度が最大となる角度と位置を求めることで、白線を認識することが可能となる。なお、特徴点の座標変換ではカメラ101の画角や撮影方向等のカメラパラメータが必要であるため、予め記憶装置103等に座標変換用のカメラパラメータを記憶させておくことが好ましい。こうして白線を認識できたら、区画線決定部206は、白線が実線か破線かを識別することで、白線が表す道路標示の種別を判断することとしてもよい。
【0020】
次に、区画線認識装置1の処理フローについて説明する。図3は、本発明の第1の実施形態に係る区画線認識装置の処理フローを示す図である。図3の処理フローは、画像1フレーム分の処理を示している。すなわち、本実施形態の区画線認識装置1において、CPU104は、カメラ101から所定のフレームレートで画像が入力される度に、図3の処理フローに従って画像から区画線を認識する処理を実行する。
【0021】
ステップ301では、カメラ画像、すなわちカメラ101から入力された画像を取得する。
【0022】
ステップ302では、処理領域設定部201により、ステップ301で取得した画像内に処理領域を設定する。ここでは前述のように、たとえば前フレームにおける白線の位置に基づいて、画像内で処理領域の位置を決定する。
【0023】
ステップ303では、統計量算出部202により、ステップ302で設定した処理領域における輝度値の統計量を求める。ここでは前述のように、処理領域における各画素の輝度値の平均値および標準偏差を、画像の統計量として算出する。
【0024】
ステップ304では、閾値設定部203により、ステップ303で求めた統計量に基づいて、輝度値の閾値を設定する。ここでは前述のように、白線閾値設定部203−1により白線閾値を設定し、路面閾値設定部203−2により路面閾値を設定する。なお、ステップ304における閾値の設定方法の詳細は、後で図4図16を参照して説明する。
【0025】
ステップ305では、区画線特徴点抽出部205により、ステップ304で設定した閾値に基づいて、ステップ302で設定した処理領域内の画像から区画線すなわち白線の特徴点を抽出する。なお、ステップ305における特徴点の抽出方法の詳細は、後で図5図9を参照して説明する。
【0026】
ステップ306では、区画線決定部206により、ステップ305で抽出した特徴点から道路上の区画線(白線)を決定する。ステップ306を実行したら、CPU104は図3の処理フローを終了する。
【0027】
次に、ステップ304における閾値の設定方法の詳細について説明する。図4は、閾値設定部203による閾値設定方法の一例を示す図である。
【0028】
統計量算出部202により、処理領域における各画素の輝度値の統計量として、平均値μと標準偏差σが算出されたとする。この場合、路面閾値設定部203−2は、たとえば図4に示すように、平均値μを路面閾値404として設定する。これにより、路面閾値404よりも輝度値が小さい領域401に含まれる各画素が、区画線特徴点抽出部205において「路面」に分類される。一方、白線閾値設定部203−1は、たとえば図4に示すように、平均値μに標準偏差σを加えたμ+σを白線閾値405として設定する。これにより、白線閾値405よりも輝度値が大きい領域403に含まれる各画素が、区画線特徴点抽出部205において「白線」に分類される。なお、「路面」と「白線」のいずれにも分類されない画素、すなわち路面閾値404以上でかつ白線閾値405以下の輝度値に対応する領域402に含まれる各画素は、区画線特徴点抽出部205において「不定」に分類される。
【0029】
図4の方法は、輝度値が正規分布にしたがっているという前提があって成立するものであるが、実際にはそうでないことも多いと考えられる。このような場合には中央値や中央絶対偏差(Median Absolute Deviation)等、分布の偏りがあってもその影響を受けにくい統計量を用いる方法が有効である。
【0030】
図16は、閾値設定部203による閾値設定方法の別の例を示す図である。統計量算出部202により、処理領域における各画素の輝度値の統計量として、中央値Mと中央絶対偏差MADが算出されたとする。この場合、路面閾値設定部203−2は、たとえば図16に示すように、中央値Mを路面閾値404として設定する。これにより、路面閾値404よりも輝度値が小さい領域401に含まれる各画素が、区画線特徴点抽出部205において「路面」に分類される。一方、白線閾値設定部203−1は、たとえば図16に示すように、中央値Mに中央絶対偏差MADを加えたM+MADを白線閾値405として設定する。これにより、白線閾値405よりも輝度値が大きい領域403に含まれる各画素が、区画線特徴点抽出部205において「白線」に分類される。なお、「路面」と「白線」のいずれにも分類されない画素、すなわち路面閾値404以上でかつ白線閾値405以下の輝度値に対応する領域402に含まれる各画素は、区画線特徴点抽出部205において「不定」に分類される。
【0031】
上記のようにして白線閾値と路面閾値をそれぞれ設定することにより、処理領域内で相対的に輝度値が高い各画素を白線の候補として抽出することが可能である。また、統計量を用いることにより、車両の周辺環境の変化によってフレームの明るさが変化しても、その影響を受けずに白線閾値および路面閾値を設定し、白線の候補を抽出することが可能である。なお、白線閾値および路面閾値の設定方法は上記の方法に限られない。処理領域における各画素の輝度値の統計量に基づいて、白線閾値および路面閾値をそれぞれ適切に設定できるものであれば、任意の方法を用いることができる。
【0032】
また、処理領域全体を対象として統計量を求めるのではなく、処理領域を適当な数に分割し、それぞれの分割領域ごとに統計量を求めて路面閾値404と白線閾値405を設定することも可能である。例えば、図17のように処理領域を3分割し、それぞれの分割領域において統計量と閾値を設定することで、より適切な閾値を設定することが可能となる。
【0033】
次に、図3のステップ305における特徴点の抽出方法の詳細について説明する。図5は、ステップ305における区画線特徴点抽出部205の処理フローを示す図である。
【0034】
ステップ501では、分類部205−1により、処理領域内の各画素の分類を判定する。ここでは、図6の処理フローに示す分類処理を分類部205−1が実行することで、処理領域内の各画素を「路面」、「白線」、「不定」のいずれかに分類する。なお、図6の処理フローの詳細については後述する。
【0035】
ステップ502〜506では、特徴点候補抽出部205−2により、処理領域内の各画素について、ステップ501の分類結果を用いて以下の処理を行う。ここでは、x軸を画像の左から右方向、y軸を画像の上から下方向と定義する。
【0036】
ステップ502では、処理対象の画素に対して、処理領域内でx座標が同一でy座標の差が1である一対の画素を選択する。なお、これはカメラ101が左サイドカメラ101−SLまたは右サイドカメラ101−SRである場合である。一方、カメラ101がフロントカメラ101−Frまたはリアカメラ101−Rrである場合は、画像内での区画線の延伸方向が約90度変化するため、y座標が同一でx座標の差が1である一対の画素を選択することが好ましい。これにより、左サイドカメラ101−SLまたは右サイドカメラ101−SRの場合と同様の処理が可能である。
【0037】
ステップ503では、ステップ502で選択した一対の画素について、ステップ501での分類結果を比較する。その結果、同一x座標でy座標が大きくなる方向に走査してこれらの画素の分類が「不定」から「白線」、または「路面」から「白線」、または「路面」から「不定」のいずれかに変化している場合は、ステップ504で一方の画素、たとえばy座標の値が大きい方の画素を立上がり点とみなしてバッファリングする。なお、立上がり点とは、輝度値が増大方向に変化する点のことであり、白線の輪郭を示す特徴点の候補に相当する。当該画素を立上がり点としてバッファリングしたら、ステップ502に戻って次の画素の処理に移る。一方、上記の条件を満たさない場合は、ステップ505に進む。
【0038】
ステップ505では、ステップ503と同様に、ステップ502で選択した一対の画素について、ステップ501での分類結果を比較する。その結果、同一x座標でy座標が大きくなる方向に走査してこれらの画素の分類が「不定」から「路面」、または「白線」から「路面」、または「白線」から「不定」のいずれかに変化している場合は、ステップ506で一方の画素、たとえばy座標の値が大きい方の画素を立下がり点とみなしてバッファリングする。なお、立下がり点とは、輝度値が減少方向に変化する点のことであり、白線の輪郭を示す特徴点の候補に相当する。当該画素を立下がり点としてバッファリングしたら、ステップ502に戻って次の画素の処理に移る。一方、上記の条件を満たさない場合は、何もせずにステップ502に戻って次の画素の処理に移る。
【0039】
ステップ502〜506では、上記のような処理を処理領域内の各画素に対して実行することで、処理領域内の全ての画素について、特徴点候補である立上がり点または立下がり点に該当するか、あるいはいずれでもないかを判定する。処理領域内の全ての画素についてステップ502〜506の処理を実行したら、ステップ507に進む。
【0040】
ステップ507では、特徴点決定部205−3により、ステップ502〜506で判定された各特徴点候補、すなわち立上がり点および立下がり点のそれぞれの位置を照合し、特徴点を決定する。ここでは、図7の処理フローに示す特徴点決定処理を特徴点決定部205−3が実行することで、処理領域内の画像から抽出された複数の特徴点候補同士の位置関係に基づいて、特徴点候補から特徴点を決定する。なお、図7の処理フローの詳細については後述する。ステップ507の処理を実行したら、図3のステップ305を終了し、次のステップ306に進む。
【0041】
図6は、図5のステップ501における分類部205−1の処理フローを示す図である。分類部205−1は、処理領域内の各画素について、以下で説明するステップ601〜606の処理をそれぞれ行う。
【0042】
ステップ601では、画像における処理対象の画素の輝度値を取得する。
【0043】
ステップ602では、ステップ601で取得した輝度値を、図3のステップ304で路面閾値設定部203−2が設定した路面閾値と比較する。その結果、輝度値が路面閾値よりも小さければ、ステップ604で当該画素を「路面」に分類して次の画素の処理に移る。一方、輝度値が路面閾値以上であれば、ステップ603に進む。
【0044】
ステップ603では、ステップ601で取得した輝度値を、図3のステップ304で白線閾値設定部203−1が設定した白線閾値と比較する。その結果、輝度値が白線閾値よりも大きければ、ステップ605で当該画素を「白線」に分類して次の画素の処理に移る。一方、輝度値が白線閾値以下であれば、ステップ606で当該画素を「不定」に分類して次の画素の処理に移る。
【0045】
ステップ601〜606では、上記のような処理を処理領域内の各画素に対して実行することで、処理領域内の全ての画素を「路面」、「白線」、「不定」のいずれかに分類する。処理領域内の全ての画素についてステップ601〜606の処理を実行したら、図5のステップ501を終了し、次のステップ502に進む。
【0046】
図7は、図5のステップ507における特徴点決定部205−3の処理フローを示す図である。
【0047】
ステップ701では、記憶装置103から車線幅データ、すなわち白線の幅を表すデータを取得する。ここでは、たとえば記憶装置103に区画線規格データ204の一部として格納されている車線幅データを取得する。このとき、CANバス107を介して区画線認識装置1に接続された不図示のナビゲーション装置等から、車両が現在走行中の道路種別を取得し、その道路種別に対応する車線幅データを区画線規格データ204から検索して取得してもよい。なお、区画線認識装置1がナビゲーション装置を兼ねている場合も、上記と同様に、車両が走行中の道路種別に対応する車線幅データを取得することが可能である。
【0048】
ステップ702では、車線幅誤差最小値の初期値を設定する。車線幅誤差最小値とは、以降の処理において、立上がり点と立下がり点の位置関係が特徴点として確からしいか否かを判別するために用いられるものであり、メモリ105に記憶され、処理状態に応じて随時更新される。ここでは、たとえば20cmを車線幅誤差最小値の初期値として設定する。ただし20cmは一例であり、実際の白線の幅以上であれば、任意の数値を車線幅誤差最小値の初期値として設定することが可能である。
【0049】
ステップ703〜707では、図5のステップ502〜506で特徴点候補抽出部205−2が処理領域内の画像から抽出した各特徴点候補、すなわちステップ504、506でバッファリングされた各立上がり点および立下がり点について、以下の処理をそれぞれ行う。
【0050】
ステップ703では、処理対象の立上がり点と、当該立上がり点とx座標が同一の立下がり点とについて、これらの点間の距離を計算する。すなわち、処理領域内の画像から抽出された複数の特徴点候補の中で、x座標が同一でy座標の差が1の一対の立上がり点および立下がり点を選択し、これらの位置関係に応じた距離を求める。
【0051】
ステップ704では、ステップ703で求めた距離を、ステップ701で取得した車線幅データが表す白線の幅と比較し、これらの間の誤差(差分)を計算する。
【0052】
ステップ705では、ステップ704で求めた誤差を現在の車線幅誤差最小値と比較する。その結果、誤差が車線幅誤差最小値より小さければ、ステップ706で当該誤差の値により車線幅誤差最小値を置き換えた後、ステップ707で当該立下がり点を特徴点として特徴点情報を更新する。なお、特徴点情報は、特徴点決定部205−3により決定された特徴点を表す情報であり、メモリ105に設けられた特徴点バッファにおいてx座標が重複しないように記録される。すなわち、x座標が同一の立下がり点が複数存在する場合でも、そのうち多くても1つの立下がり点のみが特徴点として特徴点情報に記録される。ただし、いずれの立下がり点についてもステップ705の条件が満たされない場合は、当該x座標に対応する特徴点が存在しないとみなされて特徴点情報が記録されない。ステップ707で特徴点情報を更新したら、ステップ703に戻り、次の立上がり点と立下がり点の組み合わせを対象とした処理に移る。一方、ステップ705で誤差が車線幅誤差最小値以上と判定された場合は、何もせずにステップ502に戻り、次の立上がり点と立下がり点の組み合わせを対象とした処理に移る。
【0053】
ステップ703〜707では、上記のような処理を各立上がり点および立下がり点の組み合わせに対して実行することで、処理領域から抽出された全ての特徴点候補について、特徴点候補同士の位置関係を照合し、白線の輪郭としての整合性を確認する。その結果、処理領域内で白線の幅にもっとも近い立上がり点と立下がり点の組み合わせをx座標ごとに特定し、その立下がり点の情報を特徴点情報として残すことで、特徴点候補から特徴点を決定することができる。なお、図7の例では立下がり点を特徴点情報として記録することとしたが、立上がり点を特徴点情報として記録してもよいし、立上がり点と立下がり点の両方を特徴点情報として記録してもよい。処理領域内で抽出された全ての立上がり点および立下がり点についてステップ703〜707の処理を実行したら、図5のステップ507を終了し、区画線特徴点抽出部205の処理フローを完了する。
【0054】
図8は、図5のステップ504、506で立上がり点と立下がり点をそれぞれバッファリングする際に用いられる特徴点候補バッファのデータ構造の一例を示す図である。図8に示す特徴点候補バッファは、メモリ105を用いて実現され、立上がり点数801、立上がり点情報802、立下がり点数804、立下がり点情報805の各データが格納される。立上がり点数801は、立上がり点の数を表すデータであり、立上がり点情報802のデータ数と等しい。すなわち、立上がり点数801が示す数と同数の立上がり点情報802が特徴点候補バッファに格納される。立上がり点情報802は、画像内での立上がり点の位置を示すデータであり、画像座標系における立上がり点のx座標値とy座標値をそれぞれ表すx座標802−1およびy座標802−2から成る。立下がり点についても同様に、立下がり点数804は、立下がり点の数を表すデータであり、立下がり点情報805のデータ数と等しい。すなわち、立下がり点数804が示す数と同数の立下がり点情報805が特徴点候補バッファに格納される。立下がり点情報805は、画像内での立下がり点の位置を示すデータであり、画像座標系における立下がり点のx座標値とy座標値をそれぞれ表すx座標805−1およびy座標805−2から成る。
【0055】
図9は、図7のステップ707で特徴点情報をバッファリングする際に用いられる特徴点バッファのデータ構造の一例を示す図である。図9に示す特徴点バッファは、メモリ105を用いて実現され、特徴点数901、特徴点情報902の各データが格納される。特徴点数901は、特徴点の数を表すデータであり、特徴点情報902のデータ数と等しい。すなわち、特徴点数901が示す数と同数の特徴点情報902が特徴点バッファに格納される。特徴点情報902は、画像内での特徴点の位置や分類を示すデータであり、画像座標系における特徴点のx座標値とy座標値をそれぞれ表すx座標902−1およびy座標902−2と、分類902−3から成る。
【0056】
次に、以上で述べた処理の具体例について、図10図14を参照して説明する。なお、以下の説明では、右サイドカメラ101−SRで撮影された画像を対象に処理を行った場合の具体例を説明するが、他のカメラで撮影された画像についても同様である。
【0057】
図10は、分類前の画像の例を示す図である。処理領域設定部201は、カメラ101から入力された画像1001に対して、たとえば図中の白枠で囲われた範囲に処理領域1002を設定する。処理領域1002内には、認識対象である白線が含まれており、草むらの影が部分的に白線にかかっている。なお、処理領域1002は、たとえば前述のように前フレームでの白線位置に基づいて定められる。
【0058】
統計量算出部202は、画像1001に設定された処理領域1002内の各画素の輝度値の統計量を算出する。閾値設定部203は、統計量算出部202が算出した統計量に基づいて、白線閾値および路面閾値を設定する。分類部205−1は、閾値設定部203が設定した白線閾値および路面閾値を用いて、画像1001の各画素を「路面」、「白線」、「不定」のいずれかに分類する。
【0059】
図11は、図10の画像1001の各画素を分類して得られた分類画像1101の例を示す図である。分類画像1101では、各画素の分類結果を黒、白、グレーの3種類で表している。黒は「路面」、白は「白線」、グレーは「不定」の分類結果にそれぞれ対応する。ここで、図10の画像1001において白線に対応する各画素は、図11の分類画像1101ではほとんどが「白線」に分類されているが、一部の画素については草むらの影が重なったために部分的に「不定」に分類されていることが分かる。また、図10の画像1001において路面に対応する各画素は、図11の分類画像1101では多くの部分が「不定」に分類されていることが分かる。なお、図11では分かりやすさのために画像1001の全領域についての分類結果を分類画像1101として示したが、実際には前述のように処理領域1002内の画素のみを分類すればよい。
【0060】
特徴点候補抽出部205−2は、分類画像1101で示した各画素の分類結果に基づいて、分類画像1101から特徴点候補である立上がり点および立下がり点を抽出する。
【0061】
図12は、特徴点候補抽出部205−2による立上がり点および立下がり点の抽出例を説明する図である。図12では、分類画像1101のうち処理領域1002に対応する部分の一部を抜粋して示している。特徴点候補抽出部205−2は、前述のようにx座標が同一でy座標の差が1の一対の画素を順次選択し、その分類結果が変化する点を立上がり点または立下がり点として抽出する。これにより、たとえば図12に示すにように、x座標値がx1である各画素について、スキャン方向1200に沿って分類結果が変化する点を探索すると、立上がり点1201、立下がり点1202、立下がり点1203が抽出される。立上がり点1201は、分類が「路面」から「白線」へと変化する点である。立下がり点1202は、分類が「白線」から「不定」へと変化する点である。立下がり点1203は、分類が「不定」から「路面」へと変化する点である。なお、立下がり点1202は、白線上の影の部分に対応する。このように、白線と路面の境界だけでなく、白線上の影の部分でも立下がり点が抽出される場合がある。こうして処理領域1002の下端、すなわちy座標が最大となる点までスキャンして抽出された立上がり点と立下がり点が、特徴点の候補としてそれぞれバッファリングされる。
【0062】
分類画像1101のうち処理領域1002の全体に対して、上記のような立上がり点および立下がり点の抽出処理が終了すると、図13のような結果が得られる。図13は、立上がり点および立下がり点の抽出結果の例を示す図である。図13では、分類画像1101のうち処理領域1002内で抽出された立上がり点および立下がり点を、符号1301で示した点に代表される各黒点で表している。
【0063】
特徴点決定部205−3は、分類画像1101から特徴点候補として抽出された各立上がり点および立下がり点の位置関係を区画線規格データ204と照合し、これらの中から特徴点を決定する。たとえば、図12で示した立上がり点1201、立下がり点1202および立下がり点1203について、立上がり点1201と立下がり点1202の位置関係、および、立上がり点1201と立下がり点1203の位置関係を、区画線規格データ204が表す白線の幅(太さ)とそれぞれ照合する。その結果、立上がり点1201と立下がり点1202の間の距離は白線の幅とつじつまが合わないため、この組み合わせは白線の輪郭を表すものとして不適と判断され、立下がり点1202の情報は特徴点情報に記録されない。一方、立上がり点1201と立下がり点1203の間の距離は白線の幅とほぼ一致するため、この組み合わせが白線の輪郭を表すものとして適切と判断され、立下がり点1203の情報が特徴点情報に記録される。なお、ここでは適切と判断された立上がり点と立下がり点の組み合わせのうち、自車両からより近くに位置する立下がり点の情報を特徴点情報に記録しているが、前述のように立上がり点の情報を特徴点情報に記録してもよいし、立上がり点と立下がり点の両方の情報を特徴点情報に記録してもよい。
【0064】
図14は、分類画像1101のうち処理領域1002の全体における特徴点決定結果の例を示す図である。図14では、対応する立上がり点との距離が白線の幅とほぼ一致する立下がり点によって決定された特徴点を、符号1401で示した点に代表される各黒点で表している。
【0065】
以上説明した本発明の第1の実施形態によれば、以下の作用効果を奏する。
【0066】
(1)区画線認識装置1は、カメラ101で撮影された画像から道路上の区画線を認識する装置である。区画線認識装置1は、画像に対して処理領域を設定する処理領域設定部201と、処理領域における画像の統計量を算出する統計量算出部202と、統計量に基づいて複数の閾値、すなわち白線閾値および路面閾値を設定する閾値設定部203と、白線閾値および路面閾値に基づいて画像に含まれる複数の画素を分類し、複数の画素の分類結果に基づいて区画線の特徴点を抽出する区画線特徴点抽出部205と、区画線特徴点抽出部205により抽出された特徴点に基づいて区画線を決定する区画線決定部206と、を備える。このようにしたので、道路上の区画線の認識精度を改善することができる。
【0067】
(2)統計量算出部202は、処理領域における画像の各画素の輝度値の平均値および標準偏差を統計量として算出する(図3のステップ303)。このようにしたので、白線閾値および路面閾値を適切に設定するのに必要な統計量を算出することができる。
【0068】
(3)区画線特徴点抽出部205は、特徴点候補抽出部205−2により、画像に含まれる複数の画素の分類が変化する境界に対応する点を特徴点の候補として抽出する(図5のステップ502〜506)。このようにしたので、分類部205−1が行った画素の分類結果を用いて、適切な点を特徴点の候補として抽出することができる。
【0069】
(4)区画線特徴点抽出部205は、分類部205−1により、画像に含まれる複数の画素を少なくとも3種類に、すなわち「路面」、「白線」、「不定」のいずれかに分類する(図6のステップ601〜606)。このようにしたので、閾値設定部203が設定した複数の閾値を用いて、画像に含まれる複数の画素から特徴点の候補を抽出するのに適した分類とすることができる。
【0070】
(5)区画線特徴点抽出部205は、特徴点候補抽出部205−2により、画像に含まれる複数の画素の分類結果に基づいて複数の特徴点候補を抽出し(図5のステップ502〜506)、特徴点決定部205−3により、抽出した複数の特徴点候補同士の位置関係に基づいて、特徴点候補から特徴点を決定する(図7のステップ701〜707)。このようにしたので、画像から抽出された特徴点候補の中で白線の輪郭を表すものとして確からしい点を特徴点に決定することができる。
【0071】
(第2の実施形態)
次に本発明の第2の実施形態について説明する。本実施形態では、時系列で撮影された複数の画像を用いて道路上の区画線を認識する例を説明する。なお、本実施形態に係る区画線認識装置のハードウェア構成および機能構成は、第1の実施形態で説明したものとそれぞれ同一であるため、以下ではこれらの説明を省略する。
【0072】
図15は、本発明の第2の実施形態に係る区画線認識装置の処理フローを示す図である。本実施形態の区画線認識装置1において、CPU104は、図3のステップ305の処理に続けて、図15に示す処理フローを実行する。この処理フローでは、過去に取得した画像を統計処理することで、「路面」、「白線」、「不定」の各分類が出現しやすい画素を特定し、現フレームの分類結果と照合することで、現フレームの分類結果が確からしいか否かを判断する。
【0073】
ステップ1501では、統計量算出部202により、過去に取得した複数の画像における各画素の輝度の偏差値を求める。ここでは、区画線認識装置1が搭載されている車両が過去に走行した所定距離分、たとえば過去10m分の全フレームを対象に、各画素の輝度の偏差値をフレームごとに求める。各画素の輝度の偏差値は、当該フレームで設定された処理領域内の各画素の輝度値から計算した平均値と標準偏差を用いて、たとえば以下の式により算出することができる。
偏差値=(輝度値−平均値)/標準偏差
【0074】
ステップ1502では、統計量算出部202により、ステップ1501でフレームごとに求めた各画素の輝度の偏差値を用いて、各画素の偏差値平均を算出する。ここでは、ステップ1501で各画素の輝度の偏差値を求めた過去10m分の全フレームを対象に、その全フレームにおける輝度の偏差値を画素ごとに平均化することで、各画素の偏差値平均を算出する。
【0075】
ステップ1503では、統計量算出部202により、ステップ1502で算出した各画素の偏差値平均を用いて、過去に取得した複数の画像における各画素の輝度値を正規化する。ここでは、過去10m分の全フレームで各画素の輝度値がとり得る値の範囲に応じて、各画素の輝度値を正規化する。これにより、たとえば0〜255の範囲内で、過去10m分の全フレームにおける各画素の輝度値が正規化される。以降の処理では、こうして正規化された各画素の輝度値を用いて、白線閾値と路面閾値の設定を行う。
【0076】
ステップ1504では、統計量算出部202により、ステップ1503で輝度値を正規化した過去10m分の全フレームに対して、現フレームの処理領域を当てはめる。そして、その処理領域内に含まれる複数の画素について、ステップ1503で求めた正規化輝度値の平均と標準偏差を求める。これにより、カメラ101で異なる時刻にそれぞれ撮影された複数の画像を用いて、処理領域における画像の統計量が算出される。
【0077】
ステップ1505では、閾値設定部203により、ステップ1504で求めた正規化輝度値の統計量、すなわち平均と標準偏差を用いて、白線閾値および路面閾値を設定する。ここでは、各画素の正規化輝度値の平均と標準偏差に基づいて、第1の実施形態で説明したのと同様の方法により、正規化輝度値に対する白線閾値および路面閾値を設定する。
【0078】
ステップ1506では、区画線特徴点抽出部205により、ステップ1504で設定した白線閾値および路面閾値を用いて、過去10m分の全フレームにおける処理領域内の各画素を正規化分類する。ここでは、分類部205−1において、ステップ1503で求めた処理領域内の各画素の正規化輝度値を用いて、第1の実施形態で説明した図6のステップ601〜606と同様の処理を行うことにより、各画素を「路面」、「白線」、「不定」のいずれかに分類する。
【0079】
以上説明したステップ1501〜1506の処理により、車両が過去に走行した所定距離分のフレームについて、現フレームと同様の分類結果を各画素の正規化分類結果として得ることができる。以降の処理では、この正規化分類結果を現フレームで抽出された各特徴点の分類結果と比較することで、各特徴点が信用できるか否かを判断する。
【0080】
ステップ1507〜1510では、特徴点決定部205−3により、現フレームで抽出された各特徴点について、以下の処理をそれぞれ行う。
【0081】
ステップ1507では、処理対象の特徴点の座標と分類を得る。ここでは、図7の処理によって最終的に得られた特徴点情報を図9の特徴点バッファから取得し、その特徴点情報のうち処理対象の特徴点に対応するものを抽出することで、当該特徴点の座標と分類を取得する。
【0082】
ステップ1508では、ステップ1507で取得した現フレームの特徴点の座標に基づいて、同じ座標における正規化分類を得る。ここでは、ステップ1506で得られた正規化分類結果のうち、現フレームの特徴点の座標に対応するものを選択して取得する。
【0083】
ステップ1509では、ステップ1507で取得した現フレームの特徴点の分類と、ステップ1508で取得した正規化分類とを比較する。その結果、両者の分類が異なっていれば、ステップ1510で当該特徴点の情報を特徴点バッファから削除した後、ステップ1507に戻って次の特徴点を対象とした処理に移る。一方、ステップ1509で両者の分類が同じと判断された場合は、何もせずにステップ1507に戻ることで、当該特徴点の情報を特徴点バッファに残して、次の特徴点を対象とした処理に移る。
【0084】
ステップ1507〜1510では、上記のような処理を現フレームから抽出された各特徴点に対して実行することで、各特徴点の分類結果を過去のフレームと比較する。これにより、画像上の各座標においてどの分類が出現しやすいかの傾向が分かり、その傾向とは異なる特徴点が現フレームから抽出された場合は、それをノイズとして除去することが可能となる。
【0085】
以上説明した本発明の第2の実施形態によれば、第1の実施形態で説明した(1)〜(5)の各作用効果に加えて、さらに以下の作用効果を奏する。
【0086】
(6)区画線特徴点抽出部205は、カメラ101で異なる時刻に撮影された複数の画像にそれぞれ含まれる複数の画素を分類し、複数の画像の対応する画素間で同一の分類結果が得られた場合に、当該画素の分類結果を用いて区画線の特徴点を抽出する。具体的には、統計量算出部202は、過去の複数の画像について統計量を算出する(図15のステップ1501〜1504)。区画線特徴点抽出部205は、統計量算出部202が算出した統計量に基づいて過去の複数の画像に含まれる複数の画素を分類し(ステップ1506)、その分類結果と、過去の複数の画像よりも後にカメラ101で撮影された現フレームの画像に含まれる複数の画素を分類した結果とを比較する(ステップ1507〜1509)。その結果、対応する画素間で同一の分類結果が得られた場合に(ステップ1509:Yes)、当該画素の情報を特徴点バッファから削除せずに残すことで、当該画素の分類結果を用いて区画線の特徴点を抽出する。このようにしたので、過去に撮影された画像を用いて、現フレームから区画線の特徴点をより正確に抽出することができる。
【0087】
なお、以上説明した実施形態では、車両に搭載される区画線認識装置1を例として説明したが、本発明はこれに限定されない。たとえば、車両に搭載されたカメラで撮影された画像をサーバに送信し、その画像をサーバにおいて受信して道路上の区画線を認識する場合にも、本発明を適用可能である。この場合、車両に搭載されていないサーバが本発明の区画線認識装置として機能することになる。これ以外にも、任意の形態により本発明を実現可能である。
【0088】
また、以上説明した実施形態では、CPU104がプログラムを実行することで区画線認識装置1の機能を実現しているが、本発明はこれに限定されない。たとえば、FPGA(Field-Programmable Gate Array)を用いて区画線認識装置1の一部または全部の機能を実現してもよい。これ以外にも、任意のハードウェア構成により本発明の区画線認識装置を実現することが可能である。
【0089】
以上説明した実施形態では、白線閾値および路面閾値を用いることで画像内の各画素を「路面」、「白線」、「不定」のいずれかに分類する例を説明したが、本発明はこれに限定されない。画像内の各画素を少なくとも2種類、好ましくは3種類以上に分類できるものであれば、任意の数で閾値を設定し、その閾値に応じて画像内の各画素を任意の分類数に分類することが可能である。
【0090】
以上説明した実施形態や各種の変形例はあくまで一例である。本発明の特徴を損なわない限り、本発明は上記実施の形態に限定されるものではなく、本発明の技術的思想の範囲内で考えられるその他の形態についても、本発明の範囲内に含まれる。
【符号の説明】
【0091】
1:区画線認識装置
101:カメラ
103:記憶装置
104:CPU
105:メモリ
106:CAN I/F
107:CANバス
108:車両制御ユニット
201:処理領域設定部
202:統計量算出部
203:閾値設定部
204:区画線規格データ
205:区画線特徴点抽出部
206:区画線決定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17