(57)【要約】高精度かつ効率的な視差マップ生成、物体検出処理を実行する装置、方法を提供する。異なる視点から撮影された２つの画像を入力して視差を算出し、視差マップを生成する視差算出部と、視差マップを適用して物体検出処理を実行する分類部を有する。視差算出部は、等倍解像度画像を適用したステレオマッチング処理を実行し、処理結果から複数の解像度対応のコストボリュームを生成し、各解像度対応のコストボリュームを利用して複数の異なる解像度対応の視差マップと、物体候補領域マップを生成して分類部に出力する。
2018147059.tif 000002
【特許請求の範囲】
【請求項１】
異なる視点から撮影された２つの画像を入力して物体検出処理を実行する物体検出部を有し、
前記物体検出部は、
前記２つの画像の各画素の視差を算出し、算出視差情報からなる視差マップを生成する視差算出部と、
前記視差算出部の生成した視差マップを適用して物体検出処理を実行する分類部を有し、
前記視差算出部は、
複数の異なる解像度対応の視差マップを生成して前記分類部に出力する画像処理装置。
【請求項２】
前記視差算出部は、
前記２つの画像の等倍解像度画像を適用した対応点探索処理であるステレオマッチング処理を実行する画素マッチング部を有する請求項１に記載の画像処理装置。
【請求項３】
前記画素マッチング部は、
前記物体検出処理における検出対象物の高さＬ、および画像上の高さｈ、および前記２つの画像を撮影した２つのカメラ間の距離に相当する基線長Ｂの少なくともいずれかの値を適用して、対応点探索領域であるサーチレンジ区間を決定する請求項２に記載の画像処理装置。
【請求項４】
前記画素マッチング部は、
前記ステレオマッチング処理の実行結果として、画素単位の一致度を画像の構成画素各々に設定したコストプレーンの束（スタック）からなるコストボリュームを生成する請求項２に記載の画像処理装置。
【請求項５】
前記視差算出部は、
前記画素マッチング部の生成した前記コストボリュームのフィルタリング処理により、複数の異なる解像度対応のコストボリュームを生成するコストボリュームフィルタリング部を有する請求項４に記載の画像処理装置。
【請求項６】
前記コストボリュームフィルタリング部は、
フィルタリング対象の画素の間隔であるステップの設定、および、フィルタリング処理に際して参照する参照画素の範囲を規定するカーネルサイズを、出力するコストボリュームの解像度に応じて変更してフィルタリング処理を行う請求項５に記載の画像処理装置。
【請求項７】
前記コストボリュームフィルタリング部は、
平均化フィルタを適用してフィルタリング処理を行う請求項５に記載の画像処理装置。
【請求項８】
前記視差算出部は、
前記コストボリュームフィルタリング部の生成した複数の異なる解像度対応のコストボリュームの各々に対応する視差マップと、物体候補領域マップを生成する視差決定部を有する請求項５に記載の画像処理装置。
【請求項９】
前記視差決定部は、
処理対象として選択した解像度のコストボリュームに含まれる複数のコストプレーン各々について、同一の画素位置（対応画素位置）の画素値（一致度）を比較して、最も一致度の高いコストプレーンを選択し、そのコストプレーンの視差ｄをその画素位置の視差Ｄとして決定する視差決定処理を実行し、該視差決定処理において決定した視差Ｄを画素に対応付けた視差マップを生成する請求項８に記載の画像処理装置。
【請求項１０】
前記視差決定部は、
前記視差決定処理において決定した各画素対応の視差Ｄ（ｘ，ｙ）、あるいは視差Ｄ（ｘ，ｙ）における一致度に基づいて、
検出対象物の存在確率が高い領域（画素領域）を表す物体候補領域マップを生成する請求項９に記載の画像処理装置。
【請求項１１】
前記分類部は、
前記視差算出部の生成した複数の異なる解像度対応の視差マップと、物体候補領域マップを入力し、
入力したデータを利用した機械学習処理により、物体検出処理を実行する請求項８に記載の画像処理装置。
【請求項１２】
前記分類部は、
物体検出アルゴリズムであるＡＣＦ（Ａｇｇｒｅｇａｔｅｄ  Ｃｈａｎｎｅｌ  Ｆｅａｔｕｒｅｓ）を適用して物体検出処理を実行する請求項１１に記載の画像処理装置。
【請求項１３】
前記異なる視点から撮影された２つの画像は、可視光画像と遠赤外線画像である請求項１に記載の画像処理装置。
【請求項１４】
画像処理装置において実行する画像処理方法であり、
物体検出部が、異なる視点から撮影された２つの画像を入力して物体検出処理を実行する物体検出処理ステップを実行し、
前記物体検出処理ステップは、
視差算出部において、前記２つの画像の各画素の視差を算出し、算出視差情報からなる視差マップを生成する視差算出ステップと、
分類部において、前記視差算出ステップにおいて生成した視差マップを適用して物体検出処理を実行する分類処理ステップを有し、
前記視差算出ステップは、
複数の異なる解像度対応の視差マップを生成して前記分類部に出力する画像処理方法。
【請求項１５】
画像処理装置において画像処理を実行させるプログラムであり、
物体検出部に、異なる視点から撮影された２つの画像を入力して物体検出処理を実行する物体検出処理ステップを実行させ、
前記物体検出処理ステップにおいて、
視差算出部において、前記２つの画像の各画素の視差を算出し、算出視差情報からなる視差マップを生成する視差算出ステップと、
分類部において、前記視差算出ステップにおいて生成した視差マップを適用して物体検出処理を実行する分類処理ステップを実行させ、
前記視差算出ステップにおいては、
複数の異なる解像度対応の視差マップを生成して前記分類部に出力させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置、および画像処理方法、並びにプログラムに関する。特に、２つの異なる視点からの撮影画像を適用したステレオマッチングの精度を向上させ、高精度な物体検出を可能とした画像処理装置、および画像処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
昨今、可視光の画像撮影を行う可視光カメラとともに、可視光による画像撮影が困難な夜間等においても人物等を撮影可能な遠赤外カメラを組み合わせたシステムが多く利用されている。【０００３】
例えば、車載カメラとして、可視光カメラと、遠赤外カメラを並べて搭載し、２つのカメラの撮影画像に基づくステレオマッチングを行うことで、人の検出と、人までの距離の測定が可能となる。【０００４】
可視光画像と遠赤外線画像を用いた歩行者検出処理について記載した文献として、非特許文献１［Ｍｕｌｔｉｓｐｅｃｔｒａｌ  Ｐｅｄｅｓｔｒｉａｎ  Ｄｅｔｅｃｔｉｏｎ：  Ｂｅｎｃｈｍａｒｋ  Ｄａｔａｓｅｔ  ａｎｄ  Ｂａｓｅｌｉｎｅ（ＣＶＰＲ２０１５＿ＭｕｔｉｓｐｅｃｔａｌＰｅｄｅｓｔｒｉａｎ．ｐｄｆ）］がある。【０００５】
この非特許文献１は、可視光画像（ＲＧＢ画像）の輝度や色、勾配（強度と方向）等の特徴量と、遠赤外線画像の温度、勾配（強度と方向）に関する特徴量を、機械学習を用いて学習することで、歩行者を検出する構成を開示している。この開示方法の適用により、夜間などの可視光画像が苦手とするようなシーンでも歩行者の検出が可能になる。【０００６】
このように、通常の可視光画像に、別のセンサー情報を用いた画像処理を行うことで、夜間等、可視光画像のみを用いて検出できない状況においても、人の検出が可能となる。【０００７】
しかし、このような異なる波長の画像を用いた物体検出において、２つの画像間に位置ずれがある場合、物体検出の精度や性能が低下することがある。
上記の非特許文献１では、ビームスプリッターを用いて、可視光カメラと遠赤外線カメラの光軸を合わせているが、装置が大掛かりになり、コストの増加につながる。
また、２つのカメラの組み合わせや設置位置の制約などから、物理的に光軸を合わせることが不可能な場合もある。【０００８】
このような物理的な手法以外に、各カメラの撮影画像信号に対して信号処理を行うことにより、２つのカメラの光軸を合わせる方法もある。
例えば、事前にチャートなどを用いてキャリブレーションを行い、実際の撮影時に対象物体とカメラの位置関係によって生じる視差ずれに対してステレオマッチングを用いて画素毎にずれ量を補正する方法である。【０００９】
しかしながら、ステレオマッチングには、ブロックマッチングに適用するブロックサイズとサーチレンジをどのように設定するかという課題がある。
ブロックサイズに関しては、小さ過ぎるとノイズに対するロバスト性が低下し視差推定結果が不安定になる。一方、大き過ぎると物体境界で前景と背景の視差が混ざることで視差推定精度が低下する。【００１０】
また、サーチレンジに関しては、小さ過ぎると視差を検出できる範囲が狭くなってしまい、対応できるシーンが限られてしまう。一方、大き過ぎると候補が増えることによって誤推定が増加し、また処理時間が増大する。【００１１】
ブロックマッチングのブロックサイズとサーチレンジを適切に設定することができれば、性能の改善と計算量の削減が可能となるが、最適化の具体的な処理については、明確な回答がないというのが現状である。【００１２】
また、物体検出技術そのものの課題として、計算量の多さがある。
一般的に、物体検出では、検出対象となる物体が画像のどこに、どれくらいの大きさで写っているか事前に分からないため、様々な大きさに拡大または縮小した異なる解像度の画像を生成し、これらの複数の画像の各々に対して画像全体に渡って検出処理を行う。このような処理が必要となるため、計算量が多くなってしまうという問題がある。
【先行技術文献】
【非特許文献】
【００１３】
【非特許文献１】Ｍｕｌｔｉｓｐｅｃｔｒａｌ  Ｐｅｄｅｓｔｒｉａｎ  Ｄｅｔｅｃｔｉｏｎ：  Ｂｅｎｃｈｍａｒｋ  Ｄａｔａｓｅｔ  ａｎｄ  Ｂａｓｅｌｉｎｅ（ＣＶＰＲ２０１５＿ＭｕｔｉｓｐｅｃｔａｌＰｅｄｅｓｔｒｉａｎ．ｐｄｆ）
【発明の概要】
【発明が解決しようとする課題】
【００１４】
本開示は、例えば、上記の問題点に鑑みてなされたものであり、２つの異なる視点からの画像を用いた視差マップの生成や、物体検出処理を高精度に効率よく実行することを可能とした画像処理装置、および画像処理方法、並びにプログラムを提供することを目的とする。【００１５】
本開示の一実施例においては、例えば可視光画像と遠赤外線画像を適用した画像処理において、ステレオマッチングや、視差マップの生成、さらに物体検出処理等を高精度かつ効率的に実行することを可能とした画像処理装置、および画像処理方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１６】
本開示の第１の側面は、
異なる視点から撮影された２つの画像を入力して物体検出処理を実行する物体検出部を有し、
前記物体検出部は、
前記２つの画像の各画素の視差を算出し、算出視差情報からなる視差マップを生成する視差算出部と、
前記視差算出部の生成した視差マップを適用して物体検出処理を実行する分類部を有し、
前記視差算出部は、
複数の異なる解像度対応の視差マップを生成して前記分類部に出力する画像処理装置にある。【００１７】
さらに、本開示の第２の側面は、
画像処理装置において実行する画像処理方法であり、
物体検出部が、異なる視点から撮影された２つの画像を入力して物体検出処理を実行する物体検出処理ステップを実行し、
前記物体検出処理ステップは、
視差算出部において、前記２つの画像の各画素の視差を算出し、算出視差情報からなる視差マップを生成する視差算出ステップと、
分類部において、前記視差算出ステップにおいて生成した視差マップを適用して物体検出処理を実行する分類処理ステップを有し、
前記視差算出ステップは、
複数の異なる解像度対応の視差マップを生成して前記分類部に出力する画像処理方法にある。【００１８】
さらに、本開示の第３の側面は、
画像処理装置において画像処理を実行させるプログラムであり、
物体検出部に、異なる視点から撮影された２つの画像を入力して物体検出処理を実行する物体検出処理ステップを実行させ、
前記物体検出処理ステップにおいて、
視差算出部において、前記２つの画像の各画素の視差を算出し、算出視差情報からなる視差マップを生成する視差算出ステップと、
分類部において、前記視差算出ステップにおいて生成した視差マップを適用して物体検出処理を実行する分類処理ステップを実行させ、
前記視差算出ステップにおいては、
複数の異なる解像度対応の視差マップを生成して前記分類部に出力させるプログラムにある。【００１９】
なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。【００２０】
本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００２１】
本開示の一実施例の構成によれば、高精度かつ効率的な視差マップ生成、物体検出処理を実行する装置、方法が実現される。
具体的には、例えば異なる視点から撮影された２つの画像を入力して視差を算出し、視差マップを生成する視差算出部と、視差マップを適用して物体検出処理を実行する分類部を有する。視差算出部は、等倍解像度画像を適用したステレオマッチング処理を実行し、処理結果から複数の解像度対応のコストボリュームを生成し、各解像度対応のコストボリュームを利用して複数の異なる解像度対応の視差マップと、物体候補領域マップを生成して分類部に出力する。
これらの処理により、高精度かつ効率的な視差マップ生成、物体検出処理を実行する装置、方法が実現される。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
【図面の簡単な説明】
【００２２】
【図１】撮影画像の種類と光の波長との対応関係について説明する図である。
【図２】可視光画像と遠赤外線画像の画素配列の例について説明する図である。
【図３】本開示の画像処理装置の構成例について説明する図である。
【図４】画像処理部の構成と処理について説明する図である。
【図５】物体検出部の構成と処理について説明する図である。
【図６】視差算出部の構成と処理について説明する図である。
【図７】視差算出部の画素マッチング部の実行する処理について説明するフローチャートを示す図である。
【図８】画像撮影構成と、撮影画像の例、および視差等のパラメータについて説明する図である。
【図９】物体検出処理の一例について説明する図である。
【図１０】コストボリュームの一例について説明する図である。
【図１１】コストボリュームの一例について説明する図である。
【図１２】コストボリュームの一例について説明する図である。
【図１３】視差算出部のコストボリュームフィルタリング部の実行する処理について説明するフローチャートを示す図である。
【図１４】コストボリュームフィルタリング部の実行する処理の一例について説明する図である。
【図１５】コストボリュームフィルタリング部の実行する処理の一例について説明する図である。
【図１６】コストボリュームフィルタリング部の実行する処理の一例について説明する図である。
【図１７】コストボリュームフィルタリング部の実行する処理の一例について説明する図である。
【図１８】視差算出部の視差決定部の実行する処理について説明するフローチャートを示す図である。
【図１９】視差算出部の視差決定部の実行する処理について説明する図である。
【図２０】画像処理装置のハードウェア構成例について説明する図である。
【発明を実施するための形態】
【００２３】
以下、図面を参照しながら本開示の画像処理装置、撮像装置、および画像処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行う。
１．本開示の画像処理装置の構成と処理について
２．画像処理部の構成と処理について
３．視差算出部の構成と処理について
３−１．画素マッチング部の実行する処理について
３−２．コストボリュームフィルタリング部の実行する処理について
３−３．視差決定部の実行する処理について
４．その他の実施例について
４−１．画素マッチング部における一致度（Ｓｉｍｉｌａｒｉｔｙ）算出処理の変更例について
４−２．コストボリュームフィルタリング部におけるコストボリュームフィルタリング処理の変更例について
４−３．視差決定部における視差決定処理の変更例について
４−４．視差決定部における物体候補領域マップの生成処理の変更例について
５．画像処理装置のハードウェア構成例について
６．本開示の構成のまとめ
【００２４】
［１．本開示の画像処理装置の構成と処理について］
図１以下を参照して本開示の画像処理装置の構成と処理について説明する。
まず、図１以下を参照して本開示の画像処理装置が処理対象とする画像について説明する。
【００２５】
本開示の画像処理装置は、２つの異なる視点から撮影した画像を適用した画像処理を実行する。
なお、以下に説明する実施例では、２つの異なる視点からの撮影画像の組み合わせとして、可視光画像と、遠赤外線画像を適用した実施例について説明する。
すなわち、２つの異なる視点からの撮影画像である可視光画像と、遠赤外線画像を入力し、これらの画像を適用した画像処理を実行する例について説明する。
【００２６】
ただし、本開示の処理は、可視光画像と遠赤外線画像の組み合わせに限らず、その他の画像の組み合わせ、例えば可視光画像と赤外光画像の組み合わせ、あるいは可視光画像と可視光画像の組み合わせ等にも適用可能である。すなわち、２つの異なる視点から撮影した画像であれば、その組み合わせは問わない。
【００２７】
図１に示すように、可視光画像１０は、波長が約０．４μｍ〜０．７μｍの範囲の画像であり、一般的なカメラで撮影されるＲＧＢ画像等のカラー画像である。
【００２８】
赤外光画像は、波長が．０．７μｍ以上の長波長光からなる画像である。赤外光画像を撮影する赤外光画像撮影カメラは、例えば暗闇等において熱を発生する物体、例えば人物等を撮影することが可能であり、監視カメラ等に利用される。
なお、赤外線は、図１に示すように、
波長が約０．７〜１μｍの近赤外線、
波長が約３〜５μｍの中赤外線、
波長が約８〜１４μｍの遠赤外線、
このように区分される。
【００２９】
以下に説明する実施例では、主に波長が約８〜１４μｍの遠赤外線を撮影する遠赤外線画像２０を利用した画像処理例について説明する。
ただし、本開示の処理は、遠赤外線画像に限らず、その他の赤外光画像を利用した処理にも適用可能である。
【００３０】
図２は、可視光画像１０、および遠赤外線画像２０を撮影する撮像素子上の画素配列の例を示す図である。
図２（１）の可視光画像は、ＲＧＢ各画素からなるベイヤ配列の例を示している。このベイヤ配列は、多くの可視光撮影カメラの撮像素子に利用されている。
撮像素子の各画素は、ＲまたはＧまたはＢ各波長光の光量に応じた電気信号を出力する。
【００３１】
一方、図２（２）の遠赤外線画像は、全ての画素位置において遠赤外線（ＦＩＲ：Ｆａｒ  Ｉｎｆｒａ  Ｒｅｄ）の波長光を撮影する。
具体的には、例えば人の体温等、温度に応じた濃淡画素値からなるモノクロ画像が生成される。
ただし、図２（１），（２）に示すように、一般的に赤外光画像撮像素子は、可視光画像撮像素子に比較して、解像度が低くなる。これは赤外光、特に遠赤外光は波長光が長く、高密度の画素配列を持つ撮像素子が利用しにくい等の理由である。
【００３２】
図３は、本開示の画像処理装置１００の一例である撮像装置の構成を示すブロック図である。
なお、本開示の画像処理装置には、撮像装置に限らず、例えば撮像装置の撮影画像を入力して画像処理を実行するＰＣ等の情報処理装置も含まれる。
以下では、本開示の画像処理装置１００の一例として、撮像装置の構成と処理について説明する。
以下の実施例において説明する撮影処理以外の画像処理は、撮像装置に限らず、ＰＣ等の情報処理装置において実行可能である。
【００３３】
図３に示す撮像装置としての画像処理装置１００は、制御部１０１、記憶部１０２、コーデック１０３、入力部１０４、出力部１０５、撮像部１０６、画像処理部１２０を有する。
撮像部１０６は、通常の可視光画像の撮影を行う可視光画像撮像部１０７と、遠赤外線画像を撮影する赤外光画像撮像部１０８を有する。
なお、前述したように、本開示の処理は、可視光画像と遠赤外線画像の組み合わせに限らず、その他の画像の組み合わせ、例えば可視光画像と赤外光画像の組み合わせ、あるいは可視光画像と可視光画像の組み合わせにも適用可能である。
以下においては、本開示の一つの実施例として、可視光画像と遠赤外線画像を適用した実施例について説明する。
【００３４】
可視光画像撮像部１０７は、可視光画像の画像撮影を行うための第１撮像素子１１１を有する。第１撮像素子１１１は、例えば、先に図２（１）を参照して説明したベイヤ配列からなるＲＧＢ画素を有し、各画素単位でＲＧＢ各色の入力光対応の信号を出力する撮像素子である。
【００３５】
一方、遠赤外線画像撮像部１０８は、遠赤外線画像の画像撮影を行うための第２撮像素子１１２を有する。第２撮像素子１１２は、例えば先に図２（２）を参照して説明した遠赤外線を入射する画素からなる撮像素子であり、各画素から、遠赤外線の入射量に応じた電気信号を出力する。
【００３６】
可視光画像撮像部１０７と、赤外光画像撮像部１０８は、所定間隔、離れた位置に設定される２つの撮像部であり、それぞれの撮影画像は異なる視点からの画像となる。
異なる視点からの２つの画像の対応画素、すなわち同一位置の画素には同一の被写体画像が撮影されず、視差に応じた被写体ずれが発生する。
【００３７】
可視光画像撮像部１０７と、赤外光画像撮像部１０８は、撮影画像が静止画である場合は、各々が１枚ずつ、計２枚の静止画を撮影する。動画を撮影する場合は、各撮像部の撮影フレームは、各撮像部が連続した画像フレームを撮影する。
なお、これらの撮影タイミングの制御は制御部１０１によって行われる。
【００３８】
制御部１０１は、画像の撮影、撮影画像に対する信号処理、画像の記録処理、表示処理等、撮像装置１００において実行する各種の処理を制御する。制御部１０１は、例えば記憶部１０２に格納された様々な処理プログラムに従った処理を実行するＣＰＵ等を備え、プログラムを実行するデータ処理部として機能する。
【００３９】
記憶部１０２は、撮影画像の格納部、さらに、制御部１０１において実行する処理プログラムや、各種パラメータの記憶部、さらにデータ処理時のワークエリアとして機能するＲＡＭ、ＲＯＭ等によって構成される。
コーデック１０３は、撮影画像の圧縮、伸長処理等の符号化、復号処理を実行する。
入力部１０４は、例えばユーザ操作部であり、撮影開始、終了、様々なモード設定等の制御情報を入力する。
出力部１０５は表示部、スピーカ等によって構成され、撮影画像、スルー画等の表示、音声出力等に利用される。
【００４０】
画像処理部１２０は、撮像部１０６から入力する２枚の画像を入力し、これら２枚の画像を適用した画像処理を実行する。
この画像処理の具体例については、以下の各実施例において後段で説明する。
【００４１】
［２．画像処理部の構成と処理について］
次に、図３を参照して説明した画像処理装置１００の画像処理部１２０の具体的な構成と処理について説明する。
【００４２】
図４は、図３を参照して説明した画像処理装置１００の画像処理部１２０の具体的な構成を示すブロック図である。
図４に示すように、画像処理部１２０は、キャリブレーション実行部１４０、物体検出部２００を有する。
【００４３】
キャリブレーション実行部１４０は、撮像部１０６の可視光画像撮像部１０７の第１撮像素子１１１が撮影した可視光画像である第１画像１３１と、遠赤外線画像撮像部１０８の第２撮像素子１１２が撮影した遠赤外線画像である第２画像１３２を入力して、キャリブレーション処理を実行して、補正第１画像１５１、補正第２画像１５２を生成する。
【００４４】
撮像部１０６の可視光画像撮像部１０７と、遠赤外線画像撮像部１０８は離間した位置にあり、また、撮像部を構成するレンズ等のパラメータにも差異がある。
従って、可視光画像撮像部１０７が撮影した第１画像１３１と、遠赤外線画像撮像部１０８が撮影した第２画像１３２は、各画像の歪、倍率、解像度などの特性が異なる。
【００４５】
そのため、まずキャリブレーション実行部１４０において、第１画像１３１、第２画像１３２それぞれの画像の歪補正、倍率補正の処理が行う。また、後段で実行するステレオマッチングの処理を容易にするために、画像間の平行化処理も行う。この平行化処理によって、３次元空間上の１点をそれぞれの画像に投影したとき、それぞれの画像の同じライン上にアラインされている状態となっている。ただし、カメラと３次元空間上の１点までの距離に応じて、水平方向の視差ずれは依然発生した状態である。
【００４６】
キャリブレーション実行部１４０におけるキャリブレーション後の画像である補正第１画像１５１と、補正第２画像１５２は、物体検出部２００に入力される。
物体検出部２００は、キャリブレーション後の補正第１画像１５１と、補正第２画像１５２を適用した物体検出処理、例えば人の検出処理を行う。
物体検出部２００は、処理結果として、物体検出結果１７０を出力する。例えば人の検出結果である。
【００４７】
物体検出部２００の具体的構成例と処理について、図５を参照して説明する。
物体検出部２００は、図５に示す通り、特徴量抽出部２１０、視差算出部２２０、分類部２３０を有する。
物体検出部２００の特徴量抽出部２１０、視差算出部２２０、分類部２３０は、いずれもキャリブレーション後の補正第１画像１５１と、補正第２画像１５２を入力して処理を実行する。
【００４８】
特徴量抽出部２１０は、キャリブレーション後の補正第１画像１５１と、補正第２画像１５２を入力して、これらの各画像から特徴量を抽出する。
抽出する特徴量は、画像に応じた特徴量である。
例えば、可視光画像である補正第１画像１５１からは、輝度、色情報、勾配情報などを抽出する。
また、遠赤外線画像である補正第２画像１５２からは、温度、勾配情報などを抽出する。
前述したように、遠赤外線画像は、例えば人の体温等、温度に応じた濃淡画素値からなるモノクロ画像であり、このモノクロ画像の画素値の示す温度や、その画素値の勾配情報等が特徴量として抽出される。
【００４９】
図５に示すように、特徴量抽出部２１０は、以下の各特徴量データを出力する。
（ａ）可視光画像である補正第１画像１５１から抽出した第１画像特徴量２１１、
（ｂ）遠赤外線画像である補正第２画像１５２から抽出した第２画像特徴量２１２、
これらの特徴量情報は、視差算出部２２０と、分類部２３０に入力される。
【００５０】
視差算出部２２０は、これらの２つの画像の特徴量を用いて、補正第１画像１５１と補正第２画像１５２の視差情報を反映した視差マップ２２５を生成する。
視差マップは、例えば、補正第１画像１５１の構成画素（ｘ，ｙ）各々について、補正第２画像１５２の対応画素の位置ずれｄ（ピクセル）を示したマップである。
補正第１画像１５１の構成画素（ｘ，ｙ）の画像に対応する画像が撮影されている補正第２画像１５２の対応画素の画素位置は、（ｘ＋ｄ，ｙ）となる。
【００５１】
なお、視差算出部２２０は、補正第１画像１５１と補正第２画像１５２の視差情報を反映した視差マップを生成するが、生成する視差マップは１つではない。
視差算出部２２０は、複数の異なる解像度対応の複数の視差マップ２２５を生成する。
この処理の詳細については、後段で説明する。
【００５２】
さらに、視差算出部２２０は、視差算出に用いる評価値を利用して、検出対象となる物体、例えば人の存在確立を画素単位で示した物体候補領域マップ２２６を算出する。
視差算出部２２０は、物体候補領域マップ２２６についても、視差マップ２２５と同様、複数の異なる解像度対応の複数の物体候補領域マップ２２６を生成する。
【００５３】
視差算出部２２０の具体的な構成と、視差マップ２２５と、物体候補領域マップ２２６の算出処理例については後段で詳細に説明する。
【００５４】
視差算出部２２０の生成した視差マップ２２５と、物体候補領域マップ２２６は、分類部２３０に入力される。
分類部２３０は、視差算出部２２０の生成した視差マップ２２５と、物体候補領域マップ２２６を入力し、さらに特徴量抽出部２１０から第１画像特徴量２１１、第２画像特徴量２１２を入力する。
【００５５】
分類部２３０は、これらの入力情報に基づいて、検出対象とした物体の検出処理を行う。例えば、検出対象を人とした場合、補正第１画像１５１や、補正第２画像の各画像領域に人が存在しているか否かを判定し、人が存在している可能性が高い領域と、低い領域との分類処理を行う。
【００５６】
分類部２３０は、視差算出部２２０の生成した視差マップ２２５や、物体候補領域マップ２２６を用い、物体候補領域マップ２２６によって検出対象物、例えば人の存在可能性が高いと判定された領域を選択して、その領域に検出対象物、例えば人が存在するか否かを判定する。
この判定処理には、可視光画像である補正第１画像１５１と、遠赤外線画像である補正第２画像１５２の同領域内の特徴量情報２１１，２１２が利用される。
分類部２３０は、特徴量を機械学習済みの分類器に通すことによって、各画像領域に検出対象の物体が存在するか否か、例えば人が存在するか否かの判定結果を生成する。
すなわち、図５に示す物体検出結果１７０を生成して出力する。
【００５７】
なお、この分類部２３０における機械学習を適用した物体検出処理は、例えば、前述した非特許文献１［Ｍｕｌｔｉｓｐｅｃｔｒａｌ  Ｐｅｄｅｓｔｒｉａｎ  Ｄｅｔｅｃｔｉｏｎ：  Ｂｅｎｃｈｍａｒｋ  Ｄａｔａｓｅｔ  ａｎｄ  Ｂａｓｅｌｉｎｅ（ＣＶＰＲ２０１５＿ＭｕｔｉｓｐｅｃｔａｌＰｅｄｅｓｔｒｉａｎ．ｐｄｆ）］に記載された検出アルゴリズムであるＡＣＦ（Ａｇｇｒｅｇａｔｅｄ  Ｃｈａｎｎｅｌ  Ｆｅａｔｕｒｅｓ）を適用して実行することが可能である。
【００５８】
［３．視差算出部の構成と処理について］
次に、図６を参照して視差算出部２２０の具体的構成と処理の詳細を説明する。
図６に示すように、視差算出部２２０は、画素マッチング部２２１、コストボリュームフィルタリング部２２２、および視差決定部２２３を有する。
以下、これら各構成部の実行する処理の詳細について、順次、説明する。
【００５９】
［３−１．画素マッチング部の実行する処理について］
まず、視差算出部２２０の画素マッチング部２２１の実行する処理について説明する。
図７は、画素マッチング部２２１の実行する処理を説明するフローチャートである。
このフローチャートの各ステップの処理について、順次、説明する。
【００６０】
（ステップＳ１０１）
まず、画素マッチング部２２１は、ステップＳ１０１において、
（ａ）キャリブレーション後の可視光画像である補正第１画像１５１と、第１画像特徴量２１１、
（ｂ）キャリブレーション後の遠赤外線画像である補正第２画像１５２と、第２画像特徴量２１２、
これらを入力する。
【００６１】
（ステップＳ１０２）
次に、画素マッチング部２２１は、ステップＳ１０２において、次のステップＳ１０３において実行するサーチレンジ区間決定処理に適用するパラメータを取得する。
具体的には、検出対象物体の大きさ（実物大Ｌ）や、基線長Ｂ等のパラメータを取得する。
例えば、検出対象を人とした場合、人の身長を検出対象物の大きさＬに設定する。
具体的には、例えば、Ｌ＝１７０ｃｍの設定とする。
基線長Ｂは、２つの画像を撮影したカメラの光軸間距離である。図３を参照して説明した可視光画像撮像部１０７と、遠赤外線画像撮像部１０８の光軸間の距離を基線長Ｂとして取得する。
【００６２】
なお、以下のステップＳ１０３において、画素マッチング部２２１は、検出対象物の実物大、および画像上の大きさ、および前記２つの画像を撮影した２つのカメラ間の距離に相当する基線長の少なくともいずれかの値を適用して対応点探索領域であるサーチレンジ区間を決定する。
【００６３】
（ステップＳ１０３〜Ｓ１０４）
次に、画素マッチング部２２１は、ステップＳ１０３において、サーチレンジ区間の決定処理を行い、ステップＳ１０４において、候補視差の設定を行う、
サーチレンジ区間とは、第１画像の対応点を第２画像から探索する場合に設定する第２画像の探索区間である。
また、候補視差とは、上記探索区間において、実際に対応点か否かを判定する対象となる画素位置対応の視差である。
このステップＳ１０３〜Ｓ１０４の処理の詳細について、以下説明する。
【００６４】
サーチレンジ区間が短ければ、対応点探索処理（サーチ処理）の処理時間が短縮され、効率的な処理が可能となる。ただし、サーチレンジ区間を極端に短く設定してしまうと、対応点検出に失敗することになる。
従って、対応点を見つけることができる最適な領域をサーチレンジとして決定することが処理の効率化と精度の向上を実現する要因となる。
【００６５】
このステップＳ１０３において実行するサーチレンジ区間の決定処理について、図８を参照して説明する。
図８には、
（Ａ）画像撮影構成例
（Ｂ）撮影画像例
これらの図を示している。
【００６６】
一例として、図８（Ａ）に示すように、検出対象物を「人」とする。
この検出対象物（人）を含む画像を、２つのカメラ、すなわち図に示すカメラ１、カメラ２で撮影する。
このカメラ１、カメラ２は、本実施例では、図３を参照して説明した可視光画像撮像部１０７と、遠赤外線画像撮像部１０８に相当する。
【００６７】
図８（Ｂ）には、このカメラ１、カメラ２によって撮影された画像の例を示している。
第１画像は、カメラ１による撮影画像であり、第２画像は、カメラ２による撮影画像である。
カメラ１と、カメラ２は基線長Ｂ［ｍ］に相当する距離、離間した位置から画像撮影を行っており、同一被写体の画素位置（対応点）は、水平方向にずれている。
このずれ量が視差ｄ［ｐｉｘｅｌ（画素）］である。
【００６８】
検出対象物（人）の大きさ（高さ）、すなわち実物大としての身長をＬ（ｍ）とする。
また、カメラ１による撮影画像である第１画像に撮影された検出対象物（人）の画像上での大きさ（高さ）をｈ［ｐｉｘｅｌ（画素）］とする。
【００６９】
このように、検出対象物体の実際の大きさ（高さ）Ｌ［ｍ］と、その物体の画像上での大きさ（高さ）ｈ［ｐｉｘｅｌ］の各データが取得済みである場合、カメラの焦点距離ｆ［ｐｉｘｅｌ］より、検出対象物体の奥行距離（カメラから検出対象物体までの距離）Ｚ［ｍ］は以下の（式１）に従って、算出することができる。
Ｚ＝（ｆ／ｈ）Ｌ・・・・（式１）
【００７０】
また、奥行距離Ｚ［ｍ］と視差ｄ［ｐｉｘｅｌ］の関係は、カメラ１とカメラ２との距離（基線長）をＢ［ｍ］としたとき、三角測量の原理より以下の（式２）に示す関係となる。
ｄ＝（ｆＢ／Ｚ）・・・（式２）
【００７１】
従って、図８に示すように、高さＬ［ｍ］の検出対象物が、画像上でｈ［ｐｉｘｅｌ］の大きさに映っているとき、第１画像と第２画像との間における物体上の視差ｄ［ｐｉｘｅｌ］は、上記の（式１）と（式２）に従って、以下の（式３）に従って算出される。
ｄ＝（Ｂ／Ｌ）ｈ・・・（式３）
【００７２】
上記（式３）において、
基線長Ｂはカメラキャリブレーションによって得られる値である。検出対象物体の高さＬ［ｍ］は、例えば検出対象が歩行者の場合、人の平均身長を用いるとよい。
しかし、画像上の人の大きさ（高さ）ｈは、検出対象物体が画像上でどれくらいの大きさに映っているか事前にはわからないため、一意には定まらない。
【００７３】
同じ身長の人でもカメラから離れた遠くにいる場合は、撮影画像上の人の大きさ（高さ）ｈは小さくなり、カメラに近い位置にいる場合は、撮影画像上の人の大きさ（高さ）ｈは大きくなる。
このように、撮影画像上での検出対象物の大きさは、その対象物とカメラ間の距離に応じて異なるものとなる。
【００７４】
検出対象物の大きさが距離に応じて変化する場合に、検出対象物の確実な検出処理を可能とするための一般的な処理として、以下の処理が行われる。
例えば撮影画像から複数の異なる解像度の画像を生成して、生成した複数の解像度画像に対して、順次、物体検出処理を繰り返し実行する。
このような処理が、一般的な物体検出処理として行われる処理である。
【００７５】
例えば、前述した非特許文献［１］などに記載された物体検出アルゴリズムでは、カメラによって撮影された画像（等倍解像度画像）に基づいて、複数の解像度の画像、具体的には複数の異なる拡縮率の拡大画像や縮小画像を生成し、これらの複数の画像に対して、固定サイズの検出ウィンドウをずらしながら物体検出を行っている。
【００７６】
この複数の異なる画像を用いた物体検出処理について、図９を参照して説明する。
図９には、以下の３種類の画像を用いた物体検出処理例を示している。
（ステップ１）等倍解像度画像を用いた物体検出処理
（ステップ２）Ｓ１倍解像度画像（Ｓ１倍縮小画像）を用いた物体検出処理
（ステップ３）Ｓ２倍解像度画像（Ｓ２倍縮小画像）を用いた物体検出処理
【００７７】
本例において、Ｓ１，Ｓ２は１以下であり、例えば、
Ｓ１＝１／２、
Ｓ２＝１／４
等である。この場合、
Ｓ１倍解像度画像は元の等倍解像度画像の１／２の解像度を持つ縮小画像となる。
また、Ｓ２倍解像度画像は元の等倍解像度画像の１／４の解像度を持つ縮小画像となる。
【００７８】
まず、ステップ１において、等倍解像度画像を用いた物体検出処理を実行する。
（ステップ１）に示す等倍解像度画像は、カメラによって撮影された画像であり、拡大や縮小等の解像度変換処理は行っておらず、カメラによる撮影画像自体の解像度を有する画像、すなわち等倍解像度画像である。
図に示すｗｉｄｔｈ、ｈｅｉｇｈｔはそれぞれ等倍解像度画像の横サイズ［ｐｉｘｅｌ］と縦サイズ［ｐｉｘｅｌ］を表す。
【００７９】
ステップ１では、この画像に対して、予め規定したサイズを持つ検出ウィンドウを適用した物体検出処理を実行する。
図に示すｂｏｘ＿ｗ、ｂｏｘ＿ｈはそれぞれ検出ウィンドウの横サイズ［ｐｉｘｅｌ］と縦サイズ［ｐｉｘｅｌ］を表す。
【００８０】
検出ウィンドウを適用した物体検出処理では、検出ウィンドウ内の画像の特徴量を検出して、検出した特徴量が、予め設定した検出対象物の特徴量に一致または類似するか否かを判定してウィンドウ内に検出対象物があるか否かをほ判定する。
【００８１】
例えば検出対象物が「人」である場合、検出ウィンドウの上部に人の頭や顔、中央に体や手、下部に足に対応する特徴（エッジや輝度等）を持つ画像が検出された場合に、そのウィンドウ内に人が撮影されていると判定する。
【００８２】
図９（ステップ１）に示すように、検出ウィンドウは、等倍解像度画像の左上端から、例えば１画素ずつ、ずらして右方向、さらに下方向に順次移動し、すべての画素領域について、検出対象物に対応する特徴量を有するか否かを判定する。
図に示す（ステップ１）の例では、右下に検出対象物である「人」の画像領域があるが、人の画像サイズが、検出ウィンドウのサイズ（ｗ×ｈ）より大きいため、この検出ウィンドウ内に人の画像があると判定することができず、検出失敗となる。
【００８３】
次に、（ステップ２）では、カメラ撮影画像である等倍解像度画像を縮小して、Ｓ１倍解像度画像を生成し、このＳ１倍解像度画像に対して、同様の物体検出処理を行う。
すなわち、同じサイズ（ｗ×ｈ）を持つ検出ウィンドウを適用して、Ｓ１倍解像度画像の左上端から下右端まで、検出ウィンドウを移動し、すべての画素領域について、検出対象物に対応する特徴量を有するか否かを判定する。
図に示す（ステップ２）の例でも、右下に検出対象物である「人」の画像領域があるが、このステップ２でも、まだ人の画像サイズが、検出ウィンドウのサイズ（ｗ×ｈ）より大きいため、この検出ウィンドウ内に人の画像があると判定することができず、検出失敗となる。
【００８４】
次に、（ステップ３）では、さらに、画像を縮小して、Ｓ２倍解像度画像を生成し、このＳ２倍解像度画像に対して、同様の物体検出処理を行う。
すなわち、同じサイズ（ｗ×ｈ）を持つ検出ウィンドウを適用して、Ｓ２倍解像度画像の左上端から下右端まで、検出ウィンドウを移動し、すべての画素領域について、検出対象物に対応する特徴量を有するか否かを判定する。
図に示す（ステップ３）の例では、右下の検出対象物である「人」の画像の画像サイズが、検出ウィンドウのサイズ（ｗ×ｈ）に一致し、この検出ウィンドウ内に人の画像があると判定することができ、検出に成功する。
【００８５】
このように、検出対象物体の画像上でのサイズｈが事前に分からない場合には、図９を参照して説明したような処理を行うことが必要となる。
すなわち、複数のサイズ（複数の解像度）の画像を生成して、各画像に対して検出ウィンドウを順次、スライドさせて一致度判定を行う物体検出処理を繰り返す必要がある。
【００８６】
検出対象物が検出される場合は、検出対象物の大きさと、検出ウィンドウサイズが一致する場合に限られる。
検出ウィンドウサイズが検出対象物の大きさに一致して、検出対象物が検出された場合、検出対象物体の画像上でのサイズ（ｈ）＝検出ウィンドウサイズ（ｂｏｘ＿ｈ）と仮定して、前述の（式３）のｈにｂｏｘ＿ｈを代入して、（式３）に従って、検出対象物に対する視差ｄ［ｐｉｘｅｌ］を求めることができる。
【００８７】
ただし、前述の（式３）に従って算出される視差ｄ［ｐｉｘｅｌ］は、先に説明した（式１）、(式２）を前提とし、２つの異なる視点からの撮影画像として等倍解像度画像を適用した場合の視差ｄである。
【００８８】
すなわち、図９（ステップ１）に示すように、等倍解像度画像を適用してサイズ（ｗ×ｈ）の検出ウィンドウを適用して、検出対象物が、検出ウィンドウのサイズに一致した場合、前述の（式３）に従って算出される視差ｄ［ｐｉｘｅｌ］は、２つの異なる視点からの撮影画像である等倍解像度画像上の画素の位置ずれ画素数となる。
この（式３）によって算出した視差ｄを利用して、前述の（式２）や（式１）を適用すれば、検出対象物までの距離Ｚを算出することができる。
【００８９】
一方、図９（ステップ２）や、（ステップ３）に示すように、Ｓ１倍解像度画像やＳ２倍解像度画像を適用して同じサイズ（ｗ×ｈ）の検出ウィンドウを適用して、検出対象物と検出ウィンドウサイズに一致した場合に、
その検出対象物体の画像上でのサイズ（ｈ）＝検出ウィンドウサイズ（ｂｏｘ＿ｈ）と仮定して、前述の（式３）のｈにｂｏｘ＿ｈを代入して、（式３）に従って算出される視差ｄ［ｐｉｘｅｌ］は、等倍解像度画像上の画素の位置ずれ画素数には相当しない。
従って、（式３）によって算出した視差ｄを利用して、前述の（式２）や（式１）を適用しても検出対象物までの距離Ｚを算出することができない。
【００９０】
（式３）によって算出した視差ｄを利用して、前述の（式２）や（式１）を適用して検出対象物までの距離Ｚを算出するためには、検出ウィンドウサイズを等倍解像度におけるサイズに換算する必要がある。
具体的には、Ｓ１倍解像度画像の場合はｈ＝ｂｏｘ＿ｈ／Ｓ１、Ｓ２倍解像度画像の場合はｈ＝ｂｏｘ＿ｈ／Ｓ２とすればよい。
【００９１】
図６に示す本開示の画像処理装置１００における物体検出部２００の視差算出部２２０は、複数の視差マップ２２５、すなわち、複数の解像度画像対応の視差マップを生成して出力する。具体的には、例えば。
（ａ）等倍解像度画像対応の視差マップ
（ｂ）Ｓ１倍解像度画像対応の視差マップ
（ｃ）Ｓ２解像度画像対応の視差マップ
これら３種類の解像度画像対応の視差マップを生成して出力する。
【００９２】
視差算出部２２０は、
出力視差マップの解像度が等倍解像度の場合は、ｈ＝ｂｏｘ＿ｈ、
出力視差マップの解像度がＳ１倍解像度画像の場合はｈ＝ｂｏｘ＿ｈ／Ｓ１、
出力視差マップの解像度がＳ２倍解像度画像の場合はｈ＝ｂｏｘ＿ｈ／Ｓ２、
このように検出ウィンドウサイズを等倍解像度におけるサイズに換算して、上記（式３）に従った視差ｄを算出して各解像度対応の視差マップ２２５を生成して出力する。
【００９３】
このように、視差算出部２２５の出力には、複数の異なる解像度の視差マップ２２５が含まれる。
なお、本開示の構成では、最終的に出力する視差マップの解像度に応じた最適なサーチレンジ、ブロックサイズを設定する。
【００９４】
また、本開示の構成では、複数の解像度の画像を用意して、それぞれに対してステレオマッチングをするのではなく、あくまでも、等倍解像度画像のみを適用してステレオマッチングを行い、中間データ（コストボリューム）を縮小して、中間データ（コストボリューム）を利用して、最終的に複数解像度の視差マップを得る構成としている。
【００９５】
なお、検出対象物体の実際の高さＬとして、事前に正確な値が取得されている場合は、各解像度画像における検出対象物の画像上のサイズ（高さ）ｈに基づいて、視差ｄを前述の（式３）に従って正確に算出できるため、画素マッチングにおける探索は必要ない。
しかし、例えば、検出対象物体が人である場合、身長には個人差（例えば、大人と子ども）があり、また姿勢変化によってもその高さが変わる。
【００９６】
このように、検出対象物体の実際の高さＬが正確に取得できない場合は、前述の（式３）で概算した視差ｄを中心に周辺領域も探索する必要がある。
例えば、出力視差マップの解像度が等倍解像度の場合、（式３）によって算出された視差ｄ＝ｄ０であった場合、±２画素のマージンを考慮し、サーチレンジ区間０を、
サーチレンジ区間０＝ｄ０−２、ｄ０−１、ｄ０、ｄ０＋１、ｄ０＋２
として設定する。
【００９７】
上記設定は、異なる視点からの撮影された画像である等倍解像度画像、本実施例では、図６に示す視差算出部２２０に入力する補正第１画像１５１と補正第２画像間の対応点探索処理における探索範囲（サーチレンジ区間）の設定である。
一方の画像を基準画像として、他方の画像を対応点探索画像としたとき、対応点探索画像において、基準画像と同一位置の画素位置から視差ｄ０分ずらした位置を中心として、水平方向に−２画素〜＋２画素の領域をサーチレンジ区間とする設定である。
すなわち±２画素のマージンを設定としている。
【００９８】
なお、何画素のマージンを設定するか、および候補視差の選択、すなわち対応点探索を実行する画素間隔の設定は、最終的に出力する視差マップの画像解像度に応じて変えてもよい。
例えば、最終的に出力したい視差マップの解像度がＳ１倍解像度の場合に、（式３）によって算出された視差値がｄ１であった場合、サーチレンジ区間１を、
サーチレンジ区間１＝ｄ１−４、ｄ１−２、ｄ１、ｄ１＋２、ｄ１＋４
というよううに、候補視差の画素間隔を２画素おきにするなどしてもよい。
【００９９】
このように、検出対象物体の実際の高さＬと、その物体の画像上でのサイズｈと、カメラ間の基線長Ｂとから視差ｄを算出し、視差ｄによって決定される探索画素中心位置とその周辺のみを探索領域（サーチレンジ区間）に設定する。
この処理により、計算量の削減、余分な探索によるマッチング誤りを削減することができる。
【０１００】
以上、図７に示すフローのステップＳ１０３のサーチレンジ区間の決定処理と、ステップＳ１０４の候補視差の設定処理について説明した。
【０１０１】
（ステップＳ１０５）
次に、画素マッチング部２２１は、図７に示すフローのステップＳ１０５において、等倍解像度画像を適用したステレオマッチング処理を実行する。
具体的には、ステップＳ１０３，Ｓ１０４において決定したサーチレンジ区間の候補視差対応画素の一致度を算出して、異なる視点からの撮影画像である可視光画像と遠赤外線画像、すなわち、図５に示す補正第１画像１５１と、補正第２画像１５２の対応点探索を行う。
【０１０２】
一致度算出処理は、ステップＳ１０３〜Ｓ１０４で決定した探索領域（サーチレンジ区間）内の候補視差対応画素、すなわち、探索区間において、実際に対応点か否かを判定する対象となる画素について、２つの画像の画素の一致度を判定する処理である。
すなわち、画素マッチング判定処理である。
【０１０３】
画素マッチングにおける一致度の評価方法には、様々な方法を用いることができる。ここでは、可視光画像と遠赤外線画像を用いた歩行者検出における評価方法の１例について述べる。
【０１０４】
例えば、可視光画像と遠赤外線画像を用いた歩行者検出の特徴量として、可視光画像の輝度・色情報と勾配情報（強度および方向）と、遠赤外線画像の温度情報と勾配情報（強度および方向）を利用した例について説明する。
図５に示す特徴量抽出部２１０は、可視光画像と遠赤外線画像、すなわち、図５に示す補正第１画像１５１と、補正第２画像１５２から、以下の特徴量を取得しているものとする。
可視光画像（補正第１画像１５１）の各画素（ｘ，ｙ）対応の勾配強度Ｍａｇ１と、勾配方向Ｏｒｉ１、
遠赤外線画像（補正第２画像１５２）の各画素（ｘ，ｙ）対応の勾配強度Ｍａｇ２と、勾配方向Ｏｒｉ２、
【０１０５】
上記の各画像の特徴量に基づいて、以下の（式４）に示す一致度（Ｓｉｍｉｌａｒｉｔｙ）を定義する。
Ｓｉｍｉｌａｒｉｔｙ（ｘ，ｙ，ｄ）＝ｍｉｎ（Ｍａｇ１（ｘ，ｙ），Ｍａｇ２（ｘ＋ｄ，ｙ））Φ（ｘ，ｙ，ｄ）・・・（式４）
【０１０６】
ただし、
（ｘ，ｙ）：一致度算出対象となる一方の画像の画素位置を示す座標、
ｄ：一致度算出対象となる２つの画像の位置ずれ画素数（＝候補視差）、
Φ（ｘ，ｙ，ｄ）＝（ｃｏｓ（２θ（ｘ，ｙ，ｄ）））＋１）／２・・・（式５）、
θ（ｘ，ｙ，ｄ）＝Ｏｒｉ１（ｘ，ｙ）−Ｏｒｉ２（ｘ＋ｄ，ｙ）・・・（式６）、
である。
【０１０７】
上記（式４）において、φは、（式５）と（式６）で定義されるように、可視光画像の画素（ｘ，ｙ）と遠赤外線画像の画素（ｘ＋ｄ，ｙ）の勾配方向の差θの２倍角ｃｏｓに関する評価値である。２倍角ｃｏｓを用いる理由は、可視光画像と遠赤外線画像の勾配方向の反転を許容するためである。この勾配方向に関する評価値φに、
勾配強度「ｍｉｎ（Ｍａｇ１（ｘ，ｙ），Ｍａｇ２（ｘ＋ｄ，ｙ））」
で重み付けすることで、一致度を算出する。
【０１０８】
双方の画像の勾配強度のうち、小さい方の勾配強度で重み付けしている理由は、双方の画像に共通するエッジ（大きな勾配）が存在する場合にのみ一致度が大きくなるようにするためである。こうすることで、例えば人の輪郭のような双方の画像に共通するエッジがある画素において、信頼性のある一致度を得ることが可能である。
なお、前述したように、一致度の評価方法には、この方法に限らず、入力されるセンサー情報（画像）に応じて、様々な方法を用いることができる。
【０１０９】
（ステップＳ１０６）
次に、画素マッチング部２２１は、ステップＳ１０６において、すべての画素に関するステップＳ１０５のステレオマッチング処理が終了したか否かを判定し、未終了の場合は、未処理画素についてステップＳ１０５の処理を継続する。
すべての画素のステレオマッチング処理が終了した場合は、処理を終了する。
【０１１０】
以上が、図６に示す視差算出部２２０の画素マッチング部２２１の実行する処理である。
この処理の結果、図１０に示すような、すべての候補視差に対して、画素単位の一致度を画像の構成画素各々に設定したコストプレーンの束（スタック）からなるコストボリュームが生成される。
【０１１１】
すなわち、先に説明した（式４）に従って算出される一致度（Ｓｉｍｉｌａｒｉｔｙ）、すなわち、
Ｓｉｍｉｌａｒｉｔｙ（ｘ，ｙ，ｄ）＝ｍｉｎ（Ｍａｇ１（ｘ，ｙ），Ｍａｇ２（ｘ＋ｄ，ｙ））Φ（ｘ，ｙ，ｄ）
上記一致度の値を画像の構成画素各々に設定した画像（コストプレーン）の束（スタック）からなるコストボリュームが生成される。
【０１１２】
図１０にコストボリューム３００の例を示す。
図１０に示すように、コストボリューム３００は、複数のコストプレーン３０１−１〜ｎによって構成される。
コストプレーン３０１−ｎの各々は、視差ｄの最小値〜最大値、例えばｄ＝０〜∞までの各視差に対応する一致度の値を画像の構成画素各々に設定した画像に相当する。
具体的には、例えば一致度が高いほど黒に近く、一致度が低いほど白に近い画素値が各画素に設定されたモノクロ画像である。
あるいは、一致度が高いほど白に近く、一致度が低いほど黒に近い画素値を各画素に設定したモノクロ画像としてもよい。
あるいは一致度に応じた色を設定した画像でもよいし、一致度を示す数値を画素位置に対応付けたマップとして構成としてもよい。
【０１１３】
図１０に示すコストボリューム３００の最下層のコストプレーン３０１−１は、例えば、視差ｄ＝０に対応する一致度に応じた画素値が設定される。例えば、視差ｄ＝０に近い画素ほど黒に近い画素値が設定された画像である。
具体的には、例えば、視差ｄ＝０は、カメラからの距離が遠い被写体に対応する視差であり、カメラからの距離が遠い被写体の画素領域が黒、または黒に近いグレー等に設定された画像となる。
【０１１４】
最上層のコストプレーン３０１−ｎは、例えば、視差ｄ＝∞に対応する一致度に応じた画素値が設定される。例えば、視差ｄ＝∞に近い画素ほど黒に近い画素値が設定された画像である。
具体的には、例えば、視差ｄ＝∞は、カメラからの距離が近い被写体に対応する視差であり、カメラからの距離が近い被写体の画素領域が黒、または黒に近いグレー等に設定された画像となる。
【０１１５】
例えば、図１０に示すコストボリューム３００の上層領域の一部のコストプレーン、中層領域の一部のコストプレーン、下層領域の一部のコストプレーンの各々に検出対象物体としての「人」が存在する場合の例について、図１１を参照して説明する。
【０１１６】
図１１には、以下の３つのコストプレーンの例を示している。
（１）コストプレーンａ：視差ｄ＝大（＝カメラからの距離＝近い）
（２）コストプレーンｂ：視差ｄ＝中（＝カメラからの距離＝中）
（３）コストプレーンｃ：視差ｄ＝小（＝カメラからの距離＝遠い）
【０１１７】
（１）コストプレーンａ：視差ｄ＝大（＝カメラからの距離＝近い）は、コストボリューム３００の上部にあるコストプレーン、すなわち、視差ｄ＝大（＝カメラからの距離＝近い）の１つのコストプレーンの例を示している。このコストプレーンに相当する視差領域に検出対象物である「人」が存在する場合、このプレーンの視差マップ中に検出対象物である「人」の領域が黒く設定される。この人の大きさは、カメラからの距離が近いため、大きくなる。
【０１１８】
（２）コストプレーンｂ：視差ｄ＝中（＝カメラからの距離＝中）は、コストボリューム３００の中ほどにあるコストプレーン、すなわち、視差ｄ＝中（＝カメラからの距離＝中）の１つのコストプレーンの例を示している。このコストプレーンに相当する視差領域に検出対象物である「人」が存在する場合、このプレーンの視差マップ中に検出対象物である「人」の領域が黒く設定される。この人の大きさは、カメラからの距離が中程度であるため、中程度になる。
【０１１９】
（３）コストプレーンｃ：視差ｄ＝小（＝カメラからの距離＝遠い）は、コストボリューム３００の下部にあるコストプレーン、すなわち、視差ｄ＝小（＝カメラからの距離＝遠い）の１つのコストプレーンの例を示している。このコストプレーンに相当する視差領域に検出対象物である「人」が存在する場合、このプレーンの視差マップ中に検出対象物である「人」の領域が黒く設定される。この人の大きさは、カメラからの距離が遠いため、小さくなる。
【０１２０】
なお、コストボリューム３００を構成するコストプレーン３０１−１〜ｎは、画素マッチング部２２１において等倍解像度画像を適用して実行されたステレオマッチング処理の結果に基づいて生成されるプレーンであり、すべて等倍解像度画像相当の解像度を有する。
【０１２１】
［３−２．コストボリュームフィルタリング部の実行する処理について］
次に、図６に示す視差算出部２２０のコストボリュームフィルタリング部２２２の実行する処理について説明する。
コストボリュームフィルタリング部２２２は、図１０、図１１を参照して説明したコストボリュームのフィルタリング処理により、複数の異なる解像度対応のコストボリュームを生成する。
【０１２２】
例えば、図１２に示すように、以下の３種類のコストボリューム生成用コストプレーンを利用して３種類のコストボリュームを生成する。
（ａ）等倍解像度コストボリューム生成用コストプレーンを適用した等倍解像度のコストボリュームの生成処理、
（ｂ）Ｓ１倍解像度コストボリューム生成用コストプレーンを適用したＳ１倍解像度のコストボリュームの生成処理、
（ｃ）Ｓ２倍解像度コストボリューム生成用コストプレーンを適用したＳ２倍解像度のコストボリュームの生成処理、
これらの複数の異なる解像度のコストボリュームの生成を行う。
【０１２３】
これら（ａ）〜（ｃ）において生成する複数の解像度のコストボリュームは、先に図１１を参照して説明した以下の３種類のコストプレーンがそれぞれ属する３種類のコストボリュームに相当する。
（１）コストプレーンａ：視差ｄ＝大（＝カメラからの距離＝近い）
（２）コストプレーンｂ：視差ｄ＝中（＝カメラからの距離＝中）
（３）コストプレーンｃ：視差ｄ＝小（＝カメラからの距離＝遠い）
【０１２４】
なお、本例において、Ｓ１，Ｓ２は１以下であり、例えば、
Ｓ１＝１／２、
Ｓ２＝１／４
等である。この場合、
Ｓ１倍解像度画像は元の等倍解像度画像の１／２の低解像度を持つ縮小画像となる。
また、Ｓ２倍解像度画像は元の等倍解像度画像の１／４の低解像度を持つ縮小画像となる。
【０１２５】
図１３は、コストボリュームのフィルタリング処理を実行するコストボリュームフィルタリング部２２２の実行する処理を説明するフローチャートである。
このフローチャートの各ステップの処理について、順次、説明する。
【０１２６】
（ステップＳ２０１）
まず、コストボリュームフィルタリング部２２２は、ステップＳ２０１において、図１０を参照して説明したコストボリュームから１つの処理対象のコストプレーンを選択する。
例えばｎ枚のコストプレーン１〜ｎがある場合、その中の１つのコストプレーンを順次、選択する。
【０１２７】
（ステップＳ２０２）
次に、コストボリュームフィルタリング部２２２は、ステップＳ２０２において、ステップ設定処理を実行する。ステップとは、フィルタリングする画素、いわゆる間引き処理を行う画素の間隔である。
コストボリュームフィルタリング部２２２では、フィルタリングする画素の間隔を変えることで高解像度画像（等倍解像度画像）のコストボリュームから低解像度画像のコストボリュームを生成する。
ステップＳ２０２におけるステップ設定は、このフィルタリングする画素の間隔設定処理である。
【０１２８】
フィルタリングする画素の間隔は、例えば画像の倍率の逆数を設定する。
すなわち、視差算出部２２０から分類部２３０に出力する視差マップの解像度に応じて、ステップ設定（フィルタリング画素間隔）は異なる。例えば、以下の設定とする。
出力視差マップが、等倍解像度の場合は、ステップ設定（フィルタリング画素間隔）＝１画素、
出力視差マップが、Ｓ１倍解像度の場合は、ステップ設定（フィルタリング画素間隔）＝（１／Ｓ１）画素、
出力視差マップが、Ｓ２倍解像度の場合は、ステップ設定（フィルタリング画素間隔）＝（１／Ｓ２）画素、
上記設定とする。
【０１２９】
具体的には、例えば、
Ｓ１＝１／２の場合、出力視差マップが１／２倍解像度画像となり、この場合は、ステップ設定（フィルタリング画素間隔）＝（１／Ｓ１）＝２画素となる。
Ｓ２＝１／４の場合、出力視差マップが１／４倍解像度画像となり、この場合は、ステップ設定（フィルタリング画素間隔）＝（１／Ｓ２）＝４画素となる。
【０１３０】
例えば、出力視差マップが、等倍解像度の場合は、ステップ設定（フィルタリング画素間隔）＝１画素であり、間引き画素は０であり、画像は縮小されずそのまま出力される。
また、例えばＳ１＝１／２であり、１／２の縮小画像に相当する低解像度画像を生成する場合は、ステップ設定（フィルタリング画素間隔）＝（１／Ｓ１）画素＝２画素であり、２画素を１画素に設定する処理が行われる。
さらに、例えばＳ２＝１／４であり、１／４の縮小画像に相当する低解像度画像を生成する場合は、ステップ設定（フィルタリング画素間隔）＝（１／Ｓ２）画素＝４画素であり、４画素を１画素に設定する処理が行われる。
【０１３１】
（ステップＳ２０３）
次に、コストボリュームフィルタリング部２２２は、ステップＳ２０３において、フィルタのブロックサイズ（カーネルサイズ）を設定する。
フィルタのブロックサイズ（カーネルサイズ）は、各解像度画像の生成に適用するフィルタサイズに相当し、各解像度（等倍／Ｓ１倍／Ｓ２倍）画像の構成画素値を算出する際に、参照すべき周囲画素の画素領域を規定するブロックのサイズである。
【０１３２】
図１４〜図１６に示すように、フィルタのブロックサイズ（カーネルサイズ）は、生成するコストボリュームの解像度に応じて設定する。具体的には、以下の設定である。
図１４に示すように、出力視差マップが、等倍解像度の場合は、
フィルタブロックサイズ（カーネルサイズ）＝（ｂｏｘ＿ｗ，ｂｏｘ＿ｈ）、
【０１３３】
また、図１５に示すように、出力視差マップが、Ｓ１倍解像度の場合は、
フィルタブロックサイズ（カーネルサイズ）＝（ｂｏｘ＿ｗ／Ｓ１，ｂｏｘ＿ｈ／Ｓ１）、
【０１３４】
さらに、図１６に示すように、出力視差マップが、Ｓ２倍解像度の場合は、
フィルタブロックサイズ（カーネルサイズ）＝（ｂｏｘ＿ｗ／Ｓ２，ｂｏｘ＿ｈ／Ｓ２）、
上記設定とする。
【０１３５】
なお、このフィルタブロックサイズ（カーネルサイズ）は、例えば、先に図９を参照して説明した検出対象物（例えば人）を検出するために設定される検出ウィンドウのサイズを用いることができる。
この検出ウィンドウは、後段の分類部２３０において、各検出ウィンドウ内の物体が検出対象物であるか否か、例えば人であるか否かを判定する際に適用される検出ウィンドウのサイズに相当する。
【０１３６】
（ステップＳ２０４）
次に、コストボリュームフィルタリング部２２２は、ステップＳ２０４において、ステップＳ２０２で設定したステップ設定（フィルタリング画素間隔）と、ステップＳ２０３で設定したブロックサイズ（カーネルサイズ）の設定に従って、フィルタ処理を実行する。
【０１３７】
具体的には、図１４〜図１６に示すように、出力する視差マップの解像度に応じて選択されるコストプレーンに対してフィルタ処理を行う。
【０１３８】
図１４は、出力視差マップの解像度が等倍解像度の場合の処理例を示している。
コストボリューム３００を構成するコストプレーン中、
図１４は、視差ｄ＝小（＝カメラからの距離＝遠い）のグループに属するコストプレーンに対するフィルタ処理を示す図であり、例えばサーチレンジ区間０の各候補視差のコストプレーンに対する平均化フィルタの適用処理として実行される。
画素（ｘ，ｙ）におけるフィルタリング後の値（一致度：Ｓｉｍｉｌａｒｉｔｙ（ｘ，ｙ，ｄ））は、次式（式７）で示される。
【０１３９】
【数１】
2018147059.tif 000003
【０１４０】
なお、上記（式７）に従って算出される一致度：Ｓｉｍｉｌａｒｉｔｙ（ｘ，ｙ，ｄ）によって構成されるフィルタ処理後のコストプレーンのサイズは、等倍解像度（ｗｉｄｔｈ，ｈｅｉｇｈｔ）となる。
【０１４１】
図１５は、視差ｄ＝中（＝カメラからの距離＝中）のグループに属するコストプレーンに対するフィルタ処理を示す図であり、例えばサーチレンジ区間１の各候補視差のコストプレーンに対する平均化フィルタの適用処理として実行される。
画素（ｘ，ｙ）におけるフィルタリング後の値（一致度：Ｓｉｍｉｌａｒｉｔｙ（ｘ，ｙ，ｄ））は、次式（式８）で示される。
【０１４２】
【数２】
2018147059.tif 000004
【０１４３】
なお、上記（式８）に従って算出される一致度：Ｓｉｍｉｌａｒｉｔｙ（ｘ，ｙ，ｄ）によって構成されるフィルタ処理後のコストプレーンのサイズは、Ｓ１倍解像度（Ｓ１×ｗｉｄｔｈ，Ｓ１×ｈｅｉｇｈｔ）となる。
【０１４４】
図１６は、視差ｄ＝大（＝カメラからの距離＝近い）のグループに属するコストプレーンに対するフィルタ処理を示す図であり、例えばサーチレンジ区間２の各候補視差のコストプレーンに対する平均化フィルタの適用処理として実行される。
画素（ｘ，ｙ）におけるフィルタリング後の値（一致度：Ｓｉｍｉｌａｒｉｔｙ（ｘ，ｙ，ｄ））は、次式（式９）で示される。
【０１４５】
【数３】
2018147059.tif 000005
【０１４６】
なお、上記（式９）に従って算出される一致度：Ｓｉｍｉｌａｒｉｔｙ（ｘ，ｙ，ｄ）によって構成されるフィルタ処理後のコストプレーンのサイズは、Ｓ２倍解像度（Ｓ２×ｗｉｄｔｈ，Ｓ２×ｈｅｉｇｈｔ）となる。
【０１４７】
このように、コストボリュームフィルタリング部２２２は、出力する視差マップの解像度に応じて選択されるコストプレーンに対してフィルタ処理を行う。
この結果、例えば、図１７に示すように、以下の３種類の異なる解像度対応のコストボリュームが生成される。
（１）等解像度コストボリューム
（２）Ｓ１倍解像度コストボリューム
（３）Ｓ２倍解像度コストボリューム
【０１４８】
このように、コストボリュームフィルタリング部２２２は、視差ｄの大きさに応じてフィルタリングする画素の間隔を変えることで高解像度のコストボリュームから低解像度のコストボリュームを生成する。また、生成するコストボリュームの解像度に応じて、フィルタのカーネルサイズを設定することで、検出する物体の大きさに適したブロックサイズでのマッチング結果を得ることができる。
【０１４９】
なお、ブロックサイズ（カーネルサイズ）は、検出する物体の大きさと近しいほどよいマッチング結果が得られる。もし、ブロックサイズが小さ過ぎるとノイズに対するロバスト性が低下しマッチング結果が不安定になる。一方、ブロックサイズが大き過ぎると物体境界で前景と背景の視差が混ざるため、マッチング精度が低下する。
また、コストボリュームフィルタリング部２２２ではフィルタリングする画素の間隔を変えることで、高解像度のコストボリュームから低解像度のコストボリュームを生成する。
【０１５０】
［３−３．視差決定部の実行する処理について］
次に、図６に示す視差算出部２２０の視差決定部２２３の実行する処理について説明する。
視差決定部２２３は、コストボリュームフィルタリング部２２２から入力する各解像度のコストボリュームの各画素に対して、もっとも一致度が高くなる視差値を決定し、視差マップを生成する。
図１７に示すフローチャートを参照して視差算出部２２０の視差決定部２２３の実行する処理について説明する。
【０１５１】
（ステップＳ３０１）
まず、視差決定部２２３は、ステップＳ３０１において、処理対象とするコストボリュームの解像度を選択する。
【０１５２】
視差決定部２２３は、コストボリュームフィルタリング部２２２から各解像度のコストボリュームを入力している。具体的には、例えば図１４〜図１７を参照して説明した以下の３種類のコストボリュームである。
（１）等解像度コストボリューム
（２）Ｓ１倍解像度コストボリューム
（３）Ｓ２倍解像度コストボリューム
【０１５３】
視差決定部２２３は、ステップＳ３０１において、例えば上記（１）〜（３）の各解像度コストボリュームから、処理対象とするコストボリュームの解像度を選択する。
【０１５４】
（ステップＳ３０２）
次に、視差決定部２２３は、ステップＳ３０２において、処理対象として選択した解像度のコストボリュームに基づいて、視差の決定処理を行い、各解像度対応の視差マップを生成する。
図１４〜図１７を参照して説明した１つの解像度のコストボリュームには複数のコストプレーンが含まれる。
【０１５５】
各コストプレーンには、先に（式７）〜（式９）を参照して説明した一致度（Ｓｉｍｉｌａｒｉｔｙ）に応じた画素値が設定されている。
例えば一致度（Ｓｉｍｉｌａｒｉｔｙ）が高いほど黒（低輝度）、低いほど白（高輝度）となる設定の画素値が設定されている。
【０１５６】
視差決定部２２３は、選択した解像度のコストボリュームに含まれる複数のコストプレーン各々について、同一の画素位置（対応画素位置）の画素値（一致度）を比較して、最も一致度の高いコストプレーンを選択し、そのコストプレーンの視差ｄをその画素位置の視差Ｄとして決定する。
この処理を式として示すと、以下の（式１０）によって表すことができる。
【０１５７】
【数４】
2018147059.tif 000006
【０１５８】
上記（式１０）に従って、画素位置（ｘ，ｙ）の視差Ｄ（ｘ，ｙ）を算出する。
上記（式１０）の処理を、選択した解像度のコストボリュームの各画素に対して行う。
この処理により、１つの解像度対応の視差マップを生成する。
視差マップは、各画素位置（ｘ，ｙ）に、上記（式１０）に従って算出される差Ｄ（ｘ，ｙ）の値を設定したマップである。
【０１５９】
（ステップＳ３０３）
次に、視差決定部２２３は、ステップＳ３０３において、物体候補画素の判定処理を実行し、物体領域候補マップを生成する。
ステップＳ３０２の視差決定処理において算出された各画素対応の視差Ｄ（ｘ，ｙ）、あるいは視差Ｄ（ｘ，ｙ）における一致度に基づいて、
物体、例えば人等の検出対象物の存在確率が高い領域（画素領域）を表す物体候補領域マップを生成する。
【０１６０】
前述したように、先に説明した（式４）で定義した一致度（Ｓｉｍｉｌａｒｉｔｙ）の評価式では、異なる視点から撮影された２つの画像の双方の画像に共通するエッジ（大きな勾配）が存在する場合にのみ一致度が大きくなる。
例えば、人の輪郭などでは、双方の画像に共通するエッジがあるため、信頼性の高い一致度が得られる。
具体的には、例えば人の存在する正解の候補視差において、一致度（Ｓｉｍｉｌａｒｉｔｙ）の値は高くなり、それ以外の視差値では、低い値となる。
【０１６１】
一方、テクスチャの少ない背景の部分などでは、どの候補視差においても同じような一致度をとり、かつエッジ（大きな勾配強度）がないため、その一致度も低い。
【０１６２】
このような状況に鑑み、視差決定部２２３は、ステップＳ３０３において、人等の検出対象物の存在確率が高い領域（画素領域）を判定する。
具体的には、上記の（式１０）を用いた視差決定処理において、視差決定時の一致度（Ｓｉｍｉｌａｒｉｔｙ）の値が、予め規定したしきい値以上の場合、その画素を物体候補画素として選択しマーキングする。例えば、物体候補画素を１、それ以外を０とした物体候補領域マップを生成する。
【０１６３】
（ステップＳ３０４）
次に、視差決定部２２３は、ステップＳ３０４において、ステップＳ３０２ｋ視差決定処理と、ステップＳ３０３の物体候補画素判定に基づく物体候補領域マップの生成が完了したか否かを判定する。
未処理画像がある場合は、未処理画素に対して、ステップＳ３０２〜Ｓ３０３の処理を繰り返す。
すべての画素についての処理が終了し、１つの解像度のコストボリュームに対する処理が終了したと判定した場合は、ステップＳ３０５に進む。
【０１６４】
（ステップＳ３０５）
次に、視差決定部２２３は、ステップＳ３０５において、全ての解像度のコストボリュームに対する処理が完了したか否かを判定する。
未処理の解像度のコストボリュームがある場合は、未処理の解像度のコストボリュームに対して、ステップＳ３０１〜Ｓ３０４の処理を繰り返す。
すべての解像度のコストボリュームについての処理が終了したと判定した場合は、処理を終了する。
【０１６５】
視差決定部２２３は、このフローに従った処理により、コストボリュームフィルタリング部２２２から入力する複数の異なる解像度のコストボリュームに対応する視差マップと、物体候補領域マップを生成して、これらを図５に示す分類部２３０に出力する。
【０１６６】
すなわち、視差決定部２２３は、図１９に示すように、以下の各データを生成して、分類部２３０に出力する。
（１）等解像度コストボリューム対応の視差マップと、物体候補領域マップ、
（２）Ｓ１倍解像度コストボリューム対応の視差マップと、物体候補領域マップ、
（３）Ｓ２倍解像度コストボリューム対応の視差マップと、物体候補領域マップ、
【０１６７】
分類部２３０は、上記の複数解像度対応の視差マップと、物体候補領域マップを用いて、検出対象物、例えば人の検出を行う。
この処理において、分類部２３０は、物体候補領域マップを用い、物体候補画素のみを処理対象とした分類処理を行う。この限定された領域に対する処理を行うことで、計算量を削減することができる。
【０１６８】
前述した非特許文献［１］などの一般的な物体検出器では、先に図９を参照して
説明したように、複数の解像度の画像上で検出ウィンドウをスライディングさせながら検出処理を行うため、計算量が膨大となる。これに対して、本開示の処理では、生成した物体候補領域マップを用い、物体候補画素のみ、後段の分類処理を行うことで、計算量を削減することができる。
【０１６９】
［４．その他の実施例について］
以上、本開示の画像処理についての実施例について説明したが、上記実施例の構成や、処理は、いくつかの点で変更可能である。
以下、これらの変更例について説明する。
【０１７０】
［４−１．画素マッチング部における一致度（Ｓｉｍｉｌａｒｉｔｙ）算出処理の変更例について］
上述した実施例１では、視差算出部２２０の画素マッチング部２２１において、複数の異なる視点からの２つの撮影画像に基づく一致度（Ｓｉｍｉｌａｒｉｔｙ）算出処理を行っている。
【０１７１】
具体的には、図６に示すように、視差算出部２２０の画素マッチング部２２１は、可視光画像に基づくキャリブレーション画像である補正第１画像１５１と、遠赤外線画像に基づくキャリブレーション画像である補正第２画像１５２を入力し、これら２つの異なる視点からの撮影画像に基づく一致度（Ｓｉｍｉｌａｒｉｔｙ）算出処理を行っている。
【０１７２】
前述の実施例では、一致度（Ｓｉｍｉｌａｒｉｔｙ）算出処理は、先に説明した（式４）に示す一致度（Ｓｉｍｉｌａｒｉｔｙ）を算出していた。すなわち、以下の（式４）である。
Ｓｉｍｉｌａｒｉｔｙ（ｘ，ｙ，ｄ）＝ｍｉｎ（Ｍａｇ１（ｘ，ｙ），Ｍａｇ２（ｘ＋ｄ，ｙ））Φ（ｘ，ｙ，ｄ）・・・（式４）
【０１７３】
この（式４）に示す一致度（Ｓｉｍｉｌａｒｉｔｙ）算出処理は、一例であり、入力画像に応じて、別の評価式を用いてもよい。
【０１７４】
また、（式４）の評価式で用いられる特徴量は、
可視光画像（補正第１画像１５１）の各画素（ｘ，ｙ）対応の勾配強度Ｍａｇ１と、勾配方向Ｏｒｉ１、
遠赤外線画像（補正第２画像１５２）の各画素（ｘ，ｙ）対応の勾配強度Ｍａｇ２と、勾配方向Ｏｒｉ２、
これらの特徴量であり、図５に示す特徴量抽出部２１０において抽出されるものとして説明したが、
【０１７５】
一致度（Ｓｉｍｉｌａｒｉｔｙ）算出処理に適用する特徴量は、これらの例に限らず、その他の特徴量を用いることも可能である。また、あらかじめ計算された特徴量とは別の特徴量を用いてもよい。
【０１７６】
［４−２．コストボリュームフィルタリング部におけるコストボリュームフィルタリング処理の変更例について］
上述した実施例１では、視差算出部２２０のコストボリュームフィルタリング部２２２において、コストプレーンに対するフィルタ処理において適用するフィルタとして、平均化フィルタを適用した処理として実行することを説明した。
【０１７７】
コストボリュームフィルタリング部２２２におけるコストプレーンに対するフィルタ処理は、平均化フィルタを適用した処理に限らず、他のフィルタを適用した処理として実行してもよい。例えば、ガウシアンフィルタやバイラテラルフィルタなどを用いてもよい。
また、平均化フィルタを適用した処理を行う場合には、積分イメージを用いた高速化手法などを用いる構成としてもよい。
【０１７８】
［４−３．視差決定部における視差決定処理の変更例について］
上述した実施例１では、視差算出部２２０の視差決定部２２３において、特定の選択解像度のコストボリュームに含まれる複数のコストプレーン各々について、同一の画素位置（対応画素位置）の画素値（一致度）を比較して、最も一致度の高いコストプレーンを選択し、そのコストプレーンの視差ｄをその画素位置の視差ｄとして決定する視差決定処理を前述した（式１０）によって算出することを説明した。
【０１７９】
先に説明した（式１０）に従って、画素位置（ｘ，ｙ）の視差Ｄ（ｘ，ｙ）を算出する。この処理により、１つの解像度対応の視差マップを生成する。
視差マップは、各画素位置（ｘ，ｙ）に、上記（式１０）に従って算出される差Ｄ（ｘ，ｙ）の値を設定したマップである。
【０１８０】
この視差の算出には、上述した（式１０）以外の方法を用いてもよい。例えば、コストボリュームに対して、Ｂｅｌｉｅｆ  Ｐｒｏｐａｇａｔｉｏｎ法やＧｒａｐｈ  Ｃｕｔ法などのグローバル最適化処理を行ってから、（式１０）の算出式を適用して視差を算出する方法も適用可能である。
【０１８１】
［４−４．視差決定部における物体候補領域マップの生成処理の変更例について］
上述した実施例１では、視差算出部２２０の視差決定部２２３において、視差決定処理において算出した各画素対応の視差Ｄ（ｘ，ｙ）、あるいは視差Ｄ（ｘ，ｙ）における一致度に基づいて、物体、例えば人等の検出対象物の存在確率が高い領域（画素領域）を表す物体候補領域マップを生成する処理について説明した。
【０１８２】
すなわち、人等の検出対象物の存在確率が高い領域（画素領域）を判定する処理である。
具体的には、上記の（式１０）を用いた視差決定処理において、視差決定時の一致度（Ｓｉｍｉｌａｒｉｔｙ）の値が、予め規定したしきい値以上の場合、その画素を物体候補画素として選択しマーキングする。例えば、物体候補画素を１、それ以外を０とした物体候補領域マップを生成する処理例について説明した。
【０１８３】
この物体候補領域マップの生成方法としては、他の方法を用いてもよい。例えば、一致度（Ｓｉｍｉｌａｒｉｔｙ）の値が一定値以上の画素に対して１（物体候補画素）、それ以外を０とした物体候補領域マップに対して、ノイズを除去するためにモフォロジー処理（クロージング処理、オープニング処理）などの画像処理を行って、その結果を物体候補領域マップとして分類部２３０に出力する構成としてもよい。
【０１８４】
上述したように、本開示の画像処理装置においては、ステレオマッチングのサーチレンジを、検出対象物体の実際の大きさと、その物体の画像上での大きさと、センサー間の幾何学的情報から決定することで、無駄な探索を避け、ステレオマッチングの性能の向上および計算量の削減を行うことができる。
また、ステレオマッチングのブロックサイズを、物体検出器のパラメータ（検出ウィンドウサイズおよび検出処理時の画像解像度）から決定することで、ブロックサイズを検出対象物体に最適化し、ステレオマッチングの性能を向上させることができる。
【０１８５】
さらに、ステレオマッチングにおいて、高解像度のコストボリュームから多重解像度のコストボリュームを生成することで、ステレオマッチングの前処理の特徴量抽出の処理を削減し、効率よく多重解像度の視差マップを生成することができる。
また、ステレオマッチングの結果で得られた一致度に関するスコアをもとに、物体が存在する確率が高い候補領域を決定し、その領域のみに後段の分類処理を行うことで、物体検出器の計算量の削減を行うことができる。
【０１８６】
［５．画像処理装置のハードウェア構成例について］
次に、図２０を参照して画像処理装置のハードウェア構成例について説明する。
図２０は、本開示の処理を実行する画像処理装置のハードウェア構成例を示す図である。
【０１８７】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５０２、または記憶部５０８に記憶されているプログラムに従って各種の処理を実行する制御部やデータ処理部として機能する。例えば、上述した実施例において説明したシーケンスに従った処理を実行する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５０３には、ＣＰＵ５０１が実行するプログラムやデータなどが記憶される。これらのＣＰＵ５０１、ＲＯＭ５０２、およびＲＡＭ５０３は、バス５０４により相互に接続されている。
【０１８８】
ＣＰＵ５０１はバス５０４を介して入出力インタフェース５０５に接続され、入出力インタフェース５０５には、撮像部５２１の撮影画像の入力を行うとともに、ユーザ入力可能な各種スイッチ、キーボード、マウス、マイクロホンなどよりなる入力部５０６、表示部５２２やスピーカなどに対するデータ出力を実行する出力部５０７が接続されている。ＣＰＵ５０１は、入力部５０６から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部５０７に出力する。
【０１８９】
入出力インタフェース５０５に接続されている記憶部５０８は、例えばハードディスク等からなり、ＣＰＵ５０１が実行するプログラムや各種のデータを記憶する。通信部５０９は、Ｗｉ−Ｆｉ通信、ブルートゥース（登録商標）（ＢＴ）通信、その他インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の送受信部として機能し、外部の装置と通信する。
【０１９０】
入出力インタフェース５０５に接続されているドライブ５１０は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア５１１を駆動し、データの記録あるいは読み取りを実行する。
【０１９１】
［６．本開示の構成のまとめ］
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０１９２】
なお、本明細書において開示した技術は、以下のような構成をとることができる。
（１）  異なる視点から撮影された２つの画像を入力して物体検出処理を実行する物体検出部を有し、
前記物体検出部は、
前記２つの画像の各画素の視差を算出し、算出視差情報からなる視差マップを生成する視差算出部と、
前記視差算出部の生成した視差マップを適用して物体検出処理を実行する分類部を有し、
前記視差算出部は、
複数の異なる解像度対応の視差マップを生成して前記分類部に出力する画像処理装置。
【０１９３】
（２）  前記視差算出部は、
前記２つの画像の等倍解像度画像を適用した対応点探索処理であるステレオマッチング処理を実行する画素マッチング部を有する（１）に記載の画像処理装置。
【０１９４】
（３）  前記画素マッチング部は、
前記物体検出処理における検出対象物の高さＬ、および画像上の高さｈ、および前記２つの画像を撮影した２つのカメラ間の距離に相当する基線長Ｂの少なくともいずれかの値を適用して、対応点探索領域であるサーチレンジ区間を決定する（２）に記載の画像処理装置。
【０１９５】
（４）  前記画素マッチング部は、
前記ステレオマッチング処理の実行結果として、画素単位の一致度を画像の構成画素各々に設定したコストプレーンの束（スタック）からなるコストボリュームを生成する（２）または（３）に記載の画像処理装置。
【０１９６】
（５）  前記視差算出部は、
前記画素マッチング部の生成した前記コストボリュームのフィルタリング処理により、複数の異なる解像度対応のコストボリュームを生成するコストボリュームフィルタリング部を有する（４）に記載の画像処理装置。
【０１９７】
（６）  前記コストボリュームフィルタリング部は、
フィルタリング対象の画素の間隔であるステップの設定、および、フィルタリング処理に際して参照する参照画素の範囲を規定するカーネルサイズを、出力するコストボリュームの解像度に応じて変更してフィルタリング処理を行う（５）に記載の画像処理装置。
【０１９８】
（７）  前記コストボリュームフィルタリング部は、
平均化フィルタを適用してフィルタリング処理を行う（５）または（６）に記載の画像処理装置。
【０１９９】
（８）  前記視差算出部は、
前記コストボリュームフィルタリング部の生成した複数の異なる解像度対応のコストボリュームの各々に対応する視差マップと、物体候補領域マップを生成する視差決定部を有する（５）〜（７）いずれかに記載の画像処理装置。
【０２００】
（９）  前記視差決定部は、
処理対象として選択した解像度のコストボリュームに含まれる複数のコストプレーン各々について、同一の画素位置（対応画素位置）の画素値（一致度）を比較して、最も一致度の高いコストプレーンを選択し、そのコストプレーンの視差ｄをその画素位置の視差Ｄとして決定する視差決定処理を実行し、該視差決定処理において決定した視差Ｄを画素に対応付けた視差マップを生成する（８）に記載の画像処理装置。
【０２０１】
（１０）  前記視差決定部は、
前記視差決定処理において決定した各画素対応の視差Ｄ（ｘ，ｙ）、あるいは視差Ｄ（ｘ，ｙ）における一致度に基づいて、
検出対象物の存在確率が高い領域（画素領域）を表す物体候補領域マップを生成する（９）に記載の画像処理装置。
【０２０２】
（１１）  前記分類部は、
前記視差算出部の生成した複数の異なる解像度対応の視差マップと、物体候補領域マップを入力し、
入力したデータを利用した機械学習処理により、物体検出処理を実行する（８）〜（１０）いずれかに記載の画像処理装置。
【０２０３】
（１２）  前記分類部は、
物体検出アルゴリズムであるＡＣＦ（Ａｇｇｒｅｇａｔｅｄ  Ｃｈａｎｎｅｌ  Ｆｅａｔｕｒｅｓ）を適用して物体検出処理を実行する（１１）に記載の画像処理装置。
【０２０４】
（１３）  前記異なる視点から撮影された２つの画像は、可視光画像と遠赤外線画像である（１）〜（１２）いずれかに記載の画像処理装置。
【０２０５】
（１４）  画像処理装置において実行する画像処理方法であり、
物体検出部が、異なる視点から撮影された２つの画像を入力して物体検出処理を実行する物体検出処理ステップを実行し、
前記物体検出処理ステップは、
視差算出部において、前記２つの画像の各画素の視差を算出し、算出視差情報からなる視差マップを生成する視差算出ステップと、
分類部において、前記視差算出ステップにおいて生成した視差マップを適用して物体検出処理を実行する分類処理ステップを有し、
前記視差算出ステップは、
複数の異なる解像度対応の視差マップを生成して前記分類部に出力する画像処理方法。
【０２０６】
（１５）  画像処理装置において画像処理を実行させるプログラムであり、
物体検出部に、異なる視点から撮影された２つの画像を入力して物体検出処理を実行する物体検出処理ステップを実行させ、
前記物体検出処理ステップにおいて、
視差算出部において、前記２つの画像の各画素の視差を算出し、算出視差情報からなる視差マップを生成する視差算出ステップと、
分類部において、前記視差算出ステップにおいて生成した視差マップを適用して物体検出処理を実行する分類処理ステップを実行させ、
前記視差算出ステップにおいては、
複数の異なる解像度対応の視差マップを生成して前記分類部に出力させるプログラム。
【０２０７】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０２０８】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０２０９】
以上、説明したように、本開示の一実施例の構成によれば、高精度かつ効率的な視差マップ生成、物体検出処理を実行する装置、方法が実現される。
具体的には、例えば異なる視点から撮影された２つの画像を入力して視差を算出し、視差マップを生成する視差算出部と、視差マップを適用して物体検出処理を実行する分類部を有する。視差算出部は、等倍解像度画像を適用したステレオマッチング処理を実行し、処理結果から複数の解像度対応のコストボリュームを生成し、各解像度対応のコストボリュームを利用して複数の異なる解像度対応の視差マップと、物体候補領域マップを生成して分類部に出力する。
これらの処理により、高精度かつ効率的な視差マップ生成、物体検出処理を実行する装置、方法が実現される。
【符号の説明】
【０２１０】
１０  可視光画像
２０  遠赤外線画像
１００  画像処理装置
１０１  制御部
１０２  記憶部
１０３  コーデック
１０４  入力部
１０５  出力部
１０６  撮像部
１０７  可視光画像撮像部
１０８  遠赤外線画像撮像部
１１１  第１撮像素子
１１２  第２撮像素子
１３１  第１画像
１３２  第２画像
１４０  キャリブレーション実行部
１５１  補正第１画像
１５２  補正第１画像
１７０  物体検出結果
２００  物体検出部
２１０  特徴量抽出部
２１１  第１画像特徴量
２１２  第２画像特徴量
２２０  視差算出部
２２１  画素マッチング部
２２２  コストボリュームフィルタリング部
２２３  視差決定部
２２５  視差マップ
２２６  物体領域候補マップ
２３０  分類部
３００  コストボリューム
３０１  コストプレーン
５０１  ＣＰＵ
５０２  ＲＯＭ
５０３  ＲＡＭ
５０４  バス
５０５  入出力インタフェース
５０６  入力部
５０７  出力部
５０８  記憶部
５０９  通信部
５１０  ドライブ
５１１  リムーバブルメディア
５２１  撮像部
５２２  表示部
【図１】
2018147059.tif 000007
【図２】
2018147059.tif 000008
【図３】
2018147059.tif 000009
【図４】
2018147059.tif 000010
【図５】
2018147059.tif 000011
【図６】
2018147059.tif 000012
【図７】
2018147059.tif 000013
【図８】
2018147059.tif 000014
【図９】
2018147059.tif 000015
【図１０】
2018147059.tif 000016
【図１１】
2018147059.tif 000017
【図１２】
2018147059.tif 000018
【図１３】
2018147059.tif 000019
【図１４】
2018147059.tif 000020
【図１５】
2018147059.tif 000021
【図１６】
2018147059.tif 000022
【図１７】
2018147059.tif 000023
【図１８】
2018147059.tif 000024
【図１９】
2018147059.tif 000025
【図２０】
2018147059.tif 000026
【国際調査報告】
2018147059.tif 000027
2018147059.tif 000028
2018147059.tif 000029
2018147059.tif 000030