(57)【要約】【課題】車両を計測し車体色を判別する。【解決手段】道路を走行する車両の車体の、屋根やボンネットのような水平面を抽出し、抽出された水平面の色を判別し、判別された水平面の色に基づいて車体の色を判別する。【効果】水平面を対象とすれば、フロントガラスやフロントグリルのような角度のある部分が判別から除外されるので、水平面に基づき車体色が明確に判別できる。【選択図】図１２
2007280041.tif 000002
【特許請求の範囲】
【請求項１】
道路を走行する車両を撮影する撮影手段と、
道路を走行する車両の車体の水平面を抽出する水平面抽出手段と、
前記水平面抽出手段によって抽出された水平面の色を、前記撮影手段の撮影画像に基づいて判別する水平面色判別手段とを備え、
前記水平面色判別手段によって判別された水平面の色に基づいて車体の色を判別することを特徴とする車体色判別装置。
【請求項２】
前記水平面抽出手段は、撮影画像に基づいて、当該車体のライン部分を検出し、当該ライン部分の高さを算出し、ほぼ同じ高さの２つのライン部分で挟まれる面を水平面とする請求項１記載の車体色判別装置。
【請求項３】
前記水平面抽出手段は、撮影画像に基づいて、当該車体のライン部分を検出し、当該ライン部分の高さと長さを算出し、ほぼ同じ高さであってほぼ同じ長さの２つのライン部分で挟まれる面を水平面とする請求項１記載の車体色判別装置。
【請求項４】
道路に向けて電磁波を発射する手段をさらに有し、
前記水平面抽出手段は、発射した電磁波の反射波に基づいて水平面を抽出する請求項１記載の車体色判別装置。
【請求項５】
前記水平面抽出手段は、高さの違うライン部分が複数あれば、高さの高いライン部分のペアから優先的に水平面を抽出していく請求項２、請求項３のいずれかに記載の車体色判別装置。
【請求項６】
前記水平面抽出手段は、車両走行方向に沿った距離の違うライン部分が複数あれば、２つのライン部分間の距離の長い水平面から抽出していく請求項２、請求項３、請求項５のいずれかに記載の車体色判別装置。
【請求項７】
前記２つのライン部分間の距離が最も長いライン部分の間に、すでに抽出された水平面が存在するときは、当該２つのライン部分間の距離が最も長いライン部分に基づいて水平面を抽出しない請求項６記載の車体色判別装置。
【請求項８】
前記水平面抽出手段は、車両横断方向の長さの違う水平面が複数あれば、長さの長いライン部分のペアから優先的に水平面を抽出していく請求項２、請求項３、請求項５から請求項７のいずれかに記載の車体色判別装置。
【請求項９】
前記水平面色判別手段は、カメラから見て逆光か順光かを判断し、順光／逆光に応じて、水平面の明るさを判別するしきい値を変動させる請求項１から請求項７のいずれかに記載の車体色判別装置。
【請求項１０】
前記水平面色判別手段は、水平面を構成する画素のうち、
当該色の画素数が、最も多い色を水平面の色と判別する請求項１から請求項９のいずれかに記載の車体色判別装置。
【請求項１１】
前記水平面色判別手段は、水平面を構成する画素のうち、
当該色の画素数が、水平面全体の画素数の一定割合以上であることを条件にして、色を判別する請求項１０記載の車体色判別装置。
【請求項１２】
最も面積が大きい水平面の色を車体色とする請求項１から請求項１１のいずれかに記載の車体色判別装置。
【請求項１３】
複数の水平面 の色ごとに、複数の車体色として出力する請求項１から請求項１１のいずれかに記載の車体色判別装置。
【請求項１４】
道路を走行する車両の車体の水平面を抽出し、
抽出された水平面の色を判別し、
判別された水平面の色に基づいて車体の色を判別することを特徴とする車体色判別方法。
【請求項１５】
道路を走行する車両を撮影し、
道路を走行する車両の車体の水平面を抽出し、
抽出された水平面の色を撮影した画像に基づいて判別し、
判別された水平面の色に基づいて車体の色を判別することを特徴とする車体色判別プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理により、車両の色情報を判別することのできる車体色判別装置に関するものである。
【背景技術】
【０００２】
円滑な交通捜査支援のために、詳細な交通情報提供が求められている。詳細な車両種別情報の提供により、特定車両の追跡が可能になる。
従来のナンバープレートによって車両を識別する方法では、ナンバープレートの汚れや曲がり等があるので、それだけでは車両を確実に特定できないという問題があった。
そこで、特許文献１で画像処理により車両の塗装色を判別する方法が提案されている。この方法は、撮影した画像の濃度分布から車両の存在有無を判定し、車両が存在する場合には、濃度分布に基づいて車両の特定エリア（具体的には、濃度分布が一様な部分）を抽出し、特定エリアの色を車体色とする。
【０００３】
また、特許文献２では、白色光を車両に照射し、受光部で受光した反射光の波長スペクトルの波長強度分布から車体色を判別する。あるいは、反射波をカラーカメラで撮影し、RGB の平均値を車体色とする。
【特許文献１】特開2000-222673号公報
【特許文献２】特開2000-334665号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
車体色を判別する際には、判別対象を車両のどの部分にするかが、大きなポイントである。カメラは、道路の上から道路を見下ろすようにして撮影するので、一般的な車両の場合、屋根やボンネットといった水平な面を対象とするのが望ましい。
ところが、特許文献２のように、車体色を判別するのにRGB の平均値を用いると、フロントグリルやフロントガラスなど、色の付いていない領域も対象となり、誤判定の原因となる。
【０００５】
特許文献１のように濃度分布が一様（のっぺりしている）部分を対象とすると、フロントガラスものっぺりしているので、フロントガラスやフロントグリルの色も判別してしまい、やはり誤判定の原因となる。
そこで、本発明は、車両を計測し、水平面と判断された領域を対象として車体色を判別することのできる車体色判別装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の車体色判別装置は、道路を走行する車両を撮影する撮影手段と、道路を走行する車両の車体の水平面を抽出する水平面抽出手段と、前記水平面抽出手段によって抽出された水平面の色を、前記撮影手段の撮影画像に基づいて判別する水平面色判別手段とを備え、前記水平面色判別手段によって判別された水平面の色に基づいて車体の色を判別することを特徴とする。
【０００７】
ここで「水平面」とは、厳密な水平面をいうだけでなく、車両の屋根やボンネットなど、緩やかな凸面を有する面、少しの角度だけ傾いた面を含む概念とする。
本発明では、車体色を判別するのに水平面を抽出することとしている。例えば屋根やボンネットである。これらの水平面を対象とすれば、車体色が明確に判別できるという利点がある。
【０００８】
撮影画像に基づいて、当該車体のライン部分を検出し、ほぼ同じ高さの２つのライン部分で挟まれる面を水平面とすることができる。
撮影画像に基づいて、当該車体のライン部分を検出し、当該ライン部分の高さと長さを算出し、ほぼ同じ高さであってほぼ同じ長さの２つのライン部分で挟まれる面を水平面とすると、さらに確実に水平面が特定できる。
【０００９】
また、電磁波を発射し、発射した電磁波の反射波に基づいて水平面を抽出することとしてもよい。
１つの車体から、高さの違うライン部分が複数抽出される場合がある。前記水平面抽出手段は、高さの違うライン部分が複数あれば、高さの高いライン部分のペアから優先的に水平面を抽出していくとよい。これは、経験上、高い水平面ほど面積が広いので、色を判別しやすくなるからである。
【００１０】
車両走行方向に沿った距離の違うライン部分が複数あれば、２つのライン部分間の距離の長い水平面から抽出していくとよい。経験上、車体の面積の広い水平面ほど、色を判別しやすくなるからである。
前記距離が最も長いライン部分の間に、すでに抽出された水平面が存在するときは、当該２つのライン部分に基づいて水平面を抽出しないことが好ましい。これは、２つのライン部分に囲まれた部分に水平面がすでに抽出されているときは、その水平面を囲む水平面というものは存在し得ないからである。
【００１１】
また、車両横断方向の長さの違う水平面が複数あれば、長さの長いライン部分のペアから優先的に水平面を抽出していくとよい。経験上、横幅の長い水平面ほど面積が広いので、色を判別しやすくなるからである。
また、カメラから見て画面が逆光か順光かを判断し、順光／逆光に応じて、水平面の明るさを判別するしきい値を変動させるとよい。順光／逆光によって画面の明るさが違って見えるので、このような補正を行うことによって、色判別の正確性が向上する。
【００１２】
また、面積の小さい水平面を水平面色判別の対象から除外してもよい。面積が小さい水平面は、検出誤差により間違って抽出した可能性があるからである。
光の反射・吸収の具合によって、水平面の部位により色が異なることがあるが、このときは水平面を構成する画素のうち、画素数の最も多い色を、車体色と判別すればよい。
当該色の画素数が、水平面全体の画素数の一定割合以上あることを条件にしてもよい。水平面の部位により色が多岐にわたって異なる場合、一定割合以上の色が判別できないことがあるが、この場合は、色判別の対象から除くためである。
【００１３】
また、複数の水平面について判別した色が異なる場合、最も面積が大きい水平面の色を車体色とするとよい。最も面積が大きい水平面の色が最も正確に当該車両の色を表すと考えられるからである。
また、複数の水平面について判別した色が異なる場合、複数の水平面  の色ごとに、複数の車体色として出力してもよい。複数の水平面について別の色を有する車両もあるからである。例えば屋根とボンネットの色が異なる場合である。
【００１４】
また、本発明の車体色判別方法及びプログラムは、前記車体色判別装置の発明と同一発明にかかる方法及びプログラムである。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を、添付図面を参照しながら詳細に説明する。
図１は、本発明の車体色判別装置の設置図を示す。
道路上方に道路面を俯瞰するように、カメラ２を所定の高さに設置している。カメラ２の視野範囲５は、道路の一車線上にある。
カメラ２の撮影画像は、映像ケーブル３を通して計測装置４に入力される。計測装置４は、通信手段を持ち、計測結果を遠隔地の処理センターに提供することができる。
【００１６】
図２に、カメラ２で撮影した撮影画像の例を示す。
カメラ２の視野範囲５は、図２のように車両のボンネットや屋根などの、車両の水平面を抽出しやすい程度の視野（左右方向３〜４ｍ、縦方向５〜６ｍ程度）とする。
図３は、計測装置４の構成例を示すブロック図である。
計測装置４は、カメラ２の画像を取り込み、カメラ２の画面上に設定した車両検出用の計測範囲内での車両の有無を判定し、車両が検出された場合に、水平ラインの検出、水平面の特定、車体色判別等の演算処理を実行する。
【００１７】
計測装置４は、画像入力部４１、Ａ／Ｄ変換部４２、画像メモリ４３、演算部４４、通信部４５を有する。
画像入力部４１は、カメラ２の画像を取り込むためのインターフェイスを提供する。Ａ／Ｄ変換部４２は、画像信号をデジタル変換する。画像メモリ４３は、デジタル変換した画像データを一時的に格納する。演算部４４は、水平ラインの検出、水平面の特定、車体色判別等の演算処理を実行する。通信部４５は、信号機や表示板、交通管制センター等との通信を行って、車体色の情報を伝える。
【００１８】
なお、前記カメラ２と前記計測装置４は一体型としても良い。
図４は、計測装置４の行う車体色判別処理方法を示すフローチャートである。計測装置４の各部の機能の全部又は一部は、ＣＤ−ＲＯＭやハードディスクなど所定の媒体に記録されたプログラムを、計測装置４の演算部４４が実行することにより実現される。
演算部４４は、画像入力部４１を通して画像を取り込み、画像メモリ４３に記憶させる（ステップＳ１）。画像の取り込み間隔は、例えば１秒間に３０枚とする。
【００１９】
演算部４４は、画像メモリ４３に記憶された画像に基づいて、画面の中に車両が存在するかどうかを検出する（ステップＳ２）。
例えば、予め車両が存在しない場合の路面画像（以下、背景画像と呼ぶ）を作成しておき、取り込んだ画像（以下、入力画像と呼ぶ）との明るさの差を算出し、閾値以上の変化が検出された場合を車両有りとし、閾値以下の変化の場合は車両なしとする（ステップＳ３）。
【００２０】
あるいは、路面模様の明るさ変化のある部分（以下、ラインと呼ぶ）の位置を予め記憶しておき、入力画像についてもラインを算出し、それらのラインの鋭さの差を算出し、閾値以上の差が検出された場合を車両有りとし、閾値以下の変化の場合は車両なしとすることもできる。
車両ありと判定された場合、車両の速度検出を行う（ステップＳ４）。車両の速度検出には公知の手段を用いることができる。例えば、カメラ２の側に超音波式ドップラーレーダを設置して、車両の速度を測定することができる。また、道路に埋め込み式の車両感知器を２つ設置し、車両がこれらの車両感知器を通過した時間を測定して、車両の速度を知ることができる。
【００２１】
速度検出後、水平ライン検出処理と水平面の抽出処理を行う（ステップＳ５〜Ｓ７）。
水平ライン検出処理（ステップＳ５）を、図５を参照して詳しく説明する。
まず、各画素毎に、前時刻と現時刻の明るさの差を算出し、その差が閾値以上ある場合、時間差分変化ありとする（ステップＴ１）。これは、路面標示等の動かない路面のラインを消すためである。
【００２２】
次に、時間差分変化ありの画素について、水平エッジの有無を算出する（ステップＴ２）。これは例えば、図６に示すように、注目画素及びその周辺画素の９画素に対して、ソーベルフィルタ処理を行い、計算値Ｄの絶対値が閾値以上であった場合、注目画素（＊）において水平ラインありとする。
計算式は、例えば
Ｄ＝Ｉ11 ×１＋Ｉ12 ×２+Ｉ13 ×１-Ｉ31 ×１-Ｉ32 ×２-Ｉ33 ×１
である（Ｉjkは、行列の第ｊ行第ｋ列の画素の輝度を表す）。
【００２３】
次に、時間差分変化があり、水平ラインを構成する画素に対して、細線化処理をする（ステップＴ３）。これは、近接するラインを除去し、水平ラインを検出しやすくするための処理である。例えば、Hilditchの細線化アルゴリズム（「画像の処理と認識」、安居院他、昭晃堂参照）を用いて、水平ライン画像を細線化する。
図７は、細線化された水平ライン画像の一例を示す図である。
【００２４】
次に、この画面の水平方向に水平ライン数を算出して、図７の右端に示すように、ヒストグラムをつくる（ステップＴ４）。
このヒストグラムに基づいて、画面の上部から下部にかけて（下部から上部でもよい）、水平ライン数が、その水平ラインの上下に隣接する水平ラインと比較して閾値以上大きいラインを検出する（ステップＴ５）。これは図７に円で囲んだ、尖ったピークの部分に該当する。このラインを「水平ライン」という。
【００２５】
ただし、短い水平ライン（例えば１m以下）は除外する。短い水平ラインは車両のボンネットや屋根に属するラインでない可能性が高いからである。
このようにして水平ラインの検出処理が終われば、図４に戻り、ステップＳ６の水平ラインの高さ算出処理に入る。この高さ算出処理では、車両の速度情報を用いる。
なお、以下説明する水平ラインの高さ算出は車両の速度情報と１台の単眼カメラを使う方法であり、一例である。
【００２６】
以下、水平ラインの高さ算出処理を詳しく説明する。
図８は、検出された水平ラインの画面上の位置を縦軸に、時刻を横軸にとったグラフである。水平ラインが３本写った場合を例示している。
図８において、各水平ラインの軌跡は、画面上における見かけの動きであり、各時刻における実空間上での位置を射影したものである。車両の走行に従って、水平ラインが画面の上から下へ移動している。
【００２７】
ここで、実空間と撮影面上の座標の変換式を定義する。
図９のように、実空間での座標系を（ｘ，ｙ，ｚ）とし、カメラ２の撮影面上での座標系を（ｐ，ｑ）とする。
実空間では、垂直方向をｚ、道路の延びる方向をｙ、道路を横断する方向をｘにとる。
カメラ２は、道路の延長線上に設置されており、その撮影面では、道路横断方向ｘと平行に横軸ｐをとり、横軸ｐと直角に縦軸ｑをとる。縦軸ｑは、道路の垂直方向ｚに対して、俯角に相当する角度αだけ傾いているものとする。
【００２８】
ここでは、カメラ２が道路の延長線上に設置されていて、車両はカメラ２に向かって近づいてくることを前提にしているので、実空間での道路横断方向ｘへの動きは考慮しない。撮影面では水平ラインの位置座標ｑのみを考慮し、それに直交する座標ｐは無視する。従って、実空間での車両の座標は（ｙ，ｚ）となり、撮影面ではｑとなる。
撮影面上での座標ｑ（単位：画素数）と、実空間上での座標点（ｙ，ｚ）には、次の（１）（２）式の関係式が成立する。
【００２９】
ただし、カメラ２のレンズの焦点距離ｆ、カメラ２の設置高さＨ、撮影面上のｑ軸方向の高さＳｑと、Ｓｑに相当する撮影面のｑ軸方向の画素数Ｎｑとの比（一画素のサイズ）は既知であり、定数値として扱う。
ｚ＝Ｈ−（ｆtan α−ξ）ｙ／（ ξtanメ{ｆ）    （１）
ξ＝（Ｓq／Ｎq）ｑ            （２）
ここで、ξは水平ラインの撮影面上の高さである。微小時間（画面上下範囲を通過する時間）内での車両の移動速度ｖは検出済みであるから、所定時刻からの経過時間に基づいて各時刻でのｙ座標ｙ(t)が算出できる。
【００３０】
水平ラインの実空間上での高さｚを、ある一定値に仮定する。
すると（１）式から、前記ｙ(t)に基づいて、 ξ(t)が時間の関数として算出できる。この ξ(t)を使えば、（２）式からｑ(t)が時間の関数として求まる。
従って、このｑ(t)を時間の関数として、曲線Ｕを描くことができる。
水平ラインの実空間上での高さｚを変数（パラメータ）とし、高さｚを変えていけば、複数のｑ(t)を描いた曲線群ができる。
【００３１】
図１０は、水平ラインの実空間上での高さｚを変数として、これらのｑ(t)の曲線群Ｕを示すグラフである。
同図では、各曲線とも、時刻ｔ0における撮影面上の高さを同一値ｑsに統一している。また同図で、高さｚは、ｚ0＞ｚ1＞ｚ2の関係がある。
高さｚ0に対応する曲線Ｕ0は、短い時間で撮影面を上端から下端まで（撮影面の上端から下端までを「カメラ２の視野」という）通過していることがわかる。この現象は、高さの高い物体、例えば車両の屋根などは、比較的短時間でカメラ２の視野を横切るという経験則に対応している。
【００３２】
これとは逆に、高さの低い物体、例えば車両のバンパーなどは、同じ速度で走行していも、比較的長時間かかってカメラ２の視野を通過する。
図１０のグラフでは、高さｚ2に対応する曲線Ｕ2は、長い時間をかけて撮影面を通過している。
従って、車両の移動速度が分かっているとして、水平ラインがこのカメラ２の視野を通過する時間Ｔを測定すれば、当該物体の高さが求まる。
【００３３】
また、車両の移動速度が分かっているとして、水平ラインがこのカメラ２の視野を通過する時間Ｔに代えて、水平ラインがこのカメラ２の視野を通過する見かけ上の速度（画面の上端から下端までの距離（ｑ0−ｑ1）を前記時間Ｔで割ったもの）に基づいても、当該物体の高さを求めることができる。
例えば図１０では、水平ラインの時々刻々の軌跡例がプロットされており、それらの点がカメラ２の視野を通過するのに時間Ｔかかっているとする。この時間Ｔをかけてカメラ２の視野を通過する曲線Ｕ*を特定することができる。曲線Ｕ*に対応する高さをｚ*とすると、そのｚ*が水平ラインの実空間上での高さとなる。
【００３４】
また、前記時間Ｔや見かけ上の速度を測定する代わりに、水平ラインの時々刻々の軌跡（つまり曲線Ｕの形）が分かるのであるから、この軌跡の形を、曲線群Ｕを構成する各曲線にフィッティングさせて最も傾きの似ている曲線を特定してもよい。すると、この曲線に対応する高さがわかる。
例えば図１０では、撮影された水平ラインの時々刻々の軌跡がプロットされているが、それらの点は、曲線Ｕ*にフィットしているとする。曲線Ｕ*に対応する高さをｚ*とすると、そのｚ*が水平ラインの実空間上での高さとして求まる。
【００３５】
なお、前記曲線群の形は、車両の移動速度が違えば違ったものになるので、車両の移動速度ごとに、曲線群を用意しなければならない。
しかし、１つの移動速度に対応する曲線群を持っておけば、他の移動速度の曲線群は、時間のスケールを延び縮みさせるだけで簡単に求めることができる。
以上の説明では、図１０に示したように、グラフ上で時間を計り、曲線形の一致を調べていたが、これらの処理は、実際には、コンピュータの計算処理機能を利用して行うことは言うまでもない。例えば、前記曲線形の一致を調べるには、最小自乗法など、公知の最尤推定法を用いればよい。
【００３６】
以上のようにして、水平ラインの実空間上の高さｚが分かり、その画面上の時々刻々の位置ｑを用いて、（１）式により、車両からカメラ２までの距離ｙを算出できる。このように、水平ラインの実空間上の座標（ｙ，ｚ）が分かる。
なお、水平ラインの検出処理は、上に述べた方法に限られるものではない。上に述べた方法は、１台のカメラ（単眼カメラ）を使った方法であったが、例えば、２台のカメラ（複眼カメラ）を使って物体の実空間での高さを求めることもできる。
【００３７】
この方法は、縦に並べた２台のカメラを使って車両を撮影し、各カメラからの画像を逐次取り込んで三角測量の原理を用いて三次元計測をすることにより、車両の実空間上の三次元座標を求める方法である。縦に並べた２台のカメラは平行に設置され、等しい焦点距離を有し、各撮像面を同一平面上に位置させている。したがって、空間中の所定の物点にかかる各入力画像上における結像位置は、上下方向にのみずれることになる。このずれに基づいて、前記物点の実空間上の三次元座標を求めることができる（特開平11-259792号公報[0042]-[0051]参照）。
【００３８】
このように単眼カメラを使う場合、複眼カメラを使う場合のいずれであっても、既設のカメラを流用することができれば、コスト増が押えられるというメリットがある。
次に、図４のステップＳ７の水平面の抽出処理を行う。
この処理は、水平ラインのうち、高さが近いペア又は高さと長さが近いペアを選んで、それらに挟まれる面を水平面とする処理である。
【００３９】
図１１は、車体の撮影画像から、５本の水平ラインを検出した状態を示す図である。水平ラインは図において太線で示している。高さが同じラインは、上から１つ目と２つ目のラインであるとともに、上から３つ目と４つ目のラインである。このように２つのペアが抽出される。なお高さが同じとは、２つの高さをｈ１，ｈ２とすると、例えば、高さの差の絶対値｜ｈ１−ｈ２｜がしきい値以下、又は高さの比と１との差の絶対値｜（ｈ１／ｈ２）−１｜がしきい値以下の場合を言う。このしきい値の選び方は、車両の屋根やボンネットのように少しの角度傾いている面は抽出され、フロントガラスやリアガラスのように大きく傾いている面は抽出されないような値を選ぶとよい。
【００４０】
抽出されたペアは同じ高さであっても、長さが違っていると同一水平面に属しない可能性が高いので、排除するのが好ましい。
なお長さが同じとは、２つの長さをｘ１，ｘ２とすると、例えば、長さの差の絶対値｜ｘ１−ｘ２｜がしきい値以下、又は長さの比と１との差の絶対値｜（ｘ１／ｘ２）−１｜がしきい値以下の場合を言う。
【００４１】
もし高さの違うペアが複数あれば、高さが高い水平ラインのペアから優先的に水平面を抽出してもよい。車体の場合、高さの高い屋根の方が水平面が広く、ペアリングしやすいと思われるためである。
例えば図１２に示すように、上から１つ目と２つ目のラインのペアによって車両の屋根を抽出する。上から１つ目と２つ目のラインのペアによってできるボンネットも抽出する。車両の屋根の方が高さが高いので、車両の屋根を優先的に抽出する。
【００４２】
車両走行方向（ｙ方向）に沿った距離の違う水平ラインが複数あれば、２つのライン間の距離の長い水平面から抽出していくとよい。また、車両横断方向（ｘ方向）の長さの違う水平ラインが複数あれば、長さの長い水平ラインのペアから優先的に水平面を抽出していくとよい。水平面の面積の大きなものをなるべく抽出したいためである。
ただし、ペアができても、その間に既に高さの違う水平面がある場合は除く。なぜなら、既に高さの違う水平面がある場合、それを含むような水平面はあり得ないためである。
【００４３】
水平面の抽出処理が終われば、車両検出回数を１加算し（図４；ステップＳ８）、ステップＳ１に戻る。
以下、次に取り込んだ画像に基づいて、ステップＳ２以下の処理を繰り返す。
ステップＳ３で、画像内に車両がなくなったと判定された場合、ステップＳ９に移り、今までの車両検出回数をしきい値ｎと比較する。
【００４４】
車両検出回数の閾値ｎは、例えば「３」程度に設定する。これは、連続した車両検出が３回以下しかできなかったのであれば、本当に車両であったかどうか疑わしいので、以下の車体色出力処理をやめるためである。
車両検出回数が閾値ｎを超えていたら、ステップＳ１０に移り、ステップ車体色の判別処理を行う。
【００４５】
図１３は、車体色判別処理を説明するための詳細フローチャートである。
いままで抽出した水平面を順に処理する（ステップＵ１）。複数の画像でそれぞれ水平面を抽出したときは、車体の同じ部位の水平面であっても別個の水平面として扱う。
面積の小さい水平面を除外するため、基準値（例えば１ｍ2）と比較する（ステップＵ２）。これは、小さな水平面は色の判別が十分にできないからである。
【００４６】
次に、水平面に含まれる画素を順に処理する（ステップＵ３）。
１つの画素の色の判別する（ステップＵ４）。画素の色を判別するには、RGB をHSI （色相(Hue)、彩度(Saturation) 、輝度(Value) ）に変換する。ただし、R，G，B，S，I は0 から1 の値、H は0°≦H＜360°の角度をとる。
次に、HIS 値に応じて、各色に分類する。ここでは、赤／オレンジ／黄緑／緑／シアン／青／紫／マゼンタ／黒／灰色／白の１１色に分類する場合を例に挙げる。
【００４７】
まず、各画素のS（彩度）に応じて、有彩色か無彩色かに分類する。例えば、S≧0.2 の場合に有彩色とし、S＜0.2 の場合に無彩色とする。
無彩色と判断された場合は、I （輝度）に応じて、下記の基準で黒／灰色／白に分類する。黒：0.0 ≦Ｉ≦0.2 ，灰色：0.2＜Ｉ ≦0.8 ，白：0.8＜Ｉ≦1.0 。
ただし、黒／灰色／白に分類する閾値(0.2, 0.8)は、順光／逆光に応じて変動させてもよい。カメラの位置および方向、現在日時から太陽の位置を判断し、カメラから見て逆光か順光かを判断する。逆光の時は、水平面は明るめに見えるので、閾値を上げる。
【００４８】
有彩色の場合は、H に応じて赤／オレンジ／黄緑／緑／シアン／青／紫／マゼンタのいずれに相当するかを分類する。
次に、水平面の色を判別する（ステップＵ６）。次の(1)(2)の条件を両方とも満たした場合、水平面の色を判別する。該当する色がない場合、当該水平面の色は判別不可とする。
(1)当該色の画素数が、最も多い。（度数が最大）
(2)当該色の画素数が、水平面全体の画素数の一定割合（例えば40%）以上である。
【００４９】
車体の色は、次のいずれかの基準で決定する（ステップＵ９）。
(a)最も面積が大きい水平面の色を車体色とする。（色を一つだけ出力する）
(b)ボンネット、屋根など、水平面ごとに色を出力する。（全ての色を出力する）
このようにして車体色を決定する。
車体色が決定されると、図４のステップＳ１１で、判別された車体色の情報を、通信部４５を介して出力する。
【００５０】
以上で、本発明の実施の形態を説明したが、本発明の実施は、前記の形態に限定されるものではない。例えば、レーザースキャンによって各画素の高さを検出して、水平面を直接抽出することもきる。
このレーザースキャンによる方法を、図１４〜図１５を用いて説明する。
図１４は、実空間での座標系（ｘ，ｙ，ｚ）と、カメラ２の撮影面上での座標系（ｐ，ｑ）との関係を示す座標図であり、図９と実質的に同じ図である。
【００５１】
図９と異なるところは、本実施形態では、カメラ２にレーザー式測距器６が付属しており、このレーザー式測距器６のレーザー照射によって、道路上の対象物の反射波を検出し、その対象物までの距離ｄが算出できることである。
したがって、対象物の撮影画面上の座標ｐ，ｑと、対象物までの距離ｄがわかる。座標ｐ，ｑと距離ｄが分かれば、カメラパラメータ（カメラの位置および方向：既知）を用いて、図１４のように対象物の地面からの高さｈを求めることができる。
【００５２】
レーザー式測距器６は、カメラの撮影範囲内でスキャンできるものとする。レーザー測距点は、図１５のように、カメラの撮影範囲上に、格子状に分布する。
従って、この対象物の地面からの高さｈを、カメラの撮影範囲上にプロットすることができる。
高さｈが同じ点をまとめて、水平面を抽出することができる。この水平面を、図１５に車線ハッチングで示している。
【００５３】
水平面が抽出されれば、図１３を用いて説明した車体色判別処理を用いて、車体色の判別を行うことができる。
このレーザースキャン法の利点は、カメラのみを用いて水平面を抽出する場合に比べて、水平面を検出する精度が高く、正確に水平面を検出することができることである。なお、このレーザースキャン法と、前述したカメラを用いて水平面を抽出する方法とを併用してもよい。
【図面の簡単な説明】
【００５４】
【図１】車体色判別装置の構成図である。
【図２】カメラの撮影画像例を示す図である。
【図３】計測装置の構成例を示すブロック図である。
【図４】車両色判別方法を説明するためのフローチャートである。
【図５】水平ライン検出処理を説明するための詳細フローチャートである。
【図６】水平ラインの検出用マスクを示す図である。
【図７】細線化された水平ライン画像及び水平ライン数ヒストグラムを示す図である。
【図８】画面に写った各水平ライン位置の時空間上での軌跡図である。
【図９】実空間と撮影面上の座標を定義する座標図である。
【図１０】水平ラインの実空間上での高さｚを変数として、画面に写った各水平ライン位置ｑと時間ｔとの関係ｑ(t)を示すグラフである。
【図１１】撮影された車体における水平ラインを示す図である。
【図１２】水平ライン位置を結合して抽出された水平面を示す図である。
【図１３】車体色判別処理を示す詳細フローチャートである。
【図１４】実空間での座標系と、カメラ２の撮影面上での座標系との関係を示す座標図である。
【図１５】カメラの撮影範囲上のレーザー測距点の分布図である。
【符号の説明】
【００５５】
２  カメラ
３  映像ケーブル
４  計測装置
６  レーザー式測距器
４１  画像入力部
４２  Ａ／Ｄ変換部
４３  画像メモリ
４４  演算部
４５  通信部
【図１】
2007280041.tif 000003
【図２】
2007280041.tif 000004
【図３】
2007280041.tif 000005
【図４】
2007280041.tif 000006
【図５】
2007280041.tif 000007
【図６】
2007280041.tif 000008
【図７】
2007280041.tif 000009
【図８】
2007280041.tif 000010
【図９】
2007280041.tif 000011
【図１０】
2007280041.tif 000012
【図１１】
2007280041.tif 000013
【図１２】
2007280041.tif 000014
【図１３】
2007280041.tif 000015
【図１４】
2007280041.tif 000016
【図１５】
2007280041.tif 000017