(57)【特許請求の範囲】
【請求項１】
画像を構成する画素の輝度を前記画素の順番に基づいて順次出力する輝度出力手段と、
前記順次出力される輝度を用いて、複数の解像度における各画素の輝度の勾配方向を解像度別に並行して順次出力する勾配方向出力手段と、
前記順次出力される解像度別の勾配方向を順次組合せることにより、異なる解像度間における勾配方向の共起を含む共起行列を作成する共起行列作成手段と、
前記作成した共起行列を前記画像の画像特徴量として出力する共起行列出力手段と、
を具備したことを特徴とする画像処理装置。
【請求項２】
前記勾配方向出力手段は、
前記複数の解像度ごとに並列して設けられ、前記順次出力される輝度から当該解像度の画素における輝度の勾配方向を出力する複数の解像度別勾配方向出力手段を備えており、
前記解像度別勾配方向出力手段を同時に動作させることにより、前記解像度別の勾配方向を並行して順次出力することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記解像度別勾配方向出力手段は、
前記輝度出力手段から順次出力される輝度を当該解像度に基づく頻度によって選択することにより、当該解像度の輝度を順次出力し、
当該出力した輝度を用いて当該解像度における勾配方向を出力することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記解像度別勾配方向出力手段は、
当該解像度の輝度の出力順序に基づいて注目画素の水平方向、及び垂直方向に隣接する隣接画素の輝度を特定し、
当該特定した隣接画素の輝度を用いて前記注目画素の勾配方向を出力することを特徴とする請求項２、又は請求項３に記載の画像処理装置。
【請求項５】
前記解像度別勾配方向出力手段は、
前記特定した隣接画素の輝度を用いて前記注目画素の水平方向の輝度勾配強度、及び垂直方向の輝度勾配強度を取得し、
当該取得した水平方向の輝度勾配強度と垂直方向の輝度勾配強度を、水平方向の輝度勾配強度と垂直方向の輝度勾配強度の正負及び大小と、量子化した勾配方向と、を対応させた対応テーブルで参照して量子化した勾配方向を出力することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記解像度別勾配方向出力手段は、
前記隣接画素の位置が対応づけられた配列に、当該解像度の輝度の出力順序に基づいて輝度を配置することにより、前記隣接画素の輝度を特定することを特徴とする請求項４、又は、請求項５に記載の画像処理装置。
【請求項７】
前記配列は、前記注目画素の属する画素行と、当該画素行と垂直方向に隣接する２つの画素行の３つの画素行に対応する３つの配列から構成されており、
前記解像度別勾配方向出力手段は、
３つの画素行の輝度を、それぞれ対応する前記３つの配列に配置し、当該輝度が配置された位置によって前記隣接画素の輝度を特定することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記共起行列作成手段は、
前記勾配方向出力手段から順次出力される勾配方向の解像度別の出力順序に基づいて、注目画素の勾配方向と、当該注目画素と組合せる画素の勾配方向を順次特定し、
当該特定した勾配方向の組合せに基づいて前記共起行列に順次投票することにより前記共起行列を作成することを特徴とする請求項１から請求項７までのうちの何れか１の請求項に記載の画像処理装置。
【請求項９】
前記共起行列作成手段は、
注目画素と、当該注目画素と組合せる画素の位置が対応づけられると共に解像度別に設けられた配列に、前記解像度別の出力順序に基づいて勾配方向を解像度別に配置することにより、前記組合せる画素の勾配方向を特定することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記配列は、それぞれの解像度について垂直方向に隣接する２つの画素行に対応する６つの配列から構成され、
前記共起行列作成手段は、
それぞれの解像度の２つの画素行の勾配方向を、それぞれ対応する２つの配列に配置し、当該勾配方向が配置された位置によって前記組合せる画素の勾配方向を特定することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
請求項１から請求項１０までのうちの何れか１の画像処理装置を実装した半導体装置。
【請求項１２】
請求項１から請求項１０までのうちの何れか１の画像処理装置と、
前記画像処理装置から出力される共起行列によるヒストグラムを、基準となる画像の共起行列によるヒストグラムと対比することにより前記画像に写っている対象を認識する認識手段と、
を具備したことを特徴とする画像認識装置。
【請求項１３】
請求項１２に記載の画像認識装置を用いて対象を検出する検出手段と、
前記検出した対象に対して所定の位置に移動する移動手段と、
を具備したことを特徴とする移動体装置。
【請求項１４】
画像を構成する画素の輝度を前記画素の順番に基づいて順次出力する輝度出力ステップと、
前記順次出力される輝度を用いて、複数の解像度における各画素の輝度の勾配方向を解像度別に並行して順次出力する勾配方向出力ステップと、
前記順次出力される解像度別の勾配方向を順次組合せることにより、異なる解像度間における勾配方向の共起を含む共起行列を作成する共起行列作成ステップと、
前記作成した共起行列を前記画像の画像特徴量として出力する共起行列出力ステップと、
を実行することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、半導体装置、画像認識装置、移動体装置、及び画像処理方法に関し、例えば、画像から画像特徴量を取得するものに関する。
【背景技術】
【０００２】
画像認識技術には、画像から画像特徴量として輝度勾配分布を抽出し、これを予め学習した画像の輝度勾配分布と比較することにより対象を認識するものがある。
輝度勾配分布による画像特徴量としては、ＨＯＧ（Ｈｉｓｔｏｇｒａｍ  ｏｆ  Ｏｒｉｅｎｔｅｄ  Ｇｒａｄｉｅｎｔｓ）特徴量が有名であり、盛んに研究されている。
【０００３】
ＨＯＧ特徴量を発展させた特徴量にＣｏＨＯＧ（Ｃｏ−ｏｃｃｕｒｒｅｎｃｅ  ＨＯＧ）があり、ＨＯＧよりも頑健性（ロバスト性）を有している。
画像からＣｏＨＯＧ特徴量を抽出する装置は、ＩＣチップ化されており、ビデオキャプチャボードなどに搭載されて、広く実用化されている。
ＣｏＨＯＧを用いた技術に、特許文献１の「パターン認識方法及び該方法を用いたパターン認識装置」がある。
【０００４】
近年、ＣｏＨＯＧ特徴量よりも更に頑健性を有するＭＲＣｏＨＯＧ（Ｍｕｌｔｉ  Ｒｅｓｏｌｕｔｉｏｎ  ＣｏＨＯＧ）特徴量が提案されている。
ＭＲＣｏＨＯＧ特徴量は、極めて高い頑健性を有していることが実験により明らかになってきている。
【０００５】
ところで、ＭＲＣｏＨＯＧ特徴量を抽出するには、ビデオカメラから出力される画像データから異なる解像度の画像データを複数生成し、これら解像度の異なる画像間での共起行列の要素を計算するという複雑な処理を行う必要がある。
そのため、ビデオカメラから出力される画像をリアルタイムで画像認識するには、如何にしてＭＲＣｏＨＯＧ特徴量抽出アルゴリズムを高速に動作するハードウェア構成に落とし込むかという課題があった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】国際公開  ＷＯ２０１１／０３７０９７号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、対象となる画像について異なる解像度間での輝度勾配方向の共起を高速に計算するハードウェア構成を構築することを目的とする。
【課題を解決するための手段】
【０００８】
（１）本発明は、前記目的を達成するために、請求項１に記載の発明では、画像を構成する画素の輝度を前記画素の順番に基づいて順次出力する輝度出力手段と、前記順次出力される輝度を用いて、複数の解像度における各画素の輝度の勾配方向を解像度別に並行して順次出力する勾配方向出力手段と、前記順次出力される解像度別の勾配方向を順次組合せることにより、異なる解像度間における勾配方向の共起を含む共起行列を作成する共起行列作成手段と、前記作成した共起行列を前記画像の画像特徴量として出力する共起行列出力手段と、を具備したことを特徴とする画像処理装置を提供する。
（２）請求項２に記載の発明では、前記勾配方向出力手段が、前記複数の解像度ごとに並列して設けられ、前記順次出力される輝度から当該解像度の画素における輝度の勾配方向を出力する複数の解像度別勾配方向出力手段を備えており、前記解像度別勾配方向出力手段を同時に動作させることにより、前記解像度別の勾配方向を並行して順次出力することを特徴とする請求項１に記載の画像処理装置を提供する。
（３）請求項３に記載の発明では、前記解像度別勾配方向出力手段が、前記輝度出力手段から順次出力される輝度を当該解像度に基づく頻度によって選択することにより（輝度選択手段）、当該解像度の輝度を順次出力し、当該出力した輝度を用いて当該解像度における勾配方向を出力することを特徴とする請求項２に記載の画像処理装置を提供する。
（４）請求項４に記載の発明では、前記解像度別勾配方向出力手段が、当該解像度の輝度の出力順序に基づいて注目画素の水平方向、及び垂直方向に隣接する隣接画素の輝度を特定し（輝度特定手段）、当該特定した隣接画素の輝度を用いて前記注目画素の勾配方向を出力する（注目画素勾配方向出力手段）ことを特徴とする請求項２、又は請求項３に記載の画像処理装置を提供する。
（５）請求項５に記載の発明では、前記解像度別勾配方向出力手段が、前記特定した隣接画素の輝度を用いて前記注目画素の水平方向の輝度勾配強度、及び垂直方向の輝度勾配強度を取得し、当該取得した水平方向の輝度勾配強度と垂直方向の輝度勾配強度を、水平方向の輝度勾配強度と垂直方向の輝度勾配強度の正負及び大小と、量子化した勾配方向と、を対応させた対応テーブルで参照して量子化した勾配方向を出力することを特徴とする請求項４に記載の画像処理装置を提供する。
（６）請求項６に記載の発明では、前記解像度別勾配方向出力手段が、前記隣接画素の位置が対応づけられた配列に、当該解像度の輝度の出力順序に基づいて輝度を配置することにより、前記隣接画素の輝度を特定することを特徴とする請求項４、又は、請求項５に記載の画像処理装置を提供する。
（７）請求項７に記載の発明では、前記配列が、前記注目画素の属する画素行と、当該画素行と垂直方向に隣接する２つの画素行の３つの画素行に対応する３つの配列から構成されており、前記解像度別勾配方向出力手段は、３つの画素行の輝度を、それぞれ対応する前記３つの配列に配置し、当該輝度が配置された位置によって前記隣接画素の輝度を特定することを特徴とする請求項６に記載の画像処理装置を提供する。
（８）請求項８に記載の発明では、前記共起行列作成手段は、前記勾配方向出力手段から順次出力される勾配方向の解像度別の出力順序に基づいて、注目画素の勾配方向と、当該注目画素と組合せる画素の勾配方向を順次特定し、当該特定した勾配方向の組合せに基づいて前記共起行列に順次投票することにより前記共起行列を作成することを特徴とする請求項１から請求項７までのうちの何れか１の請求項に記載の画像処理装置を提供する。
（９）請求項９に記載の発明では、前記共起行列作成手段は、注目画素と、当該注目画素と組合せる画素の位置が対応づけられると共に解像度別に設けられた配列に、前記解像度別の出力順序に基づいて勾配方向を解像度別に配置することにより、前記組合せる画素の勾配方向を特定することを特徴とする請求項８に記載の画像処理装置を提供する。
（１０）請求項１０に記載の発明では、前記配列は、それぞれの解像度について垂直方向に隣接する２つの画素行に対応する６つの配列から構成され、前記共起行列作成手段は、それぞれの解像度の２つの画素行の勾配方向を、それぞれ対応する２つの配列に配置し、当該勾配方向が配置された位置によって前記組合せる画素の勾配方向を特定することを特徴とする請求項９に記載の画像処理装置を提供する。
（１１）請求項１１に記載の発明では、請求項１から請求項１０までのうちの何れか１の画像処理装置を実装した半導体装置を提供する。
（１２）請求項１２に記載の発明では、請求項１から請求項１０までのうちの何れか１の画像処理装置と、前記画像処理装置から出力される共起行列によるヒストグラムを、基準となる画像の共起行列によるヒストグラムと対比することにより前記画像に写っている対象を認識する認識手段と、を具備したことを特徴とする画像認識装置を提供する。
（１３）請求項１３に記載の発明では、請求項１２に記載の画像認識装置を用いて対象を検出する検出手段と、前記検出した対象に対して所定の位置に移動する移動手段と、を具備したことを特徴とする移動体装置を提供する。
（１４）請求項１４に記載の発明では、画像を構成する画素の輝度を前記画素の順番に基づいて順次出力する輝度出力ステップと、前記順次出力される輝度を用いて、複数の解像度における各画素の輝度の勾配方向を解像度別に並行して順次出力する勾配方向出力ステップと、前記順次出力される解像度別の勾配方向を順次組合せることにより、異なる解像度間における勾配方向の共起を含む共起行列を作成する共起行列作成ステップと、前記作成した共起行列を前記画像の画像特徴量として出力する共起行列出力ステップと、を実行することを特徴とする画像処理方法を提供する。
【発明の効果】
【０００９】
本発明によれば、異なる解像度の画素の輝度を並行して処理することにより、対象となる画像について異なる解像度間での輝度勾配方向の共起を高速に計算するハードウェア構成を構築することができる。
【図面の簡単な説明】
【００１０】
【図１】ＨＯＧ特徴量の概念を説明するための図である。
【図２】ＣｏＨＯＧ特徴量の概念を説明するための図である。
【図３】ＭＲＣｏＨＯＧ特徴量の概念を説明するための図である。
【図４】計算方法を説明するための図である。
【図５】画像処理装置の回路構成を示した図である。
【図６】解像度変換処理を説明するための図である。
【図７】勾配方向算出部などの動作を説明するための図である。
【図８】垂直方向のデータ延ばし処理を説明するための図である。
【図９】水平方向のデータ延ばし処理を説明するための図である。
【図１０】共起行列を計算する仕組みを説明するための図である。
【図１１】画像処理手順を説明するためのフローチャートである。
【図１２】半導体装置の構成例を示した図である。
【発明を実施するための形態】
【００１１】
（１）実施形態の概要
画像処理装置２１（図５）は、高解像度画像から輝度勾配方向を抽出する３ラインバッファ２５ａ〜バッファ２８ａから構成された高解像度画像用の処理ライン、中解像度画像から輝度勾配方向を抽出する中解像度部２４ｂ〜バッファ２８ｂから構成された中解像度画像用の処理ライン、及び低解像度画像から輝度勾配方向を抽出する低解像度部２４ｃ〜バッファ２８ｃから構成された低解像度画像用の処理ラインを並列に配設しており、これら３つの解像度の画像から並行して同時に輝度勾配方向を画素ごとに抽出する。
【００１２】
共起行列作成部３０ａ、３０ｂ、３０ｃは、これら３つの解像度の画像から抽出した輝度勾配方向を用いて共起行列を作成し、ヒストグラム作成部３１がこれを用いてヒストグラムをＭＲＣｏＨＯＧ特徴量として出力する。
３つの解像度の画像を同時に処理するため、高速に処理でき、カメラから出力される動画をリアルタイムで処理することができる。
【００１３】
（２）実施形態の詳細
まず、ＨＯＧ特徴量、ＣｏＨＯＧ特徴量、及びＭＲＣｏＨＯＧ特徴量について簡単に説明する。
図１は、ＨＯＧ特徴量の概念を説明するための図である。
ＨＯＧ特徴量は、次の手順により画像から抽出される。
図１（ａ）左図に示した画像１０１は、対象を観測する観測窓などによる注目画像領域とする。
まず、画像１０１を矩形のセル１０２ａ、１０２ｂ、・・・に分割する。
次に、図１（ａ）右図に示したように、セル１０２ごとに各画素（ピクセル）の輝度勾配方向（低輝度から高輝度に向かう方向）を例えば８方向に量子化する。
【００１４】
次に、図１（ｂ）に示したように、量子化した輝度勾配の方向を階級とし、出現回数を度数とするヒストグラムを生成することにより、セル１０２に含まれる輝度勾配のヒストグラム１０６をセル１０２ごとに作成する。
そして、セル１０２をいくつか集めたブロック単位でヒストグラム１０６の合計度数が１となるように正規化する。
【００１５】
図１（ａ）左図の例では、セル１０２ａ、１０２ｂ、１０２ｃ、１０２ｄから１ブロックが形成されている。
このようにして正規化したヒストグラム１０６ａ、１０６ｂ、・・・を図１（ｃ）のように一列に並べたヒストグラムが画像１０１のＨＯＧ特徴量１０７である。
【００１６】
図２は、ＣｏＨＯＧ特徴量を説明するための図である。
ＣｏＨＯＧ特徴量は、局所領域における２画素間の勾配ペアに着目した特徴量であり、次の手順により画像から抽出される。
図２（ａ）に示したように、画像１０１を矩形のセル１０２ａ、１０２ｂ、・・・に分割する。なお、セルは、ブロックとも呼ばれる。
【００１７】
ＣｏＨＯＧ特徴量では、セル１０２ａ、１０２ｂ、・・・に注目画素１１０を設定し、注目画素１１０の輝度勾配方向と、注目画素１１０から距離１〜４にある画素の輝度勾配方向との組合せにより共起行列（注目画素１１０に関するヒストグラム）を作成する。なお、注目画素１１０との組合せに係る画素はオフセットと呼ばれる。
【００１８】
例えば、注目画素１１０からの距離は、数式で表されるが、当該数式を適用すると、図２（ａ）に示したように、距離１の画素として、注目画素１１０に隣接する画素１ａ〜１ｄが得られる。
なお、注目画素１１０の上と左の画素が組合せに含まれないのは、一番上の画素行の左端から右方向に向けて順に注目画素１１０を設定して処理していくため、既に処理が終了しているからである。
【００１９】
次に、注目画素１１０と画素１ａの輝度勾配方向を観察する。輝度勾配方向は、例えば８方向に量子化されており、図では方向を矢線で示してある。
注目画素１１０の輝度勾配方向は、右方向で画素１ａの輝度勾配方向は、右上方向である。
そこで、図２（ｂ）の共起行列１１３で、（行番号、列番号）＝（右方向、右上方向）の要素に一票を投じる。
図２（ｂ）の例では、注目画素１１０と画素１ａの輝度勾配方向の組みとして、行番号として右方向の矢印が記載された行と、列番号として右上方向の矢印が記載された列の要素に１が加算された結果、当該要素の値が１０になっている。
【００２０】
なお、本来は、共起行列１１３を立体的なヒストグラムで描き、票数を高さ方向の棒グラフで表すべきであるが、図を簡略化するため票数を数値で表している。
以下、同様に注目画素１１０と画素１ｂ、１ｃ、１ｄとの組合せによる投票（計数）を行う。
【００２１】
図２（ｃ）に示したように、注目画素１１０を中心に、距離２の画素は画素１ａ〜１ｄの外周にある画素２ａ〜２ｆ、距離３の画素は更にその外周の画素３ａ〜３ｈ、距離４の画素は更にその外周の画素４ａ〜４ｌと規定されている。
これらについても同様に注目画素１１０と組合せて共起行列１１３に投票する。
【００２２】
以上の投票処理をセル１０２を構成する全画素について行い、画素ごとの共起行列が得られる。
更に、これを全てのセル１０２で行い、全ての共起行列の成分を図２（ｄ）に示したように一列に並べたヒストグラムが画像１０１のＣｏＨＯＧ特徴量１１７である。
【００２３】
図３は、ＭＲＣｏＨＯＧ特徴量を説明するための図である。
ＭＲＣｏＨＯＧ特徴量は、同じ画像の異なる解像度間で共起をみることでオフセット数を大幅に削減する。
まず、図３（ａ）に示したように、元画像から解像度（画像サイズ）の異なる画像を生成することにより高解像度画像１２０（元画像）、中解像度画像１２１、低解像度画像１２２を得る。画像中の升目は、画素を表している。図示しないが、これら各解像度画像にもセル（ブロックとも呼ばれる）が設定されている。
そして、高解像度画像１２０、中解像度画像１２１、及び低解像度画像１２２のそれぞれの画素について量子化した輝度勾配方向を計算する。
【００２４】
ＭＲＣｏＨＯＧ特徴量の抽出には、中解像度画像１２１、低解像度画像１２２を用いるが、分かり易くするために、図３（ｂ）に示したように、中解像度画像１２１と低解像度画像１２２を中解像度画像１２１ａと低解像度画像１２２ａに引き延ばし、高解像度画像１２０と同じサイズにする。
【００２５】
次に、図３（ｃ）に示したように、ＣｏＨＯＧ特徴量と同様に、高解像度画像１２０の注目画素１２５における輝度勾配方向と、その周囲の高解像度画像１２０の画素１ａ〜１ｄの輝度勾配方向との共起（輝度勾配方向の組合せ）を取って、図示しない共起行列に投票する。
【００２６】
次に、高解像度画像１２０の注目画素１２５と、画素１ａ〜１ｄの外周にある中解像度画像１２１ａの画素２ａ〜２ｄとの共起に従って共起行列に投票し、更に、注目画素１２５と、画素２ａ〜２ｄの外周にある低解像度画像１２２ａの画素３ａ〜３ｄとの共起に従って共起行列に投票する。
【００２７】
このようにして、高解像度画像１２０の注目画素１２５に対して、高解像度画像１２０内での組合せ、中解像度画像１２１ａとの組合せ、低解像度画像１２２ａとの組合せで共起を取った共起行列が得られる。
この処理を、高解像度画像１２０のセル内の各画素に対して行い、更に、全てのセルについて行う。
これにより、高解像度画像１２０の画素ごとの共起行列が得られる。
【００２８】
同様にして、更に、中解像度画像１２１ａに注目画素を設定した場合の各解像度画像との共起行列、低解像度画像１２２ａに注目画素を設定した場合の各解像度画像との共起行列を計算し、全ての共起行列の成分を図３（ｄ）に示したように一列に並べたヒストグラムが高解像度画像１２０のＭＲＣｏＨＯＧ特徴量１２７である。
【００２９】
なお、この例では、高解像度画像１２０に注目画素を設定した場合の共起行列、中解像度画像１２１ａに注目画素を設定した場合の共起行列、低解像度画像１２２ａに注目画素を設定した場合の共起行列を連結したヒストグラムをＭＲＣｏＨＯＧ特徴量としたが、何れか１つ、例えば、高解像度画像１２０に注目画素を設定した場合の共起行列によるヒストグラムをＭＲＣｏＨＯＧ特徴量とすることも可能である。
また、何れか２つを組合せてもよいし、更に、解像度を増やして４種類以上の解像度画像で共起をとってもよい。
【００３０】
ＭＲＣｏＨＯＧ特徴量によって、ＣｏＨＯＧより大幅に特徴量を減らすことができる一方、頑健性がＣｏＨＯＧよりもよいことが発明者等による実験から明らかになっている。
これは、解像度を低下させることによりノイズが低減することと、注目画素から離れた部分との共起を見るためではないかと推測されている。
【００３１】
次に、数学的な計算式のハードウェアへの適用形態について説明する。
ＭＲＣｏＨＯＧ特徴量を算出するためには、平方根、除算、逆正接を計算する必要がある。
ところが、コンピュータは、加算によって平方根などの各種計算をするため、これらの演算は、負荷が大きい。
そのため、計算速度を高速化したり、ＩＣチップ化できるように回路規模を適正なものにするためには、ハードウェアに適した計算方法を考案する必要がある。
【００３２】
図４は、本実施の形態で用いる計算方法を説明するための図である。
図４（ａ）の式（１）のｍ（ｘ、ｙ）は、座標（ｘ、ｙ）にある画素の輝度勾配の勾配強度の計算式を示している。
なお、文字化け防止のために、下付の小文字は、全角文字で表す。
【００３３】
ｆｘ（ｘ、ｙ）、ｆｙ（ｘ、ｙ）は、それぞれ、ｘ方向（水平方向・横方向）とｙ方向（垂直方向・縦方向）の輝度の勾配強度である。
ｆｘ（ｘ、ｙ）、ｆｙ（ｘ、ｙ）は、数学的には、輝度をｘ方向、ｙ方向に偏微分して求めるが、本実施の形態では、ｆｘ（ｘ、ｙ）を着目画素の水平方向（左右横方向）両隣に隣接する画素の輝度の差分で表し、ｆｙ（ｘ、ｙ）を着目画素の垂直方向（上下縦方向）両隣に隣接する画素の輝度の差分で表す。
【００３４】
式（１）に示したように、勾配強度は、平方根を含んでいるが、ユーグリッド距離をマンハッタン距離に置き換えることにより、式（１）を式（２）の加算式で近似する。
この置き換えは、図４（ａ）の右図に示したように、地点ＴＵ間のユーグリッド距離である（ｔ自乗＋ｕ自乗）の平方根を、マンハッタン距離であるｔ＋ｕで近似するものである。名称のマンハッタンは、米国都市のマンハッタンの街路が碁盤の目状であることに由来する。
【００３５】
勾配強度は、輝度勾配に係る輝度の高低差が大きいほど大きくなる量であり、ゼロオフセットに用いられる。
勾配強度が所定の閾値に達しないものに関しては、例えば、共起を取らないなどの所定の処理を行うが、画像の識別精度に与える影響が小さいため、本実施の形態では、当該処理については説明を省略する。
実験の結果、ユーグリッド距離をマンハッタン距離で置き換えても画像認識能力には、殆ど影響しないことが確認された。
【００３６】
図４（ｂ）の式（３）は、一般に使用される輝度勾配方向θの計算式を示している。
式（３）は、ｆｘ（ｘ、ｙ）によるｆｙ（ｘ、ｙ）の除算と、逆正接（ａｒｃｔａｎｇｅｎｔ）の計算が含まれているため、計算に必要な処理負荷が大きくなる。
そこで、本実施形態では、ＭＲＣｏＨＯＧ特徴量の計算で必要なのは、式（３）による正確な値ではなく、量子化された輝度勾配方向であることに着目し、式（３）を用いずに、ｆｘ（ｘ、ｙ）とｆｙ（ｘ、ｙ）の組と輝度勾配方向を対応させた対応テーブルを用意し、これによってｆｘ（ｘ、ｙ）とｆｙ（ｘ、ｙ）の組を量子化された輝度勾配方向に写像する。
【００３７】
図４（ｃ）は、角度θの範囲と量子化した輝度勾配方向θとの関係を表したものである。
本実施の形態では、一例として、輝度勾配方向を８方向に量子化するものとする。
ここでは、図４（ｃ）に示すように、輝度勾配方向θが０°≦θ＜４５°のものは０°に量子化し、４５°≦θ＜９０°のものは４５°に量子化し、他の角度も同様に、９０°、１３５°、１８０°、２２５°、２７０°、３１５°に量子化するものとする。
【００３８】
この手法では、まず、分類１１に従って、ｆｘ（ｘ、ｙ）とｆｙ（ｘ、ｙ）の正負の組合せをａ〜ｄに分類する。
分類ａはｆｘ（ｘ、ｙ）とｆｙ（ｘ、ｙ）が共に正の場合、分類ｂはｆｘ（ｘ、ｙ）とｆｙ（ｘ、ｙ）が共に負の場合、分類ｃはｆｘ（ｘ、ｙ）か正でｆｙ（ｘ、ｙ）が負の場合、分類ｄは、ｆｘ（ｘ、ｙ）が負でｆｙ（ｘ、ｙ）が正の場合である。
【００３９】
次に、ｆｘ（ｘ、ｙ）とｆｙ（ｘ、ｙ）の大小関係を比較し、分類１２に従って、量子化された輝度勾配方向に対応させる。
分類がａで、ｙがｘ以下の場合は、０°に対応させ、ｙがｘより大きい場合は、４５°に対応させる。
分類がｂで、−ｙがｘ以下の場合は、９０°に対応させ、−ｙがｘより大きい場合は、１３５°に対応させる。
【００４０】
分類がｃで、ｙがｘ以上の場合は、１８０°に対応させ、ｙがｘより小さい場合は、２２５°に対応させる。
分類がｄで、−ｙがｘ以上の場合は、２７０°に対応させ、−ｙがｘより小さい場合は、３１５°に対応させる。
このように、本実施の形態では、分類１１、１２によって構成される対応テーブルを参照することにより、逆正接や除算を使用せずに、高速に量子化された輝度勾配方向を得ることができる。
【００４１】
このように、本実施の形態の画像処理装置は、注目画素の隣接画素の輝度を用いて注目画素の水平方向の輝度勾配強度ｆｘ（ｘ、ｙ）、及び垂直方向の輝度勾配強度ｆｙ（ｘ、ｙ）を取得し、当該取得した水平方向の輝度勾配強度と垂直方向の輝度勾配強度を、水平方向の輝度勾配強度と垂直方向の輝度勾配強度の正負及び大小と、量子化した勾配方向と、を対応させた対応テーブルで参照して量子化した勾配方向を出力している。
【００４２】
図５は、本実施の形態の画像処理装置の回路構成を示した図である。
画像処理装置２１は、半導体装置として、例えば、半導体チップの上に形成されている。
画像処理装置２１は、３ラインバッファ２５ａ〜バッファ２８ａから構成された高解像度画像処理ラインと、中解像度部２４ｂ〜バッファ２８ｂから構成された中解像度画像処理ラインと、低解像度部２４ｃ〜バッファ２８ｃから構成された低解像度画像処理ラインを備えている。
これらのパイプラインは、並列に配設されており、高中低解像度の画像を同時に並行処理するため、高速に処理することができる。
【００４３】
ここで、高解像度画像処理ライン、中解像度画像処理ライン、及び低解像度画像処理ラインの組合せから成る回路は、順次出力される輝度を用いて、複数の解像度における各画素の輝度の勾配方向を解像度別に並行して順次出力する勾配方向出力手段として機能している。
【００４４】
そして、高解像度画像処理ライン、中解像度画像処理ライン、及び低解像度画像処理ラインは、それぞれ、複数の解像度ごとに並列して設けられ、後述の画像入力部２３から順次出力される輝度から当該解像度の画素における輝度の勾配方向を出力する複数の解像度別勾配方向出力手段として機能している。
画像処理装置２１は、クロックに同期して、これらの解像度別勾配方向出力手段を同時に動作させることにより、解像度別の勾配方向を並行して順次出力することができる。
【００４５】
以下、画像処理装置２１を構成する各回路について説明する。
ＭＲＣｏＨＯＧ特徴量を計算するには、画像を構成する各画素の輝度データが有ればよい。
そのため、本実施の形態では、ＹＵＹＶ形式で形成された画像から、画素のＹ（輝度）を抽出してこれを輝度データとして画像処理装置２１に入力する。
以下では、画像のｉ行目ｊ列の画素の輝度データや後述の勾配方向データを（ｉ−ｊ）などと対応する画素の行番号と列番号で表すことにする。
【００４６】
画像入力部２３は、動画カメラから送信されてくるフレームの画像の輝度データを画素順（当該画素が画像で配置されている順序）に基づいて順次出力する回路であり、画像を構成する画素の輝度を当該画素の順番に基づいて順次出力する輝度出力手段として機能する。
なお、本実施の形態では、予めＹＵＹＶ形式の画像から輝度データＹを抽出し、これを画像として画像入力部２３に入力するが、画像入力部２３、あるいは、勾配方向算出部２６ａ、２６ｂ、２６ｃで画素データから輝度成分を抽出するように構成してもよい。
【００４７】
画像４０は、図７（ａ）に示したように、１行目の輝度データ（０−０）、（０−１）、（０−２）、・・・、（０−ｎ）、２行目の輝度データ（１−０）、（１−１）、（１−２）、・・・、・・・、（１−ｎ）、ｍ行目の輝度データ（ｍ−０）、（ｍ−１）、（ｍ−２）、・・・、（ｍ−ｎ）から構成されている。
【００４８】
画像入力部２３は、動画カメラから送られてくる画像４０から輝度データを上の行から右方向に順に読み出し、輝度データ（０−０）、（０−１）、（０−２）、・・・、（０−ｎ）、（１−０）、（１−１）、・・・の順に出力する。
【００４９】
図５に戻り、画像入力部２３の出力線は、３ラインバッファ２５ａ、中解像度部２４ｂ、低解像度部２４ｃに配線されており、画像入力部２３が出力した輝度データは、３ラインバッファ２５ａ、中解像度部２４ｂ、低解像度部２４ｃのそれぞれに同時に出力される。
なお、図５では、高解像度の輝度データの配線を太線の矢線で表し、中解像度の輝度データの配線を細線の矢線で表し、低解像度の輝度データの配線を点線で示している。
【００５０】
中解像度部２４ｂと低解像度部２４ｃは、それぞれ、画像４０の解像度（サイズ）を１／２と１／４に変換する解像度変換回路である。
これらの解像度変換回路により、画像４０から解像度が１／２、１／４の画像が生成される。
なお、画像４０は、解像度を変換せずにそのまま高解像度画像としても使用される。
【００５１】
解像度を変換する（リサイズする）方法には、最近隣接補間、バイリニア補間、バイキュビック補間などがある。
最近隣接補間は、リサイズ前の画素を抜き出してそのまま使う方法であり、バイリニア補間は、対象画素を中心とする２×２の領域を加重平均する方法であり、バイキュビック補間は、対象画素を中心とする４×４の領域を３次関数によって補完する方法である。
画像処理装置２１では、計算が単純で、更に、検出精度が高まる（後述）最近隣接補間を採用した。
【００５２】
図６は、中解像度部２４ｂ、低解像度部２４ｃによる解像度変換処理を説明するための図である。
中解像度部２４ｂは、図６（ａ）の画像４０ｂに示したように、画像入力部２３が送信してくる画像４０の輝度データのうち、斜線で示した１つおきの頻度で輝度データを読み込み、その他の輝度データを読み飛ばすことにより、垂直方向・水平方向の輝度データが１つおきとなった解像度１／２の画像データを生成する。
【００５３】
低解像度部２４ｃは、画像４０ｃに示したように、画像入力部２３が送信してくる画像４０の輝度データのうち、斜線で示した３つおきの頻度で輝度データを読み込み、その他の輝度データを読み飛ばすことにより、垂直方向・水平方向の輝度データが３つおきとなった解像度１／４の画像データを生成する。
【００５４】
このような輝度データの間引きを行うことによって、中解像度部２４ｂは、解像度が１／２となった中解像度画像を生成・出力し、低解像度部２４ｃは、解像度が１／４となった低解像度画像を生成・出力する。
最近隣接補間を採用したため、不要なデータを読み飛ばし、必要なデータを拾うという計算負荷の小さい簡単な処理によって解像度を変更することができる。
【００５５】
このように画像処理装置２１は、輝度出力手段（画像入力部２３）から順次出力される輝度を当該解像度に基づく頻度によって選択することにより、当該解像度の輝度を順次出力する。
【００５６】
より詳細には、高解像度画像処理ライン（３ラインバッファ２５ａ〜バッファ２８ａ）は、高解像度に基づく頻度（全部選択するので頻度は全部）によって画素（の輝度）を選択して出力し、中解像度画像処理ライン（中解像度部２４ｂ〜バッファ２８ｂ）では、中解像度部２４ｂが中解像度に基づく頻度（１つおき）によって画素（の輝度）を選択して出力し、低解像度画像処理ライン（低解像度部２４ｃ〜バッファ２８ｃ）では、低解像度部２４ｃが低解像度に基づく頻度（３つおき）によって画素（の輝度）を選択して出力している。
これらの処理ラインは、これらの輝度データを用いて各解像度における勾配方向を出力する。
【００５７】
図６（ｂ）は、最近隣接補間を使用した場合の識別率と、バイリニア補間を用いた場合の識別率の実験結果を示したＲＯＣ（Ｒｅｃｅｉｖｅｒ  Ｏｐｅｒａｔｉｎｇ  Ｃｈａｒａｃｔｅｒｉｓｔｉｃ）曲線図である。
縦軸と横軸は、それぞれ再現率と誤検出率となっており、曲線の下側の面積が大きいほど識別率がよいことを示している。
【００５８】
図に示したように、最近隣接補完を用いた場合の識別率は、バイリニア補完を用いた場合の識別率よりも圧倒的によい性能を示している。これは、バイリニア補間と比べてエッジがはっきりとしているため、精度が向上したと考えられる。
このように最近隣接補間は、処理が簡単なのでハードウェア実装に向いているのに加えて、識別率も大いに向上する。
【００５９】
図５に戻り、３ラインバッファ２５ａは、高解像度画像の輝度データを蓄えて、３行分を並列して勾配方向算出部２６ａに出力する回路である。
勾配方向算出部２６ａは、３行分の輝度データを用いて高解像度画像における注目画素の輝度勾配方向を表す勾配方向データを出力する回路である。
【００６０】
３ラインバッファ２５ｂは、中解像度画像の輝度データを蓄えて、３行分を並列して勾配方向算出部２６ｂに出力する回路である。
勾配方向算出部２６ｂは、３行分の輝度データを用いて中解像度画像における注目画素の輝度勾配方向を表す勾配方向データを出力する回路である。
【００６１】
３ラインバッファ２５ｃは、低解像度画像の輝度データを蓄えて、３行分を並列して勾配方向算出部２６ｃに出力する回路である。
勾配方向算出部２６ｃは、３行分の輝度データを用いて低解像度画像における注目画素の輝度勾配方向を表す勾配方向データを出力する回路である。
【００６２】
図７は、３ラインバッファ２５ａと勾配方向算出部２６ａの詳細な動作を説明するための図である。
図７（ａ）を用いて先に説明したように、画像入力部２３からは、高解像度画像の画像４０の輝度データが（０−０）、（０−１）、・・・と出力される。
【００６３】
３ラインバッファ２５ａは、図７（ｂ）に示したように、これら輝度データを行別に３行分蓄えて、これら３行分を並列して勾配方向算出部２６ａに出力する。
図７（ｂ）の例では、画像４０の２行目の輝度データ（１−０）、（１−１）、（１−２）、・・・と、３行目の輝度データ（２−０）、（２−１）、（２−２）、・・・と、４行目の輝度データ（２−０）、（２−１）、（２−２）、・・・を画素の列を揃えながら並行して勾配方向算出部２６ａに出力している場合を表している。
【００６４】
勾配方向算出部２６ａは、並列して出力される３行分の輝度データの入力を受け付けて、量子化された輝度勾配方向を出力する。
図に示したように、勾配方向算出部２６ａは、３行３列の記憶素子の配列を備えており、３ラインバッファ２５ａの出力に同期して３行３列分の輝度データを取り込んで、これら輝度データによる輝度を読み取る。
【００６５】
図に示したように、勾配方向算出部２６は、３行３列の輝度データのうち、中央の輝度データを注目画素に設定する。図の例では、太線の矩形で囲った輝度データ（２−１）が注目画素の輝度データとなる。
【００６６】
そして、勾配方向算出部２６ａは、注目画素と水平方向に隣接する輝度データ（２−２）、（２−０）の輝度の差分から水平方向の輝度勾配強度ｆｘ（ｘ、ｙ）を算出し、注目画素と垂直方向に隣接する輝度データ（１−１）、（３−１）の輝度の差分から垂直方向の輝度勾配強度ｆｙ（ｘ、ｙ）を算出する。
【００６７】
勾配方向算出部２６ａは、ｆｘ（ｘ、ｙ）とｆｙ（ｘ、ｙ）を求めると、これを図４の式（２）に代入してｍ（ｘ、ｙ）を求め、ｍ（ｘ、ｙ）が閾値に達していない場合は、所定の処理を行う。
ｍ（ｘ、ｙ）が閾値に達している場合は、ｆｘ（ｘ、ｙ）、ｆｙ（ｘ、ｙ）を対応テーブルで参照して、当該画素の量子化した輝度勾配方向を表す勾配方向データ（２−１）を出力する。
このように、勾配方向データは、輝度データと同様に画素に対応して生成される。
【００６８】
次のクロックでは、輝度データの列が１つ移動し、勾配方向算出部２６ａ２に示したように、次の輝度データ（２−２）が注目画素となって、勾配方向データ（２−２）が出力される。
このように、勾配方向算出部２６ａは、クロックごとに勾配方向データを順次出力する。
また、勾配方向算出部２６ａは、最後の列に達すると、行が１つ分進み、次の行の輝度データを注目画素とする勾配方向データを出力する。
【００６９】
同様に、３ラインバッファ２５ｂと勾配方向算出部２６ｂは、中解像度画像の勾配方向データを出力し、３ラインバッファ２５ｃと勾配方向算出部２６ｃは、低解像度画像の勾配方向データを出力する。
【００７０】
このように、勾配方向算出部２６ａに配設された３行３列の記憶素子の配列には、注目画素の位置と、これに隣接する隣接画素の位置が対応づけられており、この位置の対応を用いて、クロックに従って順次送られてくる輝度データにおいて、注目画素の輝度データと隣接画素の輝度データを順次特定していく。
これら注目画素の位置や隣接画素の位置を通過する順序は、画像入力部２３が輝度データを出力した順序によって定まる。
【００７１】
これは、バケツリレー式に順次送られてくる輝度データの経路上に、注目画素用の窓と隣接画素用の窓を設け、これらの窓で観察することにより、注目画素の輝度データと隣接画素の輝度データを特定しているのと論理的に同じである。
【００７２】
画像処理装置２１では、エッジの処理や回路構成が簡単となるため、輝度データを３行分バッファリングして、これを３行３列の配列に順次送り出す構成としたが、これは一例であって、画像入力部２３が出力した順序に基づいて注目画素と隣接画素の輝度データを特定する各種の変形が可能である。
【００７３】
同様に、勾配方向算出部２６ｂ、２６ｃは、それぞれ、中解像度部２４ｂ、低解像度部２４ｃが画像４０をダウンサンプリングして輝度データを出力した順序に基づいて注目画素と隣接画素の輝度データを特定している。
【００７４】
このように、解像度別勾配方向出力手段は、当該解像度の輝度の出力順序に基づいて注目画素の水平方向、及び垂直方向に隣接する隣接画素の輝度を特定し、当該特定した隣接画素の輝度を用いて注目画素の勾配方向を出力する。
そして、解像度別勾配方向出力手段は、隣接画素の位置が対応づけられた配列に、当該解像度の輝度の出力順序に基づいて輝度を配置することにより、隣接画素の輝度を特定している。
【００７５】
また、当該配列は、注目画素の属する画素行と、当該画素行と垂直方向に隣接する２つの画素行の３つの画素行に対応する３つの配列から構成されており、解像度別勾配方向出力手段は、３つの画素行の輝度を、それぞれ対応する３つの配列に配置し、当該輝度が配置された位置によって隣接画素の輝度を特定している。
【００７６】
図５に戻り、縦方向２倍部２７ｂと縦方向４倍部２７ｃは、それぞれ、中解像度画像と低解像度画像について、垂直方向の勾配方向データを垂直方向に２倍、４倍に延ばす回路である。
この処理は、後に共起行列作成部３０ａなどで共起を読み取る際のタイミングを合わせるためのものである。
【００７７】
図８は、垂直方向のデータ延ばし処理を説明するための図である。
データ５１は、データ延ばし前の勾配方向データの構成を示している。各升目が各勾配方向データを表しており、これらが対応する画素の順に並べられている。
データ５１の各行を複製して、複製元の行と隣接させて配置すると、垂直方向に２倍に伸ばしたデータ５２と、４倍に伸ばしたデータ５３が得られる。
【００７８】
この手法により、縦方向２倍部２７ｂは、勾配方向算出部２６ｂから出力された中解像度画像の勾配方向データを行ごとに複製して縦方向（垂直方向）に２倍に延ばす。
また、縦方向４倍部２７ｃは、勾配方向算出部２６ｃから出力された低解像度画像の勾配方向データを行ごとに複製して縦方向に４倍に延ばす。
【００７９】
図５に戻り、バッファ２８ａ、２８ｂ、２８ｃは、それぞれ、勾配方向算出部２６ａ、縦方向２倍部２７ｂ、縦方向４倍部２７ｃから出力される高解像度画像の勾配方向データ、中解像度画像の勾配方向データ、低解像度画像の勾配方向データを一時的に記憶しておくバッファである。
【００８０】
タイミングコントローラ２９は、高解像度画像、中解像度画像、低解像度画像の勾配方向データを共起行列作成部３０ａ、３０ｂ、３０ｃに送出するタイミングを制御する制御回路である。
タイミングコントローラ２９は、これら各解像度画像の勾配方向データがバッファ２８ａ、２８ｂ、２８ｃに揃うまで待機し、これらが揃ったら出力する。
これにより、解像度変更によってずれてしまった各解像度画像ごとの出力タイミングを揃えることができる。
【００８１】
高解像度画像の勾配方向データは図の太線、中解像度画像の勾配方向データは図の細線、低解像度画像の勾配方向データは図の点線、といったように、各解像度画像の勾配方向データは、それぞれ異なる配線から出力される。
これらの配線は、それぞれ、共起行列作成部３０ａ、３０ｂ、３０ｃと接続しており、これによって、解像度画像別の勾配方向データが共起行列作成部３０ａ、３０ｂ、３０ｃに送信される。
【００８２】
更に、タイミングコントローラ２９は、共起行列作成部３０ａ、３０ｂ、３０ｃが共起を取るタイミングを合わせるために、中解像度画像と低解像度画像の勾配方向データを、それぞれ水平（横）方向に２倍、４倍に延ばす。
【００８３】
図９は、水平方向のデータ延ばし処理を説明するための図である。
データ列５５、５６、５７は、それぞれ、タイミングコントローラ２９が、高解像度画像、中解像度画像、低解像度画像の勾配方向データを出力するタイミングを表している。
【００８４】
例えば、タイミングコントローラ２９は、データ列５５に示されるように、高解像度画像の勾配方向データに対して、１番目のデータから順次３０番目のデータまで１回ずつ出力する。
これに対して、中解像度画像の勾配方向データに対しては、データ列５６に示されるように、１番目のデータを１回、２番目のデータから１５番目のデータをそれぞれ２回ずつ、１６番目のデータを１回、高解像度の出力タイミングに合わせて出力する。
また、低像度画像の勾配方向データに対しては、データ列５７に示されるように、１番目のデータを３回、２番目のデータから７番目のデータを４回ずつ、８番目のデータを３回、高解像度の出力タイミングに合わせて出力する。
なお、データ列５５とデータ５６の最初と最後における出力回数がそれぞれ２回ずつ、４回ずつでないのは、データ列５５による幅と同じ幅に調整するためである。
これにより、中解像度画像、低解像度画像の勾配方向データが水平方向に、それぞれ２倍、４倍に伸ばされる。
【００８５】
図５に戻り、共起行列作成部３０ａ、３０ｂ、３０ｃは、それぞれ、タイミングコントローラ２９から出力された勾配方向データを用いて共起による投票を行って共起行列を作成する回路である。
共起行列作成部３０ａ、３０ｂ、３０ｃは、それぞれ、高解像度画像、中解像度画像、低解像度画像の画素を注目画素とする共起行列を作成する。
ヒストグラム作成部３１は、共起行列作成部３０ａ、３０ｂ、３０ｃから出力される共起行列からＭＲＣｏＨＯＧ特徴量を作成する回路である。
【００８６】
なお、画像処理装置２１をＩＣチップ化する場合には、ヒストグラム作成部３１を画像処理装置２１に含めずに外部の回路とし、ＩＣチップとヒストグラム作成部３１を接続するように構成してもよい。
これにより、共起行列作成部３０ａ、３０ｂ、３０ｃから出力される共起行列を選択するなど、より柔軟な運用が可能となり、汎用性が向上する。
【００８７】
図１０は、共起行列作成部３０ａが共起行列を計算する仕組みを説明するための図である。
共起行列作成部３０ａは、タイミングコントローラ２９から送信されてくる勾配データを解像度別に２行に渡って記憶する、高解像度画像用の２ラインバッファ６１ａ、中解像度画像用の２ラインバッファ６１ｂ、低解像度画像用の２ラインバッファ６１ｃを備えている。
【００８８】
２ラインバッファ６１ａ、６１ｂ、６１ｃの右側には、それぞれ、各２ラインバッファ６１ａ、６１ｂ、６１ｃに記憶された勾配方向データの配置を示している。
勾配方向データの位置を示す符号は、図３（ｃ）の位置の符号に対応させてある（勾配方向は対応していない）。また、注目画素に対応する勾配方向データを太線の矩形で囲み、投票のためにこれと組合せる相手の画素の勾配方向データを○で囲んである。
【００８９】
図に示したように、２ラインバッファ６１ａ、６１ｂ、６１ｃには、それぞれ、高解像度画像、中解像度画像、低解像度画像の勾配方向データが２行３列分配置される。
なお、画像入力部２３が輝度データを出力した順に配置するため、２ラインバッファ６１ａ、６１ｂ、６１ｃでの配置は、図３（ｃ）と左右が逆になっている。
【００９０】
共起行列記憶部６２は、共起による投票を受け付けて共起行列の度数（票数）をインクリメントしていくことにより、注目画素１２５に対する共起行列を作成する回路である。
まず、共起行列作成部３０ａは、注目画素１２５の勾配方向データと画素１ａ〜１ｄの勾配方向データとの組合せに基づいて共起行列記憶部６２に投票する。
【００９１】
更に、共起行列作成部３０ａは、注目画素１２５の勾配方向データと、画素２ａ〜２ｄの勾配方向データとの組合せに基づいて共起行列記憶部６２に投票し、注目画素１２５の勾配方向データと、画素３ａ〜３ｄの勾配方向データとの組合せに基づいて共起行列記憶部６２に投票する。
【００９２】
共起行列作成部３０ａは、当該注目画素１２５の投票が完了すると、ヒストグラム作成部３１に出力して、共起行列を投票数０にリセットし、２ラインバッファ６１ａ、６１ｂ、６１ｃに記憶している勾配方向データの列を１つ進める。
これにより、共起行列作成部３０ａは、画素１ａに対応する勾配方向データを注目画素１２５の位置に配置し、これを用いた投票を共起行列記憶部６２に対して行う。
【００９３】
共起行列作成部３０ａは、以上の動作を繰り返すことにより、高解像度画像の各画素に対する共起行列を共起行列記憶部６２で完成させてヒストグラム作成部３１に出力する。
出力された共起行列によるヒストグラムは、ヒストグラム作成部３１にて連結され、高解像度画像の画素を注目画素とした場合のＭＲＣｏＨＯＧ特徴量となる。
【００９４】
図５に戻り、共起行列作成部３０ｂ、３０ｃも共起行列作成部３０ａと同様にして、それぞれ、中解像度画像の画素を注目画素とした場合の共起行列と、低解像度画像の画素を注目画素とした場合の共起行列を出力する。
【００９５】
これにより、中解像度画像の画素を注目画素とした場合のＭＲＣｏＨＯＧ特徴量と、低解像度画像の画素を注目画素とした場合のＭＲＣｏＨＯＧ特徴量が得られ、ヒストグラム作成部３１は、高中低画像のこれら３つのＭＲＣｏＨＯＧ特徴量を連結して、ＭＲＣｏＨＯＧ特徴量を完成させる。
【００９６】
画像処理装置２１は、以上のように構成されており、各回路は、クロックに同期して同時に動作し、流れ作業にて順次処理を行う。
このようにして動画カメラから出力される画像をリアルタイムで処理することができる。
【００９７】
このように、共起行列作成部３０ａ、３０ｂ、３０ｃは、順次出力される解像度別の勾配方向を順次組合せることにより、異なる解像度間における勾配方向の共起に基づく共起行列を作成する共起行列作成手段と、当該作成した共起行列を当該画像の画像特徴量として出力する共起行列出力手段として機能している。
【００９８】
また、共起行列作成部３０ａ、３０ｂ、３０ｃは、勾配方向データが出力され順にこれらを２ラインバッファ６１ａ、６１ｂ、６１ｃに配置することにより、共起をとる組合せを特定するため、勾配方向出力手段から順次出力される勾配方向の解像度別出力順序に基づいて、注目画素の勾配方向と、当該注目画素と組合せる画素の勾配方向を順次特定し、当該特定した勾配方向の組合せに基づいて共起行列に順次投票することにより共起行列を作成している。
【００９９】
また、２ラインバッファ６１ａ、６１ｂ、６１ｃは、共起対象となる勾配方向データを特定する配列として機能しているため、共起行列作成部３０ａ、３０ｂ、３０ｃは、注目画素と、当該注目画素と組合せる画素の位置が対応づけられると共に解像度別に設けられた（分けられた）配列に、解像度別出力順序に基づいて勾配方向を解像度別に配置することにより、共起対象として組合せる勾配方向を特定している。
【０１００】
そして、当該配列は、それぞれの解像度について垂直方向に隣接する２つの画素行に対応する６つの配列から構成され、（高解像度画像用のバッファ２つ、中解像度画像用のバッファ２つ、低解像度画像用のバッファ２つの計６つ）、共起行列作成部３０ａ、３０ｂ、３０ｃは、それぞれの解像度の２つの画素行の勾配方向を、それぞれ対応する２つの配列に配置し、当該勾配方向が配置された位置によって組合せる勾配方向を特定している。
【０１０１】
図１１は、画像処理装置２１が行う画像処理手順を説明するためのフローチャートである。
まず、画像入力部２３が画像４０の輝度データを出力し、中解像度部２４ｂと低解像度部２４ｃが、中解像度、低解像度に解像度を変換した輝度データを出力する（ステップ５）。
【０１０２】
また、３ラインバッファ２５ａ、２５ｂ、２５ｃが、それぞれ、高解像度画像、中解像度画像、低解像度画像の輝度データを３行分バッファリングする（ステップ１０）。
また、勾配方向算出部２６ａ、２６ｂ、２６ｃが、それぞれ、高解像度画像、中解像度画像、低解像度画像の画素の勾配方向を算出し、勾配方向データを出力する（ステップ１５）。
なお、ステップ５、１０、１５の各処理は並行して同時に行われる。
【０１０３】
次に、縦方向２倍部２７ｂ、縦方向４倍部２７ｃが、それぞれ、中解像度画像と低解像度画像の勾配方向データを垂直方向に２倍、４倍に延ばす（ステップ２０）。
高解像度画像の勾配方向データ、２倍に垂直に伸ばされた中解像度画像の勾配方向データ、及び４倍に垂直に伸ばされた低解像度画像の勾配方向データは、それぞれ、バッファ２８ａ、２８ｂ、２８ｃにバッファリングされる。
【０１０４】
次に、タイミングコントローラ２９が、タイミングを揃えて各解像度の勾配方向データを出力する。
タイミングコントローラ２９は、この際に、中解像度画像と低解像度画像の勾配方向データを水平方向に２倍、４倍に伸ばして出力する（ステップ２５）。
【０１０５】
共起行列作成部３０ａ、３０ｂ、３０ｃは、タイミングコントローラ２９から出力された各解像度の勾配方向データを用いて、共起行列の要素を計算し、共起行列を作成する（ステップ３０）。
更に、ヒストグラム作成部３１が、作成された共起行列からヒストグラムを作成し、これをＭＲＣｏＨＯＧ特徴量として出力する（ステップ３５）。
以上、各回路の動作を個別に説明したが、各回路は、クロックに同期して一斉に動作しており、左から流れてきたデータを順次（逐次）処理して右に流す流れ作業を同時に行っている。
【０１０６】
図１２（ａ）は、画像処理装置２１を用いて半導体装置を構成した例を示した図である。
半導体装置７１は、例えば、ＩＣチップによって構成されており、プロセッサ、ＲＡＭ、ＭＲＣｏＨＯＧアクセラレータ７２、アフィンアクセラレータ、ヒストグラムアクセラレータ、ビデオ入力インターフェース７３、ビデオ出力インターフェース７４、入出力インターフェース７５などが内部に形成されている。
【０１０７】
ＭＲＣｏＨＯＧアクセラレータ７２は、画像処理装置２１の回路構成が組み込まれており、画像から共起行列を生成して出力する。あるいは、ヒストグラムの作成までやってＭＲＣｏＨＯＧ特徴量を抽出するように構成してもよい。
【０１０８】
半導体装置７１は、ビデオ入力インターフェース７３から動画データの入力を受け付けて、ＭＲＣｏＨＯＧアクセラレータ７２などにより各フレーム画像のＭＲＣｏＨＯＧ特徴量を抽出し、これを用いて対象の画像認識をプロセッサで行うことができる。
あるいは、ビデオ出力インターフェース７４から動画データを出力すると共にＭＲＣｏＨＯＧ特徴量を入出力インターフェース７５から出力して、外部機器により対象の画像認識を行ってもよい。
【０１０９】
図１２（ｂ）は、半導体装置７１をビデオキャプチャボードに実装し、これをコンピュータに装備して画像認識装置を構成した例を示した図である。
画像認識装置８０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８３、カメラ８４、記憶装置８５、ビデオキャプチャボード８６、入力装置８７、出力装置８８などから構成されている。
【０１１０】
ＣＰＵ８１は、記憶装置８５に記憶された画像認識プログラムに従って画像認識処理を行うほか、画像認識装置８０の各部の制御などを行う。
より詳細には、ＣＰＵ８１は、ビデオキャプチャボード８６から入力される画像と、当該画像のＭＲＣｏＨＯＧ特徴量を用いて対象を画像認識する。
【０１１１】
ＲＯＭ８２は、ＣＰＵ８１が画像認識装置８０を動作させるための基本的なプログラムやパラメータなどを記憶した読み取り専用のメモリである。
ＲＡＭ８３は、ＣＰＵ８１が上記処理を行うためのワーキングメモリを提供する読み書きが可能なメモリである。
画像やＭＲＣｏＨＯＧ特徴量は、ＲＡＭ８３に展開されてＣＰＵ８１により利用される。
【０１１２】
カメラ８４は、動画撮影カメラであって、被写体を動画撮影してその映像をビデオキャプチャボード８６に出力する。映像は、連続するフレームの画像によって構成されている。
ビデオキャプチャボード８６は、映像を構成する画像の各々について、ＭＲＣｏＨＯＧ特徴量を抽出し、これを画像データに対応させて出力する。
【０１１３】
記憶装置８５は、例えば、ハードディスクや半導体メモリなどの記憶媒体を用いた記憶装置であり、ＣＰＵ８１に上記の画像認識処理を行わせるための画像認識プログラムなどを記憶している。
また、記憶装置８５は、撮影した動画データを記憶するデータ記憶部も備えている。
【０１１４】
入力装置８７は、画像認識装置８０に各種の情報を入力する装置であり、ユーザが画像認識装置８０を操作するための操作ボタンなどの入力デバイスで構成されている。
出力装置８８は、画像認識装置８０が各種の情報を出力する装置であり、例えば、操作画面や、撮影中・撮影済みの動画を表示する液晶ディスプレイなどの出力デバイスで構成されている。
【０１１５】
図１２（ｃ）は、画像認識装置８０が行うＭＲＣｏＨＯＧ特徴量を用いた画像認識処理の方法を説明するための図である。
まず、ＭＲＣｏＨＯＧ特徴量の度数（Ｍ個あるとする）を成分とするベクトルφ（ｘ）を考える。ここで、ｘは、画像を表すベクトルであり、ｘ＝（第１番目の画素の輝度、第２番目の画素の輝度、・・・）である。
なお、ベクトルは太字などで表すが、文字化け防止のため、以下では、通常の文字で表す。
【０１１６】
この図は、ＭＲＣｏＨＯＧ特徴量空間を表しており、画像のＭＲＣｏＨＯＧ特徴量は、Ｍ次元空間のベクトルφ（ｘ）に写像される。
なお、図では簡単化のためＭＲＣｏＨＯＧ特徴量を２次元空間で表してある。
一方、Ｆは、対象画像の学習によって得た重みベクトルであり、多数の対象画像のＭＲＣｏＨＯＧ特徴量を平均化したベクトルである。
【０１１７】
画像が学習した画像に類似する場合、φ（ｘ）は、ベクトル１０９ａのようにＦの周辺に分布し、類似しない場合は、ベクトル１０９ｂ、１０９ｃのようにＦとは異なる方向に分布する。
Ｆとφ（ｘ）は、規格化されており、Ｆとφ（ｘ）の内積で定義される相関係数は、画像が学習画像に類似するほど１に近づき、類似程度が低いほど−１に近づく。
このように、類似判断の対象となる画像をＭＲＣｏＨＯＧ特徴量空間に写像することにより、学習画像に類似している画像と類似していない画像を輝度勾配分布により分離することができる。
これによって対象を画像認識することができる。
このように画像認識装置８０は、画像処理装置２１から出力されるヒストグラムのベクトルφ（ｘ）を、基準となる画像のヒストグラムのベクトルＦと対比することにより画像に写っている対象を認識する認識手段を備えている。
【０１１８】
次に、画像認識装置８０を移動体に搭載する場合を例示する。
半導体装置７１は、リアルタイムで画像処理を行うことができるため、リアルタイム処理の必要な移動体に搭載するのに適している。
例えば、移動体が車両の場合は、カメラ８４を車両前方に設置し、車両の前景を撮影する。
これにより、車両は、カメラ８４の映像から前方を走行する他車両を追跡することにより、当該他車両に追随して所謂コンボイ走行を行ったり、前方を移動する車両や歩行者の追跡軌跡から衝突の危険を判断した場合には、ブレーキを作動させたり、走行方向を変えて回避動作を行ったりなどする。このように、画像認識装置８０は、自動運転技術やその他の技術に応用することができる。
【０１１９】
また、移動体がロボットの場合は、ロボットの目として利用し、例えば、家庭でサービスを提供したり（例えば、荷物を持って主人の後を追跡する）、動いている対象を追跡しながらロボットアームでこれを把持したり、家畜を追跡しながら誘導したりなど、民生分野、工業分野、農業分野など、産業の各分野で用いることができる。
このように、本実施の形態では、画像認識装置８０を用いて対象を検出する検出手段と、検出した対象に対して所定の位置に移動する移動手段と、を備えた移動体装置を提供することができる。
【０１２０】
ＭＲＣｏＨＯＧアルゴリズムをＩＣチップ化したり、ＦＰＧＡ（ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）ボードに移植したりするためには、高速処理が可能で、かつ精度を落とさずに最適化設計しなければならない。
画像処理装置２１は、ＭＲＣｏＨＯＧ特徴量の複数解像度画像の生成処理の補間方法に、高速かつ、物体境界のエッジがはっきり出る最近隣接補間（最近傍補間）を採用した。生成する画像サイズごとに、メモリの間引き間隔を設定し、間引くことで最近隣接補間による画像を生成する。
【０１２１】
画像処理装置２１は、学生が研究課題として設計、製作したが、十分にリアルタイム処理できる性能を実現することができた。
そのため、資本や技術の蓄積のある企業が制作した場合、更に高速化を図ることができると期待され、これによりコンピュータの計算資源を他の処理に振り分けることができる。
【符号の説明】
【０１２２】
１ａ〜４ｌ  画素
１１、１２  分類
２１  画像処理装置
２３  画像入力部
２４ｂ  中解像度部
２４ｃ  低解像度部
２５ａ、２５ｂ、２５ｃ  ３ラインバッファ
２６ａ、２６ｂ、２６ｃ  勾配方向算出部
２７ｂ  縦方向２倍部
２７ｃ  縦方向４倍部
２８ａ、２８ｂ、２８ｃ  バッファ
２９  タイミングコントローラ
３０ａ、３０ｂ、３０ｃ  共起行列作成部
３１  ヒストグラム作成部
４０  画像
５１、５２、５３  データ
５５、５６、５７  データ列
６１ａ、６１ｂ、６１ｃ  ２ラインバッファ
６２  共起行列記憶部
７１  半導体装置
７２  ＭＲＣｏＨＯＧアクセラレータ
７３  ビデオ入力インターフェース
７４  ビデオ出力インターフェース
７５  入出力インターフェース
８０  画像認識装置
８１  ＣＰＵ
８２  ＲＯＭ
８３  ＲＡＭ
８４  カメラ
８５  記憶装置
８６  ビデオキャプチャボード
８７  入力装置
８８  出力装置
１０１  画像
１０２  セル
１０６  ヒストグラム
１０７  ＨＯＧ特徴量
１０９ａ、１０９ｂ、１０９ｃ  ベクトル
１１０  注目画素
１１３  共起行列
１１７  ＣｏＨＯＧ特徴量
１２０  高解像度画像
１２１  中解像度画像
１２２  低解像度画像
１２５  注目画素
１２７  ＭＲＣｏＨＯＧ特徴量
【図１】
0006656988.tif 000002
【図２】
0006656988.tif 000003
【図３】
0006656988.tif 000004
【図４】
0006656988.tif 000005
【図５】
0006656988.tif 000006
【図６】
0006656988.tif 000007
【図７】
0006656988.tif 000008
【図８】
0006656988.tif 000009
【図９】
0006656988.tif 000010
【図１０】
0006656988.tif 000011
【図１１】
0006656988.tif 000012
【図１２】
0006656988.tif 000013