(57)【要約】【課題】メモリの使用量を削減する。【解決手段】画像処理装置８は、基準ＧＭＭ５５の基底関数を楕円６３に基づく計算式で近似する。共起対応点５１による負担率は、楕円６３と共起対応点５１までのマンハッタン距離と、楕円６３の幅を基底関数に基づく負担率の計算式に入力することにより計算で近似的に求めることができる。また、楕円６３の幅は、２のｎ乗（ｎは、０以上の整数）で量子化されており、上記計算をビットシフトにて行うことができる。このように画像処理装置８は、楕円６３を規定するパラメータを記憶すれば、これからビットシフトによって負担率が計算できるため、負担率のテーブルをメモリに格納する必要がなく、メモリ使用量を大幅に削減しつつ、高速に負担率を計算することができる。更に、画像処理装置８は、負担率を２のｎ乗で量子化することにより、更にメモリの使用を節約する。【選択図】図６
2020166342.tif 000002
【特許請求の範囲】
【請求項１】
画像を取得する画像取得手段と、
前記取得した画像から輝度勾配方向の共起の分布を取得する共起分布取得手段と、
前記共起の分布を用いて基底関数を算出し、該基底関数を用いて、前記画像の特徴量を計算する計算手段と、
前記計算した特徴量を出力する出力手段と、
を具備したことを特徴とする画像処理装置。
【請求項２】
画像認識の基準となる混合ガウスモデルを近似する基底関数を規定するためのパラメータを記憶するパラメータ記憶手段、を備え、
前記計算手段は、前記取得した共起の分布を構成する各共起点から前記基底関数の中心までの距離と、前記記憶したパラメータを、前記基底関数式に代入することにより、前記混合ガウスモデルを用いた前記画像の特徴量を計算する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記パラメータ記憶手段は、前記混合ガウスモデルを構成するガウス分布ごとに前記パラメータを記憶し、
前記計算手段は、前記ガウス分布ごとに当該ガウス分布のパラメータを用いて前記特徴量の要素となる値を計算することを特徴とする請求項１、又は請求項２に記載の画像処理装置。
【請求項４】
前記計算手段は、前記特徴量の要素の値として前記ガウス分布ごとの前記共起の分布による負担率を近似的に計算することを特徴とする請求項１、請求項２、又は請求項３に記載の画像処理装置。
【請求項５】
前記パラメータは、各々の前記ガウス分布の幅に対応する楕円を規定する定数であることを特徴とする請求項１、請求項２、請求項３、又は請求項４に記載の画像処理装置。
【請求項６】
前記楕円の最大幅の方向は、前記混合ガウスモデルを定義する直交座標軸に平行又は直角であることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記パラメータは、２の冪乗に量子化されており、前記計算手段は、ビットシフトを用いて前記計算を行うことを特徴とする請求項１から請求項６までのうちの何れか１の請求項に記載の画像処理装置。
【請求項８】
前記出力手段が出力した特徴量を用いて前記画像を画像認識する画像認識手段を具備したことを特徴とする請求項１から請求項７までのうちの何れか１の請求項に記載の画像処理装置。
【請求項９】
画像を取得する画像取得機能と、
前記取得した画像から輝度勾配方向の共起の分布を取得する共起分布取得機能と、
前記共起の分布を用いて基底関数を算出し、該基底関数を用いて、前記画像の特徴量を計算する計算機能と、
前記計算した特徴量を出力する出力機能と、
をコンピュータで実現することを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、及び画像処理プログラムに関し、例えば、画像から特徴量を取得するものに関する。
【背景技術】
【０００２】
画像認識技術には、画像から画像特徴量として輝度の勾配方向の分布を抽出し、これを予め学習した画像の輝度の勾配方向の分布と比較することにより対象を認識するものがある。
このような技術は、各種のものが研究されているが、その中に、輝度勾配方向の共起ペアの出現分布を混合ガウスモデル（複数のガウス分布を基底関数として組み合わせることにより多峰型の分布を表したもの）で表すものがある。
この技術は、画像認識対象（例えば、歩行者）が写った画像を多数学習した結果得られた輝度勾配方向の混合ガウスモデルを基準とし、認識対象の画像の輝度勾配方向の分布を当該基準となる混合ガウスモデルと対比することにより特徴量を抽出する。
【０００３】
より詳細には、基準となる混合ガウスモデルの各基底関数における、認識対象の画像の輝度勾配方向の分布による負担率を特徴量としている。
例えば、非特許文献１に記載の技術は、特徴量の計算の際に、正規分布の高さと距離を元にした負担率を事前学習から得られた基底関数へ投票している。
【０００４】
ところで、このような画像認識アルゴリズムを計算リソースが限られた機器へ実装する場合、予め負担率をメモリのテーブルに格納し、これを参照することで特徴量の計算を行っている。
しかし、負担率を参照するテーブルのデータ量は、非常に大きいため、大規模なメモリを必要としてしまうという問題があった。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】道下裕也“歩行者検出における混合正規分布を用いた状態空間の自律構成法”、電気学会論文誌Ｃ，Ｖｏｌ．１３８，Ｎｏ．９，２０１８
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、メモリの使用量を削減することを目的とする。
【課題を解決するための手段】
【０００７】
（１）本発明は、前記目的を達成するために、請求項１に記載の発明では、画像を取得する画像取得手段と、前記取得した画像から輝度勾配方向の共起の分布を取得する共起分布取得手段と、前記共起の分布を用いて基底関数を算出し、該基底関数を用いて、前記画像の特徴量を計算する計算手段と、前記計算した特徴量を出力する出力手段と、を具備したことを特徴とする画像処理装置を提供する。
（２）請求項２に記載の発明では、画像認識の基準となる混合ガウスモデルを近似する基底関数を規定するためのパラメータを記憶するパラメータ記憶手段、を備え、前記計算手段は、前記取得した共起の分布を構成する各共起点から前記基底関数の中心までの距離と、前記記憶したパラメータを、前記基底関数式に代入することにより、前記混合ガウスモデルを用いた前記画像の特徴量を計算する、ことを特徴とする請求項１に記載の画像処理装置を提供する。
（３）請求項３に記載の発明では、前記パラメータ記憶手段は、前記混合ガウスモデルを構成するガウス分布ごとに前記パラメータを記憶し、前記計算手段は、前記ガウス分布ごとに当該ガウス分布のパラメータを用いて前記特徴量の要素となる値を計算することを特徴とする請求項１、又は請求項２に記載の画像処理装置を提供する。
（４）請求項４に記載の発明では、前記計算手段は、前記特徴量の要素の値として前記ガウス分布ごとの前記共起の分布による負担率を近似的に計算することを特徴とする請求項１、請求項２、又は請求項３に記載の画像処理装置を提供する。
（５）請求項５に記載の発明では、前記パラメータは、各々の前記ガウス分布の幅に対応する楕円を規定する定数であることを特徴とする請求項１、請求項２、請求項３、又は請求項４に記載の画像処理装置を提供する。
（６）請求項６に記載の発明では、前記楕円の最大幅の方向は、前記混合ガウスモデルを定義する直交座標軸に平行又は直角であることを特徴とする請求項５に記載の画像処理装置を提供する。
（７）請求項７に記載の発明では、前記パラメータは、２の冪乗に量子化されており、前記計算手段は、ビットシフトを用いて前記計算を行うことを特徴とする請求項１から請求項６までのうちの何れか１の請求項に記載の画像処理装置を提供する。
（８）請求項８に記載の発明では、前記出力手段が出力した特徴量を用いて前記画像を画像認識する画像認識手段を具備したことを特徴とする請求項１から請求項７までのうちの何れか１の請求項に記載の画像処理装置を提供する。
（９）請求項９に記載の発明では、画像を取得する画像取得機能と、前記取得した画像から輝度勾配方向の共起の分布を取得する共起分布取得機能と、前記共起の分布を用いて基底関数を算出し、該基底関数を用いて、前記画像の特徴量を計算する計算機能と、前記計算した特徴量を出力する出力機能と、をコンピュータで実現することを特徴とする画像処理プログラムを提供する。
【発明の効果】
【０００８】
本発明によれば、テーブルを参照せずに負担率を計算で求めるため、メモリの使用量を削減することができる。
【図面の簡単な説明】
【０００９】
【図１】基準となるＧＭＭを作成する方法を説明するための図である。
【図２】基準ＧＭＭの近似を説明するための図である。
【図３】負担率の計算に用いるパラメータや変数について説明するための図である。
【図４】負担率の計算式を説明するための図である。
【図５】基底関数をより詳細に説明するための図である。
【図６】負担率の具体的な計算を説明するための図である。
【図７】負担率の量子化を説明するための図である。
【図８】画像処理装置のハードウェア的な構成の一例を示した図である。
【図９】画像認識処理の手順を説明するためのフローチャートである。
【図１０】プロット処理の手順を説明するためのフローチャートである。
【図１１】負担率計算処理を説明するためのフローチャートである。
【図１２】画像認識の実験結果を示したグラフである。
【図１３】各混合数での画像認識結果を重ねて表したグラフである。
【発明を実施するための形態】
【００１０】
（１）実施形態の概要
図６に示したように、画像処理装置８は、基準ＧＭＭ５５の基底関数を楕円６３に基づく計算式で近似する。共起対応点５１による負担率は、楕円６３と共起対応点５１までのマンハッタン距離と、楕円６３の幅を基底関数に基づく負担率の計算式に入力することにより計算で近似的に求めることができる。
また、楕円６３の幅は、２のｎ乗（ｎは、０以上の整数）で量子化されており、上記計算をビットシフトにて行うことができる。
【００１１】
このように画像処理装置８は、楕円６３を規定するパラメータを記憶すれば、これからビットシフトによって負担率が計算できるため、負担率のテーブルをメモリに格納する必要がなく、メモリ使用量を大幅に削減しつつ、高速に負担率を計算することができる。
更に、画像処理装置８は、負担率を２のｎ乗で量子化することにより、更にメモリの使用を節約する。
【００１２】
（２）実施形態の詳細
本実施形態では、同じ画像の異なる解像度間に渡る輝度勾配方向の共起の出現頻度を特徴量とするＭＲＣｏＨＯＧ特徴量を用いる。
まず、このような輝度勾配方向から画像認識の基準となる混合ガウスモデル（Ｇａｕｓｓｉａｎ  Ｍｉｘｔｕｒｅ  Ｍｏｄｅｌ、以下ＧＭＭと記す）を作成する方法について説明する。
【００１３】
図１は、基準となるＧＭＭを作成する方法を説明するための図である。
図１（ａ）に示したように、画像処理装置８は、基準となるＧＭＭを作成するための画像２の入力を受け付け、これを複数の同じ矩形形状のブロック領域３Ａ、３Ｂ、・・・に区分する。画像２は、例えば、画像認識対象である歩行者を写した画像である。
図では、図示しやすいように４×４に区分しているが、標準的な値は、例えば、４×８である。
なお、ブロック領域３Ａ、３Ｂ、・・・を特に区別しない場合は、単にブロック領域３と記す。
【００１４】
画像処理装置８は、画像２をブロック領域３に区分すると共に、画像２の解像度を変換し、図１（ｂ）に示したように解像度（画像サイズ）の異なる高解像度画像１１、中解像度画像１２、低解像度画像１３を生成する。画像２の解像度が適当な場合は、画像２をそのまま高解像度画像として使用する。
図では、ブロック領域３Ａの部分の高解像度画像１１、中解像度画像１２、低解像度画像１３を示しており、升目は画素を模式的に表している。
【００１５】
そして、画像処理装置８は、高解像度画像１１、中解像度画像１２、低解像度画像１３のそれぞれの画素について輝度勾配方向（低輝度から高輝度に向かう方向）を計算する。この輝度勾配方向の角度は、０°〜３６０°の連続値である。
なお、以下では、輝度勾配方向を単に勾配方向と記す。
【００１６】
画像処理装置８は、このようにして勾配方向を算出すると、基準とする画素（以下、注目画素）と、これから離れた位置にある画素（以下、オフセット画素）の勾配方向の共起を次のようにして取得する。
【００１７】
まず、画像処理装置８は、図１（ｃ）に示したように、高解像度画像１１に注目画素５を設定し、高解像度画像１１で注目画素５からオフセット距離１（即ち、高解像度において隣接する）にあるオフセット画素１ａ〜１ｄに着目する。
なお、画素ｎ個分の距離をオフセット距離ｎと呼ぶことにする。
【００１８】
そして、画像処理装置８は、注目画素５とオフセット画素１ａ〜オフセット画素３ｄとの各勾配方向の共起（勾配方向の組合せ）を取得し、これに対応する点を共起対応点５１、５１、・・・として、図１（ｄ）に示す特徴面１５（１ａ）〜１５（３ｄ）にプロットする。
なお、画像処理装置８は、図１（ｄ）に示した１２の特徴面１５（１ａ）〜１５（３ｄ）を、図１（ａ）で区分したブロック領域３Ａ、３Ｂ、・・・ごとに作成する。
以下、複数の特徴面全体をさす場合には特徴面１５という。
【００１９】
例えば、図１（ｃ）において、注目画素５とオフセット画素１ａの共起をプロットする場合、注目画素５の勾配方向が２６°で、オフセット画素１ａの勾配方向が１３５°であったとすると、画像処理装置８は、オフセット画素１ａ用の特徴面１５（１ａ）の横軸が２６°で縦軸が１３５°である位置に共起対応点５１をプロットする。
【００２０】
そして、画像処理装置８は、高解像度画像１１内で、注目画素５を順次移動しながら、注目画素５とオフセット画素１ａとの共起を取って特徴面１５（１ａ）にプロットする。
このように特徴面１５は、画像中にある特定のオフセット（注目画素５からの相対位置）を持つ２つの勾配方向ペアがどのような出現頻度を持つかを表現している。
【００２１】
なお、図１（ｃ）で、図面に向かって注目画素５の右側の画素について共起を観察するのは、まず、注目画素５を図面に向かって左上端の画素から、順次右方向の画素に移動し、右端に達すると、１段下で左端の画素から右方向に移動させるという移動経路を設定しているので、注目画素５の移動に伴って重複する共起の組合せを取得しないようにするためである。
【００２２】
また、注目画素５の移動はブロック領域３Ａ内（同一のブロック領域内）で行うが、オフセット画素の選択は、ブロック領域３Ａを超える場合でも行われる。
画像２の端部では、勾配方向を算出することができないが、これについては、適当な任意の方法で処理する。
【００２３】
次に、画像処理装置８は、注目画素５とオフセット画素１ｂ（図１（ｃ）参照）との勾配方向の共起を取得して、これに対応する共起対応点５１を特徴面１５（１ｂ）にプロットする。
なお、画像処理装置８は、先に注目画素５とオフセット画素１ａで使用した特徴面１５（１ａ）とは、異なる新たな特徴面１５を用意し、これに投票する。このように、画像処理装置８は、注目画素５とオフセット画素の相対的な位置関係の組合せごとに特徴面１５を生成する。
そして、高解像度画像１１内で注目画素５を順次移動しながら、注目画素５とオフセット画素１ｂとの共起を取って共起対応点５１を当該特徴面１５（１ｂ）にプロットする。
【００２４】
以下同様に画像処理装置８は、注目画素５とオフセット画素１ｃとの組合せ、及び注目画素５とオフセット画素１ｄの組合せについても、それぞれに個別の特徴面１５（１ｃ）、１５（１ｄ）を用意して勾配方向の共起をプロットする。
【００２５】
このようにして、画像処理装置８は、注目画素５と、注目画素５からオフセット距離１のオフセット画素１ａ〜１ｄについての４つの特徴面１５を生成すると、次に、高解像度画像１１における注目画素５と、オフセット距離２にある中解像度画像１２のオフセット画素２ａ〜２ｄに着目する。
【００２６】
そして、上記の手法と同じ手法により、注目画素５とオフセット画素２ａの組合せによる特徴面１５（２ａ）、同様にオフセット画素２ｂ、２ｃ、２ｄの組合せによる特徴面１５（２ｂ）〜１５（２ｄ）を作成する。
【００２７】
そして、画像処理装置８は、高解像度画像１１における注目画素５と、オフセット距離３にある低解像度画像１３のオフセット画素３ａ〜３ｄについても同様に、注目画素５とオフセット画素３ａ〜３ｄの相対的な位置関係の組合せごとの特徴面１５（３ａ）〜１５（３ｄ）を生成する。
画像処理装置８は、以上の処理をブロック領域３Ｂ、３Ｃ、・・・に対しても行い、画像２の特徴を抽出した複数の特徴面１５を生成する。
このように画像処理装置８は、ブロック領域３Ａ、３Ｂ、３Ｃ・・・ごとに、複数の特徴面１５（１ａ）〜１５（３ｄ）を生成する。
【００２８】
そして、画像処理装置８は、これら特徴面１５の各々について、以下のようにしてＧＭＭを生成する。
なお、ここでは、説明を簡単にするため、画像２から作成した特徴面１５からＧＭＭを生成するが、より詳細には、多数の学習画像から取得した特徴面１５を重ね合わせたものに対してＧＭＭを生成する。
【００２９】
図１（ｅ）は、これら複数の特徴面１５のうちの１つを表しており、まず、画像処理装置８は、これらの共起対応点５１を近いもの同士を組合せることにより混合数Ｋ個のクラスタ（グループ）にクラスタリングする。
混合数は、ＧＭＭを生成するに際して混合するガウス分布の個数を表しており、これを適当に指定すると、画像処理装置８は、自動的に指定された個数に共起対応点５１をクラスタリングする。
【００３０】
本実施形態では、後述するように、一例として、Ｋ＝６、Ｋ＝１６、Ｋ＝３２、Ｋ＝６４の場合について実験した。
図（ｅ）では、簡単化のため、Ｋ＝３とし、共起対応点５１は、クラスタ６０−１〜６０−３にクラスタリングされている。
特徴面１５にプロットされた共起対応点５１、５１、・・・は、画像の特徴に応じて集まる傾向があり、クラスタ６０−１、６０−２、・・・は、画像の特徴を反映したものとなる。
【００３１】
画像認識の際の特徴次元は、混合数Ｋに依存するため、どこまで画像の特徴を損なわずに、混合数Ｋを小さくできるかは、重要な事項の１つである。
後の実験結果で説明するように、本実施形態による画像認識では、Ｋ＝６、Ｋ＝１６、Ｋ＝３２、Ｋ＝６４でほとんど差異が見られず、本実施形態による手法によると低混合数で実用的な画像認識が行えることがわかった。
【００３２】
図１（ｆ）に示したように、画像処理装置８は、共起対応点５１をクラスタリングした後、Ｋ個のガウス分布（ガウス分布５４−１、５４−２、５４−３）を線形に重ね合わせた確率密度関数ｐ（ｘ｜θ）によって、特徴面１５における共起対応点５１の確率密度関数５３を表す。このようにガウス分布を基底関数（線形和の対象となっている関数であってＧＭＭを構成する要素となっている関数）とし、これによる線形和で表された確率密度関数５３がＧＭＭである。
画像処理装置８は、学習した対象と被写体の類否を判断するための基準ＧＭＭ５５として確率密度関数５３を使用する。
【００３３】
確率密度関数ｐ（ｘ｜θ）の具体的な数式は、図１（ｇ）のようになる。
ここで、ｘは、共起対応点５１の分布を表すベクトル量でありθは母数（μｊ、Σｊ）（ただし、ｊ＝１、２、・・・、Ｋ）を表すベクトル量である。
πｊは、混合係数と呼ばれ、ｊ番目のガウス分布を選択する確率を表している。μｊ、Σｊは、それぞれ、ｊ番目のガウス分布の平均値と、分散共分散行列を表している。πｊとθにより確率密度関数５３、即ち、基準ＧＭＭ５５が一意的に定まる。
【００３４】
ｚは、ＥＭアルゴリズムや負担率を計算するのに用いられる潜在パラメータであり、混合するＫ個のガウス分布に対応してｚ１、ｚ２、・・・、ｚＫが用いられる。ｘの分布から事後的にｚの確率を計算したものが負担率となる。
ＥＭアルゴリズムは、説明は省略するが、尤度を最大化するπｊと母数（μｊ、Σｊ）を推定するアルゴリズムであり、画像処理装置８は、ＥＭアルゴリズムを適用することによりπｊ、θを決定し、これによってｐ（ｘ｜θ）を求める。
【００３５】
基準ＧＭＭ５５は、クラスタ６０−１、６０−２、６０−３の位置にあるガウス分布５４−１、５４−２、５４−３（図示せず）を基底関数とし、これらを混合して形成される。
そして、基準ＧＭＭ５５を用いて各共起対応点５１のガウス分布５４−１、５４−２、５４−３に対する負担率を計算し、これをガウス分布５４−１、５４−２、５４−３に投票したガウス分布５４ごとの合計値がＭＲＣｏＨＯＧ特徴量となる。
なお、以下では、ガウス分布５４−１、５４−２、５４−３を特に区別しない場合は、単にガウス分布５４と記すことにし、他の構成要素についても同様とする。
【００３６】
このようにして生成したＭＲＣｏＨＯＧ特徴量を用いて画像認識を行うのであるが、基準ＧＭＭ５５を直接適用して負担率を計算する場合、計算能力の高い計算機を要する。
そのため、計算リソースが限られた機器へ実装する場合、従来は、基準ＧＭＭ５５を用いて予め作成した負担率テーブルをメモリに用意し、このテーブルを参照することにより各ガウス分布５４に対する負担率を取得していた。
これには、大きなメモリ資源を要し、画像認識装置をＦＰＧＡ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）やＩＣチップなどの小型・安価な半導体装置で実現するには不向きであった。
【００３７】
そこで、本実施形態では、計算が容易な基準ＧＭＭ５５の近似式を画像処理装置８に実装することにより、負担率テーブルを参照せずに、少数のパラメータを用いたハードウェア指向の簡単な計算で負担率を計算できるようにした。以下、その方法について説明する。
【００３８】
図２の各図は、基準ＧＭＭ５５の近似を説明するための図である。
図２（ａ）の楕円６２−１、６２−２、６２−３は、基準ＧＭＭ５５の本来の基底関数であるガウス分布５４−１、５４−２、５４−３を適当な高さ（ｐ（ｘ｜θ））で輪切りにして基準ＧＭＭ５５の定義域であるｘｙ平面上に投影したものである。
【００３９】
これら楕円６２−１、６２−２、６２−３は、クラスタ６０−１、６０−２、６０−３の位置に対応して形成されている。
これら楕円６２は、ガウス分布５４から求めてもよいし、あるいは、クラスタ６０をバランスよく囲む形を適当に設定してもよい。
【００４０】
ガウス分布５４は、２変数の正規分布であるため、所定のｐ（ｘ｜θ）で輪切りにしたラインの幅は、これら２変数の標準偏差の幅を反映し、主軸（長軸）と副軸（短軸）が直行すると共に任意の方向に回転した楕円６２となる。
【００４１】
本実施形態の基準ＧＭＭ５５は、楕円６２と後述の計算式の組み合わせによってガウス分布５４を近似したものを基底関数とする。
そして、ｘｙ平面上に形成された個別の楕円６２を規定するパラメータを当該計算式に代入すると個別のガウス分布５４を近似する個別の基底関数が形成されるようになっている。
これにより基準ＧＭＭ５５を用いた負担率の計算が容易になる。
【００４２】
楕円６２は、式（１）で表され、画像処理装置８が楕円６２を特定するために記憶すべきパラメータは、楕円６２ごとの係数Ａ、Ｂ、Ｃと楕円６２の中心の座標値（ｘ０、ｙ０）だけである。
必要とするメモリは、１つの楕円６２あたり、５×６４＝３２０ｂｉｔであり、画像認識に要するメモリは、合計で３９．４ＫＢ程度と少量で済む。
なお、ｘ０などの下付文字０は、文字化けを防止するため全角文字で表してある。以下、他の数式も同様とする。
【００４３】
このように主軸が基準ＧＭＭ５５の座標軸から任意の角度だけ回転した状態の楕円６２を用いて負担率を計算することも可能であるが、計算が複雑となるため、本実施形態では、図２（ｂ）に示したように、最大幅の方向（主軸の方向）が基準ＧＭＭ５５の座標軸と平行、又は直角となるように楕円６２−１、６２−２、６２−３を回転して楕円６３−１、６３−２、６３−３を設定し、これに基づいて基準ＧＭＭ５５の基底関数を構成した。
【００４４】
最大幅の方向をｘ軸、ｙ軸の何れに平行にするかは、回転角度の少ない方に合わせるが、実験によって回転方向を決定してもよい。
また、回転に伴って、楕円６３を大きくしたり扁平にしたりなど、適度に整形することも可能である。
本願発明者の実験によると、楕円６２を用いた場合と楕円６３を用いた場合では、画像認識精度に大きな差は見られず、楕円６３を用いることができることが確認された。
このように、本実施形態で使用する楕円の最大幅の方向は、混合ガウスモデルを定義する直交座標軸に平行又は直角となっている。
【００４５】
楕円６３は、式（２）で表され、画像処理装置８が楕円６３を特定するために記憶すべきパラメータは、楕円６３ごとの係数Ａ、Ｂと楕円６２の中心の座標値（ｘ０、ｙ０）だけである。
必要とするメモリは、１つの楕円６３あたり、４×６４＝２５６ｂｉｔであり、画像認識に要するメモリは、合計で３１．５ＫＢ程度である。
なお、実際に負担率の計算に使用するパラメータは、後述するように、主軸半径（主軸方向のガウス分布の幅）、副軸半径（副軸方向のガウス分布の幅）、及び中心の座標値であるが、この場合も記憶するパラメータは４個なので、メモリ消費量は同じである。
【００４６】
以上、楕円６２、楕円６３の構成について説明したが、これらは自動で生成してもよいし、あるいは手動で行ってもよい。
更には、実験結果を観察しながら試行錯誤的に補正していき、最終的な形態を求めてもよい。
【００４７】
次に、基底関数に用いる計算式と負担率の計算方法について説明する。
図３の各図は、負担率の計算に用いるパラメータや変数について説明するための図である。
図３（ａ）楕円６３−ｉ（ｉ番目の楕円６３で、楕円６３−１、６３−２、・・・のうちの何れか、以下、他の構成要素も同様とする）の中心をｗｉとし、共起対応点５１とｗｉの距離をｘ軸方向の距離であるｄｉ＿ｘと、ｙ軸方向の距離であるｄｉ＿ｙで表す。
このような座標軸に沿って計測した距離はマンハッタン距離と呼ばれ、ユーグリッド距離に比べてハードウェアでの計算が容易になる。
【００４８】
また、図３（ｂ）に示したように、楕円６３−ｉのｘ軸方向の半径（幅）とｙ軸方向の半径（幅）を２のｎ乗（ｎは０以上の整数、０以上の整数による２の冪乗とも言えるし、あるいは０乗を含む２の累乗とも言える）で表し、それぞれの幅を、２のｒｉ＿ｘ乗、２のｒｉ＿ｙ乗で量子化する。ｒｉ＿ｘとｒｉ＿ｙは、０、１、２、・・・となる０以上の整数である。
【００４９】
この量子化は、図３（ｃ）の幅量子化テーブルに従って近似することにより得られたものである。例えば、楕円の半径はガウス分布の幅である標準偏差σに対応するが、１＜σ≦２の場合は２の１乗、２＜σ≦４の場合は２の２乗、・・・、などと近似する。
このように楕円６３の半径を２のｎ乗で近似・量子化することにより後述のビットシフトによる演算（本実施形態では除算）が可能となる。
【００５０】
図４は、負担率の計算式を説明するための図である。
負担率とは、潜在変数ｚの事後分布であり（共起対応点５１が与えられたときのｚの分布）、ｐ（ｋｚ＝１｜ｘ）で表される。
平易に説明すると、共起対応点５１の分布がガウス分布５４−１、ガウス分布５４−２、・・・の形成に寄与し、ＧＭＭはガウス分布の線形和であるため、これが積み重なって（その合計として）基準ＧＭＭ５５の確率密度関数５３が構成されている。
そのとき、ある共起対応点５１が、ガウス分布５４−１、ガウス分布５４−２、・・・に属する確率（寄与している割合）が当該共起対応点５１の各ガウス分布５４に対する負担率となる。
【００５１】
本実施形態では、コンピュータによる計算を容易にするため、図４に示した式（３）で定義されるｓｉ＿ｘ，ｉ＿ｙで混合ガウス分布を構成するガウス分布を近似し、式（４）のｚｉによる計算式によって負担率を近似した。即ち、楕円６３−ｉのパラメータで規定されるｓｉ＿ｘ，ｉ＿ｙが基底関数に相当し、ｚｉが、当該基底関数に対応する特徴量の計算式に相当する。
この式は、本願発明者が、ある類似性の計算をハードウェアに実装するために考案したものであり、今回、負担率計算の近似式として好適にハードウェア化できることを見いだしたものである。
共起の分布とパラメータをｚｉの式に代入することにより、混合ガウスモデルを用いた画像の特徴量であるところの負担率を近似的に容易に計算することができる。
【００５２】
図５は、基底関数をより詳細に説明するための図である。
式（３）、（４）は、ｘ軸、ｙ軸方向の２変数に対する式を１つにまとめたものとなっており、分かりやすくするためにこれを１変数にしたのが図５（ａ）の式（５）、（６）である。
【００５３】
図のグラフに示したように、ｚｉは、共起対応点５１と楕円６３−ｉの中心の間の距離ｄｉが０のとき１となり、ｄｉが中心から離れるに従って徐々に小さくなる。そして、ｚｉは、ｓｉが１のとき（即ち、ｄｉ＝２の（ｒｉ−ｌｏｇ２ａ乗）のとき）、１／２となり、更にｄｉが大きくなると、次第に０に近づいていく。
ｚｉの広がり具合は、楕円６３−ｉの半径ｒｉによって規定され、ｒｉが小さいほど急峻な形状となる。
【００５４】
なお、２を底とするｌｏｇ２ａの項ａは、本願発明者が先の類似性を研究する際に設定した計算精度を規定する項であり、ハードウェア化を行う場合は、通常ａ＝８ｂｉｔ、又は１６ｂｉｔに設定される。この項を無視するなら、ｄｉが楕円６３の幅に等しいときｚｉは１／２となる。
【００５５】
このように、ｚｉは、ガウス分布と似た性質を有しており、当該計算式によりガウス分布を好適に近似することができる。
また、ｓｉにおいてｄｉは、２の（ｒｉ−ｌｏｇ２ａ）乗で除しているが、２のｎ乗による除算はビットシフトによりハードウェアできわめて容易にできるため、ｚｉを用いることによりガウス分布の近似をビットシフトで行うことができる。
そこで、本実施形態では、ガウス分布５４−ｉをｚｉで近似し、ガウス分布５４−ｉに属する確率を近似的に表すｚｉを負担率として採用することとした。
【００５６】
以上は、負担率を計算するための計算式を式（４）で定義したが、これに限定するものではなく、楕円６３に基づいて共起対応点５１のガウス分布５４への属する割合を割り振ることができるものであれば基底関数として適用できる。
【００５７】
例えば、図５（ｂ）に示したように、０≦ｄｉ＜２のｒｉ乗でｚｉ＝１であり、１≦ｒｉでｚｉ＝０となる関数や（２次元の場合は半径の幅が２のｒｉ＿ｘ乗と、２のｒｉ＿ｙ乗の楕円柱となる）、図５（ｃ）に示したように、ｄｉが０からｒｉに増えるにつれてｚｉが直線的に減少し、１≦２のｒｉ乗でｚｉ＝０となる関数や（２次元では、底面の半径の幅が２のｒｉ＿ｘ乗と、２のｒｉ＿ｙ乗の楕円となる楕円錐）、その他、楕円６３に局在したウェーブレット型やガボール型の関数を使用することなどができる。
これらの基底関数が画像認識にどの程度利用できるかは、実験により検証される。
【００５８】
図６の各図は、負担率の具体的な計算を説明するための図である。
図６（ａ）に示したように、楕円６３−ｉの内部にある共起対応点５１を考え、この点の楕円６３−ｉに対する負担率を求める。
図６（ｂ）に示したように、楕円６３−ｉのｘ軸方向の半径２のｒｉ＿ｘ乗を２の５乗、ｙ軸方向の半径２のｒｉ＿ｙ乗を２の３乗とする。
また、楕円６３−ｉの中心ｗｉの座標値を（１０、２５）、共起対応点５１の座標値を（２５、２０）とする。
【００５９】
図６（ｃ）に示したように、ｘ軸方向に関しては、ｄｉ＿ｘ＝１５、ｒｉ＿ｘ＝５である。これらを式（３）に代入して計算するとｓｉ＿ｘ＝３．７５となる。
一方、図に示したようにｄｉ＿ｘをビット列（００００００００１１１１）で表し、これを２の２乗で割るため−２だけシフトすると（即ち、２だけ右にシフトすると）ｓｉ＿ｘに対応するビット列（００００００００００１１）が得られる。
このビット列が表す値を１０進数に変換すると、図に示したように３となり、先に計算した値の小数点以下を切り捨てた値となる。なお、本実施形態では、小数点以下の誤差は無視する。
【００６０】
図６（ｄ）に示したように、ｙ軸方向に関しては、ｄｉ＿ｙ＝５、ｒｉ＿ｙ＝３である。これらを式（３）に代入して計算するとｓｉ＿ｙ＝５となる。
一方、図に示したようにｄｉ＿ｙをビット列（０００００００００１０１）で表し、これを２の０乗で割るため０だけ右にシフトすると（即ちシフトしないと）ｓｉ＿ｙに対応するビット列（０００００００００１０１）が得られる。
このビット列が表す値を１０進数に変換すると、図に示したように５となり、先に計算した値と等しくなる。
【００６１】
このため、図６（ｅ）に示したように、共起対応点５１のガウス分布５４−ｉ（楕円６３−ｉに対応するガウス分布５４−ｉ）に対する負担率ｚｉは、ｚｉ＿ｘとｚｉ＿ｙを加えて０．１４０６・・・と近似される。
同様にして、楕円６３−（ｉ＋１）やその他の楕円６３に対しても式（４）を適用して共起対応点５１のこれらガウス分布５４に対する負担率（の近似値）も計算することができる。
【００６２】
このようにしてある共起対応点５１の各ガウス分布５４に対する負担率を計算することができるが、これを全ての共起対応点５１に対して計算して得られた負担率をガウス分布５４ごとに集計（投票）すると共に、これを全ての特徴面１５について行って連結し、更に正規化するとＭＲＣｏＨＯＧ特徴量が得られる。
【００６３】
以上のように、画像処理装置８は、共起の分布とパラメータを基底関数に適用することにより（即ち、基底関数に基づく負担率の計算式に代入することにより）、混合ガウスモデルを用いた画像の特徴量を計算する計算手段を備えている。具体的には、取得した共起の分布（図１（ｅ）の６０−１…）を構成する各共起点（共起対応点５１）から基底関数の中心（図（３）ｗｉ）までの距離（マンハッタン距離）と、記憶したパラメータを、基底関数（図４のｓｉ＿ｘ，ｉ＿ｙ）に対応する特徴量の計算式（図４の（３）式、図５（５）式等）に代入することにより、混合ガウスモデルを用いた画像の特徴量（図４式（４）、図５式（６）のｚｉ）を計算する、ことで計算手段を構成している。
そして、当該計算手段は、ガウス分布ごとに当該ガウス分布のパラメータを用いて特徴量の要素となる値として、ガウス分布ごとの共起の分布による負担率を近似的に計算している。
また、基底関数を規定するパラメータである楕円６３の幅は、２の冪乗に量子化されており、当該計算手段は、ビットシフトを用いて特徴量の計算を行う。
【００６４】
図７は、負担率の量子化を説明するための図である。
画像処理装置８は、式（４）によって負担率を計算した後、更に、これを２のｎ乗に量子化することによりメモリ消費を節約する。
図７（ａ）は、量子化しない場合のガウス分布５４−ｉに対する負担率の例を示している。
なお、この例では混合数Ｋ＝６とし、ｉは１から６までの値をとる。
負担率を量子化しない場合、例えば、ガウス分布５４−１における負担率が０．４、ガウス分布５４−２における負担率が０．１５、・・・などと６４ｂｉｔ表現になる。
【００６５】
図７（ｂ）は、負担率の量子化テーブル２１の例を示している。
量子化テーブル２１は、負担率の６４ｂｉｔ表現を０．８７５以上の場合、０．７５以上０．８７５未満の場合、０．６２５以上０．７５未満の場合、・・・の８段階に区分し、これらを、それぞれ、（２の０乗）＋（２の−３乗）、（２の−１乗）＋（２の−２乗）、・・・のシフト加算（２のｎ乗の加算）による３ｂｉｔ表現に近似している。
【００６６】
画像処理装置８は、負担率を計算すると、量子化テーブル２１を参照してこれを３ｂｉｔ表現に近似することによりメモリ消費を節約する。
なお、試算によると、例えば、６４ｂｉｔ表現の場合は２０４１２ＫＢのメモリを消費するが、３ｂｉｔ表現の場合のメモリ消費量は３１９ＫＢである。
また、負担率をシフト加算の形に量子化すると、後のハードウェアによる計算が容易となる。
【００６７】
以上、画像からＭＲＣｏＨＯＧ特徴量を負担率によって抽出する方法について説明したが、当該特徴量を予め対象を学習した既存のニューラルネットワークなどの識別器に入力して画像認識を行うことができる。
【００６８】
図８は、画像処理装置８のハードウェア的な構成の一例を示した図である。
画像処理装置８は、例えば、車両に搭載され、車両前方の歩行者などを画像認識する。
この例では、ＣＰＵ８１が画像の特徴量を抽出するが、特徴量抽出用の専用のハードウェアを半導体装置で形成し、これを搭載するように構成することもできる。
【００６９】
画像処理装置８は、ＣＰＵ８１、ＲＯＭ８２、ＲＡＭ８３、記憶装置８４、カメラ８５、入力部８６、及び出力部８７などがバスラインで接続されて構成されている。
ＣＰＵ８１は、中央処理装置であって、記憶装置８４が記憶する画像認識プログラムに従って動作し、上述した画像からの特徴量を抽出する画像処理や、抽出した特徴量を用いた画像認識処理などを行う。
【００７０】
ＲＯＭ８２は、読み出し専用のメモリであって、ＣＰＵ８１を動作させるための基本的なプログラムやパラメータを記憶している。
ＲＡＭ８３は、読み書きが可能なメモリであって、ＣＰＵ８１が特徴量抽出処理や画像認識処理を行う際のワーキングメモリを提供する。本実施形態では、楕円６３のパラメータ（中心座標値、主軸方向と副軸方向の幅）やビットシフトに用いるビット列を記憶することができる。
【００７１】
記憶装置８４は、ハードディスクなどの大容量の記憶媒体を用いて構成されており、画像認識プログラムや、撮影した動画データ、基準ＧＭＭ５５、楕円６３のパラメータ、量子化テーブル２１などのＭＲＣｏＨＯＧ特徴量の抽出に必要なデータを記憶している。
ＣＰＵ８１は、画像認識プログラムに従ってこれら基準ＧＭＭ５５、楕円６３のパラメータ、量子化テーブル２１などを利用することにより画像の特徴量を抽出することができる。
【００７２】
ここで、記憶装置８４は、楕円６３ごとに当該楕円６３のパラメータを記憶しており、画像認識の基準となる混合ガウスモデルを近似する基底関数を混合ガウスモデルを構成するガウス分布ごとに規定するパラメータを記憶するパラメータ記憶手段として機能している。そして、主軸方向と副軸方向の幅を規定するパラメータは、各々のガウス分布の幅に対応する楕円を規定する定数となっている。
【００７３】
カメラ８５は、例えば、車両前方の景色を動画撮影する。撮影された動画データは、時系列的に連続する静止画像であるフレーム画像から構成されており、これら個々のフレーム画像が画像認識対象の画像となる。
入力部８６は、操作担当者からの入力を受け付けるなどの入力デバイスを備えており、画像処理装置８に対する各種操作を受け付ける。
出力部８７は、操作担当者に各種の情報を提示するディスプレイ、スピーカなどの出力デバイスを備えており、画像処理装置８の操作画面や画像認識結果などを出力する。
【００７４】
以下、画像処理装置８が行う画像認識処理の手順についてフローチャートを用いて説明する。
図９は、画像処理装置８が行う画像認識処理の手順を説明するためのフローチャートである。
ここでは、一例として、車載カメラで歩行者を追跡する場合について説明する。
画像処理装置８のカメラ８５は、車外（例えば、車両前方）を被写体として動画撮影している。
車両は、画像処理装置８によって歩行者を追跡してこれを車両の制御系に出力し、制御系は、これに基づいて運転者のハンドル操作やブレーキ操作などを支援して安全性を高める。
【００７５】
以下の処理は、画像処理装置８が、記憶装置８４の画像認識プログラムをＣＰＵ８１に実行させることにより行うものである。
まず、画像処理装置８は、カメラから送信される動画データからフレーム画像を取得してＲＡＭ８３に記憶する（ステップ１５０）。
このように、画像処理装置８は、画像を取得する画像取得手段を備えている。
【００７６】
次に、画像処理装置８は、ＲＡＭ８３に記憶したフレーム画像において、歩行者を検出するための矩形の観測領域（注目画像領域）を設定する（ステップ１５５）。
初回の歩行者検出では、歩行者がどこに写っているかわからないため、画像処理装置８は、例えば、適当な初期値に基づいて白色雑音による乱数（パーティクル）を発生させて、これに基づいて適当な大きさの観測領域を適当な位置に設定する。
【００７７】
画像処理装置８は、当該観測領域に含まれる画像を画像認識の対象に設定し、ＲＡＭ８３に記憶する（ステップ１６０）。
次に、画像処理装置８は、当該画像に対して後述のプロット処理を行い、勾配方向の共起による特徴量を当該画像から抽出してＲＡＭ８３に記憶する（ステップ１６５）。
【００７８】
次に、画像処理装置８は、基準ＧＭＭ５５や楕円６３のパラメータなどをＲＡＭ８３から読み出し、これを用いて負担率を当該画像の特徴面１５ごとに計算する（ステップ１７０）。
そして、画像処理装置８は、特徴面１５ごとに計算した負担率を全ての特徴面１５について連結して対象画像全体の特徴を表す特徴量とし（ステップ１７５）、これを正規化してＲＡＭ８３に記憶する（ステップ１８０）。
このように画像処理装置８は、計算した特徴量を出力する出力手段を備えている。
【００７９】
そして、画像処理装置８は、当該正規化した特徴量をニューラルネットワークやその他の識別機構により構成された識別器に入力し、出力された値から当該フレーム画像と歩行者との類否を判断する（ステップ１８５）。
次いで、画像処理装置８は、その結果をＲＡＭ８３に出力する（ステップ１９０）。
画像処理装置８は、類否の判断結果から、フレーム画像内で歩行者を当該観測領域内に認識できたか否かを判断する（ステップ１９５）。
すなわち、類否の判断結果が類似していない場合、画像処理装置８は、フレーム画像内で歩行者を当該観測領域内に認識できなかったと判断し（ステップ１９５；Ｎ）、ステップ１５５に戻って、更にフレーム画像に前回とは異なる観測領域を設定して、歩行者の認識を繰り返す。
【００８０】
一方、類似している場合、画像処理装置８は、フレーム画像内で歩行者を当該観測領域内に認識できたと判断し（ステップ１９５；Ｙ）、その認識結果を車両の制御系に出力する。
このように、画像処理装置８は、特徴量を用いて画像を画像認識する画像認識手段を備えている。
そして、画像処理装置８は、更に認識対象の追跡を継続するか否かを判断する（ステップ２００）。この判断は、例えば、車両が目的地に到着するなどして走行を停止した場合に追跡を継続しないと判断し、車両が走行している場合は追跡すると判断する。
【００８１】
追跡を継続しないと判断した場合（ステップ２００；Ｎ）、画像処理装置８は、画像認識処理を終了する。
一方、追跡を継続すると判断した場合（ステップ２００；Ｙ）、画像処理装置８は、ステップ１５０に戻って、次のフレーム画像に対して同様の画像認識処理を行う。
【００８２】
なお、２回目以降の画像認識では、画像処理装置８は、ステップ１５５において前回の画像認識で歩行者が検出された付近に観測領域を設定する。
これは、歩行者が１つ前のフレーム画像で検出された付近に今回のフレーム画像でも存在すると考えられるからである。
【００８３】
これには、例えば、前回歩行者が検出された観測領域を中心に正規分布をなす乱数（パーティクル）を発生させ、当該乱数に対応して観測領域を次々に発生させて最も類似度の高い観測領域を探索するパーティクルフィルタの手法を用いると有効である。
【００８４】
以上のようにして、画像処理装置８は、車載カメラが撮影した車外画像から歩行者を検出し、これを追跡することができる。
なお、この手法は、車載カメラ以外に監視カメラや、その他の動く対象を動画に基づいて追跡するシステムに適用することができる。
【００８５】
また、認識対象を歩行者としたが、例えば、道路上の白線、信号機、標識などを走行しながら認識し、自動運転に適用することも可能である。
更に、前方を走行する車両を画像認識によって追跡して、これに追随走行する所謂コンボイ走行に適用することも可能である。
【００８６】
図１０は、ステップ１６５のプロット処理の手順を説明するためのフローチャートである。
まず、画像処理装置８は、ＲＡＭ８３から特徴を抽出する対象となる画像（動画データから取得したフレーム画像）を読み込む（ステップ５）。
次に、画像処理装置８は、当該画像をブロック領域３に区分し、当該区分の位置をＲＡＭ８３に記憶する（ステップ１０）。
【００８７】
次に、画像処理装置８は、区分した高解像度画像１１のブロック領域３のうちの１つを選択し（ステップ１５）、これから共起対象の高解像度画像１１の画素、中解像度画像１２の画素、低解像度画像１３の画素を生成してＲＡＭ８３に記憶する（ステップ２０）。
なお、当該画像をそのまま高解像度画像１１として使用する場合は、当該画像の画素を解像度変換せずに高解像度画像１１の画素として使用する。
【００８８】
次に、画像処理装置８は、生成した高解像度画像１１、中解像度画像１２、低解像度画像１３の個々の画素について勾配方向を算出してＲＡＭ８３に記憶する（ステップ２５）。
次に、画像処理装置８は、高解像度画像１１内、高解像度画像１１と中解像度画像１２の間、及び高解像度画像１１と低解像度画像１３の間で勾配方向の共起を取って特徴面１５にプロットし、ＲＡＭ８３に記憶する（ステップ３０）。これにより当該ブロック領域３Ａによる特徴面１５が得られる。
このように、画像処理装置８は、画像から輝度勾配方向の共起の分布を取得する共起分布取得手段を備えている。
【００８９】
次に、画像処理装置８は、全ての画素についてプロットしたか否かを判断する（ステップ３５）。
まだ、プロットを行っていない画素がある場合（ステップ３５；Ｎ）、画像処理装置８は、ステップ２０に戻って次の画素を選択し、これについて特徴面１５へのプロットを行う。
【００９０】
一方、当該ブロック領域３についての全画素についてプロットした場合（ステップ３５；Ｙ）、画像処理装置８は、全てのブロック領域３についてプロットしたか否かを判断する（ステップ４０）。
まだ、プロットを行っていないブロック領域３がある場合（ステップ４０；Ｎ）、画像処理装置８は、ステップ１５に戻って次のブロック領域３を選択し、これについて特徴面１５へのプロットを行う。
一方、全てのブロック領域３についてプロットした場合（ステップ４０；Ｙ）、画像処理装置８は、ＲＡＭ８３の配列から、全てのブロック領域３ごとのオフセット画素ごとに生成した特徴面１５をＲＡＭ８３に出力する（ステップ４５）。
【００９１】
図１１は、ステップ１７０の負担率計算処理を説明するためのフローチャートである。
まず、画像処理装置８は、処理対象とする特徴面１５を選択し、ＲＡＭ８３に記憶する（ステップ２０５）。
次に、画像処理装置８は、ＲＡＭ８３の記憶した特徴面１５から共起対応点５１を選択してその座標値をＲＡＭ８３に記憶する（ステップ２１０）。
【００９２】
次に、画像処理装置８は、楕円６３−ｉをカウントするパラメータｉを１に初期化してＲＡＭ８３に記憶する（ステップ２１５）。
次に、画像処理装置８は、ステップ２１０でＲＡＭ８３に記憶した共起対応点５１の座標値を読み込むと共に、楕円６３−ｉのパラメータ（中心座標値（ｘ０、ｙ０）、及び主軸と副軸の幅を規定するｒｉ＿ｘとｒｉ＿ｙ）も読み込み、これらを式（３）（４）に代入して当該共起対応点５１のガウス分布５４−ｉ（楕円６３−ｉに対応するガウス分布）における負担率の近似値を計算する。
更に、画像処理装置８は、当該負担率の近似値を量子化テーブル２１を参照して量子化し、最終的な負担率としてＲＡＭ８３に記憶する（ステップ２２０）。
【００９３】
次に、画像処理装置８は、ガウス分布５４−ｉの負担率の合計値に当該負担率を加算してＲＡＭ８３に記憶することにより、当該負担率をガウス分布５４−ｉに投票する（ステップ２２５）。
次に、画像処理装置８は、ｉを１だけインクリメントしてＲＡＭ８３に記憶し（ステップ２３０）、記憶したｉが混合数Ｋ以下か否かを判断する（ステップ２３５）。
【００９４】
ｉがＫ以下であった場合（ステップ２３５；Ｙ）、画像処理装置８は、ステップ２２０に戻り、次のガウス分布５４−ｉに対して同様の処理を繰り返す。
一方、ｉがＫより大きい場合（ステップ２３５；Ｎ）、当該共起対応点５１について全てのガウス分布５４に対して投票したため、画像処理装置８は、特徴面１５の全ての共起対応点５１に対して負担率を計算したか否かを判断する（ステップ２４０）。
【００９５】
まだ、負担率を計算していない共起対応点５１がある場合（ステップ２４０；Ｎ）、画像処理装置８は、ステップ２１０に戻って次の共起対応点５１を選択する。
一方、全ての共起対応点５１について負担率を計算した場合（ステップ２４０；Ｙ）、画像処理装置８は、更に、全ての特徴面１５について負担率による各ガウス分布５４への投票処理を行ったか否かを判断する（ステップ２４５）。
【００９６】
まだ処理を行っていない特徴面１５がある場合（ステップ２４５；Ｎ）、画像処理装置８は、ステップ２０５に戻って次の特徴面１５を選択する。
一方、全ての特徴面１５に対して処理を行った場合（ステップ２４５；Ｙ）、画像処理装置８は、メインルーチンにリターンする。
【００９７】
図１２は、本実施形態による画像認識の実験結果を示したグラフである。
図１２（ａ）〜（ｄ）は、それぞれ混合数Ｋ＝６、１６、３２、６４の場合を表している。
縦軸は正検出率を表しており、横軸は誤検出率を表している。実線は、従来の方法による画像認識結果を表しており、破線は、画像処理装置８による画像認識結果を表している。
各図に示したように、画像処理装置８による画像認識は、従来手法によるものを若干下回るものの、実用に十分耐えるだけの精度を確保することができた。
【００９８】
図１３は、各混合数での画像処理装置８による画像認識結果を重ねて表したグラフである。
このようにＫ＝６、１６、３２、６４の各混合数の識別精度はほぼ同等であることがわかった。
Ｋ＝６の場合、使用したメモリは、混合数×オフセット数×ブロック数×２４ｂｉｔ（楕円のパラメータ：中心座標値２個、幅２個につき６ｂｉｔずつ）で３．０ＫＢ程度であった。
そのため、混合数を増やさずに低混合数の画像処理装置８を採用することにより、実用的な精度を担保しつつ、メモリ消費や計算コストを低減することができる。
【００９９】
なお、以上に説明した実施形態では、同一の被写体に対する３つの解像度の画像を用意して、オフセット距離１〜３までの勾配方向の共起を取得したが、これに限定するものではなく、必要な画像認識精度が得られるのであれば、２種類の解像度、あるいは、４種類以上の解像度の画像を組合せることもできる。
【０１００】
更に、本実施形態では、高解像度画像１１、中解像度画像１２、低解像度画像１３の複数の解像度間に渡って勾配方向の共起を取得したが、高解像度画像１１内で共起を取り、中解像度画像１２で共起を取り、低解像度画像１３内で共起を取るといったように、各解像度内で共起を取ってそれぞれ別の特徴面１５にプロットしてもよい。
あるいは、ＣｏＨＯＧで行うように単一の解像度内で共起を取って特徴面１５を生成することもできる。
【０１０１】
また、本実施形態では、基底関数の計算に幅方向が基準ＧＭＭ５５の座標軸と平行又は直角な楕円６３を用いたが、幅方向が任意の角度の楕円６２を用いることも可能である。
この場合、基準ＧＭＭ５５の分散共分散行列の非対角要素も含め、全ての要素を２のｎ乗に量子化すると基底関数による負担率の計算がビットシフトにより行うことができると思われる。
また、楕円６２の角度に応じて座標系を回転させて座標変換することにより楕円６３と同様の基底関数を適用することも可能であるが、このとき、回転角度も２のｎ乗で量子化すると、計算がビットシフトで容易に行える可能性がある。
【０１０２】
以上に説明した実施形態には各種の変形が可能である。
例えば、説明した実施形態では、画像認識対象が写った画像を学習して基準ＧＭＭ５５を作成したが、画像認識対象が写った画像をポジティブ画像とし、背景だけの画像をネガティブ画像として、これらの差分から基準ＧＭＭ５５を作成することも可能である。
この方法の概略は、次の通りである。
【０１０３】
まず、ポジティブ画像による確率分布ｐ（ｘ）と、ネガティブ画像による確率分布ｑ（ｘ）を作成する。
両者の差分をとると、両者が類似している部分が減算されて弱められ、異なる部分が残ることになる。
この減算される部分は、ｐ（ｘ）とｑ（ｘ）が類似している部分であり、人であるのか背景であるのかが識別しにくい部分である。
そのため、差分により、人らしい特徴と背景らしい特徴をより明確に表す確率分布が生成される。
【０１０４】
この確率分布に基づいて乱数を発生させることによりサンプルを配置し直して、人と背景の類似性が低い部分に特徴を有する基準ＧＭＭ５５を作成することができる。この手法は逆関数法と呼ばれている。
この基準ＧＭＭ５５を用いると、人と背景をより明確に画像認識することができる。
【０１０５】
なお、単に差分を計算するのではなく、差分を計算するための計量空間（ｐ（ｘ）とｑ（ｘ）と間の距離の測り方を定義した空間）を設定し、当該空間での差分を用いることもできる。
これらの計量空間で計量する情報量には、例えば、ＫＬ（Ｋｕｌｌｂａｃｋ−Ｌｅｉｂｌｅｒ）情報量や、これに対称性を持たせたＪＳ（Ｊｅｎｓｅｎ−Ｓｈａｎｎｏｎ）情報量などがある。これらの情報量によってポジティブ画像とネガティブ画像の類似を判断して両者の違いに重きをおく基準ＧＭＭ５５を作成することもできる。
【０１０６】
以上に説明した実施形態により、次のような効果を得ることができる。
（１）メモリ量が非常に大きい負担率テーブルをメモリへ格納するのではなく、負担率を計算するのに必要な基底関数を表現するパラメータをメモリへ格納することでメモリの使用量を大幅に削減することができる。
（２）負担率のテーブルをメモリへ格納するのではなく、基底関数のパラメータをメモリへ格納することで小規模なＦＰＧＡや半導体装置への実装が可能になった。
（３）学習画像から得られる勾配方向の共起ペアの頻度分布を表すＧＭＭを楕円として近似して表現することができる。
（４）ＧＭＭを近似する際に、楕円の形状（幅）を制限して量子化することにより、より少ないメモリ使用量で実装可能となる。
（５）楕円の半径、即ち正規分布の幅を２のｎ乗で近似することで、推論の際にはビットシフトに基づくアルゴリズムを用いることができ、低コストな計算で負担率を算出することができる。
【符号の説明】
【０１０７】
２  画像
３  ブロック領域
５  注目画素
８  画像処理装置
１１  高解像度画像
１２  中解像度画像
１３  低解像度画像
１５  特徴面
２１  量子化テーブル
５１  共起対応点
５３  確率密度関数
５４  ガウス分布
５５  基準ＧＭＭ
６０  クラスタ
６２  楕円
６３  楕円
８１  ＣＰＵ
８２  ＲＯＭ
８３  ＲＡＭ
８４  記憶装置
８５  カメラ
８６  入力部
８７  出力部
【図１】
2020166342.tif 000003
【図２】
2020166342.tif 000004
【図３】
2020166342.tif 000005
【図４】
2020166342.tif 000006
【図５】
2020166342.tif 000007
【図６】
2020166342.tif 000008
【図７】
2020166342.tif 000009
【図８】
2020166342.tif 000010
【図９】
2020166342.tif 000011
【図１０】
2020166342.tif 000012
【図１１】
2020166342.tif 000013
【図１２】
2020166342.tif 000014
【図１３】
2020166342.tif 000015