JP2013206067A - 直線検出装置、直線検出方法及び直線検出プログラム - Google Patents
直線検出装置、直線検出方法及び直線検出プログラム Download PDFInfo
- Publication number
- JP2013206067A JP2013206067A JP2012073629A JP2012073629A JP2013206067A JP 2013206067 A JP2013206067 A JP 2013206067A JP 2012073629 A JP2012073629 A JP 2012073629A JP 2012073629 A JP2012073629 A JP 2012073629A JP 2013206067 A JP2013206067 A JP 2013206067A
- Authority
- JP
- Japan
- Prior art keywords
- straight line
- input image
- angle
- edge
- detected
- 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
Links
Images
Landscapes
- Traffic Control Systems (AREA)
- Image Analysis (AREA)
Abstract
【課題】車線等の直線の検出を高精度に行なうことを課題とする。
【解決手段】直線検出装置は、入力画像のエッジを検出し、エッジが検出された入力画像を二値化する。また、直線検出装置は、二値化された入力画像の中央付近における鉛直線上の少なくとも任意の2つの位置のそれぞれから、鉛直線と交差する第1方向に、エッジとして画素値が変化する変化点を検出して、2つの位置のそれぞれで第1方向で検出された2つの点を結ぶ第1直線と、所定の直線とのなす角度である第1の推定角度を推定する。また、直線検出装置は、第1の推定角度を含む所定の角度範囲に制限してハフ変換を実行し、入力画像に含まれる直線を検出する。
【選択図】図1
【解決手段】直線検出装置は、入力画像のエッジを検出し、エッジが検出された入力画像を二値化する。また、直線検出装置は、二値化された入力画像の中央付近における鉛直線上の少なくとも任意の2つの位置のそれぞれから、鉛直線と交差する第1方向に、エッジとして画素値が変化する変化点を検出して、2つの位置のそれぞれで第1方向で検出された2つの点を結ぶ第1直線と、所定の直線とのなす角度である第1の推定角度を推定する。また、直線検出装置は、第1の推定角度を含む所定の角度範囲に制限してハフ変換を実行し、入力画像に含まれる直線を検出する。
【選択図】図1
Description
本発明は、直線検出装置、直線検出方法及び直線検出プログラムに関する。
従来、自動車等の車両が安全に走行できるように、車線逸脱警報(LDW:Lane Departure Warning)と呼ばれる技術がある。かかる車線逸脱警報は、車両が走行する車道の車線から逸脱することを検出し、事前に警報を発するものである。すなわち、車線逸脱警報は、車両を運転する運転者が眠気を催した時や注意散漫な状態である時に、車両がふらつくことを起因とした事故を防止するために運転者に注意喚起することを目的としている。
また、車線から車両が逸脱することを検出するためには、例えば、自車両が走行する車道の車線を認識することが行なわれる。車線を認識するための技術としては、自車両が走行する車線の形状パターンと、予め保持されたテンプレートの形状パターンとをマッチングする手法や、直線である車線を検出可能なハフ変換を応用した手法等がある。
これらのうち、テンプレートの形状パターンを利用してマッチングを行なう技術は、予め保持するテンプレートの形状パターンの量が膨大になるため、記憶容量が増大するとともに、マッチングに要する処理時間も増大するので好ましくない。そこで、ハフ変換を利用した技術として、特許文献1(特開平5−347000号公報)では、ハフ変換から求められる(θ,ρ)(θ:角度,ρ:距離)の組み合わせを過去の(θ,ρ)の移動量を用いて制約をかけることで演算量を削減する技術が開示されている。
しかしながら、従来技術では、車線等の直線の検出において、誤検出してしまう可能性があるという問題がある。具体的には、ハフ変換を利用した従来技術では、ガードレール等の直線が車線の傍に存在する場合に、車線の汚れ等により実際の車線が検出されずに、ガードレールを車線として誤検出してしまい、この誤検出を維持してしまう可能性がある。
本発明は、上記に鑑みてなされたものであって、車線等の直線の検出を高精度に行なうことが可能である直線検出装置、直線検出方法及び直線検出プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明に係る直線検出装置は、入力画像のエッジを検出するエッジ検出部と、エッジが検出された前記入力画像を二値化する二値化部と、二値化された前記入力画像の中央付近における鉛直線上の少なくとも任意の2つの位置のそれぞれから、前記鉛直線と交差する第1方向に、前記エッジとして画素値が変化する変化点を検出して、前記2つの位置のそれぞれで前記第1方向で検出された2つの点を結ぶ第1直線と、所定の直線とのなす角度である第1の推定角度を推定する角度推定部と、前記第1の推定角度を含む所定の角度範囲に制限してハフ変換を実行し、前記入力画像に含まれる直線を検出するハフ変換部とを有する。
また、本発明に係る直線検出方法は、入力画像のエッジを検出するエッジ検出ステップと、エッジが検出された前記入力画像を二値化する二値化ステップと、二値化された前記入力画像の中央付近における鉛直線上の少なくとも任意の2つの位置のそれぞれから、前記鉛直線と交差する第1方向に、前記エッジとして画素値が変化する変化点を検出して、前記2つの位置のそれぞれで前記第1方向で検出された2つの点を結ぶ第1直線と、所定の直線とのなす角度である第1の推定角度を推定する角度推定ステップと、前記第1の推定角度を含む所定の角度範囲に制限してハフ変換を実行し、前記入力画像に含まれる直線を検出するハフ変換ステップとを含む。
また、本発明に係る直線検出プログラムは、入力画像のエッジを検出するエッジ検出機能と、エッジが検出された前記入力画像を二値化する二値化機能と、二値化された前記入力画像の中央付近における鉛直線上の少なくとも任意の2つの位置のそれぞれから、前記鉛直線と交差する第1方向に、前記エッジとして画素値が変化する変化点を検出して、前記2つの位置のそれぞれで前記第1方向で検出された2つの点を結ぶ第1直線と、所定の直線とのなす角度である第1の推定角度を推定する角度推定機能と、前記第1の推定角度を含む所定の角度範囲に制限してハフ変換を実行し、前記入力画像に含まれる直線を検出するハフ変換機能とをコンピュータに実現させる。
本発明の一つの様態によれば、車線等の直線の検出を高精度に行なうことができるという効果を奏する。
以下に添付図面を参照して、本発明に係る直線検出装置、直線検出方法及び直線検出プログラムの実施の形態を説明する。なお、以下の実施の形態により本発明が限定されるものではない。
(実施の形態1)
[実施の形態1に係る直線検出装置の構成]
図1を用いて、実施の形態1に係る直線検出装置の構成を説明する。図1は、実施の形態1に係る直線検出装置の構成例を示す図である。例えば、図1に示すように、直線検出装置100は、エッジ検出部110と、二値化部120と、角度推定部130と、ハフ変換部140とを有し、入力画像に含まれる特定の直線を検出する。なお、本実施の形態では、直線検出装置100を車載装置に適用し、車載カメラの動画撮像による1フレームを入力画像として、該入力画像に含まれる特定の車線を検出する場合を例に挙げて説明する。
[実施の形態1に係る直線検出装置の構成]
図1を用いて、実施の形態1に係る直線検出装置の構成を説明する。図1は、実施の形態1に係る直線検出装置の構成例を示す図である。例えば、図1に示すように、直線検出装置100は、エッジ検出部110と、二値化部120と、角度推定部130と、ハフ変換部140とを有し、入力画像に含まれる特定の直線を検出する。なお、本実施の形態では、直線検出装置100を車載装置に適用し、車載カメラの動画撮像による1フレームを入力画像として、該入力画像に含まれる特定の車線を検出する場合を例に挙げて説明する。
エッジ検出部110は、入力画像のエッジを検出する。例えば、エッジ検出部110は、車載カメラ等によって撮像された入力画像を受け付ける。図2は、入力画像の例を示す図である。図2に示すように、入力画像には、自車両が走行する車道の車線(車線10及び車線20)と、他車両と、該他車両が走行する車道の車線(車線20及び車線30)と、ガードレールとが含まれている。
そして、エッジ検出部110は、受け付けた入力画像に対して、ゾーベル(Sobel)フィルタ等の微分処理を施すことによりエッジを検出する。図3は、エッジが検出された入力画像の例を示すイメージ図である。図3に示すように、エッジ検出を施された入力画像は、車線10、車線20、車線30、ガードレール及び他車両等の輪郭それぞれがエッジとして検出されたものとなる。
二値化部120は、エッジが検出された入力画像を二値化する。例えば、二値化部120は、エッジ検出部110によって検出されたエッジのエッジ信号について、可変閾値処理等を行ない、車線の画素値(例えば、輝度等)が二値化後に「1」となるように二値化する。かかる可変閾値処理とは、室内における照明や屋外における日照等の条件が好ましくない画像に対して有用な処理であり、閾値を適宜変更しつつ画像を二値化する処理である。すなわち、本実施の形態では、日照の条件に加えて、検出したい車線(白線や黄線)等に応じて、車線の画素値(輝度)が二値化後に「1」となるように、可変閾値処理を適用した二値化を行なう。
角度推定部130は、二値化部120によって二値化された入力画像の中央付近における中心線上の少なくとも任意の2つの位置のそれぞれから、中心線と交差する左右方向に画素値を検出し、検出した画素値をメモリに記録する。ここで、中央付近とは、例えば、入力画像の左端又は右端から水平に入力画像の中央に向かったときの、2/5〜3/5程度の距離の範囲を指す。よって、中央付近における中心線とは、例えば、入力画像の左右方向のほぼ中心に位置する鉛直方向の線(鉛直線)を指す。なお、中心線と交差する左右方向は、鉛直線と交差する第1方向(例えば、左方向)、第2方向(例えば、右方向)の一例である。また、第1方向は左方向に限定されるものではなく、第2方向は右方向に限定されるものではなく、第1方向と該第1方向とは逆の第2方向とで、左右何れかの方向であれば良い。
例えば、角度推定部130は、2つの位置を「位置A」及び「位置B」とすると、「位置A」から左方向に検出した画素値、「位置A」から右方向に検出した画素値、「位置B」から左方向に検出した画素値、「位置B」から右方向に検出した画素値の少なくとも4つの画素値を、1フレームの入力画像それぞれに応じてメモリに記録する。2つの位置は、車線を検出するのに好適な位置とする。なお、車線を検出するのに好適な位置の詳細については後述する。
また、入力画像は所定フレームごとに入力され、角度推定部130は、メモリに記録された複数の入力画像に対する画素値について、直近の入力画像ほど重み付けをより大きくした画素値の和を求め、求めた和の勾配(変化点)を検出する。詳細には、角度推定部130は、勾配の検出により、画素値の和の値が下がり始めた点を検出する。この検出により、角度推定部130は、入力画像の「位置A」又は「位置B」から左右方向それぞれにおいて少なくとも2点、すなわち左方向で2点、右方向で2点の少なくとも4点を検出することになる。その後、角度推定部130は、左方向又は右方向で各々検出した点を結ぶ2直線と、入力画像の左右水平方向、すなわち中心線に垂直な線等の所定の直線とのなす角度を推定する。なお、2直線は、中心線から左右何れかの方向で検出された2点各々を結ぶ第1直線、第2直線の一例である。また、上記第1方向と上記所定の直線とのなす角度は、第1の推定角度の一例であり、上記第2方向と上記所定の直線とのなす角度は、第2の推定角度の一例である。
つまり、中心線から左右方向に画素値の変化点を検出することで、自車両が走行する車道の両車線を検出することができる。これらにより、角度推定部130は、二値化された入力画像に含まれる直線のうち、自車両が走行する車道の車線に相当する2直線と、入力画像の左右水平方向の線(所定の直線)とのなす角度それぞれである第1の推定角度及び第2の推定角度を推定する。なお、自車両が走行する車道の車線に相当する2直線と、左右水平方向の線とのなす角度を推定することは一例であり、自車両が走行する車道の車線に相当する2直線と、他の線とのなす角度を推定するようにしても良い。
ここで、図4及び図5を用いて、角度推定部130による処理の詳細を説明する。図4は、画素値の変化点を検出する処理を説明する図である。図5は、画素値を記録するメモリの例を示す図である。なお、図4に示す長二点鎖線は、上述した中心線を表し、「L0(Line0)」又は「L2(Line2)」に対応する一点鎖線は、上述した「位置A」又は「位置B」を含むラインを表している。また、この一点鎖線の矢印は、中心線上の「位置A」又は「位置B」から、各ラインの矢印方向(左右方向)に画素値を検出することを表している。
例えば、図4に示すように、角度推定部130は、二値化された入力画像の中心線上で且つライン「L0」上の「位置A」から左方向に画素値の勾配を検出する。これにより、角度推定部130は、ライン「L0」の左方向に応じた画素値のメモリ(L0)において値が下がり始めた箇所「P」を検出する。同様に、角度推定部130は、二値化された入力画像の中心線上で且つライン「L0」上の「位置A」から右方向に画素値の勾配を検出する。これにより、角度推定部130は、ライン「L0」の右方向に応じた画素値のメモリ(L0)において値が下がり始めた箇所「R」を検出する。
また、図4に示すように、角度推定部130は、二値化された入力画像の中心線上で且つライン「L2」上の「位置B」から左方向に画素値の勾配を検出する。これにより、角度推定部130は、ライン「L2」の左方向に応じた画素値のメモリ(L2)において値が下がり始めた箇所「Q」を検出する。同様に、角度推定部130は、二値化された入力画像の中心線上で且つライン「L2」上の「位置B」から右方向に応じた画素値の勾配を検出する。これにより、角度推定部130は、ライン「L2」の右方向に応じた画素値のメモリ(L2)において値が下がり始めた箇所「S」を検出する。
これらの後、角度推定部130は、検出した箇所「P」及び「Q」を結ぶ直線と、中心線に垂直な線とのなす角度を求める。同様に、角度推定部130は、検出した箇所「R」及び「S」を結ぶ直線と、中心線に垂直な線とのなす角度を求める。例えば、「P」、「Q」、「R」及び「S」の入力画像における(x,y)座標をそれぞれ(P.x,P.y)、(Q.x,Q.y)、(R.x,R.y)及び(S.x,S.y)とする。これらの座標を例に挙げると、「P」及び「Q」を結ぶ直線の傾きは、「(Q.x−P.x)/(Q.y−P.y)」となり、この傾きから「P」及び「Q」を結ぶ直線の角度が求められる。また、「R」及び「S」を結ぶ直線の傾きは、「(S.x−R.x)/(S.y−R.y)」となり、この傾きから「R」及び「S」を結ぶ直線の角度が求められる。
また、メモリには、図5に示すように、複数フレームにおける画素値「1」又は「0」が記録されている。図5に示す例では、現在の時刻「n」と、時刻「n」に対して過去の時刻のうち直近の時刻「n−1」、「n−2」及び「n−3」との4フレーム(「fr(n)」,「fr(n−1)」,「fr(n−2)」,「fr(n−3)」)における画素値が記録されている。なお、各時刻(各フレーム)における画素値は、車両の走行によって左右に若干ぶれが生じるため、異なるフレーム間における同一座標の画素値それぞれにずれが生じている。このようなメモリを利用して、角度推定部130は、直近のフレームにおける画素値ほど重み付けをより大きくしたうえで画素値の総和を求め、求めた総和における勾配を検出することにより、変化点を検出する。
例えば、時刻「n」におけるフレーム「fr(n)」の画素値に対する重み「N」を「3」、時刻「n−1」におけるフレーム「fr(n−1)」の画素値に対する重み「M」を「3」とする。加えて、時刻「n−2」におけるフレーム「fr(n−2)」の画素値に対する重み「L」を「2」、時刻「n−3」におけるフレーム「fr(n−3)」の画素値に対する重み「K」を「1」とする。これらの重みを例に挙げると、「fr(n)」、「fr(n−1)」、「fr(n−2)」及び「fr(n−3)」それぞれの画素値が「1」、「0」、「1」及び「1」である場合には、重み付けを行なった画素値の総和「1×1+0×2+1×3+1×3=7」が算出される。4フレームを利用して重み付けを行なった画素値の総和は、「fr(n)×N+fr(n−1)×M+fr(n−2)×L+fr(n−3)×K」の式により算出される。
上記算出が行なわれた後、角度推定部130は、画素値の総和「・・・,0,1,7,9,9,8,2,0,・・・」を利用して、値が下がり始めた「9」(2つの「9」のうちの何れかで左右方向の探索により異なる)に対応する点(変化点)を検出する。また、これらの点(変化点)の検出は左右方向で少なくとも2点ずつ行なわれ、その後、検出された点(変化点)を結ぶ2直線と、中心線に垂直な線とのなす角度が求められることになる。なお、角度推定部130によって求められた角度それぞれは、実際の車線に対する角度に近傍の値となる可能性が高いことから、車線のハフ変換算出結果の角度に近似するはずである。よって、角度推定部130によって求められた角度それぞれは、推定角度として、この推定角度を含む所定の角度範囲に制限(例えば、推定角度±α)して行なう、後述のハフ変換に利用される。
図1の説明に戻り、ハフ変換部140は、推定角度を含む所定の角度範囲に制限したハフ変換を実行し、入力画像に含まれる直線を検出する。例えば、ハフ変換部140は、角度推定部130によって推定された推定角度を含む所定の角度範囲(推定角度±α)に制限して、ハフ変換を実行することにより、入力画像に含まれる車線10及び車線20を検出する。ここで、右方向にある車線10の角度が「90≦θ<180」、左方向にある車線20の角度が「0<≦90」であるため、ハフ変換部140は、左方向と右方向とで独立してハフ変換を実行することにより、さらに、より高速で且つ精度の良い車線検出を行なうことができる。
[車線を検出するのに好適な位置]
次に、図6A〜図6Hを用いて、上述した車線を検出するのに好適な位置について説明する。図6A〜図6Hは、4ラインで画素値を検出したときの利用ラインの決定の例について説明する図である。なお、図6A〜図6Hでは、4ラインそれぞれを入力画像の上側の位置から順に「L0(Line0)」、「L1(Line1)」、「L2(Line2)」及び「L3(Line3)」として表している。
次に、図6A〜図6Hを用いて、上述した車線を検出するのに好適な位置について説明する。図6A〜図6Hは、4ラインで画素値を検出したときの利用ラインの決定の例について説明する図である。なお、図6A〜図6Hでは、4ラインそれぞれを入力画像の上側の位置から順に「L0(Line0)」、「L1(Line1)」、「L2(Line2)」及び「L3(Line3)」として表している。
図6Aに示す例において、角度推定部130は、中心線上の任意の位置から画素値を探索し、「L1」、「L2」及び「L3」を結ぶ直線(車線)が存在する場合に、車線上で最も離れた点を含むライン「L1」及び「L3」の画素値を、複数フレームでの変化点検出に利用する。
また、図6Bに示す例において、角度推定部130は、中心線上の任意の位置から画素値を探索し、「L0」、「L2」及び「L3」を結ぶ直線(車線)が存在する場合に、車線上で最も離れた点を含むライン「L0」及び「L3」の画素値を、複数フレームでの変化点検出に利用する。
また、図6Cに示す例において、角度推定部130は、中心線上の任意の位置から画素値を探索し、「L0」、「L1」及び「L3」を結ぶ直線(車線)が存在する場合に、車線上で最も離れた点を含むライン「L0」及び「L3」の画素値を、複数フレームでの変化点検出に利用する。
また、図6Dに示す例において、角度推定部130は、中心線上の任意の位置から画素値を探索し、「L0」、「L1」及び「L2」を結ぶ直線(車線)が存在する場合に、車線上で最も離れた点を含むライン「L0」及び「L2」の画素値を、複数フレームでの変化点検出に利用する。
また、図6Eに示す例において、角度推定部130は、中心線上の任意の位置から画素値を探索し、「L1」、「L2」及び「L3」を結ぶ直線(車線)が存在する場合に、車線上で最も離れた点を含むライン「L1」及び「L3」の画素値を、複数フレームでの変化点検出に利用する。
また、図6Fに示す例において、角度推定部130は、中心線上の任意の位置から画素値を探索し、「L0」、「L2」及び「L3」を結ぶ直線(車線)が存在する場合に、車線上で最も離れた点を含むライン「L0」及び「L3」の画素値を、複数フレームでの変化点検出に利用する。
また、図6Gに示す例において、角度推定部130は、中心線上の任意の位置から画素値を探索し、「L0」、「L1」及び「L3」を結ぶ直線(車線)が存在する場合に、車線上で最も離れた点を含むライン「L0」及び「L3」の画素値を、複数フレームでの変化点検出に利用する。
また、図6Hに示す例において、角度推定部130は、中心線上の任意の位置から画素値を探索し、「L0」、「L1」及び「L2」を結ぶ直線(車線)が存在する場合に、車線上で最も離れた点を含むライン「L0」及び「L2」の画素値を、複数フレームでの変化点検出に利用する。
すなわち、車線は、入力画像の上方向に向かって続いているものの、交差点や車線の状況によっては二値データに反映されていない場合があるため、より多くの点を含む直線上にあり、且つ、なるべく離れた位置に存在する2点を含むラインを変化点の検出に利用する。この結果、直線検出装置100は、信頼性の高い直線検出を行なうことができる。なお、図4に示したライン「L0」及び「L2」は、図6D又は図6Hの一例となる。
[実施の形態1に係る直線検出処理フロー]
次に、図7を用いて、実施の形態1に係る直線検出処理の流れについて説明する。図7は、実施の形態1に係る直線検出処理の流れの例を示すフローチャートである。
次に、図7を用いて、実施の形態1に係る直線検出処理の流れについて説明する。図7は、実施の形態1に係る直線検出処理の流れの例を示すフローチャートである。
例えば、図7に示すように、エッジ検出部110は、車載カメラ等によって撮像された入力画像が入力された場合に(ステップS101肯定)、入力画像に対してゾーベルフィルタ等の微分処理を施すことによりエッジを検出する(ステップS102)。一方、エッジ検出部110は、入力画像が入力されていない場合に(ステップS101否定)、入力画像の入力待ちの状態となる。かかる入力画像は、例えば、撮像動画の1フレームであり、直線検出装置100に順次入力される。また、二値化部120は、エッジ検出部110によって検出された入力画像のエッジのエッジ信号について、可変閾値処理等を行ない、車線の画素値が二値化後に「1」となるように二値化を行なう(ステップS103)。
また、角度推定部130は、二値化部120によって二値化された入力画像の中央付近の中心線上の少なくとも任意の2つの位置のそれぞれから、中心線と交差する左右方向に、画素値が変化する変化点を検出し、検出した点を結ぶ2直線と、中心線に垂直な線とのなす角度を求めることにより、推定角度を導出する(ステップS104)。このとき、角度推定部130は、経時に入力される複数の入力画像のうち、直近の入力画像を複数利用して、直近の入力画像ほど重み付けをより大きくした画素値の和を求め、求めた和の勾配(変化点)を検出する。また、ハフ変換部140は、角度推定部130によって推定された推定角度を含む所定の角度範囲(推定角度±α)に制限してハフ変換を実行することにより、入力画像に含まれる車線を検出する(ステップS105)。このように、ハフ変換において、変換前の各点を通る一連の直線を、角度を変えながらハフ空間にプロットする際の角度に制限を設けることができる。
[実施の形態1による効果]
上述したように、直線検出装置100は、入力画像のエッジを検出し、エッジを検出した入力画像を二値化する。そして、直線検出装置100は、二値化した入力画像の中央付近における中心線上の少なくとも任意の2つの位置のそれぞれから、中心線と交差する左右方向に画素値を検出したときの画素値の変化点を、左右方向それぞれについて検出する。続いて、直線検出装置100は、検出した変化点を結ぶ2直線と、所定の直線とのなす角度を推定する。その後、直線検出装置100は、推定された左右方向での角度を含む所定の角度範囲に制限してハフ変換を実行することにより、入力画像に含まれる直線を検出する。これらの結果、直線検出装置100は、車線等の直線の検出を高精度に行なうことができる。換言すると、直線検出装置100は、直線検出を行なうハフ変換で利用する角度を推定する場合に、中心線上の任意の2つの位置から左右方向に画素値を探索したときにはじめて検出される点を結ぶ直線と、所定の直線とのなす角度を推定し、推定した推定角度を含む所定の角度範囲(推定角度±α)に制限してハフ変換を実行するので、車線等の直線の検出を高速に且つ高精度に行なうことができる。
上述したように、直線検出装置100は、入力画像のエッジを検出し、エッジを検出した入力画像を二値化する。そして、直線検出装置100は、二値化した入力画像の中央付近における中心線上の少なくとも任意の2つの位置のそれぞれから、中心線と交差する左右方向に画素値を検出したときの画素値の変化点を、左右方向それぞれについて検出する。続いて、直線検出装置100は、検出した変化点を結ぶ2直線と、所定の直線とのなす角度を推定する。その後、直線検出装置100は、推定された左右方向での角度を含む所定の角度範囲に制限してハフ変換を実行することにより、入力画像に含まれる直線を検出する。これらの結果、直線検出装置100は、車線等の直線の検出を高精度に行なうことができる。換言すると、直線検出装置100は、直線検出を行なうハフ変換で利用する角度を推定する場合に、中心線上の任意の2つの位置から左右方向に画素値を探索したときにはじめて検出される点を結ぶ直線と、所定の直線とのなす角度を推定し、推定した推定角度を含む所定の角度範囲(推定角度±α)に制限してハフ変換を実行するので、車線等の直線の検出を高速に且つ高精度に行なうことができる。
(実施の形態2)
さて、これまで本発明に係る直線検出装置100の実施の形態について説明したが、上述した実施の形態以外にも種々の異なる形態にて実施されてよいものである。そこで、(1)ノイズの除去、(2)直線の信頼性、(3)構成、(4)プログラム、について異なる実施の形態を説明する。
さて、これまで本発明に係る直線検出装置100の実施の形態について説明したが、上述した実施の形態以外にも種々の異なる形態にて実施されてよいものである。そこで、(1)ノイズの除去、(2)直線の信頼性、(3)構成、(4)プログラム、について異なる実施の形態を説明する。
(1)ノイズの除去
上記実施の形態では、エッジ検出後に二値化された入力画像の画素値を探索することにより変化点を検出する場合を説明したが、二値化された入力画像に対してローパスフィルタ等を適用した後に入力画像の画素値を検出しても良い。この結果、直線検出装置100は、ローパスフィルタを適用することにより、ノイズ成分を除去することができるので、車線等の直線の検出をより高精度に行なうことができる。
上記実施の形態では、エッジ検出後に二値化された入力画像の画素値を探索することにより変化点を検出する場合を説明したが、二値化された入力画像に対してローパスフィルタ等を適用した後に入力画像の画素値を検出しても良い。この結果、直線検出装置100は、ローパスフィルタを適用することにより、ノイズ成分を除去することができるので、車線等の直線の検出をより高精度に行なうことができる。
(2)直線の信頼性
また、上記実施の形態では、検出した変化点を結ぶ直線と中心線に垂直な線とのなす角度を求め、求めた角度を推定角度としてハフ変換時の角度制限に利用する場合を説明したが、このときの直線の信頼性を判定したうえで、ハフ変換時の角度制限に利用しても良い。例えば、角度推定部130は、入力画像の上下方向の上方向(入力画像の奥)に向かって幅が狭くなる2直線と中心線に垂直な線とのなす角度それぞれを推定角度とする。すなわち、角度推定部130は、求めた角度に基づき、入力画像の奥に向かうほど幅が狭くなる関係性であれば、これら2直線が検出対象の車線であるとして、2直線それぞれと中心線に垂直な線とのなす角度を推定角度としてハフ変換に利用する。
また、上記実施の形態では、検出した変化点を結ぶ直線と中心線に垂直な線とのなす角度を求め、求めた角度を推定角度としてハフ変換時の角度制限に利用する場合を説明したが、このときの直線の信頼性を判定したうえで、ハフ変換時の角度制限に利用しても良い。例えば、角度推定部130は、入力画像の上下方向の上方向(入力画像の奥)に向かって幅が狭くなる2直線と中心線に垂直な線とのなす角度それぞれを推定角度とする。すなわち、角度推定部130は、求めた角度に基づき、入力画像の奥に向かうほど幅が狭くなる関係性であれば、これら2直線が検出対象の車線であるとして、2直線それぞれと中心線に垂直な線とのなす角度を推定角度としてハフ変換に利用する。
また、この他、検出された直線(車線)の幅が法定の車線幅と著しく異なる場合に、誤検出であると判定し、検出した直線を車線としてみなさないようにしても良い。また、誤検出であった場合には、再度検出をやり直して数フレーム間で安定して検出できた直線を検出結果とする。若しくは、誤検出であった場合には、誤検出した該当フレームを以降の検出では利用しないようにしても良い。なお、法定の車線幅と著しく異なるものを誤検出とする手法は、車線が鎖線である場合に特に有用である。
(3)構成
また、上記文書中や図面中等で示した処理手順、制御手順、具体的名称、各種のデータやパラメタ等を含む情報は、特記する場合を除いて任意に変更することができる。例えば、4フレーム分の画素値をメモリに記録しておき、直近フレームの画素値の重み付けをより大きくして総和を求める場合を説明したが、利用する画素値は4フレーム分のデータに限られるわけではない。
また、上記文書中や図面中等で示した処理手順、制御手順、具体的名称、各種のデータやパラメタ等を含む情報は、特記する場合を除いて任意に変更することができる。例えば、4フレーム分の画素値をメモリに記録しておき、直近フレームの画素値の重み付けをより大きくして総和を求める場合を説明したが、利用する画素値は4フレーム分のデータに限られるわけではない。
また、図示した直線検出装置100の各構成要素は、機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散又は統合の具体的形態は、図示のものに限られず、その全部又は一部を各種の負担や使用状況などに応じて、任意の単位で機能的または物理的に分散又は統合することができる。例えば、角度推定部130を、画素値の変化点を検出する「検出部」と、検出された変化点を結ぶ直線と中心線に垂直な線とのなす角度を推定する「角度推定部」とに分散しても良い。また、上記実施の形態では、直線検出装置100を車載装置に適用する場合を説明したが、車載装置に適用する場合だけでなく、画像に含まれる直線を検出するものであれば何に適用しても構わない。
また、直線検出装置100の構成は、例えば、ハードウェアとして、任意のコンピュータのCPU(Central Processing Unit)、メモリ、その他のLSI(Large Scale Integration)で実現される。同様に、直線検出装置100の構成は、例えば、ソフトウェアとして、メモリにロードされたプログラム等によって実現され得る。上記実施の形態では、これらのハードウェア又はソフトウェアの連携によって実現される機能ブロックとして説明した。すなわち、これらの機能ブロックについては、ハードウェアのみ、ソフトウェアのみ、又は、それらの組み合わせによって種々の形で実現できる。
(4)プログラム
また、本実施の形態の直線検出装置100は、CPU等の制御装置と、ROM(Read Only Memory)やRAM(Random Access Memory)等の記憶装置と、HDD(Hard Disk Drive)、CD(Compact Disc)ドライブ装置等の外部記憶装置と、ディスプレイ装置等の表示装置と、キーボードやマウス等の入力装置を備えており、通常のコンピュータを利用したハードウェア厚生となっている。
また、本実施の形態の直線検出装置100は、CPU等の制御装置と、ROM(Read Only Memory)やRAM(Random Access Memory)等の記憶装置と、HDD(Hard Disk Drive)、CD(Compact Disc)ドライブ装置等の外部記憶装置と、ディスプレイ装置等の表示装置と、キーボードやマウス等の入力装置を備えており、通常のコンピュータを利用したハードウェア厚生となっている。
本実施の形態の直線検出装置100で実行される直線検出プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記憶媒体に記録されて提供される。
また、本実施の形態の直線検出装置100で実行される直線検出プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態の直線検出装置100で実行される直線検出プログラムをインターネット等のネットワーク経由で提供又は配布するように構成しても良い。また、本実施の形態の直線検出プログラムを、ROM等に予め組み込んで提供するように構成しても良い。
本実施の形態の直線検出装置100で実行される直線検出プログラムは、上述した各部(エッジ検出部110、二値化部120、角度推定部130、ハフ変換部140)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記記憶媒体から直線検出プログラムを読み出して実行することにより、上記各部が主記憶装置上にロードされ、エッジ検出部110、二値化部120、角度推定部130、ハフ変換部140が主記憶装置上に生成されるようになっている。
100 直線検出装置
110 エッジ検出部
120 二値化部
130 角度推定部
140 ハフ変換部
110 エッジ検出部
120 二値化部
130 角度推定部
140 ハフ変換部
Claims (9)
- 入力画像のエッジを検出するエッジ検出部と、
エッジが検出された前記入力画像を二値化する二値化部と、
二値化された前記入力画像の中央付近における鉛直線上の少なくとも任意の2つの位置のそれぞれから、前記鉛直線と交差する第1方向に、前記エッジとして画素値が変化する変化点を検出して、前記2つの位置のそれぞれで前記第1方向で検出された2つの点を結ぶ第1直線と、所定の直線とのなす角度である第1の推定角度を推定する角度推定部と、
前記第1の推定角度を含む所定の角度範囲に制限してハフ変換を実行し、前記入力画像に含まれる直線を検出するハフ変換部と
を有することを特徴とする直線検出装置。 - 前記角度推定部は、前記2つの位置のそれぞれから、前記第1方向と逆の第2方向に、前記エッジとして画素値が変化する変化点を検出して、前記2つの位置のそれぞれで前記第2方向で検出された2つの点を結ぶ第2直線と、前記所定の直線とのなす角度である第2の推定角度をさらに推定し、
前記ハフ変換部は、前記第2の推定角度を含む所定の角度範囲に制限したハフ変換をさらに実行し、前記入力画像に含まれる直線を検出することを特徴とする請求項1に記載の直線検出装置。 - 前記入力画像は、所定フレームごとに入力され、
前記角度推定部は、二値化された直近の前記入力画像を複数利用して、直近の前記入力画像ほど重み付けをより大きくした前記画素値の総和を算出し、算出した前記画素値の総和における前記変化点を検出することを特徴とする請求項1又は2に記載の直線検出装置。 - 前記角度推定部は、二値化された前記入力画像に対してノイズ成分を除去するローパスフィルタを備えたことを特徴とする請求項1〜3の何れか一つに記載の直線検出装置。
- 前記角度推定部は、前記鉛直線の所定方向に向かって幅が狭くなる前記第1直線及び前記第2直線と、前記所定の直線とのなす角度である前記第1の推定角度及び前記第2の推定角度を推定することを特徴とする請求項2に記載の直線検出装置。
- 前記角度推定部は、前記鉛直線上で最も離れた前記2つの位置のそれぞれから、前記第1方向及び前記第2方向に前記変化点を検出することを特徴とする請求項2に記載の直線検出装置。
- 前記所定の直線は、前記鉛直線に垂直な線であることを特徴とする請求項1〜6の何れか一つに記載の直線検出装置。
- 入力画像のエッジを検出するエッジ検出ステップと、
エッジが検出された前記入力画像を二値化する二値化ステップと、
二値化された前記入力画像の中央付近における鉛直線上の少なくとも任意の2つの位置のそれぞれから、前記鉛直線と交差する第1方向に、前記エッジとして画素値が変化する変化点を検出して、前記2つの位置のそれぞれで前記第1方向で検出された2つの点を結ぶ第1直線と、所定の直線とのなす角度である第1の推定角度を推定する角度推定ステップと、
前記第1の推定角度を含む所定の角度範囲に制限してハフ変換を実行し、前記入力画像に含まれる直線を検出するハフ変換ステップと
を含むことを特徴とする直線検出方法。 - 入力画像のエッジを検出するエッジ検出機能と、
エッジが検出された前記入力画像を二値化する二値化機能と、
二値化された前記入力画像の中央付近における鉛直線上の少なくとも任意の2つの位置のそれぞれから、前記鉛直線と交差する第1方向に、前記エッジとして画素値が変化する変化点を検出して、前記2つの位置のそれぞれで前記第1方向で検出された2つの点を結ぶ第1直線と、所定の直線とのなす角度である第1の推定角度を推定する角度推定機能と、
前記第1の推定角度を含む所定の角度範囲に制限してハフ変換を実行し、前記入力画像に含まれる直線を検出するハフ変換機能と
をコンピュータに実現させるための直線検出プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012073629A JP2013206067A (ja) | 2012-03-28 | 2012-03-28 | 直線検出装置、直線検出方法及び直線検出プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012073629A JP2013206067A (ja) | 2012-03-28 | 2012-03-28 | 直線検出装置、直線検出方法及び直線検出プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013206067A true JP2013206067A (ja) | 2013-10-07 |
Family
ID=49525094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012073629A Pending JP2013206067A (ja) | 2012-03-28 | 2012-03-28 | 直線検出装置、直線検出方法及び直線検出プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013206067A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140161349A1 (en) * | 2011-07-14 | 2014-06-12 | Megachips Corporation | Straight line detection apparatus and straight line detection method |
CN104992145A (zh) * | 2015-06-15 | 2015-10-21 | 山东大学 | 一种矩采样车道跟踪检测方法 |
CN104077756B (zh) * | 2014-07-16 | 2017-02-08 | 中电海康集团有限公司 | 一种基于车道线置信度的方向滤波方法 |
RU2651176C1 (ru) * | 2016-11-17 | 2018-04-18 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Рязанский государственный радиотехнический университет" | Способ обработки сигналов для обнаружения и определения толщины прямых линий на изображении |
CN108985305A (zh) * | 2018-06-26 | 2018-12-11 | 武汉科技大学 | 一种激光蚀刻工业雷管编码图像定位及校正方法 |
-
2012
- 2012-03-28 JP JP2012073629A patent/JP2013206067A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140161349A1 (en) * | 2011-07-14 | 2014-06-12 | Megachips Corporation | Straight line detection apparatus and straight line detection method |
US9195902B2 (en) * | 2011-07-14 | 2015-11-24 | Megachips Corporation | Straight line detection apparatus and straight line detection method |
CN104077756B (zh) * | 2014-07-16 | 2017-02-08 | 中电海康集团有限公司 | 一种基于车道线置信度的方向滤波方法 |
CN104992145A (zh) * | 2015-06-15 | 2015-10-21 | 山东大学 | 一种矩采样车道跟踪检测方法 |
CN104992145B (zh) * | 2015-06-15 | 2018-01-16 | 山东大学 | 一种矩采样车道跟踪检测方法 |
RU2651176C1 (ru) * | 2016-11-17 | 2018-04-18 | Федеральное государственное бюджетное образовательное учреждение высшего образования "Рязанский государственный радиотехнический университет" | Способ обработки сигналов для обнаружения и определения толщины прямых линий на изображении |
CN108985305A (zh) * | 2018-06-26 | 2018-12-11 | 武汉科技大学 | 一种激光蚀刻工业雷管编码图像定位及校正方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10521676B2 (en) | Lane detection device, lane departure determination device, lane detection method and lane departure determination method | |
JP6657789B2 (ja) | 画像処理装置、撮像装置、機器制御システム、頻度分布画像生成方法、及びプログラム | |
US10755116B2 (en) | Image processing apparatus, imaging apparatus, and device control system | |
US9180814B2 (en) | Vehicle rear left and right side warning apparatus, vehicle rear left and right side warning method, and three-dimensional object detecting device | |
JP5787024B2 (ja) | 立体物検出装置 | |
JP6328369B2 (ja) | 車載用制御装置 | |
CN104376297A (zh) | 道路上的线型指示标志的检测方法和装置 | |
WO2014033936A1 (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
JP2013206067A (ja) | 直線検出装置、直線検出方法及び直線検出プログラム | |
JP2014146326A (ja) | 多車線の検出方法と検出システム | |
JP2013003110A (ja) | 車両状態検出装置 | |
KR101877001B1 (ko) | 가상 라인 생성 방법, 역주행 검출 시스템 및 그 방법 | |
JP4940177B2 (ja) | 交通流計測装置 | |
JP2010132056A (ja) | 検知装置、検知方法および車両制御装置 | |
JP2016122320A (ja) | 走行区画線認識装置 | |
JP2013161202A (ja) | 車両周辺監視装置 | |
JP5974923B2 (ja) | 道路端検出システム、方法およびプログラム | |
CN110660211A (zh) | 使用占用行为异常检测器的停车区域地图改善 | |
JP2009146153A (ja) | 移動体検出装置、移動体検出方法および移動体検出プログラム | |
JP6185327B2 (ja) | 車両後側方警報装置、車両後側方警報方法および他車両距離検出装置 | |
JP5891802B2 (ja) | 車両位置算出装置 | |
US20140139673A1 (en) | Image processing device and method for processing image | |
JP6695016B2 (ja) | 道路特徴決定装置 | |
WO2020036039A1 (ja) | ステレオカメラ装置 | |
JP2021101280A (ja) | 交差点中心検出装置、交差点レーン判定装置、交差点中心検出方法、交差点レーン判定方法およびプログラム |