Image processor, image processing method and image processing program

申请号 JP2012063739 申请日 2012-03-21 公开(公告)号 JP2013196454A 公开(公告)日 2013-09-30
申请人 Honda Elesys Co Ltd; 株式会社ホンダエレシス; 发明人 KANEMOTO JUNJI; MITSUI TOMOKAZU;
摘要 PROBLEM TO BE SOLVED: To efficiently obtain the integrated value of a predetermined range (area).SOLUTION: An image processor (camera ECU1 as one example) includes: an image acquisition part 12; a storage part (memory 23 as one example); and an image processing part (object recognition part 13 as one example). An image area is vertically divided into plurality, and when a rectangular range set in the image area crosses the two or more divided areas, the image processing part acquires the integrated value of pixel positions in the divided area at the lowest side among the two or more divided areas as a result calculated by adding the integrated value in each divided area at the upper side of the pixel positions in the same column at the lowermost line of each divided area at the upper side crossed by the rectangular range to the integrated value in the divided area at the lowest side of the pixel positions in the divided area at the lowest side.
权利要求
  • 画像を取得する画像取得部と、
    前記画像取得部により取得された画像について、画像領域が複数に分割されたそれぞれの分割領域毎に、あらかじめ定められた画素に関する値の積算値の情報を記憶する記憶部と、
    前記記憶部に記憶された情報に基づいて、前記画像領域に設定される矩形範囲について、前記画像取得部により取得された画像における画素に関する値の積算値を取得する画像処理部と、
    を備え、
    前記画像領域は、上下の方向で複数に分割され、
    前記画像処理部は、前記画像領域に設定される矩形範囲が2つ以上の分割領域に跨る場合には、当該2つ以上の分割領域のうちで最も下側の分割領域の画素位置における積算値を、当該最も下側の分割領域の画素位置の当該最も下側の分割領域における積算値に、前記矩形範囲が跨る上側の各分割領域の最下行にある同じ列の画素位置の当該上側の各分割領域における積算値を加算した結果として、取得する、
    ことを特徴とする画像処理装置。
  • 画像を取得する画像取得部と、
    前記画像取得部により取得された画像について、画像領域が複数に分割されたそれぞれの分割領域毎に、あらかじめ定められた画素に関する値の積算値の情報を記憶する記憶部と、
    前記記憶部に記憶された情報に基づいて、前記画像領域に設定される矩形範囲について、前記画像取得部により取得された画像における画素に関する値の積算値を取得する画像処理部と、
    を備え、
    前記画像領域は、左右の方向で複数に分割され、
    前記画像処理部は、前記画像領域に設定される矩形範囲が2つ以上の分割領域に跨る場合には、当該2つ以上の分割領域のうちで最も右側の分割領域の画素位置における積算値を、当該最も右側の分割領域の画素位置の当該最も右側の分割領域における積算値に、前記矩形範囲が跨る左側の各分割領域の最右列にある同じ行の画素位置の当該左側の各分割領域における積算値を加算した結果として、取得する、
    ことを特徴とする画像処理装置。
  • 前記画像処理部は、前記画像領域に設定される矩形範囲が1つの分割領域に収まる場合には、前記記憶部に記憶された前記矩形範囲の4個の頂点の画素位置の当該分割領域における積算値の情報を用いて、前記矩形範囲について、前記画像取得部により取得された画像における画素に関する値の積算値を取得する、
    ことを特徴とする請求項1または請求項2に記載の画像処理装置。
  • 前記記憶部は、前記画像取得部により取得された画像について、前記画像領域が複数に分割されたそれぞれの分割領域毎に、各画素位置における積算値の情報として、あらかじめ定められた基準となる画素位置と当該各画素位置とを対角の頂点とする矩形部分の範囲に含まれる画素に関する値の積算値の情報を記憶する、
    ことを特徴とする請求項1から請求項3のいずれか1項に記載の画像処理装置。
  • 前記画素に関する値として、前記画素の輝度値が用いられ、
    前記画素に関する値の積分値として、インテグラルイメージが用いられる、
    ことを特徴とする請求項1から請求項4のいずれか1項に記載の画像処理装置。
  • 前記画素に関する値として、勾配方向毎に、前記画素の勾配量が用いられ、
    前記画素に関する値の積分値として、勾配方向毎のインテグラルヒストグラムが用いられる、
    ことを特徴とする請求項1から請求項4のいずれか1項に記載の画像処理装置。
  • 画像取得部が、画像を取得し、
    画像処理部が、前記画像取得部により取得された画像について、画像領域が上下の方向で複数に分割されたそれぞれの分割領域毎に、あらかじめ定められた画素に関する値の積算値の情報を記憶する記憶部に記憶された情報に基づいて、前記画像領域に設定される矩形範囲について、前記画像取得部により取得された画像における画素に関する値の積算値を取得し、前記画像領域に設定される矩形範囲が2つ以上の分割領域に跨る場合には、当該2つ以上の分割領域のうちで最も下側の分割領域の画素位置における積算値を、当該最も下側の分割領域の画素位置の当該最も下側の分割領域における積算値に、前記矩形範囲が跨る上側の各分割領域の最下行にある同じ列の画素位置の当該上側の各分割領域における積算値を加算した結果として、取得する、
    ことを特徴とする画像処理方法。
  • 画像取得部が、画像を取得し、
    画像処理部が、前記画像取得部により取得された画像について、画像領域が左右の方向で複数に分割されたそれぞれの分割領域毎に、あらかじめ定められた画素に関する値の積算値の情報を記憶する記憶部に記憶された情報に基づいて、前記画像領域に設定される矩形範囲について、前記画像取得部により取得された画像における画素に関する値の積算値を取得し、前記画像領域に設定される矩形範囲が2つ以上の分割領域に跨る場合には、当該2つ以上の分割領域のうちで最も右側の分割領域の画素位置における積算値を、当該最も右側の分割領域の画素位置の当該最も右側の分割領域における積算値に、前記矩形範囲が跨る左側の各分割領域の最右列にある同じ行の画素位置の当該左側の各分割領域における積算値を加算した結果として、取得する、
    ことを特徴とする画像処理方法。
  • 画像取得部が、画像を取得する手順と、
    画像処理部が、前記画像取得部により取得された画像について、画像領域が上下の方向で複数に分割されたそれぞれの分割領域毎に、あらかじめ定められた画素に関する値の積算値の情報を記憶する記憶部に記憶された情報に基づいて、前記画像領域に設定される矩形範囲について、前記画像取得部により取得された画像における画素に関する値の積算値を取得し、前記画像領域に設定される矩形範囲が2つ以上の分割領域に跨る場合には、当該2つ以上の分割領域のうちで最も下側の分割領域の画素位置における積算値を、当該最も下側の分割領域の画素位置の当該最も下側の分割領域における積算値に、前記矩形範囲が跨る上側の各分割領域の最下行にある同じ列の画素位置の当該上側の各分割領域における積算値を加算した結果として、取得する手順と、
    をコンピュータに実行させるための画像処理プログラム。
  • 画像取得部が、画像を取得する手順と、
    画像処理部が、前記画像取得部により取得された画像について、画像領域が左右の方向で複数に分割されたそれぞれの分割領域毎に、あらかじめ定められた画素に関する値の積算値の情報を記憶する記憶部に記憶された情報に基づいて、前記画像領域に設定される矩形範囲について、前記画像取得部により取得された画像における画素に関する値の積算値を取得し、前記画像領域に設定される矩形範囲が2つ以上の分割領域に跨る場合には、当該2つ以上の分割領域のうちで最も右側の分割領域の画素位置における積算値を、当該最も右側の分割領域の画素位置の当該最も右側の分割領域における積算値に、前記矩形範囲が跨る左側の各分割領域の最右列にある同じ行の画素位置の当該左側の各分割領域における積算値を加算した結果として、取得する手順と、
    をコンピュータに実行させるための画像処理プログラム。
  • 说明书全文

    本発明は、画像処理装置、画像処理方法および画像処理プログラムに関する。

    近年、一般物体認識や特定物体認識の技術として、画像中の特徴的な情報を抽出して物体を認識する技術が使われている。 前記した特徴的な情報を効率良く抽出する処理工程として、インテグラルイメージ(積分画像)やインテグラルヒストグラム(積分勾配画像)の作成が行われている。
    インテグラルヒストグラムは、勾配方向毎の積分画像であるため、勾配方向の数の分だけ必要となる。
    なお、インテグラルイメージを用いた認識技術が、特許文献1や非特許文献1などで述べられている。

    車載用途の物体認識装置としては、車間距離制御(ACC:Adaptive Cruise Control)の装置、衝突回避(または、軽減)の装置、衝突警報の装置などがある。 このような装置として、例えば、車両、2輪、自転車、歩行者などの認識のほか、道路標識などの認識のように、一度に多種類の目標物体の認識が行われる装置の普及が望まれている。
    このような多種類の目標物体の認識のために、1台の車載カメラECU(Electronic Control Unit)で認識することができる安価な装置の普及が期待されている。 車載カメラECUによる物体の認識には、パターン認識が多く用いられている。 パターン認識による物体認識アルゴリズムは、Haar−likeやHOG(Histograms of Oriented Gradients)などの特徴量に、AdaBoostやSVM(Support Vector Machine)識別器などを組み合わせて構成する。

    前記したパターン認識では、撮像した画像中から目標物体の画像を抽出するために、物体認識する領域(ウィンドウ)を各サイズで設定し、そのウィンドウ毎に前記した物体認識アルゴリズムの処理を施す。
    また、ウィンドウ毎の特徴量を効率良く得るために、ウィンドウ内の特定矩形領域の積算値が高速に得られる前記したインテグラルイメージや前記したインテグラルヒストグラムを作成する手法が用いられている。

    図20および図21を参照して、背景技術に係る物体認識部(例えば、図1に示されるカメラECU1の物体認識部13に対応する処理部)により行われる処理の手順の一例を示す。
    図20は、背景技術に係る物体認識部により行われる処理の手順の一例を示すフローチャート図である。
    まず、物体認識部は、画像について、輝度の勾配を算出する(ステップS1001)。
    なお、輝度の勾配の算出に関する例が、図16および図17に示される。

    次に、物体認識部は、全画像領域の中から任意の物体認識領域のインテグラルヒストグラムを作成する(ステップS1002)。
    なお、インテグラルヒストグラムを作成する処理は、例えば、FPGA(Field Programmable Gate Array)、DSP(Digital Signal Processor)またはマイクロコンピュータ(例えば、図1に示されるカメラECU1の物体認識部13が備えるものと同様なもの)などのうちの任意の1つ以上により行われる。

    ここで、インテグラルヒストグラムのデータ容量は、ステップS1001の処理で求めた輝度勾配方向毎にインテグラルヒストグラムを作成することから、インテグラルイメージのデータ容量が勾配方向数倍増えたデータ容量となる。

    次に、物体認識部は、作成したインテグラルヒストグラムのデータをメモリ(例えば、図1に示されるカメラECU1の物体認識部13が備えるメモリ23と同様なもの)に転送する(ステップS1003)。
    次に、物体認識部は、メモリに記憶したインテグラルヒストグラムのデータを入データとして、物体認識処理(ここの例では、物体認識のためのパターン認識の処理)を行う(ステップS1004)。

    ここで、上述したように、インテグラルヒストグラムのデータ容量は、勾配方向毎の大きいデータ容量となるため、ステップS1003の処理におけるメモリ転送とステップS1004の処理におけるメモリアクセスに支障が出ないように設計する必要がある。

    図21は、背景技術に係る物体認識部により行われる物体認識処理(図20に示されるフローチャートにおけるステップS1004の処理の詳細)の手順の一例を示すフローチャート図である。
    この例では、HOG特徴量と識別器(AdaBoostやSVMなど)により、認識アルゴリズムを構成している。
    また、この例では、矩形の形状を有するウィンドウを用いる。

    物体認識処理(ステップS1004の処理)において、まず、物体認識部は、ラスタスキャンの処理として、メモリに記憶されたインテグラルヒストグラムの領域内において、あらかじめ設定された任意の座標領域(ウィンドウ)で抽出を行う(ステップS1101)。 この場合、物体認識部は、メモリに記憶されたインテグラルヒストグラムのデータにアクセスして、そのデータを取得して使用する。

    次に、物体認識部は、特徴量算出処理として、特徴ベクトルを算出する(ステップS1102)。 この例では、物体認識部は、特徴ベクトルとして、HOG特徴量(ベクトル)を算出する。
    なお、HOG特徴量の算出に関する例が、図17に示される。
    HOG特徴量としては、ウィンドウ内をさらに細かいセル単位で区切り、そのセル単位にインテグラルヒストグラムによる矩形領域を当てはめ、4点の積算値の加減算により矩形領域の積算値を求める。 これを勾配方向毎に行うことで、セル単位の勾配ヒストグラムとなる。

    次に、物体認識部は、識別器による識別処理として、算出したHOG特徴量に基づいて、あらかじめターゲット(目標)としている物体(物体の画像)を認識する(ステップS1103)。
    この例では、Real AdaBoostの識別器を用いている。 Real AdaBoostの識別器では、あらかじめ目標の物体のHOG特徴量を学習させて、適切な弱識別器により構成された識別器に設定してある。

    そして、物体認識部は、ラスタスキャンの処理が終了したか否かを確認し(ステップS1104)、ラスタスキャンの処理が終了するまで、ラスタスキャンの領域に対してウィンドウをスライドさせて、順次、ステップS1101の処理〜ステップS1104の処理を繰り返して行う。
    なお、ラスタスキャンの処理では、例えば、同一のウィンドウスケールで前記した繰り返しの処理を終了した後に、ウィンドウのスケールやスキャンステップを可変(変更)して、再び、ウィンドウを順次スライドさせていき、ラスタスキャンの処理が終了するまでこのような処理を繰り返して行う。

    特開2009−87253号公報

    Paul Viola、Michael Jones、" Rapid Object Detection using a Boosted Cascade of Simple Features "、Computer Vision and Pattern Recognition 2001

    しかしながら、前記したインテグラルヒストグラム(または、前記したインテグラルイメージ)を作成する画像領域は、一般物体認識においては勿論、特定物体認識においても、目標物体の種類が多くなる程、その領域を広くする必要がある。
    車載用途においても、例えば、機能の中に道路標識(案内表示を含む)認識の機能が含まれ、その認識に前記したインテグラルヒストグラム(または、前記したインテグラルイメージ)を使用する場合には、画像領域(インテグラルヒストグラムの場合には、各勾配方向毎の画像領域)の上部や左右端部の領域(例えば、道路標識が存在する領域)まで含めることとなるため、ほぼ全ての画像領域に及ぶこととなってしまう。

    この場合、前記したインテグラルヒストグラム(または、前記したインテグラルイメージ)の画像領域を、1つの広い範囲にする程、勾配強度(インテグラルイメージの場合には、輝度)の最大積算値が大きくなり、必要なデータ長が増えてしまう。 例えば、平方向640画素×垂直方向480画素のラスタスキャン領域の場合、勾配強度が8ビットで表現できるとして、27ビット(640×480×256を表現できるビット数)のデータ長(ビット長)の積算勾配強度値が必要となる。

    だが、インテグラルヒストグラム(または、インテグラルイメージ)のメモリへの転送やCPU(Central Processing Unit)のメモリアクセスの効率性を良くするためにも、できるだけビット長を削減することが望まれる。 そして、このようなビット長を削減するためには、例えば、積算勾配強度値のビットを削除することになるが、この場合、情報量が削られてしまい、所望する矩形領域の積算値(これが特徴量となる)が得られなくなる点が課題である。

    本発明は、このような事情を考慮して為されたものであり、所定の範囲(領域)の積算値を効率的に得ることができる画像処理装置、画像処理方法および画像処理プログラムを提供することを目的としている。

    (1)上述した課題を解決するために、本発明に係る画像処理装置は、画像を取得する画像取得部と、前記画像取得部により取得された画像について、画像領域が複数に分割されたそれぞれの分割領域毎に、あらかじめ定められた画素に関する値の積算値の情報を記憶する記憶部と、前記記憶部に記憶された情報に基づいて、前記画像領域に設定される矩形範囲について、前記画像取得部により取得された画像における画素に関する値の積算値を取得する画像処理部と、を備え、前記画像領域は、上下の方向で複数に分割され、前記画像処理部は、前記画像領域に設定される矩形範囲が2つ以上の分割領域に跨る場合には、当該2つ以上の分割領域のうちで最も下側の分割領域の画素位置における積算値を、当該最も下側の分割領域の画素位置の当該最も下側の分割領域における積算値に、前記矩形範囲が跨る上側の各分割領域の最下行にある同じ列の画素位置の当該上側の各分割領域における積算値を加算した結果として、取得する、ことを特徴とする。

    (2)上述した課題を解決するために、本発明に係る画像処理装置は、画像を取得する画像取得部と、前記画像取得部により取得された画像について、画像領域が複数に分割されたそれぞれの分割領域毎に、あらかじめ定められた画素に関する値の積算値の情報を記憶する記憶部と、前記記憶部に記憶された情報に基づいて、前記画像領域に設定される矩形範囲について、前記画像取得部により取得された画像における画素に関する値の積算値を取得する画像処理部と、を備え、前記画像領域は、左右の方向で複数に分割され、前記画像処理部は、前記画像領域に設定される矩形範囲が2つ以上の分割領域に跨る場合には、当該2つ以上の分割領域のうちで最も右側の分割領域の画素位置における積算値を、当該最も右側の分割領域の画素位置の当該最も右側の分割領域における積算値に、前記矩形範囲が跨る左側の各分割領域の最右列にある同じ行の画素位置の当該左側の各分割領域における積算値を加算した結果として、取得する、ことを特徴とする。

    (3)本発明は、上記した(1)または上記した(2)に記載の画像処理装置において、前記画像処理部は、前記画像領域に設定される矩形範囲が1つの分割領域に収まる場合には、前記記憶部に記憶された前記矩形範囲の4個の頂点の画素位置の当該分割領域における積算値の情報を用いて、前記矩形範囲について、前記画像取得部により取得された画像における画素に関する値の積算値を取得する、ことを特徴とする。

    (4)本発明は、上記した(1)から上記した(3)のいずれか1つに記載の画像処理装置において、前記記憶部は、前記画像取得部により取得された画像について、前記画像領域が複数に分割されたそれぞれの分割領域毎に、各画素位置における積算値の情報として、あらかじめ定められた基準となる画素位置と当該各画素位置とを対の頂点とする矩形部分の範囲に含まれる画素に関する値の積算値の情報を記憶する、ことを特徴とする。

    (5)本発明は、上記した(1)から上記した(4)のいずれか1つに記載の画像処理装置において、前記画素に関する値として、前記画素の輝度値が用いられ、前記画素に関する値の積分値として、インテグラルイメージが用いられる、ことを特徴とする。

    (6)本発明は、上記した(1)から上記した(4)のいずれか1つに記載の画像処理装置において、前記画素に関する値として、勾配方向毎に、前記画素の勾配量が用いられ、前記画素に関する値の積分値として、勾配方向毎のインテグラルヒストグラムが用いられる、ことを特徴とする。

    (7)上述した課題を解決するために、本発明に係る画像処理方法は、画像取得部が、画像を取得し、画像処理部が、前記画像取得部により取得された画像について、画像領域が上下の方向で複数に分割されたそれぞれの分割領域毎に、あらかじめ定められた画素に関する値の積算値の情報を記憶する記憶部に記憶された情報に基づいて、前記画像領域に設定される矩形範囲について、前記画像取得部により取得された画像における画素に関する値の積算値を取得し、前記画像領域に設定される矩形範囲が2つ以上の分割領域に跨る場合には、当該2つ以上の分割領域のうちで最も下側の分割領域の画素位置における積算値を、当該最も下側の分割領域の画素位置の当該最も下側の分割領域における積算値に、前記矩形範囲が跨る上側の各分割領域の最下行にある同じ列の画素位置の当該上側の各分割領域における積算値を加算した結果として、取得する、ことを特徴とする。

    (8)上述した課題を解決するために、本発明に係る画像処理方法は、画像取得部が、画像を取得し、画像処理部が、前記画像取得部により取得された画像について、画像領域が左右の方向で複数に分割されたそれぞれの分割領域毎に、あらかじめ定められた画素に関する値の積算値の情報を記憶する記憶部に記憶された情報に基づいて、前記画像領域に設定される矩形範囲について、前記画像取得部により取得された画像における画素に関する値の積算値を取得し、前記画像領域に設定される矩形範囲が2つ以上の分割領域に跨る場合には、当該2つ以上の分割領域のうちで最も右側の分割領域の画素位置における積算値を、当該最も右側の分割領域の画素位置の当該最も右側の分割領域における積算値に、前記矩形範囲が跨る左側の各分割領域の最右列にある同じ行の画素位置の当該左側の各分割領域における積算値を加算した結果として、取得する、ことを特徴とする。

    (9)上述した課題を解決するために、本発明に係る画像処理プログラムは、画像取得部が、画像を取得する手順と、画像処理部が、前記画像取得部により取得された画像について、画像領域が上下の方向で複数に分割されたそれぞれの分割領域毎に、あらかじめ定められた画素に関する値の積算値の情報を記憶する記憶部に記憶された情報に基づいて、前記画像領域に設定される矩形範囲について、前記画像取得部により取得された画像における画素に関する値の積算値を取得し、前記画像領域に設定される矩形範囲が2つ以上の分割領域に跨る場合には、当該2つ以上の分割領域のうちで最も下側の分割領域の画素位置における積算値を、当該最も下側の分割領域の画素位置の当該最も下側の分割領域における積算値に、前記矩形範囲が跨る上側の各分割領域の最下行にある同じ列の画素位置の当該上側の各分割領域における積算値を加算した結果として、取得する手順と、をコンピュータに実行させるためのプログラムである。

    (10)上述した課題を解決するために、本発明に係る画像処理プログラムは、画像取得部が、画像を取得する手順と、画像処理部が、前記画像取得部により取得された画像について、画像領域が左右の方向で複数に分割されたそれぞれの分割領域毎に、あらかじめ定められた画素に関する値の積算値の情報を記憶する記憶部に記憶された情報に基づいて、前記画像領域に設定される矩形範囲について、前記画像取得部により取得された画像における画素に関する値の積算値を取得し、前記画像領域に設定される矩形範囲が2つ以上の分割領域に跨る場合には、当該2つ以上の分割領域のうちで最も右側の分割領域の画素位置における積算値を、当該最も右側の分割領域の画素位置の当該最も右側の分割領域における積算値に、前記矩形範囲が跨る左側の各分割領域の最右列にある同じ行の画素位置の当該左側の各分割領域における積算値を加算した結果として、取得する手順と、をコンピュータに実行させるためのプログラムである。

    以上説明したように、本発明によれば、所定の範囲(領域)の積算値を効率的に得ることができる画像処理装置、画像処理方法および画像処理プログラムを提供することが可能になる。

    本発明の一実施形態に係る画像処理システムの構成(ハードウェア構成)を示す概略ブロック図である。

    本発明の第1実施形態に係る分割インテグラルヒストグラム領域の一例を示す図である。

    本発明の第1実施形態に係る分割インテグラルヒストグラム領域の詳細を説明するための図である。

    ウィンドウ内の矩形領域が分割領域を跨ぐ場合と跨がない場合の様子の一例を示す図である。

    本発明の第1実施形態に係る物体認識部により行われる処理の手順の一例を示すフローチャート図である。

    本発明の第1実施形態に係る物体認識部により行われるHOG特徴量(ベクトル)算出処理の手順の一例を示すフローチャート図である。

    ウィンドウ内の矩形領域が分割領域を跨ぐか否かを判定する方法の一例を説明するための図である。

    本発明の第2実施形態に係る分割インテグラルヒストグラム領域の一例を示す図である。

    本発明の第2実施形態に係る分割インテグラルヒストグラム領域の詳細を説明するための図である。

    ウィンドウ内の矩形領域が分割領域を跨ぐ場合と跨がない場合の様子の一例を示す図である。

    分割インテグラルヒストグラム領域における加算行の一例を示す図である。

    本発明の第2実施形態に係る物体認識部により行われる処理の手順の一例を示すフローチャート図である。

    本発明の第3実施形態に係る分割インテグラルヒストグラム領域の一例を示す図である。

    分割インテグラルヒストグラム領域における加算列の一例を示す図である。

    本発明の第3実施形態に係る物体認識部により行われる処理の手順の一例を示すフローチャート図である。

    (A)は輝度画像の一例を示す図であり、(B)は勾配の一例を示す図であり、(C)は勾配強度の一例を示す図であり、(D)は勾配方向の一例を示す図である。

    (A)および(B)はHOG特徴量を説明するための図である。

    (A)はオリジナル画像の一例を示す図であり、(B)は累積行加算の結果の一例を示す図であり、(C)は積分画像の一例を示す図である。

    (A)および(B)はHaar−like特徴量を説明するための図である。

    背景技術に係る物体認識部により行われる処理の手順の一例を示すフローチャート図である。

    背景技術に係る物体認識部により行われる物体認識処理の手順の一例を示すフローチャート図である。

    [用語の説明]
    勾配方向特徴量は、画像の輝度の勾配方向と勾配強度に関する特徴量のことである。 なお、勾配強度は、情報量を低減した公知の勾配度数を用いることもできる。 本願において、勾配強度と勾配度数を含む、広義の勾配値を勾配量と定義する。
    本願において、積分勾配画像(インテグラルヒストグラム)は、画像の輝度について勾配方向と勾配量を算出して、それぞれの勾配方向毎に勾配量を積分した結果(積分勾配値)のことである。 ここで、この積分は、例えば、積分勾配画像を求める対象となる領域に含まれる全ての画素(pixel(ピクセル))について行われる。

    本願において、「積算」と「積分」は、概略的には同様な処理を行っており、「積算」を用いる場合の他の構成例として「積分」が用いられてもよく、逆に、「積分」を用いる場合の他の構成例として「積算」が用いられてもよい。

    また、識別器としては、Real AdaBoostの識別器や、AdaBoostの識別器や、SVMの識別器など、様々なものを含む。
    また、識別器の下位概念として、統計的学習を行う識別器があり、その下位概念として、Boostingの識別器があり、その下位概念として、Real AdaBoostの識別器などがある。
    ここで、Boostingは、複数の弱識別器を使用した統計的学習を行うものである。
    また、矩形には、長方形ばかりでなく、正方形も含まれる。

    [第1実施形態]
    本実施形態では、車両に搭載されて物体認識の処理を行う車載用の画像処理システムを例として説明する。
    図1は、本発明の一実施形態に係る画像処理システムの構成(ハードウェア構成)を示す概略ブロック図である。
    本実施形態に係る画像処理システムは、カメラECU(Electronic Control Unit)1と、警報装置2と、ACC−ECU3と、衝突回避制御−ECU4と、を備える。
    なお、カメラECU1は、画像処理装置の一例である。
    カメラECU1は、カメラ11と、画像取得部12と、物体認識部(画像処理部の一例)13と、制御部14と、を備える。

    物体認識部13は、本実施形態では、FPGA21の機能と、マイクロコンピュータ22の機能と、メモリ(記憶部の一例)23の機能を用いて構成される。
    なお、FPGA21の機能の代わりに、または、FPGA21の機能と共に、DSPの機能が用いられてもよい。
    制御部14は、本実施形態では、例えばCPUを有するマイクロコンピュータ22の機能と、メモリ23の機能を用いて構成される。
    また、物体認識部13および制御部14のメモリ23および周辺回路は、FPGA、DSP、マイクロコンピュータ内の集積回路に格納されているものを使用するか、もしくはそれらの外部に設けても良い。

    ここで、物体認識部13および制御部14において、FPGA、DSP、マイクロコンピュータといったデバイスについては、任意の数のデバイスが用いられてもよく、例えば、全てのデバイスが用いられてもよく、または、必ずしも全てのデバイスが必要ではなく、1つのデバイスあるいは2つのデバイスに全ての処理の機能を実装することも可能である。

    本実施形態に係る画像処理システムに備えられる各処理部の概要を説明する。
    カメラ11は、例えば、車両の前方、側方または後方等のようにあらかじめ定められた方向の画像を撮像する車両位置に設けられる。 本実施形態では、カメラ11は、車両の前方の目標物体を撮像して認識することができる車両位置に設けられる。
    カメラ11は、画像を撮像し、撮像した画像の信号を画像取得部12に出力する。
    画像取得部12は、カメラ11からの画像を画像データとして取り込み、取り込んだ画像データを物体認識部13に出力する。

    物体認識部13は、画像取得部12から入力される画像データについて、FPGA21やマイクロコンピュータ22により、物体認識のために、画像処理およびパターン認識の演算を行い、物体認識の処理の結果の情報を制御部14に出力する。 この画像処理としては、例えば、前処理のフィルタリング処理などが行われる。
    また、パターン認識の結果の情報としては、例えば、画像データの画像中における目標物体の情報が用いられる。

    メモリ23は、各種の情報を記憶する。
    本実施形態では、例えば、インテグラルヒストグラム(または、インテグラルイメージ)のデータが、FPGA21内(または、DSP内)またはマイクロコンピュータ22内で作成されて、メモリ23に転送されて格納(記憶)される。

    制御部14は、物体認識部13から入力される物体認識の処理の結果の情報に基づいて、あらかじめ定められた処理を行い、その結果の情報を警報装置2やACC−ECU3や衝突回避制御−ECU4に出力する。
    具体例として、制御部14は、物体認識部13から入力される物体認識の処理の結果の情報である目標物体の情報に基づいて、あらかじめ定められた処理として、目標物体との間のTTC(Time to Collision)や距離を算出する処理や、目標物体のトラッキングを行う処理や、他の装置やECU(本実施形態では、警報装置2やACC−ECU3や衝突回避制御−ECU4)のアプリケーション機能と通信する処理などを行う。

    警報装置2やACC−ECU3や衝突回避制御−ECU4は、カメラECU1の制御部14を介して各アプリケーション機能を実行するように設けられる。
    警報装置2は、制御部14から入力される情報に基づいて、例えば、目標物体が前方の車両である場合における前方車両衝突警報や、目標物体が歩行者である場合における歩行者衝突警報などを行う。
    ACC−ECU3は、制御部14から入力される情報に基づいて、例えば、目標物体が前方の車両である場合における車間距離制御などを行う。
    衝突回避制御−ECU4は、制御部14から入力される情報に基づいて、例えば、目標物体が前方の車両である場合における衝突回避制御や、目標物体が歩行者である場合における歩行者衝突回避制御などを行う。 衝突回避制御−ECU4は、例えば、ブレーキ制御やステアリング制御と連携する。

    以下で、本実施形態に係る物体認識部13により行われる処理を説明する。
    以下では、インテグラルヒストグラムを例として説明するが、他の構成例として、インテグラルイメージに適用することも可能である。
    図2は、本実施形態に係る分割インテグラルヒストグラム領域の一例を示す図である。
    本実施形態では、カメラ11により撮像される画像(全体の画像)が、水平方向640画素×垂直方向480画素の画像であるとする。
    本実施形態では、全画像のうちで使用する領域部分を上下(横)に2分割して、そのうちの下側の接地物体認識領域と、そのうちの上側の上部物体認識領域と、に分けてある。 なお、本実施形態では、接地物体認識領域より下側の領域は、不使用の領域部分である。

    接地物体認識領域は、例えば、主に車両、2輪車、自転車、歩行者などのように、接地していて自車両と衝突する可能性がある領域に存在する物体(接地物体)を捉える領域である。 接地物体認識領域の行幅はA[pixel]の行の区間である。
    上部物体認識領域は、主に上部の道路標識(案内表示を含む)などの物体(上部物体)を捉える領域である。 上部物体認識領域では、上部物体を認識することができる追加行幅は、B[pixel]の行の区間である。
    不使用の領域部分では、不使用の行幅は(480−A−B)[pixel]の行の区間である。

    なお、全画像領域を分割する方法は、例えば、あらかじめ設定されて、メモリ23などに記憶される。 具体的には、全画像領域のうちで、上部物体認識領域とする領域を特定する情報や、接地物体認識領域とする領域を特定する情報や、不使用領域とする領域を特定する情報が、メモリ23などに記憶される。
    また、他の構成例として、全画像領域を分割する方法が、自車両の挙動や撮像画像により適応的に設定されたり、ユーザによる指示入力に応じて設定されてもよい。
    ここで、上部物体認識領域や接地物体認識領域といった分割領域を総和したものは、例えば、全画像領域となってもよく、または、全画像領域のうちの一部になってもよい。 また、不使用領域は、設けられてもよく、または、設けられなくてもよい。

    図3は、本実施形態に係る分割インテグラルヒストグラム領域の詳細を説明するための図である。
    本実施形態では、画像を構成する画素について、水平方向の画素位置(座標値)をx[pixel]を用いて表し、垂直方向の画素位置(座標値)をy[pixel]を用いて表す。
    本実施形態では、画像の左上の画素位置を原点(0、0)とし、水平方向については右へ行くほどxの値が大きくなるとし、垂直方向については下へ行くほどyの値が大きくなるとする。

    積算式は、式(1)で表される。
    i(x、y)は、画素位置(x、y)における積算する対象の値を表す。 積算する対象の値としては、本実施形態では勾配強度の値が用いられるが、他の値が用いられてもよい。
    ii(x 、y )は、積算値を表す。
    (x 、y )は、積算値算出の原点(画素位置)を表す。
    (x 、y )は、任意の点(画素位置)を表す。
    (x N−1 、y N1−1 )について、(N−1)は639であり、(N1−1)は上部物体認識領域の最下行を表す値である。
    (x N−1 、y N2−1 )について、(N−1)は639であり、(N2−1)は接地物体認識領域の最下行を表す値である。

    本実施形態では、上部物体認識領域は、矩形の形状を有しており、その左上の画素位置が(x α 、y α )で表され、その右下の画素位置が(x N−1 、y N1−1 )で表されるとする。
    上部物体認識領域については、物体認識部13は、画素位置(x α 、y α )を基準点にして、(x 、y )=(x α 、y α )から(x 、y )=(x N−1 、y N1−1 )までの勾配強度値i(x、y)を積算して、その積算値ii(x 、y )をメモリ23に転送する。

    ここで、(x N−1 、y N1−1 )は、639(=N−1)列目とB区間(=N1−1)の行目との交点の画素位置である。
    また、y αは、上部物体を認識することができる上限の画素位置[pixel]である。

    このような分割インテグラルヒストグラム領域を用いると、積算値を抑圧させることができる。 例えば、水平方向640画素×垂直方向100画素にインテグラルヒストグラムを分割すると24ビット(640×100×256を表現できるビット数)となり、それだけで精度に影響しない3ビット分の積算勾配強度値のデータ長削減を実現することができる。

    本実施形態では、接地物体認識領域は、矩形の形状を有しており、その左上の画素位置が(x β 、y β )で表され、その右下の画素位置が(x N−1 、y N2−1 )で表されるとする。
    接地物体認識領域については、物体認識部13は、画素位置(x β 、y β )を基準点にして、(x 、y )=(x β 、y β )から(x 、y )=(x N−1 、y N2−1 )までの勾配強度値i(x、y)を積算して、その積算値ii(x 、y )をメモリ23に転送する。

    ここで、(x N−1 、y N2−1 )は、639(=N−1)列目とA区間(=N2−1)の行目との交点の画素位置である。
    また、y βは、接地物体を認識することができる上限の画素位置[pixel]である。

    このような分割インテグラルヒストグラム領域を用いると、積算値を抑圧させることができる。

    図4は、ウィンドウ内の矩形領域が分割領域を跨ぐ場合と跨がない場合の様子の一例を示す図である。
    ウィンドウ内の矩形領域101のように、分割領域を跨がずに、全ての画素位置のyがy βより小さいとき(例えば、近距離のとき)には、上部物体認識領域を使用する。
    ウィンドウ内の矩形領域103のように、分割領域を跨がずに、全ての画素位置のyがy β以上であるとき(例えば、遠距離のとき)には、接地物体認識領域を使用する。

    ウィンドウ内の矩形領域102のように、分割領域を跨いで、画素位置のyがy βより小さいところとy β以上であるところがあるとき(例えば、中距離のとき)には、下部の接地物体認識領域の2点121、122の勾配強度積算値に対して、各々、上部の上部物体認識領域の最下行で同列の2点111、112の勾配強度積算値を加算する。 これにより、領域を分割しない場合における積算値と同じ積算値が求められる。

    例えば、カメラ11を前方に向けて搭載した車両が前方に進んでいる場合、近い未来に上部物体となるものが、まだ遠距離に存在するときには下部の接地物体認識領域で撮像され、中距離程度に存在するようになると分割領域を跨ぐように撮像され、近距離に存在するようになると上部物体認識領域のみで撮像される。

    ここで、分割領域を跨ぐウィンドウ内の矩形領域における物体認識処理は、例えば、上部物体認識処理において行われてもよく、または、接地物体認識処理において行われてもよく、または、これらの両方で行われてもよく、または、これらとは異なる処理(例えば、分割領域を跨ぐ可能性がある物体の認識処理)を設けてその処理において行われてもよい。

    図5は、本実施形態に係る物体認識部13により行われる処理の手順の一例を示すフローチャート図である。
    ここで、図5に示されるフローチャートは、図2に示されるようにインテグラルヒストグラムを上下(横)の2領域に分けた場合のものであり、概略的には、図20に示される背景技術に係るフローチャートと比べて、分割したインテグラルヒストグラムの作成とメモリへの転送を追加しており(ステップS2〜ステップS5)、4種類の物体認識に対応させている(ステップS6〜ステップS9)。

    まず、物体認識部13は、処理対象(本実施形態では、目標物体の認識対象)となる画像について、輝度の勾配を算出する(ステップS1)。
    次に、物体認識部13は、上部物体認識領域のインテグラルヒストグラムを作成する(ステップS2)。
    なお、インテグラルヒストグラムを作成する処理は、例えば、FPGA21(または、DSP)またはマイクロコンピュータ22などのうちの任意の1つ以上により行われる。
    次に、物体認識部13は、作成した上部物体認識領域のインテグラルヒストグラムのデータをメモリ23に転送する(ステップS3)。

    次に、物体認識部13は、接地物体認識領域のインテグラルヒストグラムを作成する(ステップS4)。
    次に、物体認識部13は、作成した接地物体認識領域のインテグラルヒストグラムのデータをメモリ23に転送する(ステップS5)。
    なお、ステップS2の処理〜ステップS5の処理は、図3に示される。

    次に、物体認識部13は、メモリ23に記憶したインテグラルヒストグラムのデータを入力データとして、物体認識処理(本実施形態では、物体認識のためのパターン認識の処理)を行う(ステップS6〜ステップS9)。
    具体的には、物体認識部13は、上部物体認識処理を行い(ステップS6)、接地物体認識処理−aを行い(ステップS7)、接地物体認識処理−bを行い(ステップS8)、接地物体認識処理−cを行う(ステップS9)。

    ここで、上部物体認識処理では、主に画像の上部(例えば、自車両よりも上空の領域)に存在する物体を認識する処理を行う。
    また、接地物体認識処理では、主に画像の上部と比べて画像の下部(例えば、車両がぶつかり得る領域)に存在する物体を認識する処理を行う。
    また、接地物体認識処理−a、接地物体認識処理−b、接地物体認識処理−cは、それぞれ、異なる接地物体を認識する処理を行う。 異なる接地物体としては、例えば、車両、2輪車、自転車、歩行者などがある。

    図6は、本発実施形態に係る物体認識部13により行われるHOG特徴量(ベクトル)算出処理の手順の一例を示すフローチャート図である。
    本実施形態では、HOG特徴量による特徴量算出を構成している。
    また、本実施形態では、矩形の形状を有するウィンドウを用いる。
    ここで、図6に示されるフローチャートは、概略的には、図21に示される背景技術に係るフローチャートに対して、HOG特徴量(ベクトル)算出(ステップS1102)のステップに該当する。 従って、図6の処理を実施した図21の処理が、ステップS6〜ステップS9に反映される。

    なお、ステップS6〜ステップS9に示される各物体認識処理は、例えば、それぞれが独立に行われてもよく、この場合には、それぞれの物体認識処理毎に図6に示されるフローチャートのような処理を行う。 他の構成例として、ステップS6〜ステップS9に示される複数種類の物体認識処理がまとめて行われてもよく、この場合には、これら複数種類の物体認識処理について共通に図6に示されるフローチャートのような処理を行う。

    物体認識処理(ステップS6〜ステップS9の処理)において、まず、図21で示すように、物体認識部13は、ラスタスキャンの処理として、メモリに記憶されたインテグラルヒストグラムの領域内において、あらかじめ設定された任意の座標領域(ウィンドウ)で抽出を行う(ステップS1101)。 この場合、物体認識部13は、メモリ23に記憶されたインテグラルヒストグラムのデータにアクセスして、そのデータを取得して使用する。

    ここで、本実施形態では、例えば、上部物体認識処理(ステップS6)と、接地物体認識処理−a(ステップS7)と、接地物体認識処理−b(ステップS8)と、接地物体認識処理−c(ステップS9)とをそれぞれ独立に行う場合に、ラスタスキャンする領域を異ならせることも可能である。

    次に、物体認識処理(ステップS6〜ステップS9の処理)のHOG特徴量(ベクトル)算出処理において、まず、物体認識部13は、各セルの抽出を行う(ステップS21)。

    次に、物体認識部13は、ウィンドウ内の矩形領域(本実施形態の場合、HOG特徴量におけるセル)が分割ヒストグラム領域を跨ぐか否かを判定する(ステップS22)。
    ステップS22の処理における判定の結果、物体認識部13は、ウィンドウ内の矩形領域が分割インテグラルヒストグラム領域を跨がないと判定した場合には、メモリ23から読み出した積算値(インテグラルヒストグラムのデータ)をそのまま使用することとして(ステップS23)、ステップS24の処理へ移行する。

    一方、ステップS22の処理における判定の結果、物体認識部13は、ウィンドウ内の矩形領域が分割インテグラルヒストグラム領域を跨ぐと判定した場合には、メモリ23から読み出した積算値(インテグラルヒストグラムのデータ)について、下部領域(本実施形態では、接地物体認識領域)の積算値に上部領域(本実施形態では、上部物体認識領域)の最下行部の同列の積算値を加算した結果を使用することとして(ステップS27)、ステップS24の処理へ移行する。
    なお、ステップS23の処理およびステップS27の処理は、図4に示される。

    次に、ステップS24の処理では、物体認識部13は、特徴量算出処理として、特徴ベクトルを算出する(ステップS24)。 本実施形態では、物体認識部13は、特徴ベクトルとして、HOG特徴量(ベクトル)を算出する。
    なお、HOG特徴量の算出に関する例が、図17に示される。
    HOG特徴量としては、ウィンドウ内をさらに細かいセル単位で区切り、そのセル単位にインテグラルヒストグラムによる矩形領域を当てはめ、4点の積算値の加減算により矩形領域の積算値を求める。 これを勾配方向毎に行うことで、セル単位の勾配ヒストグラムとなる。

    そして、物体認識部13は、ウィンドウ内の矩形領域抽出(本実施形態では、全てのセルの抽出)の処理が終了したか否かを確認し(ステップS25)、ウィンドウ内の矩形領域抽出の処理が終了するまで、順次、ステップS21の処理〜ステップS25の処理、ステップS27の処理を繰り返して行う。

    ここで、上述のように、ステップS27の処理では、ウィンドウ内の特徴量を抽出する際に求める矩形領域の4点の積算値の画素位置が、インテグラルヒストグラムの分割領域を跨ぐ場合に、下部領域の積算値に上部領域の最下行部の同列の積算値を加算する処理を行う。 これにより、分割されているインテグラルヒストグラムにおいても、正しく4点の積算値が求められ、矩形領域の積算値を求めることができる。
    なお、矩形領域の積算値が、図18および図19に示される。

    次に、物体認識部13は、図21で示すように、識別器による識別処理として、算出したHOG特徴量に基づいて、あらかじめターゲット(目標)としている物体(物体の画像)を認識する(ステップS1103)。
    本実施形態では、Real AdaBoostの識別器を用いている。 Real AdaBoostの識別器では、あらかじめ目標の物体のHOG特徴量を学習させて、適切な弱識別器により構成された識別器に設定してある。

    ここで、本実施形態では、例えば、上部物体認識処理(ステップS6)と、接地物体認識処理−a(ステップS7)と、接地物体認識処理−b(ステップS8)と、接地物体認識処理−c(ステップS9)とで、目標の物体を異ならせることができる。

    そして、物体認識部13は、図21で示すように、ラスタスキャンの処理が終了したか否かを確認し(ステップS1104)、ラスタスキャンの処理が終了するまで、ラスタスキャンの領域に対してウィンドウをスライドさせて、順次、ステップS1101の処理、図6に示される処理(ステップS1102に該当する処理)、ステップS1103の処理、ステップS1104の処理を繰り返して行う。
    なお、ラスタスキャンの処理では、例えば、同一のウィンドウスケールで前記した繰り返しの処理を終了した後に、ウィンドウのスケールやスキャンステップを可変(変更)して、再び、ウィンドウを順次スライドさせていき、ラスタスキャンの処理が終了するまでこのような処理を繰り返して行う。

    図7は、ステップS22の処理において、ウィンドウ内の矩形領域が分割領域を跨ぐか否かを判定する方法の一例を説明するための図である。
    図7には、上部物体認識領域と、接地物体認識領域と、ウィンドウ内の矩形領域201を示してある。
    図7の例では、ウィンドウ内の矩形領域201において、左上の頂点の画素位置のyはaであり、右上の頂点の画素位置のyはbであり、左下の頂点の画素位置のyはdであり、右下の頂点の画素位置のyはeである。

    図7の例では、y βは、下部(本実施形態では、接地物体認識領域)のインテグラルヒストグラムの基準最上行にあたる画像のy座標値[pixel]である。 このy βの値は、例えば、任意に設定することが可能であり、自車両の挙動や撮像画像により適応的に設定することや、ユーザによる指示入力に応じての設定も可能である。

    ウィンドウ内の矩形領域201が分割領域を跨ぐか否かを判定する条件式は、式(2)で表される。
    すなわち、本実施形態では、抽出する矩形領域の上部のy(a、または、b)がy βよりも小さく、且つ、当該矩形領域の下部のy(d、または、e)がy β以上であるときに、上下の分割インテグラルヒストグラム領域を跨いでいると判定する。

    ステップS27の処理において、下部領域(本実施形態では、接地物体認識領域)の積算値に上部領域(本実施形態では、上部物体認識領域)の最下行部の同列の積算値を加算する演算式は、例えば、式(3)で表される。
    ここで、ii−L(x ,y )は、下部領域の任意の行および任意の列の点(x ,y )における積算値を表す。
    また、ii−U(x ,y N1−1 )は、上部領域の最下行および前記任意の列の点(x ,y N1−1 )における積算値を表す。 (N1−1)は、上部領域の最下行を表す。
    また、ii−ADD(x ,y )は、加算積算値を表す。

    以上のように、本実施形態に係る画像処理システムにおけるカメラECU1の物体認識部13は、取得した画像から特定領域のインテグラルヒストグラム(または、インテグラルイメージ)を作成する場合に、画像の上下の領域を複数に分割してそれぞれ独立した積算値を計算する。 そして、本実施形態に係る物体認識部13は、上下に分割したそれぞれの領域に跨る矩形範囲(矩形領域)の積算値を算出するときに、下側の領域の点の積算値を、当該下側の領域の点の当該下側の領域における積算値に、上側の各領域(例えば、当該矩形範囲が跨る各領域、または、他の構成例として、存在する全ての各領域)の最下行にある同じ列の点の当該上側の各領域における積算値を加算して、計算する。

    また、本実施形態に係る物体認識部13は、取得した画像から特定領域のインテグラルヒストグラム(または、インテグラルイメージ)を作成する場合に、画像の上下の領域を複数に分割してそれぞれ独立した積算値を計算し、そして、本実施形態に係る物体認識部13は、上下に分割したそれぞれの領域に跨らない矩形範囲(矩形領域)の積算値を算出するときに、それぞれの領域(分割領域)での積算値を用いる。

    また、本実施形態に係る物体認識部13は、分割した領域のそれぞれで独立した積算値として、分割した領域毎に統一した基準点の位置からの積算値を計算する。

    以上のように、本実施形態に係る画像処理システムにおけるカメラECU1の物体認識部13によると、所定の範囲(領域)の積算値を効率的に得ることができる。
    すなわち、本実施形態に係る物体認識部13では、インテグラルヒストグラム(または、インテグラルイメージ)の領域分割により、情報量を失うことなく、積算値(例えば、勾配方向毎の勾配強度の積算値)によるデータ長を制限し、簡単に矩形領域の積算値を求めて特徴量を算出することができる。

    例えば、本実施形態では、データ長を制限した積算値とすることにより、低いメモリ23の容量の実現が可能となり、メモリ23へのデータ転送やCPUのメモリアクセスの効率性が向上し、効率良く特徴量を求めることができるという効果を奏する。 また、本実施形態では、共通のインテグラルヒストグラム(または、インテグラルイメージ)を各目標物体のパターン認識のデータにする統合方式において、車両、2輪車、自転車、歩行者などのほか、道路標識などのように、一度に多種類の目標物体の認識処理を全て含んだ1つの装置(例えば、本実施形態に係るカメラECU1)の適用が可能となるという効果を奏する。

    本実施形態では、ターゲット(目標)とする物体の認識に好適な装置や、方法や、これらに用いるコンピュータプログラムなどを提供することができる。

    [関連技術の説明]
    図16〜図19を参照して、本実施形態に関連する技術を説明する。
    図16(A)〜図16(D)を参照して、勾配方向および勾配強度の算出例を説明する。
    図16(A)は、輝度画像の一例を示す図である。
    この例では、横(水平)方向のx軸の画素位置をuで表しており、右へ行くほど座標値が大きくなる。 また、縦(垂直)方向のy軸の画素位置をvで表しており、下へ行くほど座標値が大きくなる。
    x−y直交座標の平面上における画素位置は、座標(u、v)で表される。

    図16(B)は、勾配の一例を示す図である。
    この例では、座標(u、v)の画素位置における輝度をI(u、v)で表す。
    座標(u、v)の画素位置における横(水平)方向の輝度の勾配をIxで表し、Ixを式(4)で表す。 また、座標(u、v)の画素位置における縦(垂直)方向の輝度の勾配をIyで表し、Iyを式(5)で表す。

    図16(C)は、勾配強度の一例を示す図である。
    この例では、座標(u、v)の画素位置における勾配強度をm(u、v)で表し、m(u、v)を式(6)で表す。
    図16(D)は、勾配方向の一例を示す図である。
    この例では、座標(u、v)の画素位置における勾配方向をθ(u、v)で表し、θ(u、v)を式(7)で表す。

    ここで、画像における輝度の勾配は、微分画像に対応する。 また、例えば、輝度の勾配が所定の閾値より大きい画素位置のつながりを勾配として検出することが可能である。
    また、勾配を算出する手法としては、例えば、ソーベルフィルタを用いる手法などのように、他の手法を用いることもできる。
    また、積分勾配画像は、例えば、HOG特徴量を算出する際によく用いられる。

    図17(A)および図17(B)を参照して、HOG特徴量を説明する。
    図17(A)は、セルによるヒストグラム化の一例を示す。
    画像の中に設定されるセル2001と、3×3の計9個のセルから構成されるブロック2002を示す。
    また、1個のセルが横(水平)方向に5画素(5pixel)、縦(垂直)方向に5画素(5pixel)から構成される場合を示す。
    そして、セル2001について、セル単位での輝度勾配分布2003を示す。 また、これについて、9方向を例として、方向を横軸とし且つ勾配強度を縦軸とした勾配方向ヒストグラムを示す。
    また、この例では、ブロック2002の単位で、その領域で、セル内の輝度勾配を正規化する。

    図17(B)は、ブロック領域により正規化された、HOG特徴量を算出する例を示す。
    9方向を例として、1個のセル2011の特徴ベクトルF j,kは、式(8)により表される。 各方向(方向1〜方向9)の特徴ベクトルの成分fをf 〜f とする。 ここで、kはセルの横(水平)方向の位置を表し、jは縦(垂直)方向の位置を表す。
    ブロック2012の特徴ベクトルVは、式(9)により表される。
    この特徴ベクトルVの大きさにより正規化した結果vは、式(10)により表される。
    この例では、HOG特徴ベクトルは、9セル×9次元×4ブロック数=324次元となる。

    図18(A)、図18(B)、図18(C)を参照して、積分画像(インテグラルイメージ)について説明する。
    図18(A)は、オリジナル画像の一例を示す図である。
    この例では、オリジナル画像として、輝度画像2101を示す。
    輝度画像2101について、横(水平)方向のx軸、縦(垂直)方向のy軸に関し、画素位置(x、y)の輝度値をi(x、y)とする。

    図18(B)は、累積行加算の結果の一例を示す図である。
    この例では、枠内の左上から右下まで、繰り返して積分する。
    累積行加算の結果2102において、位置(x、y)の累積行加算値s(x、y)は、式(11)により表される。

    図18(C)は、積分画像の一例を示す図である。
    この例では、枠内の左上から右下まで、繰り返して積分する。
    積分画像2103において、位置(x、y)の積分値ii(x、y)は、式(12)により表される。

    図19(A)および図19(B)を参照して、Haar−like特徴量を説明する。
    図19(A)は、2矩形2201を示す。
    2矩形2201の特徴として、左右の矩形の特徴量の差分を用いる。

    図19(B)は、2矩形特徴の求め方を示す。 この例では、積分画像から部分領域の積分値を計算する。
    a、b、c、d,e、fを、それぞれ、各点における積分勾配値とする。
    右側の領域(領域1)の単矩形特徴量は、式(13)により表され、4点で算出することができる。
    左側の領域(領域2)の単矩形特徴量は、式(14)により表され、4点で算出することができる。
    領域1の特徴量と領域2の特徴量との差分である2矩形特徴量は、式(15)により表され、6点で算出することができる。

    なお、積分においては、例えば、画面の左上から右下まで、繰り返して積分する。
    インテグラルイメージの矩形領域は、このようにHaar−like特徴量の矩形に用いられる。
    このような積分画像の応用として、インテグラルヒストグラム(勾配積分ヒストグラム)がある。
    具体的には、勾配画像について、勾配方向毎に積分を行う。
    これにより、容易に、セル単位のヒストグラムを作成することができる。
    インテグラルヒストグラムの矩形領域は、例えば、HOG特徴量のセルに用いられる。

    [第2実施形態]
    本実施形態に係る画像処理システムの構成は、概略的に、図1に示されるものと同様である。 このため、本実施形態では、図1に示されるものと同じ符号を用いて説明する。
    また、本実施形態では、主に、第1実施形態の場合とは異なる点について説明し、第1実施形態の場合と同様な点については詳しい説明を省略する。

    以下で、本実施形態に係る物体認識部13により行われる処理を説明する。
    以下では、インテグラルヒストグラムを例として説明するが、他の構成例として、インテグラルイメージに適用することも可能である。
    図8は、本実施形態に係る分割インテグラルヒストグラム領域の一例を示す図である。
    本実施形態では、カメラ11により撮像される画像(全体の画像)が、水平方向640画素×垂直方向480画素の画像であるとする。
    本実施形態では、全画像のうちで使用する領域部分を上下(横)に3分割して、そのうちの最も下側の接地物体認識領域−2と、そのうちの中央の接地物体認識領域−1と、そのうちの最も上側の上部物体認識領域と、に分けてある。 上部物体認識領域と接地物体認識領域(接地物体認識領域−1および接地物体認識領域−2)としては、上部物体認識領域が上側にあり、接地物体認識領域が下側にある。 なお、本実施形態では、接地物体認識領域(接地物体認識領域−1および接地物体認識領域−2)より下側の領域は、不使用の領域部分である。

    ここで、図8に示される本実施形態に係る分割インテグラルヒストグラム領域は、図2に示される第1実施形態に係る分割インテグラルヒストグラム領域と比べて、さらに接地物体認識領域を2つ(接地物体認識領域−1および接地物体認識領域−2)に分割したものとなっている。
    このように、分割数をより細かくすることにより、個々の分割領域のサイズが小さくなり、より積算データ長の削減率を増すことができる。

    接地物体認識領域−1は、例えば、車両、2輪車、自転車、歩行者などのように、主に接地していて自車両と衝突する可能性がある領域に存在する物体(接地物体)を捉える領域である。 接地物体認識領域では、接地物体を認識することができる最大行幅はA1[pixel]の行の区間である。
    接地物体認識領域−2は、例えば、車両、2輪車、自転車、歩行者などのように、主に接地していて自車両と衝突する可能性がある領域に存在する物体(接地物体)を捉える領域である。 接地物体認識領域では、接地物体を認識することができる最大行幅はA2[pixel]の行の区間である。
    上部物体認識領域は、上部の道路標識(案内表示を含む)などの物体(上部物体)を捉える領域である。 上部物体認識領域では、上部物体を認識することができる追加行幅は、B[pixel]の行の区間である。
    不使用の領域部分では、不使用の行幅は(480−A1−A2−B)[pixel]の行の区間である。

    なお、全画像領域を分割する方法は、例えば、あらかじめ設定されて、メモリ23などに記憶される。 具体的には、全画像領域のうちで、上部物体認識領域とする領域を特定する情報や、接地物体認識領域−1とする領域を特定する情報や、接地物体認識領域−2とする領域を特定する情報や、不使用領域とする領域を特定する情報が、メモリ23などに記憶される。
    また、他の構成例として、全画像領域を分割する方法が、自車両による挙動や撮像画像により適応的に設定されたり、ユーザによる指示入力に応じて設定されてもよい。
    ここで、上部物体認識領域や接地物体認識領域(接地物体認識領域−1および接地物体認識領域−2)といった分割領域を総和したものは、例えば、全画像領域となってもよく、または、全画像領域のうちの一部になってもよい。 また、不使用領域は、設けられてもよく、または、設けられなくてもよい。

    図9は、本実施形態に係る分割インテグラルヒストグラム領域の詳細を説明するための図である。
    本実施形態では、画像を構成する画素について、水平方向の画素位置(座標値)をx[pixel]を用いて表し、垂直方向の画素位置(座標値)をy[pixel]を用いて表す。
    本実施形態では、画像の左上の画素位置を原点(0、0)とし、水平方向については右へ行くほどxの値が大きくなるとし、垂直方向については下へ行くほどyの値が大きくなるとする。

    積算式は、式(1)で表される。
    i(x、y)は、画素位置(x、y)における積算する対象の値を表す。 積算する対象の値としては、本実施形態では勾配強度の値が用いられるが、他の値が用いられてもよい。
    ii(x 、y )は、積算値を表す。
    (x 、y )は、積算値算出の原点(画素位置)を表す。
    (x 、y )は、任意の点(画素位置)を表す。
    (x N−1 、y N1−1 )について、(N−1)は639であり、(N1−1)は上部物体認識領域の最下行を表す値である。
    (x N−1 、y N2−1 )について、(N−1)は639であり、(N2−1)は接地物体認識領域−1の最下行を表す値である。
    (x N−1 、y N3−1 )について、(N−1)は639であり、(N3−1)は接地物体認識領域−2の最下行を表す値である。

    本実施形態では、上部物体認識領域は、矩形の形状を有しており、その左上の画素位置が(x α 、y α )で表され、その右下の画素位置が(x N−1 、y N1−1 )で表されるとする。
    上部物体認識領域については、物体認識部13は、画素位置(x α 、y α )を基準点にして、(x 、y )=(x α 、y α )から(x 、y )=(x N−1 、y N1−1 )までの勾配強度値i(x、y)を積算して、その積算値ii(x 、y )をメモリ23に転送する。

    ここで、(x N−1 、y N1−1 )は、639(=N−1)列目とB区間(=N1−1)の行目との交点の画素位置である。
    また、y αは、上部物体を認識することができる上限の画素位置[pixel]である。

    このような分割インテグラルヒストグラム領域を用いると、積算値を抑圧させることができる。

    本実施形態では、接地物体認識領域−1は、矩形の形状を有しており、その左上の画素位置が(x β 、y β )で表され、その右下の画素位置が(x N−1 、y N2−1 )で表されるとする。
    接地物体認識領域−1については、物体認識部13は、画素位置(x β 、y β )を基準点にして、(x 、y )=(x β 、y β )から(x 、y )=(x N−1 、y N2−1 )までの勾配強度値i(x、y)を積算して、その積算値ii(x 、y )をメモリ23に転送する。

    ここで、(x N−1 、y N2−1 )は、639(=N−1)列目とA1区間(=N2−1)の行目との交点の画素位置である。
    また、y βは、接地物体認識領域−1により接地物体を認識することができる上限の画素位置[pixel]である。

    このような分割インテグラルヒストグラム領域を用いると、積算値を抑圧させることができる。

    本実施形態では、接地物体認識領域−2は、矩形の形状を有しており、その左上の画素位置が(x γ 、y γ )で表され、その右下の画素位置が(x N−1 、y N3−1 )で表されるとする。
    接地物体認識領域−2については、物体認識部13は、画素位置(x γ 、y γ )を基準点にして、(x 、y )=(x γ 、y γ )から(x 、y )=(x N−1 、y N3−1 )までの勾配強度値i(x、y)を積算して、その積算値ii(x 、y )をメモリ23に転送する。

    ここで、(x N−1 、y N3−1 )は、639(=N−1)列目とA2区間(=N3−1)の行目との交点の画素位置である。
    また、y γは、接地物体認識領域−2により接地物体を認識することができる上限の画素位置[pixel]である。

    このような分割インテグラルヒストグラム領域を用いると、積算値を抑圧させることができる。

    図10は、地上物体に関して、ウィンドウ内の矩形領域が分割領域を跨ぐ場合と跨がない場合の様子の一例を示す図である。
    ウィンドウ内の矩形領域401のように、接地物体認識領域(接地物体認識領域−1および接地物体認識領域−2)に関し、分割領域を跨がずに、全ての画素位置のyがy γより小さいときには、接地物体認識領域−1を使用する。
    ウィンドウ内の矩形領域403のように、接地物体認識領域(接地物体認識領域−1および接地物体認識領域−2)に関し、分割領域を跨がずに、全ての画素位置のyがy γ以上であるときには、接地物体認識領域−2を使用する。

    ウィンドウ内の矩形領域402のように、接地物体認識領域(接地物体認識領域−1および接地物体認識領域−2)に関し、分割領域を跨いで、画素位置のyがy γより小さいところとy γ以上であるところがあるときには、下部の接地物体認識領域−2の2点421、422の勾配強度積算値に対して、各々、上部の接地物体認識領域−1の最下行で同列の2点411、412の勾配強度積算値を加算する。 これにより、領域を分割しない場合における積算値と同じ積算値が求められる。

    なお、ウィンドウ内の矩形領域が上部物体認識領域と接地物体認識領域−1を跨ぐ場合と跨がない場合については、第1実施形態において図4を参照して説明したのと同様である。

    図11は、分割インテグラルヒストグラム領域における加算行の一例を示す図である。
    ウィンドウ内の矩形領域501は、上部物体認識領域と接地物体認識領域−1に跨る。
    この場合には、ウィンドウ内の矩形領域501について、接地物体認識領域−1側の矩形領域部分の積算値に加える積算値の行は、上部物体認識領域における最下行となり、その積算値はii−U(x ,y N1−1 )〜ii−U(x N−1 ,y N1−1 )となる。 また、ウィンドウ内の矩形領域501について、接地物体認識領域−1側の矩形領域部分の積算値に加える積算値の列は、同じ列となる。
    なお、ここの例では、ii−U(x ,y )は、上部物体認識領域における積算値を表す。

    ウィンドウ内の矩形領域502は、接地物体認識領域−1と接地物体認識領域−2に跨る。
    この場合には、ウィンドウ内の矩形領域502について、接地物体認識領域−2側の矩形領域部分の積算値に加える積算値の行は、接地物体認識領域−1における最下行となり、その積分値はii−L(x ,y N2−1 )〜ii−L(x N−1 ,y N2−1 )となる。 また、ウィンドウ内の矩形領域502について、接地物体認識領域−2側の矩形領域部分の積算値に加える積算値の列は、同じ列となる。
    なお、ここの例では、ii−L(x ,y )は、接地物体認識領域−1における積算値を表す。

    ウィンドウ内の矩形領域503は、3つの領域(上部物体認識領域と接地物体認識領域−1と接地物体認識領域−2)に跨る。
    この場合には、最も下側である接地物体認識領域−2側の矩形領域部分の積算値に対して、上述した上部物体認識領域と接地物体認識領域−1に跨る場合と同様な積算値の加算と、上述した接地物体認識領域−1と接地物体認識領域−2に跨る場合と同様な積算値の加算と、の両方を行う。 すなわち、計2行分の積算値を加算する。 また、ウィンドウ内の矩形領域503について、接地物体認識領域−2側の矩形領域部分の積算値に加える計2行分の積算値の列は、同じ列となる。

    このように、ウィンドウ内の矩形領域503が3つの領域に跨るような物体を認識する場合には、接地物体認識領域−2側の矩形領域部分の積算値に、前記した計2行分の該当する列の点の積分値を加算する。
    本実施形態のような構成では、例えば、矩形領域の大きさが幾つになっても、加算するための複雑な計算式は増えないため、処理を単純化することができる。

    図12は、本実施形態に係る物体認識部13により行われる処理の手順の一例を示すフローチャート図である。
    ここで、図12に示されるフローチャートは、図8に示されるようにインテグラルヒストグラムを上下(横)の3領域に分けた場合のものであり、概略的には、図20に示される背景技術に係るフローチャートと比べて、分割したインテグラルヒストグラムの作成とメモリへの転送を追加しており(ステップS102〜ステップS107)、4種類の物体認識に対応させている(ステップS108〜ステップS111)。

    まず、物体認識部13は、処理対象(本実施形態では、目標物体の認識対象)となる画像について、輝度の勾配を算出する(ステップS101)。
    次に、物体認識部13は、上部物体認識領域のインテグラルヒストグラムを作成する(ステップS102)。
    なお、インテグラルヒストグラムを作成する処理は、例えば、FPGA21(または、DSP)またはマイクロコンピュータ22などのうちの任意の1つ以上により行われる。
    次に、物体認識部13は、作成した上部物体認識領域のインテグラルヒストグラムのデータをメモリ23に転送する(ステップS103)。

    次に、物体認識部13は、接地物体認識領域−1のインテグラルヒストグラムを作成する(ステップS104)。
    次に、物体認識部13は、作成した接地物体認識領域−1のインテグラルヒストグラムのデータをメモリ23に転送する(ステップS105)。

    次に、物体認識部13は、接地物体認識領域−2のインテグラルヒストグラムを作成する(ステップS106)。
    次に、物体認識部13は、作成した接地物体認識領域−2のインテグラルヒストグラムのデータをメモリ23に転送する(ステップS107)。
    なお、ステップS102の処理〜ステップS107の処理は、図9に示される。

    次に、物体認識部13は、メモリ23に記憶したインテグラルヒストグラムのデータを入力データとして、物体認識処理(本実施形態では、物体認識のためのパターン認識の処理)を行う(ステップS108〜ステップS111)。
    具体的には、物体認識部13は、上部物体認識処理を行い(ステップS108)、接地物体認識処理−aを行い(ステップS109)、接地物体認識処理−bを行い(ステップS110)、接地物体認識処理−cを行う(ステップS111)。

    ここで、上部物体認識処理では、画像の上部(例えば、自車両よりも上空の領域)に存在する物体を認識する処理を行う。
    また、接地物体認識処理では、画像の上部と比べて画像の下部(例えば、車両がぶつかり得る領域)に存在する物体を認識する処理を行う。
    また、接地物体認識処理−a、接地物体認識処理−b、接地物体認識処理−cは、それぞれ、異なる接地物体を認識する処理を行う。 異なる接地物体としては、例えば、車両、2輪車、自転車、歩行者などがある。

    また、それぞれの接地物体認識処理(本実施形態では、接地物体認識処理−a、接地物体認識処理−b、接地物体認識処理−c)は、例えば、複数の接地物体認識領域(本実施形態では、接地物体認識領域−1、接地物体認識領域−2)のうちの一部の任意の1つ以上について行われてもよく、または、これらの全てについて行われてもよい。

    また、物体認識処理の詳細としては、例えば、第1実施形態に係る図6(および図21)を参照して説明したのと同様な構成や動作を用いることができる。
    但し、本実施形態では、図11を参照して説明したように、図6に示されるフローチャートにおけるステップS27の処理において、ウィンドウ内の矩形領域が2つの分割領域に跨る場合と3つの分割領域に跨る場合とで、それぞれに対応した積算値の加算処理を行う。

    以上のように、本実施形態に係る画像処理システムにおけるカメラECU1の物体認識部13は、取得した画像から特定領域のインテグラルヒストグラム(または、インテグラルイメージ)を作成する場合に、画像の上下の領域を複数に分割してそれぞれ独立した積算値を計算する。 そして、本実施形態に係る物体認識部13は、上下に分割したそれぞれの領域に跨る矩形範囲(矩形領域)の積算値を算出するときに、下側の領域の点の積算値を、当該下側の領域の点の当該下側の領域における積算値に、上側の各領域(例えば、当該矩形範囲が跨る各領域、または、他の構成例として、存在する全ての各領域)の最下行にある同じ列の点の当該上側の各領域における積算値を加算して、計算する。

    また、本実施形態に係る物体認識部13は、取得した画像から特定領域のインテグラルヒストグラム(または、インテグラルイメージ)を作成する場合に、画像の上下の領域を複数に分割してそれぞれ独立した積算値を計算し、そして、本実施形態に係る物体認識部13は、上下に分割したそれぞれの領域に跨らない矩形範囲(矩形領域)の積算値を算出するときに、それぞれの領域(分割領域)での積算値を用いる。

    また、本実施形態に係る物体認識部13は、分割した領域のそれぞれで独立した積算値として、分割した領域毎に統一した基準点の位置からの積算値を計算する。

    以上のように、本実施形態に係る画像処理システムにおけるカメラECU1の物体認識部13によると、所定の範囲(領域)の積算値を効率的に得ることができる。
    すなわち、本実施形態に係る物体認識部13では、インテグラルヒストグラム(または、インテグラルイメージ)の領域分割により、情報量を失うことなく、積算値(例えば、勾配方向毎の勾配強度の積算値のほかに、勾配方向毎の積算度数などでもよい)によるデータ長を制限し、簡単に矩形領域の積算値を求めて特徴量を算出することができる。

    例えば、本実施形態では、データ長を制限した積算値とすることにより、低いメモリ23の容量の実現が可能となり、メモリ23へのデータ転送やCPUのメモリアクセスの効率性が向上し、効率良く特徴量を求めることができるという効果を奏する。 また、本実施形態では、共通のインテグラルヒストグラム(または、インテグラルイメージ)を各目標物体のパターン認識のデータにする統合方式において、車両、2輪車、自転車、歩行者などのほか、道路標識などのように、一度に多種類の目標物体の認識処理を全て含んだ1つの装置(例えば、本実施形態に係るカメラECU1)の適用が可能となるという効果を奏する。

    本実施形態では、ターゲット(目標)とする物体の認識に好適な装置や、方法や、これらに用いるコンピュータプログラムなどを提供することができる。

    [第3実施形態]
    本実施形態に係る画像処理システムの構成は、概略的に、図1に示されるものと同様である。 このため、本実施形態では、図1に示されるものと同じ符号を用いて説明する。
    また、本実施形態では、主に、第1実施形態の場合とは異なる点について説明し、第1実施形態の場合と同様な点については詳しい説明を省略する。

    以下で、本実施形態に係る物体認識部13により行われる処理を説明する。
    以下では、インテグラルヒストグラムを例として説明するが、他の構成例として、インテグラルイメージに適用することも可能である。
    図13は、本実施形態に係る分割インテグラルヒストグラム領域の一例を示す図である。
    本実施形態では、カメラ11により撮像される画像(全体の画像)が、水平方向640画素×垂直方向480画素の画像であるとする。
    本実施形態では、全画像のうちで使用する領域部分を左右(縦)に3分割して、そのうちの最も左側の左部物体認識領域と、そのうちの中央の前方物体認識領域と、そのうちの最も右側の右部物体認識領域と、に分けてある。 なお、本実施形態では、これら3つの物体認識領域(左部物体認識領域、前方物体認識領域、右部物体認識領域)の縦方向の位置(上辺の位置と下辺の位置)は等しく、それよりも下側の領域およびそれよりも上側の領域は、不使用の領域部分である。

    ここで、図13に示される本実施形態に係る分割インテグラルヒストグラム領域は、図2に示される第1実施形態に係る分割インテグラルヒストグラム領域と比べて、インテグラルヒストグラムを分割する方向が上下ではなく左右となっており、また、分割する数が2ではなく3になっている。

    左部物体認識領域は、例えば、主に左の方に存在する道路標識などの物体(例えば、接地物体)を捉える領域である。 左部物体認識領域の列幅はB1[pixel]の列の区間である。
    前方物体認識領域は、例えば、主に車両、2輪車、自転車、歩行者などのように、接地していて自車両と衝突する可能性がある領域に存在する物体(接地物体)を捉える領域である。 前方物体認識領域の列幅はA[pixel]の列の区間である。
    右部物体認識領域は、主に右の方に存在する案内表示などの物体(例えば、接地物体)を捉える領域である。 右部物体認識領域の列幅はB2[pixel]の列の区間である。
    上下の不使用の領域部分では、上下の不使用の合計の列幅は(480−C)[pixel]の行の区間である。

    なお、全画像領域を分割する方法は、例えば、あらかじめ設定されて、メモリ23などに記憶される。 具体的には、全画像領域のうちで、左部物体認識領域とする領域を特定する情報や、前方物体認識領域とする領域を特定する情報や、右部物体認識領域とする領域を特定する情報や、不使用領域とする領域を特定する情報が、メモリ23などに記憶される。
    また、他の構成例として、全画像領域を分割する方法が、自車両の挙動や撮像画像により適応的に設定されたり、ユーザによる指示入力に応じて設定されてもよい。
    ここで、左部物体認識領域や前方物体認識領域や右部物体認識領域といった分割領域を総和したものは、例えば、全画像領域となってもよく、または、全画像領域のうちの一部になってもよい。 また、不使用領域は、設けられてもよく、または、設けられなくてもよい。

    図14は、分割インテグラルヒストグラム領域における加算列の一例を示す図である。
    概略的には、図8〜図11に示されるような上下方向の分割インテグラルヒストグラム領域を用いる場合に対して、本実施形態では図14に示されるような左右方向の分割インテグラルヒストグラム領域を用いるため、本実施形態の場合には、上下方向の場合における行と列を逆にして列と行に適用することで、同様な演算結果を得ることができる。

    図14に示される場合の具体例を示す。
    (x 、y )は、積算値算出の原点(画素位置)を表す。
    (x 、y )は、任意の点(画素位置)を表す。
    (N−1)は、物体認識領域(左部物体認識領域、前方物体認識領域、右部物体認識領域)の最下行を表す値である。
    (x N1−1 、y N−1 )について、(N1−1)は左部物体認識領域の最右行を表す値である。
    (x N2−1 、y N−1 )について、(N2−1)は前方物体認識領域の最右行を表す値である。
    (x N3−1 、y N−1 )について、(N3−1)は右部物体認識領域の最右行を表す値である。

    本実施形態では、左部物体認識領域は、矩形の形状を有しており、その左上の画素位置が(x α 、y α )で表され、その右下の画素位置が(x N1−1 、y N−1 )で表されるとする。
    左部物体認識領域については、物体認識部13は、画素位置(x α 、y α )を基準点にして、(x 、y )=(x α 、y α )から(x 、y )=(x N1−1 、y N−1 )までの勾配強度値i(x、y)を積算して、その積算値ii−L(x 、y )をメモリ23に転送する。

    本実施形態では、前方物体認識領域は、矩形の形状を有しており、その左上の画素位置が(x β 、y β )で表され、その右下の画素位置が(x N2−1 、y N−1 )で表されるとする。
    前方物体認識領域については、物体認識部13は、画素位置(x β 、y β )を基準点にして、(x 、y )=(x β 、y β )から(x 、y )=(x N2−1 、y N−1 )までの勾配強度値i(x、y)を積算して、その積算値ii−C(x 、y )をメモリ23に転送する。

    本実施形態では、右部物体認識領域は、矩形の形状を有しており、その左上の画素位置が(x γ 、y γ )で表され、その右下の画素位置が(x N3−1 、y N−1 )で表されるとする。
    右部物体認識領域については、物体認識部13は、画素位置(x γ 、y γ )を基準点にして、(x 、y )=(x γ 、y γ )から(x 、y )=(x N3−1 、y N−1 )までの勾配強度値i(x、y)を積算して、その積算値ii−R(x 、y )をメモリ23に転送する。

    ウィンドウ内の矩形領域701は、左部物体認識領域と前方物体認識領域に跨る。
    この場合には、ウィンドウ内の矩形領域701について、前方物体認識領域側の矩形領域部分の積算値に加える積算値の列は、左部物体認識領域における最右列となり、その積算値はii−L(x N1−1 ,y )〜ii−L(x N1−1 ,y N−1 )となる。 また、ウィンドウ内の矩形領域701について、前方物体認識領域側の矩形領域部分の積算値に加える積算値の行は、同じ行となる。
    なお、ここの例では、ii−L(x ,y )は、左部物体認識領域における積算値を表す。

    ウィンドウ内の矩形領域702は、前方物体認識領域と右部物体認識領域に跨る。
    この場合には、ウィンドウ内の矩形領域702について、右部物体認識領域側の矩形領域部分の積算値に加える積算値の列は、前方物体認識領域における最右列となり、その積分値はii−C(x N2−1 ,y )〜ii−C(x N2−1 ,y N−1 )となる。 また、ウィンドウ内の矩形領域702について、右部物体認識領域側の矩形領域部分の積算値に加える積算値の行は、同じ行となる。
    なお、ここの例では、ii−C(x ,y )は、前方物体認識領域における積算値を表す。

    また、ウィンドウ内の矩形領域が3つの領域に跨るような物体を認識する場合には、右部物体認識領域側の矩形領域部分の積算値に、前記した計2列分(左部物体認識領域および前方物体認識領域の計2列分)の該当する行の点の積分値を加算する。

    図15は、本実施形態に係る物体認識部13により行われる処理の手順の一例を示すフローチャート図である。
    ここで、図15に示されるフローチャートは、図13に示されるようにインテグラルヒストグラムを左右(縦)の3領域に分けた場合のものであり、概略的には、図20に示される背景技術に係るフローチャートと比べて、分割したインテグラルヒストグラムの作成とメモリへの転送を追加しており(ステップS202〜ステップS207)、4種類の物体認識に対応させている(ステップS208〜ステップS211)。

    まず、物体認識部13は、処理対象(本実施形態では、目標物体の認識対象)となる画像について、輝度の勾配を算出する(ステップS201)。
    次に、物体認識部13は、左部物体認識領域のインテグラルヒストグラムを作成する(ステップS202)。
    なお、インテグラルヒストグラムを作成する処理は、例えば、FPGA21(または、DSP)またはマイクロコンピュータ22などのうちの任意の1つ以上により行われる。
    次に、物体認識部13は、作成した左部物体認識領域のインテグラルヒストグラムのデータをメモリ23に転送する(ステップS203)。

    次に、物体認識部13は、前方物体認識領域のインテグラルヒストグラムを作成する(ステップS204)。
    次に、物体認識部13は、作成した前方物体認識領域のインテグラルヒストグラムのデータをメモリ23に転送する(ステップS205)。

    次に、物体認識部13は、右部物体認識領域のインテグラルヒストグラムを作成する(ステップS206)。
    次に、物体認識部13は、作成した右部物体認識領域のインテグラルヒストグラムのデータをメモリ23に転送する(ステップS207)。

    次に、物体認識部13は、メモリ23に記憶したインテグラルヒストグラムのデータを入力データとして、物体認識処理(本実施形態では、物体認識のためのパターン認識の処理)を行う(ステップS208〜ステップS211)。
    具体的には、物体認識部13は、左部物体認識処理を行い(ステップS208)、衝突物体認識処理−aを行い(ステップS209)、衝突物体認識処理−bを行い(ステップS210)、右部物体認識処理を行う(ステップS211)。

    ここで、左部物体認識処理では、画像の左部(例えば、車両の左側の領域)に存在する物体を認識する処理を行う。
    また、衝突物体認識処理では、画像の前方物体認識領域(例えば、車両がぶつかり得る領域)に存在する物体を認識する処理を行う。 衝突物体認識処理−a、衝突物体認識処理−bは、それぞれ、異なる接地物体を認識する処理を行う。 異なる接地物体としては、例えば、車両、2輪車、自転車、歩行者などがある。
    また、右部物体認識処理では、画像の右部(例えば、車両の右側の領域)に存在する物体を認識する処理を行う。

    また、物体認識処理の詳細としては、例えば、第1実施形態に係る図6(および図21)を参照して説明したのと同様な構成や動作を用いることができる。
    但し、本実施形態では、図14を参照して説明したように、図6に示されるフローチャートにおけるステップS27の処理において、左右に分割した3つの領域(左部物体認識領域、前方物体認識領域、右部物体認識領域)に関し、ウィンドウ内の矩形領域が2つの分割領域に跨る場合と3つの分割領域に跨る場合とで、それぞれに対応した積算値の加算処理を行う。

    以上のように、本実施形態に係る画像処理システムにおけるカメラECU1の物体認識部13は、取得した画像から特定領域のインテグラルヒストグラム(または、インテグラルイメージ)を作成する場合に、画像の左右の領域を複数に分割してそれぞれ独立した積算値を計算する。 そして、本実施形態に係る物体認識部13は、左右に分割したそれぞれの領域に跨る矩形範囲(矩形領域)の積算値を算出するときに、右側の領域の点の積算値を、当該右側の領域の点の当該右側の領域における積算値に、左側の各領域(例えば、当該矩形範囲が跨る各領域、または、他の構成例として、存在する全ての各領域)の最右列にある同じ行の点の当該左側の各領域における積算値を加算して、計算する。

    また、本実施形態に係る物体認識部13は、取得した画像から特定領域のインテグラルヒストグラム(または、インテグラルイメージ)を作成する場合に、画像の左右の領域を複数に分割してそれぞれ独立した積算値を計算し、そして、本実施形態に係る物体認識部13は、左右に分割したそれぞれの領域に跨らない矩形範囲(矩形領域)の積算値を算出するときに、それぞれの領域(分割領域)での積算値を用いる。

    また、本実施形態に係る物体認識部13は、分割した領域のそれぞれで独立した積算値として、分割した領域毎に統一した基準点の位置からの積算値を計算する。

    以上のように、本実施形態に係る画像処理システムにおけるカメラECU1の物体認識部13によると、所定の範囲(領域)の積算値を効率的に得ることができる。
    すなわち、本実施形態に係る物体認識部13では、インテグラルヒストグラム(または、インテグラルイメージ)の領域分割により、情報量を失うことなく、積算値(例えば、勾配方向毎の勾配強度の積算値のほかに、勾配方向毎の積算度数などでもよい)によるデータ長を制限し、簡単に矩形領域の積算値を求めて特徴量を算出することができる。

    例えば、本実施形態では、データ長を制限した積算値とすることにより、低いメモリ23の容量の実現が可能となり、メモリ23へのデータ転送やCPUのメモリアクセスの効率性が向上し、効率良く特徴量を求めることができるという効果を奏する。 また、本実施形態では、共通のインテグラルヒストグラム(または、インテグラルイメージ)を各目標物体のパターン認識のデータにする統合方式において、車両、2輪車、自転車、歩行者などのほか、道路標識などのように、一度に多種類の目標物体の認識処理を全て含んだ1つの装置(例えば、本実施形態に係るカメラECU1)の適用が可能となるという効果を奏する。

    本実施形態では、ターゲット(目標)とする物体の認識に好適な装置や、方法や、これらに用いるコンピュータプログラムなどを提供することができる。

    [以上の実施形態に係る構成例]
    (全体的な構成例)画像処理装置(以上の実施形態では、カメラECU1)は、画像を取得する画像取得部12と、前記画像取得部12により取得された画像について、画像領域が複数に分割されたそれぞれの分割領域毎に、あらかじめ定められた画素に関する値の積算値の情報を記憶する記憶部(以上の実施形態では、メモリ23)と、前記記憶部に記憶された情報に基づいて、前記画像領域に設定される矩形範囲について、前記画像取得部12により取得された画像における画素に関する値の積算値を取得する画像処理部(以上の実施形態では、物体認識部13)と、を備える。

    なお、以上の実施形態では、記憶部(以上の実施形態では、メモリ23)が画像処理部(以上の実施形態では、物体認識部13)に含まれる構成例を示したが、他の構成例として、記憶部が画像処理部とは別に備えられてもよい。
    また、画像領域を複数に分割する数としては、様々な数が用いられてもよい。
    また、各分割領域としては、様々なものが用いられてもよい。
    また、画像領域に設定される矩形範囲としては、様々なものが用いられてもよい。
    また、画像領域に設定される矩形範囲について画像における画素に関する値の積算値は、例えば、当該画像における当該矩形範囲(当該矩形範囲の画像部分)の特徴量として用いることができる。

    (構成例1)画像処理装置において、前記画像領域は、上下の方向で複数に分割され、前記画像処理部は、前記画像領域に設定される矩形範囲が2つ以上の分割領域に跨る場合には、当該2つ以上の分割領域のうちで最も下側の分割領域の画素位置における積算値を、当該最も下側の分割領域の画素位置の当該最も下側の分割領域における積算値に、前記矩形範囲が跨る上側の各分割領域の最下行にある同じ列の画素位置の当該上側の各分割領域における積算値を加算した結果として、取得する。

    なお、この場合には、前記画像処理部は、例えば、他の分割領域(最も下側ではない分割領域)の画素位置における積算値としては、前記記憶部に記憶された当該画素位置の当該分割領域における積算値が用いられる。
    また、前記画像処理部は、例えば、前記画像領域に設定される矩形範囲の4個の頂点の画素位置の積算値の情報を用いて、前記矩形範囲について、前記画像取得部により取得された画像における画素に関する値の積算値を取得する。

    (構成例2)画像処理装置において、前記画像領域は、左右の方向で複数に分割され、前記画像処理部は、前記画像領域に設定される矩形範囲が2つ以上の分割領域に跨る場合には、当該2つ以上の分割領域のうちで最も右側の分割領域の画素位置における積算値を、当該最も右側の分割領域の画素位置の当該最も右側の分割領域における積算値に、前記矩形範囲が跨る左側の各分割領域の最右列にある同じ行の画素位置の当該左側の各分割領域における積算値を加算した結果として、取得する。

    なお、この場合には、前記画像処理部は、例えば、他の分割領域(最も右側ではない分割領域)の画素位置における積算値としては、前記記憶部に記憶された当該画素位置の当該分割領域における積算値が用いられる。
    また、前記画像処理部は、例えば、前記画像領域に設定される矩形範囲の4個の頂点の画素位置の積算値の情報を用いて、前記矩形範囲について、前記画像取得部により取得された画像における画素に関する値の積算値を取得する。

    (構成例3)画像処理装置において、前記画像処理部は、前記画像領域に設定される矩形範囲が1つの分割領域に収まる場合には、前記記憶部に記憶された前記矩形範囲の4個の頂点の画素位置の当該分割領域における積算値の情報を用いて、前記矩形範囲について、前記画像取得部により取得された画像における画素に関する値の積算値を取得する。

    (構成例4)画像処理装置において、前記記憶部は、前記画像取得部12により取得された画像について、前記画像領域が複数に分割されたそれぞれの分割領域毎に、各画素位置における積算値の情報として、あらかじめ定められた基準となる画素位置と当該各画素位置とを対角の頂点とする矩形部分の範囲に含まれる画素に関する値の積算値の情報を記憶する。

    なお、前記したあらかじめ定められた基準となる画素位置としては、例えば、前記分割領域毎に、分割領域の左上の画素位置を用いることができる。

    (構成例5)画像処理装置において、前記画素に関する値として、前記画素の輝度値が用いられ、前記画素に関する値の積分値として、インテグラルイメージが用いられる。

    (構成例6)画像処理装置において、前記画素に関する値として、勾配方向毎に、前記画素の勾配量が用いられ、前記画素に関する値の積分値として、勾配方向毎のインテグラルヒストグラムが用いられる。

    [以上の実施形態についてのまとめ]
    以上の実施形態(第1実施形態〜第3実施形態)では、2分割または3分割のインテグラルヒストグラム手法と積算データ長削除との組み合わせで述べたが、画像領域の分割数をさらに多くして積算データ長削除率(データの削減率)を向上させることも可能である。
    また、以上の実施形態(第1実施形態〜第3実施形態)では、車載用の目標物体認識を例に説明したが、例えば、インテグラルヒストグラム(または、インテグラルイメージ)のような積算値を作成する、他の用途の特定物体認識または一般物体認識などに適用することもできる。 また、画像を用いる物体認識に限られず、任意の画像処理に適用することも可能である。

    また、以上の実施形態(第1実施形態〜第3実施形態)では、画像の領域を複数の分割領域(以上の実施形態では、複数の分割インテグラルヒストグラム領域)に分割する方法として、上下(横)に分割する方法と、左右(縦)に分割する方法を示した。 これに対して、分割したインテグラルヒストグラム(または、インテグラルイメージ)から、全てのインテグラルヒストグラム(または、全てのインテグラルイメージ)の領域での積算値を簡単に求めるためには、上下と左右の両方向に分割しないことが望ましいと考えられる。 上下または左右の何れかであれば、分割数を多くしても、積算値を簡単に求めることができると考えられる。
    なお、インテグラルヒストグラム(または、インテグラルイメージ)を作成する画像領域を分割するために、上下と左右の両方向に画像領域を分割する構成が用いられても構わない。
    また、インテグラルヒストグラム(または、インテグラルイメージ)を作成する方法としては、任意の方法が用いられてもよい。

    また、以上の実施形態(第1実施形態〜第3実施形態)では、インテグラルヒストグラム(または、インテグラルイメージ)を用いる場合を説明したが、その代わりに、画像に関する任意の値を積分(積算でもよい)した結果である任意の積分量(積算値でもよい)が用いられてもよい。 このような任意の積分量(積算値でもよい)についても、全体の画像領域を複数に分割して、それぞれの分割領域毎に積分量(積算値でもよい)を演算することで、それぞれの積分量(積算値でもよい)が小さくなり、メモリに要するデータ量を少なくすることなどができる。

    なお、図1に示される本実施形態に係る画像処理システムにおける任意の構成部(例えば、物体認識部13など)により行われる処理の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、処理を行ってもよい。 ここで言う「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。 また、「コンピュータシステム」は、ホームページ提供環境(あるいは、表示環境)を備えたWWWシステムも含むものとする。 また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことを言う。 さらに、「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM(Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。

    また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。 ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことを言う。 また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。 さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。

    また、上記に限られず、マイクロコンピュータのほか、例えば、FPGA、あるいは、DSPなどのデバイスを用いて、図1に示される本実施形態に係る画像処理システムにおける任意の構成部により行われる処理を実現することも可能である。

    以上、本発明の実施形態について図面を参照して詳述したが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。

    1…カメラECU、2…警報装置、3…ACC−ECU、4…衝突回避制御−ECU、11…カメラ、12…画像取得部、13…物体認識部、14…制御部、21…FPGA(または、DSP)、22…マイクロコンピュータ、23…メモリ、101〜103、201、401〜403、501〜503、701、702…ウィンドウ内の矩形領域、111、112、121、122、411、412、421、422…点、2001、2011…セル、2002、2012…ブロック、2003…輝度勾配分布、2101…輝度画像、2102…累積行加算の結果、2103…積分画像、2201…2矩形

    QQ群二维码
    意见反馈