説明

横断歩道検出装置、横断歩道検出システム,横断歩道検出方法及びプログラム

【課題】道路の状況にかかわらず、横断歩道を精度良く検出する。
【解決手段】メインパターンを用いたスキャン動作によって得られたデータに所定の演算処理を実行する。次に、この演算処理の演算結果と、メインパターンMPの所定の画像上の位置との関係を示す特性曲線を算出する。そして、特性曲線に現れるピークの規則性に基づいて、所定の画像に横断歩道が写っているか否を判断する。上述のデータは、メインパターンを構成するサブパターンそれぞれと重なる画素の輝度の平均である。このため、横断歩道を構成する白色パターンに亀裂が生じていたり、白色パターンに剥離が生じていたりしても、データの値は、ほとんど影響を受けない。したがって、所定の画像に横断歩道が写っているか否かを精度よく判断することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、横断歩道検出装置、横断歩道検出システム、横断歩道検出方法及びプログラムに関し、更に詳しくは、画像に写る横断歩道を検出する横断歩道検出装置、前記横断歩道検出装置を備える横断歩道検出システム、画像に写る横断歩道を検出するための横断歩道検出方法及びプログラムに関する。
【背景技術】
【0002】
交通事故の死者数は減少傾向にあるものの、事故の発生件数自体は依然として高い水準にある。交通事故の発生原因は様々であるが、走行する道路の状況を、事前に把握することができれば、交通事故の発生を、ある程度抑制することができる。
【0003】
そこで、自車が走行する道路に関する情報を、事前に取得するための装置が種々提案されている(例えば特許文献1参照)。特許文献1に開示された装置は、路面を撮影して得られた画像に対して、横断歩道の検出を試みる。そして、検出結果をモニタを介してドライバーに提供する。車両を運転するドライバーは、例えば夜間や悪天候下においても、前方に存在する横断歩道の有無を予め知ることができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−309313号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述の装置は、横断歩道を構成する白色パターンの外縁と予測される位置を、画像を構成する画素の輝度変化に基づいて特定する。そして、特定した位置の規則性に基づいて、画像に横断歩道が写っているか否かを判断する。
【0006】
このため、経年劣化等により、白色パターンの一部が剥離してしまった場合や、白色パターンが形成された道路に亀裂が生じてしまった場合等には、輝度変化の規則性が曖昧になり、横断歩道の検出精度が低下してしまうことが考えられる。
【0007】
本発明は、上述の事情の下になされたもので、道路の状況にかかわらず、横断歩道を精度良く検出することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明の第1の観点に係る横断歩道検出装置は、
道路を横切る横断歩道が写る画像から、前記横断歩道を検出する横断歩道検出装置であって、
前記画像に写る前記横断歩道を構成する白色パターンに対応する第1サブパターンと、前記白色パターンに挟まれる領域に対応する第2サブパターンとを有するメインパターンを、前記画像上の第1位置から、前記第1位置とは異なる第2位置まで移動させながら、前記第1サブパターンと重なる画素の輝度に基づいて演算された第1演算値と、前記第2サブパターンと重なる画素の輝度に基づいて演算された第2演算値とを算出する算出手段と、
前記第1演算値と前記第2演算値とを用いた演算を行う演算手段と、
前記メインパターンの位置と前記演算手段による演算の結果との関係の規則性に基づいて、前記第1位置と前記第2位置の間に、前記横断歩道の画像が存在するか否かを判断する判断手段と、
を備える。
【0009】
前記演算手段は、前記第1演算値と前記第2演算値との差を演算することとしてもよい。
【0010】
前記第1位置は、前記画像に写る前記道路の車線の一側に規定され、前記第2位置は、前記画像に写る前記道路の車線の他側に規定されることとしてもよい。
【0011】
また、前記第1位置は、前記画像に写る前記道路の一側に規定され、前記第2位置は、前記画像に写る前記道路の他側に規定されることとしてもよい。
【0012】
前記第1位置は、前記道路の車線を区画するライン上に規定されることとしてもよい。
【0013】
前記メインパターンは、前記第1サブパターンの一側に隣接する前記第2サブパターンと、前記第1サブパターンの他側に隣接する前記第2サブパターンとを有することとしてもよい。
【0014】
前記判断手段は、前記演算手段による演算結果から導かれる特性曲線によって示されるピーク値相互間の間隔の規則性に基づいて、前記横断歩道の画像が存在するか否かを判断することとしてもよい。
【0015】
前記第1位置と前記第2位置とによって規定される第1直線は、前記画像に写る前記道路に直交することとしてもよい。
【0016】
前記算出手段は、前記第1直線と平行な第2直線に沿って、更に前記メインパターンを移動させながら、前記第1サブパターンと重なる画素の輝度に基づいて演算された第1演算値と、前記第2サブパターンと重なる画素の輝度に基づいて演算された第2演算値とを算出することとしてもよい。
【0017】
本発明の第2の観点に係る横断歩道検出システムは、
車両の進行方向の道路を撮像する撮像手段と、
前記撮像手段によって撮像された画像から横断歩道を検出する本発明の横断歩道検出装置と、
を備える。
【0018】
本発明の第3の観点に係る横断歩道検出方法は、
道路を横切る横断歩道が写る画像から、前記横断歩道を検出するための横断歩道検出方法であって、
前記画像に写る前記横断歩道を構成する白色パターンに対応する第1サブパターンと、前記白色パターンに挟まれる領域に対応する第2サブパターンとを有するメインパターンを、前記画像上の第1位置から、前記第1位置とは異なる第2位置まで移動させながら、前記第1サブパターンと重なる画素の輝度に基づいて演算された第1演算値と、前記第2サブパターンと重なる画素の輝度に基づいて演算された第2演算値とを算出する工程と、
前記第1演算値と前記第2演算値とを用いた演算を行う工程と、
前記メインパターンの位置と、前記第1演算値と前記第2演算値とを用いた演算の結果と、の関係の規則性に基づいて、前記第1位置と前記第2位置の間に前記横断歩道の画像が存在するか否かを判断する工程と、
を含む。
【0019】
本発明の第4の観点に係るプログラムは、コンピュータを、
画像に写る横断歩道を構成する白色パターンに対応する第1サブパターンと、前記白色パターンに挟まれる領域に対応する第2サブパターンとを有するメインパターンを、前記画像上の第1位置から、前記第1位置とは異なる第2位置まで移動させながら、前記第1サブパターンと重なる画素の輝度に基づいて演算された第1演算値と、前記第2サブパターンと重なる画素の輝度に基づいて演算された第2演算値とを算出する算出手段と、
前記第1演算値と前記第2演算値とを用いた演算を行う演算手段と、
前記メインパターンの位置と前記演算手段による演算の結果との関係の規則性に基づいて、前記第1位置と前記第2位置の間に前記横断歩道の画像が存在するか否かを判断する判断手段と、
として機能させる。
【発明の効果】
【0020】
本発明によれば、複数の画素の輝度に基づく演算値を用いた演算が行われる。そして、この演算の結果とメインパターンの位置との関係の規則性に基づいて、画像中の横断歩道の有無が判断される。これにより、白色パターンの一部が劣化していても、画像中の横断歩道を精度よく検出することができる。
【図面の簡単な説明】
【0021】
【図1】第1の実施形態に係る横断歩道検出システムのブロック図である。
【図2】撮像装置から出力された画像の一例を示す図である。
【図3】変換された画像を示す図である。
【図4】画像上に規定されたメインパターンを示す図である。
【図5】メインパターンを拡大して示す図である。
【図6】平均値算出部の動作を説明するための図である。
【図7】図7(A)は及び図7(B)は、スキャン動作中のメインパターンを示す図である。
【図8】スキャン動作に基づく特性曲線を示す図(その1)である。
【図9】スキャン動作に基づく特性曲線を示す図(その2)である。
【図10】スキャン動作に基づく特性曲線を示す図(その3)である。
【図11】第2の実施形態に係る横断歩道検出システムのブロック図である。
【図12】横断歩道検出装置の動作を説明するためのフローチャート(その1)である。
【図13】横断歩道検出装置の動作を説明するためのフローチャート(その2)である。
【図14】特性曲線と、閾値A,Bとの関係を示す図である。
【図15】ピークの特定手順を説明するための図(その1)である。
【図16】ピークの特定手順を説明するための図(その2)である。
【図17】ピークの特定手順を説明するための図(その3)である。
【発明を実施するための形態】
【0022】
《第1の実施形態》
以下、本発明の第1の実施形態を、図面を参照しつつ説明する。図1は本実施形態に係る横断歩道検出システム10の概略的な構成を示すブロック図である。横断歩道検出システム10は、例えば自動車に搭載される。そして、撮像装置20によって撮像された画像に写る横断歩道を検出する。この横断歩道検出システム10は、図1に示されるように、撮像装置20と、撮像装置20によって撮像された画像から横断歩道を検出する横断歩道検出装置30とを有している。
【0023】
撮像装置20は、被写体を撮像することにより取得した画像PH1を電気信号に変換して出力するCCDカメラを含んで構成されている。この撮像装置20は、例えば自動車のフロントグリル、或いはバンパーなどに設置されている。
【0024】
図2は、撮像装置20によって撮像された画像PH1の一例を示す図である。画像PH1には、道路100と、道路100の車線を区画するライン101と、道路100を横切る横断歩道120が写っている。この画像PH1を参照するとわかるように、撮像装置20は、その視野に、ライン101によって区画される車線が位置するように、視野角や倍率などが調整されている。そして、撮像装置20は、道路100を順次撮像し、撮像した画像に関する情報を出力する。
【0025】
図1に戻り、横断歩道検出装置30は、記憶部31、画像変換部32、平均値算出部33、演算部34、曲線生成部35、判断部36を有している。
【0026】
記憶部31は、撮像装置20から順次出力される画像に関する情報を時系列的に記憶する。また、上記各部32〜36の処理結果としての情報を順次記憶する。
【0027】
画像変換部32は、撮像装置20によって撮像された画像PH1を、道路100を真上から見た画像(トップビュー画像)に変換する。具体的には、画像変換部32は、画像PH1に対して、座標変換処理を実行し、例えば図3に示される画像PH2を生成する。
【0028】
ここで、画像PH2に、左下のコーナーを原点とするXY座標系を定義し、以下XY座標系を用いた説明を行う。
【0029】
画像PH1と画像PH2とを比較するとわかるように、画像PH2では、道路100の車線を区画するライン101がY軸とほぼ平行になっている。また、画像PH2では、横断歩道120を構成する白色パターン121それぞれは、長手方向をY軸方向とする長方形となっている。そして、各白色パターン121は、X軸方向に間隔D1で配置され、隣接する白色パターン121同士のエッジからエッジまでの距離d1は、白色パターン121のX軸方向の幅(大きさ)d2と等しい。
【0030】
画像変換部32は、画像PH2を生成すると、当該画像PH2を記憶部31に保存するとともに、画像PH1の変換処理が終了したことを平均値算出部33へ通知する。
【0031】
図4は、画像PH2と、当該画像PH2上に規定されたメインパターンMPを示す図である。平均値算出部33は、画像PH2上に、メインパターンMPを規定する。そして、このメインパターンMPを、画像PH1の中心を通りX軸に平行な直線Lと、X軸に平行で、直線Lから+Y方向に距離D2隔てた直線Lと、X軸に平行で、直線Lから−Y方向に距離D2隔てた直線Lとに沿って、例えば1〜数ピクセルずつ移動させながら各サブパターンSP1〜SP3と重なる画素の輝度の平均値を算出する。
【0032】
このメインパターンMP及びサブパターンSP1〜SP3は、所定の形状をした領域もしくはウインドウである。上記動作により、当該領域もしくはウインドウ内の画素の輝度の平均値が算出される。
【0033】
図5は、画像PH2上に規定されたメインパターンMPを拡大して示す図である。図5に示されるように、メインパターンMPは、X軸方向に配列された3つのサブパターンSP1〜SP3から構成されている。各サブパターンSP1〜SP3は、長手方向をX軸方向とする長方形である。そして、サブパターンSP1,SP3それぞれのX軸方向の寸法は、距離d1と等しく、サブパターンSP2の寸法は、距離d2と等しい。
【0034】
図6は、平均値算出部33の動作を説明するための図である。図6を参照するとわかるように、平均値算出部33は、まず、画像PH2の中心を通りX軸に平行な直線Lに沿って、メインパターンMPを、矢印aに示される第1位置(2本のライン101に規定される車線の一側)から、矢印bに示される第2位置(車線の他側)まで移動させながら、各サブパターンSP1〜SP3と重なる画素の輝度の平均値を算出する。このとき、メインパターンMPは、車線(道路)を横切るように移動する。
【0035】
具体的には、平均値算出部33は、第1位置にメインパターンMPを規定する。この位置では、メインパターンMPの中心は、直線L上に位置する。また、メインパターンMPの−X側端は、画像PH2の−X側端に一致する。
【0036】
次に、平均値算出部33は、メインパターンMPを、矢印aに示される第1位置から、矢印bに示される第2位置に向けて移動させながら、サブパターンSP1と重なる画素の輝度の平均値B1、サブパターンSP2と重なる画素の輝度の平均値B2、サブパターンSP3と重なる画素の輝度の平均値B3を順次算出する。そして、平均値算出部33は、算出した平均値B1,B2,B3を、当該平均値B1,B2,B3を算出したときのメインパターンMPの中心のX座標と関連づけて、データB1(X),B2(X),B3(X)として、記憶部31へ出力する。これにより、データB1(X),B2(X),B3(X)が、記憶部31に保存される。
【0037】
平均値算出部33は、メインパターンMPが、その+X側端が、画像PH2の+X側端に一致する位置に達すると、メインパターンMPを、その中心が直線L上に位置し、−X側端が画像PH2の−X側端に一致する位置に位置決めする。そして、この位置から、メインパターンMPを+X方向へ、直線Lに沿って移動させながら、サブパターンSP1と重なる画素の輝度の平均値B1、サブパターンSP2と重なる画素の輝度の平均値B2、サブパターンSP3と重なる画素の輝度の平均値B3を順次算出する。そして、平均値算出部33は、算出した平均値B1,B2,B3を、当該平均値B1,B2,B3を算出したときのメインパターンMPの中心のX座標と関連づけて、データB1(X),B2(X),B3(X)として、記憶部31へ出力する。これにより、データB1(X),B2(X),B3(X)が、記憶部31に保存される。
【0038】
平均値算出部33は、メインパターンMPが、その+X側端が、画像PH2の+X側端に一致する位置に達すると、メインパターンMPを、その中心が直線L上に位置し、−X側端が画像PH2の−X側端に一致する位置に位置決めする。そして、この位置から、メインパターンMPを+X方向へ、直線L沿って移動させながら、サブパターンSP1と重なる画素の輝度の平均値B1、サブパターンSP2と重なる画素の輝度の平均値B2、サブパターンSP3と重なる画素の輝度の平均値B3を順次算出する。そして、平均値算出部33は、算出した平均値B1,B2,B3を、当該平均値B1,B2,B3を算出したときのメインパターンMPの中心のX座標と関連づけて、データB1(X),B2(X),B3(X)として、記憶部31へ出力する。これにより、データB1(X),B2(X),B3(X)が、記憶部31に保存される。平均値算出部33は、上述の処理が終了すると、処理の終了を演算部34に通知する。
【0039】
以下、説明の便宜上、メインパターンMPを移動させながら、データB1(X),B2(X),B3(X)を出力する動作をスキャン動作という。
【0040】
演算部34は、データB1(X),B2(X),B3(X)について、次式(1)で示される演算を実行する。なお、Nは1〜3までの整数を示す。
【0041】
(X)=B2(X)−(B1(X)+B3(X))/2 …(1)
【0042】
演算部34は、式(1)に示される演算が完了すると、演算結果G(X)を記憶部31へ保存し、演算の完了を曲線生成部35へ通知する。
【0043】
曲線生成部35は、演算部34による演算結果G(X)に基づいて、特性曲線を生成する。具体的には、横軸をXとし、縦軸を演算結果G(X)とする座標系に、Xの値と、演算結果G(X)の値とによって規定される点をプロットし、プロットした点を通る特性曲線を生成する。
【0044】
図7(A)に示されるように、メインパターンMPを構成するサブパターンSP2が、横断歩道120を構成する白色パターン121に完全に重なったときに、演算結果G(X)が最大になる。その理由は、サブパターンSP2と重なる画素の輝度の平均値B2が最大となるとともに、サブパターンSP1,SP3と重なる画素の輝度の平均値B1,B3がほぼ零となり、式(1)の演算結果G(X)が最大となるためである。
【0045】
また、図7(B)に示されるように、メインパターンMPを構成するサブパターンSP1,SP3が、横断歩道120を構成する白色パターン121に完全に重なったときに、演算結果G(X)が最小になる。その理由は、サブパターンSP1,SP3と重なる画素の輝度の平均値B1,B3が最大となるとともに、サブパターンSP2と重なる画素の輝度の平均値B2がほぼ零となり、式(1)の演算結果G(X)が最小となるためである。
【0046】
したがって、演算結果G(X)が、横断歩道120を構成する白色パターン121を横切る直線に沿って、スキャン動作が行われた結果に基づく演算結果である場合には、特性曲線は、複数(例えば3つ以上)のピークを持った曲線となる。
【0047】
図8は、例えばスキャン動作が、図6における直線Lに沿って行われた結果に基づいて生成される特性曲線を示す図である。図8を参照するとわかるように、例えばスキャン動作が、直線Lに沿って行われた場合には、演算結果G(X)は、Xの値が、白色パターン121それぞれの位置に対応するX〜Xである場合にピークとなる。したがって、特性曲線は、5つのピークを持った曲線となる。
【0048】
一方、演算結果G(X)が、横断歩道120を構成する白色パターン121を横切らない直線に沿って、スキャン動作が行われた結果に基づく演算結果である場合には、特性曲線は、2つのピークを持った曲線となる。
【0049】
図9は、例えばスキャン動作が、図6における直線Lに沿って行われた結果に基づいて生成される特性曲線を示す図である。図9に示されるように、例えばスキャン動作が、直線Lに沿って行われた場合には、演算結果G(X)は、Xの値が、画像PH2におけるライン101それぞれの位置に対応するX,Xである場合にピークとなる。したがって、特性曲線は、2つのピークを持った曲線となる。
【0050】
曲線生成部35は、直線L〜Lそれぞれに沿って行ったスキャン動作ごとに特性曲線を生成する。そして、特性曲線に関する情報を記憶部31に出力するとともに、特性曲線の生成が完了したことを、判断部36に通知する。
【0051】
判断部36は、生成された特性曲線の規則性に基づいて、画像PH2に横断歩道が写っているか否かを判断する。図10は、特性曲線の一例を示す図である。図10を参照するとわかるように、判断部36は、曲線の極大点をピークPとして検出する。そして、検出したピークPそれぞれのX座標XPを特定する。次に、判断部36は、次式(2)で示される演算を実行し、特性曲線のピークPに対応するX座標XP同士の差DPを算出する。なお、式(2)におけるNは、N番目のピークに対応する整数である。式(2)の演算結果は、G(X)が最大となるときの、画像PH2におけるメインパターンMPの位置相互間の距離と等しい。
【0052】
DP=XPN+1−XP …(2)
【0053】
スキャン動作が白色パターン121を横切る直線L,L(図6参照)に沿って実行された場合には、例えば図8に示される特性曲線が得られる。この場合は、ピークのX座標XPは、画像PH2における白色パターン121のX座標Xに等しくなる。そして、式(2)の演算結果DPは、白色パターン121の配列間隔D1に等しくなる。
【0054】
一方、スキャン動作が白色パターン121を横切らない直線Lに沿って実行された場合には、図9に示されるように、特性曲線のピークは3つより少なくなる。また、ピークが3つ以上であったとしても、式(2)の演算結果DPは、白色パターン121の配列間隔D1に等しくなることはないと考えられる。
【0055】
そこで、判断部36は、特性曲線について、ピークが、例えば4つ以上検出された場合であって、N個の差DPの値の過半数が、白色パターン121の配列間隔D1の値とほぼ等しいときに、スキャン動作が、横断歩道120の白色パターン121を横切る直線(例えば直線L,L)に沿って行われたものと判断する。なお、差DPの値と、配列間隔D1の値との比較は、例えば差DPの値と配列間隔D1の値との相違が閾値以下の時に等しいと判断する。
【0056】
一方、判断部36は、特性曲線について、ピークが3つ以上検出されなかった場合、又は、差DPの値の過半数が、配列間隔D1の値と異なるときに、スキャン動作が、横断歩道120の白色パターン121を横切らない直線(例えば直線L)に沿って行われたものと判断する。
【0057】
そして、判断部36は、直線L〜Lに沿った3回のスキャン動作中、2回以上のスキャン動作が、横断歩道120の白色パターン121を横切る直線に沿って行われたと判断した場合に、画像PH2に横断歩道120が写っていると判断する。一方、直線L〜Lに沿った3回のスキャン動作中、1回のスキャン動作のみが、横断歩道120の白色パターン121を横切る直線に沿って行われたと判断した場合、或いはすべてのスキャン動作が、白色パターン121を横切る直線に沿って行われなかったと判断した場合に、画像PH2に横断歩道120が写っていないと判断する。そして、画像PH2に横断歩道120が写っているか否かを判断した結果を外部装置等へ出力する。
【0058】
以上説明したように、本第1の実施形態では、メインパターンMPを用いたスキャン動作によって得られたデータB1(X),B2(X),B3(X)について、式(1)に示される演算処理が実行される。次に、この演算処理の演算結果G(X)と、メインパターンMPの画像PH2上の位置との関係を示す特性曲線が算出される。そして、特性曲線に現れるピークの規則性に基づいて、画像PH2に横断歩道が写っているか否かが判断される。
【0059】
上述のデータB1(X),B2(X),B3(X)は、メインパターンMPのサブパターンSP1〜SP3それぞれと重なる画素の輝度の平均である。このため、横断歩道120を構成する白色パターン121に亀裂が生じていたり、白色パターン121に剥離が生じていたりしても、データB1(X),B2(X),B3(X)の値は、ほとんど影響を受けない。
【0060】
更に詳しくは、横断歩道120を構成する白色パターン121に亀裂が生じていたり、白色パターン121に剥離が生じていたりしても、これらの部分を表示する画素の数は、サブパターンSP1〜SP3と重なる画素の数パーセントにすぎない。このため、データB1(X),B2(X),B3(X)の値は、白色パターン121に亀裂等があったとしても、ほとんど影響を受けることはない。したがって、横断歩道120の白色パターン121に経年劣化が生じたとしても、画像PH2に横断歩道が写っているか否かを精度よく判断することができる。
【0061】
なお、上記配列間隔D1、距離d1,d2の値それぞれは、実際の道路100における0.45mに対応する値である。また、直線L〜L相互間の距離D2は、実際の道路100における1.5mに対応する値である。また、メインパターンMPのY軸方向の寸法は、例えば画像PH2の画素と同等の大きさ(1ピクセルに相当する大きさ)である。ただし、メインパターンMPのY軸方向の寸法は、必要に応じて適宜変更してもよい。例えば、Y軸方向の寸法を、数ピクセル相当の大きさとしてもよい。
《第2の実施形態》
次に、本発明の第2の実施形態を、図11〜図17を参照しつつ説明する。なお、第1の実施形態と同一又は同等の構成については、同等の符号を用いるとともに、その説明を省略又は簡略する。
【0062】
本実施形態に係る横断歩道検出システム10は、横断歩道検出装置30が、一般的なコンピュータ、又はマイクロコンピュータなどの装置と同様の構成によって実現されている点で、第1の実施形態に係る横断歩道検出システム10と相違している。
【0063】
図11は、横断歩道検出システム10の物理的な構成を示すブロック図である。図11に示されるように、横断歩道検出システム10は、撮像装置20と、コンピュータからなる横断歩道検出装置30とから構成されている。
【0064】
横断歩道検出装置30は、CPU(Central Processing Unit)30a、主記憶部30b、補助記憶部30c、表示部30d、入力部30e、インターフェイス部30f、及び上記各部を相互に接続するシステムバス30gを含んで構成されている。
【0065】
CPU30aは、補助記憶部30cに記憶されているプログラムに従って、撮像装置20から出力された画像PH1について、後述する処理を実行する。
【0066】
主記憶部30bは、RAM(Random Access Memory)等を含んで構成され、CPU30aの作業領域として用いられる。
【0067】
補助記憶部30cは、ROM(Read Only Memory)、磁気ディスク、半導体メモリ等の不揮発性メモリを含んで構成されている。この補助記憶部30cは、CPU30aが実行するプログラム、及び各種パラメータなどを記憶している。また、撮像装置20から出力される画像に関する情報、及びCPU30aによる処理結果などを含む情報を順次記憶する。
【0068】
表示部30dは、CRT(Cathode Ray Tube)またはLCD(Liquid Crystal Display)などを含んで構成され、CPU30aの処理結果を表示する。
【0069】
入力部30eは、キーボードやマウス等のポインティングデバイスを含んで構成されている。オペレータの指示は、この入力部30eを介して入力され、システムバス30gを経由してCPU30aに通知される。
【0070】
インターフェイス部30fは、シリアルインターフェイスまたはLAN(Local Area Network)インターフェイス等を含んで構成されている。撮像装置20は、インターフェイス部30fを介してシステムバス30gに接続される。
【0071】
図12及び図13のフローチャートは、CPU30aによって実行されるプログラムの一連の処理アルゴリズムに対応している。以下、図12を参照しつつ、横断歩道検出装置30が実行する処理について説明する。なお、この処理は、横断歩道検出システム10が起動され、撮像装置20によって撮像された画像に関する情報が出力された後に実行される。また、前提として、撮像装置20からは、図2に示される画像PH1が出力されたものとする。
【0072】
まず、最初のステップS101では、CPU30aは、撮像装置20によって撮像された画像PH1を、道路100を真上から見た画像(トップビュー画像)に変換する。具体的には、画像変換部32は、画像PH1に対して、座標変換処理を実行し、例えば図3に示される画像PH2を生成する。
【0073】
次のステップS102では、CPU30aは、画像PH2に対してスキャン処理を実行する。図12は、ステップS102で実行されるサブルーチンを示す図である。CPU30aは、ステップS102での処理を、図12に示されるサブルーチンを実行することにより実現する。
【0074】
サブルーチンにおける最初のステップS201では、CPU30aは、カウンタ値Nのリセットを行う。これにより、カウンタNの値が1に初期設定される。
【0075】
次のステップS202では、CPU30aは、判定フラグをオフに設定する。
【0076】
次のステップS203では、CPU30aは、メインパターンを直線L上の第1位置(図3における矢印aに示される位置)へ位置決めする。この位置では、メインパターンMPの中心は、直線L上に位置する。また、メインパターンMPの−X側端は、画像PH2の−X側端に一致する。
【0077】
次のステップS204では、CPU30aは、サブパターンSP1と重なる画素の輝度の平均値B1、サブパターンSP2と重なる画素の輝度の平均値B2、サブパターンSP3と重なる画素の輝度の平均値B3を順次算出する。そして、各輝度平均値に、メインパターンMPのX座標を関連づけたデータB1(X),B2(X),B3(X)を生成する。
【0078】
次のステップS205では、CPU30aは、データB1(X),B2(X),B3(X)について、上記式(1)で示される演算を実行する。これにより、演算結果G(X)が算出される。
【0079】
次のステップS206では、CPU30aは、演算結果G(X)の値が、零以上の閾値A以上である否か判断する。図14は、直線Lに沿ってスキャン動作を行った結果から得られる特性曲線と、閾値A,Bとの関係が示されている。ここでは、メインパターンMPは、X座標が零となる第1位置にある。したがって、演算結果G(X)は閾値Aより小さい。したがって、ステップS206での判断は否定され、CPU30aは、ステップS212へ移行する。
【0080】
ステップS212では、CPU30aは、演算結果G(X)の値が、零以下の閾値B以下である否か判断する。図14に示されるように、ここでは、演算結果G(X)は閾値B以下である。したがって、CPU30aは、ステップS213へ移行する。
【0081】
ステップS213では、CPU30aは、判定フラグをオフに設定する。
【0082】
ステップS214では、CPU30aは、メインパターンMPが第2位置(図6における矢印bに示される位置)にあるか否か判断する。ここでは、メインパターンMPは、第1位置にあるので、ステップS214での判断は否定され、CPU30aは、次のステップS215へ移行する。
【0083】
ステップS215では、CPU30aは、メインパターンMPの位置を、+X方向へ微小距離移動させる。そして、ステップS204へ戻る。
【0084】
以降、CPU30aによって、ステップS204〜S206の処理,及びステップS212〜S215の処理が繰り返し実行されると、メインパターンMPがX方向へ移動し、それに伴い、演算結果G(X)の値は、図14の特性曲線に示されるように推移する。やがて、演算結果G(X)の値は、閾値A以下で、かつ閾値Bより大きくなる。この場合は、ステップS212での判断が否定され、CPU30aは、ステップS214へ直接移行する。
【0085】
次に、CPU30aによって、ステップS204〜S206の処理、及びS212,S214,S215の処理が繰り返し実行されると、演算結果G(X)の値は、閾値Bより大きくなる。この場合は、ステップS206での判断が肯定され、CPU30aは、ステップS207へ移行する。
【0086】
ステップS207では、CPU30aは、判定フラグがオフであるか否か判断する。ここでは、判定フラグはオフである。したがって、ステップS207での判断が肯定され、CPU30aは、ステップS208へ移行する。
【0087】
ステップS208では、CPU30aは、演算結果G(X)をピーク値として、記憶部31へ保存する。
【0088】
次のステップS209では、CPU30aは、判定フラグをオンに設定する。
【0089】
次に、CPU30aは、ステップS214,S215の処理を実行した後、ステップS204〜S206の処理を実行する。この時点では、判定フラグがオンに設定されている。したがって、ステップS207での判断は否定される。この場合、CPU30aは、ステップS210へ移行する。
【0090】
ステップS210では、CPU30aは、演算結果G(X)が、直近に保存された演算結果GN−1(X)よりも大きいか判断する。メインパターンMPのX座標が、X以下である場合には、ステップS210での判断は肯定され、CPU30aは、ステップS211へ移行する。
【0091】
ステップS211では、CPU30aは、演算結果G(X)をピーク値として保存する。これにより、演算結果G(X)が更新される。
【0092】
以降、CPU30aによって、ステップS214,S215,ステップS204〜S207,及びステップ210,S211の処理が繰り返し実行されることで、図15中に白○で示されるように、ピーク値が更新される。
【0093】
一方、メインパターンMPのX座標が、Xを超えると、ステップS210での判断は否定され、CPU30aは、ステップS214へ移行する。
【0094】
以降、メインパターンMPが第2位置まで移動し、ステップS214での判断が肯定されるまで、ステップS201〜S215までの処理が繰り返し実行される。これにより、直線Lに沿ったスキャン動作が完了し、図16に白丸で示されるようにピークが更新され、最終的に複数のピークPが決定する。
【0095】
ステップS214での判断が肯定されると、CPU30aは、ステップS216へ移行する。
【0096】
ステップS216では、CPU30aは、カウンタ値Nが3であるか否か判断する。ここでは、カウンタ値Nは1であるため、ステップS216の判断は否定され、CPU30aは、ステップS217へ移行する。
【0097】
ステップS217では、CPU30aは、カウンタ値Nを1インクリメントし、ステップS203へ戻る。
【0098】
以降、カウンタ値が3となり、ステップS216での判断が肯定されるまで、S201〜S214の処理が繰り返し実行される。これにより、直線Lに沿ったスキャン動作が行われ、最終的に、図17に示される複数(2つ)のピークPが決定する。また、直線Lに沿ったスキャン動作が行われ、最終的に、複数のピークPが決定する。
【0099】
カウンタ値Nが3になり、ステップS216での判断が肯定されると、CPU30aは、サブルーチンを終了し、ステップS103に移行する。
【0100】
次のステップ103では、ステップ102のスキャン処理によって決定したピークPに基づいて、画像PH2に横断歩道120が写っているか否かを判断する。
【0101】
例えば、CPU30aは、直線Lに沿ったスキャン動作ごとに、ピークPN,MのX座標XPを特定する。なお、ここでのNはラインナンバーを表し、Mはピークナンバーを表している。そして、図16に示されるX座標XP同士の差DPを算出する。次に、ピークが、例えば4つ以上検出された場合であって、N個の差DPの値の過半数が、白色パターン121の配列間隔D1の値とほぼ等しいときに、スキャン動作が、横断歩道120の白色パターン121を横切る直線(例えば直線L,L)に沿って行われたものと判断する。
【0102】
一方、CPU30aは、特性曲線について、ピークが3つ以上検出されなかった場合、又は、差DPの値と、配列間隔D1の値とが異なるときに、スキャン動作が、横断歩道120の白色パターン121を横切らない直線(例えば直線L)に沿って行われたものと判断する。
【0103】
そして、CPU30aは、直線L〜Lに沿った3回のスキャン動作中、2回以上のスキャン動作が、横断歩道120の白色パターン121を横切る直線に沿って行われたと判断した場合に、画像PH2に横断歩道120が写っていると判断する。一方、直線L〜Lに沿った3回のスキャン動作中、1回のスキャン動作のみが、横断歩道120の白色パターン121を横切る直線に沿って行われたと判断した場合、或いはすべてのスキャン動作が、白色パターン121を横切る直線に沿って行われなかったと判断した場合に、画像PH2に横断歩道120が写っていない判断する。
【0104】
次のステップS104では、CPU30aは、画像PH2に横断歩道120が写っているか否かを判断した結果を外部装置等へ出力する。
【0105】
以上説明したように、本第2の実施形態では、メインパターンMPを用いたスキャン動作によって得られたデータB1(X),B2(X),B3(X)について、式(1)に示される演算処理が実行される。次に、演算結果G(X)と、メインパターンMPの画像PH2上の位置との関係を示す特性曲線のピークが決定され、このピークの規則性に基づいて、画像PH2に横断歩道が写っているか否かが判断される。
【0106】
上述のデータB1(X),B2(X),B3(X)は、メインパターンMPのサブパターンSP1〜SP3それぞれと重なる画素の輝度の平均である。このため、横断歩道120を構成する白色パターン121に亀裂が生じていたり、白色パターン121に剥離が生じていたりしても、データB1(X),B2(X),B3(X)の値は、ほとんど影響を受けない。したがって、横断歩道120の白色パターン121に経年劣化が生じたとしても、画像PH2に横断歩道が写っているか否かを精度よく判断することができる。
【0107】
また、本実施形態では、3つ以上のピークが特定された後も、スキャン動作を行った。これに限らず、スキャン動作において、例えばピークが2つ特定できたら、当該スキャン動作を停止し、ピークのX座標XPとX座標XP相互間の差DPを算出する。そして、この差DPが、白色パターン121の配列間隔D1の値とほぼ等しいときに、当該スキャン動作が白色パターン121を横切る直線に沿って行われたものと判断してもよい。
【0108】
以上、本発明の実施形態について説明したが、本発明は上記実施形態によって限定されるものではない。
【0109】
例えば、上記実施形態では、直線L〜Lそれぞれに沿って、3回のスキャン動作を行った。これに限らず、横断歩道検出システム10は、スキャン動作を、4回以上行ってもよい。また、1回のスキャン動作で、画像PH2に横断歩道が写っているか否かを判断してもよい。また、この場合に、画像の上方から順次スキャン動作を実施し、横断歩道が写っていると判断された場合にスキャンを停止する形態が考えられる。
【0110】
また、上記実施形態では、直線Lが画像PH1の中心を通ることとした。これに限らず、直線Lは、画像PH1の中心を通る直線でなくともよい。画像PHにおける直線L〜Lの位置は、例えば車種や、撮像装置20の取り付け位置、その他の条件に応じて、適当な位置とすることができる。
【0111】
また、上記実施形態では、サブパターンSP1〜SP3と重なる画素の輝度の平均値を用いて、画像PHに写る横断歩道を検出した。これに限らず、サブパターンSP1〜SP3と重なる画素の輝度の総和等を用いて、画像PHに写る横断歩道を検出してもよい。
【0112】
また、上記実施形態では、メインパターンMPが3つのサブパターンSP1〜SP3から構成されている場合について説明した。これに限らず、メインパターンMPが、サブパターンSP1及びサブパターンSP2のみから構成されていてもよい。この場合は、演算部34は、データB1(X),B2(X)について、次式(3)で示される演算を実行すればよい。
【0113】
(X)=B2(X)−B1(X) …(3)
【0114】
また、上記実施形態では、式(1)を用いた演算を行ったが、これに限らず、例えば、次式(4)、或いは次式(5)に基づく演算を行ってもよい。例えば、式(4)、及び式(5)では、係数kの値を2、係数kの値を1とすることができる。
【0115】
(X)=k・B2(X)−k・(B1(X)+B3(X))/2 …(4)
(X)=k・B2(X)−k・B1(X) …(5)
【0116】
また、上記実施形態では、メインパターンMPを、ライン101によって区画される車線の一側にある第1位置から、他側にある第2位置へ移動させることにより、スキャン動作を実行した。これに限らず、画像に横断歩道120全体が写っている場合には、メインパターンMPを、道路100の一側(+X側)から他側(−X側)へ移動させることにより、スキャン動作を実行してもよい。
【0117】
また、上記実施形態では、メインパターンMPを、その−X側端が画像PH2の−X側端と一致する位置から、+X方向へ移動させることにより、スキャン動作を実行した。これに限らず、道路100のライン101の位置がわかっている場合、具体的には、ライン101を画像処理等により予め検出した場合には、例えば図3に示される2本のライン101の間で、メインパターンMPを移動させて、スキャン動作を実行することとしてもよい。
【0118】
この場合、メインパターンMPを移動させる距離が少なくなるので、横断歩道検出システム10が取り扱う情報量が少なくなる。その結果、横断歩道検出システム10は、短時間に処理を完結することが可能となる。
【0119】
また、上記実施形態では、撮像装置20によって撮像された画像PH1を、画像PH2に変換したがこれに限らず、画像PH1に直接メインパターンMPを規定し、このメインパターンMPを用いてスキャン動作を行ってもよい。具体的には、画像変換部32による変換が行われる前の画像PH1上に、画像PH2と同様に、左下のコーナーを原点とするXY座標系と、メインパターンMPとを規定する。そして、このメインパターンMPを用いて、画像PH1に対するスキャン動作を行う。この場合、メインパターンMPのY座標に応じて、メインパターンMPのX軸方向の寸法を適当に変更する必要がある。その理由は、車両の前方の道路100を撮影した画像PH1では、画像PH1に写る道路100は、画像PH1の焦点に近づくにつれて(撮像装置20から遠くなるにつれて)、幅が小さくなるためである。
【0120】
また、上記実施形態では、サブパターンSP1〜SP3同士が隣接している場合について説明した。これに限らず、サブパターンSP1〜SP3同士は、所定のクリアランスを介して配置されていてもよい。例えば、図5における各サブパターンSP1〜SP3を、中心位置をそのままに、X軸方向の寸法を例えば0.1m小さくし、これらのサブパターンSP1〜SP3から、メインパターンMPを構成してもよい。
【0121】
また、上記各実施形態に係る横断歩道検出装置30の機能は、専用のハードウェアによっても、また、通常のコンピュータシステムによっても実現することができる。
【0122】
また、第2の実施形態において横断歩道検出装置30の補助記憶部30cに記憶されているプログラムは、フレキシブルディスク、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto-Optical disk)等のコンピュータで読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の処理を実行する装置を構成することとしてもよい。
【0123】
また、プログラムをインターネット等の通信ネットワーク上の所定のサーバ装置が有するディスク装置等に格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するようにしても良い。
【0124】
また、プログラムは、通信ネットワークを介して転送しながら起動実行することとしてもよい。
【0125】
また、プログラムは、全部又は一部をサーバ装置上で実行させ、その処理に関する情報を通信ネットワークを介して送受信しながら、上述の画像処理を実行することとしてもよい。
【0126】
なお、上述の機能を、OS(Operating System)が分担して実現する場合又はOSとアプリケーションとの協働により実現する場合等には、OS以外の部分のみを媒体に格納して配布してもよく、また、コンピュータにダウンロード等しても良い。
【0127】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。
【産業上の利用可能性】
【0128】
本発明の横断歩道検出装置、横断歩道検出システム,横断歩道検出方法及びプログラムは、画像に写る横断歩道の検出に適している。
【符号の説明】
【0129】
10 横断歩道検出システム
20 撮像装置
30 横断歩道検出装置
30a CPU
30b 主記憶部
30c 補助記憶部
30d 表示部
30e 入力部
30f インターフェイス部
30g システムバス
31 記憶部
32 画像変換部
33 平均値算出部
34 演算部
35 曲線生成部
36 判断部
100 道路
101 ライン
120 横断歩道
121 白色パターン
MP メインパターン
PH1 画像
PH2 画像
SP1 サブパターン
SP2 サブパターン
SP3 サブパターン

【特許請求の範囲】
【請求項1】
道路を横切る横断歩道が写る画像から、前記横断歩道を検出する横断歩道検出装置であって、
前記画像に写る前記横断歩道を構成する白色パターンに対応する第1サブパターンと、前記白色パターンに挟まれる領域に対応する第2サブパターンとを有するメインパターンを、前記画像上の第1位置から、前記第1位置とは異なる第2位置まで移動させながら、前記第1サブパターンと重なる画素の輝度に基づいて演算された第1演算値と、前記第2サブパターンと重なる画素の輝度に基づいて演算された第2演算値とを算出する算出手段と、
前記第1演算値と前記第2演算値とを用いた演算を行う演算手段と、
前記メインパターンの位置と前記演算手段による演算の結果との関係の規則性に基づいて、前記第1位置と前記第2位置の間に、前記横断歩道の画像が存在するか否かを判断する判断手段と、
を備える横断歩道検出装置。
【請求項2】
前記演算手段は、前記第1演算値と前記第2演算値との差を演算する請求項1に記載の横断歩道検出装置。
【請求項3】
前記第1位置は、前記画像に写る前記道路の車線の一側に規定され、前記第2位置は、前記画像に写る前記道路の前記車線の他側に規定される請求項1又は2に記載の横断歩道検出装置。
【請求項4】
前記第1位置は、前記画像に写る前記道路の一側に規定され、前記第2位置は、前記画像に写る前記道路の他側に規定される請求項1又は2に記載の横断歩道検出装置。
【請求項5】
前記第1位置は、前記道路の車線を区画するライン上に規定される請求項1又は2に記載の横断歩道検出装置。
【請求項6】
前記メインパターンは、前記第1サブパターンの一側に隣接する前記第2サブパターンと、前記第1サブパターンの他側に隣接する前記第2サブパターンとを有する請求項1乃至5のいずれか一項に記載の横断歩道検出装置。
【請求項7】
前記判断手段は、前記演算手段による演算結果から導かれる特性曲線によって示されるピーク相互間の間隔の規則性に基づいて、前記横断歩道の画像が存在するか否かを判断する請求項1乃至6のいずれか一項に記載の横断歩道検出装置。
【請求項8】
前記第1位置と前記第2位置とによって規定される第1直線は、前記画像に写る前記道路に直交する請求項1乃至7のいずれか一項に記載の横断歩道検出装置。
【請求項9】
前記算出手段は、前記第1直線と平行な第2直線に沿って、更に前記メインパターンを移動させながら、前記第1サブパターンと重なる画素の輝度に基づいて演算された第1演算値と、前記第2サブパターンと重なる画素の輝度に基づいて演算された第2演算値とを算出する請求項8に記載の横断歩道検出装置。
【請求項10】
車両の進行方向の道路を撮像する撮像手段と、
前記撮像手段によって撮像された画像から横断歩道を検出する請求項1乃至9のいずれか一項に記載の横断歩道検出装置と、
を備える横断歩道検出システム。
【請求項11】
道路を横切る横断歩道が写る画像から、前記横断歩道を検出するための横断歩道検出方法であって、
前記画像に写る前記横断歩道を構成する白色パターンに対応する第1サブパターンと、前記白色パターンに挟まれる領域に対応する第2サブパターンとを有するメインパターンを、前記画像上の第1位置から、前記第1位置とは異なる第2位置まで移動させながら、前記第1サブパターンと重なる画素の輝度に基づいて演算された第1演算値と、前記第2サブパターンと重なる画素の輝度に基づいて演算された第2演算値とを算出する工程と、
前記第1演算値と前記第2演算値とを用いた演算を行う工程と、
前記メインパターンの位置と、前記第1演算値と前記第2演算値とを用いた演算の結果と、の関係の規則性に基づいて、前記第1位置と前記第2位置の間に、前記横断歩道の画像が存在するか否かを判断する工程と、
を含む横断歩道検出方法。
【請求項12】
コンピュータを、
画像に写る前記横断歩道を構成する白色パターンに対応する第1サブパターンと、前記白色パターンに挟まれる領域に対応する第2サブパターンとを有するメインパターンを、前記画像上の第1位置から、前記第1位置とは異なる第2位置まで移動させながら、前記第1サブパターンと重なる画素の輝度に基づいて演算された第1演算値と、前記第2サブパターンと重なる画素の輝度に基づいて演算された第2演算値とを算出する算出手段と、
前記第1演算値と前記第2演算値とを用いた演算を行う演算手段と、
前記メインパターンの位置と前記演算手段による演算の結果との関係の規則性に基づいて、前記第1位置と前記第2位置の間に、前記横断歩道の画像が存在するか否かを判断する判断手段と、
として機能させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate


【公開番号】特開2011−192071(P2011−192071A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−58286(P2010−58286)
【出願日】平成22年3月15日(2010.3.15)
【出願人】(000000011)アイシン精機株式会社 (5,421)
【Fターム(参考)】