(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024130941
(43)【公開日】2024-09-30
(54)【発明の名称】画像処理装置、画像処理方法およびプログラム
(51)【国際特許分類】
G06V 10/22 20220101AFI20240920BHJP
G06T 7/00 20170101ALI20240920BHJP
G06V 20/58 20220101ALI20240920BHJP
G06T 7/90 20170101ALI20240920BHJP
G08G 1/09 20060101ALI20240920BHJP
【FI】
G06V10/22
G06T7/00 650Z
G06V20/58
G06T7/90
G08G1/09 D
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2023040916
(22)【出願日】2023-03-15
(71)【出願人】
【識別番号】000237592
【氏名又は名称】株式会社デンソーテン
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】垣田 直士
(72)【発明者】
【氏名】松本 裕生
(72)【発明者】
【氏名】河野 貴
(72)【発明者】
【氏名】西島 康崇
(72)【発明者】
【氏名】木下 翔太
【テーマコード(参考)】
5H181
5L096
【Fターム(参考)】
5H181AA01
5H181BB04
5H181BB20
5H181CC04
5H181FF27
5L096BA04
5L096EA05
5L096FA32
5L096FA54
5L096GA19
5L096GA41
5L096JA11
(57)【要約】
【課題】信号機の背景領域を精度よく抽出し、信号機の灯火色の検出精度を向上させること。
【解決手段】実施形態に係る画像処理装置は、カメラ画像から信号機の灯火色を判定するコントローラを有する。コントローラは、カメラ画像に対する画像認識によって信号機が存在する信号領域を抽出し、信号領域の予め決められた小領域ごとの色成分に関する画素値の代表値を第1代表値として算出し、第1代表値から予め決められた範囲内の画素値を有する画素が、予め決められた数以上ある小領域を同一色領域と判定し、同一色領域における色成分に関する画素値の代表値を第2代表値として算出し、第2代表値から予め決められた範囲内の画素値を有する画素を、前記信号領域から除外して信号機の灯火色を判定する。
【選択図】
図4
【特許請求の範囲】
【請求項1】
カメラ画像から信号機の灯火色を判定するコントローラを有し、
前記コントローラは、
前記カメラ画像に対する画像認識によって前記信号機が存在する信号領域を抽出し、
前記信号領域の予め決められた小領域ごとの色成分に関する画素値の代表値を第1代表値として算出し、
前記第1代表値から予め決められた範囲内の画素値を有する画素が、予め決められた数以上ある前記小領域を同一色領域と判定し、
前記同一色領域における色成分に関する画素値の代表値を第2代表値として算出し、
前記第2代表値から予め決められた範囲内の画素値を有する画素を、前記信号領域から除外して前記信号機の灯火色を判定する、
画像処理装置。
【請求項2】
前記コントローラは、
前記第2代表値から予め決められた範囲内の画素値を背景色成分と判定し、
前記信号領域において前記背景色成分を有する画素を抽出した背景マップを生成し、
前記信号領域から前記背景マップが示す背景領域を予め決められた画素分拡張したうえで前記信号領域から除外する、
請求項1に記載の画像処理装置。
【請求項3】
前記コントローラは、
前記信号領域において前記信号機の背景が写り込む領域として予め設定される前記小領域ごとの前記第1代表値を算出する、
請求項1に記載の画像処理装置。
【請求項4】
前記コントローラは、
抽出した前記信号領域を横型の前記信号機となるように回転させたうえで、前記信号領域の上部および下部における前記小領域ごとの前記第1代表値を算出する、
請求項3に記載の画像処理装置。
【請求項5】
前記コントローラは、
抽出した前記信号領域の前記信号機が縦型である場合に、前記信号領域の左部および右部における前記小領域ごとの前記第1代表値を算出する、
請求項3に記載の画像処理装置。
【請求項6】
前記コントローラは、
前記小領域ごとの各画素のYUV値の平均値を前記第1代表値として算出し、前記同一色領域における各画素のYUV値の平均値を前記第2代表値として算出する、
請求項1に記載の画像処理装置。
【請求項7】
カメラ画像から信号機の灯火色を判定する画像処理装置が実行する画像処理方法であって、
前記カメラ画像に対する画像認識によって前記信号機が存在する信号領域を抽出することと、
前記信号領域の予め決められた小領域ごとの色成分に関する画素値の代表値を第1代表値として算出することと、
前記第1代表値から予め決められた範囲内の画素値を有する画素が、予め決められた数以上ある前記小領域を同一色領域と判定することと、
前記同一色領域における色成分に関する画素値の代表値を第2代表値として算出することと、
前記第2代表値から予め決められた範囲内の画素値を有する画素を、前記信号領域から除外して前記信号機の灯火色を判定することと、
を含む、画像処理方法。
【請求項8】
前記第2代表値から予め決められた範囲内の画素値を背景色成分と判定し、
前記信号領域において前記背景色成分を有する画素を抽出した背景マップを生成し、
前記信号領域から前記背景マップが示す背景領域を予め決められた画素分拡張したうえで前記信号領域から除外すること、
をさらに含む、請求項7に記載の画像処理方法。
【請求項9】
前記信号領域において前記信号機の背景が写り込む領域として予め設定される前記小領域ごとの前記第1代表値を算出すること、
をさらに含む、請求項7に記載の画像処理方法。
【請求項10】
抽出した前記信号領域を横型の前記信号機となるように回転させたうえで、前記信号領域の上部および下部における前記小領域ごとの前記第1代表値を算出すること、
をさらに含む、請求項9に記載の画像処理方法。
【請求項11】
カメラ画像から信号機の灯火色を判定するコンピュータに、
前記カメラ画像に対する画像認識によって前記信号機が存在する信号領域を抽出すること、
前記信号領域の予め決められた小領域ごとの色成分に関する画素値の代表値を第1代表値として算出すること、
前記第1代表値から予め決められた範囲内の画素値を有する画素が、予め決められた数以上ある前記小領域を同一色領域と判定すること、
前記同一色領域における色成分に関する画素値の代表値を第2代表値として算出すること、
前記第2代表値から予め決められた範囲内の画素値を有する画素を、前記信号領域から除外して前記信号機の灯火色を判定すること、
を実行させる、プログラム。
【請求項12】
前記第2代表値から予め決められた範囲内の画素値を背景色成分と判定し、
前記信号領域において前記背景色成分を有する画素を抽出した背景マップを生成し、
前記信号領域から前記背景マップが示す背景領域を予め決められた画素分拡張したうえで前記信号領域から除外すること、
をさらに前記コンピュータに実行させる、請求項11に記載のプログラム。
【請求項13】
前記信号領域において前記信号機の背景が写り込む領域として予め設定される前記小領域ごとの前記第1代表値を算出すること、
をさらに前記コンピュータに実行させる、請求項11に記載のプログラム。
【請求項14】
抽出した前記信号領域を横型の前記信号機となるように回転させたうえで、前記信号領域の上部および下部における前記小領域ごとの前記第1代表値を算出すること、
をさらに前記コンピュータに実行させる、請求項13に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
開示の実施形態は、画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【0002】
従来、車両からのカメラ画像に対するテンプレートマッチングにより、信号機および信号機の灯火色を検出する技術が提案されている(例えば、特許文献1参照)。
【0003】
この技術では、光の当たり方などが異なる様々な環境で撮像された信号機の多数のサンプル画像から、青色、黄色、赤色といった信号機の各灯火色に応じた複数のテンプレート画像を生成する。テンプレート画像における各画素の色相、彩度および明度の各値は、サンプル画像群における同一画素の色相、彩度および明度の各平均値が設定される。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した従来技術では、カメラ画像における信号機の背景領域をテンプレートマッチングの対象から除外することについては十分に考慮されていない。このため、上述した従来技術を用いた場合、この背景領域の色成分である背景色成分によって信号機の灯火色が誤検出されてしまうおそれがある。
【0006】
具体的には、例えば信号機の背景の大半が青空である場合に、青色灯火に対応するテンプレート画像がたまたま背景領域にマッチングしてしまうと、青色灯火時ではないにも関わらず信号機を青色灯火の状態にあると誤検出してしまうおそれがある。
【0007】
また、サンプル画像は、様々な環境で撮像されるとは言え、あらゆる環境を網羅することは事実上困難である。このため、上述した従来技術を用いた場合、サンプル画像にない実環境に遭遇した場面では検出精度が低下するおそれがある。
【0008】
実施形態の一態様は、上記に鑑みてなされたものであって、信号機の背景領域を精度よく抽出し、信号機の灯火色の検出精度を向上させることができる画像処理装置、画像処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
実施形態の一態様に係る画像処理装置は、カメラ画像から信号機の灯火色を判定するコントローラを有する。前記コントローラは、前記カメラ画像に対する画像認識によって前記信号機が存在する信号領域を抽出し、前記信号領域の予め決められた小領域ごとの色成分に関する画素値の代表値を第1代表値として算出し、前記第1代表値から予め決められた範囲内の画素値を有する画素が、予め決められた数以上ある前記小領域を同一色領域と判定し、前記同一色領域における色成分に関する画素値の代表値を第2代表値として算出し、前記第2代表値から予め決められた範囲内の画素値を有する画素を、前記信号領域から除外して前記信号機の灯火色を判定する。
【発明の効果】
【0010】
実施形態の一態様によれば、信号機の背景領域を精度よく抽出し、信号機の灯火色の検出精度を向上させることができる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、実施形態に係る画像処理方法の概要説明図(その1)である。
【
図2】
図2は、色抽出フィルタを適用して灯火色が誤判定される場合の説明図である。
【
図3】
図3は、実施形態に係る画像処理方法の概要説明図(その2)である。
【
図4】
図4は、実施形態に係る画像処理方法の概要説明図(その3)である。
【
図5】
図5は、実施形態に係る画像処理装置の構成例を示す図である。
【
図6】
図6は、変形例に係る画像処理装置の構成例を示す図である。
【
図7】
図7は、実施形態に係る画像処理装置が実行する処理手順を示すフローチャート(その1)である。
【
図8】
図8は、実施形態に係る画像処理装置が実行する処理手順を示すフローチャート(その2)である。
【
図9】
図9は、実施形態に係る画像処理装置が実行する処理手順を示すフローチャート(その3)である。
【
図10】
図10は、ステップS202~S203の説明図である。
【
図11】
図11は、ステップS204~S206の説明図である。
【
図13】
図13は、背景領域の拡張処理の説明図(その1)である。
【
図14】
図14は、背景領域の拡張処理の説明図(その2)である。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して、本願の開示する画像処理装置、画像処理方法およびプログラムの実施形態を詳細に説明する。なお、以下に示す実施形態によりこの発明が限定されるものではない。
【0013】
また、以下では、実施形態に係る画像処理装置10が、車両に搭載される車載装置であるものとする。画像処理装置10は、カメラ画像の画像認識によって、画像中の対象物や対象物の状態を検出可能に設けられた装置である。本実施形態では、検出する対象物が信号機300であるものとする。また、検出する対象物の状態が信号機300の灯火状態であるものとする。灯火状態は、信号機300の青色灯火、黄色灯火、赤色灯火のいずれかの状態を指す。さらに灯火状態は、矢印灯火の状態を含んでもよい。
【0014】
また、以下では、「所定」または「一定」との表現は、「予め決められた」と読み替えてもよい。
【0015】
まず、実施形態に係る画像処理方法の概要について、
図1~
図4を用いて説明する。
図1は、実施形態に係る画像処理方法の概要説明図(その1)である。
図2は、色抽出フィルタCFを適用して灯火色が誤判定される場合の説明図である。
図3は、実施形態に係る画像処理方法の概要説明図(その2)である。
図4は、実施形態に係る画像処理方法の概要説明図(その3)である。
【0016】
画像処理装置10は、信号機300の灯火状態を検出し、検出結果に基づいて例えば車両の信号無視判定を行う。かかる情報処理は、画像処理装置10が備えるコントローラ12(
図5参照)が実行する。
【0017】
図1に示すように、コントローラ12は、カメラ画像を入力とし、画像中から信号機300が存在する矩形領域を抽出する(ステップS1)。ステップS1では、コントローラ12は、機械学習のアルゴリズムを用いて学習されたDNN(Deep Neural Network)モデル等を使用して、画像中から信号機300が存在する矩形領域を抽出する。なお、以下では、かかる矩形領域を「信号領域SR」と呼ぶ。
【0018】
信号領域SRは、例えば25×25画素の常に同サイズの矩形領域として抽出される。コントローラ12は、カメラ画像において大小さまざまに写り込む信号機300を、この同サイズの矩形領域においてほぼ同じ大きさで信号機300が存在するようにカメラ画像からサンプリングしつつ信号領域SRを抽出する。
【0019】
このとき、コントローラ12は、信号機300が縦型である場合は、信号領域SRにおいて常に横型となるようにサンプリングを行う。すなわち、コントローラ12は、信号領域SRを適宜回転させて常に信号領域SRにおける信号機300を横型として取り扱う。
【0020】
つづいて、コントローラ12は、信号領域SRを入力として信号機300の灯火状態を判定する(ステップS2)。ステップS2では、コントローラ12は、信号領域SRを画像解析し、信号機300が青色灯火、黄色灯火、赤色灯火のいずれの灯火状態にあるかを判定する。また、コントローラ12は、赤色灯火の場合に信号機300がさらに矢印灯火の状態にあるかを判定する。
【0021】
次に、コントローラ12は、カメラ画像のフレーム間の差異により信号機300が走行する車両に対して相対的にどのように動くかを推定する動き推定を行う(ステップS3)。そして、コントローラ12は、ステップS2での灯火状態判定結果と、ステップS3での動き推定結果とに基づいて信号無視に該当するか否かを判定し(ステップS4)、その判定結果を出力する。
【0022】
本実施形態に係る画像処理方法は、破線の矩形で囲まれたステップS2において適用される。ステップS2で信号機300の灯火色を判定する場合においては、コントローラ12が色抽出フィルタCFを用いて信号領域SRから信号機300の各灯火色に対応する各色成分を抽出し、その抽出量に基づいて灯火色を判定する従来技術がある。抽出量は、例えば信号領域SRにおいて信号機300の各灯火色に対応する各色成分を有するとして抽出された画素の数である。
【0023】
具体的には、
図2に示すように、コントローラ12は信号領域SRに対し、青色抽出フィルタCF1を適用して信号領域SRから青色成分を抽出する。また、コントローラ12は信号領域SRに対し、黄色抽出フィルタCF2を適用して信号領域SRから黄色成分を抽出する。
【0024】
また、コントローラ12は信号領域SRに対し、赤色抽出フィルタCF3を適用して信号領域SRから赤色成分を抽出する。また、コントローラ12は信号領域SRに対し、矢印色抽出フィルタCF4を適用して信号領域SRから矢印色成分を抽出する。
【0025】
コントローラ12は、抽出した各色成分のうちまず青色成分、黄色成分および赤色成分の抽出量を比較し、例えば
図2に示すように最も抽出量の大きい色成分を灯火色と判定する。
【0026】
しかしながら、従来技術では、信号機300の背景領域を灯火色判定の対象から除外することについては十分に考慮されていない。このため、従来技術では、背景領域の色成分である背景色成分によって信号機300の灯火色が誤判定されてしまうおそれがある。
【0027】
具体的には、
図2の例で、信号機300は赤色灯火の状態にあるが、信号機300の背景の大半は青空であったものとする。すると、背景領域を考慮しない従来技術では、色抽出フィルタCFによって抽出された各色成分の抽出量が、例えば「青色成分の量>黄色成分、赤色成分の量」の関係となることが起こりうる。
【0028】
その結果、コントローラ12は、信号機300が赤色灯火の状態にあるにも関わらず、
図2に示すように青色灯火の状態にあると誤判定してしまうおそれがある。
【0029】
そこで、実施形態に係る画像処理方法では、ステップS2において信号機300の灯火色を判定するに際し、信号領域SRから背景色成分を抽出し、この背景色成分が示す背景領域を信号領域SRから除外したうえで、信号機300の灯火色を判定することとした。
【0030】
具体的には
図3に示すように、実施形態に係る画像処理方法では、コントローラ12は、抽出した信号領域SRを複数の小領域に分割する(ステップS21)。本実施形態では、コントローラ12は、信号領域SRを25(=5×5)の小領域に分割する。すなわち、1つの小領域は5×5画素分となる。なお、これは一例であって、信号領域SRの分割数や小領域のサイズを限定するものではない。
【0031】
つづいて、コントローラ12は、信号領域SRの上部および下部の小領域につき、領域ごとに色成分に関する画素値の代表値(「第1代表値」の一例に相当)を算出する(ステップS22)。信号領域SRの上部および下部の小領域は、上述したように信号領域SRに常に横型として信号機300が存在することから、背景が写り込みやすい領域として予め設定されている。これにより、コントローラ12は、背景が写り込む領域を例えば信号領域SRの上部および下部の小領域に絞り込むことができる。
【0032】
また、本実施形態では、コントローラ12は、ステップS22の色成分に関する画素値として、いわゆるYUV形式による色空間値(以下、適宜「YUV値」と言う)を用いる。なお、YUV値は、色成分に関する画素値のあくまで一例である。したがって、他の例を挙げると、色成分に関する画素値は例えばHSV形式による色空間値等であってもよい。また、本実施形態では、コントローラ12は、ステップS22のYUV値の代表値としてYUV値の平均値を算出する。
【0033】
つづいて、コントローラ12は、ステップS22で算出した代表値から一定範囲内の画素値を有する画素を同一色と判定する。また、コントローラ12は、同一色の画素が所定数以上ある小領域を同一色領域と判定する(ステップS23)。
【0034】
次に、
図4に示すように、コントローラ12は、同一色領域すべてにおける色成分に関する画素値の代表値(「第2代表値」の一例に相当)を算出する(ステップS24)。本実施形態では、コントローラ12は、ステップS24の同一色領域すべてにおける色成分に関する画素値としてステップS22と同様にYUV値を用いる。また、コントローラ12は、ステップS24のYUV値の代表値としてYUV値の平均値を算出する。
【0035】
なお、YUV形式は、色表現がUとVの直交座標系であり、矩形表現のため色の分離が難しいケースはあるものの、処理コストは低いという特性がある。このため、画像処理装置10は、必ずしも高い画像処理能力を有さなくとも、YUV値を用いることで信号機300の灯火色および背景色を判定することが可能となる。
【0036】
そして、コントローラ12は、ステップS24で算出した代表値から一定範囲内の画素値を背景色成分と判定する。また、コントローラ12は、背景色成分を有する画素を抽出した背景マップBMを生成する(ステップS25)。背景マップBMの具体例については、
図12を用いた説明で後述する。
【0037】
そして、コントローラ12は、信号領域SRから背景マップBMが示す背景領域を除外して灯火色を判定する(ステップS26)。これにより、信号領域SRにおける信号機300の背景の大半が青空であるような場合に、この青空の部分を信号機300の青色灯火時の青色成分として抽出してしまうことを抑制することができる。
【0038】
また、青空に限らず他にも、信号領域SRにおける信号機300の背景の大半が夕焼け空や樹木であるといった、背景が一様でかつ信号機300の各灯火色に似た色成分を持つような場合に同様の効果を期待できる。
【0039】
なお、本実施形態では、信号領域SRが25×25画素であるとしたが、この場合画像処理の負荷を下げられるというメリットはあるものの画像としての解像度は高くない。このため、信号領域SRにサンプリングされた信号機300は、画像処理におけるいわゆるオーバーシュート成分等のノイズ成分が背景との境界部分に生じやすい。このノイズ成分が背景領域以外として灯火色の判定対象に残ってしまうと、誤判定を招くおそれがある。
【0040】
そこで、本実施形態では、コントローラ12はさらに、背景マップBMが示す背景領域を所定の画素分拡張する背景領域の拡張処理を行う。コントローラ12は、この拡張処理により背景領域を拡張したうえで信号領域SRから除外する。これにより、コントローラ12は、オーバーシュート成分等のノイズ成分が灯火色の判定対象に残ることで誤判定を招くリスクを軽減することができる。背景領域の拡張処理の詳細については、
図13~
図14を用いた説明で後述する。
【0041】
図3~
図4を用いて説明したように、実施形態に係る画像処理方法では、コントローラ12がステップS2で信号機300の灯火色を判定するに際し、信号領域SRの予め決められた小領域ごとのYUV値の平均値を第1代表値として算出する。また、コントローラ12は、第1代表値から予め決められた範囲内の画素値を有する画素が、予め決められた数以上ある上記小領域を同一色領域と判定する。また、コントローラ12は、同一色領域におけるYUV値の平均値を第2代表値として算出し、第2代表値から予め決められた範囲内の画素値を有する画素を、信号領域SRから除外して信号機300の灯火色を判定する。
【0042】
これにより、実施形態に係る画像処理方法によれば、信号機300の背景領域を精度よく抽出し、信号機300の灯火色の検出精度を向上させることができる。また、実施形態に係る画像処理方法では、コントローラ12は、サンプル画像に基づいたテンプレートマッチングに依らず、信号機300の灯火色を判定する画像処理を行うので、信号機300の灯火時に関するあらゆる実環境に対応することが可能となる。
【0043】
以下、上述した実施形態に係る画像処理方法を適用した画像処理装置10の構成例について、より具体的に説明する。
【0044】
図5は、実施形態に係る画像処理装置10の構成例を示す図である。
図5に示すように、画像処理装置10は、記憶部11と、コントローラ12とを備える。また、画像処理装置10は、カメラ3と、出力部5とが接続される。
【0045】
カメラ3は、車両に搭載され、車両の前方を撮像可能に設けられる。なお、カメラ3は、車両の前方に限らず、車両の全周囲を撮像可能な360度カメラであってもよい。
【0046】
出力部5は、画像処理装置10からの出力情報を提示する出力デバイスである。出力部5は、ディスプレイやスピーカ等によって実現される。
【0047】
画像処理装置10は、車両に搭載されるコンピュータである。画像処理装置10は、少なくとも、
図1を用いて説明したステップS1~S4および
図3~
図4を用いて説明したステップS21~S26の情報処理を実行する。
【0048】
記憶部11は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の記憶デバイスによって実現される。記憶部11は、コントローラ12が実行する実施形態に係るプログラムを記憶する。また、記憶部11は、コントローラ12が実行する情報処理において用いられる各種の情報を記憶する。
【0049】
記憶部11は、例えば画像認識用のAI(Artificial Intelligence)モデルを記憶する。また、記憶部11は、色抽出フィルタCFの設定情報や、ステップS21~S26で算出される各種の算出値、背景マップBMなど、コントローラ12が実行する情報処理の過程において必要となる各種情報を適宜記憶する。
【0050】
コントローラ12は、いわゆるプロセッサに相当する。コントローラ12は、CPU(Central Processing Unit)や、MPU(Micro Processing Unit)や、GPU(Graphics Processing Unit)等によって実現される。コントローラ12は、記憶部11に記憶されている実施形態に係るプログラムを読み込んでRAMを作業領域として実行する。コントローラ12は、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)等の集積回路により実現することもできる。
【0051】
コントローラ12は、
図7~
図9の各フローチャートに示す処理手順による情報処理を実行する。
図7~
図9を用いた説明は後述する。
【0052】
なお、
図5に示すように、カメラ3、出力部5および画像処理装置10は、ドライブレコーダ1として実現することができる。この場合、カメラ3は、ドライブレコーダ1に搭載されるカメラユニットによって実現される。出力部5は、ドライブレコーダ1に搭載されるディスプレイやスピーカによって実現される。画像処理装置10は、ドライブレコーダ1に搭載されるマイコンによって実現される。
【0053】
図5に示す構成例は一例であり、この他にも変形例を挙げることができる。
図6は、変形例に係る画像処理装置10の構成例を示す図である。
図6に示すように、画像処理装置10は、画像処理ECU(Electronic Control Unit)9として実現することができる。この場合、カメラ3は、例えばドライブレコーダ1に搭載されるカメラユニットによって実現される。カメラ3は、ドライブレコーダ1以外の車載カメラユニットによって実現されてもよい。出力部5は、車両に搭載される車載出力装置7である車載ディスプレイや車載スピーカによって実現される。
【0054】
図6の例の場合、カメラ3および出力部5は、CAN(Controller Area Network)等の車載ネットワークを介して画像処理装置10と接続される。カメラ3および出力部5は、Bluetooth(登録商標)や、Wi-Fi(登録商標)、UWB(Ultra Wide Band)等を介して無線により画像処理装置10と接続されてもよい。
【0055】
次に、画像処理装置10のコントローラ12が実行する情報処理の処理手順について、
図7~
図9を用いて説明する。
図7は、実施形態に係る画像処理装置10が実行する処理手順を示すフローチャート(その1)である。
図8は、実施形態に係る画像処理装置10が実行する処理手順を示すフローチャート(その2)である。
図9は、実施形態に係る画像処理装置10が実行する処理手順を示すフローチャート(その3)である。
【0056】
コントローラ12は、
図1に示した信号無視判定を行うにあたり、
図7に示すように、カメラ3からカメラ画像を取得する(ステップS101)。つづいて、コントローラ12は、取得したカメラ画像から信号機300が存在する信号領域SRを抽出する(ステップS102)。
【0057】
本実施形態では、コントローラ12は、信号領域SRを25×25画素の矩形領域として抽出する。このとき、コントローラ12は、信号領域SRに常に横型の信号機300が存在するように信号領域SRを適宜回転させる。
【0058】
つづいて、コントローラ12は、抽出した信号領域SRに基づいて信号機300の灯火状態を判定する「灯火状態判定処理」を実行する(ステップS103)。
【0059】
この「灯火状態判定処理」では、
図8に示すように、コントローラ12は、信号領域SRを小領域に分割する(ステップS201)。コントローラ12は、予め決められたサイズによって信号領域SRを小領域に分割する。本実施形態では、コントローラ12は、信号領域SRを上述したように5×5画素分の小領域に分割する。
【0060】
そして、コントローラ12は、信号領域SRの上部および下部の小領域につき、領域ごとにYUV各値の平均値(「第1代表値」の一例に相当)を算出する(ステップS202)。本実施形態では、上述したように信号領域SRに常に横型の信号機300が存在することから、コントローラ12は、上部および下部の小領域を背景が写り込む領域として予め設定している。これにより、コントローラ12は、実際の信号機300が横型か縦型かに関わらず、信号領域SRに対する画像処理を横型の信号機300に対するものとして一律に取り扱うことができる。また、コントローラ12は、背景が写り込む領域を上部および下部の小領域に絞り込むことができる。
【0061】
そして、コントローラ12は、算出した各平均値から一定範囲内の画素値を有する画素を同一色と判定する(ステップS203)。そのうえで、コントローラ12は、同一色の画素が所定数以上ある小領域を同一色領域と判定する(ステップS204)。
【0062】
つづいて、コントローラ12は、同一色領域すべてにおけるYUV各値の平均値(「第2代表値」の一例に相当)を算出する(ステップS205)。そして、コントローラ12は、算出した各平均値から一定範囲内の画素値を背景色成分と判定する(ステップS206)。
【0063】
そして、コントローラ12は、背景色成分を有する画素を抽出した背景マップBMを生成する(ステップS207)。ここで、説明を分かりやすくするために、ステップS202~S207の各処理手順について、
図10~
図12を用いて説明する。
【0064】
図10は、ステップS202~S203の説明図である。
図11は、ステップS204~S206の説明図である。
図12は、背景マップBMの一例を示す図である。
【0065】
図10に示すように、ステップS202~S203では、コントローラ12は、信号領域SRの上部および下部の小領域である小領域#1~#10を処理対象とする。そして、コントローラ12は、小領域#1~#10ごとのYUV各値の平均値を算出し、各平均値から一定範囲内の画素値を有する画素を同一色と判定する。
【0066】
図10の例の場合、コントローラ12は、小領域#10における25個の画素#1~#25のY値、U値、V値の各平均値を算出する。そして、コントローラ12は、例えばY値がY値平均から±aの範囲内であり、U値がU値平均から±bの範囲内であり、V値がV値平均から±cの範囲内である画素値を有する画素を同一色と判定する。
図10の例の場合、少なくとも画素#24,#25が同一色と判定される。
【0067】
そして、同一色の画素が所定数以上ある小領域が小領域#1~#7,#10であった場合、コントローラ12は、
図11に示すようにこれら小領域#1~#7,#10を同一色領域と判定する。
【0068】
そして、コントローラ12は、同一色領域である小領域#1~#7,#10のYUV各値の平均値を算出し、各平均値から一定範囲内の画素値を背景色成分と判定する。
図11の例の場合、コントローラ12は、例えばY値についてはY値平均「151」から±8であり、U値についてはU値平均「142」から±4であり、V値についてはV値平均「117」から±4である画素値を背景色成分と判定する。すなわち、コントローラ12は、Y値が「143~159」の範囲内であり、U値が「138~146」の範囲内であり、V値が「113~121」の範囲内である画素値を背景色成分とする。
【0069】
そして、コントローラ12は、信号領域SRから背景色成分を有する画素を抽出した背景マップBMを生成する。
図12に示すように、背景マップBMは、信号領域SRと同じく25×25画素分のマップ情報として生成される。そして、背景色成分を有する画素の画素位置には例えばフラグ値「1」が、背景色成分を有さない画素の画素位置にはフラグ値「0」がそれぞれセットされる。なお、
図12の例はあくまで一例であるため、背景色成分を各画素位置にセットされる値を限定するものではない。セットされる値は、少なくとも背景色成分に該当する画素であるか否かを示す真理値であればよい。
【0070】
図8の説明に戻る。そして、コントローラ12は、ステップS207で背景マップBMを生成した後、背景マップBMが示す背景領域を拡張する(ステップS208)。ここで、背景領域の拡張処理について
図13~
図14を用いて説明する。
【0071】
図13は、背景領域の拡張処理の説明図(その1)である。
図14は、背景領域の拡張処理の説明図(その2)である。
【0072】
本実施形態では、信号領域SRが25×25画素であるとしているが、この場合画像処理の負荷を下げられるというメリットはあるものの、
図13に示すように画像としての解像度は高くない。このため、信号領域SRにサンプリングされた信号機300は、
図13のM1部やM2部に示すように、画像処理におけるいわゆるオーバーシュート成分等のノイズ成分が背景との境界部分に生じやすい。ノイズ成分は、
図13に示すように、信号領域SRにおいて信号機300と背景との境界を曖昧にさせる。このノイズ成分が背景領域以外として灯火色の判定対象に残ってしまうと、誤判定を招くおそれがある。
【0073】
そこで、
図14に示すように、コントローラ12は、背景マップBMが示す背景領域を所定の画素分拡張する背景領域の拡張処理を行う。所定の画素分は、例えば2画素分である。コントローラ12は、例えば画像処理における公知の画素の膨張処理を行うことによって、背景マップBMが示す背景領域を2画素分拡張する。そして、コントローラ12は、この拡張処理により背景領域を拡張したうえで信号領域SRから除外する。これにより、コントローラ12は、オーバーシュート成分等のノイズ成分が灯火色の判定対象に残ることで誤判定を招くリスクを軽減することができる。
【0074】
図8の説明に戻る。そして、コントローラ12は、ステップS208で拡張した背景マップBMに基づき、信号領域SRから背景領域を除外する(ステップS209)。
【0075】
つづいて、
図9に示すように、コントローラ12は、背景領域を除外した信号領域SRに対して各色抽出フィルタCFを適用し、各色抽出フィルタCFにより信号領域SRから各灯火色成分を抽出する(ステップS210)。
【0076】
そして、コントローラ12は、抽出した各灯火色成分のうち青色成分、黄色成分、赤色成分において抽出量が最も大きい色成分を判定する(ステップS211)。ここで、抽出量が最も大きい色成分が青色成分である場合(ステップS211,青)、コントローラ12は、信号機300が青色灯火の状態にあると判定する(ステップS212)。
【0077】
また、抽出量が最も大きい色成分が黄色成分である場合(ステップS211,黄)、コントローラ12は、信号機300が黄色灯火の状態にあると判定する(ステップS213)。また、抽出量が最も大きい色成分が赤色成分である場合(ステップS211,赤)、コントローラ12は、信号機300が赤色灯火の状態にあると判定する(ステップS214)。
【0078】
つづいて、コントローラ12は、信号機300が赤色灯火の状態か否かを判定する(ステップS215)。赤色灯火の状態である場合(ステップS215,Yes)、コントローラ12は、赤色灯火位置からの所定範囲内に矢印色成分があるか否かを判定する(ステップS216)。なお、赤色灯火位置からの所定範囲は、例えば赤色成分領域の重心位置から下方の、矢印式信号機であれば矢印灯火器が1以上存在すると推定される範囲に予め設定されるが、これに限られるものではない。
【0079】
矢印色成分がある場合(ステップS216,Yes)、コントローラ12は、信号機300が矢印灯火の状態にあると判定する(ステップS217)。
【0080】
ステップS215で赤色灯火の状態にない場合(ステップS215,No)またはステップS216で矢印色成分がない場合(ステップS216,No)、コントローラ12は、ステップS218へ遷移する。
【0081】
そして、コントローラ12は、灯火状態判定処理の結果をリターンし(ステップS218)、灯火状態判定処理を終了する。
【0082】
図7の説明に戻る。ステップS103を終了すると、コントローラ12は、車両に対する信号機300の動きを推定する(ステップS104)。コントローラ12は、上述したように例えばカメラ画像のフレーム間の差異により信号機300が走行する車両に対して相対的にどのように動くかを推定する。
【0083】
つづいて、コントローラ12は、ステップS103の灯火状態判定処理の結果とステップS104の動きの推定結果とに基づいて信号無視を判定する(ステップS105)。
【0084】
ステップS105にてコントローラ12は例えば、車両の進行方向における通行の優先権の有無を提示する信号機300が赤色灯火の状態にあるにも関わらず、車両が予め決められた時間以上および速度以上で通行を続けた場合、車両が信号無視をしたと判定する。
【0085】
そして、コントローラ12は、出力部5へステップS105での判定結果を出力し(ステップS106)、処理を終了する。
【0086】
なお、図示は略しているが、コントローラ12は、カメラ画像のフレーム間における判定結果の安定度に基づいて出力部5へ出力を行うようにしてもよい。一例として、コントローラ12は、フレーム間において同じ判定結果が連続するなど安定度が高いと見なせる場合に、出力部5への出力を行うようにしてもよい。これにより、外乱等の影響を受けにくい安定した判定結果の出力が可能となる。
【0087】
上述してきたように、実施形態に係る画像処理装置10は、カメラ画像から信号機300の灯火色を判定するコントローラ12を有する。また、コントローラ12は、信号領域SRの予め決められた小領域ごとのYUV値の平均値を第1代表値として算出する。また、コントローラ12は、第1代表値から予め決められた範囲内の画素値を有する画素が、予め決められた数以上ある上記小領域を同一色領域と判定する。また、コントローラ12は、同一色領域におけるYUV値の平均値を第2代表値として算出し、第2代表値から予め決められた範囲内の画素値を有する画素を、信号領域SRから除外して信号機300の灯火色を判定する。これにより、信号機300の背景領域を精度よく抽出し、信号機300の灯火色の検出精度を向上させることができる。また、コントローラ12は、サンプル画像に基づいたテンプレートマッチングに依らず、信号機300の灯火色を判定する画像処理を行うので、信号機300の灯火時に関するあらゆる実環境に対応することが可能となる。
【0088】
なお、上述した実施形態では、コントローラ12は、信号領域SRを適宜回転させて常に信号領域SRにおける信号機300を横型として取り扱うこととしたが、必ずしも信号領域SRを回転させなくともよい。この場合には、コントローラ12は、信号領域SRにおける信号機300が縦型である場合、信号領域SRの上部および下部ではなく、左部および右部における予め決められた小領域ごとの上記第1代表値を算出する。これにより、コントローラ12は、実行する画像処理が信号領域SRを回転させるアルゴリズムを含まなくとも、これに応じた背景領域の抽出を行うことが可能となる。
【0089】
また、上述した実施形態では、信号領域SRが25×25画素分の矩形領域である例を挙げたが、一例であり、信号領域SRのサイズおよび形状を限定するものではない。信号領域SRを構成する画素数は画像処理装置10の処理能力等に応じて適宜変更可能である。また、信号領域SRは、矩形領域として正方形でなくともよい。また、信号領域SRに応じ、上記小領域は、そのサイズおよび形状を適宜変更可能である。
【0090】
また、上述した実施形態では、画像認識に基づいて信号機300の灯火状態、動きおよび信号無視を判定することとしたが、無論、車両に搭載された各種センサのセンサデータを適宜組み合わせてもよい。例えば、車両の挙動は、ステアリングセンサや加速度センサのセンサ値を利用して推定してもよい。自車速度は、速度センサのセンサ値を利用して取得してもよい。
【0091】
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
【符号の説明】
【0092】
1 ドライブレコーダ
3 カメラ
5 出力部
7 車載出力装置
9 画像処理ECU
10 画像処理装置
11 記憶部
12 コントローラ
300 信号機
BM 背景マップ
SR 信号領域