【解決手段】物体検出装置1において、検出窓設定部11は、RGB空間を有する撮影画像に対して検出窓を設定する。検出窓が撮影画像21から切り出されることにより、窓画像22が生成される。形状抽出部13は、グレースケールに変換された窓画像22に対してエッジを強調する処理を実行して、エッジ窓画像24を生成する。色抽出部14は、窓画像22からR成分を抽出して、R成分窓画像25を生成する。尤度算出部16は、エッジ窓画像24とR成分窓画像25とを合成した合成窓画像を用いて、検出窓が自動車の後面を含むであろう車両尤度27を算出する。
【発明を実施するための形態】
【0019】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【0020】
[第1の実施の形態]
{1.全体構成}
図1は、本発明の第1の実施の形態に係る物体検出装置1の構成を示す機能ブロック図である。物体検出装置1は、カメラ100が撮影した画像から、自動車を後方から見た画像を検出する。物体検出装置1は、カメラ100とともに自動車などの車両に搭載される。
【0021】
カメラ100は、自動車のダッシュボード上に設置され、前方の景色を撮影して画像データ20を生成する。画像データ20は、複数のフレームにより構成される動画像であり、フレーム単位で物体検出装置1に入力される。各フレームは、RGB色空間を有するカラー画像である。物体検出装置1は、1つのフレーム(以下、「撮影画像21」と呼ぶ。)から、物体検出装置1が搭載された自動車(自車両)の前を走行する自動車を後方から見た画像(後面画像)を検出する。
【0022】
図1に示すように、物体検出装置1は、検出窓設定部11と、画像変換部12と、形状抽出部13と、色抽出部14と、画像合成部15と、尤度算出部16と、判断部17と、学習部18と、記憶部19とを備える。
【0023】
検出窓設定部11は、撮影画像21に対して検出窓を設定する。検出窓は、撮影画像21から後面画像を検出するための単位領域である。検出窓設定部11は、撮影画像21から検出窓を切り出して、窓画像22を生成する。撮影画像21がRGB色空間を有するため、窓画像22もRGB色空間を有する。
【0024】
画像変換部12は、窓画像22をグレースケールに変換することにより、グレースケール窓画像23を生成する。形状抽出部13は、グレースケール窓画像23に対してエッジを強調する処理を実行することにより、エッジ窓画像24を生成する。エッジ窓画像24は、検出窓に含まれる物体の形状を示す特徴量を窓画像22から抽出したデータである。
【0025】
色抽出部14は、RGB色空間を有する窓画像22からR(赤)成分を抽出することによりR成分窓画像25を生成する。R成分窓画像25は、検出窓が有する各画素のR成分を抽出したデータである。
【0026】
画像合成部15は、形状抽出部13により生成されたエッジ窓画像24と、色抽出部14とにより生成されたR成分窓画像25とを合成して、合成窓画像26を生成する。合成窓画像26は、尤度算出部16において、車両尤度27の算出に用いられるデータである。
【0027】
尤度算出部16は、ニューラルネットワークを用いて、検出窓に自動車の後面が存在するであろう尤度(車両尤度27)を合成窓画像26から算出する。1つの検出窓に対して、1つの車両尤度27が算出される。尤度算出部16は、車両尤度27の算出の際に、自動車の後面のパターンが記録されたパターンデータ50Aを参照する。
【0028】
判断部17は、尤度算出部16により算出された検出窓ごとの車両尤度27に基づいて、撮影画像21内に後面画像が存在するか否かを判断する。
【0029】
学習部18は、物体検出装置1に入力される学習画像から生成される合成学習画像36を用いて、自動車の後面のパターンを学習する。学習部18には、学習用のニューラルネットワークのアルゴリズムが実装される。学習部18は、学習の結果として、パターンデータ50Aを生成する。合成学習画像36の詳細については、後述する。
【0030】
記憶部19は、フラッシュメモリやハードディスク装置などであり、パターンデータ50Aを記憶する。
【0031】
{2.物体検出装置1の動作}
物体検出装置1は、撮影画像21から後面画像を検出する処理(車両検出処理)を開始する前に、パターンデータ50Aを生成する処理(学習処理)を実行する。以下、学習処理と車両検出処理とをそれぞれ説明する。
【0032】
{2.1.学習処理}
図2は、物体検出装置1により実行される学習処理のフローチャートである。
図3は、学習処理の際に用いられる画像の遷移を示す図である。
図2及び
図3を参照しながら、学習処理を実行する物体検出装置1の動作を説明する。
【0033】
物体検出装置1は、パターンデータ50Aを生成するために、複数の学習画像32を使用する。
図2は、1つの学習画像32に対して実行される処理を示している。物体検出装置1は、1つの学習画像32が入力された場合、
図2に示す処理を開始する。
【0034】
学習画像32は、検出対象である自動車の後面画像を含むカラー画像であり、RGB色空間を有する。学習画像32のサイズ(高さ及び幅)は、窓画像22のサイズと同じである。このため、検出窓設定部11は、学習処理に関与せず、学習画像32に対して検出窓を設定しない。
【0035】
物体検出装置1は、ステップS11,S12を実行することにより、学習画像32に含まれる自動車の後面の形状を示す特徴量を、学習画像32から抽出する。具体的には、画像変換部12が、学習画像32をグレースケールに変換して、グレースケール学習画像33を生成する(ステップS11)。
【0036】
形状抽出部13は、グレースケール学習画像33に対して、エッジを強調する処理を実行して、エッジ学習画像34を生成する(ステップS12)。ステップS12は、グレースケール学習画像33から自動車の後面の形状を示す特徴量を抽出するために実行される。学習画像32おいて、自動車の後面は、台形に近い形状をしている。このため、ステップS12では、横方向に延びるエッジを強調する処理と、縦方向に延びるエッジを強調する処理とが実行される。各方向に伸びるエッジの強調処理には、例えば、Sobelフィルタが用いられる。
【0037】
次に、形状抽出部13は、エッジ学習画像34に対して重み付けを行う(ステップS13)。具体的には、形状抽出部13は、エッジ学習画像34が有する各画素の画素値に対して1よりも小さい係数を乗算する。以下、重み付けされたエッジ学習画像34の画素値を、Ew(x,y)と記載する。
図3では、重み付けされたエッジ学習画像34の表示を省略している。ステップS13を実行する理由については、後述する。
【0038】
エッジ学習画像34が有する画素の画素値の最大値は255であり、最小値は0である。
図3に示すエッジ学習画像34において、255に近い画素値を有する画素ほど黒く表示され、0に近い画素値を有する画素ほど白く表示される。後述するR成分学習画像35及び合成学習画像36の各画素も、
図3において同様に表示される。
【0039】
色抽出部14は、学習画像32が有する各画素からR成分を抽出し(ステップS14)、R成分学習画像35を生成する。具体的には、色抽出部14は、下記式(1)を実行することにより、R成分学習画像35が有する各画素の画素値を決定する。
【0041】
図3に示すように、学習画像32の左上頂点を原点とした場合において、右向きの軸をx軸、下向きの軸をy軸として定義する。式(1)において、R(x,y)は、座標(x,y)に位置する学習画像32の画素が有するR成分値である。RED(x,y)は、座標(x,y)に位置するR成分学習画像35の画素の画素値である。
【0042】
R(x,y)がしきい値Th
REDよりも大きい場合、色抽出部14は、RED(x,y)をR(x,y)に設定する。R(x,y)がしきい値Th
RED以下である場合、色抽出部14は、RED(x,y)を0に設定する。つまり、色抽出部14は、しきい値Th
REDよりも大きいR成分値を有する画素を学習画像32から抽出することにより、R成分学習画像35を生成する。R成分学習画像35のサイズは、学習画像32のサイズと同じである。
【0043】
図3に示すように、R成分学習画像35において、領域351,352が黒く表示されている。2つの領域351は、学習画像32に含まれる自動車のテールランプに対応する。2つの領域352は、方向指示器に相当する。方向指示器の色は黄色であるため、領域352は、しきい値Th
REDよりも大きいR成分値を有するため、領域351と同様に黒く表示される。
【0044】
なお、色抽出部14は、RED(x,y)がしきい値Th
REDよりも大きいか否かの判断に加えて、他の条件が満たされているか否かを判断してもよい。例えば、色抽出部14は、下記の2つの条件が両者ともに満たされているか否かを判断する。第1の条件は、学習画像32が有する画素のR成分値とG成分値との差分絶対値が所定のしきい値(Th
REDと異なる)よりも大きいことである。第2の条件は、学習画像32が有する画素のR成分値とB成分値との差分絶対値がTh
REDと異なる上記の所定のしきい値よりも大きいことである。これら2つの条件が満たされる場合、色抽出部14は、座標(x,y)における学習画像32の画素の表示色が赤であると判断し、この画素のR成分値をR成分学習画像35が有する画素の画素値に設定する。これにより、赤以外の表示色がR成分学習画像35に反映されることを防ぐことができる。あるいは、色抽出部14は、RED(x,y)を設定する際に、第1の条件及び第2の条件のいずれか一方の条件を用いてもよい。第2の条件で用いられるしきい値は、第1の条件で用いられるしきい値と異なっていてもよい。
【0045】
また、色抽出部14は、RED(x,y)がしきい値Th
REDよりも大きいか否かの判断に加えて、下記式(2)及び式(3)が満たされているか否かを判断してもよい。
【0048】
式(2)において、G(x,y)は、座標(x,y)に位置する学習画像32の画素が有するG成分値であり、C
Gは、予め設定された係数である。式(3)において、B(x,y)は、座標(x,y)に位置する学習画像32の画素が有するB成分値であり、C
Bは、予め設定された係数である。係数C
G,C
Bは、例えば、2に設定される。係数C
G,C
Bは、互いに異なる値であってもよい。色抽出部14は、式(2)及び式(3)が満たされる場合、座標(x,y)における学習画像32の画素の表示色が赤であると判断し、この画素のR成分値をR成分学習画像35が有する画素の画素値に設定する。あるいは、色抽出部14は、RED(x,y)を設定する際に、式(2)及び式(3)のいずれか一方のみを用いてもよい。
【0049】
画像合成部15は、形状抽出部13により重み付けされたエッジ学習画像34と、色抽出部14により生成されたR成分学習画像35とを合成して、合成学習画像36を生成する(ステップS15)。画像合成部15は、Ew(x,y)をRED(x,y)に加算する。画像合成部15は、最大値が255となるように加算値を正規化することにより、合成学習画像36が生成される。
【0050】
この結果、合成学習画像36は、学習画像32から抽出された車両の形状を示す特徴と、学習画像32におけるR成分の分布の特徴との両者を反映したデータとなる。画像合成部15は、生成した合成学習画像36を学習部18に出力する。
【0051】
学習部18は、合成学習画像36に含まれる自動車の後面のパターンを、ニューラルネットワークを用いて学習する(ステップS16)。学習部18は、学習の結果をパターンデータ50Aに反映させる。パターンデータ50Aには、検出対象である自動車の後面の形状だけでなく、自動車の後面における赤色部分(テールランプ及び方向指示器)のパターンの配置が反映される。
【0052】
このように、物体検出装置1は、1つの学習画像32に対して
図2に示す処理を実行する。自動車の後面のパターン(車種、自動車までの距離など)が異なる様々な学習画像32が、物体検出装置1に入力される。学習処理は、物体検出装置1に入力される学習画像32の数に応じて繰り返される。これにより、パターンデータ50Aには、各々の学習画像32に含まれる自動車の後面のパターンが反映される。
【0053】
{2.2.車両検出処理}
図4は、物体検出装置1により実行される車両検出処理のフローチャートである。物体検出装置1は、カメラ100から撮影画像21が入力されるたびに、
図4に示す処理を実行して、撮影画像21内に後面画像が存在するか否かを判断する。
【0054】
図5は、物体検出装置1に入力される撮影画像21の一例を示す図である。上述するように、撮影画像21は、RGB空間を有するカラー画像であるが、
図5では、撮影画像21をグレースケールで表している。
【0055】
図4及び
図5を参照しながら、車両検出処理を実行する物体検出装置1の動作を説明する。検出窓設定部11は、撮影画像21に対して、後面画像を検出するための検出窓40を1つ設定する(ステップS21)。
【0056】
ステップS21〜S28が繰り返されることにより、撮影画像21に対して複数の検出窓40が設定される。撮影画像21の左上頂点に位置する検出窓40が、最初に設定される。検出窓設定部11は、撮影画像21を左上から右下にかけてスキャンするように複数の検出窓を設定する。新たに検出窓40が設定される場合、検出窓設定部11は、既に設定された検出窓40の一部と重複するように新しい検出窓40を設定することが望ましい。
【0057】
検出窓設定部11は、撮影画像21において、検出窓40を設定する領域を限定してもよい。物体検出装置1が自車両よりも前を走行する自動車を検出する場合、撮影画像21の上側の領域に、前を走行する自動車が存在する可能性は低い。検出窓設定部11は、例えば、撮影画像21の上方3分の1の領域を検出窓40の設定範囲から除外してもよい。
【0058】
物体検出装置1は、ステップS22〜S26に示す処理を実行して、窓画像22から合成窓画像26を生成する。合成窓画像26は、学習部18により学習される合成学習画像36の生成手順と同じ手順で生成される。
図4に示す処理のうち、ステップS22〜S26の処理は、
図2に示すステップS11〜S15の処理と同じである。このため、ステップS22〜S26に関する説明を一部省略する。
【0059】
図6は、車両検出処理を実行するときの画像の遷移の一例を示す図である。
図6に示す窓画像42は、
図5に示す撮影画像21と別の撮影画像21に対して設定された検出窓40から切り出された画像である。
【0060】
画像変換部12は、窓画像42をグレースケールに変換することにより、グレースケール窓画像43を生成する(ステップS22)。形状抽出部13は、グレースケール窓画像43に対してエッジを強調する処理を実行して、エッジ窓画像44を生成する(ステップS23)。ステップS12で用いられたSobelフィルタが、エッジ窓画像44の生成に用いられる。これにより、グレースケール窓画像43に含まれる物体の形状を示す特徴量が、グレースケール窓画像43から抽出される。形状抽出部13は、エッジ窓画像44が有する各画素の画素値に対して、ステップS13で用いた係数を乗算する(ステップS24)。
図6において、重み付け処理が施されたエッジ窓画像44の表示を省略している。
【0061】
色抽出部14は、上記式(1)を用いて、RGB色空間を有する窓画像42の各画素からR成分を抽出して、R成分窓画像45を生成する(ステップS25)。
【0062】
画像合成部15は、R成分窓画像45と、重み付け処理が施されたエッジ窓画像44とを合成して合成窓画像46を生成する(ステップS26)。これにより、合成窓画像46は、窓画像42に含まれる物体の形状を示す特徴量と、窓画像42におけるR成分の分布とが反映されたデータとなる。
【0063】
尤度算出部16は、ニューラルネットワークを用いて、合成窓画像46から車両尤度27を算出する(ステップS27)。車両尤度27の算出の際には、パターンデータ50Aが参照される。車両尤度27は、検出窓40が後面画像を含む度合いを示し、0以上1以下の数値である。検出窓40に後面画像が存在する可能性が高いほど、車両尤度27は、1に近づく。検出窓40に後面画像が存在する可能性が低いほど、車両尤度27は、0に近づく。
【0064】
物体検出装置1は、車両尤度27の算出(ステップS27)が終了した後に、撮影画像21に対する検出窓40の設定が終了したか否かを確認する(ステップS28)。検出窓40の設定が終了していない場合(ステップS28においてNo)、物体検出装置1は、新たな検出窓40を設定するために、ステップS21に戻る。一方、全ての検出窓40の設定が終了した場合(ステップS28においてYes)、判断部17は、検出窓40ごとに算出された複数の車両尤度27を用いて、撮影画像21内に後面画像が存在するか否かを判断する(ステップS29)。
【0065】
判断部17は、各検出窓40の中心座標に基づいて、複数の車両尤度27の空間的な分布図を作成する。判断部17は、作成した分布図に基づいて、撮影画像21が後面画像を含むか否かを判断する。後面画像が撮影画像21から検出された場合、判断部17は、分布図を用いて自動車の後面の大きさを特定し、特定した大きさに基づいて、撮影画像21から検出された自動車までの距離を特定してもよい。
【0066】
以下、学習処理及び車両検出処理において、重み付け処理(ステップS13,S24)が実行される理由を説明する。
図3に示すように、学習画像32において、しきい値Th
REDよりも大きいR成分値を有する画素の領域は、テールランプ及び方向指示器に対応する範囲である。このため、R成分学習画像35は、エッジ学習画像34に比べて単純な画像となる。
【0067】
R成分学習画像35では、テールランプ及び方向指示器に対応する以外の領域が白であるため、R成分が目立っている。しかし、合成学習画像36では、テールランプ及び方向指示器に対応する領域以外の領域が、エッジにより黒く表されているため、合成学習画像36では、R成分がエッジよりも目立たなくなる。R成分学習画像35とエッジ学習画像34とを単に合成して合成学習画像36を生成した場合、合成学習画像36において、R成分学習画像35の画素値の寄与が、エッジ学習画像34の画素値の寄与と同じとなる。しかし、R成分がエッジよりも目立たないため、学習部18による合成学習画像36の学習の際に、R成分のパターンの学習結果がパターンデータ50Aに反映されづらくなる。
【0068】
この結果、車両検出処理において算出される車両尤度27の精度が低下するおそれがある。具体的には、窓画像22が自動車の後面を含まないにもかかわらず、窓画像22の左右に赤色の領域が存在する場合、この窓画像22から1に近い車両尤度27が算出される可能性が高い。つまり、ステップS13を実行しない場合、パターンデータ50Aにおいて、R成分学習画像35のパターンの影響が、エッジ学習画像34のパターンの影響よりも大きくなる。
【0069】
このように、車両尤度27の精度の低下を防ぐために、形状抽出部13は、R成分学習画像35に対して重み付け処理(ステップS13)を実行することにより、パターンデータ50Aにおけるエッジ学習画像34の影響を小さくする。ステップS24も、同様の理由により実行される。
【0070】
以下、窓画像22から算出される車両尤度27の具体例を説明する。
図6に示すように、窓画像42は、後面画像を含む。このため、窓画像42から生成されるエッジ窓画像44は、自動車の後面の形状に応じた幾何学的な形状(長方形、台形など)を有する。窓画像42において、自動車の後面がテールランプ及び方向指示器を含むため、R成分窓画像45の左右には、画素値の大きい領域が存在する。従って、合成窓画像46は、パターンデータ50Aに記録された自動車の後面のパターンに類似するパターンを有する。尤度算出部16は、窓画像42に対応する検出窓40の車両尤度27として、後面画像が存在する可能性が高いことを示す値(0.91)を算出する。
【0071】
図7は、自動車の後面を含まない窓画像52から合成窓画像56が生成されるまでの画像の遷移を示す図である。
【0072】
窓画像52は、歩行者の画像を含み、後面画像を含まない。窓画像52から生成されるエッジ窓画像54は、自動車の後面の形状に似た幾何学的な形状を有しない。R成分窓画像55において、下に位置する画素が黒く表示されている。これは、窓画像52の下方に赤色の領域が存在することを示す。R成分窓画像55における赤色の領域の配置パターンは、R成分学習画像35における赤色の領域の配置パターンと大きく異なる。
【0073】
エッジ窓画像54とR成分窓画像55とから生成される合成窓画像56は、パターンデータ50Aに記録された自動車の後面のパターンを有しない。この結果、尤度算出部16は、窓画像52に対応する検出窓40の車両尤度27として、0に近い値(0.23)を算出する。
【0074】
以上説明したように、物体検出装置1は、窓画像22に含まれる物体の形状を示す特徴量(エッジ)だけでなく、窓画像22の色成分の情報を用いて、車両尤度27を算出する。これにより、検出窓40が、自動車の後面の形状に似た物体を含む場合であっても、この物体に対する車両尤度27を0に近づけることができる。検出窓40に対応する車両尤度27の信頼性を向上させることができ、誤検出を抑制することができる。
【0075】
[第2の実施の形態]
本発明に係る第2の実施の形態について説明する。
図8は、本発明の第2の実施の形態に係る物体検出装置2の構成を示す機能ブロック図である。
図8に示すように、物体検出装置2は、物体検出装置1が備える画像合成部15に代えて、連結部70を有する。
【0076】
連結部70は、エッジ窓画像24のデータ列と、R成分窓画像25のデータ列とを連結することにより、連結窓データ28を生成する。尤度算出部16は、連結窓データ28を用いて、検出窓40が後面画像を含むであろう車両尤度27を算出する。また、連結部70は、エッジ学習画像34のデータ列とR成分学習画像35のデータ列とを連結して、連結学習データ38を生成する。
【0077】
以下、上記実施の形態と異なる点を中心に、物体検出装置2の動作について説明する。
【0078】
{1.学習処理}
図9は、学習処理を実行する物体検出装置2の動作を示すフローチャートである。
図10は、物体検出装置2において、学習画像32から連結学習データ38が生成されるまでの画像の遷移を示す図である。
【0079】
図9に示すように、形状抽出部13は、ステップS11,S12を実行して、学習画像32からエッジ学習画像34を生成する。しかし、形状抽出部13は、エッジ学習画像34に対して重み付け処理(ステップS13)を実行しない。色抽出部14は、ステップS14を実行して、学習画像32からR成分学習画像35を生成する(ステップS14)。色抽出部14は、R成分学習画像35に対して、重み付け処理(ステップS51)を実行する。
【0080】
色抽出部14は、重み付け処理(ステップS51)として、R成分学習画像35のサイズを縮小する。これにより、縮小学習画像35aが、R成分学習画像35から生成される。縮小率は、例えば、60%であり、ステップS14で用いられる重み付けの係数に相当する。エッジ学習画像34のサイズは、変更されない。
【0081】
連結部70は、エッジ学習画像34のデータ列と、縮小学習画像35aのデータ列とを連結して、連結学習データ38を生成する(ステップS52)。エッジ学習画像34のデータ列は、エッジ学習画像34をラスタスキャンすることにより生成される。同様に、縮小学習画像35aのデータ列は、縮小学習画像35aをラスタスキャンすることにより生成される。エッジ学習画像34のデータ列の末尾に、縮小学習画像35aのデータ列の先頭が連結されることにより、連結学習データ38が生成される。
【0082】
図11は、連結学習データ38のデータ構造を示す図である。
図11に示すように、E(x,y)は、座標(x,y)に位置するエッジ学習画像34の画素の画素値であり、D(x,y)は、座標(x,y)に位置する縮小学習画像35aの画素の画素値である。連結学習データ38は、エッジ学習画像34が有する各画素の画素値と、縮小学習画像35aが有する各画素の画素値とにより構成される1次元の配列である。
図10に示す連結学習データ38において、エッジ学習画像34のサイズと縮小学習画像35aのサイズとの関係を示すために、縮小学習画像35aをエッジ学習画像34の下に配置している。連結学習データ38は、上述のように、画素値の1次元配列であり、エッジ学習画像34と縮小学習画像35aとにより構成される1つの画像ではない。
【0083】
学習部18は、連結学習データ38を用いて、自動車の後面の形状のパターンと、自動車の後面におけるR成分の分布のパターンとを学習し(ステップS53)、学習の結果をパターンデータ50Aに反映させる。
【0084】
ここで、R成分学習画像35のサイズを縮小する処理(ステップS51)が重み付け処理に相当する理由を説明する。
【0085】
エッジ学習画像34及びR成分学習画像35は、それぞれ、1つの成分値(エッジ強度、R成分値)のみを含む画像である。また、各画像のサイズは同じである。従って、エッジ学習画像34のデータ量は、R成分学習画像35のデータ量と同じである。R成分学習画像35のデータ列をエッジ学習画像34に連結した場合、連結学習データ38におけるエッジ学習画像34とR成分学習画像35との比は、1対1となる。しかし、R成分学習画像35は、上述のように、エッジ学習画像34に比べて単純な画像である。連結学習データ38では、エッジ学習画像34のデータと、R成分学習画像35のデータとが区別されているため、学習部18は、エッジ学習画像34に含まれるエッジの複雑なパターンの特徴よりも、R成分学習画像35に含まれる画素値の高い領域の単純なパターンの特徴を検出することが容易である。この結果、上記第1の実施の形態とは逆に、パターンデータ50Aにおいて、R成分学習画像35のパターンの影響が、エッジ学習画像34のパターンの影響よりも大きくなる。
【0086】
縮小学習画像35aは、R成分学習画像35のサイズ(高さ及び幅)を縮小することにより生成される。縮小学習画像35aのデータ量は、エッジ学習画像34のデータ量よりも小さい。連結学習データ38において縮小学習画像35aが占める比率は、縮小率が大きくなるにつれて低下する。連結学習データ38における縮小学習画像35aの比率を小さくすることにより、パターンデータ50AにおいてR成分学習画像35の影響を小さくすることができる。従って、R成分学習画像35のサイズを縮小する処理は、R成分学習画像35が有する画素の画素値を重み付けする処理に相当する。
【0087】
{2.車両検出処理}
図12は、車両検出処理を実行する物体検出装置2の動作を示すフローチャートである。
図13は、物体検出装置2が車両検出処理を実行するときにおける画像の遷移の一例を示す図である。
図13に示す窓画像42、グレースケール窓画像43、エッジ窓画像44、及びR成分窓画像45は、
図6に示す各画像と同じである。
図12及び
図13を参照しながら、車両検出処理を実行する物体検出装置2の動作を説明する。
【0088】
図12に示す車両検出処理において、
図4に示すステップS24及びS26に代えて、サイズ変更による重み付け処理(ステップS61)と連結処理(ステップS62)が実行される。ステップS61及びS62は、ステップS51及びS52と同様の処理である。このため、ステップS61及びS62の詳細な説明を省略する。
【0089】
色抽出部14は、重み付け処理(ステップS61)として、R成分窓画像45のサイズを縮小する処理を実行する。これにより、縮小窓画像45aが、R成分窓画像45から生成される。縮小率は、学習処理で用いられた縮小率と同じ(60%)である。連結部70は、エッジ窓画像44のデータ列の末尾に、縮小窓画像45aのデータ列を連結して、連結窓データ48を生成する(ステップS62)。連結窓データ48は、連結学習データ38と同様に、エッジ窓画像44が有する各画素の画素値と、縮小窓画像45aが有する各画素の画素値とにより構成される1次元の配列である。尤度算出部16は、連結窓データ48を用いて、窓画像42に対応する検出窓40の車両尤度27を算出する(ステップS27)。
図13に示すように、窓画像42は、後面画像を含む。従って、窓画像42から算出される車両尤度27は、1に近い値(0.89)を有する。
【0090】
図14は、物体検出装置2が車両検出処理を実行するときにおける画像の遷移の他の例を示す図である。
図14に示す窓画像52、グレースケール窓画像53、エッジ窓画像54、及びR成分窓画像55は、
図7に示す各画像と同じである。色抽出部14は、R成分窓画像55を縮小して縮小窓画像55aを生成する。エッジ窓画像54のデータ列に縮小窓画像55aのデータ列を連結することにより、連結窓データ58が生成される。連結窓データ48は、連結学習データ38と同様に、エッジ窓画像44が有する各画素の画素値と、縮小窓画像45aが有する各画素の画素値とにより構成される1次元の配列である。
【0091】
図14に示すように、窓画像52は、後面画像を含まない。従って、窓画像52から算出される車両尤度27は、0に近い値(0.13)を有する。
【0092】
以上説明したように、物体検出装置2は、物体検出装置1と同様に、窓画像22に含まれる物体の形状を示す特徴量(エッジ)だけでなく、窓画像22の色成分の情報を用いて、車両尤度27を算出する。これにより、誤検出を抑制することができる。
【0093】
上記実施の形態において、物体検出装置1,2は、撮影画像21から自動車の後面を検出する例を説明したが、これに限られない。検出対象は、自動車ではなく、道路標識などの他の物体であってもよい。
【0094】
上記実施の形態において、エッジ学習画像及びR成分学習画像から合成学習画像を生成する例、エッジ学習画像及びR成分学習画像から連結学習データを生成する例を説明したが、これに限られない。学習部18は、エッジ学習画像とR成分学習画像とを個別に学習してもよい。この場合、尤度算出部は、エッジ学習画像の学習により生成されたパターンデータを参照して、エッジ窓画像から第1の車両尤度を算出する。また、尤度算出部は、R成分学習画像の学習により生成されたパターンデータを参照して、R成分窓画像から第2の車両尤度を算出する。
【0095】
また、上記実施の形態において、色抽出部14は、学習画像32からR成分を抽出する例を説明したが、これに限られない。色抽出部14は、検出対象の物体に応じて、G成分あるいはB成分を学習画像32から抽出してもよい。この場合、窓画像22から抽出される色成分は、学習画像32から抽出される色成分に応じて変化する。
【0096】
また、上記実施の形態において、R成分窓画像25及びR成分学習画像35の各々の画素値に重み付けを行う例を説明したが、これに限られない。色抽出部14は、R成分窓画像25及びR成分学習画像35に代えて、エッジ学習画像34及びエッジ窓画像24に対して重み付けを行ってもよい。
【0097】
この場合、エッジ窓画像24及びエッジ学習画像34の各画素値に対して1以上の係数が乗算される。あるいは、エッジ窓画像24及びエッジ学習画像34が100%よりも大きい倍率で拡大される。つまり、上記実施の形態に係る物体検出装置は、エッジ学習画像34及びR成分学習画像35の少なくとも一方を重み付けし、エッジ窓画像24及びR成分窓画像25の少なくとも一方を重み付けすればよい。
【0098】
また、上記実施の形態において、物体検出装置1,2に入力される学習画像32のサイズが窓画像22のサイズと同じである例を説明したが、これに限られない。物体検出装置1,2に入力される学習画像32のアスペクト比が窓画像22のアスペクト比に一致していれば、物体検出装置1,2に入力される学習画像32のサイズが窓画像22のサイズと同じでなくてもよい。この場合、窓画像22から尤度を算出する前、又は、窓画像22に対して特徴量を抽出する処理を実行する前に、窓画像22のサイズを学習画像のサイズに一致するように変更すればよい。
【0099】
また、上記実施の形態において、尤度算出部16及び学習部18がニューラルネットワークを用いる例を説明したが、これに限られない。学習部18は、ニューラルネットワーク以外のパターンマッチングのプログラム(例えば、サポートベクターマシン)を用いてもよい。尤度算出部16に実装されるアルゴリズムは、学習部18に実装されるアルゴリズムに応じて変更される。
【0100】
上記実施の形態で説明した物体検出装置1,2において、各機能部は、LSIなどの半導体装置により個別に1チップ化されても良いし、一部又は全部を含むように1チップ化されてもよい。集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサーで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【0101】
また、上記実施の形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記実施の形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置(CPU)により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ROMなどの記憶装置に格納されており、ROMにおいて、あるいはRAMに読み出されて実行される。
【0102】
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア(OS(オペレーティングシステム)、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。)により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。
【0103】
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリを挙げることができる。
【0104】
上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。