ところで、入力画像に写り込んだ検出対象は、常に一定の大きさになる訳ではなく、自車両からの距離に応じて様々な大きさとなる。
この様々な大きさの検出対象を識別するために、従来判定装置では、大きさの異なる様々なサイズの部分領域を入力画像から切り出すと共に、その切り出した部分領域のサイズに応じて大きさ(即ち、矩形領域のサイズ)を変更した弱識別器を部分領域に照合している。ただし、この部分領域は、1つのサイズについて、入力画像の全体が網羅されるように、予め設定された設定画素ずつ順次ずらしながら切り出される。
しかしながら、Haar Like特徴を弱識別器として用いる従来判定装置では、その弱識別器に設定された矩形領域のサイズが拡大されると、その矩形領域内の積分値を導出するための演算量が増加すると言う問題が生じる。
そこで、本発明は、検出対象判定装置において、特徴量を導出するための演算量の増加を可能な限り抑制しつつ、自車両からの距離が不明な検出対象を識別することを目的とする。
上記目的を達成するためになされた本発明は、複数のポジティブ画像を用いて学習した複数の弱識別器からなる強識別器を利用して、撮影装置からの入力画像中の検出対象の有無を判定する検出対象判定装置に関するものである。
その検出対象判定装置において、ポジティブ画像それぞれは、複数の元画像それぞれを、その元画像に写り込んだ検出対象の大きさ及び画像サイズが均一となるように正規化したものである。なお、元画像それぞれは、大きさが異なる検出対象が一つだけ写り込んだものである。
ただし、ここで言う学習とは、全てのポジティブ画像の中で、予め規定された規定率以上のポジティブ画像に写り込んだ検出対象を識別するように、弱識別器の配置、及び弱識別器それぞれに付与する重みを決定する周知のものである。これらのことから、この学習により生成される強識別器は、様々な解像度の画像から、その画像に写り込んだ検出対象を識別可能となる。
そして、本発明の検出対象判定装置では、サイズ変更手段が、入力画像から、正規化縮小率それぞれにて画像サイズを縮小したサイズ変更画像を生成する。なお、正規化縮小率とは、元画像それぞれからポジティブ画像へと正規化する際の画像サイズの縮小率である。したがって、サイズ変換画像は、複数あるポジティブ画像の中で、少なくとも1つのポジティブ画像と同じ解像度となる。
さらに本発明の検出対象判定装置では、部分領域抽出手段が、ポジティブ画像の画像サイズと同一のサイズを有した部分領域を、サイズ変更画像の全体が網羅されるように、サイズ変更画像それぞれから順次抽出する。すると、その抽出された部分領域それぞれに、対象判定手段が、強識別器を照合し、部分領域中の検出対象の有無を判定する。このとき、対象判定手段では、強識別器を構成する弱識別器それぞれを、サイズなどを変更すること無く、部分領域に照合することになる。
これにより、1つのサイズ変換画像から、1つの大きさの検出対象が識別されることになる。ただし、検出対象の大きさは、入力画像に写り込んだ際の大きさである。
すなわち、撮影装置から検出対象までの距離が遠く、入力画像に写り込んだ検出対象が小さいほど、小さな正規化縮小率にて生成されたサイズ変更画像から検出対象が識別される。一方、撮影装置から検出対象までの距離が近く、入力画像に写り込んだ検出対象が大きいほど、大きな正規化縮小率にてサイズ変更画像から検出対象が識別される。
しかも、本発明の検出対象判定装置によれば、学習時に用いたポジティブ画像と同じ解像度、かつポジティブ画像と同じサイズを有した部分領域に強識別器を照合しているため、入力画像からの検出対象の識別精度を向上させることができる。
また、本発明の検出対象判定装置によれば、部分領域に強識別器を照合する際に、弱識別器の大きさを変更する必要が無いため、1つ1つの弱識別器について特徴量を導出するための演算量を低減できる。
したがって、本発明の検出対象判定装置によれば、特徴量を演算するための演算量を可能な限り抑制しつつ、撮影装置から様々な距離に位置する検出対象を識別することができ、しかも、その識別精度を向上させることができる。
ところで、弱識別器の中には、部分領域内に設定される矩形領域内の画素値の積分値を特徴量としたもの(いわゆるHaar Like特徴)がある。
そして、このような弱識別器からなる強識別器を利用して、入力画像中の検出対象の有無を判定する検出対象判定装置においては、強識別器を構成する弱識別器を順次適合する際に、インテグラルイメージを用いて特徴量を導出することがなされている。
そのインテグラルイメージとは、矩形領域の4角の画素値を加減算することで特徴量が導出されるように、変換前画像の各画素値を演算した結果を、その変換前画像の画素の配列に従って配置したデータである。
例えば、変換前画像を構成する画素それぞれを対象画素(xi、yj)(ただし、i,jは、0と自然数、図9中、i,j=0〜2)とし、その対象画素(xi、yj)の配列により矩形状に形成される外郭の1つの頂点に位置する画素を原点画素(x0,y0)とし、対象画素(xi、yj)それぞれを原点画素(x0,y0)の対角線上に位置する頂点とした矩形内の全ての画素値を積分した値を積分値M(xi、yj)とする。この場合、インテグラルイメージの一例として、図9に示すような、対象画素(xi、yj)の配列に従って積分値M(xi、yj)を配置したデータが得られる。
そして、図9に示すようなインテグラルイメージにおいて、対象画素(x1,y1),(x1,y2),(x2,y2),(x2,y1)それぞれを頂点とした矩形領域内の画素値の総和(即ち、積分値)SS4は、SS4=M(x2,y2)−{M(x1,y2)+M(x2,y1)−M(x1,y1)}を演算することで導出される。これにより、インテグラルイメージを用いることで、矩形領域内の画素値の積分値を高速に導出することができ、弱識別器毎の識別を高速に実施できる。
そこで、サイズ変更手段は、第一インテグラル画像を生成する第一インテグラル画像生成手段と、第二インテグラル画像を生成する第二インテグラル画像生成手段とを備え、各インテグラル画像生成手段にて生成されたインテグラル画像をサイズ変更画像とするように構成されていることが望ましい。ただし、ここで言う第一インテグラル画像とは、入力画像を変換前画像とした演算画素値を第一演算画素値とし、その第一演算画素値により構成したインテグラルイメージであり、ここで言う第二インテグラル画像とは、正規化縮小率それぞれにて入力画像を縮小した画像を縮小画像とし、その縮小画像を変換前画像とした演算画素値を第二演算画素値とし、その第二演算画素値により構成したインテグラルイメージそれぞれである。
さらに、第一インテグラル画像及び第二インテグラル画像を、サイズ変更画像として、第二インテグラル画像生成手段では、正規化縮小率の逆数を特定画素数とし、特定画素数の間隔毎に設定された第一演算画素値を特定演算画素値とし、第一インテグラル画像生成手段で生成された第一インテグラル画像から、画素値抽出手段が、特定演算画素値を抽出する。
そして、第二演算画素値導出手段が、画素値抽出手段にて抽出された特定演算画素値を少なくとも用いて、第二演算画素値を導出する。
このように構成された検出対象判定装置によれば、特徴量を演算するための演算量をより確実に低減することができる。
なお、サイズ変更手段は、検出対象判定装置から独立した装置として構成されていても良い。
つまり、本発明は、複数のポジティブ画像を用いて学習し、矩形領域内の画素値を積分した積分値を特徴量とした複数の弱識別器からなる強識別器を利用して、撮影装置からの入力画像に写り込んだ検出対象の有無を判定する検出対象判定装置にて用いられるインテグラルイメージを生成するインテグラルイメージ生成装置としてなされたものでも良い。
ただし、本発明のインテグラルイメージ生成装置は、第一イメージ生成手段が、入力画像を変換前画像とした演算画素値(以下、第一演算画素値とする)により構成したインテグラルイメージ(以下、第一インテグラルイメージとする)を生成し、第二イメージ生成手段が、縮小画像それぞれを変換前画像とした演算画素値(以下、第二演算画素値とする)により構成したインテグラルイメージ(以下、第二インテグラルイメージとする)を生成するように構成されている必要がある。
さらに、本発明のインテグラルイメージ生成装置における第二イメージ生成手段では、画素値抽出手段が、第一インテグラルイメージから特定演算画素値を抽出し、その抽出された特定演算画素値を少なくとも用いて、第二演算画素値導出手段が、第二演算画素値を導出する。
このように構成された本発明のインテグラルイメージ生成装置によれば、入力画像、及び縮小画像それぞれに対応するインテグラルイメージを生成することができる。
この結果、検出対象判定装置にて、これらの生成されたインテグラルイメージを用いて、特徴量を導出することで、矩形領域内の画素値の積分値(即ち、特徴量)を高速に導出することができる。しかも、本発明のインテグラルイメージ生成装置によれば、検出対象判定装置にて、学習時に用いたポジティブ画像と同じ解像度、かつポジティブ画像と同一なサイズを有した部分領域に、矩形領域のサイズを変更することなく弱識別器を照合させることで、検出対象の識別精度を向上させることができる。
この結果、本発明のインテグラルイメージ生成装置によれば、検出対象判定装置にて、特徴量を導出するための演算量の増加を抑制しつつ、撮影装置から様々な距離に位置する検出対象を識別することができ、しかも、その識別精度を向上させることができる。
ところで、第二イメージ生成手段では、第二演算画素値を導出するために、正規化縮小率それぞれにて入力画像を縮小した縮小画像を生成している。この縮小画像を生成するために、縮小画像を構成する画素値(以下、縮小値と称す)を導出する処理(即ち、圧縮方法)としては、正規化縮小率の逆数(以下、特定画素数とする)を一辺とした矩形内の全ての画素値を平均し、その平均した結果を縮小値とすることが考えられる。
しかし、この矩形内の全ての画素値の平均を導出する処理は処理量が大きいため、第二イメージ生成手段では、縮小値を導出するまでに要する時間が長期化してしまうという問題が生じる。
この問題を解決するために、本発明のインテグラルイメージ生成装置における第二イメージ生成手段では、画素値抽出手段が、第一インテグラルイメージから特定演算画素値を抽出し、その抽出された特定演算画素値を少なくとも用いて、第二演算画素値導出手段が、第二演算画素値を導出する。なお、ここで言う特定演算画素値とは、特定画素数の間隔毎に設定された第一演算画素値である。
第二イメージ生成手段では、第二演算画素値導出手段が、特定画素数をmとし、特定演算画素値をM(x、y)として、次(4)式に従って、第二演算画素値SAT(x,y)を導出する。
このように構成された第二演算画素値導出手段によれば、第一インテグラルイメージから抽出した特定演算画素値(即ち、第一演算画素値)に、正規化縮小率の二乗を乗じるだけで第二演算画素値を導出することができ、ひいては、第二インテグラルイメージを生成することができる。
つまり、このように構成されたインテグラルイメージ生成装置によれば、入力画像を圧縮する処理を実行、即ち、縮小画像を生成する必要が無いため、第二演算画素値それぞれを導出するための処理量を軽減できる。このため、第二インテグラルイメージそれぞれを導出するための処理に要する時間を短縮することができる。
また、検出対象中のより細かい部分的な特徴を表すために、強識別器を構成する弱識別器として、矩形領域の一辺と入力画像を構成する画素の配列により矩形状に形成された外郭の一辺とのなす角度が予め規定された規定角度以上となる矩形領域を有するもの、即ち、Haar Like特徴を回転させたものが含まれていることがある。
この場合、Haar Like特徴の回転角度に応じて回転させた入力画像または縮小画像に対応するインテグラルイメージを予め生成しておけば、検出対象判定装置において、特徴量を導出するための演算量を軽減できる。
そこで、本発明のインテグラルイメージ生成装置において、第二演算画素値導出手段は、特定演算画素値をその配列に従ってそれぞれM(x、y),M(x−1,y),M(x,y−2),M(x−1,y−2)として、次(5)式に従って、回転した縮小画像に対する第二演算画素値RSAT(x,y)を導出するように構成されていても良い。
このように構成されたインテグラルイメージ生成装置によれば、縮小画像を生成することなく、回転した縮小画像に対する第二演算画素値RSAT(x,y)を導出することができる。
なお、従来判定装置として、部分領域内の画素値を正規化した上で、その部分領域に強識別器を構成する弱識別器を照合することにより、検出対象の識別精度を向上させることがなされたものがある。この時、画素値を正規化する手法として、各部分領域内の標準偏差を用いることが提案されている。
この標準偏差の導出は、画素値と、画素値を二乗した値(以下、二乗値と称す)とを用いることから、この二乗値を予めマップ化しておくと、標準偏差の導出を高速に実施できる。このため、二乗値を第二演算画素値としたインテグラルイメージを、検出対象判定装置が保持していることが望ましい。
そこで、本発明のインテグラルイメージ生成装置において、第二演算画素値導出手段は、特定演算画素値をその配列に従ってそれぞれM(x、y),M(x−1,y),M(x,y−1),M(x−1,y−1)として、次(6)式に従って、第二演算画素値SSAT(x,y)を導出するように構成されていても良い。
このように構成されたインテグラルイメージ生成装置によれば、縮小画像を生成することなく、二乗した第二演算画素値SSAT(x,y)、即ち、二乗値を導出することができる。
以下に本発明の実施形態を図面と共に説明する。
[第一実施形態]
〈運転支援システムの構成について〉
まず、図1は、本発明が適用された車載用の運転支援システムの概略構成を示すブロック図である。
図1に示すように、運転支援システム1は、自車両の前方を撮影した画像を取得する撮影機構3と、撮影機構3にて取得した画像(以下、入力画像と称す)に基づいて、入力画像中での検出対象(例えば、歩行者や、車両)の有無を判定すると共に、その判定結果に従って、運転支援を実施するための複数の車載装置からなる制御対象機器群9を制御する制御装置6とを備えている。
このうち、撮影機構3は、自車両の前方を撮影するように、ルームミラー近傍の車室内に配置されたCCDカメラからなる。
また、制御対象機器群9には、制御装置6からの制御信号に従って画像を表示するモニタや、制御信号に従って音声を出力するスピーカが少なくとも含まれている。なお、制御対象機器群9には、この他に、自車両に搭載された内燃機関を制御する内燃機関制御装置や、自車両に搭載されたパワートレイン機構を制御するパワトレ制御装置、自車両に搭載されたブレーキ機構を制御するブレーキ制御装置が含まれていても良い。
そして、制御装置6は、入力画像に基づいて、入力画像中での検出対象の有無を判定する対象検出部11と、対象検出部11での判定結果に従って、制御対象機器群9を制御する支援制御部12とを備えている。
具体的には、制御装置6は、電源が切断されても記憶内容を保持する記憶部(例えば、フラッシュメモリ等)と、処理途中で一時的に生じたデータを格納するメモリ(例えば、DRAM等)と、記憶部やメモリに記憶された処理プログラムを実行する演算装置とを備えた周知のマイクロコンピュータ(画像処理プロセッサ)を中心に構成されたものである。
つまり、制御装置6は、入力画像中での検出対象の有無を判定(以下、対象有無判定と称す)し、その判定結果に従って、制御対象機器群9を制御する検出対象判定処理を実行するように構成されている。換言すれば、対象検出部11、及び支援制御部12は、演算装置が処理プログラムを実行することで得られる機能的構成である。
ところで、対象有無判定は、複数の弱識別器がカスケード接続されることで構成された強識別器を、入力画像から切り出した部分領域に照合することで実施する。具体的には、カスケード接続された接続順に弱識別器を部分領域に順次適用し、その部分領域内に検出対象が写り込んでいることを表す尤度値を求める。そして、個々の弱識別器毎に求められた尤度値から重み付き線形和を導出し、その導出された重み付き線形和が、弱識別器の学習時(即ち、強識別器の生成時)に設定された規定閾値以上であれば、部分画像中に検出対象が含まれているものと判定している。
その強識別器は、予め用意された学習用画像を用いて、ブースティング理論(例えば、アダブースト)によって弱識別器を学習させることで生成した周知のものである。ただし、弱識別器には、例えば、図8に示すように、部分領域内に設定され、かつ部分領域よりもサイズが小さく、互いに隣接する矩形領域内の画素値を積分した積分値(即ち、画素値の総和)を特徴量とした周知のHaar Like特徴を用いている。図8に例示したものでは、網掛けされた領域と網掛けされていない領域とにおける積分値の差分が特徴量となる。
この周知のHaar Like特徴には、図8(A),(B)に示すように、矩形領域を形成する一辺が部分領域の一辺と平行となるように、矩形領域が設定されるものが含まれている。この他、Haar Like特徴には、図8(C)に示すように、矩形領域を形成する一辺が部分領域の一辺と規定角度を有するように、矩形領域が設定されるもの(即ち、回転させたHaar Like特徴)が含まれている。さらには、部分領域内の画素値を、その部分領域内の画素値の標準偏差を用いて正規化し、その正規化された画素値から特徴量を導出するものも含まれている。
なお、この強識別器は、運転支援システム1の製造前に予め生成されたものであり、制御装置6の製造時に記憶部に記憶される。
そして、ブースティング理論による学習で用いられる学習用画像には、検出対象が一つだけ写り込んだ複数のポジティブ画像と、検出対象が写り込んでいない複数のネガティブ画像とが含まれている。
このうち、ポジティブ画像は、複数の元画像それぞれを、検出対象の大きさ及び画像サイズが均一となるように正規化したものである。ただし、ポジティブ画像を生成するための元画像には、大きさの異なる検出対象がそれぞれに写り込んでいる。また、ネガティブ画像それぞれについても、ポジティブ画像と同一の画像サイズに統一されるように、元画像から正規化されている。以下では、元画像それぞれからポジティブ画像へと正規化する際の画像サイズの縮小率を正規化縮小率と称す。
一方、ブースティング理論による学習では、ポジティブ画像の集合のうち、規定率以上のポジティブ画像から、それらの画像中に検出対象が含まれていることを識別し、かつネガティブ画像の集合のうち、設定率以上のネガティブ画像から、それらの画像中に検出対象が含まれていないことが識別されるように、各弱識別器の配置、及び各弱識別器毎の重みを決定する。ただし、規定率は、設定率よりも大きな値が設定され、例えば、規定率:95%,設定率:50%に設定されている。
つまり、検出対象の部分的な特徴を表す弱識別器を組み合わせることで、強識別器が生成される。
〈検出対象判定処理について〉
次に、制御装置6が実行する検出対象判定処理について説明する。
ここで、図2は、検出対象判定処理の処理手順を示すフローチャートである。
この検出対象判定処理は、運転支援システム1が作動(本実施形態では、制御装置6にアクセサリー信号が入力)されると起動されるものである。
そして、検出対象判定処理は、起動されると、図2に示すように、まず、撮影機構3からの入力画像を取得する(S110)。
続いて、入力画像に基づいて、第1次から第n次までのインテグラルイメージをそれぞれ生成するインテグラルイメージ生成処理を実行する(S120)。
なお、インテグラルイメージとは、矩形領域の4角の画素値を加減算することで特徴量が導出されるように、変換前画像の各画素値を演算した結果(以下、演算画素値と称す)を、その変換前画像の画素の配列に従って配置した周知のデータである。その第1次から第n次までのインテグラルイメージそれぞれには、詳しくは後述する通常値satを演算画素値とした通常インテグラルイメージと、回転値rsatを演算画素値した回転インテグラルイメージと、二乗値ssatを演算画素値とした二乗インテグラルイメージとが含まれている。
また、本実施形態にて示すnとは、正規化縮小率の大きさを表すインデックスであり、数値が小さいほど正規化縮小率が大きいことを表す。すなわち、第1次インテグラルイメージは、入力画像を変換前画像とした(即ち、入力画像の画像サイズに対応する)ものである。一方、第2次から第n次インテグラルイメージは、正規化縮小率それぞれに従って入力画像を圧縮した縮小画像それぞれを変換前画像とした(即ち、縮小画像それぞれの画像サイズに対応する)ものである。
続いて、第1次から第n次インテグラルイメージのうち、一つのインテグラルイメージを照合用データとして設定し(S125)、その照合用データから、学習用画像の画像サイズと同じサイズを有した部分領域を抽出する(S130)。
その部分領域に対して、強識別器を照合する(S140)。
この強識別器の照合は、S130で抽出した部分領域に対して、カスケード接続された接続順に弱識別器を順次適用して、個々の弱識別器毎に求められた尤度値から重み付き線形和を導出し、その重み付き線形和が規定閾値以上であるか否かを判定する周知のものである。これにより、重み付き線形和が規定閾値以上であれば、S130にて抽出した部分領域中に検出対象が含まれているものとして、その部分領域を検出対象が写り込んだ領域(以下、対象検出領域と称す)として特定する。
なお、弱識別器それぞれについての特徴量の導出は、S125にて設定された照合用データ(即ち、インテグラルイメージ)を用いて、周知の手法により実行される。ただし、部分領域に照合される弱識別器それぞれは、部分領域の大きさが学習用画像の画像サイズと同一であることから、学習時に用いた矩形領域のサイズから変更されることがない。
この時、Haar Like特徴の種類に応じて使用するインテグラルイメージを、通常インテグラルイメージ、回転インテグラルイメージ、及び通常インテグラルイメージと二乗インテグラルイメージの両方の中で、いずれか1つに切り替える。
続いて、S125にて設定された照合用データの全領域を網羅するように部分領域を抽出したか否かを判定する(S150)。そして、判定の結果、全領域を網羅するように部分領域を抽出していなければ、S130へと戻り、前サイクルにて抽出した部分領域から、予め規定された規定画素(例えば、1画素)だけずらして新たな部分領域を抽出する。
一方、S150での判定の結果、照合用データの全領域を網羅するように部分領域を抽出していれば、全てのインテグラルイメージ(即ち、入力画像及び縮小画像の全て)に対して強識別器を照合したか否かを判定する(S160)。その判定の結果、全てのインテグラルイメージに対して強識別器を照合していなければ、即ち、S130にて、全てのインテグラルイメージを照合用データとして設定していなければ、S130へと戻り、新たなインテグラルイメージを照合用データとして設定する。
なお、S160での判定の結果、全てのインテグラルイメージを照合用データとして設定済みであれば、S170へと進み、S140での照合の結果、入力画像から一つでも対象検出領域が特定されたか否かを判定する(S170)。この判定の結果、入力画像から一つでも対象検出領域が特定されていれば、S180へと進む。
そのS180では、運転者に対する支援を実施する支援制御を実行する。具体的に、本実施形態における支援制御としては、モニタに、入力画像を表示させると共に、その入力画像上において検出対象が存在する位置にマーカ(例えば、検出対象を囲うような枠)を重畳させる。さらに、本実施形態における支援制御として、スピーカーに、自車両前方に検出対象が存在する旨の音声を出力させる。
この他の支援制御として、内燃機関制御装置や、パワトレ制御装置に対して制御信号を出力して、自車両の車速を低下させても良いし、ブレーキ制御装置に対して制御信号を出力して、自車両の制動力を増加させても良い。
そして、その後、S110へと戻り、新たな入力画像を取得する。なお、S170での判定の結果、入力画像から一つも対象検出領域が特定されていない場合にも、S110へと戻り、新たな入力画像を取得する。
このS110からS180までのステップを、イグニッションキーがオフされるまで繰り返し実行する。
〈インテグラルイメージ生成処理について〉
次に、制御装置6が、検出対象判定処理のS120にて起動して、実行するインテグラルイメージ生成処理について説明する。
図3は、第一実施形態におけるインテグラルイメージ生成処理の処理手順を示したフローチャートである。
図3に示すように、このインテグラルイメージ生成処理は、起動されると、カウンタのカウント値nを初期化(即ち、n=0)し、S310にて、入力画像を形成する画素の画素値に従って、第1次演算画素値を導出する。
具体的には、第1次演算画素値には、通常値sat(x,y)、回転値rsat(x,y)、二乗値ssat(x,y)が含まれており、それぞれを、(7),(8),(9)式に従って導出する。ここに示す(x,y)は、変換前画像(ここでは、入力画像)を構成する各画素(以下、構成画素と称す)の座標であり、xは、主走査方向の座標を、yは、副走査方向の座標を表す。
なお、(7),(8),(9)式中のI(x、y)は、構成画素(x,y)における画素値である。また、x<0、またはy<0である場合、画素値I(x,y)=0,通常値sat(x,y)=0、回転値rsat(x,y)=0、二乗値ssat(x,y)=0とする。
また、これらの通常値sat(x,y)、回転値rsat(x,y)、二乗値ssat(x,y)は、原点画素(x=0,y=0)から、主走査方向の画素(即ち、x)が最大となるまで1画素ずつずらしながら順次導出される。そして、主走査方向の画素が最大となると、副走査方向の画素(即ち、y)を1つ増加して、再度、主走査方向の画素が最大となるまで1画素ずつずらしながら順次導出され、これを主走査方向及び副走査方向の両方の画素(即ち、x,yの両方)が最大となるまで繰り返す。
続く、S320では、S310で導出された通常値sat(x、y)、回転値rsat(x、y)、二乗値ssat(x、y)それぞれを、構成画素(x、y)の配列に従って配置する。これにより、通常値sat,回転値rsat,二乗値ssatそれぞれを第1次演算画素値とした第1次インテグラルイメージ、即ち、第1次通常インテグラルイメージ、第1次回転インテグラルイメージ、第1次二乗インテグラルイメージそれぞれが生成される。
そして、S330では、カウント値を1つインクリメントする。
さらに、S340では、正規化縮小率に従って入力画像を圧縮し、第n次縮小画像を生成する。
具体的には、入力画像において、正規化縮小率の逆数(以下、特定画素数とする)を一辺とした矩形内の全ての画素値を平均し、その平均した結果を1つの画素値(以下、縮小画素値と称す)とする。そして、縮小画素値を、入力画像における配列に従って配置することで、第n次縮小画像を生成する。
続いて、S350では、S340で導出した第n次縮小画像を変換前画像として、第n次演算画素値を導出する。具体的に、第n次通常値sat(x,y)、第n次回転値rsat(x,y)、第n次二乗値ssat(x,y)それぞれは、変換前画像を第n次縮小画像とすることの他は、S310と同様に上記(7),(8),(9)式に従って導出される。
そして、S360では、S350で導出された通常値sat(x、y)、回転値rsat(x、y)、二乗値ssat(x、y)それぞれを、構成画素(ここでは、第n次縮小画像を構成する画素)の配列に従って配置する。これにより、通常値sat,回転値rsat,二乗値ssatそれぞれを第n次演算画素値とした第n次インテグラルイメージ、即ち、第n次通常インテグラルイメージ、第n次回転インテグラルイメージ、第n次二乗インテグラルイメージそれぞれが生成される。
さらに、S370では、カウント値nが、正規化縮小率の総数を表す規定閾値th以上であるか否かを判定する。その判定の結果、カウント値nが規定閾値th未満であれば、即ち、カウント値nが正規化縮小率の総数に達していなければ、S330へと戻る。
一方、カウント値nが、正規化縮小率の総数に達していれば、本インテグラルイメージ生成処理を終了して、検出対象判定処理のS125へと戻る。
〈動作例〉
次に、制御装置6がインテグラルイメージ生成処理を実行した際の動作例について、図5を参照して説明する。
ここで、図5に示す動作例は、入力画像に対応する第1次インテグラルイメージと、正規化縮小率を1/2とした縮小画像に対応する第2次インテグラルイメージと、正規化縮小率を1/4とした縮小画像に対応する第3次インテグラルイメージとを生成することを想定したものである。ただし、図5では、説明を簡素化するため、通常インテグラルイメージを生成する様子のみを示した。
まず、インテグラルイメージ生成処理が起動されると、入力画像を形成する画素(x,y)それぞれについて、第1次通常値sat(x,y)(図5中、X=0〜7,y=0〜7)を導出する(S310)。そして、その導出した第1次通常値sat(x,y)を、入力画像を形成する画素(x,y)の配列に従って配置して、第1次通常インテグラルイメージを生成する(S420)。この図5に示す例では、このとき生成された第1次通常インテグラルイメージは、8行8列のマトリックス状となる。
続いて、入力画像を圧縮して第2次縮小画像を生成する(S340)。このとき生成される第2次縮小画像は、正規化縮小率が1/2であることから、画像サイズが入力画像の半分となる。
そして、第2次縮小画像を形成する画素(以下、第2縮小構成画素(x,y)とする、図5中、X=0〜3,y=0〜3)それぞれについて、第2次通常値sat(x,y)を導出する(S350)。その導出した第2次通常値sat(x,y)を、第2縮小構成画素(x,y)の配列に従って配置して、第2次通常インテグラルイメージを生成する(S420)。この図5に示す例では、このとき生成された第2次通常インテグラルイメージは、4行4列のマトリックス状となる。
さらに、入力画像を圧縮して第3次縮小画像を生成する(S340)。このとき生成される第3次縮小画像は、正規化縮小率が1/4であることから、画像サイズが第2次縮小画像の半分、即ち、入力画像の1/4となる。
そして、第3次縮小画像を形成する画素(以下、第3縮小構成画素(x,y)とする、図5中、X=0〜1,y=0〜1)それぞれについて、第3次通常値sat(x,y)を導出する(S350)。その導出した第3次通常値sat(x,y)を、第3縮小構成画素(x,y)の配列に従って配置して、第3次通常インテグラルイメージを生成する(S420)。この図5に示す例では、このとき生成された第3次通常インテグラルイメージは、2行2列のマトリックス状となる。
以上説明したように、本実施形態の制御装置6では、入力画像に対応する第1次インテグラルイメージ、及び縮小画像それぞれに対応する第2次から第n次までのインテグラルイメージを生成する。つまり、本実施形態の制御装置6にて生成されるインテグラルイメージは、弱識別器の学習に用いた複数の学習用画像の中で、少なくとも1つの学習用画像と同じ解像度を有した縮小画像に対応したものとなる。
そして、本実施形態の制御装置6では、その生成したインテグラルイメージそれぞれから、弱識別器を学習する際に用いた学習用画像の画像サイズと同一のサイズを有した部分領域を抽出し、その抽出した部分領域に弱識別器を順次照合する。さらに、その照合の結果として個々の弱識別器毎に求められた尤度値から重み付き線形和を求め、その重み付き線形和が規定閾値以上であるか否かを判定する。これにより、重み付き線形和が規定閾値以上であれば、その部分領域を対象検出領域として特定する。
この弱識別器の照合は、弱識別器が有する矩形領域について学習時に適用したサイズから変更すること無く、学習用画像と同一なサイズを有した部分領域に適用されることで実施される。
これにより、1つの大きさのインテグラルイメージから、1つの大きさの検出対象が識別されることになる。ただし、検出対象の大きさは、入力画像に写り込んだ際の大きさである。
すなわち、撮影機構3から検出対象までの距離が遠く、入力画像に写り込んだ検出対象が小さいほど、小さな正規化縮小率にて生成されたインテグラルイメージから検出対象が識別される。一方、撮影機構3から検出対象までの距離が近く、入力画像に写り込んだ検出対象が大きいほど、大きな正規化縮小率にて生成されたインテグラルイメージから検出対象が識別される。
[第一実施形態の効果]
以上説明したように、本実施形態の制御装置6によれば、撮影機構3から様々な距離に位置する検出対象を識別することができる。
しかも、制御装置6によれば、弱識別器の学習に用いた学習用画像と同じ解像度、かつ学習用画像と同じサイズを有した部分領域に、学習時に適用した矩形領域と同一サイズの矩形領域を有した弱識別器を照合しているため、入力画像からの検出対象の識別精度を向上させることができる。
また、制御装置6によれば、部分領域に弱識別器を照合する際に、弱識別器それぞれが有する矩形領域のサイズを拡大する必要が無いため、1つ1つの弱識別器について特徴量を導出するための演算量を低減できる。
したがって、本実施形態の制御装置6によれば、特徴量を演算するための演算量を可能な限り抑制しつつ、撮影機構3から様々な距離に位置する検出対象を識別することができ、しかも、その識別精度を向上させることができる。
[第二実施形態]
次に、本発明の第二実施形態について説明する。
本実施形態における運転支援システムは、第一実施形態における運転支援システムと、インテグラルイメージ生成処理が異なることの他は、第一実施形態における運転支援システムと同様に構成されている。
このため、本実施形態においては、第一実施形態における運転支援システムと同様の構成について、同一な符合を付して説明を省略し、第一実施形態とは異なるインテグラルイメージ生成処理を中心に説明する。
〈インテグラルイメージ生成処理について〉
ここで、図4は、本実施形態におけるインテグラルイメージ生成処理の処理手順を示したフローチャートである。
このインテグラルイメージ生成処理は、制御装置6が、検出対象判定処理のS120にて起動して実行するものである。
図4に示すように、本実施形態におけるインテグラルイメージ生成処理は、起動されると、カウンタのカウント値nを初期化(即ち、n=0)し、S410にて、入力画像を形成する画素値に従って、入力画像を変換前画像とした第1次演算画素値を導出する。なお、第1次演算画素値(第1次通常値sat(x,y)、第1次回転値rsat(x,y)、第1次二乗値ssat(x,y)それぞれ)の導出方法は、第一実施形態のインテグラルイメージ生成処理におけるS130と同様であるため、ここでの説明は省略する。
続く、S420では、S410で導出された第1次通常値sat(x、y)、第1次回転値rsat(x、y)、第1次二乗値ssat(x、y)それぞれを、構成画素(ここでは、入力画像を構成する画素)の配列に従って配置する。これにより、第1次通常値sat,第1次回転値rsat,第1次二乗値ssatそれぞれを第1次演算画素値とした第1次インテグラルイメージ、即ち、第1次通常インテグラルイメージ、第1次回転インテグラルイメージ、第1次二乗インテグラルイメージそれぞれが生成される。
そして、S430では、カウント値を1つインクリメントする。
さらに、S440では、第n−1次インテグラルイメージそれぞれ(即ち、第n−1次通常,回転,二乗インテグラルイメージそれぞれ)を構成する第n−1次演算画素値の中から、特定画素数mの間隔毎に設定された少なくとも1つの第n−1次演算画素値(即ち、第n−1次通常値sat,第n−1次回転値rsat,第n−1次二乗値ssat)を抽出する。なお、ここで言う特定画素数mとは、正規化縮小率の逆数であり、以下では、このS440にて抽出した第n−1次演算画素値それぞれを第n次特定演算画素値Mと称す。
また、第n次特定演算画素値Mそれぞれは、抽出元となった第n−1次インテグラルイメージ上での並び(即ち、第n−1次演算画素値の配列)に沿って配置される。以下、この第n次特定演算画素値Mの配列を(xl,yl)と表記する。
続いて、S450では、S440で抽出した第n次特定演算画素値M(xl,yl)に従って、第n次演算画素値を導出する。具体的には、第n次通常値sat(xl,yl)、第n次回転値rsat(xl,yl)、第n次二乗値ssat(xl,yl)を、それぞれ(10)式,(11)式,(12)式により導出する。
ただし、これらの第n次通常値sat(xl,yl)、第n次回転値rsat(xl,yl)、第n次二乗値ssat(xl,yl)それぞれは、原点画素(xl=0,yl=0)から、主走査方向の画素(即ち、xl)が最大となるまで1画素ずつずらしながら順次導出される。そして、主走査方向の画素が最大となると、副走査方向の画素(即ち、yl)を1つ増加して、再度、主走査方向の画素が最大となるまで1画素ずつずらしながら順次導出され、これを主走査方向及び副走査方向の両方の画素が最大となるまで繰り返す。
つまり、本実施形態における第n次通常値sat(xl,yl)は、S440にて抽出した第n次特定演算画素値M(xl,yl)に正規化縮小率の二乗を乗じることで導出される。
また、本実施形態における第n次回転値rsat(xl,yl)は、S440にて抽出した第n次特定演算画素値M(xl,yl),M(xl−1,yl−2),M(xl,yl−2),M(xl−1,yl)を加減算した結果に正規化縮小率の二乗を乗じた値と、先に導出された第n次回転値rsat(xl−1,yl−1)と、第n次回転値rsat(xl+1,yl−1),第n次回転値rsat(xl,yl−2)とを加減算することで導出される。
さらに、本実施形態における第n次二乗値ssat(xl,yl)は、S440にて抽出した第n次特定演算画素値M(xl,yl),M(xl−1,yl),M(xl,yl−1),M(xl−1,yl−1)を加減算した結果に正規化縮小率の二乗を乗じ、更に、その結果を二乗した値(以下、特定値とする)を求める。その上で、第n次二乗値ssat(xl,yl)は、特定値と、先に導出された第n次二乗値ssat(xl,yl−1)と、第n次二乗値ssat(xl,yl−1),第n次二乗値ssat(xl−1,yl−1)とを加減算することで導出される。
なお、(10)式におけるM(xl,yl)は、第n−1次通常値sat(xl,yl)である。また、(11)式におけるM(xl−1,yl−2),M(xl,yl−2),M(xl−1,yl),M(xl,yl)は、それぞれ、第n−1次回転値rsat(xl−1,yl−2),rsat(xl,yl−2),rsat(xl−1,yl),rsat(xl,yl)である。さらに、(12)式におけるM(xl−1,yl−1),M(xl,yl−1),M(xl−1,yl),M(xl,yl)は、それぞれ、第n−1次二乗値ssat(xl−1,yl−1),ssat(xl,yl−1),ssat(xl−1,yl),ssat(xl,yl)である。
また、xl<0、またはyl<0である場合、第n−1次特定演算画素値M(xl,yl)=0であり、第n次通常値sat(xl,yl)=0、第n次回転値rsat(xl,yl)=0、第n次二乗値ssat(xl,yl)=0となる。
そして、S460では、S450にて導出された第n次通常値sat(xl,yl)、第n次回転値rsat(xl,yl)、第n次二乗値ssat(xl,yl)それぞれを、構成画素の配列(ここでは、S440にて抽出した各種特定演算画素値Mについての配列)に従って配置する。これにより、S450にて導出された第n次通常値sat,第n次回転値rsat,第n次二乗値ssatそれぞれからなる第n次インテグラルイメージ、即ち、第n次通常インテグラルイメージ、第n次回転インテグラルイメージ、第n次二乗インテグラルイメージがそれぞれ生成される。
さらに、S470では、カウント値nが、正規化縮小率の総数を表す規定閾値th以上であるか否かを判定する。その判定の結果、カウント値nが規定閾値th未満であれば、即ち、カウント値nが正規化縮小率の総数に達していなければ、S430へと戻る。
一方、カウント値nが正規化縮小率の総数に達していれば、本インテグラルイメージ生成処理を終了して、検出対象判定処理のS125へと戻る。
〈動作例〉
次に、制御装置6が、本実施形態におけるインテグラルイメージ生成処理を実行した際の動作例について、図6を参照して説明する。
ここで、図6に示す動作例は、入力画像の画像サイズ(即ち、正規化縮小率を1)に対応する第1次インテグラルイメージと、正規化縮小率を1/2とした縮小画像に対応する第2次インテグラルイメージと、正規化縮小率を1/4とした縮小画像に対応する第3次インテグラルイメージとを生成することを想定したものである。ただし、図6では、通常インテグラルイメージを生成する様子のみを示した。
まず、インテグラルイメージ生成処理が起動されると、入力画像を構成する画素(x、y)それぞれについて、第1次演算画素値sat(xl,yl)(図6中、x=0〜7,y=0〜7)を導出する(S410)。その導出した第1次演算画素値sat(x,y)を、入力画像を形成する画素(x,y)の配列に従って配置して、第1次インテグラルイメージを生成する(S420)。図6に示す例では、このとき生成された第1次インテグラルイメージは、8行8列のマトリックス状となる。
そして、この第1次インテグラルイメージを構成する第1次通常値sat(x、y)から、第2次特定演算画素値Mを抽出する(S440)。このとき抽出される第1次特定演算画素値M(xl,yl)それぞれは、正規化縮小率が1/2であることから、第1次インテグラルイメージを構成する第1次通常値sat(x,y)のうち、x座標またはy座標のうちの少なくともいずれか一方が、2の倍数となるものである。
さらに、第1次特定演算画素値M(xl,yl)から、第2次通常値sat(xl,yl)を導出する(S450)。このとき、第2次通常値sat(xl,yl)は、正規化縮小率を二乗した値を、第1次特定演算画素値M(xl,yl)に乗じるだけで導出される。その導出された第2次通常値sat(xl,yl)を、その配列に従って配置して、第2次インテグラルイメージを生成する(S460)。
さらに、この第2次インテグラルイメージを構成する第2次通常値sat(xl,yl)から、第3次特定演算画素値M(xl,yl)を抽出する(S440)。このとき抽出される第3次特定演算画素値M(xl,yl)は、正規化縮小率が1/4であることから、第2次インテグラルイメージを構成する第2次通常値sat(xl,yl)のうち、主走査方向の座標または副走査方向の座標のうちの少なくともいずれか一方が、2の倍数となるものである。
以降、S430からS460を繰り返して、第3次インテグラルイメージを生成する。
[第二実施形態の効果]
以上説明したように、本実施形態の運転支援システムによれば、第1実施形態の運転支援システムと同様、弱識別器それぞれについて特徴量を演算するための演算量を可能な限り抑制しつつ、撮影機構3から様々な距離に位置する検出対象を識別することができ、しかも、その識別精度を向上させることができる。
ここで、図7は、本実施形態におけるインテグラルイメージ生成処理の効果を説明するために、本実施形態のインテグラルイメージ生成処理と、第1実施形態におけるインテグラルイメージ生成処理との相違点を示した説明図である。
図7に示すように、第1実施形態におけるインテグラルイメージ生成処理では、第1次演算画素値を導出して、第1次インテグラルイメージを生成した後は、第n次(図中、n=1〜3)縮小画像それぞれを生成し、その生成した第n次縮小画像から第n次演算画素値を導出している。
ところが、この縮小画像を生成するためになされる画像の圧縮(第一実施形態では、画素値の平均値導出)は、演算量が多いため、縮小画像の生成に時間を要する。
これに対し、本実施形態におけるインテグラルイメージ生成処理では、第1次演算画素値を導出して、第1次インテグラルイメージを生成した後は、第n−1次インテグラルイメージから第n−1次演算画素値を第n次特定演算画素値Mとして抽出し、その抽出した第n次特定演算画素値Mから第n次演算画素値を導出している。つまり、本実施形態のインテグラルイメージ生成処理によれば、縮小画像を生成することなく、縮小画像それぞれに対応するインテグラルイメージ(即ち、第2次から第n次インテグラルイメージ)を生成する。
このため、本実施形態におけるインテグラルイメージ生成処理によれば、これらのインテグラルイメージを生成するために必要な処理量を軽減できる。この結果、縮小画像それぞれの画像サイズに対応するインテグラルイメージを導出するまでに要する時間を短縮することができる。
[その他の実施形態]
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、様々な態様にて実施することが可能である。
例えば、上記第一実施形態におけるインテグラルイメージ生成処理では、S340にて第n次縮小画像を生成する際に、入力画像を圧縮していたが、第n次縮小画像を生成する際に用いる画像は、入力画像に限らず、第n−1次縮小画像であっても良い。
さらに、縮小画像を生成する方法は、複数の画素値の圧縮にかぎるものではなく、例えば、複数の画素を間引くことで生成しても良い。
また、上記第二実施形態におけるインテグラルイメージ生成処理では、S440にて第n次特定演算画素値Mを抽出する際に、第n−1次インテグラルイメージから抽出していたが、第n次特定演算画素値Mの抽出元は、第n−1次インテグラルイメージに限るものではない。例えば、第n次特定演算画素値Mを全て、第1次インテグラルイメージから抽出しても良い。
なお、第一実施形態において、強識別器の照合は、インテグラルイメージを用いることなく実施しても良い。この場合、S160では、第2次から第n次までの縮小画像を生成するだけでよい。
[実施形態と本発明との対応関係]
次に、上記実施形態と、特許請求の範囲との対応関係について説明する。
まず、上記実施形態の検出対象判定処理におけるS130を実行することで得られる機能が、本発明の部分領域抽出手段に相当し、S140を実行することで得られる機能が対象判定手段に相当する。
そして、上記実施形態の検出対象判定処理におけるS120を実行することで得られる機能が、本発明のサイズ変更手段に相当する。さらに、S120にて起動されるインテグラルイメージ生成処理におけるS420を実行することで得られる機能が、本発明の第1インテグラル画像生成手段、または第1イメージ生成手段に相当し、S460を実行することで得られる機能が、本発明の第2インテグラル画像生成手段、または、第2イメージ生成手段に相当する。