(57)【要約】【課題】処理画像内の対象物の形状が変化する場合であっても誤検出を低減しつつ正確に対象物を検出することができる画像処理装置および画像処理プログラムを提供する。【解決手段】本発明の一実施形態に係る画像処理装置１０は、処理画像生成部２２、仮検出部２３および最終検出部２４を備える。処理画像生成部２２は、車両に設けられたカメラ１１により撮像された車両の周囲の画像を取得し対象物検出処理用の処理画像を生成する。仮検出部２３は、処理画像上で検出対象物に応じた所定サイズの枠を走査し、検出対象物の辞書を用いて走査位置ごとに所定の特徴量を求めることにより処理画像内の検出対象物の位置候補領域を複数検出する。最終検出部２４は、複数の位置候補領域の重畳領域を求め、この重畳領域と複数の位置候補領域とにもとづいて処理画像内の検出対象物の最終検出位置を求める。【選択図】  図１
2015184908.tif 000002
【特許請求の範囲】
【請求項１】
車両に設けられたカメラにより撮像された前記車両の周囲の画像を取得し対象物検出処理用の処理画像を生成する処理画像生成部と、
前記処理画像上で検出対象物に応じた所定サイズの枠を走査し、前記検出対象物の辞書を用いて走査位置ごとに所定の特徴量を求めることにより前記処理画像内の前記検出対象物の位置候補領域を複数検出する仮検出部と、
前記複数の位置候補領域の重畳領域を求め、この重畳領域と前記複数の位置候補領域とにもとづいて前記処理画像内の前記検出対象物の最終検出位置を求める最終検出部と、
を備えた画像処理装置。
【請求項２】
前記最終検出部は、
現在のフレームおよび過去の複数のフレームにおける重畳領域の履歴と、現在のフレームの前記複数の位置候補領域と、にもとづいて前記処理画像内の前記検出対象物の最終検出位置を求める、
請求項１に記載の画像処理装置。
【請求項３】
前記仮検出部は、
前記所定サイズの枠の走査位置ごとに前記辞書を用いて尤度を求め、所定の尤度以上の走査位置を前記複数の位置候補領域として検出し、
前記最終検出部は、
前記重畳領域の履歴にもとづいて現在のフレームの前記複数の位置候補領域から複数の有効位置候補領域を抽出し、前記複数の有効位置候補領域をそれぞれの尤度で重み付け加算平均することにより前記最終検出位置を求める、
請求項１記載の画像処理装置。
【請求項４】
前記仮検出部は、
前記重畳領域の履歴にもとづいて、前記所定サイズの枠の走査位置ごとに前記所定の尤度を変更する、
請求項３記載の画像処理装置。
【請求項５】
前記処理画像生成部は、
それぞれが前記所定の視線軸を法線方向にもちつつ互いに異なる倍率をもつよう前記カメラにより撮像された画像を拡大縮小することにより複数の処理画像を生成し、
前記仮検出部は、
前記複数の処理画像を拡大縮小率に応じて複数に分類し、この分類ごとに前記位置候補領域を検出し、
前記最終検出部は、
各分類のそれぞれについて前記複数の前記位置候補領域の重畳領域を求め、各分類における現在のフレームおよび過去の複数のフレームにおける重畳領域の履歴にもとづいて前記最終検出位置を求める、
請求項１ないし４のいずれか１項に記載の画像処理装置。
【請求項６】
前記最終検出部は、
一つ前のフレームと現在のフレームとの間のオプティカルフローを用いて前記重畳領域を修正し、修正した重畳領域を用いて前記最終検出位置を求める、
請求項１ないし５のいずれか１項に記載の画像処理装置。
【請求項７】
前記最終検出部は、
前記仮検出部により検出された前記複数の位置候補領域を前記検出対象物の種類に応じて形状変更してから前記重畳領域を求める、
請求項１ないし６のいずれか１項に記載の画像処理装置。
【請求項８】
前記カメラの所定の視線軸と、前記検出対象物の検出対象面の法線方向と、が平行となるように前記検出対象物を前記カメラの撮像範囲内の所定範囲の複数の位置に配置して、前記カメラにより前記複数の位置のそれぞれで事前に前記検出対象物を撮像した画像を用いてあらかじめ１つの前記辞書を生成しておく辞書生成部、
をさらに備え、
前記処理画像生成部は、
前記辞書の生成後に前記カメラにより撮像された画像から前記所定の視線軸を法線方向とする画像を前記処理画像として生成する、
請求項１ないし７のいずれか１項に記載の画像処理装置。
【請求項９】
前記仮検出部は、
ＨＯＧ特徴量にもとづいて、前記辞書を用いて前記複数の位置候補領域を検出する、
請求項８記載の画像処理装置。
【請求項１０】
前記車両の運転者に対して、前記車両のスピーカを介した音声出力およびブザー出力ならびに前記車両の運転者が視認可能な位置に設けられた表示装置に対する警告表示の少なくとも１つにより、前記最終検出部により検出された最終検出位置の情報を通知する警告部、
をさらに備えた請求項１ないし９のいずれか１項に記載の画像処理装置。
【請求項１１】
コンピュータを、
車両に設けられたカメラにより撮像された前記車両の周囲の画像を取得し対象物検出処理用の処理画像を生成する処理画像生成部、
前記処理画像上で検出対象物に応じた所定サイズの枠を走査し、前記検出対象物の辞書を用いて走査位置ごとに所定の特徴量を求めることにより前記処理画像内の前記検出対象物の位置候補領域を複数検出する仮検出部、および
前記複数の位置候補領域の重畳領域を求め、この重畳領域と現在のフレームの前記複数の位置候補領域とにもとづいて前記処理画像内の前記検出対象物の最終検出位置を求める最終検出部、
として機能させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画像処理装置および画像処理プログラムに関する。
【背景技術】
【０００２】
最近、車両の周囲状況を撮像するための車載カメラを搭載した自動車などの車両が増えてきている。車載カメラにより撮像された画像は、画像中の対象物を検出することにより車両と対象物との衝突可能性の判定や駐車時のハンドル操作の支援などに利用することができるため、大変便利である。
【０００３】
撮像画像内（処理対象画像、以下処理画像という）における対象物を検出するための画像処理技術は、検出精度を向上させつつ検出に要する時間を短縮させるべく近年めざましく発展している。この種の物体検出技術には、たとえばＨＯＧ（Histogram of Oriented Gradients）特徴量を用いた技術などのパターンマッチング技術があげられる。
【０００４】
パターンマッチングを行う場合、処理画像から対象物を正確に検出することができず誤検出してしまうことがある。そこで、たとえば特開２０１２−１６４０２６号公報（特許文献１）に記載の技術では、複数の辞書を用いて複数段階の検出処理を行い、全ての検出処理で検出されたと出力された場合の結果のみを正しい検出結果として利用するようになっている。この種の技術によれば、パターンマッチングにおける誤検出を減らし、処理画像から精度よく対象物を検出することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−１６４０２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に記載の技術では、複数の辞書を用いて複数段階の検出処理を行う必要がある。このため、１つの辞書を用いる場合に比べて辞書の数だけ大きなメモリが必要となってしまう。また、複数段階の検出処理を行う必要があるため、１つの辞書を用いる場合に比べて演算に時間がかかってしまう。さらに、たとえ複数の辞書を用いたとしても、処理画像内の対象物の左右対称性が崩れるなど形状に変化がある場合には、各辞書を用いた処理により算出される尤度が所定の尤度より低くなってしまうため、対象物を検出することが極めて難しくなってしまう。
【課題を解決するための手段】
【０００７】
本発明の一実施形態に係る画像処理装置は、上述した課題を解決するために、車両に設けられたカメラにより撮像された前記車両の周囲の画像を取得し対象物検出処理用の処理画像を生成する処理画像生成部と、前記処理画像上で検出対象物に応じた所定サイズの枠を走査し、前記検出対象物の辞書を用いて走査位置ごとに所定の特徴量を求めることにより前記処理画像内の前記検出対象物の位置候補領域を複数検出する仮検出部と、前記複数の位置候補領域の重畳領域を求め、この重畳領域と前記複数の位置候補領域とにもとづいて前記処理画像内の前記検出対象物の最終検出位置を求める最終検出部と、を備えたものである。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１実施形態に係る画像処理装置の一構成例を示すブロック図。
【図２】図１に示す制御部のＣＰＵにより、処理画像内の対象物の形状が変化する場合であっても誤検出を低減しつつ正確に対象物を検出する際の手順の概略を示すフローチャート。
【図３】広画角のカメラを用い、視線軸が自車の進行方向に平行に真後ろを向いている場合に生成される本実施形態に係る処理画像の一例を示す説明図。
【図４】図２のステップＳ１で辞書生成部により実行される辞書生成処理の詳細な手順の一例を示すサブルーチンフローチャート。
【図５】辞書生成部による辞書の生成時に設定される所定の範囲の一例を示す説明図。
【図６】カメラが左右および後部に設けられ、自車に並走する他車の前面を検出する場合における各カメラの視線軸および投影面の一例を示す説明図。
【図７】処理画像生成部により生成されるピラミッド画像の一例を示す説明図。
【図８】ＨＯＧ処理部によるＨＯＧ処理対象となる領域（検出対象面）について説明するための図。
【図９】図２のステップＳ６で最終検出部により実行される最終検出位置の決定処理の手順の概略を示すサブルーチンフローチャート。
【図１０】図９のステップＳ２１で最終検出部により実行されるカウントグリッド生成処理の詳細な手順の一例を示すサブルーチンフローチャート。
【図１１】カウントグリッドを生成する様子の一例を示す説明図。
【図１２】図９のステップＳ２２で最終検出部により実行されるフレームグリッド更新処理の詳細な手順の一例を示すサブルーチンフローチャート。
【図１３】フレームグリッドを更新する様子の一例を示す説明図。
【図１４】第１実施形態においてオプティカルフローを用いてフレームグリッドを拡張する様子の一例を示す説明図。
【図１５】（ａ）はフレームグリッドに設定された有効グリッドの一例を示す説明図、（ｂ）は有効検出枠の抽出条件について説明するための図、（ｃ）は抽出された複数の有効検出枠の一例を示す説明図、（ｄ）は複数の有効検出枠から求められる最終検出枠の一例を示す説明図。
【図１６】有効グリッドを用いて有効検出枠を抽出して求められる最終検出枠と、有効グリッドを用いずに求められる最終検出枠との違いの一例を示す説明図。
【図１７】自車からの距離に応じて生成される複数のカウントグリッドの一部の一例を示す説明図。
【図１８】（ａ）はオプティカルフローの一例を示す説明図、（ｂ）は第２実施形態において（ａ）に示すオプティカルフローを用いてフレームグリッドを拡張する様子の一例を示す説明図。
【発明を実施するための形態】
【０００９】
本発明に係る画像処理装置および画像処理プログラムの実施の形態について、添付図面を参照して説明する。
【００１０】
（第１の実施形態）
（全体構成）
図１は、本発明の第１実施形態に係る画像処理装置１０の一構成例を示すブロック図である。
【００１１】
画像処理装置１０は、カメラ１１、制御部１２、記憶部１３、灯火装置１６、クラクション１７、スピーカ１８および表示装置１９を有する。
【００１２】
カメラ１１は、ＣＣＤ（Charge Coupled Device）イメージセンサやＣＭＯＳ（Complementary Metal Oxide Semiconductor）イメージセンサにより構成され、自家用自動車等の車両の周囲の映像を取り込んで画像データを生成して制御部１２に与える。
【００１３】
たとえば後方を監視する場合、カメラ１１は車両後部のナンバープレート付近やリアウインドウの上部などに設けられる（リアカメラ）。また、車両の側方を監視する場合、カメラ１１はサイドミラー付近に設けられる（サイドカメラ）。また、車両前方を監視する場合、カメラ１１は車両前部のナンバープレート付近やフロントウインドウの上部などに設けられる（フロントカメラ）。
【００１４】
カメラ１１には、広画角撮像を可能とするよう広角レンズや魚眼レンズが取り付けられてもよい。たとえば広画角撮像が可能なカメラ１１をサイドミラー付近に配設する場合（サイドカメラ）、車両の側方に加えて車両の前方および後方を同時に撮像することも可能である。また、複数のカメラ１１を用いることにより広範な車外周囲画像を取り込むようにしてもよい。
【００１５】
以下の説明では、カメラ１１に広画角撮像を可能とするよう広角レンズや魚眼レンズが取り付けられる場合の例について示す。
【００１６】
カメラ１１の広画角な撮像画像は、制御部１２により、任意の視線軸を有する画像（以下、処理画像という）に変換（視線軸変換）される。換言すると、制御部１２は、カメラ１１により撮像された広画角な撮像画像にもとづいて、任意の視線軸を法線方向にもつ仮想的なカメラ投影面（以下、単に投影面という）に透視投影された画像（処理画像）を生成する。カメラ１１の光軸は、地面と平行となるように、または地面と平行な線からやや下向きとなるように設定されるとよい。
【００１７】
制御部１２は、たとえばＣＰＵ、ＲＡＭ、ＲＯＭを備えたマイクロコントローラにより構成される。制御部１２のＣＰＵは、ＲＯＭなどの記憶媒体に記憶された画像処理プログラムおよびこのプログラムの実行のために必要なデータをＲＡＭへロードし、このプログラムに従って処理画像内の対象物の形状が変化する場合であっても誤検出を低減しつつ正確に対象物を検出するための処理を実行する。
【００１８】
制御部１２のＲＡＭは、ＣＰＵが実行するプログラムおよびデータを一時的に格納するワークエリアを提供する。制御部１２のＲＯＭなどの記憶媒体は、画像処理プログラムや、これらのプログラムを実行するために必要な各種データを記憶する。
【００１９】
なお、ＲＯＭをはじめとする記憶媒体は、磁気的もしくは光学的記録媒体または半導体メモリなどの、ＣＰＵにより読み取り可能な記録媒体を含んだ構成を有し、これら記憶媒体内のプログラムおよびデータの一部または全部は図示しないネットワーク接続部を介して電子ネットワークを介してダウンロードされるように構成してもよい。
【００２０】
なお、この場合、ネットワーク接続部は、ネットワークの形態に応じた種々の情報通信用プロトコルを実装し、この各種プロトコルに従って制御部１２と他の車両のＥＣＵなどの電気機器とを電子ネットワークを介して接続する。この接続には、電子ネットワークを介した電気的な接続などを適用することができる。ここで電子ネットワークとは、電気通信技術を利用した情報通信網全般を意味し、無線／有線ＬＡＮ（Local Area Network）やインターネット網のほか、電話通信回線網、光ファイバ通信ネットワーク、ケーブル通信ネットワークおよび衛星通信ネットワークなどを含む。
【００２１】
記憶部１３は、制御部１２によるデータの読み書きが可能な不揮発性のメモリであり、検出対象物を撮像した画像を用いてあらかじめ生成された画像辞書（モデル）や制御部１２により生成されるフレームグリッドなどの種々の情報を記憶している。これらの情報は、電子ネットワークを介してまたは光ディスクなどの可搬型記憶媒体を介して更新されてもよい。
【００２２】
灯火装置１６は、一般的なヘッドライトにより構成され、制御部１２により制御されて点滅（いわゆるパッシング）を行うことにより、たとえば自車両の外部に対して警告を行う。
【００２３】
クラクション１７は、制御部１２により制御されて自車両の外部に対して警告音を出力する。
【００２４】
スピーカ１８は、自車両の車内に設けられ、制御部１２により制御されて自車両の運転者に対してビープ音や危険が迫っていることを知らせるための情報などの各種情報に対応した音声を出力する。
【００２５】
表示装置１９は、運転者が視認可能な位置に設けられ、車載用の一般的なディスプレイやカーナビゲーションシステム、ＨＵＤ（ヘッドアップディスプレイ）などの表示出力装置を用いることができ、制御部１２の制御に従って、カメラ１１の撮像画像や検出対象物の検出位置を示す画像などの各種情報を表示する。
【００２６】
（制御部１２の構成および動作の概略）
続いて、制御部１２のＣＰＵによる機能実現部の構成および動作の概略について説明する。
【００２７】
図１に示すように、制御部１２のＣＰＵは、画像処理プログラムによって、少なくとも辞書生成部２１、処理画像生成部２２、仮検出部２３、最終検出部２４および警告部２５として機能する。仮検出部２３は、ＨＯＧ処理部３１およびＨＯＧ結果判定部３２を有する。
【００２８】
この各部２１−２５は、ＲＡＭの所要のワークエリアをデータの一時的な格納場所として利用する。なお、これらの機能実現部は、ＣＰＵを用いることなく回路などのハードウエアロジックによって構成してもよい。
【００２９】
図２は、図１に示す制御部１２のＣＰＵにより、処理画像内の対象物の形状が変化する場合であっても誤検出を低減しつつ正確に対象物を検出する際の手順の概略を示すフローチャートである。図２において、Ｓに数字を付した符号はフローチャートの各ステップを示す。
【００３０】
ステップＳ１において、辞書生成部２１は、あらかじめ検出対象物を撮像した画像を用いて画像辞書（モデル）を生成し記憶部１３に記憶させておく。具体的には、カメラ１１の所定の視線軸と、検出対象物の検出対象面の法線方向と、が平行となるように検出対象物をカメラ１１の撮像範囲内の所定範囲の複数の位置に配置して、カメラ１１により複数の位置のそれぞれで事前に検出対象物を撮像した画像を用いてあらかじめ１つの辞書を生成しておく。
【００３１】
辞書生成部２１が生成する辞書は、特徴量にもとづいて画像から対象物を検出するための種々の技術に適用可能な内容を有する。以下の説明では、辞書生成部２１が生成する辞書がＨＯＧ特徴量にもとづく対象物検出処理（以下、ＨＯＧ処理という）に適した辞書（以下、ＨＯＧ辞書という）であり、仮検出部２３がＨＯＧ処理を行う場合の例について示す。
【００３２】
次に、ステップＳ２において、処理画像生成部２２は、カメラ１１から車両の周囲を広画角に撮像した撮像画像を取得する。
【００３３】
次に、ステップＳ３において、処理画像生成部２２は、カメラ１１による撮像画像にもとづいて、辞書生成に用いられた視線軸と同じ視線軸を法線方向とする投影面に透視投影された画像として処理画像を生成する。
【００３４】
次に、ステップＳ４において、仮検出部２３のＨＯＧ処理部３１は、ＨＯＧ処理（たとえば特開２０１０−４４４３８号公報、特開２０１０−５５１９５号公報など参照）を行って尤度を出力する。ＨＯＧ処理部３１は、具体的には、処理画像を勾配方向画像に変換して検出対象物に応じた所定サイズの枠（走査枠）を走査し、ＨＯＧ辞書を用いて走査位置ごとにＨＯＧ特徴量を求めることにより各走査位置に検出対象物が存在するもっともらしさを示す尤度を求める。ＨＯＧ処理部３１は、各走査位置の枠内画像を辞書にあてはめることで尤度（スコア）を求めることができる。尤度が高ければ高いほど、辞書にマッチングした画像であるといえる。
【００３５】
ＨＯＧ特徴量は、縦、横、斜め方向のエッジがブロック内にどの程度あるのかを定量化したものである。このため、明るさの変化などの影響を受けにくく、形状の変化に対しても頑健であることが知られている。なお、ＨＯＧ処理部３１によるＨＯＧ処理は、共起性を利用した処理（ｃｏＨＯＧ処理）であってもよい。
【００３６】
次に、ステップＳ５において、仮検出部２３のＨＯＧ結果判定部３２は、ＨＯＧ処理部３１により得られた尤度が閾値より大きい結果を有効な結果とする。この有効な結果に対応する枠の位置は、検出対象物の位置候補領域と考えることができる。本実施形態において、尤度の閾値は、有効な結果が複数得られるように設定され、ＨＯＧ結果判定部３２は、複数の位置候補領域を検出する。以下の説明では、ＨＯＧ結果判定部３２により検出される枠を仮検出枠というものとする。
【００３７】
仮検出枠の検出数は、ＨＯＧ処理部３１がＨＯＧ処理において走査枠を走査する際の画素のずらし量を小さくするほど、また尤度の閾値を小さくするほど、多くすることができる。また、辞書生成時に取得した画像に対して、位置をずらした画像を多く用いるほど、また拡大率を変えた画像を多く用いるほど、仮検出枠の検出数を多くすることができる。
【００３８】
次に、ステップＳ６において、最終検出部２４は、複数の位置候補領域の重畳領域を求め、この重畳領域と複数の位置候補領域とにもとづいて処理画像内の検出対象物の最終検出位置を求める。以下の説明では、最終検出部２４により求められる最終検出位置に対応する枠を最終検出枠というものとする。
【００３９】
次に、ステップＳ７において、警告部２５は、最終検出部２４により検出された最終検出位置の情報を自車の運転者に通知するべきか否かを判定する。最終検出位置を通知すべき場合はステップＳ８に進む。一方、通知せずともよい場合はステップＳ９に進む。たとえば、検出対象物の最終検出位置が自車から所定の距離以内の位置である場合にはユーザに通知すべきと判定するとよい。なお、このステップＳ７は実行されずともよい。
【００４０】
次に、ステップＳ８において、警告部２５は、自車の運転者に対してスピーカ１８を介した音声出力およびブザー出力ならびに表示装置１９に対する警告表示の少なくとも１つにより、最終検出位置の情報を自車の運転者に通知してステップＳ９に進む。たとえば、警告部２５は、処理画像と最終検出位置とを重畳して表示装置１９に表示する。また、警告部２５は、灯火装置１６の点滅（いわゆるパッシング）やクラクション１７の警告音により、自車両の外部に対して警告通知してもよい。
【００４１】
次に、ステップＳ９において、制御部１２は一連の手順を終了するか否かを判定する。たとえば自車が所定時間以上停車している場合や運転者による入力指示があった場合には一連の手順は終了となる。手順を続行する場合はステップＳ２に戻り、カメラ１１から次のフレームの画像を取得してステップＳ３−Ｓ８の処理を繰り返す。
【００４２】
以上の手順により、処理画像内の対象物の形状が変化する場合であっても誤検出を低減しつつ正確に対象物を検出することができる。
【００４３】
検出対象物が辞書に学習させた画像と一致する場合は、複数得られた仮検出枠の中心付近で尤度が著しく高い結果を得ることができる。しかし、辞書に学習させた画像にくらべて処理画像内の検出対象物の形状がすこし歪んだ形状である場合は、中心付近の尤度が十分に高くはならず、ある程度尤度の高い領域が広く存在することになる。
【００４４】
ＨＯＧ結果判定部３２は、尤度の閾値を低くすることで、処理画像内の検出対象物の形状が歪んでいても、この歪んだ検出対象物の仮検出枠を検出することができる。このとき、尤度の閾値が低いため、ＨＯＧ結果判定部３２は検出対象物以外の物体を誤検出してしまう場合もある。そこで、最終検出部２４は、複数の位置候補領域の重畳領域の情報を利用し、複数の位置候補領域（仮検出枠）が重複する領域には検出対象物が存在する確率が高いと判定して最終検出枠を決定する。
【００４５】
したがって、処理画像内における検出対象物の形状変化（歪み）があるために検出対象物と合致する枠の尤度が低くなってしまう場合であっても誤検出を減らしつつ確実に検出対象物を検出することができる。
【００４６】
（辞書の生成）
ここで、本実施形態に係る辞書生成部２１により生成される辞書について説明する。
【００４７】
図３は、広画角のカメラ１１を用い、視線軸４０が自車４１の進行方向に平行に真後ろを向いている場合に生成される本実施形態に係る処理画像の一例を示す説明図である。
【００４８】
本実施形態では、広画角のカメラ１１を用い、自車４１の進行方向に平行に真後ろを向いた視線軸４０の処理画像を生成する（図３参照）。この場合、検出対象物４２が遠くにあると、検出対象物４２の検出対象面の全体が処理画像に写るとともに検出対象面が左右対称に見える。一方、検出対象物４２が近くにある場合には、検出対象面の全体が処理画像に写るとともに検出対象面が少し左右対称に見えない。これは、完全な平面でない場合には、左右で相対的な奥行きが違って見えるためである。
【００４９】
従来の辞書は、処理画像上で検出対象物４２の形状が変化することを想定せず生成される。このため、従来の辞書を１つ用いるだけでは、図３に示す例で検出対象物４２が近くにある場合には処理画像から検出対象物４２を検出することができない。また、形状の変化に対応すべく複数の形状に応じた辞書を用いる場合、辞書の数だけ大きな記憶媒体が必要となってしまうとともに検出処理に大きな負荷がかかり処理時間もかかってしまう。
【００５０】
そこで、本実施形態に係る辞書生成部２１は、図３に示すような視線軸４０と検出対象面法線方向の位置関係で検出対象物４２を検出することができるよう、カメラ１１の所定の視線軸４０と、検出対象物４２の検出対象面の法線方向と、が平行となるように検出対象物４２をカメラ１１の撮像範囲内の所定範囲の複数の位置に配置して、カメラ１１により複数の位置のそれぞれで事前に検出対象物４２を撮像した画像を用いてあらかじめ１つの辞書を生成する。
【００５１】
図４は、図２のステップＳ１で辞書生成部２１により実行される辞書生成処理の詳細な手順の一例を示すサブルーチンフローチャートである。なお、辞書生成は図２のステップＳ２以降が実行される以前に行われていればよい。このため、辞書生成にあたって必要な撮像画像は、自車４１のカメラ１１を用いて取得されてもよいし、他の固定カメラ等を用いて取得されてもよい。
【００５２】
また、図５は、辞書生成部２１による辞書の生成時に設定される所定の範囲４４の一例を示す説明図である。
【００５３】
ステップＳ１１において、辞書生成部２１は、所定の範囲４４の複数の位置に配置された検出対象物４２をカメラ１１で撮像した撮像画像を取得する。各位置において、検出対象物４２は、自車４１の進行方向と検出対象面の法線方向とが一致するよう配置される。
【００５４】
検出対象面は、ある程度平面とみなせる面とするとよい。たとえば検出対象物４２が自動車である場合、自動車の前面、側面および後面を検出対象面とするとよい。また、自車４１がトラックやバスなどであってカメラ１１を高い位置に取り付けられる場合は、自動車の上面を検出対象面としてもよい。もちろん、検出対象面は、自動車の各面に限られず、バイク側面などであってもよい。
【００５５】
次に、ステップＳ１２において、辞書生成部２１は、検出対象面の法線方向と平行な視線軸４０を有するよう撮像画像を変換する。なお、カメラ１１のいわゆる光軸をあらかじめ自車４１の進行方向と一致するようにカメラ１１を設置してありレンズ歪が補正されている場合は、このステップＳ１２を実行せずともよい。
【００５６】
次に、ステップＳ１３において、辞書生成部２１は、視線軸４０の画像から検出対象面を切り出す。
【００５７】
次に、ステップＳ１４において、辞書生成部２１は、切り出した画像を用いて辞書を生成し記憶部１３に記憶させる。
【００５８】
所定の範囲４４は、仮検出部２３が検出対象とする範囲である。撮像画像の中心から大きくずれた位置では中心に比べて形状が大きく変化する。このため、所定の範囲４４は、形状変化があまり大きすぎることのない範囲とするとよく、たとえば自車４１の進行方向に平行な視線軸４０から、自車４１の外側に向かって３０度から６０度くらいまで（たとえば４５度まで）の範囲とする。また、検出対象物４２がトラックやバスなどの場合、検出対象面はより平行とみなせる。このため、所定の範囲４４は、自車４１の進行方向に平行な視線軸４０から、自車４１の外側に向かって８５度くらいまで範囲を広げてもよい。
【００５９】
また、たとえば視線軸４０から自車４１の外側に向かって４５度を超える範囲とする場合、検出対象物４２の側面も見えるようになる。このため、４５度を超える範囲とする場合は、検出対象物４２の側面を検出対象面とし、視線軸４０を側面の法線方向（自車４１の進行方向に垂直な方向）と平行にした辞書を別に生成しておいてもよい。
【００６０】
このとき、検出対象面は車両前方の一部の側面やタイヤなどの小さな領域としてもよい。視線軸４０を側面の法線方向に平行とする場合の辞書において切り出す検出対象面を小さな領域とすれば、遠くほど解像度が少なくなる影響や遠くほど検出対象物４２の側面が（完全な平面でないと）歪んでしまう影響を低減することができる。
【００６１】
図５には、自車４１が走行する車線の隣の車線を走行して自車４１から接近する他車を検出することを想定し、カメラ１１から所定の距離以内までは視線軸４０から自車４１の外側に向かって４５度までの範囲を、カメラ１１から所定の距離より遠くでは視線軸４０から自車外側に向かって所定距離の範囲を、所定の範囲４４とする場合の例について示した。
【００６２】
図４に示す手順により、左右対称性がある程度損なわれた検出対象物４２の画像を盛り込んだ、所定の範囲４４に対応した１つの辞書を生成することができる。
【００６３】
辞書生成部２１が生成する辞書は、検出対象面が完全な平面ではなく処理画像内で左右対称性が崩れる場合を想定し、左右対称性が損なわれた画像をも学習した辞書である。このため、仮検出部２３は、この１つの辞書のみで処理画像中心から離れた位置に写り込んだ形状が少し歪んだ検出対象物４２でも、尤度は若干低くなるものの、検出することができる。したがって、仮検出部２３は、１つの辞書で広い範囲（所定の範囲４４）に位置する検出対象物４２を処理画像から検出することができるようになる。
【００６４】
（処理画像生成）
続いて、本実施形態に係る処理画像生成部２２により生成される処理画像について説明する。
【００６５】
図３にはサイドミラー付近に配置したカメラ１１により自車４１の後方から接近する検出対象物４２を検出する場合の例について示したが、本実施形態に係る画像処理装置１０は、カメラ１１を複数箇所に備えてもよいし、側方や前方から接近する検出対象物４２を検出してもよい。
【００６６】
図６は、カメラ１１が左右および後部に設けられ、自車４１に並走する他車の前面を検出する場合における各カメラ１１の視線軸４０および投影面４３の一例を示す説明図である。自車４１に並走する他車の前面を検出する場合、処理画像生成部２２は、カメラ１１の撮像画像にもとづいて自車４１の進行方向に平行で後方に向かう視線軸４０をもつ投影面４３に透視投影された処理画像を生成する。
【００６７】
また、カメラ１１を左右および前部に設け、自車４１に並走する他車の後面を検出してもよい。自車４１に並走する他車の後面を検出する場合、処理画像生成部２２は、カメラ１１の撮像画像にもとづいて自車４１の進行方向に平行で前方に向かう視線軸４０をもつ投影面４３に透視投影された処理画像を生成する。
【００６８】
また、カメラ１１を左右、前部および後部に設け、自車４１に並走する他車の側面を検出してもよい。自車４１に並走する他車の側面を検出する場合、処理画像生成部２２は、カメラ１１の撮像画像にもとづいて自車４１の進行方向に垂直な視線軸４０をもつ投影面４３に透視投影された処理画像を生成する。
【００６９】
他車の前面、側面および後面を検出する場合は、各視線軸４０に対応する個別の辞書を利用する。これらの辞書は辞書生成部２１によりあらかじめ生成される。もちろん、全てに対応する辞書を用意しておき全ての検出対象面（他車の前面、後面および側面）を検出対象としてもよい。
【００７０】
図７は、処理画像生成部２２により生成されるピラミッド画像５０の一例を示す説明図である。なお、図７には、最も縮小された画像（解像度が低い画像）から順に番号を０〜１６として示した。また、図７には、複数の処理画像を拡大縮小率に応じて近距離用画像、中距離用画像、遠距離用画像にそれぞれ分類する場合の例について示した。また、図７には、近距離用画像（０−８）が互いに１．３倍の拡大率、中距離用画像（９−１２）が互いに１．１９倍の拡大率、遠距離用画像（１３−１６）が互いに１．１９倍の拡大率である場合の例について示した。
【００７１】
辞書生成部２１により生成される辞書は、検出対象物４２に応じた所定サイズ（たとえば横×縦が２４×１２ピクセルなど）の画像に対応したものとしてもよい。この場合、仮検出部２３は、処理画像上で所定サイズの枠（たとえば２４×１２ピクセルなど）を走査することになる。一方、処理画像上での検出対象物４２の大きさは、自車４１からの距離に応じて異なる。たとえば検出対象物４２が自車４１から遠い場合は、近い場合に比べて検出対象物４２は処理画像上で小さく写ることになる。
【００７２】
このため、仮検出部２３が処理画像上で一定のサイズの枠を走査する場合には、処理画像生成部２２は、自車４１から設定される投影面４３の距離が互いに異なる複数の処理画像により構成される画像群（ピラミッド画像）５０を生成するとよい。このとき、処理画像生成部２２は、各処理画像が検出対象面の法線方向に平行な視線軸４０を有するように、すなわち辞書生成に用いられた視線軸４０と同一の視線軸４０を有するように、各処理画像を生成する。
【００７３】
処理画像上の検出対象物４２のサイズが枠のサイズと一致する場合における自車４１から検出対象物４２までの距離は、あらかじめ測定しておくことができる。このため、各処理画像は、あらかじめ自車４１から検出対象物４２までの距離と関連付けておくことができる。小さい処理画像ほど、関連付けられる自車４１からの距離が短い。
【００７４】
なお、ここでの処理画像の面は平面であるため、各処理画像での距離は、視線軸方向に対しての距離である。処理画像の面は円柱状や球状としてもよい。たとえば面を円柱にした場合、焦点距離は円（２次元）方向となり、検出対象物４２までの距離は円（２次元）方向となる。また、たとえば面を球にした場合、焦点距離は球（３次元）方向となり、検出対象物４２までの距離は球（３次元）方向となる。
【００７５】
なお、各処理画像は、自車４１からの互いに異なる距離と関連付けることができればよく、カメラ１１の撮像画像を複数の倍率で拡大縮小することにより生成されてもよいし、自車４１から検出対象物４２までの距離（たとえば２ｍなど）ごとに生成されてもよい。
【００７６】
ピラミッド画像５０を生成する場合、処理画像生成部２２は、自車４１から所定の距離ごとに投影面４３を設定し、この各投影面４３を用いて撮像画像にもとづいて各処理画像を生成する。
【００７７】
各投影面４３が同一の視線軸４０を有する場合、仮検出部２３はピラミッド画像５０を構成する全ての処理画像に対して１つの辞書を適用することができる。ピラミッド画像５０が生成されると、仮検出部２３は、各処理画像上で所定サイズの枠を走査し、ＨＯＧ特徴量にもとづいてＨＯＧ辞書を用いて検出対象物４２の仮検出枠（位置候補領域）の検出処理を行う。
【００７８】
（走査枠）
図８は、ＨＯＧ処理部３１によるＨＯＧ処理対象となる領域（検出対象面）について説明するための図である。
【００７９】
ＨＯＧ処理部３１は、処理画像上で検出対象物４２の検出対象面（ＨＯＧ処理領域）に応じたサイズの走査枠を走査し、ＨＯＧ辞書を用いてＨＯＧ特徴量を求めることにより走査位置ごとに尤度を求める。検出対象面は、完全な平面でなくともある程度平面とみなせる領域であることが好ましい。このため、検出対象物４２が自動車であって視線軸４０が自車４１の進行方向に平行である場合は、仮検出部２３は自動車（他車）の前面のライトあたりを検出対象面とするとよい。フロントガラス部分はライトよりも自車４１から見て奥に位置するため、近くで自車４１の横に位置する場合にはフロントガラス部分とライトあたりでは横位置がずれて処理画像が作成されてしまうためである。
【００８０】
なお、自車４１から遠くの位置のみを所定の範囲４４とする場合は、フロントガラス部分とライトあたりの奥行きが相対的に同じぐらいになるため、フロントガラスを含む自動車全体を検出対象面としてもよい。
【００８１】
また、視線軸４０が自車４１の進行方向に垂直である場合は、他車の側面を検出対象面とすればよい。なお、検出対象面は車両前方の一部の側面やタイヤなどの小さな領域としてもよい。検出対象面を小さな領域とすれば、遠くほど解像度が少なくなる影響や遠くほど検出対象物４２の側面が（完全な平面でない場合に）歪んでしまう影響を低減することができる。
【００８２】
この辞書は、１つのみで、広画角のカメラ１１により撮像される画像上に写った検出対象物４２が画像中心から離れた位置に写っており、かつ画像中心に写った場合に比べて形状が歪んでいる場合にも対応したものである。このため、広画角なカメラ１１を用いて広範囲を撮像した画像上において検出対象物４２の形状が歪んでいても、仮検出部２３は、１つの辞書で誤検出を抑制しつつ柔軟に安定して検出対象物４２を検出することができる。
【００８３】
また、画像処理装置１０は、１つの辞書で広い範囲に位置する検出対象物４２を検出することができる。このため、複数の辞書を用いる場合に比べ、必要となる記憶容量を大幅に低減することができるとともに、検出処理にかかる負荷を低減し処理時間を削減することができる。また、画像処理装置１０は、他車が自車４１に近い場合は、視線軸４０を自車４１の進行方向に垂直な方向とするとともに所定の範囲４４を自車４１の進行方向に沿った広い範囲とし、検出対象面を他車の側面や検出対象とすることもできる。このため、特にサイドミラー付近にカメラ１１を設けておく場合、自車４１を追い越す他車を自車４１の近くまで監視することができる。
【００８４】
このように１つの辞書で広い範囲をカバーする場合をはじめ、処理画像内における検出対象物４２の形状変化（歪み）がある場合には、検出対象物４２と合致する走査枠の尤度が低くなってしまうことになる。このとき、尤度の閾値を単に低くするだけでは、歪んだ検出対象物４２のみならず意図しない物体もいたずらに誤検出してしまうことになる。
【００８５】
そこで、本実施形態に係る画像処理装置１０のＨＯＧ結果判定部３２は、尤度の閾値を低くしつつ位置候補領域（仮検出枠）をある１つの処理画像上へ正規化した枠として複数検出する。そして、最終検出部２４がこの複数の位置候補領域の重畳領域にもとづいて処理画像内の検出対象物４２の最終検出位置を求めることにより、誤検出を低減する。
【００８６】
（最終検出位置の検出処理）
最終検出部２４は、図２のステップＳ６において、複数の仮検出枠（位置候補領域）の重畳領域を求め、この重畳領域と複数の仮検出枠とにもとづいて最終検出枠を求める。
【００８７】
このとき、最終検出部２４は、現在のフレームおよび過去の複数のフレームにおける重畳領域の履歴を用いてもよい。たとえば、重畳領域の履歴にもとづいて現在のフレームの複数の仮検出枠から複数の有効位置候補領域（以下、有効検出枠という）を抽出し、複数の有効検出枠のうち最も高い尤度を有する有効検出枠を最終検出枠としてもよいし、複数の有効検出枠をそれぞれの尤度で重み付け加算平均することにより最終検出枠を求めてもよい。
【００８８】
重畳領域の履歴を用いることにより、検出対象物４２が存在する確率が高い位置を限定することができ、誤検出を低減することができる。
【００８９】
さらに、最終検出部２４は、一つ前のフレームと現在のフレームとの間のオプティカルフローを用いて重畳領域を修正し、修正した重畳領域を用いて最終検出枠を求めてもよい。オプティカルフローを用いることにより、自車４１と検出対象物４２との相対速度が速い場合にも安定して最終検出枠を求めることができる。
【００９０】
図９は、図２のステップＳ６で最終検出部２４により実行される最終検出位置の決定処理の手順の概略を示すサブルーチンフローチャートである。
【００９１】
この手順は、図２のステップＳ５でＨＯＧ結果判定部３２により所定の尤度の閾値以上の尤度を有する複数の仮検出枠（位置候補領域）が得られてスタートとなる。仮検出枠は、たとえば長方形形状を有する。
【００９２】
なお、ピラミッド画像５０が生成された場合は、ＨＯＧ結果判定部３２は拡大縮小率の異なる複数の処理画像のそれぞれから複数の仮検出枠を検出する。この場合は、最終検出部２４はステップＳ１１を実行する前に１つの処理画像（たとえば最も解像度が高い（画素が細かい）画像）をグリッド用画像とし、このグリッド用画像に各検出枠の大きさおよび位置を正規化しておく。
【００９３】
（最終検出位置の検出処理：カウントグリッド生成処理）
ステップＳ２１において、最終検出部２４は、グリッド用画像を所定サイズのグリッド（セル）に分割したカウントグリッドを構成する各グリッドに対して、正規化された仮検出枠ごとに仮検出枠の位置に応じて値（カウント）を割り当てることにより、現在のフレームのカウントグリッドを生成する。
【００９４】
図１０は、図９のステップＳ２１で最終検出部２４により実行されるカウントグリッド生成処理の詳細な手順の一例を示すサブルーチンフローチャートである。また、図１１はカウントグリッドを生成する様子の一例を示す説明図である。
【００９５】
ステップＳ３１において、最終検出部２４は、グリッド用画像を所定サイズのグリッド（セル）に分割したカウントグリッドを初期化する。
【００９６】
次に、ステップＳ３２において、最終検出部２４は、カウントグリッドを構成する各グリッドに対して、正規化された仮検出枠ごとに仮検出枠が属するグリッドを特定する。
【００９７】
次に、ステップＳ３３において、最終検出部２４は、仮検出枠が属するグリッドをカウントアップする。このとき、尤度が高いほどカウントアップ量を大きくしてもよい。図１１には、仮検出枠の内部領域（位置候補領域）が一部でも属しているグリッドを仮検出枠が属するグリッドとする場合の例について示した。
【００９８】
そして、最終検出部２４は、ステップＳ３２およびＳ３３の処理を行なっていない仮検出枠があると（ステップＳ３４のＮＯ）ステップＳ３２に戻る一方、全ての仮検出枠についてステップＳ３２およびＳ３３の処理が終了した場合は（ステップＳ３４のＹＥＳ）、カウントグリッドの生成処理を終了し、図９のステップＳ２２に進む。
【００９９】
この結果、カウントグリッドの各グリッドの値の分布は、複数の仮検出枠（位置候補領域）の重畳領域に応じた分布となる。
【０１００】
（最終検出位置の検出処理：フレームグリッド更新処理）
次に、ステップＳ２２において、最終検出部２４は、グリッド用画像をカウントグリッドと同サイズのグリッド（セル）に分割したフレームグリッドについて、前回のフレームで得られたフレームグリッドの各グリッドの値を、カウントグリッドの各グリッドの値に応じて加減算することで更新し、今回（現在）のフレームのフレームグリッドを得る。
【０１０１】
図１２は、図９のステップＳ２２で最終検出部２４により実行されるフレームグリッド更新処理の詳細な手順の一例を示すサブルーチンフローチャートである。また、図１３はフレームグリッドを更新する様子の一例を示す説明図である。
【０１０２】
ステップＳ４１において、最終検出部２４は、グリッド用画像をカウントグリッドと同サイズのグリッド（セル）に分割したフレームグリッドを、ＲＡＭや記憶部１３などの記憶媒体から取得する。記憶媒体に記憶されたフレームグリッドは、前回のフレームにおける最終検出位置の検出処理において最終検出部２４により生成されたもの（過去のフレームグリッド）である。
【０１０３】
次に、ステップＳ４２において、最終検出部２４は、カウントグリッドの各グリッドの値に応じて、対応するフレームグリッドの各グリッドの加減算値を決定する。このとき、フレームグリッドの値に上限（たとえば９）と下限（たとえば０）を設けてもよい。また、カウントグリッドの値が大きいほど（小さいほど）加算値（減算値）を大きくしてもよく、たとえば、カウントグリッドの値が０または１で−３、２で−１、３で加減算なし、４または５で＋１、６以上で＋２などとしてもよい。
【０１０４】
図１３には、フレームグリッドの値の上限を９、下限を０としつつ、カウントグリッドにおいて４以上の値を有するグリッドに対応するフレームグリッドのグリッドに１を加える一方、３以下の値を有するグリッドに対応するフレームグリッドのグリッドから２を減じる場合の例について示した。
【０１０５】
次に、ステップＳ４３において、最終検出部２４は、前回のフレームで得られたフレームグリッド（過去のフレームグリッド）の各グリッドの値を、ステップＳ４２で決定した加減算値で加減算することで更新し、今回（現在）のフレームのフレームグリッドを得て記憶媒体に記憶させて図９のステップＳ２３に進む。
【０１０６】
この結果、フレームグリッドは、現在のフレームおよび過去の複数のフレームにおける重畳領域の履歴を反映したものとなる。
【０１０７】
（最終検出位置の検出処理：フレームグリッド拡張処理）
次に、ステップＳ２３において、最終検出部２４は、前回（一つ前）のフレームと現在のフレームとの間のオプティカルフローを取得する。オプティカルフローは、たとえばブロックマッチング法や勾配法などを用いて求めることができる。
【０１０８】
次に、ステップＳ２４において、最終検出部２４は、オプティカルフローを用いてフレームグリッドを拡張（各グリッドの値を修正）する。
【０１０９】
図１４は、第１実施形態においてオプティカルフローを用いてフレームグリッドを拡張する様子の一例を示す説明図である。
【０１１０】
オプティカルフローの情報により、現在のグリッドに対応する前回のグリッドの位置を互いに関連付けることができる。そこで、ステップＳ２３で得られた更新後フレームグリッドの各グリッドについて、オプティカルフローにより関連付けられた過去のグリッドの値が現在の値よりも大きい場合は、現在の値を過去のグリッドの値で置き換えてもよい（図１４参照）。また、オプティカルフローにより関連付けられた過去のグリッドの値が０の場合には、現在のグリッドの値を減算（たとえば−２など）してもよい。また、単純にオプティカルフローにより関連付けられた過去のグリッドの値で現在のグリッドの値を置き換えてもよい。
【０１１１】
オプティカルフローを用いてフレームグリッドを拡張することにより、動きの速い検出対象物４２であっても、その動きを追従し確実に検出することができる。
【０１１２】
なお、ステップＳ２３およびＳ２４は実行されずともよい。また、ステップＳ２２（またはステップＳ２３およびステップＳ２４が実行される場合はステップＳ２４）で得られたフレームグリッドの各グリッドのうち値の高いグリッドに対応する位置については、次回のフレームからＨＯＧ結果判定部３２による尤度の閾値を低くしてもよい。すなわち、ＨＯＧ結果判定部３２は、フレームグリッドの各グリッドの値に応じて、走査枠の走査位置ごとに尤度を変えてもよい。尤度の閾値を下げることにより、検出もれを防ぐことができる。
【０１１３】
（最終検出位置の検出処理：有効検出枠抽出、最終検出枠決定）
次に、ステップＳ２５において、最終検出部２４は、フレームグリッドの各グリッドの値が所定の値以上のグリッドを有効グリッドとして設定し、仮検出枠（図１１参照）のうち、有効グリッドと重なる仮検出枠を有効検出枠として抽出する。
【０１１４】
図１５（ａ）はフレームグリッドに設定された有効グリッドの一例を示す説明図であり、（ｂ）は有効検出枠の抽出条件について説明するための図である。また、図１５（ｃ）は抽出された複数の有効検出枠の一例を示す説明図であり、（ｄ）は複数の有効検出枠から求められる最終検出枠の一例を示す説明図である。
【０１１５】
有効グリッドは、ステップＳ２２（またはステップＳ２３およびステップＳ２４が実行される場合はステップＳ２４）で得られたフレームグリッドの各グリッドのうち値の高いグリッドである。図１５（ａ）には、図１４に示す拡張後のフレームグリッドにおいて３以上のグリッドを有効グリッドとする場合の例について示した。
【０１１６】
有効検出枠は、仮検出枠のうち、有効グリッドと重なる仮検出枠である。図１５（ｂ）には、仮検出枠に４箇所の枠内確認位置を設定する場合の例について示した。最終検出部２４は、たとえば４箇所の枠内確認位置のうち所定数以上（たとえば３つ以上）が有効グリッドと重なる仮検出枠を有効検出枠とする。枠内確認位置はたとえば仮検出枠の４つ角や４辺の中間などであってもよいし、またその数は４つである必要はなく、たとえば１つのみ（たとえば中心のみなど）であってもよい。
【０１１７】
また、有効検出枠同士の位置や大きさの類似具合により、さらに有効検出枠を選別してもよい。たとえば、大きさが複数の有効検出枠の平均値の１／１．５倍以上１．５倍未満の範囲であり、かつ所定割合以上重なっているもの（たとえば中心同士が枠の大きさの半分以上ずれていないもの）を選別してもよい。このように選別された有効検出枠は位置や大きさがほぼ同じものとなる。
【０１１８】
次に、ステップＳ２６において、最終検出部２４は、複数の有効検出枠にもとづいて最終検出枠（最終検出位置）を決定する。具体的には、最終検出部２４は、複数の有効検出枠のうち最も尤度の高いものを最終検出枠としてもよいし、複数の有効検出枠をそれぞれの尤度で重み付け加算平均することにより最終検出枠を求めてもよい。
【０１１９】
加重平均する場合は、加重平均する有効検出枠が所定数（たとえば２など）以上得られなかった場合、無効としてもよい。また、このとき、過去に得られた加重平均による最終検出枠も使用して加重平均してもよい。過去に得られた最終検出枠の位置は、現在のフレームにおいて動きによってずれた位置になっている場合がある。
【０１２０】
そこで、オプティカルフローを用いて最終検出枠の中心や平均により位置をずらしたり、中心と上部中央や左右の両端などの距離ずれの割合によって最終検出枠の大きさを変えたりしておいてもよい。また、最終検出枠で得られた領域全体を使用して平均や最小２乗法によって距離ずれの割合を計算してもよい。過去の最終検出枠を利用することにより、現在の仮検出枠がばらついている場合にもある程度スムージングされる。また、現在のフレームで最終検出枠が得られない（たとえば有効検出枠が２つ以上得られず無効とされた）場合は、過去の最終検出枠を所定のフレーム数（たとえば３フレーム）保持しておいてもよい。また、大きな加重平均結果の中に小さな加重平均結果が現れる場合があるので除去する。
【０１２１】
図１６は、有効グリッドを用いて有効検出枠を抽出して求められる最終検出枠と、有効グリッドを用いずに求められる最終検出枠との違いの一例を示す説明図である。
【０１２２】
図１６に示すように、現在のフレームで有効検出枠が得られない場合を想定する。有効グリッドを用いない場合、誤検出された仮検出枠も最終検出枠の決定に用いられてしまう。一方、有効グリッドを用いる場合、誤検出された仮検出枠は有効検出枠とはならず、したがって最終検出枠の決定は行われないため、過去の正しい最終検出枠を今回の最終検出枠として用いることも容易である。
【０１２３】
図９に示す手順により、最終検出部２４は、複数のある１つの処理画像上に正規化された仮検出枠（位置候補領域）の重畳領域を求め、この重畳領域と複数の仮検出枠とにもとづいて最終検出枠を求めることができる。
【０１２４】
本実施形態に係る画像処理装置１０は、複数の仮検出枠（位置候補領域）の重畳領域（密集度）を反映したカウントグリッドを生成し、このカウントグリッドと複数の仮検出枠とにもとづいて最終検出枠を求めることができる。このため、処理画像内の検出対象物４２の形状が変化する場合であっても誤検出を低減しつつ正確に検出対象物４２を検出することができる
【０１２５】
また、画像処理装置１０は、現在のフレームおよび過去の複数のフレームにおける重畳領域の履歴（時間的連続性）を反映したフレームグリッドを用い現在のフレームの複数の仮検出枠から複数の有効位置候補領域（有効検出枠）を抽出することができる。このため、検出対象物４２が存在する確率が高い位置を限定することができ、より誤検出を低減することができる。
【０１２６】
また、画像処理装置１０は、一つ前のフレームと現在のフレームとの間のオプティカルフローを用いてフレームグリッドを拡張し、拡張後のフレームグリッドを用いて最終検出枠を求めることができる。このため、検出対象物４２の動きが速い場合であっても、確実に安定して最終検出枠を求めることができる。
【０１２７】
（第２の実施形態）
次に、本発明に係る画像処理装置および画像処理プログラムの第２実施形態について説明する。
【０１２８】
この第２実施形態に示す画像処理装置１０は、自車４１からの距離に応じて複数のカウントグリッドおよびフレームグリッドを生成し最終検出部２４が３次元的な処理を行う点で第１実施形態に示す画像処理装置１０と異なる。仮検出部２３の処理までは第１実施形態に示す画像処理装置１０と同一であるため説明を省略する。
【０１２９】
本実施形態では、ピラミッド画像５０の複数の処理画像を拡大縮小率に応じて、すなわち自車４１からの距離に応じて複数に分類し、この分類ごとにカウントグリッド（３次元カウントグリッド）およびフレームグリッド（３次元フレームグリッド）を考える。
【０１３０】
まず、本実施形態に係るカウントグリッド生成処理について説明する。
【０１３１】
図１７は、自車４１からの距離に応じて生成される複数のカウントグリッドの一部の一例を示す説明図である。
【０１３２】
最終検出部２４は、ピラミッド画像５０の処理画像ごとにグリッドを生成してもよいし、処理画像の数よりも少ないグリッドを用意してもよい。また、自車４１に近いピラミッド画像５０の処理画像は解像度が粗いため、グリッドを粗くしてもよい。
【０１３３】
奥行方向に３次元カウントグリッドを設ける場合、各カウントグリッドのグリッド用画像は解像度が異なる。このため、各グリッド用画像に正規化された仮検出枠の大きさも異なる。最終検出部２４は、図１７に示すように、仮検出枠の大きさに応じて、奥行き方向に分けられた３次元カウントグリッドごとに加算させる。このとき、３次元カウントグリッドのうち一番合っている奥行きのカウントグリッドの前後のいくつかの奥行き（たとえば前後１つずつ）のグリッドにも加算させてもよい。
【０１３４】
この場合、検出対象物４２の最大速度をあらかじめ設定しておき、この最大速度に対応する距離内に該当する前後のカウントグリッドを、距離が近いほど多く加算させてもよい。また、過去の移動速度を計算しておき、その速度分ずらしたグリッドから前後いくつかの奥行きのグリッドに加算してもよい。
【０１３５】
フレームグリッドは、カウントグリッド同様に、奥行き方向に分けられた３次元のフレームグリッドとなっている。フレームグリッドの更新処理は第１実施形態に係る画像処理装置１０の処理と同様であるため説明を省略する（たとえばカウントグリッドの各グリッドの値に応じて対応するフレームグリッドの各グリッドの加減算値を決定するなど、図１２、１３参照）。
【０１３６】
次に、本実施形態に係るフレームグリッドの拡張処理について説明する。
【０１３７】
図１８（ａ）はオプティカルフローの一例を示す説明図であり、（ｂ）は第２実施形態において（ａ）に示すオプティカルフローを用いてフレームグリッドを拡張する様子の一例を示す説明図である。
【０１３８】
まず、ピラミッド画像５０の所定の処理画像において前回（一つ前）のフレームと現在のフレームとの間のオプティカルフローを取得する。なお、奥行きが違う処理画像ごとにオプティカルフローを求める必要はなく、奥行きが違う処理画像でも解像度や大きさが異なるだけで元は同一の撮像画像である。このため、他の処理画像については所定の処理画像で求めたオプティカルフローを正規化して使用すればよい。
【０１３９】
本実施形態におけるフレームグリッドの拡張処理は、奥行き方向の拡張も必要となる。このため、第１実施形態に係る処理に加え次の処理を追加する。
【０１４０】
フレームグリッドのグリッドのうち０でないグリッドは、有効検出枠が属していたグリッドである。この有効検出枠ごとに、または有効検出枠の近いもの同士を加重平均して得られる枠ごとに拡張処理する。
【０１４１】
有効検出枠の中心や端の結果を利用することで、拡大率を得ることができる。このとき複数の有効検出枠のそれぞれで拡大率を求め、これらの拡大率にもとづいて最小２乗法などを施したものを拡大率として用いることにより誤差を減らしてもよい。
【０１４２】
拡大率が所定の値（たとえば１．１倍など）以上のとき、奥から手前に向かって、手前のフレームグリッドに有効検出枠が属するグリッド位置の値を拡張するとともに、有効検出枠のグリッド位置に奥のグリッドの値を拡張する。同様に拡大率がある値（たとえば１／１．１倍）以下のとき、手前から奥に向かって、奥のグリッドに現在の有効検出枠のグリッド位置の値を拡張するとともに、現在の有効検出枠のグリッド位置に手前のグリッドの値を拡張する。
【０１４３】
また、拡大率や縮小率が１倍より極端に違う場合は、グリッドを複数またいだ先の倍率の合うグリッドに有効検出枠のグリッド位置の値を拡張するとともに、有効検出枠のグリッド位置にグリッドを複数またいだ先の倍率の合うグリッドの値を拡張してもよい。この場合、前後に隣接するグリッドにも現在の有効検出枠のグリッド位置の結果を拡張するように、拡大率からの奥行きの範囲を定義（０．８倍から１．２倍など）し、この範囲内のグリッドに結果を拡張してもよい。
【０１４４】
また、オプティカルフロー分ずれた位置から値を拡張してもよい。また、有効検出枠の得られた奥行きのフレームグリッドのみではなく、得られなかった奥行きのフレームグリッドも同じ拡大率として拡張してもよい。
【０１４５】
フレームグリッドの拡張処理を実行した後、最終検出部２４は、仮検出枠の大きさと一番合うグリッドを選んで、その奥行きのフレームグリッドの有効グリッドを用いて仮検出枠同士の位置や大きさの類似具合により有効検出枠を選別し、選別した有効検出枠をそれぞれの尤度で重み付け加算平均することにより最終検出枠を求める。このときの加重平均は、奥行きが異なっても近い奥行きのグリッドで得られたものは１つの結果とすればよい。
【０１４６】
第２実施形態に係る画像処理装置１０は、第１実施形態にかかる画像処理装置１０と同様の効果を奏する。また、第２実施形態に係る画像処理装置１０によれば、奥行方向の確認が可能となるため、奥行きが異なる結果を誤検出することを防ぐことができる。
【０１４７】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【０１４８】
たとえば、仮検出枠の大きさや形状は、検出対象物４２の種別に応じて走査枠に対して適宜変更してもよい。検出対象物４２の移動速度が大きい方向ほど仮検出枠の幅を大きく、移動速度が小さい方向ほど仮検出枠の幅を小さく、走査枠に対して変更することにより、より高速に精度よく最終検出枠を求めることができる。
【０１４９】
たとえば人などのように、走査枠の形が縦長になり横幅が狭い場合には、検出対象物４２が動いたときにフレーム間で枠同士が横幅方向に重畳しない場合が多く、フレームグリッドのカウントがオプティカルフローによる拡張処理を行ってもあがりにくくなる。
【０１５０】
そこで、検出対象物４２の処理画像上の移動しやすさによって仮検出枠の形状を変えてもよい。たとえば、検出対象物４２が、処理画像上において横方向に大きく縦方向に小さく移動しやすいものである場合であって仮検出枠が縦長である場合、仮検出枠の形状を横長に変換するとよい。
【０１５１】
また、仮検出枠の形状変更を行う場合、形状変更前の中心位置は同じ位置としてもよいし、処理画像の奥行きが異なっても重複した位置となるよう、たとえば縦方向の中心位置が水平線位置付近となるように所定の割合でずらしてもよい。また、仮検出枠の形状変更後の形状は長方形に限られず、楕円形や三角形であってもよい。
【０１５２】
また、自車４１が回転した場合などでは、近くほど大きさに対する横の移動量は小さくなる。このため、得られる大きさや奥行きによって仮検出枠の形状を変えてもよい。このようにしてカウントグリッドを生成することにより重畳領域を確保することができ、最終検出枠の検出精度を維持することができる。また、移動が少ない方向の仮検出枠の幅を小さくすることにより、仮検出枠が属するグリッドの特定に係る演算を軽くすることができる。また、縦方向に移動しないことがわかっている場合には、縦方向のグリッド数を１つにすることにより、仮検出枠が属するグリッドの特定に係る演算を軽くすることができる。また、横方向も同様である。
【０１５３】
また、画像処理装置１０が利用する撮像画像は、車両に設けられたカメラ１１の撮像画像でなくともよく、たとえば街灯に設置されたカメラなどの一般的な周辺監視カメラにより撮像された画像であってもよい。
【符号の説明】
【０１５４】
１０  画像処理装置
１１  カメラ
１８  スピーカ
１９  表示装置
２１  辞書生成部
２２  処理画像生成部
２３  仮検出部
２４  最終検出部
２５  警告部
４０  視線軸
４２  検出対象物
４４  所定の範囲
【図１】
2015184908.tif 000003
【図２】
2015184908.tif 000004
【図３】
2015184908.tif 000005
【図４】
2015184908.tif 000006
【図５】
2015184908.tif 000007
【図６】
2015184908.tif 000008
【図７】
2015184908.tif 000009
【図８】
2015184908.tif 000010
【図９】
2015184908.tif 000011
【図１０】
2015184908.tif 000012
【図１１】
2015184908.tif 000013
【図１２】
2015184908.tif 000014
【図１３】
2015184908.tif 000015
【図１４】
2015184908.tif 000016
【図１５】
2015184908.tif 000017
【図１６】
2015184908.tif 000018
【図１７】
2015184908.tif 000019
【図１８】
2015184908.tif 000020